summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Bidar2017-03-08 00:52:27 +0100
committerBjörn Bidar2017-03-08 00:52:27 +0100
commit84884cb6b42c4a74ba87186f7f3e626e319f7791 (patch)
tree3408681839bf39c5a30fc81ebb00945369d96e1f
parent1189ac02b7f11558bb85307c51afa932d94e977d (diff)
downloadaur-84884cb6b42c4a74ba87186f7f3e626e319f7791.tar.gz
upkg
-rw-r--r--.SRCINFO36
-rw-r--r--PKGBUILD22
-rw-r--r--mozconfig3
-rw-r--r--unity-menubar.patch288
4 files changed, 176 insertions, 173 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 93790d578e67..fa2be3048fd9 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Fri Feb 10 23:27:35 UTC 2017
+# Tue Mar 7 23:51:11 UTC 2017
pkgbase = firefox-kde-opensuse
pkgdesc = Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE
- pkgver = 51.0.1
- pkgrel = 2
+ pkgver = 52.0
+ pkgrel = 1
url = https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox
arch = i686
arch = x86_64
@@ -34,7 +34,7 @@ pkgbase = firefox-kde-opensuse
depends = libvpx
depends = icu
depends = libevent
- depends = nss>=3.18.1
+ depends = nss>=3.28.3
depends = nspr>=4.10.6
depends = hunspell
depends = sqlite
@@ -43,24 +43,24 @@ pkgbase = firefox-kde-opensuse
depends = ffmpeg
depends = gtk3
optdepends = networkmanager: Location detection via available WiFi networks
- optdepends = upower: Battery API
- provides = firefox=51.0.1
+ optdepends = speech-dispatcher: Text-to-Speech
+ provides = firefox=52.0
conflicts = firefox
options = !emptydirs
options = strip
- source = https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/51.0.1/source/firefox-51.0.1.source.tar.xz
+ source = https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/52.0/source/firefox-52.0.source.tar.xz
source = mozconfig
source = firefox.desktop
source = firefox-install-dir.patch
source = vendor.js
source = kde.js
source = firefox-fixed-loading-icon.png
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/firefox-branded-icons.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/firefox-kde.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/firefox-no-default-ualocale.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/mozilla-kde.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/mozilla-language.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/3604ed712e16/mozilla-nongnome-proxies.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/firefox-branded-icons.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/firefox-kde.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/firefox-no-default-ualocale.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/mozilla-kde.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/mozilla-language.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/ce8a98f8d8d7/mozilla-nongnome-proxies.patch
source = unity-menubar.patch
source = add_missing_pgo_rule.patch
source = pgo_fix_missing_kdejs.patch
@@ -68,20 +68,20 @@ pkgbase = firefox-kde-opensuse
source = fix_mozalloc.patch
source = fix-wifi-scanner.diff
source = rust-i686.patch
- md5sums = 05d8d655983d21d5059d5c886b2e6a9c
- md5sums = b3b04357505b8f00864ceeb1cc40a66f
+ md5sums = 76cf84d46590f60f13b0b3dda65d19ae
+ md5sums = 36b41345f62ec209e8ef7179649325c4
md5sums = 14e0f6237a79b85e60256f4808163160
md5sums = dbf14588e85812ee769bd735823a0146
md5sums = aa9f776d2187cba09de65cbb02b39ca0
md5sums = 05bb69d25fb3572c618e3adf1ee7b670
md5sums = 6e335a517c68488941340ee1c23f97b0
md5sums = 3b3eb8c2747429887e4a03537932eac5
- md5sums = a8bff00299be95e2d5635c8660858237
+ md5sums = 688b522c10f805261f07c085848487eb
md5sums = 1fad9a988826d69fe712ea973e43f6da
- md5sums = f41f9222bc2108516719178e77528e9d
+ md5sums = 4ac0c221feeee260172acf50581b2246
md5sums = fa6ac817f576b486419b5f308116a7cd
md5sums = 0c684360f1df4536512d51873c1d243d
- md5sums = b43efba36e9919522d5832c6ea9fe207
+ md5sums = 87eac57858072cfb3d8c3a128bb92da4
md5sums = fe24f5ea463013bb7f1c12d12dce41b2
md5sums = 3fa8bd22d97248de529780f5797178af
md5sums = 43550e772f110a338d5a42914ee2c3a6
diff --git a/PKGBUILD b/PKGBUILD
index ff845f7bd259..1fce7e59d587 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,15 +20,15 @@ _gtk3=true
_pkgname=firefox
pkgname=$_pkgname-kde-opensuse
-pkgver=51.0.1
-pkgrel=2
+pkgver=52.0
+pkgrel=1
pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE"
arch=('i686' 'x86_64')
license=('MPL' 'GPL' 'LGPL')
url="https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox"
depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types'
'dbus-glib' 'alsa-lib' 'hicolor-icon-theme'
- 'libvpx' 'icu' 'libevent' 'nss>=3.18.1' 'nspr>=4.10.6' 'hunspell'
+ 'libvpx' 'icu' 'libevent' 'nss>=3.28.3' 'nspr>=4.10.6' 'hunspell'
'sqlite' 'libnotify' 'kmozillahelper' 'ffmpeg' )
if [ $_gtk3 ] ; then
depends+=('gtk3')
@@ -38,10 +38,10 @@ makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake'
'xorg-server-xvfb' 'libpulse' 'inetutils' 'autoconf2.13' 'rust'
'cargo')
optdepends=('networkmanager: Location detection via available WiFi networks'
- 'upower: Battery API' )
+ 'speech-dispatcher: Text-to-Speech')
provides=("firefox=${pkgver}")
conflicts=('firefox')
-_patchrev=3604ed712e16
+_patchrev=ce8a98f8d8d7
options=('!emptydirs' 'strip' )
_patchurl=http://www.rosenauer.org/hg/mozilla/raw-file/$_patchrev
source=(https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
@@ -153,7 +153,7 @@ build() {
CPPFLAGS+=" -O2"
# GCC 6
- CXXFLAGS+=" -fPIC -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
+ CXXFLAGS+=" -fPIC -fno-delete-null-pointer-checks -fno-schedule-insns2"
# Hardening
LDFLAGS+=" -Wl,-z,now"
@@ -207,20 +207,20 @@ package() {
#https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -sf firefox "$pkgdir/usr/lib/firefox/firefox-bin"
}
-md5sums=('05d8d655983d21d5059d5c886b2e6a9c'
- 'b3b04357505b8f00864ceeb1cc40a66f'
+md5sums=('76cf84d46590f60f13b0b3dda65d19ae'
+ '36b41345f62ec209e8ef7179649325c4'
'14e0f6237a79b85e60256f4808163160'
'dbf14588e85812ee769bd735823a0146'
'aa9f776d2187cba09de65cbb02b39ca0'
'05bb69d25fb3572c618e3adf1ee7b670'
'6e335a517c68488941340ee1c23f97b0'
'3b3eb8c2747429887e4a03537932eac5'
- 'a8bff00299be95e2d5635c8660858237'
+ '688b522c10f805261f07c085848487eb'
'1fad9a988826d69fe712ea973e43f6da'
- 'f41f9222bc2108516719178e77528e9d'
+ '4ac0c221feeee260172acf50581b2246'
'fa6ac817f576b486419b5f308116a7cd'
'0c684360f1df4536512d51873c1d243d'
- 'b43efba36e9919522d5832c6ea9fe207'
+ '87eac57858072cfb3d8c3a128bb92da4'
'fe24f5ea463013bb7f1c12d12dce41b2'
'3fa8bd22d97248de529780f5797178af'
'43550e772f110a338d5a42914ee2c3a6'
diff --git a/mozconfig b/mozconfig
index a084539cb579..4dabbd8c325b 100644
--- a/mozconfig
+++ b/mozconfig
@@ -37,14 +37,13 @@ ac_add_options --disable-gconf
ac_add_options --disable-crashreporter
ac_add_options --disable-tests
ac_add_options --disable-updater
-ac_add_options --disable-debug-symbols
ac_add_options --disable-crashreporter
STRIP_FLAGS="--strip-debug"
# Optimization
-ac_add_options --enable-optimize
+#ac_add_options --enable-optimize
#ac_add_options --enable-debug-symbols
# PGO
diff --git a/unity-menubar.patch b/unity-menubar.patch
index ff1356f42d75..09878c7a38da 100644
--- a/unity-menubar.patch
+++ b/unity-menubar.patch
@@ -1,7 +1,7 @@
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menubar.inc
+Index: firefox-52.0~b9+build2/browser/base/content/browser-menubar.inc
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/base/content/browser-menubar.inc
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menubar.inc
+--- firefox-52.0~b9+build2.orig/browser/base/content/browser-menubar.inc
++++ firefox-52.0~b9+build2/browser/base/content/browser-menubar.inc
@@ -5,7 +5,11 @@
<menubar id="main-menubar"
@@ -14,10 +14,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser-menu
this.setAttribute('openedwithkey',
event.target.parentNode.openedWithKey);"
style="border:0px;padding:0px;margin:0px;-moz-appearance:none">
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content/places.xul
+Index: firefox-52.0~b9+build2/browser/components/places/content/places.xul
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/components/places/content/places.xul
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content/places.xul
+--- firefox-52.0~b9+build2.orig/browser/components/places/content/places.xul
++++ firefox-52.0~b9+build2/browser/components/places/content/places.xul
@@ -157,7 +157,7 @@
<toolbarbutton type="menu" class="tabbable"
onpopupshowing="document.getElementById('placeContent').focus()"
@@ -27,10 +27,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/components/places/content
<menu accesskey="&organize.accesskey;" class="menu-iconic"
#endif
id="organizeButton" label="&organize.label;"
-Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
+Index: firefox-52.0~b9+build2/toolkit/content/widgets/popup.xml
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/toolkit/content/widgets/popup.xml
-+++ firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
+--- firefox-52.0~b9+build2.orig/toolkit/content/widgets/popup.xml
++++ firefox-52.0~b9+build2/toolkit/content/widgets/popup.xml
@@ -25,8 +25,14 @@
</getter>
</property>
@@ -48,11 +48,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/widgets/popup.xml
<property name="triggerNode" readonly="true"
onget="return this.popupBoxObject.triggerNode"/>
-Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
+Index: firefox-52.0~b9+build2/toolkit/content/xul.css
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/toolkit/content/xul.css
-+++ firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
-@@ -315,6 +315,18 @@ toolbar[type="menubar"][autohide="true"]
+--- firefox-52.0~b9+build2.orig/toolkit/content/xul.css
++++ firefox-52.0~b9+build2/toolkit/content/xul.css
+@@ -307,6 +307,18 @@ toolbar[type="menubar"][autohide="true"]
}
%endif
@@ -71,10 +71,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/toolkit/content/xul.css
toolbarseparator {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.cpp
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -139,10 +139,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.cpp
+
+ return NS_OK;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
++++ firefox-52.0~b9+build2/widget/gtk/nsDbusmenu.h
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -243,10 +243,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsDbusmenu.h
+#define dbusmenu_menuitem_property_set_shortcut nsDbusmenuFunctions::s_dbusmenu_menuitem_property_set_shortcut
+
+#endif /* __nsDbusmenu_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenu.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenu.cpp
@@ -0,0 +1,868 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1116,10 +1116,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.cpp
+
+ MaybeAddPlaceholderItem();
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenu.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenu.h
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1287,10 +1287,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenu.h
+};
+
+#endif /* __nsMenu_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuBar.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuBar.cpp
@@ -0,0 +1,545 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1837,10 +1837,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.cpp
+ DebugOnly<nsresult> rv = RemoveChild(aChild);
+ NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to remove item from menubar");
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuBar.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuBar.h
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1954,10 +1954,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuBar.h
+};
+
+#endif /* __nsMenuBar_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.cpp
@@ -0,0 +1,174 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2133,10 +2133,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.cpp
+
+ return aContent;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuContainer.h
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2204,11 +2204,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuContainer.h
+};
+
+#endif /* __nsMenuContainer_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuItem.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
-@@ -0,0 +1,742 @@
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuItem.cpp
+@@ -0,0 +1,743 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -2264,9 +2264,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+
+static struct KeyCodeData gKeyCodes[] = {
+#define NS_DEFINE_VK(aDOMKeyName, aDOMKeyCode) \
-+ { #aDOMKeyName, sizeof(#aDOMKeyName) - 1, aDOMKeyCode }
++ { #aDOMKeyName, sizeof(#aDOMKeyName) - 1, aDOMKeyCode },
+#include "mozilla/VirtualKeyCodeList.h"
+#undef NS_DEFINE_VK
++ { nullptr, 0, 0 }
+};
+
+struct KeyPair {
@@ -2951,10 +2952,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.cpp
+ UpdateIcon(sc);
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuItem.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuItem.h
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3063,11 +3064,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuItem.h
+};
+
+#endif /* __nsMenuItem_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuObject.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
-@@ -0,0 +1,709 @@
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuObject.cpp
+@@ -0,0 +1,694 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -3082,7 +3083,6 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+#include "imgRequestProxy.h"
+#include "mozilla/ArrayUtils.h"
+#include "mozilla/dom/Element.h"
-+#include "mozilla/LookAndFeel.h"
+#include "mozilla/Preferences.h"
+#include "nsAttrValue.h"
+#include "nsComputedDOMStyle.h"
@@ -3427,25 +3427,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+bool
+nsMenuObject::ShouldShowIcon() const
+{
-+ static bool known = false;
-+ static bool showImagesInMenus = false;
-+
+ // Ideally we want to know the visibility of the anonymous XUL image in
+ // our menuitem, but this isn't created because we don't have a frame.
+ // The following works by default (because xul.css hides images in menuitems
-+ // that don't have the "menuitem-with-favicon" class, when eIntID_ImagesInMenus
-+ // is false). It's possible a third party theme could override this, but,
-+ // oh well...
-+ if (!known) {
-+ showImagesInMenus =
-+ LookAndFeel::GetInt(LookAndFeel::eIntID_ImagesInMenus);
-+ known = true;
-+ }
-+
-+ if (showImagesInMenus) {
-+ return true;
-+ }
-+
++ // that don't have the "menuitem-with-favicon" class). It's possible a third
++ // party theme could override this, but, oh well...
+ const nsAttrValue *classes = mContent->GetClasses();
+ if (!classes) {
+ return false;
@@ -3777,10 +3763,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.cpp
+ weak = weak->GetPrevious();
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuObject.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuObject.h
@@ -0,0 +1,242 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4024,10 +4010,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuObject.h
+};
+
+#endif /* __nsMenuObject_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.cpp
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4119,10 +4105,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.cpp
+ UpdateVisibility(sc);
+ }
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
++++ firefox-52.0~b9+build2/widget/gtk/nsMenuSeparator.h
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4165,10 +4151,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsMenuSeparator.h
+};
+
+#endif /* __nsMenuSeparator_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtomList.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtomList.h
@@ -0,0 +1,11 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4181,10 +4167,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtomList.h
+WIDGET_ATOM2(_moz_menupopupstate, "_moz-menupopupstate")
+WIDGET_ATOM(openedwithkey)
+WIDGET_ATOM(shellshowingmenubar)
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.cpp
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4221,14 +4207,14 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.cpp
+};
+
+/* static */ void
-+nsNativeMenuAtoms::Init()
++nsNativeMenuAtoms::RegisterAtoms()
+{
+ NS_RegisterStaticAtoms(gAtoms);
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuAtoms.h
@@ -0,0 +1,25 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4245,7 +4231,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+class nsNativeMenuAtoms
+{
+public:
-+ static void Init();
++ static void RegisterAtoms();
+
+#define WIDGET_ATOM(_name) static nsIAtom* _name;
+#define WIDGET_ATOM2(_name, _value) static nsIAtom* _name;
@@ -4255,10 +4241,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuAtoms.h
+};
+
+#endif /* __nsNativeMenuAtoms_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.cpp
@@ -0,0 +1,370 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4630,10 +4616,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListene
+ CancelFlush(this);
+ mPendingMutations.Clear();
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListener.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuDocListener.h
@@ -0,0 +1,153 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4788,10 +4774,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuDocListene
+};
+
+#endif /* __nsNativeMenuDocListener_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.cpp
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.cpp
@@ -0,0 +1,506 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5299,10 +5285,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.cp
+
+ return NS_OK;
+}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuService.h
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5392,10 +5378,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuService.h
+};
+
+#endif /* __nsNativeMenuService_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsNativeMenuUtils.h
===================================================================
--- /dev/null
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
++++ firefox-52.0~b9+build2/widget/gtk/nsNativeMenuUtils.h
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5456,21 +5442,20 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsNativeMenuUtils.h
+};
+
+#endif /* __nsNativeMenuUtils_h__ */
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsWidgetFactory.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWidgetFactory.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
-@@ -49,6 +49,9 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWidgetFactory.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsWidgetFactory.cpp
+@@ -49,6 +49,8 @@
#include "GfxInfoX11.h"
#endif
+#include "nsNativeMenuService.h"
-+#include "nsNativeMenuAtoms.h"
+
#include "nsNativeThemeGTK.h"
#include "nsIComponentRegistrar.h"
-@@ -121,6 +124,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
+@@ -121,6 +123,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
}
#endif
@@ -5480,7 +5465,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
#ifdef NS_PRINTING
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecGTK)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsGTK, Init)
-@@ -223,6 +229,7 @@ NS_DEFINE_NAMED_CID(NS_IMAGE_TO_PIXBUF_C
+@@ -223,6 +228,7 @@ NS_DEFINE_NAMED_CID(NS_IMAGE_TO_PIXBUF_C
NS_DEFINE_NAMED_CID(NS_IDLE_SERVICE_CID);
NS_DEFINE_NAMED_CID(NS_GFXINFO_CID);
#endif
@@ -5488,7 +5473,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
-@@ -258,6 +265,7 @@ static const mozilla::Module::CIDEntry k
+@@ -258,6 +264,7 @@ static const mozilla::Module::CIDEntry k
{ &kNS_IDLE_SERVICE_CID, false, nullptr, nsIdleServiceGTKConstructor },
{ &kNS_GFXINFO_CID, false, nullptr, mozilla::widget::GfxInfoConstructor },
#endif
@@ -5496,7 +5481,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-@@ -295,9 +303,19 @@ static const mozilla::Module::ContractID
+@@ -295,6 +302,7 @@ static const mozilla::Module::ContractID
{ "@mozilla.org/widget/idleservice;1", &kNS_IDLE_SERVICE_CID },
{ "@mozilla.org/gfx/info;1", &kNS_GFXINFO_CID },
#endif
@@ -5504,32 +5489,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-+static nsresult
-+nsWidgetGtk2ModuleCtor()
-+{
-+ nsAppShellInit();
-+ nsNativeMenuAtoms::Init();
-+
-+ return NS_OK;
-+}
-+
- static void
- nsWidgetGtk2ModuleDtor()
- {
-@@ -323,7 +341,7 @@ static const mozilla::Module kWidgetModu
- kWidgetContracts,
- nullptr,
- nullptr,
-- nsAppShellInit,
-+ nsWidgetGtk2ModuleCtor,
- nsWidgetGtk2ModuleDtor,
- Module::ALLOW_IN_GPU_PROCESS
- };
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsWindow.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWindow.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
-@@ -5129,6 +5129,11 @@ nsWindow::HideWindowChrome(bool aShouldH
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWindow.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsWindow.cpp
+@@ -5175,6 +5175,11 @@ nsWindow::HideWindowChrome(bool aShouldH
return NS_OK;
}
@@ -5541,11 +5505,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.cpp
bool
nsWindow::CheckForRollup(gdouble aMouseX, gdouble aMouseY,
bool aIsWheel, bool aAlwaysRollup)
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
+Index: firefox-52.0~b9+build2/widget/gtk/nsWindow.h
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsWindow.h
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
-@@ -34,6 +34,8 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsWindow.h
++++ firefox-52.0~b9+build2/widget/gtk/nsWindow.h
+@@ -35,6 +35,8 @@
#include "IMContextWrapper.h"
@@ -5554,7 +5518,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
#undef LOG
#ifdef MOZ_LOGGING
-@@ -161,6 +163,8 @@ public:
+@@ -162,6 +164,8 @@ public:
nsIScreen* aTargetScreen = nullptr) override;
NS_IMETHOD HideWindowChrome(bool aShouldHide) override;
@@ -5563,7 +5527,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
/**
* GetLastUserInputTime returns a timestamp for the most recent user input
* event. This is intended for pointer grab requests (including drags).
-@@ -565,6 +569,8 @@ private:
+@@ -569,6 +573,8 @@ private:
RefPtr<mozilla::widget::IMContextWrapper> mIMContext;
mozilla::UniquePtr<mozilla::CurrentX11TimeGetter> mCurrentTimeGetter;
@@ -5572,10 +5536,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsWindow.h
};
class nsChildWindow : public nsWindow {
-Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cpp
+Index: firefox-52.0~b9+build2/xpfe/appshell/nsWebShellWindow.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/xpfe/appshell/nsWebShellWindow.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cpp
+--- firefox-52.0~b9+build2.orig/xpfe/appshell/nsWebShellWindow.cpp
++++ firefox-52.0~b9+build2/xpfe/appshell/nsWebShellWindow.cpp
@@ -58,6 +58,7 @@
#include "nsIScreen.h"
@@ -5593,7 +5557,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cp
#include "nsINativeMenuService.h"
#define USE_NATIVE_MENUS
#endif
-@@ -484,6 +485,11 @@ static void LoadNativeMenus(nsIDOMDocume
+@@ -498,6 +499,11 @@ static void LoadNativeMenus(nsIDOMDocume
if (menubarNode) {
nsCOMPtr<nsIContent> menubarContent(do_QueryInterface(menubarNode));
@@ -5605,10 +5569,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/xpfe/appshell/nsWebShellWindow.cp
nms->CreateNativeMenuBar(aParentWindow, menubarContent);
} else {
nms->CreateNativeMenuBar(aParentWindow, nullptr);
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
+Index: firefox-52.0~b9+build2/widget/gtk/moz.build
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/moz.build
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
+--- firefox-52.0~b9+build2.orig/widget/gtk/moz.build
++++ firefox-52.0~b9+build2/widget/gtk/moz.build
@@ -24,10 +24,18 @@ UNIFIED_SOURCES += [
'nsAppShell.cpp',
'nsBidiKeyboard.cpp',
@@ -5637,7 +5601,7 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
'nsWindow.cpp', # conflicts with X11 headers
]
-@@ -90,6 +100,7 @@ FINAL_LIBRARY = 'xul'
+@@ -104,6 +114,7 @@ FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'/layout/generic',
@@ -5645,11 +5609,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/moz.build
'/layout/xul',
'/other-licenses/atk-1.0',
'/widget',
-Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
+Index: firefox-52.0~b9+build2/browser/base/content/browser.js
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/browser/base/content/browser.js
-+++ firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
-@@ -5025,6 +5025,8 @@ function getTogglableToolbars() {
+--- firefox-52.0~b9+build2.orig/browser/base/content/browser.js
++++ firefox-52.0~b9+build2/browser/base/content/browser.js
+@@ -5079,6 +5079,8 @@ function getTogglableToolbars() {
let toolbarNodes = Array.slice(gNavToolbox.childNodes);
toolbarNodes = toolbarNodes.concat(gNavToolbox.externalToolbars);
toolbarNodes = toolbarNodes.filter(node => node.getAttribute("toolbarname"));
@@ -5658,10 +5622,10 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/browser/base/content/browser.js
return toolbarNodes;
}
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
+Index: firefox-52.0~b9+build2/widget/moz.build
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/moz.build
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
+--- firefox-52.0~b9+build2.orig/widget/moz.build
++++ firefox-52.0~b9+build2/widget/moz.build
@@ -37,10 +37,12 @@ elif toolkit == 'cocoa':
'nsITaskbarProgress.idl',
]
@@ -5676,11 +5640,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/moz.build
TEST_DIRS += ['tests']
# Don't build the DSO under the 'build' directory as windows does.
-Index: firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
+Index: firefox-52.0~b9+build2/modules/libpref/init/all.js
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/modules/libpref/init/all.js
-+++ firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
-@@ -221,6 +221,9 @@ pref("dom.compartment_per_addon", true);
+--- firefox-52.0~b9+build2.orig/modules/libpref/init/all.js
++++ firefox-52.0~b9+build2/modules/libpref/init/all.js
+@@ -229,6 +229,9 @@ pref("dom.compartment_per_addon", true);
pref("browser.sessionhistory.max_total_viewers", -1);
pref("ui.use_native_colors", true);
@@ -5690,11 +5654,11 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/modules/libpref/init/all.js
pref("ui.click_hold_context_menus", false);
// Duration of timeout of incremental search in menus (ms). 0 means infinite.
pref("ui.menu.incremental_search.timeout", 1000);
-Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
+Index: firefox-52.0~b9+build2/widget/gtk/nsScreenGtk.cpp
===================================================================
---- firefox-trunk-51.0~a1~hg20160830r311818.orig/widget/gtk/nsScreenGtk.cpp
-+++ firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
-@@ -13,6 +13,7 @@
+--- firefox-52.0~b9+build2.orig/widget/gtk/nsScreenGtk.cpp
++++ firefox-52.0~b9+build2/widget/gtk/nsScreenGtk.cpp
+@@ -15,6 +15,7 @@
#include <gtk/gtk.h>
#include <dlfcn.h>
#include "gfxPlatformGtk.h"
@@ -5702,3 +5666,43 @@ Index: firefox-trunk-51.0~a1~hg20160830r311818/widget/gtk/nsScreenGtk.cpp
static uint32_t sScreenId = 0;
+Index: firefox-52.0~b9+build2/layout/build/moz.build
+===================================================================
+--- firefox-52.0~b9+build2.orig/layout/build/moz.build
++++ firefox-52.0~b9+build2/layout/build/moz.build
+@@ -77,6 +77,10 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'go
+ LOCAL_INCLUDES += [
+ '/dom/system/gonk',
+ ]
++elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
++ LOCAL_INCLUDES += [
++ '/widget/gtk',
++ ]
+
+ if CONFIG['MOZ_WEBSPEECH']:
+ LOCAL_INCLUDES += [
+Index: firefox-52.0~b9+build2/layout/build/nsLayoutStatics.cpp
+===================================================================
+--- firefox-52.0~b9+build2.orig/layout/build/nsLayoutStatics.cpp
++++ firefox-52.0~b9+build2/layout/build/nsLayoutStatics.cpp
+@@ -132,6 +132,10 @@ using namespace mozilla::system;
+ #include "mozilla/StaticPresData.h"
+ #include "mozilla/dom/WebIDLGlobalNameHash.h"
+
++#ifdef MOZ_WIDGET_GTK
++#include "nsNativeMenuAtoms.h"
++#endif
++
+ using namespace mozilla;
+ using namespace mozilla::net;
+ using namespace mozilla::dom;
+@@ -166,6 +170,9 @@ nsLayoutStatics::Initialize()
+ nsTextServicesDocument::RegisterAtoms();
+ nsHTMLTags::RegisterAtoms();
+ nsRDFAtoms::RegisterAtoms();
++#ifdef MOZ_WIDGET_GTK
++ nsNativeMenuAtoms::RegisterAtoms();
++#endif
+
+ NS_SealStaticAtomTable();
+