Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2018-12-19 13:28:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Wed Dec 19 13:28:04 2018 rev:280 rq:657819 version:64.0 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2018-11-28 11:11:17.539076355 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.28833/MozillaFirefox.changes 2018-12-19 13:28:05.601034995 +0100 @@ -1,0 +2,70 @@ +Wed Dec 12 17:33:29 UTC 2018 - Guillaume GARDET <[email protected]> + +- 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 <[email protected]> + +- 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 <[email protected]> + +- Remove --disable-elf-hack when not available: on aarch64 and ppc64* + +------------------------------------------------------------------- Old: ---- firefox-63.0.3.source.tar.xz firefox-63.0.3.source.tar.xz.asc l10n-63.0.3.tar.xz mozilla-bmo1491289.patch New: ---- firefox-64.0.source.tar.xz firefox-64.0.source.tar.xz.asc l10n-64.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.Stuiuh/_old 2018-12-19 13:28:59.904964040 +0100 +++ /var/tmp/diff_new_pack.Stuiuh/_new 2018-12-19 13:28:59.908964035 +0100 @@ -18,17 +18,29 @@ # changed with every update -%define major 63 -%define mainver %major.0.3 -%define orig_version 63.0.3 +%define major 64 +%define mainver %major.0 +%define orig_version 64.0 %define orig_suffix %{nil} %define update_channel release %define branding 1 -%define releasedate 20181114214635 +%define releasedate 20181206201918 %define source_prefix firefox-%{orig_version} +# use clang (upstream default since 64.0) +%if 0%{?suse_version} > 1320 +%define clang_build 1 +%endif +# Except on aarch64 due to bmo#1513605 +# and on %%arm due to large ld memory requirements +%ifarch %arm aarch64 +%define clang_build 0 +%endif + # PIE, full relro (x86_64 for now) +%ifnarch %arm aarch64 %define build_hardened 1 +%endif # Firefox only supports i686 %ifarch %ix86 @@ -66,7 +78,7 @@ %else BuildRequires: gcc-c++ %endif -BuildRequires: cargo >= 1.28 +BuildRequires: cargo >= 1.29 BuildRequires: libXcomposite-devel BuildRequires: libcurl-devel BuildRequires: libidl-devel @@ -75,13 +87,13 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.20 -BuildRequires: mozilla-nss-devel >= 3.39 +BuildRequires: mozilla-nss-devel >= 3.40.1 BuildRequires: nodejs8 >= 8.11 BuildRequires: python-devel BuildRequires: python2-xml BuildRequires: python3 >= 3.5 -BuildRequires: rust >= 1.28 -BuildRequires: rust-cbindgen >= 0.6.2 +BuildRequires: rust >= 1.29 +BuildRequires: rust-cbindgen >= 0.6.4 BuildRequires: startup-notification-devel BuildRequires: unzip BuildRequires: update-desktop-files @@ -160,8 +172,7 @@ Patch7: mozilla-aarch64-startup-crash.patch Patch8: mozilla-bmo256180.patch Patch9: mozilla-bmo1463035.patch -Patch10: mozilla-bmo1491289.patch -Patch11: mozilla-cubeb-noreturn.patch +Patch10: mozilla-cubeb-noreturn.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-branded-icons.patch @@ -272,7 +283,6 @@ %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -300,12 +310,19 @@ 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 %endif export CFLAGS="%{optflags} -fno-strict-aliasing" # boo#986541: add -fno-delete-null-pointer-checks for gcc6 +%if 0%{?clang_build} == 0 %if 0%{?suse_version} > 1320 export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks" %endif +%endif %ifarch %arm %ix86 # Limit RAM usage during link export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" @@ -316,8 +333,10 @@ %endif %endif %ifarch ppc64 ppc64le +%if 0%{?clang_build} == 0 export CFLAGS="$CFLAGS -mminimal-toc" %endif +%endif export CXXFLAGS="$CFLAGS" export MOZCONFIG=$RPM_BUILD_DIR/mozconfig %limit_build -m 1500 @@ -336,8 +355,10 @@ ac_add_options --disable-gconf %endif %if 0%{?build_hardened} +%if 0%{?clang_build} == 0 ac_add_options --enable-pie %endif +%endif # gcc7 (boo#104105) %if 0%{?suse_version} > 1320 ac_add_options --enable-optimize="-g -O2" @@ -347,8 +368,10 @@ ac_add_options --disable-debug-symbols %endif %if 0%{?suse_version} > 1549 +%ifnarch aarch64 ppc64 ppc64le ac_add_options --disable-elf-hack %endif +%endif ac_add_options --with-system-nspr ac_add_options --with-system-nss %if %{localize} ++++++ compare-locales.tar.xz ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.Stuiuh/_old 2018-12-19 13:29:00.048963852 +0100 +++ /var/tmp/diff_new_pack.Stuiuh/_new 2018-12-19 13:29:00.052963847 +0100 @@ -7,8 +7,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="FIREFOX_63.0.3_RELEASE" -VERSION="63.0.3" +RELEASE_TAG="8337ebb86a425a1c65467fc68eb7c26b9046159e" +VERSION="64.0" VERSION_SUFFIX="" LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" ++++++ firefox-63.0.3.source.tar.xz -> firefox-64.0.source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-63.0.3.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.28833/firefox-64.0.source.tar.xz differ: char 15, line 1 ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.Stuiuh/_old 2018-12-19 13:29:00.088963800 +0100 +++ /var/tmp/diff_new_pack.Stuiuh/_new 2018-12-19 13:29:00.088963800 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent fdf78810e83396d10418791fbe32bed6bfe1558b +# Parent f2429084f187d5758508ae547c411943cba60fcf 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,1384 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -19,6 +19,12 @@ + both "content" and "skin" packages, which bug 1385444 will unify later. --> +<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> + ++<!-- While these stylesheets are defined in Toolkit, they are only used in the ++ main browser window, so we can load them here. Bug 1474241 is on file to ++ consider moving these widgets to the "browser" folder. --> ++<?xml-stylesheet href="chrome://global/content/tabprompts.css" type="text/css"?> ++<?xml-stylesheet href="chrome://global/skin/tabprompts.css" type="text/css"?> ++ +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?> +<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?> +<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?> @@ -72,7 +78,11 @@ + fullscreenbutton="true" + sizemode="normal" + retargetdocumentfocus="urlbar" -+ persist="screenX screenY width height sizemode"> ++ persist="screenX screenY width height sizemode" ++#ifdef BROWSER_XHTML ++ hidden="true" ++#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 @@ -90,9 +100,14 @@ + 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 +131,12 @@ + onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;"> + <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;" + oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/> -+ <menuitem id="context_reloadSelectedTabs" label="&reloadSelectedTabs.label;" hidden="true" -+ accesskey="&reloadSelectedTabs.accesskey;" ++ <menuitem id="context_reloadSelectedTabs" label="&reloadTabs.label;" hidden="true" ++ accesskey="&reloadTabs.accesskey;" + oncommand="gBrowser.reloadMultiSelectedTabs();"/> + <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/> + <menuitem id="context_toggleMuteSelectedTabs" hidden="true" + oncommand="gBrowser.toggleMuteAudioOnMultiSelectedTabs(TabContextMenu.contextTab);"/> -+ <menuseparator/> + <menuitem id="context_pinTab" label="&pinTab.label;" + accesskey="&pinTab.accesskey;" + oncommand="gBrowser.pinTab(TabContextMenu.contextTab);"/> @@ -138,6 +152,18 @@ + <menuitem id="context_duplicateTab" label="&duplicateTab.label;" + accesskey="&duplicateTab.accesskey;" + oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/> ++ <menuseparator/> ++ <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;" ++ oncommand="gBrowser.selectAllTabs();"/> ++ <menuitem id="context_bookmarkSelectedTabs" ++ hidden="true" ++ label="&bookmarkSelectedTabs.label;" ++ accesskey="&bookmarkSelectedTabs.accesskey;" ++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/> ++ <menuitem id="context_bookmarkTab" ++ label="&bookmarkTab.label;" ++ accesskey="&bookmarkTab.accesskey;" ++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.getUniquePages([TabContextMenu.contextTab]));"/> + <menu id="context_reopenInContainer" + label="&reopenInContainer.label;" + accesskey="&reopenInContainer.accesskey;" @@ -145,43 +171,46 @@ + <menupopup oncommand="TabContextMenu.reopenInContainer(event);" + onpopupshowing="TabContextMenu.createReopenInContainerMenu(event);"/> + </menu> -+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;" -+ accesskey="&moveToNewWindow.accesskey;" -+ tbattr="tabbrowser-multiple" -+ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/> -+ <menuseparator id="context_sendTabToDevice_separator" class="sync-ui-item"/> -+ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;" -+ class="sync-ui-item" -+ accesskey="&sendTabToDevice.accesskey;"> ++ <menu id="context_moveTabOptions" ++ multiselectcontextlabel="&moveSelectedTabOptions.label;" ++ multiselectcontextaccesskey="&moveSelectedTabOptions.accesskey;" ++ nonmultiselectcontextlabel="&moveTabOptions.label;" ++ nonmultiselectcontextaccesskey="&moveTabOptions.accesskey;"> ++ <menupopup id="moveTabOptionsMenu"> ++ <menuitem id="context_moveToStart" ++ label="&moveToStart.label;" ++ accesskey="&moveToStart.accesskey;" ++ tbattr="tabbrowser-multiple" ++ oncommand="gBrowser.moveTabsToStart(TabContextMenu.contextTab);"/> ++ <menuitem id="context_moveToEnd" ++ label="&moveToEnd.label;" ++ accesskey="&moveToEnd.accesskey;" ++ tbattr="tabbrowser-multiple" ++ oncommand="gBrowser.moveTabsToEnd(TabContextMenu.contextTab);"/> ++ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;" ++ accesskey="&moveToNewWindow.accesskey;" ++ tbattr="tabbrowser-multiple" ++ oncommand="gBrowser.replaceTabsWithWindow(TabContextMenu.contextTab);"/> ++ </menupopup> ++ </menu> ++ <menu id="context_sendTabToDevice" ++ class="sync-ui-item"> + <menupopup id="context_sendTabToDevicePopupMenu" -+ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/> ++ onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle, TabContextMenu.contextTab.multiselected);"/> + </menu> + <menuseparator/> -+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;" -+ tbattr="tabbrowser-multiple-visible" -+ oncommand="gBrowser.reloadAllTabs();"/> -+ <menuitem id="context_bookmarkSelectedTabs" -+ hidden="true" -+ label="&bookmarkSelectedTabs.label;" -+ accesskey="&bookmarkSelectedTabs.accesskey;" -+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"/> -+ <menuitem id="context_bookmarkAllTabs" -+ label="&bookmarkAllTabs.label;" -+ accesskey="&bookmarkAllTabs.accesskey;" -+ command="Browser:BookmarkAllTabs"/> + <menuitem id="context_closeTabsToTheEnd" label="&closeTabsToTheEnd.label;" accesskey="&closeTabsToTheEnd.accesskey;" + oncommand="gBrowser.removeTabsToTheEndFrom(TabContextMenu.contextTab, {animate: true});"/> + <menuitem id="context_closeOtherTabs" label="&closeOtherTabs.label;" accesskey="&closeOtherTabs.accesskey;" + oncommand="gBrowser.removeAllTabsBut(TabContextMenu.contextTab);"/> -+ <menuseparator/> + <menuitem id="context_undoCloseTab" + label="&undoCloseTab.label;" + accesskey="&undoCloseTab.accesskey;" + observes="History:UndoCloseTab"/> + <menuitem id="context_closeTab" label="&closeTab.label;" accesskey="&closeTab.accesskey;" + oncommand="gBrowser.removeTab(TabContextMenu.contextTab, { animate: true });"/> -+ <menuitem id="context_closeSelectedTabs" label="&closeSelectedTabs.label;" -+ hidden="true" accesskey="&closeSelectedTabs.accesskey;" ++ <menuitem id="context_closeSelectedTabs" label="&closeTabs.label;" ++ hidden="true" accesskey="&closeTabs.accesskey;" + oncommand="gBrowser.removeMultiSelectedTabs();"/> + </menupopup> + @@ -222,6 +251,22 @@ + level="parent" + overflowpadding="15" /> + ++ <!-- for url bar autocomplete --> ++ <panel id="urlbar-results" ++ role="group" ++ noautofocus="true" ++ hidden="true" ++ flip="none" ++ level="parent"> ++ <html:div class="urlbarView-body-outer"> ++ <html:div class="urlbarView-body-inner"> ++ <!-- TODO: add search suggestions notification --> ++ <html:div class="urlbarView-results"/> ++ <!-- TODO: add footer --> ++ </html:div> ++ </html:div> ++ </panel> ++ + <!-- for date/time picker. consumeoutsideclicks is set to never, so that + clicks on the anchored input box are never consumed. --> + <panel id="DateTimePickerPanel" @@ -374,19 +419,24 @@ + </panel> + + <menupopup id="toolbar-context-menu" -+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); UpdateDownloadsAutoHide(this); UpdateManageExtension(this)"> -+ <menuitem oncommand="openAboutAddonsForContextAction(this.parentElement)" ++ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator')); ToolbarContextMenu.updateDownloadsAutoHide(this); ToolbarContextMenu.updateExtension(this)"> ++ <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)" + accesskey="&customizeMenu.manageExtension.accesskey;" + label="&customizeMenu.manageExtension.label;" + contexttype="toolbaritem" + class="customize-context-manageExtension"/> ++ <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)" ++ accesskey="&customizeMenu.removeExtension.accesskey;" ++ label="&customizeMenu.removeExtension.label;" ++ contexttype="toolbaritem" ++ class="customize-context-removeExtension"/> + <menuseparator/> + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" + accesskey="&customizeMenu.pinToOverflowMenu.accesskey;" + label="&customizeMenu.pinToOverflowMenu.label;" + contexttype="toolbaritem" + class="customize-context-moveToPanel"/> -+ <menuitem oncommand="onDownloadsAutoHideChange(event)" ++ <menuitem oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event)" + type="checkbox" + accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;" + label="&customizeMenu.autoHideDownloadsButton.label;" @@ -397,18 +447,36 @@ + label="&customizeMenu.removeFromToolbar.label;" + contexttype="toolbaritem" + class="customize-context-removeFromToolbar"/> -+ <menuitem id="toolbar-context-reloadAllTabs" ++ <menuitem id="toolbar-context-reloadSelectedTab" ++ class="toolbaritem-tabsmenu" ++ contexttype="tabbar" ++ oncommand="gBrowser.reloadMultiSelectedTabs();" ++ label="&toolbarContextMenu.reloadSelectedTab.label;" ++ accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/> ++ <menuitem id="toolbar-context-reloadSelectedTabs" + class="toolbaritem-tabsmenu" + contexttype="tabbar" -+ oncommand="gBrowser.reloadAllTabs();" -+ label="&toolbarContextMenu.reloadAllTabs.label;" -+ accesskey="&toolbarContextMenu.reloadAllTabs.accesskey;"/> -+ <menuitem id="toolbar-context-bookmarkAllTabs" ++ oncommand="gBrowser.reloadMultiSelectedTabs();" ++ label="&toolbarContextMenu.reloadSelectedTabs.label;" ++ accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/> ++ <menuitem id="toolbar-context-bookmarkSelectedTab" + class="toolbaritem-tabsmenu" + contexttype="tabbar" -+ command="Browser:BookmarkAllTabs" -+ label="&toolbarContextMenu.bookmarkAllTabs.label;" -+ accesskey="&toolbarContextMenu.bookmarkAllTabs.accesskey;"/> ++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" ++ label="&toolbarContextMenu.bookmarkSelectedTab.label;" ++ accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/> ++ <menuitem id="toolbar-context-bookmarkSelectedTabs" ++ class="toolbaritem-tabsmenu" ++ contexttype="tabbar" ++ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" ++ label="&toolbarContextMenu.bookmarkSelectedTabs.label;" ++ accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/> ++ <menuitem id="toolbar-context-selectAllTabs" ++ class="toolbaritem-tabsmenu" ++ contexttype="tabbar" ++ oncommand="gBrowser.selectAllTabs();" ++ label="&toolbarContextMenu.selectAllTabs.label;" ++ accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/> + <menuitem id="toolbar-context-undoCloseTab" + class="toolbaritem-tabsmenu" + contexttype="tabbar" @@ -496,7 +564,6 @@ + noautofocus="true" + copyURL-title="&pageAction.copyLink.label;" + emailLink-title="&emailPageCmd.label;" -+ sendToDevice-title="&pageAction.sendTabToDevice.label;" + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;" + shareURL-title="&pageAction.shareUrl.label;" + shareMore-label="&pageAction.shareMore.label;"> @@ -534,10 +601,10 @@ + label="&pageAction.removeFromUrlbar.label;" + oncommand="BrowserPageActions.togglePinningForContextAction();"/> + <menuitem class="pageActionContextMenuItem extensionUnpinned" -+ label="&pageAction.allowInUrlbar.label;" ++ label="&pageAction.addToUrlbar.label;" + oncommand="BrowserPageActions.togglePinningForContextAction();"/> + <menuitem class="pageActionContextMenuItem extensionPinned" -+ label="&pageAction.disallowInUrlbar.label;" ++ label="&pageAction.removeFromUrlbar.label;" + oncommand="BrowserPageActions.togglePinningForContextAction();"/> + <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/> + <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned" @@ -550,20 +617,20 @@ + <tooltip id="tabbrowser-tab-tooltip" onpopupshowing="gBrowser.createTooltip(event);"/> + + <tooltip id="back-button-tooltip"> -+ <label class="tooltip-label" value="&backButton.tooltip;"/> ++ <description class="tooltip-label" value="&backButton.tooltip;"/> +#ifdef XP_MACOSX -+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> ++ <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> +#else -+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> ++ <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> +#endif + </tooltip> + + <tooltip id="forward-button-tooltip"> -+ <label class="tooltip-label" value="&forwardButton.tooltip;"/> ++ <description class="tooltip-label" value="&forwardButton.tooltip;"/> +#ifdef XP_MACOSX -+ <label class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> ++ <description class="tooltip-label" value="&backForwardButtonMenuMac.tooltip;"/> +#else -+ <label class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> ++ <description class="tooltip-label" value="&backForwardButtonMenu.tooltip;"/> +#endif + </tooltip> + @@ -817,7 +884,7 @@ + ondrop="homeButtonObserver.onDrop(event)" + ondragexit="homeButtonObserver.onDragExit(event)" + key="goHome" -+ onclick="BrowserGoHome(event);" ++ onclick="BrowserHome(event);" + cui-areatype="toolbar" + tooltiptext="&homeButton.defaultPage.tooltip;"/> + <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/> @@ -1367,7 +1434,7 @@ #if defined(XP_WIN) #include "nsIEHistoryEnumerator.h" -@@ -34,18 +34,16 @@ using namespace mozilla::browser; +@@ -33,18 +33,16 @@ using namespace mozilla::browser; ///////////////////////////////////////////////////////////////////////////// @@ -1386,11 +1453,11 @@ #if defined(XP_WIN) NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator) -@@ -70,17 +68,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID) - NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSERVICE_CID); +@@ -67,17 +65,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER #endif static const mozilla::Module::CIDEntry kBrowserCIDs[] = { + // clang-format off { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, #if defined(XP_WIN) { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor }, @@ -1398,17 +1465,17 @@ - { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor }, + { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor }, #endif - { &kNS_FEEDSNIFFER_CID, false, nullptr, nsFeedSnifferConstructor }, { &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 --- a/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js -@@ -327,16 +327,23 @@ var gMainPane = { +@@ -283,16 +283,23 @@ var gMainPane = { this._backoffIndex++ : backoffTimes.length - 1]); }; @@ -1432,7 +1499,7 @@ performanceSettingsLink.setAttribute("href", performanceSettingsUrl); this.updateDefaultPerformanceSettingsPref(); -@@ -962,16 +969,27 @@ var gMainPane = { +@@ -938,16 +945,27 @@ var gMainPane = { // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. this._backoffIndex = 0; @@ -1486,7 +1553,7 @@ new file mode 100644 --- /dev/null +++ b/browser/components/shell/nsKDEShellService.cpp -@@ -0,0 +1,204 @@ +@@ -0,0 +1,153 @@ +/* -*- 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 @@ -1640,57 +1707,6 @@ + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; +} + -+NS_IMETHODIMP -+nsKDEShellService::GetDefaultFeedReader(nsIFile** _retval) -+{ -+ *_retval = nullptr; -+ -+ nsCOMPtr<nsIMutableArray> command = do_CreateInstance( NS_ARRAY_CONTRACTID ); -+ if( !command ) -+ return NS_ERROR_FAILURE; -+ -+ nsCOMPtr<nsISupportsCString> str = do_CreateInstance( NS_SUPPORTS_CSTRING_CONTRACTID ); -+ if( !str ) -+ return NS_ERROR_FAILURE; -+ -+ str->SetData( NS_LITERAL_CSTRING( "GETDEFAULTFEEDREADER" )); -+ command->AppendElement( str ); -+ -+ nsCOMPtr<nsIArray> output; -+ if( !nsKDEUtils::command( command, getter_AddRefs( output ) ) ) -+ return NS_ERROR_FAILURE; -+ -+ PRUint32 length; -+ output->GetLength( &length ); -+ if( length != 1 ) -+ return NS_ERROR_FAILURE; -+ -+ nsCOMPtr<nsISupportsCString> resstr = do_QueryElementAt( output, 0 ); -+ if( !resstr ) -+ return NS_ERROR_FAILURE; -+ -+ nsAutoCString path; -+ resstr->GetData( path ); -+ if (path.IsEmpty()) -+ return NS_ERROR_FAILURE; -+ -+ nsresult rv; -+ nsCOMPtr<nsIFile> defaultReader = -+ do_CreateInstance("@mozilla.org/file/local;1", &rv); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ rv = defaultReader->InitWithNativePath(path); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ bool exists; -+ rv = defaultReader->Exists(&exists); -+ NS_ENSURE_SUCCESS(rv, rv); -+ if (!exists) -+ return NS_ERROR_FAILURE; -+ -+ NS_ADDREF(*_retval = defaultReader); -+ return NS_OK; -+} diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h new file mode 100644 --- /dev/null @@ -1776,7 +1792,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 -@@ -462,16 +462,18 @@ +@@ -458,16 +458,18 @@ @RESPATH@/browser/defaults/settings/pinning @RESPATH@/browser/defaults/settings/main ++++++ l10n-63.0.3.tar.xz -> l10n-64.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-63.0.3.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.28833/l10n-64.0.tar.xz differ: char 25, line 1 ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.Stuiuh/_old 2018-12-19 13:29:00.188963669 +0100 +++ /var/tmp/diff_new_pack.Stuiuh/_new 2018-12-19 13:29:00.188963669 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 06a62125ffbb15e88dacb486169d8e6a9595bd78 +# Parent d685597ba96ea004052e40ec0c80f422ea0e365c Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer <[email protected]> Author: Lubos Lunak <[email protected]> @@ -9,7 +9,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp -@@ -80,16 +80,17 @@ +@@ -81,16 +81,17 @@ #include "nsXPCOMCID.h" #include "nsXPCOM.h" #include "nsXULAppAPI.h" @@ -27,7 +27,7 @@ #ifdef XP_WIN #include "windows.h" #endif -@@ -4932,25 +4933,37 @@ Preferences::InitInitialObjects(bool aIs +@@ -4908,25 +4909,37 @@ Preferences::InitInitialObjects(bool aIs // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -65,7 +65,7 @@ // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. -@@ -4999,17 +5012,17 @@ Preferences::InitInitialObjects(bool aIs +@@ -4975,17 +4988,17 @@ Preferences::InitInitialObjects(bool aIs } nsCOMPtr<nsIFile> path = do_QueryInterface(elem); @@ -171,9 +171,9 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn --- a/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn -@@ -70,16 +70,18 @@ toolkit.jar: +@@ -68,16 +68,18 @@ toolkit.jar: + content/global/bindings/calendar.js (widgets/calendar.js) content/global/bindings/checkbox.xml (widgets/checkbox.xml) - content/global/bindings/colorpicker.xml (widgets/colorpicker.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) @@ -182,7 +182,6 @@ * content/global/bindings/dialog.xml (widgets/dialog.xml) +* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde - * content/global/bindings/findbar.xml (widgets/findbar.xml) content/global/bindings/general.xml (widgets/general.xml) content/global/bindings/groupbox.xml (widgets/groupbox.xml) content/global/bindings/menu.xml (widgets/menu.xml) @@ -190,6 +189,7 @@ 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) diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml new file mode 100644 --- /dev/null @@ -673,7 +673,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 = { +@@ -1031,30 +1031,60 @@ nsUnknownContentTypeDialog.prototype = { if (params.handlerApp && params.handlerApp.executable && @@ -845,7 +845,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -67,17 +67,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -68,17 +68,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co '../components/printingui', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -1688,7 +1688,7 @@ #include "nsIURL.h" #include "nsIFileStreams.h" #include "nsILineInputStream.h" -@@ -1125,17 +1125,17 @@ nsOSHelperAppService::GetHandlerAndDescr +@@ -1122,17 +1122,17 @@ nsOSHelperAppService::GetHandlerAndDescr nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists) { @@ -1707,7 +1707,7 @@ nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); if (NS_SUCCEEDED(rv) && handlerSvc) { rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists); -@@ -1143,17 +1143,17 @@ nsresult nsOSHelperAppService::OSProtoco +@@ -1140,17 +1140,17 @@ nsresult nsOSHelperAppService::OSProtoco } return rv; @@ -1726,7 +1726,7 @@ nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile) { -@@ -1240,17 +1240,17 @@ nsOSHelperAppService::GetFromExtension(c +@@ -1237,17 +1237,17 @@ nsOSHelperAppService::GetFromExtension(c mime_types_description, true); @@ -1745,7 +1745,7 @@ rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, -@@ -1361,17 +1361,17 @@ nsOSHelperAppService::GetFromType(const +@@ -1358,17 +1358,17 @@ nsOSHelperAppService::GetFromType(const nsAutoString extensions, mime_types_description; LookUpExtensionsAndDescription(majorType, minorType, @@ -1884,8 +1884,7 @@ GtkFileChooserAction action = GetGtkFileChooserAction(mMode); -@@ -608,8 +635,233 @@ nsFilePicker::Done(GtkWidget* file_choos - if (mCallback) { +@@ -600,16 +627,241 @@ nsFilePicker::Done(void* file_chooser, g mCallback->Done(result); mCallback = nullptr; } else { @@ -1893,7 +1892,7 @@ } NS_RELEASE_THIS(); } -+ + +nsCString nsFilePicker::kdeMakeFilter( int index ) + { + nsCString buf = mFilters[ index ]; @@ -2118,10 +2117,19 @@ + return NS_OK; + } + ++ + // All below functions available as of GTK 3.20+ + + void * + nsFilePicker::GtkFileChooserNew( + const gchar *title, GtkWindow *parent, + GtkFileChooserAction action, + const gchar *accept_label) + { diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h -@@ -69,14 +69,20 @@ protected: +@@ -69,16 +69,22 @@ protected: nsString mDefaultExtension; nsTArray<nsCString> mFilters; @@ -2136,12 +2144,14 @@ + NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn); + nsCString kdeMakeFilter( int index ); + - #ifdef MOZ_WIDGET_GTK - GtkFileChooserWidget *mFileChooserDelegate; - #endif - }; - - #endif + void *GtkFileChooserNew( + const gchar *title, GtkWindow *parent, + GtkFileChooserAction action, + const gchar *accept_label); + void GtkFileChooserShow(void *file_chooser); + void GtkFileChooserDestroy(void *file_chooser); + void GtkFileChooserSetModal(void *file_chooser, GtkWindow* parent_widget, + gboolean modal); diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp @@ -2163,7 +2173,7 @@ const char* directive; int argc; -@@ -419,16 +420,17 @@ ParseManifest(NSLocationType aType, File +@@ -421,16 +422,17 @@ ParseManifest(NSLocationType aType, File NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); NS_NAMED_LITERAL_STRING(kApplication, "application"); @@ -2181,7 +2191,7 @@ NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kContent, "content"); -@@ -474,44 +476,49 @@ ParseManifest(NSLocationType aType, File +@@ -476,44 +478,49 @@ ParseManifest(NSLocationType aType, File CopyUTF8toUTF16(s, abi); abi.Insert(char16_t('_'), 0); abi.Insert(osTarget, 0); @@ -2231,7 +2241,7 @@ process = kMain; } -@@ -598,25 +605,27 @@ ParseManifest(NSLocationType aType, File +@@ -600,25 +607,27 @@ ParseManifest(NSLocationType aType, File TriState stOsVersion = eUnspecified; TriState stOs = eUnspecified; TriState stABI = eUnspecified; @@ -2259,7 +2269,7 @@ } #if defined(MOZ_WIDGET_ANDROID) -@@ -661,16 +670,17 @@ ParseManifest(NSLocationType aType, File +@@ -663,16 +672,17 @@ ParseManifest(NSLocationType aType, File } if (!ok || ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.Stuiuh/_old 2018-12-19 13:29:00.236963606 +0100 +++ /var/tmp/diff_new_pack.Stuiuh/_new 2018-12-19 13:29:00.236963606 +0100 @@ -1,2 +1,2 @@ -REV=4666a1c322d8 +REV=8337ebb86a42 REPO=http://hg.mozilla.org/releases/mozilla-release
