summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjörn Bidar2017-06-16 00:53:53 +0200
committerBjörn Bidar2017-06-16 18:49:48 +0200
commit0658815b3acba394ab7ba17a94ce3eb2bc020e6a (patch)
tree4e07aadcd363803fdb87e5040743e53ef9fa02e7
parent506f058a7c6586f4ec6da6cfd47ddbfc98672db9 (diff)
downloadaur-0658815b3acba394ab7ba17a94ce3eb2bc020e6a.tar.gz
upkg
-rw-r--r--.SRCINFO39
-rw-r--r--PKGBUILD38
-rw-r--r--fix_mozalloc.patch74
-rw-r--r--mozconfig35
-rw-r--r--no-crmf.diff15
-rw-r--r--rb111682.patch51
-rw-r--r--rb39193.patch23
-rw-r--r--unity-menubar.patch355
8 files changed, 249 insertions, 381 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a9d76f271352..bf4cd30ced94 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
# Generated by mksrcinfo v8
-# Sat May 20 19:39:57 UTC 2017
+# Fri Jun 16 16:48:06 UTC 2017
pkgbase = firefox-kde-opensuse
pkgdesc = Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE
- pkgver = 53.0.3
+ pkgver = 54.0
pkgrel = 1
url = https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox
arch = i686
@@ -23,6 +23,7 @@ pkgbase = firefox-kde-opensuse
makedepends = autoconf2.13
makedepends = rust
makedepends = cargo
+ makedepends = mercurial
depends = gtk2
depends = mozilla-common
depends = libxt
@@ -44,50 +45,46 @@ pkgbase = firefox-kde-opensuse
depends = gtk3
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = speech-dispatcher: Text-to-Speech
- provides = firefox=53.0.3
+ provides = firefox=54.0
conflicts = firefox
options = !emptydirs
options = strip
- source = https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/53.0.3/source/firefox-53.0.3.source.tar.xz
+ source = hg+https://hg.mozilla.org/mozilla-unified#tag=FIREFOX_54_0_RELEASE
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/4665fe34fbce/firefox-branded-icons.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/4665fe34fbce/firefox-kde.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/4665fe34fbce/firefox-no-default-ualocale.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/4665fe34fbce/mozilla-kde.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/4665fe34fbce/mozilla-language.patch
- source = http://www.rosenauer.org/hg/mozilla/raw-file/4665fe34fbce/mozilla-nongnome-proxies.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/firefox-branded-icons.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/firefox-kde.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/firefox-no-default-ualocale.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/mozilla-kde.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/mozilla-language.patch
+ source = http://www.rosenauer.org/hg/mozilla/raw-file/f82a374a310d/mozilla-nongnome-proxies.patch
source = unity-menubar.patch
source = add_missing_pgo_rule.patch
source = pgo_fix_missing_kdejs.patch
- source = rb39193.patch
- source = fix_mozalloc.patch
source = fix-wifi-scanner.diff
- source = rb111682.patch
- md5sums = 16be3d9774f1e3bf74e2c4e198652d19
- md5sums = 36b41345f62ec209e8ef7179649325c4
+ source = no-crmf.diff
+ md5sums = SKIP
+ md5sums = a438d28b6644036d79a20c16efad80b2
md5sums = 14e0f6237a79b85e60256f4808163160
md5sums = dbf14588e85812ee769bd735823a0146
md5sums = aa9f776d2187cba09de65cbb02b39ca0
md5sums = 05bb69d25fb3572c618e3adf1ee7b670
md5sums = 6e335a517c68488941340ee1c23f97b0
md5sums = 46a4971f26c990a66b913ba700c7f3fa
- md5sums = 906efefafcbe3efd44c8827f699c05e2
+ md5sums = b6471edbd17c079b6bd9ca81b3930bec
md5sums = 1fad9a988826d69fe712ea973e43f6da
- md5sums = 2ab6215a97ff35fbb46eea83df68f0c7
+ md5sums = 6cced7f7f4a03e429e53620237162b5b
md5sums = fa6ac817f576b486419b5f308116a7cd
md5sums = 0c684360f1df4536512d51873c1d243d
- md5sums = 64b6e0aebd5b716847198fec849e4a6e
+ md5sums = ca0532e1b9e55186496868b0b18b4a98
md5sums = fe24f5ea463013bb7f1c12d12dce41b2
md5sums = 3fa8bd22d97248de529780f5797178af
- md5sums = 43550e772f110a338d5a42914ee2c3a6
- md5sums = 0c1ed789c06297659137a2ed2ef769f7
md5sums = e2396b9918aa602427f80d48caf319b4
- md5sums = 4320613e0596691561a403f16b79d6a4
+ md5sums = 196edf030efc516e3de5ae3aa01e9851
pkgname = firefox-kde-opensuse
diff --git a/PKGBUILD b/PKGBUILD
index 4966202d3725..29e9d95b0906 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -20,7 +20,7 @@ _gtk3=true
_pkgname=firefox
pkgname=$_pkgname-kde-opensuse
-pkgver=53.0.3
+pkgver=54.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org with OpenSUSE patch, integrate better with KDE"
arch=('i686' 'x86_64')
@@ -36,15 +36,16 @@ fi
makedepends=('unzip' 'zip' 'diffutils' 'python2' 'yasm' 'mesa' 'imake'
'xorg-server-xvfb' 'libpulse' 'inetutils' 'autoconf2.13' 'rust'
- 'cargo')
+ 'cargo' 'mercurial')
optdepends=('networkmanager: Location detection via available WiFi networks'
'speech-dispatcher: Text-to-Speech')
provides=("firefox=${pkgver}")
conflicts=('firefox')
-_patchrev=4665fe34fbce
+_patchrev=f82a374a310d
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
+_repo=https://hg.mozilla.org/mozilla-unified
+source=("hg+$_repo#tag=FIREFOX_${pkgver//./_}_RELEASE"
mozconfig firefox.desktop firefox-install-dir.patch vendor.js kde.js firefox-fixed-loading-icon.png
# Firefox patchset
$_patchurl/firefox-branded-icons.patch
@@ -57,10 +58,8 @@ source=(https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/$pkgver/source/
unity-menubar.patch
add_missing_pgo_rule.patch
pgo_fix_missing_kdejs.patch
- rb39193.patch
- fix_mozalloc.patch
fix-wifi-scanner.diff
- rb111682.patch
+ no-crmf.diff
)
@@ -81,7 +80,7 @@ _google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
_mozilla_api_key=16674381-f021-49de-8622-3021c5942aff
prepare() {
- cd $_pkgname-$pkgver
+ cd mozilla-unified
cp "$srcdir/mozconfig" .mozconfig
@@ -123,10 +122,9 @@ prepare() {
# https://bugzilla.mozilla.org/show_bug.cgi?id=1314968
patch -Np1 -i "$srcdir"/fix-wifi-scanner.diff
-
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1338655
- patch -Np1 -i "$srcdir"/rb111682.patch
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=1371991
+ patch -Np1 -i "$srcdir"/no-crmf.diff
# WebRTC build tries to execute "python" and expects Python 2
mkdir -p "$srcdir/path"
@@ -143,7 +141,7 @@ prepare() {
build() {
- cd $_pkgname-$pkgver
+ cd mozilla-unified
export PATH="$srcdir/path:$PATH"
export PYTHON="/usr/bin/python2"
@@ -168,7 +166,7 @@ build() {
}
package() {
- cd $_pkgname-$pkgver
+ cd mozilla-unified
[[ "$CARCH" == "i686" ]] && cp "$srcdir/kde.js" obj-i686-pc-linux-gnu/dist/bin/defaults/pref
[[ "$CARCH" == "x86_64" ]] && cp "$srcdir/kde.js" obj-x86_64-pc-linux-gnu/dist/bin/defaults/pref
@@ -216,23 +214,21 @@ END
#https://bugzilla.mozilla.org/show_bug.cgi?id=658850
ln -sf firefox "$pkgdir/usr/lib/firefox/firefox-bin"
}
-md5sums=('16be3d9774f1e3bf74e2c4e198652d19'
- '36b41345f62ec209e8ef7179649325c4'
+md5sums=('SKIP'
+ 'a438d28b6644036d79a20c16efad80b2'
'14e0f6237a79b85e60256f4808163160'
'dbf14588e85812ee769bd735823a0146'
'aa9f776d2187cba09de65cbb02b39ca0'
'05bb69d25fb3572c618e3adf1ee7b670'
'6e335a517c68488941340ee1c23f97b0'
'46a4971f26c990a66b913ba700c7f3fa'
- '906efefafcbe3efd44c8827f699c05e2'
+ 'b6471edbd17c079b6bd9ca81b3930bec'
'1fad9a988826d69fe712ea973e43f6da'
- '2ab6215a97ff35fbb46eea83df68f0c7'
+ '6cced7f7f4a03e429e53620237162b5b'
'fa6ac817f576b486419b5f308116a7cd'
'0c684360f1df4536512d51873c1d243d'
- '64b6e0aebd5b716847198fec849e4a6e'
+ 'ca0532e1b9e55186496868b0b18b4a98'
'fe24f5ea463013bb7f1c12d12dce41b2'
'3fa8bd22d97248de529780f5797178af'
- '43550e772f110a338d5a42914ee2c3a6'
- '0c1ed789c06297659137a2ed2ef769f7'
'e2396b9918aa602427f80d48caf319b4'
- '4320613e0596691561a403f16b79d6a4')
+ '196edf030efc516e3de5ae3aa01e9851')
diff --git a/fix_mozalloc.patch b/fix_mozalloc.patch
deleted file mode 100644
index d5229a53b61e..000000000000
--- a/fix_mozalloc.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-# HG changeset patch
-# User Mike Hommey <mh+mozilla@glandium.org>
-# Date 1457596445 -32400
-# Node ID 55212130f19da3079167a6b0a5a0ed6689c9a71d
-# Parent 27c94617d7064d566c24a42e11cd4c7ef725923d
-Bug 1245076 - Don't include mozalloc.h from the cstdlib wrapper. r=froydnj
-
-Our STL wrappers do various different things, one of which is including
-mozalloc.h for infallible operator new. mozalloc.h includes stdlib.h,
-which, in libstdc++ >= 6 is now itself a wrapper around cstdlib, which
-circles back to our STL wrapper.
-
-But of the things our STL wrappers do, including mozalloc.h is not one
-that is necessary for cstdlib. So skip including mozalloc.h in our
-cstdlib wrapper.
-
-Additionally, some C++ sources (in media/mtransport) are including
-headers in an extern "C" block, which end up including stdlib.h, which
-ends up including cstdlib because really, this is all C++, and our
-wrapper pre-includes <new> for mozalloc.h, which fails because templates
-don't work inside extern "C". So, don't pre-include <new> when we're not
-including mozalloc.h.
-
-
-diff --git a/config/gcc-stl-wrapper.template.h b/config/gcc-stl-wrapper.template.h
---- a/config/gcc-stl-wrapper.template.h
-+++ b/config/gcc-stl-wrapper.template.h
-@@ -12,33 +12,40 @@
- // compiling ObjC.
- #if defined(__EXCEPTIONS) && __EXCEPTIONS && !(__OBJC__ && __GNUC__ && XP_IOS)
- # error "STL code can only be used with -fno-exceptions"
- #endif
-
- // Silence "warning: #include_next is a GCC extension"
- #pragma GCC system_header
-
-+// Don't include mozalloc for cstdlib. See bug 1245076.
-+#ifndef moz_dont_include_mozalloc_for_cstdlib
-+# define moz_dont_include_mozalloc_for_cstdlib
-+#endif
-+#ifndef moz_dont_include_mozalloc_for_${HEADER}
- // mozalloc.h wants <new>; break the cycle by always explicitly
- // including <new> here. NB: this is a tad sneaky. Sez the gcc docs:
- //
- // `#include_next' does not distinguish between <file> and "file"
- // inclusion, nor does it check that the file you specify has the
- // same name as the current file. It simply looks for the file
- // named, starting with the directory in the search path after the
- // one where the current file was found.
--#include_next <new>
-+# include_next <new>
-
- // See if we're in code that can use mozalloc. NB: this duplicates
- // code in nscore.h because nscore.h pulls in prtypes.h, and chromium
- // can't build with that being included before base/basictypes.h.
--#if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
--# include "mozilla/mozalloc.h"
--#else
--# error "STL code can only be used with infallible ::operator new()"
-+# if !defined(XPCOM_GLUE) && !defined(NS_NO_XPCOM) && !defined(MOZ_NO_MOZALLOC)
-+# include "mozilla/mozalloc.h"
-+# else
-+# error "STL code can only be used with infallible ::operator new()"
-+# endif
-+
- #endif
-
- #if defined(DEBUG) && !defined(_GLIBCXX_DEBUG)
- // Enable checked iterators and other goodies
- //
- // FIXME/bug 551254: gcc's debug STL implementation requires -frtti.
- // Figure out how to resolve this with -fno-rtti. Maybe build with
- // -frtti in DEBUG builds?
-
diff --git a/mozconfig b/mozconfig
index 4dabbd8c325b..b92c4cf6dfa0 100644
--- a/mozconfig
+++ b/mozconfig
@@ -1,55 +1,48 @@
-. $topsrcdir/browser/config/mozconfig
+ac_add_options --enable-application=browser
ac_add_options --prefix=/usr
ac_add_options --enable-gold
-ac_add_options --enable-rust
ac_add_options --enable-pie
+ac_add_options --enable-optimize="-O2"
ac_add_options --enable-release
ac_add_options --enable-official-branding
ac_add_options --enable-update-channel=release
+ac_add_options --with-distribution-id=org.archlinux
+export MOZILLA_OFFICIAL=1
+export MOZ_TELEMETRY_REPORTING=1
+export MOZ_SOURCE_REPO=https://hg.mozilla.org/mozilla-unified
+export MOZ_ADDON_SIGNING=1
+export MOZ_REQUIRE_SIGNING=1
+export BUILD_OFFICIAL=1
+
# System libraries
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
+ac_add_options --with-system-icu
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
-ac_add_options --with-system-png
-ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
-ac_add_options --with-system-icu
ac_add_options --enable-system-hunspell
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
-#ac_add_options --enable-system-cairo
ac_add_options --enable-system-pixman
ac_add_options --disable-libproxy
#ac_add_options --enable-shared-js
# Features
ac_add_options --enable-startup-notification
-ac_add_options --enable-pulseaudio
+ac_add_options --enable-crashreporter
+ac_add_options --disable-updater
-ac_add_options --disable-gio
ac_add_options --disable-gconf
-ac_add_options --disable-crashreporter
ac_add_options --disable-tests
-ac_add_options --disable-updater
-ac_add_options --disable-crashreporter
+
STRIP_FLAGS="--strip-debug"
-
-# Optimization
-#ac_add_options --enable-optimize
-#ac_add_options --enable-debug-symbols
-
# PGO
mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 $(MAKE) -C $(MOZ_OBJDIR) pgo-profile-run'
-
-export BUILD_OFFICIAL=1
-export MOZILLA_OFFICIAL=1
-mk_add_options BUILD_OFFICIAL=1
-mk_add_options MOZILLA_OFFICIAL=1
diff --git a/no-crmf.diff b/no-crmf.diff
new file mode 100644
index 000000000000..242304eb4182
--- /dev/null
+++ b/no-crmf.diff
@@ -0,0 +1,15 @@
+diff --git i/old-configure.in w/old-configure.in
+index 0a06e470d2085922..d41c8e9d5dd2dbfb 100644
+--- i/old-configure.in
++++ w/old-configure.in
+@@ -2020,9 +2020,7 @@ if test -n "$_USE_SYSTEM_NSS"; then
+ AM_PATH_NSS(3.31, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])])
+ fi
+
+-if test -n "$MOZ_SYSTEM_NSS"; then
+- NSS_LIBS="$NSS_LIBS -lcrmf"
+-else
++if test -z "$MOZ_SYSTEM_NSS"; then
+ NSS_CFLAGS="-I${DIST}/include/nss"
+ case "${OS_ARCH}" in
+ # Only few platforms have been tested with GYP
diff --git a/rb111682.patch b/rb111682.patch
deleted file mode 100644
index 0d788da3f6ce..000000000000
--- a/rb111682.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/media/libstagefright/binding/mp4parse-cargo.patch b/media/libstagefright/binding/mp4parse-cargo.patch
---- a/media/libstagefright/binding/mp4parse-cargo.patch
-+++ b/media/libstagefright/binding/mp4parse-cargo.patch
-@@ -22,22 +22,23 @@ index ff9422c..814c4c6 100644
- -
- # Somewhat heavy-handed, but we want at least -Z force-overflow-checks=on.
- [profile.release]
- debug-assertions = true
- diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
- index aeeebc65..5c0836a 100644
- --- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
- +++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
--@@ -18,18 +18,10 @@ exclude = [
-+@@ -18,18 +18,12 @@ exclude = [
- "*.mp4",
- ]
-
- -build = "build.rs"
---
-++build = false
-+
- [dependencies]
- byteorder = "1.0.0"
- "mp4parse" = {version = "0.6.0", path = "../mp4parse"}
-
- -[build-dependencies]
- -rusty-cheddar = "0.3.2"
- -
- -[features]
-diff --git a/media/libstagefright/binding/mp4parse_capi/Cargo.toml b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
---- a/media/libstagefright/binding/mp4parse_capi/Cargo.toml
-+++ b/media/libstagefright/binding/mp4parse_capi/Cargo.toml
-@@ -13,15 +13,17 @@ license = "MPL-2.0"
-
- repository = "https://github.com/mozilla/mp4parse-rust"
-
- # Avoid complaints about trying to package test files.
- exclude = [
- "*.mp4",
- ]
-
-+build = false
-+
- [dependencies]
- byteorder = "1.0.0"
- "mp4parse" = {version = "0.6.0", path = "../mp4parse"}
-
- # Somewhat heavy-handed, but we want at least -Z force-overflow-checks=on.
- [profile.release]
- debug-assertions = true
-
diff --git a/rb39193.patch b/rb39193.patch
deleted file mode 100644
index c3f06f19aae2..000000000000
--- a/rb39193.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/gfx/graphite2/src/Collider.cpp b/gfx/graphite2/src/Collider.cpp
---- a/gfx/graphite2/src/Collider.cpp
-+++ b/gfx/graphite2/src/Collider.cpp
-@@ -21,17 +21,17 @@
-
- Alternatively, the contents of this file may be used under the terms of the
- Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
- License, as published by the Free Software Foundation, either version 2
- of the License or (at your option) any later version.
- */
- #include <algorithm>
- #include <limits>
--#include <math.h>
-+#include <cmath>
- #include <string>
- #include <functional>
- #include "inc/Collider.h"
- #include "inc/Segment.h"
- #include "inc/Slot.h"
- #include "inc/GlyphCache.h"
- #include "inc/Sparse.h"
-
-
diff --git a/unity-menubar.patch b/unity-menubar.patch
index 325dec3bc3cb..681d7d59fa71 100644
--- a/unity-menubar.patch
+++ b/unity-menubar.patch
@@ -1,7 +1,7 @@
-Index: firefox-53.0~a2~hg20170302r359591/browser/base/content/browser-menubar.inc
+Index: firefox-54.0~a2~hg20170403r375673/browser/base/content/browser-menubar.inc
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/browser/base/content/browser-menubar.inc
-+++ firefox-53.0~a2~hg20170302r359591/browser/base/content/browser-menubar.inc
+--- firefox-54.0~a2~hg20170403r375673.orig/browser/base/content/browser-menubar.inc 2017-04-03 12:12:17.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/browser/base/content/browser-menubar.inc 2017-04-04 10:45:58.000000000 +0200
@@ -5,7 +5,11 @@
<menubar id="main-menubar"
@@ -14,11 +14,11 @@ Index: firefox-53.0~a2~hg20170302r359591/browser/base/content/browser-menubar.in
this.setAttribute('openedwithkey',
event.target.parentNode.openedWithKey);"
style="border:0px;padding:0px;margin:0px;-moz-appearance:none">
-Index: firefox-53.0~a2~hg20170302r359591/browser/base/content/browser.js
+Index: firefox-54.0~a2~hg20170403r375673/browser/base/content/browser.js
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/browser/base/content/browser.js
-+++ firefox-53.0~a2~hg20170302r359591/browser/base/content/browser.js
-@@ -5108,6 +5108,8 @@ function getTogglableToolbars() {
+--- firefox-54.0~a2~hg20170403r375673.orig/browser/base/content/browser.js 2017-04-03 12:13:01.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/browser/base/content/browser.js 2017-04-04 10:45:58.000000000 +0200
+@@ -5239,6 +5239,8 @@
let toolbarNodes = Array.slice(gNavToolbox.childNodes);
toolbarNodes = toolbarNodes.concat(gNavToolbox.externalToolbars);
toolbarNodes = toolbarNodes.filter(node => node.getAttribute("toolbarname"));
@@ -27,11 +27,11 @@ Index: firefox-53.0~a2~hg20170302r359591/browser/base/content/browser.js
return toolbarNodes;
}
-Index: firefox-53.0~a2~hg20170302r359591/browser/components/places/content/places.xul
+Index: firefox-54.0~a2~hg20170403r375673/browser/components/places/content/places.xul
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/browser/components/places/content/places.xul
-+++ firefox-53.0~a2~hg20170302r359591/browser/components/places/content/places.xul
-@@ -157,7 +157,7 @@
+--- firefox-54.0~a2~hg20170403r375673.orig/browser/components/places/content/places.xul 2017-04-03 12:16:08.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/browser/components/places/content/places.xul 2017-04-04 10:45:58.000000000 +0200
+@@ -155,7 +155,7 @@
<toolbarbutton type="menu" class="tabbable"
onpopupshowing="document.getElementById('placeContent').focus()"
#else
@@ -40,11 +40,51 @@ Index: firefox-53.0~a2~hg20170302r359591/browser/components/places/content/place
<menu accesskey="&organize.accesskey;" class="menu-iconic"
#endif
id="organizeButton" label="&organize.label;"
-Index: firefox-53.0~a2~hg20170302r359591/modules/libpref/init/all.js
+Index: firefox-54.0~a2~hg20170403r375673/layout/build/moz.build
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/modules/libpref/init/all.js
-+++ firefox-53.0~a2~hg20170302r359591/modules/libpref/init/all.js
-@@ -230,6 +230,9 @@ pref("dom.compartment_per_addon", true);
+--- firefox-54.0~a2~hg20170403r375673.orig/layout/build/moz.build 2017-04-03 12:44:23.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/layout/build/moz.build 2017-04-04 10:45:58.000000000 +0200
+@@ -78,6 +78,10 @@
+ LOCAL_INCLUDES += [
+ '/dom/system/gonk',
+ ]
++elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
++ LOCAL_INCLUDES += [
++ '/widget/gtk',
++ ]
+
+ if CONFIG['MOZ_WEBSPEECH']:
+ LOCAL_INCLUDES += [
+Index: firefox-54.0~a2~hg20170403r375673/layout/build/nsLayoutStatics.cpp
+===================================================================
+--- firefox-54.0~a2~hg20170403r375673.orig/layout/build/nsLayoutStatics.cpp 2017-04-03 12:44:23.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/layout/build/nsLayoutStatics.cpp 2017-04-04 10:45:58.000000000 +0200
+@@ -133,6 +133,10 @@
+ #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 @@
+ nsTextServicesDocument::RegisterAtoms();
+ nsHTMLTags::RegisterAtoms();
+ nsRDFAtoms::RegisterAtoms();
++#ifdef MOZ_WIDGET_GTK
++ nsNativeMenuAtoms::RegisterAtoms();
++#endif
+
+ NS_SealStaticAtomTable();
+
+Index: firefox-54.0~a2~hg20170403r375673/modules/libpref/init/all.js
+===================================================================
+--- firefox-54.0~a2~hg20170403r375673.orig/modules/libpref/init/all.js 2017-04-03 12:44:24.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/modules/libpref/init/all.js 2017-04-04 10:45:58.000000000 +0200
+@@ -229,6 +229,9 @@
pref("browser.sessionhistory.max_total_viewers", -1);
pref("ui.use_native_colors", true);
@@ -54,11 +94,11 @@ Index: firefox-53.0~a2~hg20170302r359591/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-53.0~a2~hg20170302r359591/toolkit/content/widgets/popup.xml
+Index: firefox-54.0~a2~hg20170403r375673/toolkit/content/widgets/popup.xml
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/toolkit/content/widgets/popup.xml
-+++ firefox-53.0~a2~hg20170302r359591/toolkit/content/widgets/popup.xml
-@@ -25,8 +25,14 @@
+--- firefox-54.0~a2~hg20170403r375673.orig/toolkit/content/widgets/popup.xml 2017-04-03 12:47:42.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/toolkit/content/widgets/popup.xml 2017-04-04 10:45:58.000000000 +0200
+@@ -27,8 +27,14 @@
</getter>
</property>
@@ -75,11 +115,11 @@ Index: firefox-53.0~a2~hg20170302r359591/toolkit/content/widgets/popup.xml
<property name="triggerNode" readonly="true"
onget="return this.popupBoxObject.triggerNode"/>
-Index: firefox-53.0~a2~hg20170302r359591/toolkit/content/xul.css
+Index: firefox-54.0~a2~hg20170403r375673/toolkit/content/xul.css
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/toolkit/content/xul.css
-+++ firefox-53.0~a2~hg20170302r359591/toolkit/content/xul.css
-@@ -314,6 +314,18 @@ toolbar[type="menubar"][autohide="true"]
+--- firefox-54.0~a2~hg20170403r375673.orig/toolkit/content/xul.css 2017-04-03 12:47:42.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/toolkit/content/xul.css 2017-04-04 10:45:58.000000000 +0200
+@@ -314,6 +314,18 @@
}
%endif
@@ -98,11 +138,11 @@ Index: firefox-53.0~a2~hg20170302r359591/toolkit/content/xul.css
toolbarseparator {
-moz-binding: url("chrome://global/content/bindings/toolbar.xml#toolbardecoration");
}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/moz.build
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/moz.build
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/gtk/moz.build
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/moz.build
-@@ -24,10 +24,18 @@ UNIFIED_SOURCES += [
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/gtk/moz.build 2017-04-03 12:51:18.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/moz.build 2017-04-04 10:45:58.000000000 +0200
+@@ -24,10 +24,18 @@
'nsAppShell.cpp',
'nsBidiKeyboard.cpp',
'nsColorPicker.cpp',
@@ -121,7 +161,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/moz.build
'nsNativeThemeGTK.cpp',
'nsScreenGtk.cpp',
'nsScreenManagerGtk.cpp',
-@@ -40,6 +48,8 @@ UNIFIED_SOURCES += [
+@@ -40,6 +48,8 @@
]
SOURCES += [
@@ -130,7 +170,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/moz.build
'nsWindow.cpp', # conflicts with X11 headers
]
-@@ -104,6 +114,7 @@ FINAL_LIBRARY = 'xul'
+@@ -104,6 +114,7 @@
LOCAL_INCLUDES += [
'/layout/generic',
@@ -138,10 +178,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/moz.build
'/layout/xul',
'/other-licenses/atk-1.0',
'/widget',
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsDbusmenu.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsDbusmenu.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -206,10 +246,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.cpp
+
+ return NS_OK;
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsDbusmenu.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsDbusmenu.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -312,10 +352,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsDbusmenu.h
+#define dbusmenu_menuitem_property_set_shortcut nsDbusmenuFunctions::s_dbusmenu_menuitem_property_set_shortcut
+
+#endif /* __nsDbusmenu_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenu.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenu.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,841 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1158,10 +1198,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.cpp
+ ContentNode()->UnsetAttr(kNameSpaceID_None, nsGkAtoms::open, true);
+}
+
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenu.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenu.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1287,10 +1327,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenu.h
+};
+
+#endif /* __nsMenu_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuBar.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuBar.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,572 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1864,10 +1904,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.cpp
+ DocListener()->Stop();
+ DisconnectDocumentEventListeners();
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuBar.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuBar.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -1976,10 +2016,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuBar.h
+};
+
+#endif /* __nsMenuBar_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuContainer.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuContainer.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,172 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2153,10 +2193,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.cpp
+
+ return aContent;
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuContainer.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuContainer.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2228,10 +2268,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuContainer.h
+};
+
+#endif /* __nsMenuContainer_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuItem.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuItem.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,737 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -2970,10 +3010,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.cpp
+{
+ return eType_MenuItem;
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuItem.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuItem.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3056,11 +3096,11 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuItem.h
+};
+
+#endif /* __nsMenuItem_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuObject.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.cpp
-@@ -0,0 +1,660 @@
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuObject.cpp 2017-04-04 10:45:58.000000000 +0200
+@@ -0,0 +1,665 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -3108,6 +3148,11 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.cpp
+
+#include "nsMenuObject.h"
+
++// X11's None clashes with StyleDisplay::None
++#include "X11UndefineNone.h"
++
++#undef None
++
+using namespace mozilla;
+using mozilla::image::ImageOps;
+
@@ -3588,7 +3633,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.cpp
+ // The following works by default (because xul.css hides images in menuitems
+ // 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();
++ const nsAttrValue *classes = mContent->AsElement()->GetClasses();
+ if (!classes) {
+ return false;
+ }
@@ -3721,10 +3766,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.cpp
+ weak = weak->mPrev;
+ }
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuObject.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuObject.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,170 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3896,10 +3941,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuObject.h
+};
+
+#endif /* __nsMenuObject_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuSeparator.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuSeparator.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -3986,10 +4031,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.cpp
+{
+ return eType_MenuItem;
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuSeparator.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsMenuSeparator.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4028,10 +4073,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsMenuSeparator.h
+};
+
+#endif /* __nsMenuSeparator_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtomList.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtomList.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtomList.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtomList.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,12 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4045,10 +4090,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtomList.h
+WIDGET_ATOM2(_moz_nativemenupopupstate, "_moz-nativemenupopupstate")
+WIDGET_ATOM(openedwithkey)
+WIDGET_ATOM(shellshowingmenubar)
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtoms.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtoms.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4089,10 +4134,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.cpp
+{
+ NS_RegisterStaticAtoms(gAtoms);
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtoms.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuAtoms.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,27 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4121,10 +4166,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuAtoms.h
+};
+
+#endif /* __nsNativeMenuAtoms_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuDocListener.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuDocListener.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,350 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4476,10 +4521,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.cpp
+ CancelFlush(this);
+ mPendingMutations.Clear();
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuDocListener.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuDocListener.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,152 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -4633,10 +4678,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuDocListener.h
+};
+
+#endif /* __nsNativeMenuDocListener_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuService.cpp
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.cpp
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuService.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,541 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5179,10 +5224,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.cpp
+ g_object_unref(cancellable);
+ }
+}
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuService.h
===================================================================
---- /dev/null
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.h
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsNativeMenuService.h 2017-04-04 10:45:58.000000000 +0200
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
@@ -5271,10 +5316,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsNativeMenuService.h
+};
+
+#endif /* __nsNativeMenuService_h__ */
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsScreenGtk.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsScreenGtk.cpp
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/gtk/nsScreenGtk.cpp
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsScreenGtk.cpp
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/gtk/nsScreenGtk.cpp 2017-04-03 12:51:18.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsScreenGtk.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -15,6 +15,7 @@
#include <gtk/gtk.h>
#include <dlfcn.h>
@@ -5283,10 +5328,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsScreenGtk.cpp
static uint32_t sScreenId = 0;
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWidgetFactory.cpp
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/gtk/nsWidgetFactory.cpp
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/gtk/nsWidgetFactory.cpp 2017-04-03 12:51:18.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWidgetFactory.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -49,6 +49,8 @@
#include "GfxInfoX11.h"
#endif
@@ -5296,7 +5341,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
#include "nsNativeThemeGTK.h"
#include "nsIComponentRegistrar.h"
-@@ -121,6 +123,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(GfxI
+@@ -121,6 +123,9 @@
}
#endif
@@ -5306,7 +5351,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
#ifdef NS_PRINTING
NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecGTK)
NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsGTK, Init)
-@@ -223,6 +228,7 @@ NS_DEFINE_NAMED_CID(NS_IMAGE_TO_PIXBUF_C
+@@ -223,6 +228,7 @@
NS_DEFINE_NAMED_CID(NS_IDLE_SERVICE_CID);
NS_DEFINE_NAMED_CID(NS_GFXINFO_CID);
#endif
@@ -5314,7 +5359,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
static const mozilla::Module::CIDEntry kWidgetCIDs[] = {
-@@ -258,6 +264,7 @@ static const mozilla::Module::CIDEntry k
+@@ -258,6 +264,7 @@
{ &kNS_IDLE_SERVICE_CID, false, nullptr, nsIdleServiceGTKConstructor },
{ &kNS_GFXINFO_CID, false, nullptr, mozilla::widget::GfxInfoConstructor },
#endif
@@ -5322,7 +5367,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-@@ -295,6 +302,7 @@ static const mozilla::Module::ContractID
+@@ -295,6 +302,7 @@
{ "@mozilla.org/widget/idleservice;1", &kNS_IDLE_SERVICE_CID },
{ "@mozilla.org/gfx/info;1", &kNS_GFXINFO_CID },
#endif
@@ -5330,10 +5375,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWidgetFactory.cpp
{ nullptr }
};
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWindow.cpp
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/gtk/nsWindow.cpp
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.cpp
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/gtk/nsWindow.cpp 2017-04-03 12:51:19.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWindow.cpp 2017-04-04 10:45:58.000000000 +0200
@@ -67,6 +67,7 @@
#include "mozilla/Assertions.h"
@@ -5342,7 +5387,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.cpp
#include "mozilla/Preferences.h"
#include "nsIPrefService.h"
#include "nsIGConfService.h"
-@@ -5161,6 +5162,11 @@ nsWindow::HideWindowChrome(bool aShouldH
+@@ -4945,6 +4946,11 @@
#endif /* MOZ_X11 */
}
@@ -5354,10 +5399,10 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.cpp
bool
nsWindow::CheckForRollup(gdouble aMouseX, gdouble aMouseY,
bool aIsWheel, bool aAlwaysRollup)
-Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.h
+Index: firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWindow.h
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/gtk/nsWindow.h
-+++ firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.h
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/gtk/nsWindow.h 2017-04-03 12:51:19.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/gtk/nsWindow.h 2017-04-04 10:45:58.000000000 +0200
@@ -35,6 +35,8 @@
#include "IMContextWrapper.h"
@@ -5367,7 +5412,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.h
#undef LOG
#ifdef MOZ_LOGGING
-@@ -162,6 +164,8 @@ public:
+@@ -160,6 +162,8 @@
nsIScreen* aTargetScreen = nullptr) override;
virtual void HideWindowChrome(bool aShouldHide) override;
@@ -5376,7 +5421,7 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.h
/**
* GetLastUserInputTime returns a timestamp for the most recent user input
* event. This is intended for pointer grab requests (including drags).
-@@ -571,6 +575,8 @@ private:
+@@ -549,6 +553,8 @@
RefPtr<mozilla::widget::IMContextWrapper> mIMContext;
mozilla::UniquePtr<mozilla::CurrentX11TimeGetter> mCurrentTimeGetter;
@@ -5385,73 +5430,43 @@ Index: firefox-53.0~a2~hg20170302r359591/widget/gtk/nsWindow.h
};
class nsChildWindow : public nsWindow {
-Index: firefox-53.0~a2~hg20170302r359591/xpfe/appshell/nsWebShellWindow.cpp
+Index: firefox-54.0~a2~hg20170403r375673/widget/moz.build
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/xpfe/appshell/nsWebShellWindow.cpp
-+++ firefox-53.0~a2~hg20170302r359591/xpfe/appshell/nsWebShellWindow.cpp
-@@ -73,7 +73,7 @@
+--- firefox-54.0~a2~hg20170403r375673.orig/widget/moz.build 2017-04-03 12:51:19.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/widget/moz.build 2017-04-04 10:45:58.000000000 +0200
+@@ -8,7 +8,7 @@
- #include "nsPIWindowRoot.h"
+ if toolkit in ('cocoa', 'android', 'gonk', 'uikit'):
+ DIRS += [toolkit]
+-if toolkit in ('android', 'cocoa', 'gonk', 'gtk2', 'gtk3'):
++if toolkit in ('android', 'gonk', 'gtk2', 'gtk3'):
+ EXPORTS += ['nsIPrintDialogService.h']
--#ifdef XP_MACOSX
-+#if defined(XP_MACOSX) || defined(MOZ_WIDGET_GTK)
- #include "nsINativeMenuService.h"
- #define USE_NATIVE_MENUS
- #endif
-Index: firefox-53.0~a2~hg20170302r359591/widget/moz.build
-===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/widget/moz.build
-+++ firefox-53.0~a2~hg20170302r359591/widget/moz.build
-@@ -36,9 +36,9 @@ elif toolkit == 'cocoa':
- 'nsISystemStatusBar.idl',
+ if toolkit == 'windows':
+@@ -37,9 +37,12 @@
'nsITaskbarProgress.idl',
]
-- EXPORTS += [
+ EXPORTS += [
- 'nsINativeMenuService.h',
-- ]
-+
++ 'nsIPrintDialogService.h',
+ ]
+
+if toolkit in ('cocoa', 'gtk2', 'gtk3'):
+ EXPORTS += ['nsINativeMenuService.h']
-
++
TEST_DIRS += ['tests']
-Index: firefox-53.0~a2~hg20170302r359591/layout/build/moz.build
-===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/layout/build/moz.build
-+++ firefox-53.0~a2~hg20170302r359591/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-53.0~a2~hg20170302r359591/layout/build/nsLayoutStatics.cpp
+ # Don't build the DSO under the 'build' directory as windows does.
+Index: firefox-54.0~a2~hg20170403r375673/xpfe/appshell/nsWebShellWindow.cpp
===================================================================
---- firefox-53.0~a2~hg20170302r359591.orig/layout/build/nsLayoutStatics.cpp
-+++ firefox-53.0~a2~hg20170302r359591/layout/build/nsLayoutStatics.cpp
-@@ -133,6 +133,10 @@ using namespace mozilla::system;
- #include "mozilla/StaticPresData.h"
- #include "mozilla/dom/WebIDLGlobalNameHash.h"
+--- firefox-54.0~a2~hg20170403r375673.orig/xpfe/appshell/nsWebShellWindow.cpp 2017-04-03 12:52:20.000000000 +0200
++++ firefox-54.0~a2~hg20170403r375673/xpfe/appshell/nsWebShellWindow.cpp 2017-04-04 10:45:58.000000000 +0200
+@@ -72,7 +72,7 @@
-+#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();
+ #include "nsPIWindowRoot.h"
+-#ifdef XP_MACOSX
++#if defined(XP_MACOSX) || defined(MOZ_WIDGET_GTK)
+ #include "nsINativeMenuService.h"
+ #define USE_NATIVE_MENUS
+ #endif