diff options
Diffstat (limited to 'mozilla-1158076-1.patch')
-rw-r--r-- | mozilla-1158076-1.patch | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/mozilla-1158076-1.patch b/mozilla-1158076-1.patch deleted file mode 100644 index 1efa975..0000000 --- a/mozilla-1158076-1.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js ---- a/modules/libpref/init/all.js -+++ b/modules/libpref/init/all.js -@@ -4733,16 +4733,18 @@ pref("gfx.content.always-paint", false); - - #ifdef ANDROID - pref("gfx.apitrace.enabled",false); - #endif - - #ifdef MOZ_X11 - #ifdef MOZ_WIDGET_GTK - pref("gfx.xrender.enabled",false); -+pref("widget.chrome.allow-gtk-dark-theme", false); -+pref("widget.content.allow-gtk-dark-theme", false); - #endif - #endif - - #ifdef XP_WIN - // Whether to disable the automatic detection and use of direct2d. - pref("gfx.direct2d.disabled", false); - - // Whether to attempt to enable Direct2D regardless of automatic detection or -diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp ---- a/widget/gtk/nsLookAndFeel.cpp -+++ b/widget/gtk/nsLookAndFeel.cpp -@@ -1128,26 +1128,39 @@ nsLookAndFeel::Init() - GdkRGBA color; - GtkStyleContext *style; - - // Gtk manages a screen's CSS in the settings object so we - // ask Gtk to create it explicitly. Otherwise we may end up - // with wrong color theme, see Bug 972382 - GtkSettings *settings = gtk_settings_get_for_screen(gdk_screen_get_default()); - -- // Disable dark theme because it interacts poorly with widget styling in -- // web content (see bug 1216658). -+ // Dark themes interacts poorly with widget styling (see bug 1216658). -+ // We disable dark themes by default for all processes (chrome, web content) -+ // but allow user to overide it by prefs. -+ const gchar* dark_setting = "gtk-application-prefer-dark-theme"; -+ gboolean darkThemeDefault; -+ g_object_get(settings, dark_setting, &darkThemeDefault, nullptr); -+ - // To avoid triggering reload of theme settings unnecessarily, only set the - // setting when necessary. -- const gchar* dark_setting = "gtk-application-prefer-dark-theme"; -- gboolean dark; -- g_object_get(settings, dark_setting, &dark, nullptr); -- -- if (dark && !PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME")) { -- g_object_set(settings, dark_setting, FALSE, nullptr); -+ if (darkThemeDefault) { -+ bool allowDarkTheme; -+ if (XRE_IsContentProcess()) { -+ allowDarkTheme = -+ mozilla::Preferences::GetBool("widget.content.allow-gtk-dark-theme", -+ false); -+ } else { -+ allowDarkTheme = (PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME") != nullptr) || -+ mozilla::Preferences::GetBool("widget.chrome.allow-gtk-dark-theme", -+ false); -+ } -+ if (!allowDarkTheme) { -+ g_object_set(settings, dark_setting, FALSE, nullptr); -+ } - } - - // Scrollbar colors - style = ClaimStyleContext(MOZ_GTK_SCROLLBAR_TROUGH_VERTICAL); - gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color); - sMozScrollbar = GDK_RGBA_TO_NS_RGBA(color); - ReleaseStyleContext(style); - - |