Open Bug 1534039 Opened 5 years ago Updated 2 years ago

Honour macOS system dark mode in native dialogs


(Core :: Widget: Cocoa, enhancement, P3)

66 Branch



Tracking Status
firefox77 --- affected


(Reporter: jason.vas.dias, Unassigned)



User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0

Steps to reproduce:

Run Firefox Aurora 66.0b14 for MacOSX 10.14.3 Mojave with Dark Mode enabled.

Actual results:

o Form text appears black on white background, should be white on black
o File->Open displays default light grey form background with black text
o Bookmarks->Show All Bookmarks displays similar light background forms.

This is REGARDLESS of selecting either the 'Dark Mode' theme in Firefox Extensions/Theme preferences,
OR selectng the 'Default' theme.

When I manually edit the file:
/Applications/Firefox Developer
to content in the main dict:
' <key>NSRequiresAquaSystemAppearance</key>
Then at least the File->Open dialog has a dark background, but the
Bookmarks->Show All Bookmarks and other dialogs still have the
light background, but now have invisible white text, as do form entries.

Expected results:

The MacOSX version of firefox should detect that MacOSX 10.14.3+ Mojave is installed,
and that its Dark Mode feature is enabled, form entry text should be in the default
WHITE text on BLACK background,
ALL dialogs should have DARK backgrounds and LIGHT text -
and should honor the 'Dark Mode' theme settings - but it does not.

Firefox should in my opinion apply some sort of 'visibility filter' to make its form
dialog text visible under all circumstances.

I do have a custom HTML "Always enabled" color scheme, which works for most (but not all) HTML
pages and some form text entries (but not all) (eg. the gmail mail edit textarea-s that I use most)
and eg. the bugzilla 'Search Bugs' entry on this bugzilla page appear with light background & black text,
the form I am typing into appears with black text on a dark grey background because of my
HTNL color scheme (very difficult to see!) and Firefox GUI dialogs appear in light background
with dark text (hurts my eyes!), unless NSRequiresAquaSystemAppearance is false, in which case they have light
background with white (invisible!) text. What a mess!

I'm not sure if this falls under a Core: Layout component or a Firefox Themes component, please correct the component as needed.

Severity: normal → enhancement
Component: Untriaged → Layout
Product: Firefox → Core

Or even Widget: Cocoa, depending on what doesn't work. Per the different comments there are probably a few things to fix around.

Tim, do you know what is supposed to work here and what isn't?

Component: Layout → Theme
Flags: needinfo?(ntim.bugs)
Product: Core → Firefox

This bug seems to mention form elements and the open file dialog. I think the latter should just work when switching to the Mojave MacOS SDK (Bug 1475652). Not sure about form elements, but it sounds Cocoa related too.

Component: Theme → Widget: Cocoa
Flags: needinfo?(ntim.bugs)
Product: Firefox → Core
Priority: -- → P3

FWIW when I tried building locally with the 10.14 SDK, non-browser windows looked wrong when dark mode was enabled, like this:

See Also: → 1475520, 1539252, 1559646

Since bug 1539252 covers form controls I think this bug can focus on the native dialogs (which may get fixed with bug 1559646).

Ever confirmed: true
OS: Unspecified → macOS
Hardware: Unspecified → Desktop
See Also: 1475520, 1539252
Summary: please honor Apple MacOSX Mojave 10.14.3 Dark Mode properly → Honour macOS system dark mode in native dialogs

Just switched back to Firefox and was surprised by the amount it's improved.

Such a shame Dark Mode hasn't been implemented properly though, a glaring ommission coming back to FF and a bit disconcerting.

I've seen several reports relating to this so hopefully the team picks up on this and fixes these related bugs ASAP.

Great job on all the other improvements, really night and day difference from when I last used FF.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.