# HG changeset patch # User Wolfgang Rosenauer # Date 1552813210 -3600 # Node ID 84cdfb4764319130250eb49530546096f132e56d # Parent 4b99400f6d170380f89f46ee48cc56c446049b23# Parent 5fab52cd743d73030ddef72ca8930a22936f4d05 merge from release branch diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/MozillaFirefox.changes --- a/MozillaFirefox/MozillaFirefox.changes Mon Oct 22 11:26:41 2018 +0200 +++ b/MozillaFirefox/MozillaFirefox.changes Sun Mar 17 10:00:10 2019 +0100 @@ -1,14 +1,282 @@ ------------------------------------------------------------------- -Sun Oct 21 07:24:17 UTC 2018 - wr@rosenauer.org - -- update to Firefox 63.0b14 +Tue Mar 5 10:17:01 UTC 2019 - Stephan Kulow + +- Do not hardcode nodejs8 but leave the prefer to the distribution + (Tumbleweed staging wants to switch to nodejs10) + +------------------------------------------------------------------- +Fri Feb 15 13:45:57 UTC 2019 - Guillaume GARDET + +- Update _constraints to avoid 'no space left' error seen on aarch64 + +------------------------------------------------------------------- +Wed Feb 13 07:17:28 UTC 2019 - Wolfgang Rosenauer + +- Mozilla Firefox 65.0.1 + * Fixed accidental requests to addons.mozilla.org when an addon + recommendation doorhanger is shown (bmo#1526387) + * Improved playback of interactive Netflix videos (bmo#1524500) + * Fixed incorrect sizing of the "Clear Recent History" window in + some situations (bmo#1523696) + * Fixed audio & video delays while making WebRTC calls + (bmo#1521577, bmo#1523817) + * Fixed video sizing problems during some WebRTC calls (bmo#1520200) + * Fixed looping CONNECT requests when using WebSockets over HTTP/2 + from behind a proxy server (bmo#1523427) + * Fixed the "Enter" key not working on password entry fields for + certain Linux distributions (bmo#1523635) + MFSA 2019-04 (bsc#1125330) + * CVE-2018-18356 bmo#1525817 + Use-after-free in Skia + * CVE-2019-5785 bmo#1525433 + Integer overflow in Skia + * CVE-2018-18511 bmo#1526218 + Cross-origin theft of images with ImageBitmapRenderingContext + +------------------------------------------------------------------- +Wed Feb 13 06:12:43 UTC 2019 - Martin Liška + +- Enable LTO only for latest new toolchain (boo#1125038) for x86_64 + (with increased memory constraints) + +------------------------------------------------------------------- +Sat Jan 26 22:37:01 UTC 2019 - Wolfgang Rosenauer + +- Mozilla Firefox 65.0 + * Enhanced tracking protection + * allow switching of UI locales within preferences + * support for the WebP image format + * "top"-like about:performance + MFSA 2019-01 (bsc#1122983) + * CVE-2018-18500 bmo#1510114 + Use-after-free parsing HTML5 stream + * CVE-2018-18503 bmo#1509442 + Memory corruption with Audio Buffer + * CVE-2018-18504 bmo#1496413 + Memory corruption and out-of-bounds read of texture client + * CVE-2018-18505 bmo#1497749 + Privilege escalation through IPC channel messages + * CVE-2018-18506 bmo#1503393 + Proxy Auto-Configuration file can define localhost access to be proxied + * CVE-2018-18502 bmo#1499426 bmo#1480090 bmo#1472990 bmo#1514762 + bmo#1501482 bmo#1505887 bmo#1508102 bmo#1508618 bmo#1511580 + bmo#1493497 bmo#1510145 bmo#1516289 bmo#1506798 bmo#1512758 + Memory safety bugs fixed in Firefox 65 + * CVE-2018-18501 bmo#1512450 bmo#1517542 bmo#1513201 bmo#1460619 + bmo#1502871 bmo#1516738 bmo#1516514 + Memory safety bugs fixed in Firefox 65 and Firefox ESR 60.5 +- requires + NSS 3.41 + rust/carge 1.30 + rust-cbindgen 0.6.7 +- rebased patches +- remove workaround for build memory consumption on i586; other + mitigations meanwhile introduced (mainly parallelity) will be + sufficient + mozilla-reduce-files-per-UnifiedBindings.patch + +------------------------------------------------------------------- +Tue Jan 15 14:32:03 UTC 2019 - Martin Liška + +- Increase disk constraint. + +------------------------------------------------------------------- +Mon Jan 14 12:12:12 UTC 2019 - Martin Liška + +- Remove -v from mach build in order to work-around bmo#1500436. + +------------------------------------------------------------------- +Fri Jan 11 15:07:14 UTC 2019 - Martin Liška + +- Set %clang_build to false on all architectures +- Do not use -fno-delete-null-pointer-checks and -fno-strict-aliasing: + it should not be needed anymore +- Do not overwrite enable-optimize and when possible + enable --enable-debug-symbols. +- Add -v to mach in order to make build verbose. + +------------------------------------------------------------------- +Wed Jan 9 22:40:14 UTC 2019 - astieger@suse.com + +- Mozilla Firefox 64.0.2: + * Update the Japanese translation for missing strings (bmo#1513259) + * Properly restore column sizes in developer tools inspector (bmo#1503175) + * Fixed video stuttering on Youtube (bmo#1513511) + * Fix updates for some lightweight themes (bmo#1508777) + +------------------------------------------------------------------- +Tue Dec 18 14:46:41 UTC 2018 - Guillaume GARDET + +- Enable build_hardened for all architectures +- Switch back aarch64 to clang as '-fPIC' fixes bmo#1513605 +- Remove obolete '--enable-pie' as -pie is always enabled for + gcc and clang + +------------------------------------------------------------------- +Wed Dec 12 17:33:29 UTC 2018 - Guillaume GARDET + +- Switch aarch64 builds back to gcc, not clang (bmo#1513605) +- Switch %arm builds back to gcc, not clang to avoid OOM +- Fix build flags when clang is not used +- Fix flags for clang ppc64 builds + +------------------------------------------------------------------- +Tue Dec 11 08:45:56 UTC 2018 - Wolfgang Rosenauer + +- update to Firefox 64.0 + * Better recommendations: You may see suggestions in regular browsing + mode for new and relevant Firefox features, services, and extensions + based on how you use the web (for US users only) + * Enhanced tab management: You can now select multiple tabs from the + tab bar and close, move, bookmark, or pin them quickly and easily + * Easier performance management: The new Task Manager page found at + about:performance lets you see how much energy each open tab consumes + and provides access to close tabs to conserve power + * Improved performance for Mac and Linux users, by enabling link time + optimization (Clang LTO). + * Added option to remove add-ons using the context menu on their + toolbar buttons + * RSS feed preview and live bookmarks are available only via add-ons + * TLS certificates issued by Symantec are no longer trusted by Firefox. + Website operators are strongly encouraged to replace any remaining + Symantec TLS certificates as soon as possible + MFSA 2018-29 (bsc#1119105) + * CVE-2018-12407 bmo#1505973 + Buffer overflow with ANGLE library when using VertexBuffer11 module + * CVE-2018-17466 bmo#1488295 + Buffer overflow and out-of-bounds read in ANGLE library with + TextureStorage11 + * CVE-2018-18492 bmo#1499861 + Use-after-free with select element + * CVE-2018-18493 bmo#1504452 + Buffer overflow in accelerated 2D canvas with Skia + * CVE-2018-18494 bmo#1487964 + Same-origin policy violation using location attribute and + performance.getEntries to steal cross-origin URLs + * CVE-2018-18495 bmo#1427585 + WebExtension content scripts can be loaded in about: pages + * CVE-2018-18496 bmo#1422231 (Windows only) + Embedded feed preview page can be abused for clickjacking + * CVE-2018-18497 bmo#1488180 + WebExtensions can load arbitrary URLs through pipe separators + * CVE-2018-18498 bmo#1500011 + Integer overflow when calculating buffer sizes for images + * CVE-2018-12406 bmo#1456947 bmo#1475669 bmo#1504816 bmo#1502886 + bmo#1500064 bmo#1500310 bmo#1500696 bmo#1498765 bmo#1499198 bmo#1434490 + bmo#1481745 bmo#1458129 + Memory safety bugs fixed in Firefox 64 + * CVE-2018-12405 bmo#1494752 bmo#1503326 bmo#1505181 bmo#1500759 + bmo#1504365 bmo#1506640 bmo#1503082 bmo#1502013 bmo#1510471 + Memory safety bugs fixed in Firefox 64 and Firefox ESR 60.4 +- requires + * rust/cargo >= 1.29 + * mozilla-nss >= 3.40.1 + * rust-cbindgen >= 0.6.4 +- rebased patches +- removed obsolete patch + * mozilla-bmo1491289.patch +- now uses clang primarily for compilation + +------------------------------------------------------------------- +Wed Nov 28 11:07:18 UTC 2018 - Guillaume GARDET + +- Remove --disable-elf-hack when not available: on aarch64 and ppc64* + +------------------------------------------------------------------- +Mon Nov 26 09:46:02 UTC 2018 - Guillaume GARDET + +- Clean-up %arm build + +------------------------------------------------------------------- +Sun Nov 18 11:01:21 UTC 2018 - manfred.h@gmx.net + +- update to Firefox 63.0.3 + * Games using WebGL (created in Unity) get stuck after very short + time of gameplay (bmo#1502748) + * Slow page loading for some users with specific proxy configurations + (bmo#1495024) + * Disable HTTP response throttling by default for causing bugs with + videos in background tabs (bmo#1503354) + * Opening magnet links no longer works (bmo#1498934) + * Crash fixes (bmo#1498510, bmo#1503424) +- removed mozilla-newer-cbindgen.patch; no longer needed + +------------------------------------------------------------------- +Thu Nov 8 14:59:13 UTC 2018 - wr@rosenauer.org + +- update to Firefox 63.0.1 + * Snippets are not loaded due to missing element (bmo#1503047) + * Print preview always shows 30& scale when it is actually + Shrink To Fit (bmo#1501952) + * Dialog displayed when closing multiple windows shows unreplaced + %1$S placeholder in Japanese and potentially other locales + (bmo#1500823) + +------------------------------------------------------------------- +Mon Oct 29 14:07:51 UTC 2018 - wr@rosenauer.org + +- update to Firefox 63.0 * WebExtensions now run in their own process on Linux * The Ctrl+Tab shortcut now displays thumbnail previews of your tabs and cycles through tabs in recently used order. This new default behavior is activated only in new profiles and can be changed in preferences. * Added support for Web Components custom elements and shadow DOM + MFSA 2018-26 (bsc#1112852) + * CVE-2018-12391 (bmo#1478843) (Android-only) + HTTP Live Stream audio data is accessible cross-origin + * CVE-2018-12392 (bmo#1492823) + Crash with nested event loops + * CVE-2018-12393 (bmo#1495011) (only affects non-64-bit archs) + Integer overflow during Unicode conversion while loading JavaScript + * CVE-2018-12395 (bmo#1467523) + WebExtension bypass of domain restrictions through header rewriting + * CVE-2018-12396 (bmo#1483602) + WebExtension content scripts can execute in disallowed contexts + * CVE-2018-12397 (bmo#1487478) + Missing warning prompt when WebExtension requests local file access + * CVE-2018-12398 (bmo#1460538, bmo#1488061) + CSP bypass through stylesheet injection in resource URIs + * CVE-2018-12399 (bmo#1490276) + Spoofing of protocol registration notification bar + * CVE-2018-12400 (bmo#1448305) (Android only) + Favicons are cached in private browsing mode on Firefox for Android + * CVE-2018-12401 (bmo#1422456) + DOS attack through special resource URI parsing + * CVE-2018-12402 (bmo#1469916) + SameSite cookies leak when pages are explicitly saved + * CVE-2018-12403 (bmo#1484753) + Mixed content warning is not displayed when HTTPS page loads a favicon over HTTP + * CVE-2018-12388 (bmo#1472639, bmo#1485698, bmo#1301547, bmo#1471427, + bmo#1379411, bmo#1482122, bmo#1486314, bmo#1487167) + Memory safety bugs fixed in Firefox 63 + * CVE-2018-12390 (bmo#1487098, bmo#1487660, bmo#1490234, bmo#1496159, + bmo#1443748, bmo#1496340, bmo#1483905, bmo#1493347, bmo#1488803, + bmo#1498701, bmo#1498482, bmo#1442010, bmo#1495245, bmo#1483699, + bmo#1469486, bmo#1484905, bmo#1490561, bmo#1492524, bmo#1481844) + Memory safety bugs fixed in Firefox 63 and Firefox ESR 60.3 - requires NSPR 4.20, NSS 3.39 and Rust 1.28 +- latest rust does not provide rust-std so stop requiring it +- requires rust-cbindgen >= 0.6.2 to build +- requires nodejs >= 8.11 to build +- added mozilla-bmo1491289.patch to fix system NSS build (bmo#1491289) +- added mozilla-cubeb-noreturn.patch to fix non-return function +- added mozilla-newer-cbindgen.patch to fix build with cbindgen 0.6.7 +- disable elfhack for TW and newer due to build errors +- removed obsolete patches + * mozilla-no-return.patch + * mozilla-no-stdcxx-check.patch + +------------------------------------------------------------------- +Thu Oct 25 14:39:04 UTC 2018 - guillaume.gardet@opensuse.org + +- Update _constraints for armv6/7 + +------------------------------------------------------------------- +Thu Oct 25 08:50:24 UTC 2018 - guillaume.gardet@opensuse.org + +- Add patch to fix build on armv7: + * mozilla-bmo1463035.patch ------------------------------------------------------------------- Tue Oct 2 21:28:31 UTC 2018 - astieger@suse.com diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Mon Oct 22 11:26:41 2018 +0200 +++ b/MozillaFirefox/MozillaFirefox.spec Sun Mar 17 10:00:10 2019 +0100 @@ -1,8 +1,8 @@ # # spec file for package MozillaFirefox # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. -# 2006-2018 Wolfgang Rosenauer +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# 2006-2019 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -13,21 +13,24 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # # changed with every update -%define major 62 -%define mainver %major.99 -%define orig_version 63.0 -%define orig_suffix b14 +%define major 65 +%define mainver %major.0.1 +%define orig_version 65.0.1 +%define orig_suffix %{nil} %define update_channel beta %define branding 1 -%define releasedate 20181011200118 +%define releasedate 20190211233335 %define source_prefix firefox-%{orig_version} -# PIE, full relro (x86_64 for now) +# always build with GCC as SUSE Security Team requires that +%define clang_build 0 + +# PIE, full relro %define build_hardened 1 # Firefox only supports i686 @@ -66,7 +69,7 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo +BuildRequires: cargo >= 1.30 BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -75,12 +78,13 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.20 -BuildRequires: mozilla-nss-devel >= 3.39 +BuildRequires: mozilla-nss-devel >= 3.41 +BuildRequires: nodejs >= 8.11 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: python3 >= 3.5 -BuildRequires: rust >= 1.28 -BuildRequires: rust-std +BuildRequires: rust >= 1.30 +BuildRequires: rust-cbindgen >= 0.6.7 BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -155,9 +159,10 @@ Patch2: mozilla-kde.patch Patch3: mozilla-ntlm-full-path.patch Patch4: mozilla-openaes-decl.patch -Patch6: mozilla-reduce-files-per-UnifiedBindings.patch Patch7: mozilla-aarch64-startup-crash.patch Patch8: mozilla-bmo256180.patch +Patch9: mozilla-bmo1463035.patch +Patch10: mozilla-cubeb-noreturn.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -261,11 +266,10 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 -%ifarch %ix86 -%patch6 -p1 -%endif %patch7 -p1 %patch8 -p1 +%patch9 -p1 +%patch10 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -293,31 +297,25 @@ export MOZ_TELEMETRY_REPORTING=1 %if 0%{?suse_version} <= 1320 export CC=gcc-7 +%else +%if 0%{?clang_build} == 0 +export CC=gcc +export CXX=g++ %endif -export CFLAGS="%{optflags} -fno-strict-aliasing" -# boo#986541: add -fno-delete-null-pointer-checks for gcc6 -%if 0%{?suse_version} > 1320 -export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" -%endif -%ifarch %arm -export CFLAGS="${CFLAGS/-g / }" %endif %ifarch %arm %ix86 # Limit RAM usage during link export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" %endif %if 0%{?build_hardened} -%ifarch x86_64 -export LDFLAGS="${LDFLAGS} -Wl,-z,relro,-z,now" -%endif +export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now" %endif %ifarch ppc64 ppc64le +%if 0%{?clang_build} == 0 export CFLAGS="$CFLAGS -mminimal-toc" %endif +%endif export CXXFLAGS="$CFLAGS" -%ifarch %{arm} -export RUSTFLAGS="-Cdebuginfo=0" -%endif export MOZCONFIG=$RPM_BUILD_DIR/mozconfig %limit_build -m 1500 cat << EOF > $MOZCONFIG @@ -334,24 +332,16 @@ %if 0%{?suse_version} >= 1550 ac_add_options --disable-gconf %endif -%if 0%{?build_hardened} -ac_add_options --enable-pie -%endif -# gcc7 (boo#104105) -%if 0%{?suse_version} > 1320 -ac_add_options --enable-optimize="-g -O2" +# bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 +%ifarch %ix86 %arm +ac_add_options --disable-debug-symbols +%else +ac_add_options --enable-debug-symbols %endif -%ifarch %arm -%if 0%{?suse_version} > 1230 -ac_add_options --disable-optimize -%endif +%if 0%{?suse_version} > 1549 +%ifnarch aarch64 ppc64 ppc64le +ac_add_options --disable-elf-hack %endif -# bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 -%ifarch %ix86 -ac_add_options --disable-debug-symbols -%endif -%ifarch %arm -ac_add_options --disable-elf-hack %endif ac_add_options --with-system-nspr ac_add_options --with-system-nss @@ -390,6 +380,12 @@ %ifarch aarch64 %arm s390x ac_add_options --disable-webrtc %endif +%ifarch x86_64 +# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506) +%if 0%{?suse_version} > 1500 +ac_add_options --enable-lto +%endif +%endif EOF ./mach build diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/_constraints --- a/MozillaFirefox/_constraints Mon Oct 22 11:26:41 2018 +0200 +++ b/MozillaFirefox/_constraints Sun Mar 17 10:00:10 2019 +0100 @@ -2,25 +2,16 @@ - 16 + 22 - 12 + 8 armv6l armv7l - - - - 2600 - - - - - aarch64 @@ -29,4 +20,14 @@ + + + x86_64 + + + + 16 + + + diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/create-tar.sh --- a/MozillaFirefox/create-tar.sh Mon Oct 22 11:26:41 2018 +0200 +++ b/MozillaFirefox/create-tar.sh Sun Mar 17 10:00:10 2019 +0100 @@ -7,9 +7,9 @@ CHANNEL="beta" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_63_0b14_RELEASE" -VERSION="63.0" -VERSION_SUFFIX="b14" +RELEASE_TAG="1ea7b51ef5bb91bdc34fb7406fd4d35ed7961363" +VERSION="65.0.1" +VERSION_SUFFIX="" LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" # check required tools diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/mozilla-bmo1463035.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-bmo1463035.patch Sun Mar 17 10:00:10 2019 +0100 @@ -0,0 +1,1 @@ +../mozilla-bmo1463035.patch \ No newline at end of file diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/mozilla-cubeb-noreturn.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-cubeb-noreturn.patch Sun Mar 17 10:00:10 2019 +0100 @@ -0,0 +1,1 @@ +../mozilla-cubeb-noreturn.patch \ No newline at end of file diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/mozilla-reduce-files-per-UnifiedBindings.patch --- a/MozillaFirefox/mozilla-reduce-files-per-UnifiedBindings.patch Mon Oct 22 11:26:41 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -../mozilla-reduce-files-per-UnifiedBindings.patch \ No newline at end of file diff -r 4b99400f6d17 -r 84cdfb476431 MozillaFirefox/source-stamp.txt --- a/MozillaFirefox/source-stamp.txt Mon Oct 22 11:26:41 2018 +0200 +++ b/MozillaFirefox/source-stamp.txt Sun Mar 17 10:00:10 2019 +0100 @@ -1,2 +1,2 @@ -REV=91955baf362b -REPO=http://hg.mozilla.org/releases/mozilla-beta +REV=1ea7b51ef5bb +REPO=http://hg.mozilla.org/releases/mozilla-release diff -r 4b99400f6d17 -r 84cdfb476431 firefox-kde.patch --- a/firefox-kde.patch Mon Oct 22 11:26:41 2018 +0200 +++ b/firefox-kde.patch Sun Mar 17 10:00:10 2019 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent fdf78810e83396d10418791fbe32bed6bfe1558b +# Parent 693f0baece29cc958a7d91b89fd12e3b89a502e3 diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1317 @@ +@@ -0,0 +1,1395 @@ +#filter substitution + +# -*- Mode: HTML -*- @@ -19,6 +19,12 @@ + both "content" and "skin" packages, which bug 1385444 will unify later. --> + + ++ ++ ++ ++ + + + @@ -72,7 +78,12 @@ + fullscreenbutton="true" + sizemode="normal" + retargetdocumentfocus="urlbar" -+ persist="screenX screenY width height sizemode"> ++ persist="screenX screenY width height sizemode" ++#ifdef BROWSER_XHTML ++ hidden="true" ++ mozpersist="" ++#endif ++ > + +# All JS files which are needed by browser.xul and other top level windows to +# support MacOS specific features *must* go into the global-scripts.inc file so @@ -85,14 +96,34 @@ +#endif +> + Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-contentblocking.js", this); ++#ifdef MOZ_DATA_REPORTING ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-data-submission-info-bar.js", this); ++#endif ++#ifndef MOZILLA_OFFICIAL ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-development-helpers.js", this); ++#endif ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-media.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-plugins.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); ++ Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this); + + window.onload = gBrowserInit.onLoad.bind(gBrowserInit); + window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); + window.onclose = WindowIsClosing; ++ +#ifdef BROWSER_XHTML -+ window.addEventListener("DOMContentLoaded", -+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); ++ window.addEventListener("readystatechange", () => { ++ // We initially hide the window to prevent layouts during parse. This lets us ++ // avoid accidental XBL construction and better match browser.xul (see Bug 1497975). ++ gBrowserInit.onBeforeInitialXULLayout(); ++ document.documentElement.removeAttribute("hidden"); ++ }, { once: true, capture: true }); +#else + window.addEventListener("MozBeforeInitialXULLayout", + gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true }); @@ -116,13 +147,12 @@ + onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;"> + -+