diff options
author | Björn Bidar | 2017-06-16 00:53:53 +0200 |
---|---|---|
committer | Björn Bidar | 2017-06-16 18:49:48 +0200 |
commit | 0658815b3acba394ab7ba17a94ce3eb2bc020e6a (patch) | |
tree | 4e07aadcd363803fdb87e5040743e53ef9fa02e7 | |
parent | 506f058a7c6586f4ec6da6cfd47ddbfc98672db9 (diff) | |
download | aur-0658815b3acba394ab7ba17a94ce3eb2bc020e6a.tar.gz |
upkg
-rw-r--r-- | .SRCINFO | 39 | ||||
-rw-r--r-- | PKGBUILD | 38 | ||||
-rw-r--r-- | fix_mozalloc.patch | 74 | ||||
-rw-r--r-- | mozconfig | 35 | ||||
-rw-r--r-- | no-crmf.diff | 15 | ||||
-rw-r--r-- | rb111682.patch | 51 | ||||
-rw-r--r-- | rb39193.patch | 23 | ||||
-rw-r--r-- | unity-menubar.patch | 355 |
8 files changed, 249 insertions, 381 deletions
@@ -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 @@ -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 |