Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2018-02-07 18:39:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox" Wed Feb 7 18:39:24 2018 rev:265 rq:573290 version:58.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2018-01-16 09:36:32.534057916 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes 2018-02-07 18:39:29.289593369 +0100 @@ -1,0 +2,103 @@ +Tue Feb 6 07:03:42 UTC 2018 - [email protected] + +- Added patch: + * mozilla-alsa-sandbox.patch: Fix bmo#1430274, ALSA sound (still + or again?) not working in Firefox 58 due to sandboxing. + +------------------------------------------------------------------- +Mon Jan 29 22:32:21 UTC 2018 - [email protected] + +- update to Firefox 58.0.1 + MFSA 2018-05 + * Arbitrary code execution through unsanitized browser UI (bmo#1432966) +- use correct language packs +- readd mozilla-enable-csd.patch as it only lands for FF59 upstream +- allow larger number of nested elements (mozilla-bmo256180.patch) + +------------------------------------------------------------------- +Tue Jan 23 20:40:57 UTC 2018 - [email protected] + +- update to Firefox 58.0 (bsc#1077291) + * Added Nepali (ne-NP) locale + * Added support for form autofill for credit card + * Optimize page load by caching JavaScript internal representation + MFSA 2018-02 + * CVE-2018-5091 (bmo#1423086) + Use-after-free with DTMF timers + * CVE-2018-5092 (bmo#1418074) + Use-after-free in Web Workers + * CVE-2018-5093 (bmo#1415291) + Buffer overflow in WebAssembly during Memory/Table resizing + * CVE-2018-5094 (bmo#1415883) + Buffer overflow in WebAssembly with garbage collection on + uninitialized memory + * CVE-2018-5095 (bmo#1418447) + Integer overflow in Skia library during edge builder allocation + * CVE-2018-5097 (bmo#1387427) + Use-after-free when source document is manipulated during XSLT + * CVE-2018-5098 (bmo#1399400) + Use-after-free while manipulating form input elements + * CVE-2018-5099 (bmo#1416878) + Use-after-free with widget listener + * CVE-2018-5100 (bmo#1417405) + Use-after-free when IsPotentiallyScrollable arguments are freed + from memory + * CVE-2018-5101 (bmo#1417661) + Use-after-free with floating first-letter style elements + * CVE-2018-5102 (bmo#1419363) + Use-after-free in HTML media elements + * CVE-2018-5103 (bmo#1423159) + Use-after-free during mouse event handling + * CVE-2018-5104 (bmo#1425000) + Use-after-free during font face manipulation + * CVE-2018-5105 (bmo#1390882) + WebExtensions can save and execute files on local file system + without user prompts + * CVE-2018-5106 (bmo#1408708) + Developer Tools can expose style editor information cross-origin + through service worker + * CVE-2018-5107 (bmo#1379276) + Printing process will follow symlinks for local file access + * CVE-2018-5108 (bmo#1421099) + Manually entered blob URL can be accessed by subsequent private browsing tabs + * CVE-2018-5109 (bmo#1405599) + Audio capture prompts and starts with incorrect origin attribution + * CVE-2018-5110 (bmo#1423275) (affects only OS X) + Cursor can be made invisible on OS X + * CVE-2018-5111 (bmo#1321619) + URL spoofing in addressbar through drag and drop + * CVE-2018-5112 (bmo#1425224) + Extension development tools panel can open a non-relative URL in the panel + * CVE-2018-5113 (bmo#1425267) + WebExtensions can load non-HTTPS pages with browser.identity.launchWebAuthFlow + * CVE-2018-5114 (bmo#1421324) + The old value of a cookie changed to HttpOnly remains accessible to scripts + * CVE-2018-5115 (bmo#1409449) + Background network requests can open HTTP authentication in unrelated foreground tabs + * CVE-2018-5116 (bmo#1396399) + WebExtension ActiveTab permission allows cross-origin frame content access + * CVE-2018-5117 (bmo#1395508) + URL spoofing with right-to-left text aligned left-to-right + * CVE-2018-5118 (bmo#1420049) + Activity Stream images can attempt to load local content through file: + * CVE-2018-5119 (bmo#1420507) + Reader view will load cross-origin content in violation of CORS headers + * CVE-2018-5121 (bmo#1402368) (affects only OS X) + OS X Tibetan characters render incompletely in the addressbar + * CVE-2018-5122 (bmo#1413841) + Potential integer overflow in DoCrypt + * CVE-2018-5090 + Memory safety bugs fixed in Firefox 58 + * CVE-2018-5089 + Memory safety bugs fixed in Firefox 58 and Firefox ESR 52.6 +- requires NSS 3.34.1 +- requires rust 1.21 +- removed obsolete patches: + mozilla-bindgen-systemlibs.patch + mozilla-bmo1360278.patch + mozilla-bmo1399611-csd.patch + mozilla-rust-1.23.patch +- rebased patches +- updated man-page + +------------------------------------------------------------------- Old: ---- firefox-57.0.4-source.tar.xz l10n-57.0.4.tar.xz mozilla-bindgen-systemlibs.patch mozilla-bmo1360278.patch mozilla-bmo1399611-csd.patch mozilla-rust-1.23.patch New: ---- firefox-58.0.1-source.tar.xz l10n-58.0.1.tar.xz mozilla-alsa-sandbox.patch mozilla-bmo256180.patch mozilla-enable-csd.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:54.932392118 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:54.936391931 +0100 @@ -18,11 +18,11 @@ # changed with every update -%define major 57 -%define mainver %major.0.4 +%define major 58 +%define mainver %major.0.1 %define update_channel release %define branding 1 -%define releasedate 20180103231032 +%define releasedate 20180128191252 # PIE, full relro (x86_64 for now) %define build_hardened 1 @@ -73,10 +73,10 @@ BuildRequires: libproxy-devel BuildRequires: makeinfo BuildRequires: mozilla-nspr-devel >= 4.17 -BuildRequires: mozilla-nss-devel >= 3.33 +BuildRequires: mozilla-nss-devel >= 3.34.1 BuildRequires: python-devel BuildRequires: python2-xml -BuildRequires: rust >= 1.19 +BuildRequires: rust >= 1.21 BuildRequires: rust-std BuildRequires: startup-notification-devel BuildRequires: unzip @@ -153,10 +153,9 @@ Patch5: mozilla-no-stdcxx-check.patch Patch6: mozilla-reduce-files-per-UnifiedBindings.patch Patch7: mozilla-aarch64-startup-crash.patch -Patch8: mozilla-bindgen-systemlibs.patch -Patch9: mozilla-bmo1360278.patch -Patch10: mozilla-bmo1399611-csd.patch -Patch11: mozilla-rust-1.23.patch +Patch8: mozilla-enable-csd.patch +Patch9: mozilla-bmo256180.patch +Patch10: mozilla-alsa-sandbox.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-no-default-ualocale.patch @@ -211,7 +210,7 @@ %package translations-other Summary: Extra translations for %{appname} Group: System/Localization -Provides: locale(%{name}:ach;af;an;as;ast;az;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;ka;kab;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh) +Provides: locale(%{name}:ach;af;an;as;ast;az;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;ka;kab;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;ne-NP;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh) Requires: %{name} = %{version} Obsoletes: %{name}-translations < %{version}-%{release} @@ -270,7 +269,6 @@ %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 # Firefox %patch101 -p1 %patch102 -p1 @@ -381,7 +379,7 @@ ac_add_options --disable-webrtc %endif EOF -make -f client.mk build +./mach build %install cd $RPM_BUILD_DIR/obj ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.044386872 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.044386872 +0100 @@ -2,10 +2,10 @@ <constraints> <hardware> <disk> - <size unit="G">13</size> + <size unit="G">16</size> </disk> <memory> - <size unit="M">6000</size> + <size unit="M">9000</size> </memory> </hardware> <overwrite> ++++++ compare-locales.tar.xz ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.124383124 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.124383124 +0100 @@ -7,8 +7,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="afa87f9be3a8852da3a30f286b15ae599c7874f6" -VERSION="57.0.4" +RELEASE_TAG="FIREFOX_58_0_1_RELEASE" +VERSION="58.0.1" # mozilla if [ -d mozilla ]; then @@ -54,7 +54,7 @@ # l10n echo "fetching locales..." test ! -d l10n && mkdir l10n -for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do +for locale in $(awk '{ print $1; }' l10n_changesets.txt); do case $locale in ja-JP-mac|en-US) ;; @@ -62,7 +62,7 @@ echo "reading changeset information for $locale" _changeset=$(grep ^$locale l10n_changesets.txt | awk '{ print $2; }') echo "fetching $locale changeset $_changeset ..." - hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale + hg clone http://hg.mozilla.org/l10n-central/$locale l10n/$locale [ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $_changeset ;; esac ++++++ firefox-57.0.4-source.tar.xz -> firefox-58.0.1-source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-57.0.4-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/firefox-58.0.1-source.tar.xz differ: char 26, line 1 ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.180380501 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.180380501 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 9f19902f8bcde21fa63172a85818fb11714878d8 +# Parent 89cbe8c49d05965b87815143d1944ab6964f12c7 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,1252 @@ +@@ -0,0 +1,1248 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -104,12 +104,6 @@ + accesskey="&moveToNewWindow.accesskey;" + tbattr="tabbrowser-multiple" + oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/> -+#ifdef E10S_TESTING_ONLY -+ <menuitem id="context_openNonRemoteWindow" label="Open in new non-e10s window" -+ tbattr="tabbrowser-remote" -+ hidden="true" -+ oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/> -+#endif + <menuseparator id="context_sendTabToDevice_separator"/> + <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;" + accesskey="&sendTabToDevice.accesskey;"> @@ -435,8 +429,7 @@ + mainViewId="pageActionPanelMainView" + viewCacheId="appMenu-viewCache"> + <panelview id="pageActionPanelMainView" -+ context="pageActionPanelContextMenu" -+ oncontextmenu="BrowserPageActions.onContextMenu(event);" ++ context="pageActionContextMenu" + class="PanelUI-subView"> + <vbox class="panel-subview-body"/> + </panelview> @@ -458,13 +451,24 @@ + <label id="pageActionFeedbackMessage"/> + </panel> + -+ <menupopup id="pageActionPanelContextMenu" ++ <menupopup id="pageActionContextMenu" + onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);"> -+ <menuitem id="pageActionPanelContextMenu-toggleUrlbar" -+ add-label="&pageAction.addToUrlbar.label;" -+ remove-label="&pageAction.removeFromUrlbar.label;" ++ <menuitem class="pageActionContextMenuItem builtInUnpinned" + label="&pageAction.addToUrlbar.label;" -+ oncommand="BrowserPageActions.toggleShownInUrlbarForContextAction();"/> ++ oncommand="BrowserPageActions.togglePinningForContextAction();"/> ++ <menuitem class="pageActionContextMenuItem builtInPinned" ++ label="&pageAction.removeFromUrlbar.label;" ++ oncommand="BrowserPageActions.togglePinningForContextAction();"/> ++ <menuitem class="pageActionContextMenuItem extensionUnpinned" ++ label="&pageAction.allowInUrlbar.label;" ++ oncommand="BrowserPageActions.togglePinningForContextAction();"/> ++ <menuitem class="pageActionContextMenuItem extensionPinned" ++ label="&pageAction.disallowInUrlbar.label;" ++ oncommand="BrowserPageActions.togglePinningForContextAction();"/> ++ <menuseparator class="pageActionContextMenuItem extensionPinned extensionUnpinned"/> ++ <menuitem class="pageActionContextMenuItem extensionPinned extensionUnpinned" ++ label="&pageAction.manageExtension.label;" ++ oncommand="BrowserPageActions.openAboutAddonsForContextAction();"/> + </menupopup> + + <!-- Bookmarks and history tooltip --> @@ -642,7 +646,6 @@ +#endif + + <tabs id="tabbrowser-tabs" -+ class="tabbrowser-tabs" + tabbrowser="content" + flex="1" + setfocus="false" @@ -787,7 +790,6 @@ + tabscrolling="true" + showcommentcolumn="true" + showimagecolumn="true" -+ enablehistory="true" + newlines="stripsurroundingwhitespace" + ontextentered="this.handleCommand(param);" + ontextreverted="return this.handleRevert();" @@ -812,14 +814,14 @@ + tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/> + <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button" + tooltiptext="&urlbar.cameraBlocked.tooltip;"/> -+ <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button" -+ tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/> + <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button" + tooltiptext="&urlbar.microphoneBlocked.tooltip;"/> + <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button" + tooltiptext="&urlbar.screenBlocked.tooltip;"/> + <image data-permission-id="persistent-storage" class="blocked-permission-icon persistent-storage-icon" role="button" + tooltiptext="&urlbar.persistentStorageBlocked.tooltip;"/> ++ <image data-permission-id="popup" class="blocked-permission-icon popup-icon" role="button" ++ tooltiptext="&urlbar.popupBlocked.tooltip;"/> + </box> + <box id="notification-popup-box" + hidden="true" @@ -832,6 +834,8 @@ + tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/> + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" + tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/> ++ <image id="canvas-notification-icon" class="notification-anchor-icon" role="button" ++ tooltiptext="&urlbar.canvasNotificationAnchor.tooltip;"/> + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" + tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/> + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button" @@ -873,17 +877,11 @@ + <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/> + <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/> + </box> -+ <hbox id="page-action-buttons"> ++ <hbox id="page-action-buttons" context="pageActionContextMenu"> + <hbox id="userContext-icons" hidden="true"> + <label id="userContext-label"/> + <image id="userContext-indicator"/> + </hbox> -+ <image id="page-report-button" -+ class="urlbar-icon urlbar-page-action" -+ role="button" -+ hidden="true" -+ tooltiptext="&pageReportIcon.tooltip;" -+ onmousedown="gPopupBlockerObserver.onReportButtonMousedown(event);"/> + <image id="reader-mode-button" + class="urlbar-icon urlbar-page-action" + role="button" @@ -902,8 +900,6 @@ + <hbox id="star-button-box" + hidden="true" + class="urlbar-icon-wrapper urlbar-page-action" -+ context="pageActionPanelContextMenu" -+ oncontextmenu="BrowserPageActions.onContextMenu(event);" + onclick="BrowserPageActions.doCommandForAction(PageActions.actionForID('bookmark'), event, this);"> + <image id="star-button" + class="urlbar-icon" @@ -1261,7 +1257,7 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn --- a/browser/base/jar.mn +++ b/browser/base/jar.mn -@@ -58,16 +58,18 @@ browser.jar: +@@ -52,16 +52,18 @@ browser.jar: content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png) content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png) content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css) @@ -1343,7 +1339,7 @@ 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 -@@ -203,16 +203,23 @@ var gMainPane = { +@@ -193,16 +193,23 @@ var gMainPane = { this._backoffIndex++ : backoffTimes.length - 1]); }; @@ -1367,7 +1363,7 @@ performanceSettingsLink.setAttribute("href", performanceSettingsUrl); this.updateDefaultPerformanceSettingsPref(); -@@ -952,16 +959,27 @@ var gMainPane = { +@@ -898,16 +905,27 @@ var gMainPane = { // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. this._backoffIndex = 0; @@ -1472,7 +1468,7 @@ + return NS_ERROR_FAILURE; + + str->SetData( NS_LITERAL_CSTRING( "ISDEFAULTBROWSER" )); -+ command->AppendElement( str, false ); ++ command->AppendElement( str ); + + if( nsKDEUtils::command( command )) + *aIsDefaultBrowser = true; @@ -1493,10 +1489,10 @@ + return NS_ERROR_FAILURE; + + cmdstr->SetData( NS_LITERAL_CSTRING( "SETDEFAULTBROWSER" )); -+ command->AppendElement( cmdstr, false ); ++ command->AppendElement( cmdstr ); + + paramstr->SetData( aClaimAllTypes ? NS_LITERAL_CSTRING( "ALLTYPES" ) : NS_LITERAL_CSTRING( "NORMAL" )); -+ command->AppendElement( paramstr, false ); ++ command->AppendElement( paramstr ); + + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; +} @@ -1546,7 +1542,7 @@ + else + return NS_ERROR_NOT_IMPLEMENTED; + -+ command->AppendElement( str, false ); ++ command->AppendElement( str ); + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; +} + @@ -1564,14 +1560,14 @@ + return NS_ERROR_FAILURE; + + cmdstr->SetData( NS_LITERAL_CSTRING( "RUN" )); -+ command->AppendElement( cmdstr, false ); ++ command->AppendElement( cmdstr ); + nsAutoCString app; + nsresult rv = aApplication->GetNativePath( app ); + NS_ENSURE_SUCCESS( rv, rv ); + appstr->SetData( app ); -+ command->AppendElement( appstr, false ); ++ command->AppendElement( appstr ); + uristr->SetData( aURI ); -+ command->AppendElement( uristr, false ); ++ command->AppendElement( uristr ); + return nsKDEUtils::command( command ) ? NS_OK : NS_ERROR_FAILURE; +} + @@ -1589,7 +1585,7 @@ + return NS_ERROR_FAILURE; + + str->SetData( NS_LITERAL_CSTRING( "GETDEFAULTFEEDREADER" )); -+ command->AppendElement( str, false ); ++ command->AppendElement( str ); + + nsCOMPtr<nsIArray> output; + if( !nsKDEUtils::command( command, getter_AddRefs( output ) ) ) @@ -1711,7 +1707,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 -@@ -666,16 +666,18 @@ +@@ -657,16 +657,18 @@ @RESPATH@/browser/defaults/blocklists @RESPATH@/browser/defaults/pinning ++++++ firefox.1 ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.220378628 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.224378440 +0100 @@ -1,9 +1,12 @@ -.TH FIREFOX 1 "January 04, 2006" firefox "Linux User's Manual" +.TH FIREFOX 1 "November 30, 2017" firefox "Linux User's Manual" .SH NAME firefox \- a Web browser for X11 derived from the Mozilla browser .SH SYNOPSIS .B firefox +[\fIOPTIONS\fR ...] [\fIURL\fR] + +.B firefox-bin [\fIOPTIONS\fR] [\fIURL\fR] .SH DESCRIPTION @@ -12,27 +15,11 @@ .SH USAGE \fBfirefox\fR is a simple shell script that will set up the -environment for the actual executable. +environment for the actual executable, \fBfirefox-bin\fR. .SH OPTIONS A summary of the options supported by \fBfirefox\fR is included below. -.SS "GTK options" -\fB\-\-gdk-debug=\fR\fIFLAGS\fR -Gdk debugging flags to set -.TP -\fB\-\-gdk-no-debug=\fR\fIFLAGS\fR -Gdk debugging flags to unset -.TP -\fB\-\-gtk-debug=\fR\fIFLAGS\fR -Gtk+ debugging flags to set -.TP -\fB\-\-gtk-no-debug=\fR\fIFLAGS\fR -Gtk+ debugging flags to unset -.TP -\fB\-\-gtk-module=\fR\fIMODULE\fR -Load an additional Gtk module - .SS "X11 options" .TP .BI \-\-display= DISPLAY @@ -41,13 +28,6 @@ .B \--sync Make X calls synchronous .TP -.B \-\-no-xshm -Don't use X shared memory extension -.TP -.BI \-\-xim-preedit= STYLE -.TP -.BI \-\-xim-status= STYLE -.TP .B \-\-g-fatal-warnings Make all warnings fatal @@ -56,73 +36,106 @@ .B \-h, \-help Show summary of options. .TP -\fB\-height\fR \fIvalue\fR -Set height of startup window to \fIvalue\fR. -.TP -\fB\-width\fR \fIvalue\fR -Set width of startup window to \fIvalue\fR. -.TP .B \-v, \-version -Print \fB/usr/bin/firefox-bin\fR version. -.TP -\fB\-CreateProfile\fR \fIprofile\fR -Create \fIprofile\fR. +Print Firefox version. .TP \fB\-P\fR \fIprofile\fR Start with \fIprofile\fR. .TP -.B \-ProfileManager -Start with profile manager. +\fB\-\-profile\fR \fIpath\fR +Start with profile at \fIpath\fR. .TP -\fB\-UILocale\fR \fIlang-region\fR -Start with \fIlang-region\fR resources. +\fB\-\-migration\fR +Start with migration wizard. .TP -\fB\-contentLocale\fR \fIlang-region\fR -Start with \fIlang-region\fR resources. +.B \-\-ProfileManager +Start with ProfileManager. .TP -\fB\-remote\fR \fIcommand\fR -Execute \fIcommand\fR in an already running Firefox process. For more info, -see: \fIhttp://www.mozilla.org/unix/remote.html\fR +\fB\-\-no\-remote\fR +Do not accept or send remote commands; implies \fB--new-instance\fR. .TP -.B \-no-remote -Don't try to control an already running instance. +\fB\-\-new\-instance\fR +Open new instance, not a new window in running instance. .TP -.B \-jsconsole -Start with Javascript Console +\fB\-\-UILocale\fR \fIlocale\fR +Start with \fIlocale\fR resources as UI Locale. .TP -\fB\-chrome\fR \fIurl\fR -Load the specified chrome. +\fB\-\-save\-mode\fR +Disables extensions and themes for this session. .TP -\fB\-new-window\fR \fIurl\fR -Open URL in a new window if Firefox is already running. +\fB\-\-headless\fR +Run without a GUI. .TP -\fB\-new-tab\fR \fIurl\fR -Open URL in a new tab if Firefox is already running. +\fB\-\-marionette\fR +Enable remote control server. .TP -\fB\-preferences\fR -Open Firefox preferences menu. +\fB\-\-browser\fR +Open a browser window. .TP -.B \-safe-mode -Disables extensions and themes for this session. +\fB\-\-new-window\fR \fIurl\fR +Open \fIurl\fR in a new window. +.TP +\fB\-\-new-tab\fR \fIurl\fR +Open \fIurl\fR in a new tab. +.TP +\fB\-\-private-window\fR \fIurl\fR +Open \fIurl\fR in a new private window. +.TP +\fB\-\-preferences\fR +Open Preferences dialog. +.TP +\fB\-\-screenshot\fR [\fIpath\fR] +Save screenshot to \fIpath\fR or in working directory. +.TP +\fB\-\-window-size\fR \fIwidth\fR[,\fIheight\fR] +Width and optionally height of screenshot. +.TP +\fB\-\-search\fR \fIterm\fR +Search \fIterm\fR with your default search engine. .TP + +\fB\-\-jsconsole\fR +Open the Browser Console. +.TP +\fB\-\-jsdebugger\fR +Open the Browser Toolbox. +.TP +\fB\-\-wait-for-jsdebugger\fR +Spin event loop until JS debugger connects. Enables debugging (some) application startup code paths. Only has an effect when \fI--jsdebugger\fR is also supplied. +.TP +\fB\-\-devtools\fR +Open DevTools on initial load. +.TP +\fB\-\-start-debugger-server\fR [ws:][\fIport\fR|\fIpath\fR] +Start the debugger server on a TCP port or Unix domain socket path. Defaults to TCP port 6000. Use WebSocket protocol if ws: prefix is specified. +.TP +\fB\-\-recording\fR \fIfile\fR +Record drawing for a given URL. +.TP +\fB\-\-recording-output\fR \fIfile\fR +Specify destination file for a drawing recording. +.TP +\fB\-\-setDefaultBrowser\fR +Set this app as the default browser. + .SH FILES \fI/usr/bin/firefox\fR - shell script wrapping \fBfirefox\fR .br -\fI/usr/lib/firefox/firefox\fR - \fBfirefox\fR +\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR executable .SH VERSION -3.0 +57.0 .SH BUGS To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR -.SH "SEE ALSO" -.BR mozilla(1) - .SH AUTHORS .TP .B The Mozilla Organization .I http://www.mozilla.org/about.html +.TP +.B Tobias Girstmair +.I https://gir.st/ ++++++ l10n-57.0.4.tar.xz -> l10n-58.0.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-57.0.4.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/l10n-58.0.1.tar.xz differ: char 8, line 1 ++++++ l10n_changesets.txt ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.300374880 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.300374880 +0100 @@ -1,96 +1,97 @@ -ach 845e30d48dfc -af fb2bb189a1a8 -an a6cb9e55ca54 -ar b064d5ee568d -as c8c7ce08a50d -ast 7eb260478bd8 -az e53e6a85563a -be 3ee97e7a07c4 -bg f5cbdea3b4bb -bn-BD bd83d95fe12f -bn-IN 101048b9a8bd -br 1b53314687e2 -bs b3e804dbc8e2 -ca ef0d1d4ef0de -cak a3648bb10a20 -cs 528911ffcb44 -cy 21e09e135ce7 -da 9c08e8177409 -de 3d02afaa90f1 -dsb 4f2a125adbc5 -el a925e0e24aaf -en-GB 440d6fbf0938 -en-ZA 4bd5e2534230 -eo 42248b1fda32 -es-AR 39d7f70fbd4a -es-CL e0806844a966 -es-ES 385b05704e12 -es-MX 4322b61a47fd -et fc5042e8d705 -eu 1010ee63a76a -fa 988038c98e07 -ff 0ae0e4ad0400 -fi 83ae1ba711f8 -fr 0acb9b019381 -fy-NL f66ad8f570c9 -ga-IE b6bd9e6bf934 -gd 2b1b66f8236b -gl bd2efa51e288 -gn ef1c4c22501c -gu-IN 9b4d89d58ee1 -he 923c4ce99db2 -hi-IN 62f4cab806a5 -hr 26c2911d2b28 -hsb 9a556a68f383 -hu 43fb04933e45 -hy-AM 6020222039ca -id bc055f358395 -is b265b8439970 -it 72e0f73d8188 -ja 9e9796b48f28 -ja-JP-mac 2cbb5add9822 -ka 43d1466fc89b -kab 8e739627fb01 -kk 51aee666e469 -km 79239374c86f -kn a6dd05b338cf -ko 0fccbb892229 -lij d1d09ea09eff -lt 5f5779c69338 -lv f0fd0c3546e0 -mai 64d402c5dbc1 -mk b3fb89cac86c -ml 9d626ede460e -mr 1a23c6401834 -ms 15a3d7fccea1 -my 2e2cc78ff945 -nb-NO 467ca2ff0cd1 -nl 10957cbee7f0 -nn-NO 71fce03b2c6b -or 8c482206a700 -pa-IN a2af69c875ad -pl ce3a564b00c2 -pt-BR 71346ac29bfc -pt-PT 387686b89f52 -rm de3c6abf95ab -ro 6e3dfa0ea030 -ru 760cda086381 -si 355b25c93905 -sk 5444e00cc3e6 -sl cb6eb7e6ba4a -son e9a07815a9aa -sq c61933c72577 -sr 74f5c2f98346 -sv-SE f75dd8e9c4df -ta ad1bce7770b4 -te dde86e2a2c17 -th 1950402ffa30 -tr e8700165617b -uk e7b649fcf3bb -ur 9881f47a738d -uz 9ac534694f99 -vi 601e9a63473e -xh 4d22de472867 -zh-CN 8aff87add86f -zh-TW 2ac3b80bdb6e +ach 51053376f3b4 +af 9699e648d04f +an 35bf2af54c6e +ar 11e28461eedd +as f48681f3cb1c +ast a0365b2d2204 +az c9f8178b760e +be 6a81fe13730e +bg f5f7827ddaf6 +bn-BD 40173c2773dc +bn-IN 8a4d7efa4656 +br 87dd84f3fb15 +bs f9194e1b9d1f +ca 2393377daf04 +cak 358337cd8e62 +cs b2f2d66e474f +cy cd528119b1f0 +da 3d4f38f6c602 +de c4580757245b +dsb 6cae073a841f +el 7c198d3d5d8c +en-GB 108b5a928fb5 +en-ZA 5b50bebf4e4f +eo eb148ada0d56 +es-AR 08d927e7ad92 +es-CL 02584a2d25b7 +es-ES 1c9d3c3c689d +es-MX 6435282dbc75 +et e29f6a05d5a8 +eu 756e60b234ec +fa 8aee74bd73fe +ff b529c4fc084b +fi 124ad6d2caeb +fr 87ec33d89386 +fy-NL 3705ebdd28f5 +ga-IE 2453123d83ab +gd da7de9b6e635 +gl 99003c9cd063 +gn 54547111d875 +gu-IN 88180147b7f5 +he 9837e2cc4a95 +hi-IN e1dddb32c7d0 +hr 1699e5d11dfc +hsb b779311b0bd0 +hu 5f446a971f03 +hy-AM 024da8b34b46 +id 0f0141ed9bb6 +is 4b3c58c9d645 +it 6e2c7978b0e7 +ja f30c0c2f2bc4 +ja-JP-mac 4230da7b0695 +ka 6650158784f6 +kab 6b3c6e707013 +kk 1e85339bcb5c +km d934d1e2fbba +kn 9d356f38d208 +ko 6370c2a0f030 +lij 0ab26fda46bc +lt 450e1219d46f +lv 78a846f93b16 +mai 53cf7cd14176 +mk 3d22bc5b8e99 +ml 128c7b806403 +mr 074d705e44b7 +ms 7fa602755a3b +my eee9ab816d7c +nb-NO 963968719128 +ne-NP c318f683bdb7 +nl fca30e75c8a2 +nn-NO 484b14dee153 +or 9420e75f84ba +pa-IN 5634ac6e7d9b +pl 45fa8ed87819 +pt-BR 38d2f920e7b1 +pt-PT 60446c901737 +rm cf0859e63177 +ro 7fea5671214f +ru 67b070efcbd9 +si 5b5533ef2e97 +sk 4c17a502b748 +sl 8c446da2c7c5 +son 914d74ec145e +sq 704b52416e5e +sr cbf4a5eafb4d +sv-SE 2e8d40795c69 +ta 26d7cbe37e4a +te 9338813fedc1 +th aa91b43781fe +tr a392fcf83ab9 +uk 214311bf7877 +ur 60247a51a921 +uz 51175e255277 +vi 2731355cccc7 +xh a756d272d1fe +zh-CN 9ab59b4c446a +zh-TW a56ff00fa7b0 ++++++ mozilla-alsa-sandbox.patch ++++++ --- mozilla/security/sandbox/linux/moz.build 2018-02-06 07:58:27.127145777 +0100 +++ mozilla/security/sandbox/linux/moz.build 2018-02-06 08:01:22.213706297 +0100 @@ -77,6 +77,9 @@ 'SandboxOpenedFiles.cpp', ] +if CONFIG['MOZ_ALSA']: + DEFINES['MOZ_ALSA'] = True + # This copy of SafeSPrintf doesn't need to avoid the Chromium logging # dependency like the one in libxul does, but this way the behavior is # consistent. See also the comment in SandboxLogging.h. ++++++ mozilla-bmo1360278.patch -> mozilla-bmo256180.patch ++++++ --- /work/SRC/openSUSE:Factory/MozillaFirefox/mozilla-bmo1360278.patch 2017-11-30 12:43:48.881357977 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/mozilla-bmo256180.patch 2018-02-07 18:39:45.124851557 +0100 @@ -1,260 +1,11 @@ - -# HG changeset patch -# User Robin Grenet <[email protected]> -# Date 1510835758 -3600 -# Node ID f540f9e801cb2e0be5259baea13dfce953ccb520 -# Parent 0abbf75bd0ecfa99ab4386f551a622983f5f27ea -Bug 1360278 - Add preference to trigger context menu on mouse up for GTK+ and macOS, r=mstange,smaug - -MozReview-Commit-ID: Bg60bD8jIg6 - -diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js ---- a/modules/libpref/init/all.js -+++ b/modules/libpref/init/all.js -@@ -229,16 +229,20 @@ pref("dom.script_loader.bytecode_cache.e - pref("dom.script_loader.bytecode_cache.strategy", 0); - - // Fastback caching - if this pref is negative, then we calculate the number - // of content viewers to cache based on the amount of available memory. - pref("browser.sessionhistory.max_total_viewers", -1); - - pref("ui.use_native_colors", true); - pref("ui.click_hold_context_menus", false); -+ -+// Pop up context menu on mouseup instead of mousedown, if that's the OS default. -+// Note: ignored on Windows (context menus always use mouseup) -+pref("ui.context_menus.after_mouseup", false); - // Duration of timeout of incremental search in menus (ms). 0 means infinite. - pref("ui.menu.incremental_search.timeout", 1000); - // If true, all popups won't hide automatically on blur - pref("ui.popup.disable_autohide", false); - - pref("browser.display.use_document_fonts", 1); // 0 = never, 1 = quick, 2 = always - // 0 = default: always, except in high contrast mode - // 1 = always -diff --git a/widget/cocoa/nsChildView.mm b/widget/cocoa/nsChildView.mm ---- a/widget/cocoa/nsChildView.mm -+++ b/widget/cocoa/nsChildView.mm -@@ -4695,18 +4695,20 @@ NSEvent* gLastDragMouseDownEvent = nil; - [self convertCocoaMouseEvent:theEvent toGeckoEvent:&geckoEvent]; - geckoEvent.button = WidgetMouseEvent::eRightButton; - geckoEvent.mClickCount = [theEvent clickCount]; - - mGeckoChild->DispatchInputEvent(&geckoEvent); - if (!mGeckoChild) - return; - -- // Let the superclass do the context menu stuff. -- [super rightMouseDown:theEvent]; -+ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ // Let the superclass do the context menu stuff. -+ [super rightMouseDown:theEvent]; -+ } - - NS_OBJC_END_TRY_ABORT_BLOCK; - } - - - (void)rightMouseUp:(NSEvent *)theEvent - { - NS_OBJC_BEGIN_TRY_ABORT_BLOCK; - -@@ -4719,16 +4721,33 @@ NSEvent* gLastDragMouseDownEvent = nil; - WidgetMouseEvent geckoEvent(true, eMouseUp, mGeckoChild, - WidgetMouseEvent::eReal); - [self convertCocoaMouseEvent:theEvent toGeckoEvent:&geckoEvent]; - geckoEvent.button = WidgetMouseEvent::eRightButton; - geckoEvent.mClickCount = [theEvent clickCount]; - - nsAutoRetainCocoaObject kungFuDeathGrip(self); - mGeckoChild->DispatchInputEvent(&geckoEvent); -+ if (!mGeckoChild) -+ return; -+ -+ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ // Let the superclass do the context menu stuff, but pretend it's rightMouseDown. -+ NSEvent *dupeEvent = [NSEvent mouseEventWithType:NSRightMouseDown -+ location:theEvent.locationInWindow -+ modifierFlags:theEvent.modifierFlags -+ timestamp:theEvent.timestamp -+ windowNumber:theEvent.windowNumber -+ context:theEvent.context -+ eventNumber:theEvent.eventNumber -+ clickCount:theEvent.clickCount -+ pressure:theEvent.pressure]; -+ -+ [super rightMouseDown:dupeEvent]; -+ } - - NS_OBJC_END_TRY_ABORT_BLOCK; - } - - - (void)rightMouseDragged:(NSEvent*)theEvent - { - if (!mGeckoChild) - return; -diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp ---- a/widget/gtk/nsWindow.cpp -+++ b/widget/gtk/nsWindow.cpp -@@ -2733,16 +2733,29 @@ nsWindow::InitButtonEvent(WidgetMouseEve - } - - static guint ButtonMaskFromGDKButton(guint button) - { - return GDK_BUTTON1_MASK << (button - 1); - } - - void -+nsWindow::DispatchContextMenuEventFromMouseEvent(uint16_t domButton, -+ GdkEventButton *aEvent) -+{ -+ if (domButton == WidgetMouseEvent::eRightButton && MOZ_LIKELY(!mIsDestroyed)) { -+ WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, -+ WidgetMouseEvent::eReal); -+ InitButtonEvent(contextMenuEvent, aEvent); -+ contextMenuEvent.pressure = mLastMotionPressure; -+ DispatchInputEvent(&contextMenuEvent); -+ } -+} -+ -+void - nsWindow::OnButtonPressEvent(GdkEventButton *aEvent) - { - LOG(("Button %u press on %p\n", aEvent->button, (void *)this)); - - // If you double click in GDK, it will actually generate a second - // GDK_BUTTON_PRESS before sending the GDK_2BUTTON_PRESS, and this is - // different than the DOM spec. GDK puts this in the queue - // programatically, so it's safe to assume that if there's a -@@ -2801,23 +2814,18 @@ nsWindow::OnButtonPressEvent(GdkEventBut - WidgetMouseEvent event(true, eMouseDown, this, WidgetMouseEvent::eReal); - event.button = domButton; - InitButtonEvent(event, aEvent); - event.pressure = mLastMotionPressure; - - DispatchInputEvent(&event); - - // right menu click on linux should also pop up a context menu -- if (domButton == WidgetMouseEvent::eRightButton && -- MOZ_LIKELY(!mIsDestroyed)) { -- WidgetMouseEvent contextMenuEvent(true, eContextMenu, this, -- WidgetMouseEvent::eReal); -- InitButtonEvent(contextMenuEvent, aEvent); -- contextMenuEvent.pressure = mLastMotionPressure; -- DispatchInputEvent(&contextMenuEvent); -+ if (!nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); - } - } - - void - nsWindow::OnButtonReleaseEvent(GdkEventButton *aEvent) - { - LOG(("Button %u release on %p\n", aEvent->button, (void *)this)); - -@@ -2843,16 +2851,21 @@ nsWindow::OnButtonReleaseEvent(GdkEventB - event.button = domButton; - InitButtonEvent(event, aEvent); - gdouble pressure = 0; - gdk_event_get_axis ((GdkEvent*)aEvent, GDK_AXIS_PRESSURE, &pressure); - event.pressure = pressure ? pressure : mLastMotionPressure; - - DispatchInputEvent(&event); - mLastMotionPressure = pressure; -+ -+ // right menu click on linux should also pop up a context menu -+ if (nsBaseWidget::ShowContextMenuAfterMouseUp()) { -+ DispatchContextMenuEventFromMouseEvent(domButton, aEvent); -+ } - } - - void - nsWindow::OnContainerFocusInEvent(GdkEventFocus *aEvent) - { - LOGFOCUS(("OnContainerFocusInEvent [%p]\n", (void *)this)); - - // Unset the urgency hint, if possible -diff --git a/widget/gtk/nsWindow.h b/widget/gtk/nsWindow.h ---- a/widget/gtk/nsWindow.h -+++ b/widget/gtk/nsWindow.h -@@ -240,16 +240,18 @@ private: - LayoutDeviceIntSize GetSafeWindowSize(LayoutDeviceIntSize aSize); - - void EnsureGrabs (void); - void GrabPointer (guint32 aTime); - void ReleaseGrabs (void); - - void UpdateClientOffset(); - -+ void DispatchContextMenuEventFromMouseEvent(uint16_t domButton, -+ GdkEventButton *aEvent); - public: - void ThemeChanged(void); - void OnDPIChanged(void); - void OnCheckResize(void); - void OnCompositedChanged(void); - - #ifdef MOZ_X11 - Window mOldFocusWindow; -diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp ---- a/widget/nsBaseWidget.cpp -+++ b/widget/nsBaseWidget.cpp -@@ -1213,16 +1213,32 @@ nsBaseWidget::DispatchEventToAPZOnly(moz - if (mAPZC) { - MOZ_ASSERT(APZThreadUtils::IsControllerThread()); - uint64_t inputBlockId = 0; - ScrollableLayerGuid guid; - mAPZC->ReceiveInputEvent(*aEvent, &guid, &inputBlockId); - } - } - -+// static -+bool -+nsBaseWidget::ShowContextMenuAfterMouseUp() -+{ -+ static bool gContextMenuAfterMouseUp = false; -+ static bool gContextMenuAfterMouseUpCached = false; -+ if (!gContextMenuAfterMouseUpCached) { -+ Preferences::AddBoolVarCache(&gContextMenuAfterMouseUp, -+ "ui.context_menus.after_mouseup", -+ false); -+ -+ gContextMenuAfterMouseUpCached = true; -+ } -+ return gContextMenuAfterMouseUp; -+} -+ - nsIDocument* - nsBaseWidget::GetDocument() const - { - if (mWidgetListener) { - if (nsIPresShell* presShell = mWidgetListener->GetPresShell()) { - return presShell->GetDocument(); - } - } -diff --git a/widget/nsBaseWidget.h b/widget/nsBaseWidget.h ---- a/widget/nsBaseWidget.h -+++ b/widget/nsBaseWidget.h -@@ -412,16 +412,22 @@ public: - void NotifyLiveResizeStopped(); - - #if defined(MOZ_WIDGET_ANDROID) - void RecvToolbarAnimatorMessageFromCompositor(int32_t) override {}; - void UpdateRootFrameMetrics(const ScreenPoint& aScrollOffset, const CSSToScreenScale& aZoom) override {}; - void RecvScreenPixels(mozilla::ipc::Shmem&& aMem, const ScreenIntSize& aSize) override {}; +--- a/layout/generic/nsIFrame.h.old 2016-07-11 13:41:39.688276559 +0200 ++++ b/layout/generic/nsIFrame.h 2016-07-11 13:42:12.791406976 +0200 +@@ -13,7 +13,7 @@ + #error This header/class should only be used within Mozilla code. It should not be used by extensions. #endif -+ /** -+ * Whether context menus should only appear on mouseup instead of mousedown, -+ * on OSes where they normally appear on mousedown (macOS, *nix). -+ */ -+ static bool ShowContextMenuAfterMouseUp(); -+ - protected: - // These are methods for CompositorWidgetWrapper, and should only be - // accessed from that class. Derived widgets can choose which methods to - // implement, or none if supporting out-of-process compositing. - virtual bool PreRender(mozilla::widget::WidgetRenderingContext* aContext) { - return true; - } - virtual void PostRender(mozilla::widget::WidgetRenderingContext* aContext) - +-#define MAX_REFLOW_DEPTH 200 ++#define MAX_REFLOW_DEPTH 1000 + + /* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually + going to be eliminated, and all callers will use nsFrame instead. At the moment ++++++ mozilla-enable-csd.patch ++++++ ++++ 1312 lines (skipped) ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.364371882 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.368371695 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 2504512f9a9ba7b52dd99745d15f049f2a03f4f4 +# Parent 5be2231eadfb6de978e93c0ba95469e8a4d54cb0 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer <[email protected]> Author: Lubos Lunak <[email protected]> @@ -9,32 +9,32 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp -@@ -37,16 +37,17 @@ - #include "nsIZipReader.h" - #include "nsPrefBranch.h" - #include "nsString.h" - #include "nsCRT.h" - #include "nsCOMArray.h" +@@ -75,16 +75,17 @@ #include "nsXPCOMCID.h" - #include "nsAutoPtr.h" - #include "nsPrintfCString.h" -+#include "nsKDEUtils.h" - - #include "nsQuickSort.h" + #include "nsXPCOM.h" + #include "nsXULAppAPI.h" + #include "nsZipArchive.h" + #include "plbase64.h" #include "PLDHashTable.h" + #include "plstr.h" + #include "prlink.h" ++#include "nsKDEUtils.h" - #include "prefapi.h" - #include "prefread.h" - #include "prefapi_private_data.h" - -@@ -1413,16 +1414,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char + #ifdef MOZ_CRASHREPORTER + #include "nsICrashReporter.h" + #endif - static nsresult pref_LoadPrefsInDirList(const char *listId) + #ifdef XP_WIN + #include "windows.h" + #endif +@@ -4324,16 +4325,34 @@ pref_LoadPrefsInDirList(const char* aLis { nsresult rv; - nsCOMPtr<nsIProperties> dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv)); - if (NS_FAILED(rv)) + nsCOMPtr<nsIProperties> dirSvc( + do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv)); + if (NS_FAILED(rv)) { return rv; + } + // make sure we load these special files after all the others + static const char* specialFiles[] = { @@ -55,34 +55,34 @@ + } + nsCOMPtr<nsISimpleEnumerator> list; - dirSvc->Get(listId, - NS_GET_IID(nsISimpleEnumerator), - getter_AddRefs(list)); - if (!list) + dirSvc->Get(aListId, NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(list)); + if (!list) { return NS_OK; + } bool hasMore; -@@ -1438,17 +1457,17 @@ static nsresult pref_LoadPrefsInDirList( + while (NS_SUCCEEDED(list->HasMoreElements(&hasMore)) && hasMore) { +@@ -4344,17 +4363,17 @@ pref_LoadPrefsInDirList(const char* aLis + } - nsAutoCString leaf; - path->GetNativeLeafName(leaf); + nsCOMPtr<nsIFile> path = do_QueryInterface(elem); + if (!path) { + continue; + } // Do we care if a file provided by this process fails to load? - if (Substring(leaf, leaf.Length() - 4).EqualsLiteral(".xpi")) - ReadExtensionPrefs(path); - else -- pref_LoadPrefsInDir(path, nullptr, 0); -+ pref_LoadPrefsInDir(path, specialFiles, MOZ_ARRAY_LENGTH(specialFiles)); +- pref_LoadPrefsInDir(path, nullptr, 0); ++ pref_LoadPrefsInDir(path, specialFiles, ArrayLength(specialFiles)); } + return NS_OK; } - static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name) + static nsresult + pref_ReadPrefFromJar(nsZipArchive* aJarReader, const char* aName) { - nsCString manifest; - MOZ_TRY_VAR(manifest, URLPreloader::ReadZip(jarReader, nsDependentCString(name))); -@@ -1544,24 +1563,36 @@ pref_InitInitialObjects() - /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ +@@ -4461,25 +4480,37 @@ pref_InitInitialObjects() + // application pref files for backwards compatibility. static const char* specialFiles[] = { #if defined(XP_MACOSX) "macprefs.js" @@ -92,7 +92,8 @@ "unix.js" + , "" // placeholder for KDE (empty is otherwise harmless) #if defined(_AIX) - , "aix.js" + , + "aix.js" #endif #elif defined(XP_BEOS) "beos.js" @@ -110,24 +111,24 @@ + } + } + - rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles, ArrayLength(specialFiles)); - if (NS_FAILED(rv)) + rv = pref_LoadPrefsInDir( + defaultPrefDir, specialFiles, ArrayLength(specialFiles)); + if (NS_FAILED(rv)) { NS_WARNING("Error parsing application default preferences."); + } // Load jar:$app/omni.jar!/defaults/preferences/*.js // or jar:$gre/omni.jar!/defaults/preferences/*.js. - RefPtr<nsZipArchive> appJarReader = mozilla::Omnijar::GetReader(mozilla::Omnijar::APP); - // GetReader(mozilla::Omnijar::APP) returns null when $app == $gre, in which diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build --- a/modules/libpref/moz.build +++ b/modules/libpref/moz.build -@@ -31,16 +31,20 @@ EXPORTS.mozilla += [ +@@ -27,16 +27,20 @@ XPIDL_MODULE = 'pref' + EXPORTS.mozilla += [ + 'Preferences.h', + ] + UNIFIED_SOURCES += [ - 'nsPrefBranch.cpp', - 'nsPrefsFactory.cpp', - 'prefapi.cpp', 'Preferences.cpp', - 'prefread.cpp', ] +LOCAL_INCLUDES += [ @@ -187,24 +188,20 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build --- a/toolkit/components/downloads/moz.build +++ b/toolkit/components/downloads/moz.build -@@ -37,16 +37,17 @@ UNIFIED_SOURCES += [ +@@ -17,9 +17,13 @@ XPIDL_SOURCES += [ + XPIDL_MODULE = 'downloads' + + UNIFIED_SOURCES += [ 'nsDownloadManager.cpp' ] FINAL_LIBRARY = 'xul' - LOCAL_INCLUDES += [ - '../protobuf', - '/ipc/chromium/src', -+ '/toolkit/xre', - 'chromium' - ] - - DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True - DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True - ++LOCAL_INCLUDES += [ ++ '/toolkit/xre' ++] ++ CXXFLAGS += CONFIG['TK_CFLAGS'] - diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn --- a/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn @@ -246,7 +243,7 @@ new file mode 100644 --- /dev/null +++ b/toolkit/content/widgets/dialog-kde.xml -@@ -0,0 +1,455 @@ +@@ -0,0 +1,459 @@ +<?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 @@ -434,8 +431,12 @@ + focusedElt.getAttribute("noinitialfocus") == "true") { + document.commandDispatcher.advanceFocusIntoSubtree(focusedElt); + focusedElt = document.commandDispatcher.focusedElement; -+ if (focusedElt == initialFocusedElt) ++ if (focusedElt == initialFocusedElt) { ++ if (focusedElt.getAttribute("noinitialfocus") == "true") { ++ focusedElt.blur(); ++ } + break; ++ } + } + + if (initialFocusedElt.localName == "tab") { @@ -2119,7 +2120,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 -@@ -628,17 +628,17 @@ nsUnknownContentTypeDialog.prototype = { +@@ -626,17 +626,17 @@ nsUnknownContentTypeDialog.prototype = { else typeString = mimeInfo.MIMEType; } @@ -2138,7 +2139,7 @@ }, // Returns true if opening the default application makes sense. -@@ -802,17 +802,17 @@ nsUnknownContentTypeDialog.prototype = { +@@ -800,17 +800,17 @@ nsUnknownContentTypeDialog.prototype = { switch (this.dialogElement("openHandler").selectedIndex) { case 0: // No app need be specified in this case. @@ -2157,7 +2158,7 @@ this.mDialog.document.documentElement.getButton("accept").disabled = !ok; }, -@@ -1067,30 +1067,57 @@ nsUnknownContentTypeDialog.prototype = { +@@ -1065,30 +1065,57 @@ nsUnknownContentTypeDialog.prototype = { if (params.handlerApp && params.handlerApp.executable && @@ -2548,7 +2549,7 @@ + if ( !rstr ) return false; + + rstr->SetData( out[i] ); -+ result->AppendElement( rstr, false ); ++ result->AppendElement( rstr ); + } + + NS_ADDREF( *output = result); @@ -2770,11 +2771,11 @@ 'android/nsExternalSharingAppService.cpp', 'android/nsExternalURLHandlerService.cpp', 'android/nsMIMEInfoAndroid.cpp', -@@ -125,16 +127,17 @@ include('/ipc/chromium/chromium-config.m - +@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ + '/docshell/base', '/dom/base', '/dom/ipc', '/netwerk/base', @@ -3109,11 +3110,11 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp --- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp +++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp -@@ -10,17 +10,17 @@ - #if defined(MOZ_ENABLE_CONTENTACTION) - #include <contentaction/contentaction.h> - #include <QString> - #endif +@@ -5,17 +5,17 @@ + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + #include <sys/types.h> + #include <sys/stat.h> #include "nsOSHelperAppService.h" #include "nsMIMEInfoUnix.h" @@ -3128,20 +3129,29 @@ #include "nsIURL.h" #include "nsIFileStreams.h" #include "nsILineInputStream.h" -@@ -1142,26 +1142,26 @@ nsresult nsOSHelperAppService::OSProtoco - ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':'); +@@ -1128,17 +1128,17 @@ nsOSHelperAppService::GetHandlerAndDescr - if (action.isValid()) - *aHandlerExists = true; - #endif + nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists) + { + nsresult rv = NS_OK; + if (!XRE_IsContentProcess()) { #ifdef MOZ_WIDGET_GTK - // Check the GNOME registry for a protocol handler -- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme); -+ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme); + // Check the GNOME registry for a protocol handler +- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme); ++ *aHandlerExists = nsCommonRegistry::HandlerExists(aProtocolScheme); + #else + *aHandlerExists = false; #endif + } else { + *aHandlerExists = false; + nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); + if (NS_SUCCEEDED(rv) && handlerSvc) { + rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists); +@@ -1146,17 +1146,17 @@ nsresult nsOSHelperAppService::OSProtoco + } - return NS_OK; + return rv; } NS_IMETHODIMP nsOSHelperAppService::GetApplicationDescription(const nsACString& aScheme, nsAString& _retval) @@ -3157,7 +3167,7 @@ nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile) { -@@ -1248,17 +1248,17 @@ nsOSHelperAppService::GetFromExtension(c +@@ -1243,17 +1243,17 @@ nsOSHelperAppService::GetFromExtension(c mime_types_description, true); @@ -3176,7 +3186,7 @@ rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType, -@@ -1369,17 +1369,17 @@ nsOSHelperAppService::GetFromType(const +@@ -1364,17 +1364,17 @@ nsOSHelperAppService::GetFromType(const nsAutoString extensions, mime_types_description; LookUpExtensionsAndDescription(majorType, minorType, ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.zWMkDs/_old 2018-02-07 18:39:55.416369446 +0100 +++ /var/tmp/diff_new_pack.zWMkDs/_new 2018-02-07 18:39:55.416369446 +0100 @@ -1,2 +1,2 @@ -REV=afa87f9be3a8 +REV=c2db4a50dc5c REPO=http://hg.mozilla.org/releases/mozilla-release
