Merge branch 'master' into f24
This commit is contained in:
commit
24592ce2d6
@ -1,185 +0,0 @@
|
|||||||
diff -up firefox-52.0/modules/libpref/init/all.js.1158076 firefox-52.0/modules/libpref/init/all.js
|
|
||||||
--- firefox-52.0/modules/libpref/init/all.js.1158076 2017-03-22 10:05:22.318067553 +0100
|
|
||||||
+++ firefox-52.0/modules/libpref/init/all.js 2017-03-22 10:07:15.360555913 +0100
|
|
||||||
@@ -4646,6 +4646,7 @@ pref("gfx.apitrace.enabled",false);
|
|
||||||
pref("gfx.content.use-native-pushlayer", true);
|
|
||||||
#ifdef MOZ_WIDGET_GTK
|
|
||||||
pref("gfx.xrender.enabled",false);
|
|
||||||
+pref("widget.allow-gtk-dark-theme", false);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
diff -up firefox-52.0/widget/gtk/mozgtk/mozgtk.c.1158076 firefox-52.0/widget/gtk/mozgtk/mozgtk.c
|
|
||||||
--- firefox-52.0/widget/gtk/mozgtk/mozgtk.c.1158076 2017-03-22 10:05:22.313067576 +0100
|
|
||||||
+++ firefox-52.0/widget/gtk/mozgtk/mozgtk.c 2017-03-22 10:08:34.122199432 +0100
|
|
||||||
@@ -522,6 +522,7 @@ STUB(gdk_x11_display_get_type)
|
|
||||||
STUB(gtk_box_new)
|
|
||||||
STUB(gtk_cairo_should_draw_window)
|
|
||||||
STUB(gtk_cairo_transform_to_window)
|
|
||||||
+STUB(gtk_css_provider_get_named)
|
|
||||||
STUB(gtk_combo_box_text_append)
|
|
||||||
STUB(gtk_drag_set_icon_surface)
|
|
||||||
STUB(gtk_get_major_version)
|
|
||||||
@@ -548,6 +549,7 @@ STUB(gtk_scale_new)
|
|
||||||
STUB(gtk_scrollbar_new)
|
|
||||||
STUB(gtk_style_context_add_class)
|
|
||||||
STUB(gtk_style_context_add_region)
|
|
||||||
+STUB(gtk_style_context_add_provider_for_screen)
|
|
||||||
STUB(gtk_style_context_get)
|
|
||||||
STUB(gtk_style_context_get_background_color)
|
|
||||||
STUB(gtk_style_context_get_border)
|
|
||||||
@@ -573,6 +575,7 @@ STUB(gtk_style_context_set_path)
|
|
||||||
STUB(gtk_style_context_set_parent)
|
|
||||||
STUB(gtk_style_context_set_state)
|
|
||||||
STUB(gtk_style_properties_lookup_property)
|
|
||||||
+STUB(gtk_style_provider_get_type)
|
|
||||||
STUB(gtk_tree_view_column_get_button)
|
|
||||||
STUB(gtk_widget_get_preferred_size)
|
|
||||||
STUB(gtk_widget_get_state_flags)
|
|
||||||
diff -up firefox-52.0/widget/gtk/nsLookAndFeel.cpp.1158076 firefox-52.0/widget/gtk/nsLookAndFeel.cpp
|
|
||||||
--- firefox-52.0/widget/gtk/nsLookAndFeel.cpp.1158076 2017-03-22 10:05:22.314067571 +0100
|
|
||||||
+++ firefox-52.0/widget/gtk/nsLookAndFeel.cpp 2017-03-22 10:07:56.914367838 +0100
|
|
||||||
@@ -50,9 +50,9 @@ nsLookAndFeel::nsLookAndFeel()
|
|
||||||
mStyle(nullptr),
|
|
||||||
#endif
|
|
||||||
mDefaultFontCached(false), mButtonFontCached(false),
|
|
||||||
- mFieldFontCached(false), mMenuFontCached(false)
|
|
||||||
+ mFieldFontCached(false), mMenuFontCached(false),
|
|
||||||
+ mInitialized(false)
|
|
||||||
{
|
|
||||||
- Init();
|
|
||||||
}
|
|
||||||
|
|
||||||
nsLookAndFeel::~nsLookAndFeel()
|
|
||||||
@@ -224,6 +224,8 @@ GetBorderColors(GtkStyleContext* aContex
|
|
||||||
nsresult
|
|
||||||
nsLookAndFeel::NativeGetColor(ColorID aID, nscolor& aColor)
|
|
||||||
{
|
|
||||||
+ EnsureInit();
|
|
||||||
+
|
|
||||||
#if (MOZ_WIDGET_GTK == 3)
|
|
||||||
GdkRGBA gdk_color;
|
|
||||||
#endif
|
|
||||||
@@ -675,6 +677,8 @@ nsLookAndFeel::GetIntImpl(IntID aID, int
|
|
||||||
return res;
|
|
||||||
res = NS_OK;
|
|
||||||
|
|
||||||
+ // We use delayed initialization by EnsureInit() here
|
|
||||||
+ // to ensure mozilla::Preferences is available (see Bug 1158076).
|
|
||||||
switch (aID) {
|
|
||||||
case eIntID_CaretBlinkTime:
|
|
||||||
{
|
|
||||||
@@ -837,6 +841,7 @@ nsLookAndFeel::GetIntImpl(IntID aID, int
|
|
||||||
aResult = NS_STYLE_TEXT_DECORATION_STYLE_WAVY;
|
|
||||||
break;
|
|
||||||
case eIntID_MenuBarDrag:
|
|
||||||
+ EnsureInit();
|
|
||||||
aResult = sMenuSupportsDrag;
|
|
||||||
break;
|
|
||||||
case eIntID_ScrollbarButtonAutoRepeatBehavior:
|
|
||||||
@@ -877,6 +882,7 @@ nsLookAndFeel::GetFloatImpl(FloatID aID,
|
|
||||||
aResult = 1.0f;
|
|
||||||
break;
|
|
||||||
case eFloatID_CaretAspectRatio:
|
|
||||||
+ EnsureInit();
|
|
||||||
aResult = sCaretRatio;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
@@ -1057,11 +1063,15 @@ nsLookAndFeel::GetFontImpl(FontID aID, n
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
-nsLookAndFeel::Init()
|
|
||||||
+nsLookAndFeel::EnsureInit()
|
|
||||||
{
|
|
||||||
GdkColor colorValue;
|
|
||||||
GdkColor *colorValuePtr;
|
|
||||||
|
|
||||||
+ if (mInitialized)
|
|
||||||
+ return;
|
|
||||||
+ mInitialized = true;
|
|
||||||
+
|
|
||||||
#if (MOZ_WIDGET_GTK == 2)
|
|
||||||
NS_ASSERTION(!mStyle, "already initialized");
|
|
||||||
// GtkInvisibles come with a refcount that is not floating
|
|
||||||
@@ -1133,17 +1143,40 @@ nsLookAndFeel::Init()
|
|
||||||
// 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());
|
|
||||||
+ bool e10sActive = mozilla::BrowserTabsRemoteAutostart();
|
|
||||||
+
|
|
||||||
+ if (!e10sActive || XRE_IsContentProcess()) {
|
|
||||||
+ // Disable dark theme in processes with web content because it
|
|
||||||
+ // interacts poorly with widget styling (see bug 1216658).
|
|
||||||
+ // 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);
|
|
||||||
+
|
|
||||||
+ bool allowDarkEnv = PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME") != nullptr;
|
|
||||||
+ bool allowDarkPref =
|
|
||||||
+ mozilla::Preferences::GetBool("widget.allow-gtk-dark-theme", false);
|
|
||||||
|
|
||||||
- // Disable dark theme because it interacts poorly with widget styling in
|
|
||||||
- // web content (see bug 1216658).
|
|
||||||
- // 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 && !allowDarkEnv && !allowDarkPref) {
|
|
||||||
+ g_object_set(settings, dark_setting, FALSE, nullptr);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- if (dark && !PR_GetEnv("MOZ_ALLOW_GTK_DARK_THEME")) {
|
|
||||||
- g_object_set(settings, dark_setting, FALSE, nullptr);
|
|
||||||
+ // Allow Gtk+ theme override for web content only.
|
|
||||||
+ if (e10sActive) {
|
|
||||||
+ auto contentThemeName =
|
|
||||||
+ mozilla::Preferences::GetCString("widget.content-gtk-theme");
|
|
||||||
+ if (!contentThemeName.IsEmpty()) {
|
|
||||||
+ // TODO: It should be enough to change theme by "gtk-theme-name"
|
|
||||||
+ // settings but that does not have any effect here. Maybe we
|
|
||||||
+ // call it too late?
|
|
||||||
+ GtkCssProvider *styleProvider =
|
|
||||||
+ gtk_css_provider_get_named(contentThemeName, NULL);
|
|
||||||
+ gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
|
|
||||||
+ GTK_STYLE_PROVIDER(styleProvider),
|
|
||||||
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scrollbar colors
|
|
||||||
@@ -1439,6 +1472,7 @@ nsLookAndFeel::Init()
|
|
||||||
char16_t
|
|
||||||
nsLookAndFeel::GetPasswordCharacterImpl()
|
|
||||||
{
|
|
||||||
+ EnsureInit();
|
|
||||||
return sInvisibleCharacter;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1457,7 +1491,7 @@ nsLookAndFeel::RefreshImpl()
|
|
||||||
mStyle = nullptr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- Init();
|
|
||||||
+ mInitialized = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool
|
|
||||||
diff -up firefox-52.0/widget/gtk/nsLookAndFeel.h.1158076 firefox-52.0/widget/gtk/nsLookAndFeel.h
|
|
||||||
--- firefox-52.0/widget/gtk/nsLookAndFeel.h.1158076 2016-05-12 19:13:34.000000000 +0200
|
|
||||||
+++ firefox-52.0/widget/gtk/nsLookAndFeel.h 2017-03-22 10:06:36.461731972 +0100
|
|
||||||
@@ -84,8 +84,9 @@ protected:
|
|
||||||
char16_t sInvisibleCharacter;
|
|
||||||
float sCaretRatio;
|
|
||||||
bool sMenuSupportsDrag;
|
|
||||||
+ bool mInitialized;
|
|
||||||
|
|
||||||
- void Init();
|
|
||||||
+ void EnsureInit();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,16 +1,7 @@
|
|||||||
# HG changeset patch
|
diff -up firefox-53.0/dom/media/webrtc/MediaEngine.h.1335250 firefox-53.0/dom/media/webrtc/MediaEngine.h
|
||||||
# User Andrea Marchesini <amarchesini@mozilla.com>
|
--- firefox-53.0/dom/media/webrtc/MediaEngine.h.1335250 2017-04-11 06:15:22.000000000 +0200
|
||||||
# Parent b8b7103963d9f243b0a30c8bc0d9a0b37ed8a955
|
+++ firefox-53.0/dom/media/webrtc/MediaEngine.h 2017-04-19 20:35:55.264741939 +0200
|
||||||
|
@@ -226,7 +226,7 @@ public:
|
||||||
diff --git a/dom/media/webrtc/MediaEngine.h b/dom/media/webrtc/MediaEngine.h
|
|
||||||
--- a/dom/media/webrtc/MediaEngine.h
|
|
||||||
+++ b/dom/media/webrtc/MediaEngine.h
|
|
||||||
@@ -221,27 +221,27 @@ public:
|
|
||||||
class AllocationHandle
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AllocationHandle);
|
|
||||||
protected:
|
|
||||||
~AllocationHandle() {}
|
~AllocationHandle() {}
|
||||||
public:
|
public:
|
||||||
AllocationHandle(const dom::MediaTrackConstraints& aConstraints,
|
AllocationHandle(const dom::MediaTrackConstraints& aConstraints,
|
||||||
@ -19,9 +10,7 @@ diff --git a/dom/media/webrtc/MediaEngine.h b/dom/media/webrtc/MediaEngine.h
|
|||||||
const MediaEnginePrefs& aPrefs,
|
const MediaEnginePrefs& aPrefs,
|
||||||
const nsString& aDeviceId)
|
const nsString& aDeviceId)
|
||||||
|
|
||||||
: mConstraints(aConstraints),
|
@@ -236,7 +236,7 @@ public:
|
||||||
mPrincipalInfo(aPrincipalInfo),
|
|
||||||
mPrefs(aPrefs),
|
|
||||||
mDeviceId(aDeviceId) {}
|
mDeviceId(aDeviceId) {}
|
||||||
public:
|
public:
|
||||||
NormalizedConstraints mConstraints;
|
NormalizedConstraints mConstraints;
|
||||||
@ -30,8 +19,12 @@ diff --git a/dom/media/webrtc/MediaEngine.h b/dom/media/webrtc/MediaEngine.h
|
|||||||
MediaEnginePrefs mPrefs;
|
MediaEnginePrefs mPrefs;
|
||||||
nsString mDeviceId;
|
nsString mDeviceId;
|
||||||
};
|
};
|
||||||
|
@@ -327,7 +327,7 @@ public:
|
||||||
/* Release the device back to the system. */
|
virtual nsresult Allocate(const dom::MediaTrackConstraints &aConstraints,
|
||||||
virtual nsresult Deallocate(AllocationHandle* aHandle)
|
const MediaEnginePrefs &aPrefs,
|
||||||
|
const nsString& aDeviceId,
|
||||||
|
- const ipc::PrincipalInfo& aPrincipalInfo,
|
||||||
|
+ const mozilla::ipc::PrincipalInfo& aPrincipalInfo,
|
||||||
|
AllocationHandle** aOutHandle,
|
||||||
|
const char** aOutBadConstraint)
|
||||||
{
|
{
|
||||||
MOZ_ASSERT(aHandle);
|
|
||||||
|
Loading…
Reference in New Issue
Block a user