Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2019-03-27 16:12:40 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Wed Mar 27 16:12:40 2019 rev:284 rq:686793 version:66.0 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2019-03-08 11:02:09.912533496 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.25356/MozillaFirefox.changes 2019-03-27 16:12:43.739647259 +0100 @@ -1,0 +2,80 @@ +Sun Mar 17 10:08:51 UTC 2019 - Wolfgang Rosenauer <[email protected]> + +- Mozilla Firefox 66.0 + * Increased content processes to 8 + * Added capability to search through open tabs from the tab overflow menu + * New backend for the storage.local WebExtensions API, providing + I/O performance improvements when the extension updates a small + subset of the stored data + * WebExtension keyboard shortcuts can now be managed or overridden + from about:addons + * Improved scrolling behavior: Firefox will now attempt to keep content + from jumping around while a page is loading by supporting scroll + anchoring + * New about:privatebrowsing with search + * A certificate error page now notifies the user of the name of the + certificate issuer that breaks HTTPs connections on intercepted + connections to help troubleshooting possible anti-virus software + issues. + * Fixed an performance issue some Linux users experienced with the + Downloads panel (bmo#1517101) + * Firefox now blocks all autoplay media with sound by default. Users + can add individual sites to an exceptions list or turn the blocking + off. + * System title bar is hidden by default to match Gnome guideline + MFSA 2019-07 (bsc#1129821) + * CVE-2019-9790 (bmo#1525145) + Use-after-free when removing in-use DOM elements + * CVE-2019-9791 (bmo#1530958) + Type inference is incorrect for constructors entered through on-stack + replacement with IonMonkey + * CVE-2019-9792 (bmo#1532599) + IonMonkey leaks JS_OPTIMIZED_OUT magic value to script + * CVE-2019-9793 (bmo#1528829) + Improper bounds checks when Spectre mitigations are disabled + * CVE-2019-9794 (bmo#1530103) (Windows only) + Command line arguments not discarded during execution + * CVE-2019-9795 (bmo#1514682) + Type-confusion in IonMonkey JIT compiler + * CVE-2019-9796 (bmo#1531277) + Use-after-free with SMIL animation controller + * CVE-2019-9797 (bmo#1528909) + Cross-origin theft of images with createImageBitmap + * CVE-2019-9798 (bmo#1527534) (Android only) + Library is loaded from world writable APITRACE_LIB location + * CVE-2019-9799 (bmo#1505678) + Information disclosure via IPC channel messages + * CVE-2019-9801 (bmo#1527717) (Windows only) + Windows programs that are not 'URL Handlers' are exposed to web content + * CVE-2019-9802 (bmo#1415508) + Chrome process information leak + * CVE-2019-9803 (bmo#1515863, bmo#1437009) + Upgrade-Insecure-Requests incorrectly enforced for same-origin navigation + * CVE-2019-9804 (bmo#1518026) (MacOS only) + Code execution through 'Copy as cURL' in Firefox Developer Tools on macOS + * CVE-2019-9805 (bmo#1521360) + Potential use of uninitialized memory in Prio + * CVE-2019-9806 (bmo#1525267) + Denial of service through successive FTP authorization prompts + * CVE-2019-9807 (bmo#1362050) + Text sent through FTP connection can be incorporated into alert messages + * CVE-2019-9809 (bmo#1282430, bmo#1523249) + Denial of service through FTP modal alert error messages + * CVE-2019-9808 (bmo#1434634) + WebRTC permissions can display incorrect origin with data: and blob: URLs + * CVE-2019-9789 bmo#1520483, bmo#1522987, bmo#1528199, bmo#1519337, + bmo#1525549, bmo#1516179, bmo#1518524, bmo#1518331, bmo#1526579, + bmo#1512567, bmo#1524335, bmo#1448505, bmo#1518821 + Memory safety bugs fixed in Firefox 66 + * CVE-2019-9788 bmo#1518001, bmo#1521304, bmo#1521214, bmo#1506665, + bmo#1516834, bmo#1518774, bmo#1524755, bmo#1523362, bmo#1524214, bmo#1529203 + Memory safety bugs fixed in Firefox 66 and Firefox ESR 60.6 +- updated build/runtime requirements + * mozilla-nss >= 3.42.1 + * cargo/rust >= 1.31 + * rust-cbindgen >= 0.6.8 + * nasm >= 2.13 (new) +- removed obsolete patch + * mozilla-bmo256180.patch + +------------------------------------------------------------------- Old: ---- firefox-65.0.1.source.tar.xz firefox-65.0.1.source.tar.xz.asc l10n-65.0.1.tar.xz mozilla-bmo256180.patch New: ---- firefox-66.0.source.tar.xz firefox-66.0.source.tar.xz.asc l10n-66.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.599640666 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.599640666 +0100 @@ -18,13 +18,13 @@ # changed with every update -%define major 65 -%define mainver %major.0.1 -%define orig_version 65.0.1 +%define major 66 +%define mainver %major.0 +%define orig_version 66.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 -%define releasedate 20190211233335 +%define releasedate 20190314174725 %define source_prefix firefox-%{orig_version} # always build with GCC as SUSE Security Team requires that @@ -69,7 +69,7 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo >= 1.30 +BuildRequires: cargo >= 1.31 BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -78,13 +78,14 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.20 -BuildRequires: mozilla-nss-devel >= 3.41 +BuildRequires: mozilla-nss-devel >= 3.42.1 +BuildRequires: nasm >= 2.13 BuildRequires: nodejs >= 8.11 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: python3 >= 3.5 -BuildRequires: rust >= 1.30 -BuildRequires: rust-cbindgen >= 0.6.7 +BuildRequires: rust >= 1.31 +BuildRequires: rust-cbindgen >= 0.6.8 BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -160,7 +161,6 @@ Patch3: mozilla-ntlm-full-path.patch Patch4: mozilla-openaes-decl.patch Patch7: mozilla-aarch64-startup-crash.patch -Patch8: mozilla-bmo256180.patch Patch9: mozilla-bmo1463035.patch Patch10: mozilla-cubeb-noreturn.patch # Firefox/browser @@ -267,7 +267,6 @@ %patch3 -p1 %patch4 -p1 %patch7 -p1 -%patch8 -p1 %patch9 -p1 %patch10 -p1 # Firefox @@ -359,7 +358,8 @@ #ac_add_options --enable-chrome-format=jar ac_add_options --enable-update-channel=%{update_channel} ac_add_options --with-mozilla-api-keyfile=%{SOURCE18} -ac_add_options --with-google-api-keyfile=%{SOURCE19} +ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19} +ac_add_options --with-google-safebrowsing-api-keyfile=%{SOURCE19} ac_add_options --with-unsigned-addon-scopes=app %if %branding ac_add_options --enable-official-branding ++++++ compare-locales.tar.xz ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.735640631 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.735640631 +0100 @@ -7,8 +7,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="1ea7b51ef5bb91bdc34fb7406fd4d35ed7961363" -VERSION="65.0.1" +RELEASE_TAG="164a57c0cdf0088e786e6b966e34fdd3799671d1" +VERSION="66.0" VERSION_SUFFIX="" LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" ++++++ firefox-65.0.1.source.tar.xz -> firefox-66.0.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-65.0.1.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.25356/firefox-66.0.source.tar.xz differ: char 15, line 1 ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.771640622 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.771640622 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 693f0baece29cc958a7d91b89fd12e3b89a502e3 +# Parent 87262204aa945e6fce864193d103a93659bf76f6 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,1395 @@ +@@ -0,0 +1,1408 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -276,6 +276,8 @@ + noautofocus="true" + hidden="true" + flip="none" ++ consumeoutsideclicks="never" ++ norolluponanchor="true" + level="parent"> + <html:div class="urlbarView-body-outer"> + <html:div class="urlbarView-body-inner"> @@ -579,6 +581,7 @@ + position="bottomcenter topright" + tabspecific="true" + noautofocus="true" ++ pocket-title="&saveToPocketCmd.label;" + copyURL-title="&pageAction.copyLink.label;" + emailLink-title="&emailPageCmd.label;" + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;" @@ -771,13 +774,11 @@ + aria-label="&tabsToolbar.label;" + context="toolbar-context-menu" + flex="1"> -+ <vbox flex="1" class="toolbar-items"> -+ <spacer flex="1000"/> + -+ <hbox id="TabsToolbar-customization-target" flex="1"> -+ <hbox class="titlebar-spacer" type="pre-tabs" -+ skipintoolbarset="true"/> ++ <hbox class="titlebar-spacer" type="pre-tabs"/> + ++ <hbox flex="1" align="end" class="toolbar-items"> ++ <hbox id="TabsToolbar-customization-target" flex="1"> + <tabs id="tabbrowser-tabs" + flex="1" + setfocus="false" @@ -805,19 +806,15 @@ + label="&listAllTabs.label;" + tooltiptext="&listAllTabs.label;" + removable="false"/> -+ -+ <hbox class="titlebar-spacer" type="post-tabs" -+ ordinal="1000" -+ skipintoolbarset="true"/> + </hbox> -+ </vbox> ++ </hbox> ++ ++ <hbox class="titlebar-spacer" type="post-tabs"/> + +#ifndef XP_MACOSX + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" -+ ordinal="1000" -+ aria-live="polite" skipintoolbarset="true"/> -+ <hbox class="private-browsing-indicator" skipintoolbarset="true" -+ ordinal="1000"/> ++ aria-live="polite"/> ++ <hbox class="private-browsing-indicator"/> +#endif + +#include titlebar-items.inc.xul @@ -1045,7 +1042,22 @@ + class="urlbar-icon urlbar-page-action" + role="button" + tooltiptext="&pageActionButton.tooltip;" -+ onmousedown="BrowserPageActions.mainButtonClicked(event);"/> ++ onmousedown="BrowserPageActions.mainButtonClicked(event);" ++ onkeypress="BrowserPageActions.mainButtonClicked(event);"/> ++ <hbox id="pocket-button-box" ++ hidden="true" ++ class="urlbar-icon-wrapper urlbar-page-action" ++ onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('pocket'), event, this);"> ++ <image id="pocket-button" ++ class="urlbar-icon" ++ tooltiptext="&pocketButton.tooltiptext;" ++ role="button"/> ++ <hbox id="pocket-button-animatable-box"> ++ <image id="pocket-button-animatable-image" ++ tooltiptext="&pocketButton.tooltiptext;" ++ role="presentation"/> ++ </hbox> ++ </hbox> + <hbox id="star-button-box" + hidden="true" + class="urlbar-icon-wrapper urlbar-page-action" @@ -1097,6 +1109,7 @@ + <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav" + removable="true" + onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);" ++ onkeypress="PanelUI.showSubView('appMenu-libraryView', this, event);" + closemenu="none" + cui-areatype="toolbar" + tooltiptext="&libraryButton.tooltip;" @@ -1431,21 +1444,21 @@ #include "DirectoryProvider.h" #if defined(XP_WIN) - #include "nsWindowsShellService.h" + # include "nsWindowsShellService.h" #elif defined(XP_MACOSX) - #include "nsMacShellService.h" + # include "nsMacShellService.h" #elif defined(MOZ_WIDGET_GTK) --#include "nsGNOMEShellService.h" -+#include "nsUnixShellService.h" +-# include "nsGNOMEShellService.h" ++# include "nsUnixShellService.h" #endif + #include "nsIToolkitShellService.h" #if defined(MOZ_WIDGET_COCOA) - #include "nsMacAttribution.h" + # include "nsMacAttribution.h" #endif #if defined(XP_WIN) - #include "nsIEHistoryEnumerator.h" -@@ -33,18 +33,16 @@ using namespace mozilla::browser; +@@ -34,18 +34,16 @@ using namespace mozilla::browser; ///////////////////////////////////////////////////////////////////////////// @@ -1464,7 +1477,7 @@ #if defined(XP_WIN) NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) -@@ -67,17 +65,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER +@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER #endif static const mozilla::Module::CIDEntry kBrowserCIDs[] = { @@ -1475,12 +1488,12 @@ #elif defined(MOZ_WIDGET_GTK) - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, + #elif defined(XP_MACOSX) + { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, #endif { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create }, #if defined(XP_WIN) { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor }, - #elif defined(XP_MACOSX) - { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor }, #endif #if defined(MOZ_WIDGET_COCOA) diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js @@ -1510,7 +1523,7 @@ performanceSettingsLink.setAttribute("href", performanceSettingsUrl); this.updateDefaultPerformanceSettingsPref(); -@@ -1012,16 +1019,27 @@ var gMainPane = { +@@ -1021,16 +1028,27 @@ var gMainPane = { // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. this._backoffIndex = 0; @@ -1541,30 +1554,30 @@ diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build --- a/browser/components/shell/moz.build +++ b/browser/components/shell/moz.build -@@ -39,16 +39,18 @@ if CONFIG['OS_ARCH'] == 'WINNT': - ] - elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': - SOURCES += [ - 'nsMacShellService.cpp', +@@ -29,16 +29,18 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco ] elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: + XPIDL_SOURCES += [ + 'nsIGNOMEShellService.idl', + ] + SOURCES += [ 'nsGNOMEShellService.cpp', + 'nsKDEShellService.cpp', + 'nsUnixShellService.cpp', ] - - if SOURCES: - FINAL_LIBRARY = 'browsercomps' - - EXTRA_JS_MODULES += [ - 'HeadlessShell.jsm', - 'ShellService.jsm', + elif CONFIG['OS_ARCH'] == 'WINNT': + SOURCES += [ + 'nsWindowsShellService.cpp', + ] + LOCAL_INCLUDES += [ + '../../../other-licenses/nsis/Contrib/CityHash/cityhash', + ] diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components/shell/nsKDEShellService.cpp new file mode 100644 --- /dev/null +++ b/browser/components/shell/nsKDEShellService.cpp -@@ -0,0 +1,153 @@ +@@ -0,0 +1,150 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -1598,13 +1611,10 @@ +NS_IMPL_ISUPPORTS(nsKDEShellService, nsIGNOMEShellService, nsIShellService) + +NS_IMETHODIMP -+nsKDEShellService::IsDefaultBrowser(bool aStartupCheck, -+ bool aForAllTypes, ++nsKDEShellService::IsDefaultBrowser(bool aForAllTypes, + bool* aIsDefaultBrowser) +{ + *aIsDefaultBrowser = false; -+ if (aStartupCheck) -+ mCheckedThisSession = true; + + nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); + if (!command) @@ -1722,7 +1732,7 @@ new file mode 100644 --- /dev/null +++ b/browser/components/shell/nsKDEShellService.h -@@ -0,0 +1,30 @@ +@@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -1732,10 +1742,12 @@ +#define nskdeshellservice_h____ + +#include "nsIGNOMEShellService.h" ++#include "nsToolkitShellService.h" +#include "nsString.h" +#include "mozilla/Attributes.h" + -+class nsKDEShellService final : public nsIGNOMEShellService ++class nsKDEShellService final : public nsIGNOMEShellService, ++ public nsToolkitShellService +{ +public: + nsKDEShellService() : mCheckedThisSession(false) { } @@ -1803,7 +1815,7 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -451,16 +451,18 @@ +@@ -452,16 +452,18 @@ @RESPATH@/browser/defaults/settings/pinning @RESPATH@/browser/defaults/settings/main ++++++ l10n-65.0.1.tar.xz -> l10n-66.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-65.0.1.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.25356/l10n-66.0.tar.xz differ: char 26, line 1 ++++++ mozilla-bmo1463035.patch ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.847640602 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.847640602 +0100 @@ -3,7 +3,7 @@ # User Mike Hommey <[email protected]> # Date 1526871862 -32400 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 -# Parent 25ab6bab437517a8a182f1ab77898ae13b26a696 +# Parent fc741a5ea37dbe145e0ca5f85e5dfb100f3c9091 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons For some reason, GNU as is not happy with the assembly generated after @@ -12,53 +12,10 @@ OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this workaround anymore, so let's just kill it. -diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h -deleted file mode 100644 ---- a/mfbt/LinuxSignal.h -+++ /dev/null -@@ -1,38 +0,0 @@ --/* This Source Code Form is subject to the terms of the Mozilla Public -- * License, v. 2.0. If a copy of the MPL was not distributed with this -- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -- --#ifndef mozilla_LinuxSignal_h --#define mozilla_LinuxSignal_h -- --namespace mozilla { -- --#if defined(__arm__) -- --// Some (old) Linux kernels on ARM have a bug where a signal handler --// can be called without clearing the IT bits in CPSR first. The result --// is that the first few instructions of the handler could be skipped, --// ultimately resulting in crashes. To workaround this bug, the handler --// on ARM is a trampoline that starts with enough NOP instructions, so --// that even if the IT bits are not cleared, only the NOP instructions --// will be skipped over. -- --template <void (*H)(int, siginfo_t*, void*)> --__attribute__((naked)) void SignalTrampoline(int aSignal, siginfo_t* aInfo, -- void* aContext) { -- asm volatile("nop; nop; nop; nop" : : : "memory"); -- -- asm volatile("b %0" : : "X"(H) : "memory"); --} -- --#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>) -- --#else // __arm__ -- --#define MOZ_SIGNAL_TRAMPOLINE(h) (h) -- --#endif // __arm__ -- --} // namespace mozilla -- --#endif // mozilla_LinuxSignal_h diff --git a/mfbt/moz.build b/mfbt/moz.build --- a/mfbt/moz.build +++ b/mfbt/moz.build -@@ -124,20 +124,16 @@ EXPORTS["double-conversion"] = [ +@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [ LOCAL_INCLUDES += [ '/mfbt/double-conversion', ] @@ -84,9 +41,9 @@ +++ b/tools/profiler/core/platform-linux-android.cpp @@ -55,17 +55,16 @@ #ifdef __GLIBC__ - #include <execinfo.h> // backtrace, backtrace_symbols - #endif // def __GLIBC__ - #include <strings.h> // index + # include <execinfo.h> // backtrace, backtrace_symbols + #endif // def __GLIBC__ + #include <strings.h> // index #include <errno.h> #include <stdarg.h> ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.867640597 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.867640597 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent ff3da33eabc1d8760ec41a87afbaf44ded300ede +# Parent f55e33a10c2a23625826ef6f8dbe18d5a455d29e Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer <[email protected]> Author: Lubos Lunak <[email protected]> @@ -21,13 +21,13 @@ +#include "nsKDEUtils.h" #ifdef MOZ_MEMORY - #include "mozmemory.h" + # include "mozmemory.h" #endif #ifdef XP_WIN - #include "windows.h" + # include "windows.h" #endif -@@ -4466,25 +4467,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co +@@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -37,10 +37,10 @@ #elif defined(XP_UNIX) "unix.js" + , "" // placeholder for KDE (empty is otherwise harmless) - #if defined(_AIX) + # if defined(_AIX) , "aix.js" - #endif + # endif #elif defined(XP_BEOS) "beos.js" #endif @@ -65,7 +65,7 @@ // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4532,17 +4545,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co +@@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co } nsCOMPtr<nsIFile> path = do_QueryInterface(elem); @@ -171,12 +171,12 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn --- a/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn -@@ -67,16 +67,18 @@ toolkit.jar: +@@ -65,16 +65,18 @@ toolkit.jar: + content/global/bindings/button.xml (widgets/button.xml) content/global/bindings/calendar.js (widgets/calendar.js) content/global/bindings/checkbox.xml (widgets/checkbox.xml) content/global/bindings/datekeeper.js (widgets/datekeeper.js) content/global/bindings/datepicker.js (widgets/datepicker.js) - content/global/bindings/datetimepopup.xml (widgets/datetimepopup.xml) content/global/bindings/datetimebox.xml (widgets/datetimebox.xml) content/global/bindings/datetimebox.css (widgets/datetimebox.css) * content/global/bindings/dialog.xml (widgets/dialog.xml) @@ -186,15 +186,15 @@ content/global/bindings/menu.xml (widgets/menu.xml) content/global/bindings/menulist.xml (widgets/menulist.xml) content/global/bindings/notification.xml (widgets/notification.xml) - content/global/bindings/numberbox.xml (widgets/numberbox.xml) content/global/bindings/popup.xml (widgets/popup.xml) content/global/bindings/radio.xml (widgets/radio.xml) content/global/bindings/richlistbox.xml (widgets/richlistbox.xml) + content/global/bindings/scrollbox.xml (widgets/scrollbox.xml) diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml new file mode 100644 --- /dev/null +++ b/toolkit/content/widgets/dialog-kde.xml -@@ -0,0 +1,477 @@ +@@ -0,0 +1,507 @@ +<?xml version="1.0"?> +<!-- This Source Code Form is subject to the terms of the Mozilla Public + - License, v. 2.0. If a copy of the MPL was not distributed with this @@ -229,7 +229,7 @@ + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> +#elif XP_UNIX + > -+ <xul:button dlgtype="help" class="dialog-button" hidden="true"/> ++ <xul:button dlgtype="help" class="dialog-button" hidden="true"/> + <xul:button dlgtype="extra2" class="dialog-button" hidden="true"/> + <xul:spacer anonid="spacer" flex="1"/> + <xul:button dlgtype="accept" class="dialog-button" xbl:inherits="disabled=buttondisabledaccept"/> @@ -266,6 +266,11 @@ + event.preventDefault(); + })</field> + ++ <!-- Gets populated by elements that are passed to document.l10n.setAttributes ++ to localize the dialog buttons. Needed to properly size the dialog after ++ the asynchronous translation. --> ++ <field name="_l10nButtons">[]</field> ++ + <property name="buttons" + onget="return this.getAttribute('buttons');" + onset="this._configureButtons(val); return val;"/> @@ -365,16 +370,32 @@ + this._configureButtons(this.buttons); + + // listen for when window is closed via native close buttons -+ window.addEventListener("close", this._closeHandler); ++ window.addEventListener("close", this); + + // for things that we need to initialize after onload fires -+ window.addEventListener("load", this.postLoadInit); ++ window.addEventListener("load", this); + + window.moveToAlertPosition = this.moveToAlertPosition; + window.centerWindowOnScreen = this.centerWindowOnScreen; + ]]> + </constructor> + ++ <method name="handleEvent"> ++ <parameter name="aEvent"/> ++ <body><![CDATA[ ++ switch (aEvent.type) { ++ case "close": { ++ this._closeHandler(aEvent); ++ break; ++ } ++ case "load": { ++ this.postLoadInit(aEvent); ++ break; ++ } ++ } ++ ]]></body> ++ </method> ++ + <method name="postLoadInit"> + <parameter name="aEvent"/> + <body> @@ -422,6 +443,12 @@ + + // Give focus after onload completes, see bug 103197. + setTimeout(focusInit, 0); ++ ++ if (this._l10nButtons.length) { ++ document.l10n.translateElements(this._l10nButtons).then(() => { ++ window.sizeToContent(); ++ }); ++ } + ]]> + </body> + </method> @@ -490,13 +517,14 @@ + button.setAttribute("label", this.getAttribute("buttonlabel" + dlgtype)); + if (this.hasAttribute("buttonaccesskey" + dlgtype)) + button.setAttribute("accesskey", this.getAttribute("buttonaccesskey" + dlgtype)); ++ } else if (this.hasAttribute("buttonid" + dlgtype)) { ++ document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); ++ this._l10nButtons.push(button); + } else if (dlgtype != "extra1" && dlgtype != "extra2") { + button.setAttribute("label", this.mStrBundle.GetStringFromName("button-" + dlgtype)); + var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype); + if (accessKey) + button.setAttribute("accesskey", accessKey); -+ } else if (this.hasAttribute("buttonid" + dlgtype)) { -+ document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype)); + } + } + // allow specifying alternate icons in the dialog header @@ -664,7 +692,9 @@ + <handler event="focus" phase="capturing"> + var btn = this.getButton(this.defaultButton); + if (btn) -+ btn.setAttribute("default", event.originalTarget == btn || !(event.originalTarget instanceof Ci.nsIDOMXULButtonElement)); ++ btn.setAttribute("default", event.originalTarget == btn || ++ !(event.originalTarget.localName == "button" || ++ event.originalTarget.localName == "toolbarbutton")); + </handler> +#endif + </handlers> @@ -675,7 +705,7 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js -@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = { if (params.handlerApp && params.handlerApp.executable && @@ -848,7 +878,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -73,17 +73,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -1281,8 +1311,8 @@ #include "ContentHandlerService.h" #include "nsStringEnumerator.h" #ifdef MOZ_WIDGET_GTK --#include "unix/nsGNOMERegistry.h" -+#include "unix/nsCommonRegistry.h" +-# include "unix/nsGNOMERegistry.h" ++# include "unix/nsCommonRegistry.h" #endif using mozilla::dom::ContentHandlerService; @@ -1591,7 +1621,7 @@ #include "nsIIOService.h" #include "nsAutoPtr.h" #ifdef MOZ_ENABLE_DBUS - #include "nsDBusHandlerApp.h" + # include "nsDBusHandlerApp.h" #endif +#if defined(XP_UNIX) && !defined(XP_MACOSX) +#include "nsKDEUtils.h" @@ -1678,8 +1708,8 @@ #include "nsOSHelperAppService.h" #include "nsMIMEInfoUnix.h" #ifdef MOZ_WIDGET_GTK --#include "nsGNOMERegistry.h" -+#include "nsCommonRegistry.h" +-# include "nsGNOMERegistry.h" ++# include "nsCommonRegistry.h" #endif #include "nsISupports.h" #include "nsString.h" @@ -1688,7 +1718,7 @@ #include "nsIURL.h" #include "nsIFileStreams.h" #include "nsILineInputStream.h" -@@ -1031,17 +1031,17 @@ nsresult nsOSHelperAppService::GetHandle +@@ -1025,17 +1025,17 @@ nsresult nsOSHelperAppService::GetHandle nsresult nsOSHelperAppService::OSProtocolHandlerExists( const char* aProtocolScheme, bool* aHandlerExists) { @@ -1707,7 +1737,7 @@ nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && handlerSvc) { -@@ -1051,17 +1051,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1045,17 +1045,17 @@ nsresult nsOSHelperAppService::OSProtoco } return rv; @@ -1726,7 +1756,7 @@ nsresult nsOSHelperAppService::GetFileTokenForPath( const char16_t* platformAppPath, nsIFile** aFile) { -@@ -1142,17 +1142,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel +@@ -1136,17 +1136,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel nsresult rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, true); @@ -1745,7 +1775,7 @@ rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, minorType, mime_types_description, false); -@@ -1254,17 +1254,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel +@@ -1248,17 +1248,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel // Now look up our extensions nsAutoString extensions, mime_types_description; @@ -2201,15 +2231,15 @@ nsAutoString osVersion; + nsAutoString desktop; #if defined(XP_WIN) - #pragma warning(push) - #pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx + # pragma warning(push) + # pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx OSVERSIONINFO info = {sizeof(OSVERSIONINFO)}; if (GetVersionEx(&info)) { nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion, info.dwMinorVersion); } + desktop = NS_LITERAL_STRING("win"); - #pragma warning(pop) + # pragma warning(pop) #elif defined(MOZ_WIDGET_COCOA) SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); @@ -2310,15 +2340,15 @@ #include "prlink.h" #ifdef MOZ_WIDGET_GTK - #include "nsIGIOService.h" -+#include "nsKDEUtils.h" + # include "nsIGIOService.h" ++# include "nsKDEUtils.h" #endif #ifdef MOZ_WIDGET_COCOA - #include <Carbon/Carbon.h> - #include "CocoaFileUtils.h" - #include "prmem.h" - #include "plbase64.h" + # include <Carbon/Carbon.h> + # include "CocoaFileUtils.h" + # include "prmem.h" + # include "plbase64.h" @@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.DZd8mS/_old 2019-03-27 16:13:09.911640586 +0100 +++ /var/tmp/diff_new_pack.DZd8mS/_new 2019-03-27 16:13:09.911640586 +0100 @@ -1,2 +1,2 @@ -REV=1ea7b51ef5bb +REV=164a57c0cdf0 REPO=http://hg.mozilla.org/releases/mozilla-release
