1
0
Dominique Leuenberger 2018-02-07 17:39:24 +00:00 committed by Git OBS Bridge
commit 4bd452e26b
21 changed files with 1767 additions and 3500 deletions

View File

@ -1,3 +1,106 @@
-------------------------------------------------------------------
Tue Feb 6 07:03:42 UTC 2018 - fstrba@suse.com
- 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 - wr@rosenauer.org
- 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 - wr@rosenauer.org
- 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
-------------------------------------------------------------------
Tue Jan 9 18:48:02 UTC 2018 - wr@rosenauer.org

View File

@ -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: libnotify-devel
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 @@ Patch4: mozilla-openaes-decl.patch
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 @@ of %{appname}.
%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 @@ cd $RPM_BUILD_DIR/mozilla
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
# Firefox
%patch101 -p1
%patch102 -p1
@ -381,7 +379,7 @@ ac_add_options --with-arch=armv7-a
ac_add_options --disable-webrtc
%endif
EOF
make -f client.mk build
./mach build
%install
cd $RPM_BUILD_DIR/obj

View File

@ -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>

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6441a12de7f0735fd9a2b4580bb7cdccec86b34acda3a8718ce9b0bf39a59ca7
size 28824
oid sha256:088110e577f98b08da247cfe931afdbcec697e74890362d95895360bda0d8989
size 28404

View File

@ -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 @@ tar $compression -cf firefox-$VERSION-source.tar.xz --exclude=.hgtags --exclude=
# 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 @@ for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
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

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7ab9870937e8683ea435f8cbd4ff52d4e53a263d3ab31e6ba2d6fe61f3aa636c
size 267408064

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:423e214603cf8e0d6b16bfbb428be20e2b868278129821f017b659fc0934253a
size 265350860

View File

@ -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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+#endif
+
+ <tabs id="tabbrowser-tabs"
+ class="tabbrowser-tabs"
+ tabbrowser="content"
+ flex="1"
+ setfocus="false"
@ -787,7 +790,6 @@ new file mode 100644
+ tabscrolling="true"
+ showcommentcolumn="true"
+ showimagecolumn="true"
+ enablehistory="true"
+ newlines="stripsurroundingwhitespace"
+ ontextentered="this.handleCommand(param);"
+ ontextreverted="return this.handleRevert();"
@ -812,14 +814,14 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+ <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 @@ new file mode 100644
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/build/nsModule.cpp b/browser/components/build/ns
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 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ 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 @@ new file mode 100644
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

145
firefox.1
View File

@ -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 @@ standards compliance, performance and portability.
.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 @@ X display to use
.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 @@ Make all warnings fatal
.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.
.TP
\fB\-new-window\fR \fIurl\fR
Open URL in a new window if Firefox is already running.
.TP
\fB\-new-tab\fR \fIurl\fR
Open URL in a new tab if Firefox is already running.
.TP
\fB\-preferences\fR
Open Firefox preferences menu.
.TP
.B \-safe-mode
\fB\-\-save\-mode\fR
Disables extensions and themes for this session.
.TP
\fB\-\-headless\fR
Run without a GUI.
.TP
\fB\-\-marionette\fR
Enable remote control server.
.TP
\fB\-\-browser\fR
Open a browser window.
.TP
\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/

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:82bdb63b072ba7544f985bf331d3156b2c3b6a7a62d4dae4c024007ed7f2fc76
size 51599812

3
l10n-58.0.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:34ed9161fda7110953d067f9de94377a085d9b30a438e7402865f3382726fc6b
size 48920352

View File

@ -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

View File

@ -0,0 +1,12 @@
--- 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.

View File

@ -1,102 +0,0 @@
# HG changeset patch
# Parent e85dde0eabf214916c69924aa49192ab412e00a1
diff --git a/build/autoconf/config.status.m4 b/build/autoconf/config.status.m4
--- a/build/autoconf/config.status.m4
+++ b/build/autoconf/config.status.m4
@@ -40,16 +40,31 @@ define([AC_SUBST_LIST],
[ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_LIST on the same variable ($1)])],
[ifdef([AC_SUBST_LIST_$1], ,
[define([AC_SUBST_LIST_$1], )dnl
AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
(''' $1 ''', list(r''' [$]$1 '''.split()))
AC_DIVERT_POP()dnl
])])])])
+dnl Like AC_SUBST, but makes the value available as a string of quoted strings
+dnl in python, with values got from the value of the environment variable,
+dnl split on whitespaces. The value is suitable for embedding into a .toml
+dnl list.
+define([AC_SUBST_TOML_LIST],
+[ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_LIST on the same variable ($1)])],
+[ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_LIST on the same variable ($1)])],
+[ifdef([AC_SUBST_LIST_$1], ,
+[define([AC_SUBST_LIST_$1], )dnl
+AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+ (''' $1 ''', r''' %s ''' % str(', '.join("'%s'" % s for s in r''' [$]$1 '''.split())))
+AC_DIVERT_POP()dnl
+])])])])
+
+
dnl Ignore AC_SUBSTs for variables we don't have use for but that autoconf
dnl itself exports.
define([AC_SUBST_CFLAGS], )
define([AC_SUBST_CPPFLAGS], )
define([AC_SUBST_CXXFLAGS], )
define([AC_SUBST_FFLAGS], )
define([AC_SUBST_DEFS], )
define([AC_SUBST_LDFLAGS], )
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -897,25 +897,24 @@ def check_have_64_bit(have_64_bit, compi
configure_error('The target compiler does not agree with configure '
'about the target bitness.')
option(env='BINDGEN_CFLAGS',
nargs=1,
help='Options bindgen should pass to the C/C++ parser')
@depends('BINDGEN_CFLAGS')
-@checking('bindgen cflags', lambda s: s if s and s.strip() else 'no')
+@checking('bindgen cflags', lambda s: s if s and s[0].strip() else 'no')
def bindgen_cflags(value):
if value and len(value):
# Reformat the env value for substitution into a toml list.
flags = value[0].split()
- return ', '.join('"' + flag + '"' for flag in flags)
- return ''
+ return flags
-set_config('BINDGEN_CFLAGS', bindgen_cflags)
+add_old_configure_assignment('_BINDGEN_CFLAGS', bindgen_cflags)
@depends(c_compiler)
def default_debug_flags(compiler_info):
# Debug info is ON by default.
if compiler_info.type in ('msvc', 'clang-cl'):
return '-Zi'
return '-g'
diff --git a/layout/style/bindgen.toml.in b/layout/style/bindgen.toml.in
--- a/layout/style/bindgen.toml.in
+++ b/layout/style/bindgen.toml.in
@@ -1,4 +1,4 @@
[build]
args = [
- @BINDGEN_CFLAGS@
+ @BINDGEN_SYSTEM_FLAGS@
]
diff --git a/old-configure.in b/old-configure.in
--- a/old-configure.in
+++ b/old-configure.in
@@ -4453,16 +4453,19 @@ android)
esac
AC_SUBST(MOZ_TREE_CAIRO)
AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
AC_SUBST_LIST(MOZ_CAIRO_LIBS)
AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
AC_SUBST(MOZ_TREE_PIXMAN)
+BINDGEN_SYSTEM_FLAGS="$_BINDGEN_CFLAGS $NSPR_CFLAGS $NSS_CFLAGS $MOZ_PIXMAN_CFLAGS $MOZ_CAIRO_CFLAGS"
+AC_SUBST_TOML_LIST(BINDGEN_SYSTEM_FLAGS)
+
dnl ========================================================
dnl disable xul
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(xul,
[ --disable-xul Disable XUL],
MOZ_XUL= )
if test "$MOZ_XUL"; then
AC_DEFINE(MOZ_XUL)

View File

@ -1,260 +0,0 @@
# HG changeset patch
# User Robin Grenet <robin.grenet@wanadoo.fr>
# 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 {};
#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)

File diff suppressed because it is too large Load Diff

11
mozilla-bmo256180.patch Normal file
View File

@ -0,0 +1,11 @@
--- 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
-#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

1312
mozilla-enable-csd.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
# HG changeset patch
# Parent 2504512f9a9ba7b52dd99745d15f049f2a03f4f4
# Parent 5be2231eadfb6de978e93c0ba95469e8a4d54cb0
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -9,32 +9,32 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
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 "nsXPCOM.h"
#include "nsXULAppAPI.h"
#include "nsZipArchive.h"
#include "plbase64.h"
#include "PLDHashTable.h"
#include "plstr.h"
#include "prlink.h"
+#include "nsKDEUtils.h"
#include "nsQuickSort.h"
#include "PLDHashTable.h"
#ifdef MOZ_CRASHREPORTER
#include "nsICrashReporter.h"
#endif
#include "prefapi.h"
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -1413,16 +1414,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
+ }
+
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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
"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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
+ }
+ }
+
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/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
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 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
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 @@ new file mode 100644
+ 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 @@ new file mode 100644
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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
},
// 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 @@ diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downl
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 @@ new file mode 100644
+ if ( !rstr ) return false;
+
+ rstr->SetData( out[i] );
+ result->AppendElement( rstr, false );
+ result->AppendElement( rstr );
+ }
+
+ NS_ADDREF( *output = result);
@ -2770,11 +2771,11 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
'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/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#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 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
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 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
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,

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
REV=afa87f9be3a8
REV=c2db4a50dc5c
REPO=http://hg.mozilla.org/releases/mozilla-release