1
0

- update to Firefox 57.0b14

* Firefox Quantum
  * Photon UI
  * Unified address and search bar
  * AMD VP9 hardware video decoder support
  * Added support for Date/Time input
  * stricter security sandbox blocking filesystem reading and
    writing on Linux systems
  * middle mouse paste in the content area no longer navigates to
    URLs by default on Unix systems
  MFSA 2017-24
  * CVE-2017-7828 (bmo#1406750. bmo#1412252)
    Use-after-free of PressShell while restyling layout
  * CVE-2017-7830 (bmo#1408990)
    Cross-origin URL information leak through Resource Timing API
  * CVE-2017-7831 (bmo#1392026)
    Information disclosure of exposed properties on JavaScript proxy
    objects
  * CVE-2017-7832 (bmo#1408782)
    Domain spoofing through use of dotless 'i' character followed
    by accent markers
  * CVE-2017-7833 (bmo#1370497)
    Domain spoofing with Arabic and Indic vowel marker characters
  * CVE-2017-7834 (bmo#1358009)
    data: URLs opened in new tabs bypass CSP protections
  * CVE-2017-7835 (bmo#1402363)
    Mixed content blocking incorrectly applies with redirects
  * CVE-2017-7836 (bmo#1401339)
    Pingsender dynamically loads libcurl on Linux and OS X
  * CVE-2017-7837 (bmo#1325923)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=610
This commit is contained in:
Wolfgang Rosenauer 2017-11-14 23:17:59 +00:00 committed by Git OBS Bridge
parent 238d2bd9f9
commit c3624659ef
22 changed files with 618 additions and 898 deletions

View File

@ -1,3 +1,60 @@
-------------------------------------------------------------------
Thu Nov 9 15:01:30 UTC 2017 - wr@rosenauer.org
- update to Firefox 57.0b14
* Firefox Quantum
* Photon UI
* Unified address and search bar
* AMD VP9 hardware video decoder support
* Added support for Date/Time input
* stricter security sandbox blocking filesystem reading and
writing on Linux systems
* middle mouse paste in the content area no longer navigates to
URLs by default on Unix systems
MFSA 2017-24
* CVE-2017-7828 (bmo#1406750. bmo#1412252)
Use-after-free of PressShell while restyling layout
* CVE-2017-7830 (bmo#1408990)
Cross-origin URL information leak through Resource Timing API
* CVE-2017-7831 (bmo#1392026)
Information disclosure of exposed properties on JavaScript proxy
objects
* CVE-2017-7832 (bmo#1408782)
Domain spoofing through use of dotless 'i' character followed
by accent markers
* CVE-2017-7833 (bmo#1370497)
Domain spoofing with Arabic and Indic vowel marker characters
* CVE-2017-7834 (bmo#1358009)
data: URLs opened in new tabs bypass CSP protections
* CVE-2017-7835 (bmo#1402363)
Mixed content blocking incorrectly applies with redirects
* CVE-2017-7836 (bmo#1401339)
Pingsender dynamically loads libcurl on Linux and OS X
* CVE-2017-7837 (bmo#1325923)
SVG loaded as <img> can use meta tags to set cookies
* CVE-2017-7838 (bmo#1399540)
Failure of individual decoding of labels in international domain
names triggers punycode display of entire IDN
* CVE-2017-7839 (bmo#1402896)
Control characters before javascript: URLs defeats self-XSS
prevention mechanism
* CVE-2017-7840 (bmo#1366420)
Exported bookmarks do not strip script elements from user-supplied
tags
* CVE-2017-7842 (bmo#1397064)
Referrer Policy is not always respected for <link> elements
* CVE-2017-7827
Memory safety bugs fixed in Firefox 57
* CVE-2017-7826
Memory safety bugs fixed in Firefox 57 and Firefox ESR 52.5
- requires NSPR 4.17, NSS 3.33 and rustc 1.19
- rebased patches
- added mozilla-bindgen-systemlibs.patch to allow stylo build
with system libs (bmo#1341234)
- removed mozilla-language.patch since the whole locale code
changed in Firefox and is relying on ICU now
- removed obsolete mozilla-ucontext.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Oct 28 06:30:37 UTC 2017 - wr@rosenauer.org Sat Oct 28 06:30:37 UTC 2017 - wr@rosenauer.org

View File

@ -18,11 +18,11 @@
# changed with every update # changed with every update
%define major 56 %define major 57
%define mainver %major.0.2 %define mainver %major.0
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
%define releasedate 20171024165158 %define releasedate 20171109183137
# PIE, full relro (x86_64 for now) # PIE, full relro (x86_64 for now)
%define build_hardened 1 %define build_hardened 1
@ -72,10 +72,10 @@ BuildRequires: libiw-devel
BuildRequires: libnotify-devel BuildRequires: libnotify-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.16 BuildRequires: mozilla-nspr-devel >= 4.17
BuildRequires: mozilla-nss-devel >= 3.32.1 BuildRequires: mozilla-nss-devel >= 3.33
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: rust >= 1.15.1 BuildRequires: rust >= 1.19
BuildRequires: rust-std BuildRequires: rust-std
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
BuildRequires: unzip BuildRequires: unzip
@ -95,6 +95,9 @@ BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libpulse)
%if 0%{?suse_version} > 1320 %if 0%{?suse_version} > 1320
BuildRequires: llvm-clang-devel >= 3.9.0 BuildRequires: llvm-clang-devel >= 3.9.0
%else
# this covers the workaround to compile on Leap 42 in OBS
BuildRequires: clang4-devel
%endif %endif
# libavcodec is required for H.264 support but the # libavcodec is required for H.264 support but the
# openSUSE version is currently not able to play H.264 # openSUSE version is currently not able to play H.264
@ -143,14 +146,13 @@ Source18: mozilla-api-key
Source19: google-api-key Source19: google-api-key
# Gecko/Toolkit # Gecko/Toolkit
Patch1: mozilla-nongnome-proxies.patch Patch1: mozilla-nongnome-proxies.patch
Patch3: mozilla-kde.patch Patch2: mozilla-kde.patch
Patch5: mozilla-language.patch Patch3: mozilla-ntlm-full-path.patch
Patch6: mozilla-ntlm-full-path.patch Patch4: mozilla-openaes-decl.patch
Patch7: mozilla-openaes-decl.patch Patch5: mozilla-no-stdcxx-check.patch
Patch8: mozilla-no-stdcxx-check.patch Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
Patch9: mozilla-reduce-files-per-UnifiedBindings.patch Patch7: mozilla-aarch64-startup-crash.patch
Patch10: mozilla-aarch64-startup-crash.patch Patch8: mozilla-bindgen-systemlibs.patch
Patch11: mozilla-ucontext.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch Patch102: firefox-no-default-ualocale.patch
@ -253,16 +255,15 @@ symbols meant for upload to Mozilla's crash collector database.
%endif %endif
cd $RPM_BUILD_DIR/mozilla cd $RPM_BUILD_DIR/mozilla
%patch1 -p1 %patch1 -p1
%patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1
%patch5 -p1 %patch5 -p1
%ifarch %ix86
%patch6 -p1 %patch6 -p1
%endif
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%ifarch %ix86
%patch9 -p1
%endif
%patch10 -p1
%patch11 -p1
# Firefox # Firefox
%patch101 -p1 %patch101 -p1
%patch102 -p1 %patch102 -p1
@ -357,9 +358,6 @@ ac_add_options --enable-startup-notification
ac_add_options --enable-update-channel=%{update_channel} ac_add_options --enable-update-channel=%{update_channel}
ac_add_options --with-mozilla-api-keyfile=%{SOURCE18} ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
ac_add_options --with-google-api-keyfile=%{SOURCE19} ac_add_options --with-google-api-keyfile=%{SOURCE19}
%if 0%{?suse_version} <= 1320
ac_add_options --disable-stylo
%endif
%if %branding %if %branding
ac_add_options --enable-official-branding ac_add_options --enable-official-branding
%endif %endif

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:e74ef907b2f1e30c66f69bc3246c18f826faf18ed360ed2640ac825a1f4e5dee oid sha256:28d155fac8c430f5305e095670073b6072af87e9063ce9a37344f397fa85e927
size 28384 size 28368

View File

@ -7,8 +7,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL" BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_56_0_2_RELEASE" # 56.0.1 build2 RELEASE_TAG="8af8bd128bd014669ad89774f47668b0b8109337" # build 3
VERSION="56.0.2" VERSION="57.0"
# mozilla # mozilla
if [ -d mozilla ]; then if [ -d mozilla ]; then

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:35af0610782685d9e43fc53d7af53e91eb605993dd1be215f3145ec6f68521eb
size 271922384

View File

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

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de # Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
# Parent 6309c3625e39216f9cf5a7a35cbf6932adfabc1d # Parent 75308bbaaf73d672c88cb283591d4aefc7db9804
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild --- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild +++ b/browser/branding/branding-common.mozbuild
@@ -41,18 +41,24 @@ def FirefoxBranding(): @@ -38,18 +38,24 @@ def FirefoxBranding():
'disk.icns', 'disk.icns',
'document.icns', 'document.icns',
'dsstore', 'dsstore',
@ -33,7 +33,7 @@ diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/brandi
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in
@@ -599,18 +599,21 @@ @@ -618,18 +618,21 @@
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf @RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
@RESPATH@/chrome/toolkit@JAREXT@ @RESPATH@/chrome/toolkit@JAREXT@

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent 05209af7fdfec897f5f574c691184ba27049b0ff # Parent 9f19902f8bcde21fa63172a85818fb11714878d8
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/base/content/browser-kde.xul +++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1320 @@ @@ -0,0 +1,1252 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- Mode: HTML -*-
@ -73,7 +73,9 @@ new file mode 100644
+# so that they can be shared by macBrowserOverlay.xul. +# so that they can be shared by macBrowserOverlay.xul.
+#include global-scripts.inc +#include global-scripts.inc
+ +
+<script type="application/javascript" src="chrome://global/content/contentAreaUtils.js"/> +<script type="application/javascript">
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+</script>
+ +
+# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the +# All sets except for popupsets (commands, keys, stringbundles and broadcasters) *must* go into the
+# browser-sets.inc file for sharing with hiddenWindow.xul. +# browser-sets.inc file for sharing with hiddenWindow.xul.
@ -95,6 +97,9 @@ new file mode 100644
+ <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true" + <menuitem id="context_unpinTab" label="&unpinTab.label;" hidden="true"
+ accesskey="&unpinTab.accesskey;" + accesskey="&unpinTab.accesskey;"
+ oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/> + oncommand="gBrowser.unpinTab(TabContextMenu.contextTab);"/>
+ <menuitem id="context_duplicateTab" label="&duplicateTab.label;"
+ accesskey="&duplicateTab.accesskey;"
+ oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
+ <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;" + <menuitem id="context_openTabInWindow" label="&moveToNewWindow.label;"
+ accesskey="&moveToNewWindow.accesskey;" + accesskey="&moveToNewWindow.accesskey;"
+ tbattr="tabbrowser-multiple" + tbattr="tabbrowser-multiple"
@ -161,15 +166,17 @@ new file mode 100644
+ hidden="true" + hidden="true"
+ flip="none" + flip="none"
+ level="parent" + level="parent"
+ overflowpadding="30" /> + overflowpadding="15" />
+ +
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel" + <panel id="DateTimePickerPanel"
+ type="arrow" + type="arrow"
+ hidden="true" + hidden="true"
+ orient="vertical" + orient="vertical"
+ noautofocus="true" + noautofocus="true"
+ noautohide="true" + norolluponanchor="true"
+ consumeoutsideclicks="false" + consumeoutsideclicks="never"
+ level="parent" + level="parent"
+ tabspecific="true"> + tabspecific="true">
+ </panel> + </panel>
@ -272,26 +279,6 @@ new file mode 100644
+ <box id="UITourHighlight"></box> + <box id="UITourHighlight"></box>
+ </panel> + </panel>
+ +
+ <panel id="social-share-panel"
+ class="social-panel"
+ type="arrow"
+ orient="vertical"
+ onpopupshowing="SocialShare.onShowing()"
+ onpopuphidden="SocialShare.onHidden()"
+ hidden="true">
+ <hbox class="social-share-toolbar">
+ <toolbarbutton id="manage-share-providers" class="share-provider-button"
+ tooltiptext="&social.addons.label;"
+ oncommand="BrowserOpenAddonsMgr('addons://list/service');
+ this.parentNode.parentNode.hidePopup();"/>
+ <arrowscrollbox id="social-share-provider-buttons" orient="horizontal" flex="1" pack="end">
+ <toolbarbutton id="add-share-provider" class="share-provider-button" type="radio"
+ group="share-providers" tooltiptext="&findShareServices.label;"
+ oncommand="SocialShare.showDirectory()"/>
+ </arrowscrollbox>
+ </hbox>
+ <hbox id="share-container" flex="1"/>
+ </panel>
+ <panel id="sidebarMenu-popup" + <panel id="sidebarMenu-popup"
+ class="cui-widget-panel" + class="cui-widget-panel"
+ role="group" + role="group"
@ -337,10 +324,8 @@ new file mode 100644
+ <menupopup id="toolbar-context-menu" + <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));"> + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
+ photonaccesskey="&customizeMenu.pinToOverflowMenu.accesskey;" + accesskey="&customizeMenu.pinToOverflowMenu.accesskey;"
+ photonlabel="&customizeMenu.pinToOverflowMenu.label;" + label="&customizeMenu.pinToOverflowMenu.label;"
+ accesskey="&customizeMenu.moveToPanel.accesskey;"
+ label="&customizeMenu.moveToPanel.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-moveToPanel"/> + class="customize-context-moveToPanel"/>
+ <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)" + <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
@ -374,7 +359,7 @@ new file mode 100644
+ seeing the command event pass by. The observes attribute is + seeing the command event pass by. The observes attribute is
+ here so that the menuitem is still disabled and re-enabled + here so that the menuitem is still disabled and re-enabled
+ correctly. --> + correctly. -->
+ <menuitem oncommand="BrowserCustomizeToolbar()" + <menuitem oncommand="gCustomizeMode.enter()"
+ observes="cmd_CustomizeToolbars" + observes="cmd_CustomizeToolbars"
+ class="viewCustomizeToolbar" + class="viewCustomizeToolbar"
+ label="&viewCustomizeToolbar.label;" + label="&viewCustomizeToolbar.label;"
@ -416,25 +401,7 @@ new file mode 100644
+#include browser-context.inc +#include browser-context.inc
+ </menupopup> + </menupopup>
+ +
+ <menupopup id="placesContext"> + <menupopup id="placesContext"/>
+ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
+ ignoreitem="true"
+ hidden="true"/>
+ <menuitem id="placesContext_hideRecentlyBookmarked"
+ label="&hideRecentlyBookmarked.label;"
+ accesskey="&hideRecentlyBookmarked.accesskey;"
+ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
+ hidden="true"/>
+ <menuitem id="placesContext_showRecentlyBookmarked"
+ label="&showRecentlyBookmarked.label;"
+ accesskey="&showRecentlyBookmarked.accesskey;"
+ oncommand="BookmarkingUI.showRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
+ hidden="true"/>
+ </menupopup>
+ +
+ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top"> + <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox> + <hbox>
@ -450,31 +417,46 @@ new file mode 100644
+ </hbox> + </hbox>
+ </panel> + </panel>
+ +
+#ifdef MOZ_PHOTON_THEME
+ <panel id="pageActionPanel" + <panel id="pageActionPanel"
+ class="cui-widget-panel" + class="cui-widget-panel"
+ role="group" + role="group"
+ type="arrow" + type="arrow"
+ hidden="true" + hidden="true"
+ flip="slide" + flip="slide"
+ photon="true"
+ position="bottomcenter topright" + position="bottomcenter topright"
+ tabspecific="true" + tabspecific="true"
+ noautofocus="true" + noautofocus="true"
+ context="pageActionPanelContextMenu" + copyURL-title="&pageAction.copyLink.label;"
+ oncontextmenu="BrowserPageActions.onContextMenu(event);"
+ copyURL-title="&copyURLCmd.label;"
+ emailLink-title="&emailPageCmd.label;" + emailLink-title="&emailPageCmd.label;"
+ sendToDevice-title="&sendToDevice.label2;" + sendToDevice-title="&pageAction.sendTabToDevice.label;"
+ sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;"> + sendToDevice-notReadyTitle="&sendToDevice.syncNotReady.label;">
+ <photonpanelmultiview id="pageActionPanelMultiView" + <photonpanelmultiview id="pageActionPanelMultiView"
+ mainViewId="pageActionPanelMainView" + mainViewId="pageActionPanelMainView"
+ viewCacheId="appMenu-viewCache"> + viewCacheId="appMenu-viewCache">
+ <panelview id="pageActionPanelMainView" + <panelview id="pageActionPanelMainView"
+ context="pageActionPanelContextMenu"
+ oncontextmenu="BrowserPageActions.onContextMenu(event);"
+ class="PanelUI-subView"> + class="PanelUI-subView">
+ <vbox class="panel-subview-body"/> + <vbox class="panel-subview-body"/>
+ </panelview> + </panelview>
+ </photonpanelmultiview> + </photonpanelmultiview>
+ </panel> + </panel>
+ <panel id="pageActionFeedback"
+ role="alert"
+ type="arrow"
+ hidden="true"
+ flip="slide"
+ position="bottomcenter topright"
+ tabspecific="true"
+ noautofocus="true"
+ copyURLFeedback="&copyURLFeedback.label;"
+ sendToDeviceFeedback="&sendToDeviceFeedback.label;">
+ <hbox id="pageActionFeedbackAnimatableBox">
+ <image id="pageActionFeedbackAnimatableImage"/>
+ </hbox>
+ <label id="pageActionFeedbackMessage"/>
+ </panel>
+ +
+ <menupopup id="pageActionPanelContextMenu" + <menupopup id="pageActionPanelContextMenu"
+ onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);"> + onpopupshowing="BrowserPageActions.onContextMenuShowing(event, this);">
@ -484,7 +466,6 @@ new file mode 100644
+ label="&pageAction.addToUrlbar.label;" + label="&pageAction.addToUrlbar.label;"
+ oncommand="BrowserPageActions.toggleShownInUrlbarForContextAction();"/> + oncommand="BrowserPageActions.toggleShownInUrlbarForContextAction();"/>
+ </menupopup> + </menupopup>
+#endif
+ +
+ <!-- Bookmarks and history tooltip --> + <!-- Bookmarks and history tooltip -->
+ <tooltip id="bhTooltip"/> + <tooltip id="bhTooltip"/>
@ -509,18 +490,13 @@ new file mode 100644
+#endif +#endif
+ </tooltip> + </tooltip>
+ +
+ <tooltip id="share-button-tooltip" onpopupshowing="SocialShare.createTooltip(event);">
+ <label class="tooltip-label"/>
+ <label class="tooltip-label"/>
+ </tooltip>
+
+#include popup-notifications.inc +#include popup-notifications.inc
+ +
+#include ../../components/customizableui/content/panelUI.inc.xul +#include ../../components/customizableui/content/panelUI.inc.xul
+#include ../../components/controlcenter/content/panel.inc.xul +#include ../../components/controlcenter/content/panel.inc.xul
+ +
+ <hbox id="downloads-animation-container" mousethrough="always"> + <hbox id="downloads-animation-container" mousethrough="always">
+ <vbox id="downloads-notification-anchor"> + <vbox id="downloads-notification-anchor" hidden="true">
+ <vbox id="downloads-indicator-notification"/> + <vbox id="downloads-indicator-notification"/>
+ </vbox> + </vbox>
+ </hbox> + </hbox>
@ -604,11 +580,6 @@ new file mode 100644
+ <hbox id="titlebar-content"> + <hbox id="titlebar-content">
+ <spacer id="titlebar-spacer" flex="1"/> + <spacer id="titlebar-spacer" flex="1"/>
+ <hbox id="titlebar-buttonbox-container"> + <hbox id="titlebar-buttonbox-container">
+#ifdef XP_WIN
+ <hbox id="private-browsing-indicator-titlebar">
+ <hbox class="private-browsing-indicator"/>
+ </hbox>
+#endif
+ <hbox id="titlebar-buttonbox"> + <hbox id="titlebar-buttonbox">
+ <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/> + <toolbarbutton class="titlebar-button" id="titlebar-min" oncommand="window.minimize();"/>
+ <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/> + <toolbarbutton class="titlebar-button" id="titlebar-max" oncommand="onTitlebarMaxClick();"/>
@ -619,6 +590,7 @@ new file mode 100644
+ <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary + <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary
+ buttonbox from reversing order in RTL by forcing an LTR direction. --> + buttonbox from reversing order in RTL by forcing an LTR direction. -->
+ <hbox id="titlebar-secondary-buttonbox" dir="ltr"> + <hbox id="titlebar-secondary-buttonbox" dir="ltr">
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" aria-live="polite"/>
+ <hbox class="private-browsing-indicator"/> + <hbox class="private-browsing-indicator"/>
+ <hbox id="titlebar-fullscreen-button"/> + <hbox id="titlebar-fullscreen-button"/>
+ </hbox> + </hbox>
@ -649,7 +621,7 @@ new file mode 100644
+#ifdef CAN_DRAW_IN_TITLEBAR +#ifdef CAN_DRAW_IN_TITLEBAR
+#ifndef XP_MACOSX +#ifndef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000" + <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
+ id="titlebar-placeholder-on-menubar-for-caption-buttons" persist="width" + persist="width"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+#endif +#endif
+#endif +#endif
@ -664,8 +636,8 @@ new file mode 100644
+ context="toolbar-context-menu" + context="toolbar-context-menu"
+ collapsed="true"> + collapsed="true">
+ +
+#if defined(MOZ_WIDGET_GTK) +#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox id="private-browsing-indicator" + <hbox class="titlebar-placeholder" type="pre-tabs"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+#endif +#endif
+ +
@ -713,12 +685,20 @@ new file mode 100644
+ </menupopup> + </menupopup>
+ </toolbarbutton> + </toolbarbutton>
+ +
+#if !defined(MOZ_WIDGET_GTK) +#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"/> + <hbox class="titlebar-placeholder" type="post-tabs"
+ ordinal="1000"
+ skipintoolbarset="true"/>
+#endif +#endif
+
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
+ ordinal="1000"
+ aria-live="polite" skipintoolbarset="true"/>
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"
+ ordinal="1000"/>
+#ifdef CAN_DRAW_IN_TITLEBAR +#ifdef CAN_DRAW_IN_TITLEBAR
+ <hbox class="titlebar-placeholder" type="caption-buttons" + <hbox class="titlebar-placeholder" type="caption-buttons"
+ id="titlebar-placeholder-on-TabsToolbar-for-captions-buttons" persist="width" + persist="width"
+#ifndef XP_MACOSX +#ifndef XP_MACOSX
+ ordinal="1000" + ordinal="1000"
+#endif +#endif
@ -726,7 +706,7 @@ new file mode 100644
+ +
+#ifdef XP_MACOSX +#ifdef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="fullscreen-button" + <hbox class="titlebar-placeholder" type="fullscreen-button"
+ id="titlebar-placeholder-on-TabsToolbar-for-fullscreen-button" persist="width" + persist="width"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+#endif +#endif
+#endif +#endif
@ -744,29 +724,27 @@ new file mode 100644
+ context="toolbar-context-menu"> + context="toolbar-context-menu">
+ +
+ <hbox id="nav-bar-customization-target" flex="1"> + <hbox id="nav-bar-customization-target" flex="1">
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
+ removable="false"
+ class="chromeclass-location" overflows="false">
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional" + <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ removable="false" overflows="false"
+ label="&backCmd.label;" + label="&backCmd.label;"
+ removable="false" overflows="false"
+ keepbroadcastattributeswhencustomizing="true"
+ command="Browser:BackOrBackDuplicate" + command="Browser:BackOrBackDuplicate"
+ onclick="checkForMiddleClick(this, event);" + onclick="checkForMiddleClick(this, event);"
+ tooltip="back-button-tooltip" + tooltip="back-button-tooltip"
+ context="backForwardMenu"/> + context="backForwardMenu"/>
+#ifdef MOZ_PHOTON_THEME
+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional" + <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ removable="false" overflows="false"
+ label="&forwardCmd.label;" + label="&forwardCmd.label;"
+ removable="false" overflows="false"
+ keepbroadcastattributeswhencustomizing="true"
+ command="Browser:ForwardOrForwardDuplicate" + command="Browser:ForwardOrForwardDuplicate"
+ onclick="checkForMiddleClick(this, event);" + onclick="checkForMiddleClick(this, event);"
+ tooltip="forward-button-tooltip" + tooltip="forward-button-tooltip"
+ context="backForwardMenu"/> + context="backForwardMenu"/>
+ <toolbaritem id="stop-reload-button" + <toolbaritem id="stop-reload-button" class="chromeclass-toolbar-additional"
+ removable="false" overflows="false" + title="&reloadCmd.label;"
+ class="chromeclass-toolbar-additional"> + removable="true" overflows="false">
+ <toolbarbutton id="reload-button" + <toolbarbutton id="reload-button" class="toolbarbutton-1"
+ class="toolbarbutton-1" + label="&reloadCmd.label;"
+ command="Browser:ReloadOrDuplicate" + command="Browser:ReloadOrDuplicate"
+ onclick="checkForMiddleClick(this, event);" + onclick="checkForMiddleClick(this, event);"
+ tooltip="dynamic-shortcut-tooltip"> + tooltip="dynamic-shortcut-tooltip">
@ -774,8 +752,8 @@ new file mode 100644
+ <image class="toolbarbutton-animatable-image"/> + <image class="toolbarbutton-animatable-image"/>
+ </box> + </box>
+ </toolbarbutton> + </toolbarbutton>
+ <toolbarbutton id="stop-button" + <toolbarbutton id="stop-button" class="toolbarbutton-1"
+ class="toolbarbutton-1" + label="&stopCmd.label;"
+ command="Browser:Stop" + command="Browser:Stop"
+ tooltip="dynamic-shortcut-tooltip"> + tooltip="dynamic-shortcut-tooltip">
+ <box class="toolbarbutton-animatable-box"> + <box class="toolbarbutton-animatable-box">
@ -783,16 +761,21 @@ new file mode 100644
+ </box> + </box>
+ </toolbarbutton> + </toolbarbutton>
+ </toolbaritem> + </toolbaritem>
+#endif + <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ <hbox id="urlbar-wrapper" flex="1"> + removable="true"
+#ifndef MOZ_PHOTON_THEME + label="&homeButton.label;"
+ <toolbarbutton id="forward-button" class="toolbarbutton-1 chromeclass-toolbar-additional" + ondragover="homeButtonObserver.onDragOver(event)"
+ label="&forwardCmd.label;" + ondragenter="homeButtonObserver.onDragOver(event)"
+ command="Browser:ForwardOrForwardDuplicate" + ondrop="homeButtonObserver.onDrop(event)"
+ onclick="checkForMiddleClick(this, event);" + ondragexit="homeButtonObserver.onDragExit(event)"
+ tooltip="forward-button-tooltip" + key="goHome"
+ context="backForwardMenu"/> + onclick="BrowserGoHome(event);"
+#endif + cui-areatype="toolbar"
+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
+ removable="false"
+ class="chromeclass-location" overflows="false">
+ <textbox id="urlbar" flex="1" + <textbox id="urlbar" flex="1"
+ placeholder="&urlbar.placeholder2;" + placeholder="&urlbar.placeholder2;"
+ type="autocomplete" + type="autocomplete"
@ -890,85 +873,214 @@ new file mode 100644
+ <label id="switchtab" class="urlbar-display urlbar-display-switchtab" value="&urlbar.switchToTab.label;"/> + <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;"/> + <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
+ </box> + </box>
+ <hbox id="urlbar-icons"> + <hbox id="page-action-buttons">
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
+ <image id="userContext-indicator"/>
+ </hbox>
+ <image id="page-report-button" + <image id="page-report-button"
+ class="urlbar-icon" + class="urlbar-icon urlbar-page-action"
+ role="button"
+ hidden="true" + hidden="true"
+ tooltiptext="&pageReportIcon.tooltip;" + tooltiptext="&pageReportIcon.tooltip;"
+ onmousedown="gPopupBlockerObserver.onReportButtonMousedown(event);"/> + onmousedown="gPopupBlockerObserver.onReportButtonMousedown(event);"/>
+ <image id="reader-mode-button" + <image id="reader-mode-button"
+ class="urlbar-icon" + class="urlbar-icon urlbar-page-action"
+ role="button"
+ hidden="true" + hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/> + onclick="ReaderParent.buttonClick(event);"/>
+ <toolbarbutton id="urlbar-zoom-button" + <toolbarbutton id="urlbar-zoom-button"
+ onclick="FullZoom.reset();" + onclick="FullZoom.reset();"
+ tooltip="dynamic-shortcut-tooltip" + tooltip="dynamic-shortcut-tooltip"
+ hidden="true"/> + hidden="true"/>
+#ifdef MOZ_PHOTON_THEME + <box id="pageActionSeparator" class="urlbar-page-action"/>
+ <image id="pageActionButton" + <image id="pageActionButton"
+ class="urlbar-icon" + class="urlbar-icon urlbar-page-action"
+ role="button"
+ tooltiptext="&pageActionButton.tooltip;" + tooltiptext="&pageActionButton.tooltip;"
+ onclick="BrowserPageActions.mainButtonClicked(event);"/> + onmousedown="BrowserPageActions.mainButtonClicked(event);"/>
+ <hbox id="star-button-box" hidden="true"> + <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" + <image id="star-button"
+ class="urlbar-icon" + class="urlbar-icon"
+ onclick="BookmarkingUI.onStarCommand(event);"> + role="button"
+ <observes element="bookmarkThisPageBroadcaster" attribute="starred"/> + observes="bookmarkThisPageBroadcaster"/>
+ <observes element="bookmarkThisPageBroadcaster" attribute="tooltiptext"/>
+ </image>
+ <hbox id="star-button-animatable-box"> + <hbox id="star-button-animatable-box">
+ <image id="star-button-animatable-image" + <image id="star-button-animatable-image"
+ onclick="BookmarkingUI.onStarCommand(event);"/> + role="presentation"
+ observes="bookmarkThisPageBroadcaster"/>
+ </hbox> + </hbox>
+ </hbox> + </hbox>
+#endif
+ </hbox> + </hbox>
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
+ <image id="userContext-indicator"/>
+ </hbox>
+#ifndef MOZ_PHOTON_THEME
+ <toolbarbutton id="urlbar-go-button"
+ class="chromeclass-toolbar-additional"
+ onclick="gURLBar.handleCommand(event);"
+ tooltiptext="&goEndCap.tooltip;"/>
+ <toolbarbutton id="reload-button"
+ class="chromeclass-toolbar-additional"
+ command="Browser:ReloadOrDuplicate"
+ onclick="checkForMiddleClick(this, event);"
+ tooltip="dynamic-shortcut-tooltip"/>
+ <toolbarbutton id="stop-button"
+ class="chromeclass-toolbar-additional"
+ command="Browser:Stop"
+ tooltip="dynamic-shortcut-tooltip"/>
+#endif
+ </textbox> + </textbox>
+ </hbox>
+ </toolbaritem> + </toolbaritem>
+ +
+ <toolbaritem id="search-container" title="&searchItem.title;" + <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
+ align="center" class="chromeclass-toolbar-additional panel-wide-item" +
+ <!-- This is a placeholder for the Downloads Indicator. It is visible
+ during the customization of the toolbar, in the palette, and before
+ the Downloads Indicator overlay is loaded. -->
+ <toolbarbutton id="downloads-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
+ key="key_openDownloads"
+ onmousedown="DownloadsIndicatorView.onCommand(event);"
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
+ label="&downloads.label;"
+ removable="true"
+ overflows="false"
+ cui-areatype="toolbar" + cui-areatype="toolbar"
+ flex="100" persist="width" removable="true"> + hidden="true"
+ <searchbar id="searchbar" flex="1"/> + tooltip="dynamic-shortcut-tooltip"/>
+
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ removable="true"
+ onmousedown="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
+ closemenu="none"
+ cui-areatype="toolbar"
+ tooltiptext="&libraryButton.tooltip;"
+ label="&places.library.title;"/>
+
+ </hbox>
+
+ <toolbarbutton id="nav-bar-overflow-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
+ skipintoolbarset="true"
+ tooltiptext="&navbarOverflow.label;">
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbarbutton>
+
+ <toolbaritem id="PanelUI-button"
+ removable="false">
+ <toolbarbutton id="PanelUI-menu-button"
+ class="toolbarbutton-1 badged-button"
+ consumeanchor="PanelUI-button"
+ label="&brandShortName;"
+ tooltiptext="&appmenu.tooltip;"/>
+ </toolbaritem> + </toolbaritem>
+ +
+ <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true"
+ ordinal="1000">
+ <toolbarbutton id="minimize-button"
+ tooltiptext="&fullScreenMinimize.tooltip;"
+ oncommand="window.minimize();"/>
+
+ <toolbarbutton id="restore-button"
+#ifdef XP_MACOSX
+# Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button
+# to exit fullscreen and want it to behave like other toolbar buttons.
+ class="toolbarbutton-1"
+#endif
+ tooltiptext="&fullScreenRestore.tooltip;"
+ oncommand="BrowserFullScreen();"/>
+
+ <toolbarbutton id="close-button"
+ tooltiptext="&fullScreenClose.tooltip;"
+ oncommand="BrowserTryToCloseWindow();"/>
+ </hbox>
+ </toolbar>
+
+ <toolbarset id="customToolbars" context="toolbar-context-menu"/>
+
+ <toolbar id="PersonalToolbar"
+ mode="icons" iconsize="small"
+ class="chromeclass-directories"
+ context="toolbar-context-menu"
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true"
+ customizable="true">
+ <toolbaritem id="personal-bookmarks"
+ title="&bookmarksToolbarItem.label;"
+ cui-areatype="toolbar"
+ removable="true">
+ <toolbarbutton id="bookmarks-toolbar-placeholder"
+ class="bookmark-item"
+ label="&bookmarksToolbarItem.label;"/>
+ <toolbarbutton id="bookmarks-toolbar-button"
+ class="toolbarbutton-1"
+ flex="1"
+ label="&bookmarksToolbarItem.label;"
+ oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/>
+ <hbox flex="1"
+ id="PlacesToolbar"
+ context="placesContext"
+ onmouseup="BookmarksEventHandler.onMouseUp(event);"
+ onclick="BookmarksEventHandler.onClick(event, this._placesView);"
+ oncommand="BookmarksEventHandler.onCommand(event);"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <hbox flex="1">
+ <hbox id="PlacesToolbarDropIndicatorHolder" align="center" collapsed="true">
+ <image id="PlacesToolbarDropIndicator"
+ mousethrough="always"
+ collapsed="true"/>
+ </hbox>
+ <scrollbox orient="horizontal"
+ id="PlacesToolbarItems"
+ flex="1"/>
+ <toolbarbutton type="menu"
+ id="PlacesChevron"
+ class="toolbarbutton-1"
+ mousethrough="never"
+ collapsed="true"
+ tooltiptext="&bookmarksToolbarChevron.tooltip;"
+ onpopupshowing="document.getElementById('PlacesToolbar')
+ ._placesView._onChevronPopupShowing(event);">
+ <menupopup id="PlacesChevronPopup"
+ placespopup="true"
+ tooltip="bhTooltip" popupsinherittooltip="true"
+ context="placesContext"/>
+ </toolbarbutton>
+ </hbox>
+ </hbox>
+ </toolbaritem>
+ </toolbar>
+
+ <toolbarpalette id="BrowserToolbarPalette">
+
+ <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+#ifdef XP_MACOSX
+ command="cmd_print"
+ tooltip="dynamic-shortcut-tooltip"
+#else
+ command="cmd_printPreview"
+ tooltiptext="&printButton.tooltip;"
+#endif
+ label="&printButton.label;"/>
+
+
+ <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&newNavigatorCmd.label;"
+ command="cmd_newNavigator"
+ tooltip="dynamic-shortcut-tooltip"
+ ondrop="newWindowButtonObserver.onDrop(event)"
+ ondragover="newWindowButtonObserver.onDragOver(event)"
+ ondragenter="newWindowButtonObserver.onDragOver(event)"
+ ondragexit="newWindowButtonObserver.onDragExit(event)"/>
+
+ <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="View:FullScreen"
+ type="checkbox"
+ label="&fullScreenCmd.label;"
+ tooltip="dynamic-shortcut-tooltip"/>
+
+ <toolbarbutton id="bookmarks-menu-button" + <toolbarbutton id="bookmarks-menu-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional" + class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
+ removable="true"
+#ifdef MOZ_PHOTON_THEME
+ type="menu" + type="menu"
+#else + label="&bookmarksMenuButton2.label;"
+ type="menu-button"
+#endif
+ label="&bookmarksMenuButton.label;"
+ tooltip="dynamic-shortcut-tooltip" + tooltip="dynamic-shortcut-tooltip"
+ anchor="dropmarker" + anchor="dropmarker"
+ ondragenter="PlacesMenuDNDHandler.onDragEnter(event);" + ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
+ ondragover="PlacesMenuDNDHandler.onDragOver(event);" + ondragover="PlacesMenuDNDHandler.onDragOver(event);"
+ ondragleave="PlacesMenuDNDHandler.onDragLeave(event);" + ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
+ ondrop="PlacesMenuDNDHandler.onDrop(event);" + ondrop="PlacesMenuDNDHandler.onDrop(event);"
+ cui-areatype="toolbar"
+ oncommand="BookmarkingUI.onCommand(event);"> + oncommand="BookmarkingUI.onCommand(event);">
+ <observes element="bookmarkThisPageBroadcaster" attribute="starred"/> + <observes element="bookmarkThisPageBroadcaster" attribute="starred"/>
+ <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/> + <observes element="bookmarkThisPageBroadcaster" attribute="buttontooltiptext"/>
@ -977,6 +1089,7 @@ new file mode 100644
+ placespopup="true" + placespopup="true"
+ context="placesContext" + context="placesContext"
+ openInTabs="children" + openInTabs="children"
+ onmouseup="BookmarksEventHandler.onMouseUp(event);"
+ oncommand="BookmarksEventHandler.onCommand(event);" + oncommand="BookmarksEventHandler.onCommand(event);"
+ onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);" + onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
+ onpopupshowing="BookmarkingUI.onPopupShowing(event); + onpopupshowing="BookmarkingUI.onPopupShowing(event);
@ -996,11 +1109,6 @@ new file mode 100644
+ command="Browser:ShowAllBookmarks" + command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/> + key="manBookmarkKb"/>
+ <menuseparator/> + <menuseparator/>
+ <menuitem label="&recentBookmarks.label;"
+ id="BMB_recentBookmarks"
+ disabled="true"
+ class="menuitem-iconic subviewbutton"/>
+ <menuseparator/>
+ <menu id="BMB_bookmarksToolbar" + <menu id="BMB_bookmarksToolbar"
+ class="menu-iconic bookmark-item subviewbutton" + class="menu-iconic bookmark-item subviewbutton"
+ label="&personalbarCmd.label;" + label="&personalbarCmd.label;"
@ -1055,176 +1163,18 @@ new file mode 100644
+ </menupopup> + </menupopup>
+ </toolbarbutton> + </toolbarbutton>
+ +
+ <!-- This is a placeholder for the Downloads Indicator. It is visible + <toolbaritem id="search-container"
+ during the customization of the toolbar, in the palette, and before + class="chromeclass-toolbar-additional panel-wide-item"
+ the Downloads Indicator overlay is loaded. --> + title="&searchItem.title;"
+ <toolbarbutton id="downloads-button" + align="center"
+ class="toolbarbutton-1 chromeclass-toolbar-additional badged-button" + flex="100"
+ key="key_openDownloads" + persist="width">
+ oncommand="DownloadsIndicatorView.onCommand(event);" + <searchbar id="searchbar" flex="1"/>
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
+ label="&downloads.label;"
+ removable="true"
+ cui-areatype="toolbar"
+ tooltip="dynamic-shortcut-tooltip"/>
+
+ <toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ removable="true"
+ label="&homeButton.label;"
+ ondragover="homeButtonObserver.onDragOver(event)"
+ ondragenter="homeButtonObserver.onDragOver(event)"
+ ondrop="homeButtonObserver.onDrop(event)"
+ ondragexit="homeButtonObserver.onDragExit(event)"
+ key="goHome"
+ onclick="BrowserGoHome(event);"
+ cui-areatype="toolbar"
+ aboutHomeOverrideTooltip="&abouthome.pageTitle;"/>
+ </hbox>
+
+ <toolbarbutton id="nav-bar-overflow-button"
+ class="toolbarbutton-1 chromeclass-toolbar-additional overflow-button"
+ skipintoolbarset="true"
+ tooltiptext="&navbarOverflow.label;">
+#ifdef MOZ_PHOTON_ANIMATIONS
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+#endif
+ </toolbarbutton>
+
+ <toolbaritem id="PanelUI-button"
+ class="chromeclass-toolbar-additional"
+ removable="false">
+ <toolbarbutton id="PanelUI-menu-button"
+ class="toolbarbutton-1 badged-button"
+ consumeanchor="PanelUI-button"
+ label="&brandShortName;"
+ tooltiptext="&appmenu.tooltip;"/>
+ </toolbaritem> + </toolbaritem>
+
+ <hbox id="window-controls" hidden="true" pack="end" skipintoolbarset="true"
+ ordinal="1000">
+ <toolbarbutton id="minimize-button"
+ tooltiptext="&fullScreenMinimize.tooltip;"
+ oncommand="window.minimize();"/>
+
+ <toolbarbutton id="restore-button"
+#ifdef XP_MACOSX
+# Prior to 10.7 there wasn't a native fullscreen button so we use #restore-button
+# to exit fullscreen and want it to behave like other toolbar buttons.
+ class="toolbarbutton-1"
+#endif
+ tooltiptext="&fullScreenRestore.tooltip;"
+ oncommand="BrowserFullScreen();"/>
+
+ <toolbarbutton id="close-button"
+ tooltiptext="&fullScreenClose.tooltip;"
+ oncommand="BrowserTryToCloseWindow();"/>
+ </hbox>
+ </toolbar>
+
+ <toolbarset id="customToolbars" context="toolbar-context-menu"/>
+
+ <toolbar id="PersonalToolbar"
+ mode="icons" iconsize="small"
+ class="chromeclass-directories"
+ context="toolbar-context-menu"
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true"
+ customizable="true">
+ <toolbaritem id="personal-bookmarks"
+ title="&bookmarksToolbarItem.label;"
+ cui-areatype="toolbar"
+ removable="true">
+ <toolbarbutton id="bookmarks-toolbar-placeholder"
+ class="toolbarbutton-1"
+ mousethrough="never"
+ label="&bookmarksToolbarItem.label;"
+ oncommand="PlacesToolbarHelper.onPlaceholderCommand();"/>
+ <hbox flex="1"
+ id="PlacesToolbar"
+ context="placesContext"
+ onclick="BookmarksEventHandler.onClick(event, this._placesView);"
+ oncommand="BookmarksEventHandler.onCommand(event);"
+ tooltip="bhTooltip"
+ popupsinherittooltip="true">
+ <hbox flex="1">
+ <hbox id="PlacesToolbarDropIndicatorHolder" align="center" collapsed="true">
+ <image id="PlacesToolbarDropIndicator"
+ mousethrough="always"
+ collapsed="true"/>
+ </hbox>
+ <scrollbox orient="horizontal"
+ id="PlacesToolbarItems"
+ flex="1"/>
+ <toolbarbutton type="menu"
+ id="PlacesChevron"
+ class="chevron"
+ mousethrough="never"
+ collapsed="true"
+ tooltiptext="&bookmarksToolbarChevron.tooltip;"
+ onpopupshowing="document.getElementById('PlacesToolbar')
+ ._placesView._onChevronPopupShowing(event);">
+ <menupopup id="PlacesChevronPopup"
+ placespopup="true"
+ tooltip="bhTooltip" popupsinherittooltip="true"
+ context="placesContext"/>
+ </toolbarbutton>
+ </hbox>
+ </hbox>
+ </toolbaritem>
+ </toolbar>
+
+ <!-- This is a shim which will go away ASAP. See bug 749804 for details -->
+ <toolbar id="addon-bar" toolbar-delegate="nav-bar" mode="icons" iconsize="small"
+ customizable="true">
+ <hbox id="addonbar-closebutton"/>
+ <statusbar id="status-bar"/>
+ </toolbar>
+
+ <toolbarpalette id="BrowserToolbarPalette">
+
+# Update primaryToolbarButtons in browser/themes/shared/browser.inc when adding
+# or removing default items with the toolbarbutton-1 class.
+
+ <toolbarbutton id="print-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+#ifdef XP_MACOSX
+ command="cmd_print"
+ tooltip="dynamic-shortcut-tooltip"
+#else
+ command="cmd_printPreview"
+ tooltiptext="&printButton.tooltip;"
+#endif
+ label="&printButton.label;"/>
+
+
+ <toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&newNavigatorCmd.label;"
+ command="cmd_newNavigator"
+ tooltip="dynamic-shortcut-tooltip"
+ ondrop="newWindowButtonObserver.onDrop(event)"
+ ondragover="newWindowButtonObserver.onDragOver(event)"
+ ondragenter="newWindowButtonObserver.onDragOver(event)"
+ ondragexit="newWindowButtonObserver.onDragExit(event)"/>
+
+ <toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ observes="View:FullScreen"
+ type="checkbox"
+ label="&fullScreenCmd.label;"
+ tooltip="dynamic-shortcut-tooltip"/>
+#ifdef MOZ_PHOTON_THEME
+ <toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ oncommand="PanelUI.showSubView('appMenu-libraryView', this, null, event);"
+ closemenu="none"
+ label="&places.library.title;">
+ <box class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbarbutton>
+#endif
+ </toolbarpalette> + </toolbarpalette>
+ <box id="library-animatable-box" class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbox> + </toolbox>
+ +
+ <hbox id="fullscr-toggler" hidden="true"/> + <hbox id="fullscr-toggler" hidden="true"/>
@ -1245,7 +1195,7 @@ new file mode 100644
+# To ensure the button doesn't expand unnecessarily for short labels, the +# To ensure the button doesn't expand unnecessarily for short labels, the
+# spacer should significantly out-flex the button. +# spacer should significantly out-flex the button.
+ <spacer flex="1000"/> + <spacer flex="1000"/>
+ <toolbarbutton id="sidebar-close" class="tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/> + <toolbarbutton id="sidebar-close" class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
+ </sidebarheader> + </sidebarheader>
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true" + <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/> + style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
@ -1301,24 +1251,6 @@ new file mode 100644
+ <notificationbox id="global-notificationbox" notificationside="bottom"/> + <notificationbox id="global-notificationbox" notificationside="bottom"/>
+ </vbox> + </vbox>
+ +
+ <svg:svg height="0">
+#include tab-shape.inc.svg
+#ifndef MOZ_PHOTON_THEME
+ <svg:clipPath id="urlbar-back-button-clip-path">
+#ifndef XP_MACOSX
+ <svg:path d="M -9,-4 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
+#else
+ <svg:path d="M -11,-5 a 16 16 0 0 1 0,34 l 10000,0 l 0,-34 l -10000,0 z"/>
+#endif
+ </svg:clipPath>
+#ifdef XP_WIN
+ <svg:clipPath id="urlbar-back-button-clip-path-win10">
+ <svg:path d="M -6,-2 l 0,1 a 15 15 0 0,1 0,30 l 0,1 l 10000,0 l 0,-32 l -10000,0 z" />
+ </svg:clipPath>
+#endif
+#endif
+ </svg:svg>
+
+</vbox> +</vbox>
+# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck. +# <iframe id="tab-view"> is dynamically appended as the 2nd child of #tab-view-deck.
+# Introducing the iframe dynamically, as needed, was found to be better than +# Introducing the iframe dynamically, as needed, was found to be better than
@ -1330,8 +1262,8 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn --- a/browser/base/jar.mn
+++ b/browser/base/jar.mn +++ b/browser/base/jar.mn
@@ -58,16 +58,18 @@ browser.jar: @@ -58,16 +58,18 @@ browser.jar:
content/browser/aboutSocialError.xhtml (content/aboutSocialError.xhtml) content/browser/aboutRobots-icon.png (content/aboutRobots-icon.png)
content/browser/aboutProviderDirectory.xhtml (content/aboutProviderDirectory.xhtml) content/browser/aboutRobots-widget-left.png (content/aboutRobots-widget-left.png)
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css) content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js) content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml) content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
@ -1346,8 +1278,8 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
content/browser/browser-customization.js (content/browser-customization.js) content/browser/browser-customization.js (content/browser-customization.js)
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js) content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-compacttheme.js (content/browser-compacttheme.js) content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
content/browser/browser-feeds.js (content/browser-feeds.js) #ifndef MOZILLA_OFFICIAL
content/browser/browser-fullScreenAndPointerLock.js (content/browser-fullScreenAndPointerLock.js) content/browser/browser-development-helpers.js (content/browser-development-helpers.js)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp --- a/browser/components/build/nsModule.cpp
+++ b/browser/components/build/nsModule.cpp +++ b/browser/components/build/nsModule.cpp
@ -1370,7 +1302,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
#include "rdf.h" #include "rdf.h"
#include "nsFeedSniffer.h" #include "nsFeedSniffer.h"
@@ -31,18 +31,16 @@ using namespace mozilla::browser; @@ -32,18 +32,16 @@ using namespace mozilla::browser;
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -1389,9 +1321,9 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer) NS_GENERIC_FACTORY_CONSTRUCTOR(nsFeedSniffer)
@@ -60,17 +58,17 @@ NS_DEFINE_NAMED_CID(NS_WINIEHISTORYENUME @@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID)
NS_DEFINE_NAMED_CID(NS_SHELLSERVICE_CID); NS_GENERIC_FACTORY_CONSTRUCTOR(nsSessionStoreUtils)
#endif NS_DEFINE_NAMED_CID(NS_SESSIONSTOREUTILS_CID);
static const mozilla::Module::CIDEntry kBrowserCIDs[] = { static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
{ &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor }, { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
@ -1411,13 +1343,13 @@ 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 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 --- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js
@@ -41,16 +41,23 @@ var gMainPane = { @@ -203,16 +203,23 @@ var gMainPane = {
// way to get all file type association prefs. So we don't know this._backoffIndex++ : backoffTimes.length - 1]);
// when the user will select the default. We refresh here periodically };
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open. window.setTimeout(() => {
window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000); window.requestIdleCallback(pollForDefaultBrowser);
} }, backoffTimes[this._backoffIndex]);
} }
+ var env = Components.classes["@mozilla.org/process/environment;1"] + var env = Components.classes["@mozilla.org/process/environment;1"]
@ -1427,17 +1359,17 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
+ kde_session = 1; + kde_session = 1;
+ } + }
+ +
this.initBrowserContainers();
this.buildContentProcessCountMenuList(); this.buildContentProcessCountMenuList();
this.updateDefaultPerformanceSettingsPref();
let defaultPerformancePref = let performanceSettingsLink = document.getElementById("performanceSettingsLearnMore");
document.getElementById("browser.preferences.defaultPerformanceSettings.enabled"); let performanceSettingsUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "performance";
defaultPerformancePref.addEventListener("change", () => { performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updatePerformanceSettingsBox({duringChangeEvent: true});
}); this.updateDefaultPerformanceSettingsPref();
@@ -875,16 +882,27 @@ var gMainPane = { @@ -952,16 +959,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser"); // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
alwaysCheckPref.value = true; this._backoffIndex = 0;
let shellSvc = getShellService(); let shellSvc = getShellService();
if (!shellSvc) if (!shellSvc)
@ -1466,7 +1398,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build --- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build +++ b/browser/components/shell/moz.build
@@ -38,16 +38,18 @@ if CONFIG['OS_ARCH'] == 'WINNT': @@ -39,16 +39,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
] ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [ SOURCES += [
@ -1489,7 +1421,7 @@ diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp +++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,203 @@ @@ -0,0 +1,204 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* 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 + * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -1578,7 +1510,8 @@ new file mode 100644
+ +
+NS_IMETHODIMP +NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement, +nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
+ PRInt32 aPosition) + int32_t aPosition,
+ const nsACString& aImageName)
+{ +{
+ return NS_ERROR_NOT_IMPLEMENTED; + return NS_ERROR_NOT_IMPLEMENTED;
+} +}
@ -1778,7 +1711,7 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in
@@ -664,16 +664,18 @@ @@ -666,16 +666,18 @@
@RESPATH@/browser/defaults/blocklists @RESPATH@/browser/defaults/blocklists
@RESPATH@/browser/defaults/pinning @RESPATH@/browser/defaults/pinning

View File

@ -1,18 +1,18 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 099312626f5f7c9cb5573a61d0230574ee12a660 # Parent 099312626f5f7c9cb5573a61d0230574ee12a660
# Parent b692fb539e9d0641ff557cb4b984b5e211aec572 # Parent 3d1dbfbdfa41b433352fadf3efe4a21cb45a468f
Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value Do not overwrite the locale dynamic pref from xulrunner's all.js with a wrong default value
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
--- a/browser/app/profile/firefox.js --- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js
@@ -240,17 +240,17 @@ pref("browser.uitour.readerViewTrigger", @@ -219,17 +219,17 @@ pref("browser.uitour.requireSecure", tru
pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/");
pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
// How long to show a Hearbeat survey (two hours, in seconds)
pref("browser.uitour.surveyDuration", 7200); pref("browser.uitour.surveyDuration", 7200);
pref("browser.customizemode.tip0.shown", false);
pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize");
pref("keyword.enabled", true); pref("keyword.enabled", true);
pref("browser.fixup.domainwhitelist.localhost", true); pref("browser.fixup.domainwhitelist.localhost", true);

View File

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

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

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

View File

@ -1,96 +1,96 @@
ach e7adc49e1901 ach 845e30d48dfc
af a175ec808407 af fb2bb189a1a8
an c02780857019 an a6cb9e55ca54
ar 6688a184a4ee ar b064d5ee568d
as 1b201809c30b as c8c7ce08a50d
ast 5b0c1d37dfc4 ast 7eb260478bd8
az 46f153ea025d az e53e6a85563a
be e639859bd80d be 3ee97e7a07c4
bg 45ac10a8eebb bg f5cbdea3b4bb
bn-BD 78e42794be0a bn-BD bd83d95fe12f
bn-IN b12cd5984010 bn-IN 101048b9a8bd
br 0c692a161e6a br 1b53314687e2
bs c566dcff9228 bs b3e804dbc8e2
ca 843005ebdf57 ca ef0d1d4ef0de
cak a201a160f1aa cak a3648bb10a20
cs 673e3c5d7e6d cs 528911ffcb44
cy d7785e84b2d5 cy 21e09e135ce7
da d10cb0ccbfdf da 9c08e8177409
de cbcbb67b7446 de 3d02afaa90f1
dsb 91d7f449c8b8 dsb 4f2a125adbc5
el 9fae6e0cf73a el a925e0e24aaf
en-GB 4efed4b7a026 en-GB 440d6fbf0938
en-ZA 41d36ec15733 en-ZA 4bd5e2534230
eo 75689f423fee eo 42248b1fda32
es-AR 008298fdc822 es-AR 39d7f70fbd4a
es-CL 0719cf9a02c5 es-CL e0806844a966
es-ES 89444d0f0c5e es-ES 385b05704e12
es-MX a3b2c719d335 es-MX 4322b61a47fd
et f94a081742e2 et fc5042e8d705
eu e70ce824af92 eu 1010ee63a76a
fa bd0a632a347e fa 988038c98e07
ff e9ec23d286da ff 0ae0e4ad0400
fi dee2606c0c52 fi 83ae1ba711f8
fr 444f6f248cda fr 0acb9b019381
fy-NL 5442947be711 fy-NL f66ad8f570c9
ga-IE 520a91e1b869 ga-IE b6bd9e6bf934
gd 7b8d318d7172 gd 2b1b66f8236b
gl df4a43546115 gl bd2efa51e288
gn de90f7d4ad27 gn ef1c4c22501c
gu-IN 49c0059e7b20 gu-IN 9b4d89d58ee1
he 14abb07c8067 he 923c4ce99db2
hi-IN 627e4866fa52 hi-IN 62f4cab806a5
hr 840d6fce9f2d hr 26c2911d2b28
hsb 79b769f56afb hsb 9a556a68f383
hu 75d6acab27ff hu 43fb04933e45
hy-AM 3543e3c61d51 hy-AM 6020222039ca
id 80d249bfce07 id bc055f358395
is df02eb864aba is b265b8439970
it 54ebd710b0b9 it 72e0f73d8188
ja 0f3bea597ba3 ja 9e9796b48f28
ja-JP-mac 7f49be227f5d ja-JP-mac 2cbb5add9822
ka ee6c8ed935e1 ka 43d1466fc89b
kab f53aac551d7a kab 8e739627fb01
kk 07823d99b937 kk 51aee666e469
km 3bf31b0b6d9e km 79239374c86f
kn c3db01aad2bf kn a6dd05b338cf
ko 9508383b1bb7 ko 0fccbb892229
lij c585863b419f lij d1d09ea09eff
lt 74e2d1cc81a1 lt 5f5779c69338
lv 6e57fc56b250 lv f0fd0c3546e0
mai 7c33a3406453 mai 64d402c5dbc1
mk b97e85f1e93e mk b3fb89cac86c
ml de8be9445c41 ml 9d626ede460e
mr 61ad0573f895 mr 1a23c6401834
ms 25a747386aab ms 15a3d7fccea1
my 088ce3f4319d my 2e2cc78ff945
nb-NO 1d197e5f990c nb-NO 467ca2ff0cd1
nl 5676db0716a9 nl 10957cbee7f0
nn-NO fcd11b7086e5 nn-NO 71fce03b2c6b
or f21324a0ed10 or 8c482206a700
pa-IN 4b71dd06d0e8 pa-IN a2af69c875ad
pl b71e63bbbddd pl ce3a564b00c2
pt-BR e0e7a5821812 pt-BR 71346ac29bfc
pt-PT 333e82cca862 pt-PT 387686b89f52
rm 6b8e6367d9d0 rm de3c6abf95ab
ro 84d897edfd6c ro 6e3dfa0ea030
ru aee79cd84afb ru 760cda086381
si d91975c0b4d8 si 355b25c93905
sk 8fa0e53e20c2 sk 5444e00cc3e6
sl 2abb9b1c667a sl cb6eb7e6ba4a
son be7a56e6d7fe son e9a07815a9aa
sq d9137ed745db sq c61933c72577
sr 6839a5986d5b sr 74f5c2f98346
sv-SE 621c743144e6 sv-SE f75dd8e9c4df
ta aae2aa13babf ta ad1bce7770b4
te d9cf4d3c33e0 te dde86e2a2c17
th 34c1c62bb3cf th 1950402ffa30
tr 921c1b013006 tr e8700165617b
uk 03b177ac056c uk e7b649fcf3bb
ur d97e35bba2d8 ur 9881f47a738d
uz 4807645f175b uz 9ac534694f99
vi fa843de1fbed vi 601e9a63473e
xh 7011a348aa3b xh 4d22de472867
zh-CN 3ebe225f8ae8 zh-CN 8aff87add86f
zh-TW 99c6d5ce2901 zh-TW 2ac3b80bdb6e

View File

@ -1,12 +1,12 @@
# HG changeset patch # HG changeset patch
# Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10 # Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
# Parent d36d722c028f553ac3fb2f3655fb2c0ca745050c # Parent 6906d2adcc834114de3118365cb75b113df8564e
Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
--- a/netwerk/base/nsIOService.cpp --- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp +++ b/netwerk/base/nsIOService.cpp
@@ -874,17 +874,23 @@ nsIOService::NewChannelFromURIWithProxyF @@ -892,17 +892,23 @@ nsIOService::NewChannelFromURIWithProxyF
"doesn't support nsIUploadChannel2. An extension has " "doesn't support nsIUploadChannel2. An extension has "
"supplied a non-functional http protocol handler. This will " "supplied a non-functional http protocol handler. This will "
"break behavior and in future releases not work at all."); "break behavior and in future releases not work at all.");

View File

@ -0,0 +1,102 @@
# 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,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent a930d4c1c3fba77f61071becdc51e3232e0b72ca # Parent 87a32e5d11e9d652e331a5f852bb951069b20c4a
Description: Add KDE integration to Firefox (toolkit parts) Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com> Author: Lubos Lunak <lunak@suse.com>
@ -9,10 +9,10 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp --- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp
@@ -33,16 +33,17 @@ @@ -37,16 +37,17 @@
#include "nsIZipReader.h" #include "nsIZipReader.h"
#include "nsPrefBranch.h" #include "nsPrefBranch.h"
#include "nsXPIDLString.h" #include "nsString.h"
#include "nsCRT.h" #include "nsCRT.h"
#include "nsCOMArray.h" #include "nsCOMArray.h"
#include "nsXPCOMCID.h" #include "nsXPCOMCID.h"
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#include "prefread.h" #include "prefread.h"
#include "prefapi_private_data.h" #include "prefapi_private_data.h"
@@ -1435,16 +1436,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char @@ -1413,16 +1414,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId) static nsresult pref_LoadPrefsInDirList(const char *listId)
{ {
@ -62,7 +62,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
return NS_OK; return NS_OK;
bool hasMore; bool hasMore;
@@ -1460,17 +1479,17 @@ static nsresult pref_LoadPrefsInDirList( @@ -1438,17 +1457,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf; nsAutoCString leaf;
path->GetNativeLeafName(leaf); path->GetNativeLeafName(leaf);
@ -79,9 +79,9 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name) static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
{ {
nsZipItemPtr<char> manifest(jarReader, name, true); nsCString manifest;
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE); MOZ_TRY_VAR(manifest, URLPreloader::ReadZip(jarReader, nsDependentCString(name)));
@@ -1566,24 +1585,36 @@ pref_InitInitialObjects() @@ -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 */ /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = { static const char* specialFiles[] = {
#if defined(XP_MACOSX) #if defined(XP_MACOSX)
@ -121,7 +121,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build diff --git a/modules/libpref/moz.build b/modules/libpref/moz.build
--- a/modules/libpref/moz.build --- a/modules/libpref/moz.build
+++ b/modules/libpref/moz.build +++ b/modules/libpref/moz.build
@@ -33,16 +33,20 @@ EXPORTS.mozilla += [ @@ -31,16 +31,20 @@ EXPORTS.mozilla += [
UNIFIED_SOURCES += [ UNIFIED_SOURCES += [
'nsPrefBranch.cpp', 'nsPrefBranch.cpp',
'nsPrefsFactory.cpp', 'nsPrefsFactory.cpp',
@ -166,8 +166,7 @@ diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/c
diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpack/chrome/manifest.py
--- a/python/mozbuild/mozpack/chrome/manifest.py --- a/python/mozbuild/mozpack/chrome/manifest.py
+++ b/python/mozbuild/mozpack/chrome/manifest.py +++ b/python/mozbuild/mozpack/chrome/manifest.py
@@ -33,16 +33,17 @@ class ManifestEntry(object): @@ -34,16 +34,17 @@ class ManifestEntry(object):
'application',
'platformversion', 'platformversion',
'os', 'os',
'osversion', 'osversion',
@ -175,6 +174,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
'xpcnativewrappers', 'xpcnativewrappers',
'tablet', 'tablet',
'process', 'process',
'contentaccessible',
+ 'desktop', + 'desktop',
] ]
@ -568,7 +568,7 @@ new file mode 100644
+ if (/Win/.test(navigator.platform)) { + if (/Win/.test(navigator.platform)) {
+ var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer"); + var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
+ spacer.removeAttribute("hidden"); + spacer.removeAttribute("hidden");
+ spacer.setAttribute("flex", shown["extra2"] ? "1" : "0"); + spacer.setAttribute("flex", shown.extra2 ? "1" : "0");
+ } + }
+ } + }
+ ]]> + ]]>
@ -803,7 +803,7 @@ new file mode 100644
+ </field> + </field>
+ <field name="rootBranchInternal"> + <field name="rootBranchInternal">
+ Components.classes["@mozilla.org/preferences-service;1"] + Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranchInternal); + .getService(Components.interfaces.nsIPrefBranch);
+ </field> + </field>
+ <property name="type" readonly="true"> + <property name="type" readonly="true">
+ <getter> + <getter>
@ -1083,7 +1083,7 @@ new file mode 100644
+ return fontEnumerator.getStandardFamilyName(family); + return fontEnumerator.getStandardFamilyName(family);
+ case "file": + case "file":
+ var f = this._branch + var f = this._branch
+ .getComplexValue(this.name, Components.interfaces.nsILocalFile); + .getComplexValue(this.name, Components.interfaces.nsIFile);
+ return f; + return f;
+ default: + default:
+ this._reportUnknownType(); + this._reportUnknownType();
@ -1128,14 +1128,14 @@ new file mode 100644
+ var lf; + var lf;
+ if (typeof(val) == "string") { + if (typeof(val) == "string") {
+ lf = Components.classes["@mozilla.org/file/local;1"] + lf = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile); + .createInstance(Components.interfaces.nsIFile);
+ lf.persistentDescriptor = val; + lf.persistentDescriptor = val;
+ if (!lf.exists()) + if (!lf.exists())
+ lf.initWithPath(val); + lf.initWithPath(val);
+ } else + } else
+ lf = val.QueryInterface(Components.interfaces.nsILocalFile); + lf = val.QueryInterface(Components.interfaces.nsIFile);
+ this.preferences.rootBranch + this.preferences.rootBranch
+ .setComplexValue(this.name, Components.interfaces.nsILocalFile, lf); + .setComplexValue(this.name, Components.interfaces.nsIFile, lf);
+ break; + break;
+ default: + default:
+ this._reportUnknownType(); + this._reportUnknownType();
@ -2883,7 +2883,7 @@ diff --git a/uriloader/exthandler/unix/nsKDERegistry.cpp b/uriloader/exthandler/
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/uriloader/exthandler/unix/nsKDERegistry.cpp +++ b/uriloader/exthandler/unix/nsKDERegistry.cpp
@@ -0,0 +1,88 @@ @@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* 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 + * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -2893,7 +2893,6 @@ new file mode 100644
+#include "prlink.h" +#include "prlink.h"
+#include "prmem.h" +#include "prmem.h"
+#include "nsString.h" +#include "nsString.h"
+#include "nsILocalFile.h"
+#include "nsMIMEInfoUnix.h" +#include "nsMIMEInfoUnix.h"
+#include "nsAutoPtr.h" +#include "nsAutoPtr.h"
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
@ -2989,8 +2988,8 @@ new file mode 100644
+#include "nsTArray.h" +#include "nsTArray.h"
+ +
+class nsMIMEInfoBase; +class nsMIMEInfoBase;
+class nsAutoCString; +//class nsAutoCString;
+class nsCString; +//class nsCString;
+ +
+class nsKDERegistry +class nsKDERegistry
+{ +{
@ -3126,10 +3125,10 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#include "nsString.h" #include "nsString.h"
#include "nsReadableUtils.h" #include "nsReadableUtils.h"
#include "nsUnicharUtils.h" #include "nsUnicharUtils.h"
#include "nsXPIDLString.h"
#include "nsIURL.h" #include "nsIURL.h"
#include "nsIFileStreams.h" #include "nsIFileStreams.h"
@@ -1143,26 +1143,26 @@ nsresult nsOSHelperAppService::OSProtoco #include "nsILineInputStream.h"
@@ -1142,26 +1142,26 @@ nsresult nsOSHelperAppService::OSProtoco
ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':'); ContentAction::Action::defaultActionForScheme(QString(aProtocolScheme) + ':');
if (action.isValid()) if (action.isValid())
@ -3158,7 +3157,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile) nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile)
{ {
@@ -1249,17 +1249,17 @@ nsOSHelperAppService::GetFromExtension(c @@ -1248,17 +1248,17 @@ nsOSHelperAppService::GetFromExtension(c
mime_types_description, mime_types_description,
true); true);
@ -3177,7 +3176,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt),
majorType, majorType,
@@ -1370,17 +1370,17 @@ nsOSHelperAppService::GetFromType(const @@ -1369,17 +1369,17 @@ nsOSHelperAppService::GetFromType(const
nsAutoString extensions, mime_types_description; nsAutoString extensions, mime_types_description;
LookUpExtensionsAndDescription(majorType, LookUpExtensionsAndDescription(majorType,
minorType, minorType,
@ -3306,7 +3305,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ return NS_OK; + return NS_OK;
+ } + }
+ +
nsXPIDLCString title; nsCString title;
title.Adopt(ToNewUTF8String(mTitle)); title.Adopt(ToNewUTF8String(mTitle));
GtkWindow *parent_widget = GtkWindow *parent_widget =
@ -3354,7 +3353,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ if( mMode == modeOpen && mFilters.Length() == 1 && mFilters[ 0 ].EqualsLiteral( "..apps" )) + if( mMode == modeOpen && mFilters.Length() == 1 && mFilters[ 0 ].EqualsLiteral( "..apps" ))
+ return kdeAppsDialog( aReturn ); + return kdeAppsDialog( aReturn );
+ +
+ nsXPIDLCString title; + nsCString title;
+ title.Adopt(ToNewUTF8String(mTitle)); + title.Adopt(ToNewUTF8String(mTitle));
+ +
+ const char* arg = NULL; + const char* arg = NULL;
@ -3521,7 +3520,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ { + {
+ NS_ENSURE_ARG_POINTER(aReturn); + NS_ENSURE_ARG_POINTER(aReturn);
+ +
+ nsXPIDLCString title; + nsCString title;
+ title.Adopt(ToNewUTF8String(mTitle)); + title.Adopt(ToNewUTF8String(mTitle));
+ +
+ nsTArray<nsCString> command; + nsTArray<nsCString> command;
@ -3727,7 +3726,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp --- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -46,16 +46,17 @@ @@ -45,16 +45,17 @@
#include "prproces.h" #include "prproces.h"
#include "nsIDirectoryEnumerator.h" #include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h" #include "nsISimpleEnumerator.h"
@ -3745,7 +3744,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h" #include "prmem.h"
#include "plbase64.h" #include "plbase64.h"
@@ -1941,59 +1942,74 @@ nsLocalFile::SetPersistentDescriptor(con @@ -1938,59 +1939,74 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor); return InitWithNativePath(aPersistentDescriptor);
#endif #endif
} }

View File

@ -1,65 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent 242f2521ed48bb63b91582956b5e4af80bcb3378
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp
+++ b/intl/locale/nsLocaleService.cpp
@@ -116,16 +116,17 @@ nsLocaleService::nsLocaleService(void)
NS_ENSURE_SUCCESS_VOID(rv);
#endif
#if defined(XP_UNIX) && !defined(XP_MACOSX)
RefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE_VOID(resultLocale);
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
int i;
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
// setlocale( , "") evaluates LC_* and LANG
@@ -151,16 +152,37 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
}
}
if (NS_FAILED(result)) {
return;
}
+ // LANGUAGE is overriding LC_MESSAGES
+ // it can be a colon separated list of preferred languages
+ // as we do not recognize here if a language is available
+ // we actually only consider the first entry unless GetXPLocale
+ // fails completely
+ if (i == LC_MESSAGES && language && *language) {
+#define LANGUAGE_SEP ":"
+ nsAutoString xpLocale_temp;
+ char* rawBuffer = (char*) language;
+ char* token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer);
+ for (; token;
+ token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer)) {
+ result = nsPosixLocale::GetXPLocale(token, xpLocale_temp);
+ if (NS_SUCCEEDED(result)) {
+ CopyASCIItoUTF16(token, platformLocale);
+ xpLocale = xpLocale_temp;
+ break;
+ }
+ }
+ }
+
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}
mSystemLocale = do_QueryInterface(resultLocale);
mApplicationLocale = do_QueryInterface(resultLocale);
#endif // XP_UNIX

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9 # Parent 8f6d1846ca837387965573161577b1c5a483bcda
diff --git a/config/config.mk b/config/config.mk diff --git a/config/config.mk b/config/config.mk
--- a/config/config.mk --- a/config/config.mk
+++ b/config/config.mk +++ b/config/config.mk
@@ -653,17 +653,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android) @@ -579,17 +579,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
# of the linker command line), if libmozglue.so ends up after libc.so, all # of the linker command line), if libmozglue.so ends up after libc.so, all
# hell breaks loose, so better safe than sorry, and check it's actually the # hell breaks loose, so better safe than sorry, and check it's actually the
# case. # case.

View File

@ -1,7 +1,7 @@
# HG changeset patch # HG changeset patch
# User Petr Cerny <pcerny@novell.com> # User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6 # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent fe1932b7223a298863663244accc524d474a9f6d # Parent 6a285f641aa53b55ec6480a8a7945a179e5c1506
Bug 634334 - call to the ntlm_auth helper fails Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp

View File

@ -1,7 +1,7 @@
# HG changeset patch # HG changeset patch
# Parent 33024abb3c58dab7239e32388df58e14f99defd5 # Parent 33024abb3c58dab7239e32388df58e14f99defd5
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 6005a673f4c68ed05294bedcf45d6d962bf303e6 # Parent 0cfd693fdbbb0635787f1aeacee2dda43b01c495
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c --- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c

View File

@ -13,11 +13,15 @@ home/abuild/rpmbuild/BUILD/obj/dom/bindings/UnifiedBindings16.cpp
[ 1636s] c++: internal compiler error: Killed (program cc1plus) [ 1636s] c++: internal compiler error: Killed (program cc1plus)
[ 1636s] Please submit a full bug report, [ 1636s] Please submit a full bug report,
Index: mozilla/python/mozbuild/mozbuild/backend/common.py diff --git a/python/mozbuild/mozbuild/backend/common.py b/python/mozbuild/mozbuild/backend/common.py
=================================================================== --- a/python/mozbuild/mozbuild/backend/common.py
--- mozilla.orig/python/mozbuild/mozbuild/backend/common.py 2016-02-26 17:19:30.331667693 +0100 +++ b/python/mozbuild/mozbuild/backend/common.py
+++ mozilla/python/mozbuild/mozbuild/backend/common.py 2016-02-26 17:19:39.792569676 +0100 @@ -386,17 +386,17 @@ class CommonBackend(BuildBackend):
@@ -333,7 +333,7 @@ class CommonBackend(BuildBackend): )
self._handle_generated_sources(manager.expected_build_output_files())
# Bindings are compiled in unified mode to speed up compilation and
# to reduce linker memory size. Note that test bindings are separated
# from regular ones so tests bindings aren't shipped.
unified_source_mapping = list(group_unified_files(webidls.all_regular_cpp_basenames(), unified_source_mapping = list(group_unified_files(webidls.all_regular_cpp_basenames(),
unified_prefix='UnifiedBindings', unified_prefix='UnifiedBindings',
unified_suffix='cpp', unified_suffix='cpp',
@ -26,3 +30,8 @@ Index: mozilla/python/mozbuild/mozbuild/backend/common.py
self._write_unified_files(unified_source_mapping, bindings_dir, self._write_unified_files(unified_source_mapping, bindings_dir,
poison_windows_h=True) poison_windows_h=True)
self._handle_webidl_build(bindings_dir, unified_source_mapping, self._handle_webidl_build(bindings_dir, unified_source_mapping,
webidls,
manager.expected_build_output_files(),
manager.GLOBAL_DEFINE_FILES)
def _write_unified_file(self, unified_file, source_filenames,

View File

@ -1,313 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent f6b8a48d89d77c7a3eb13fef234c618943306c2b
Replace struct ucontext with ucontext_t
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.cc
@@ -35,25 +35,25 @@
namespace google_breakpad {
// Minidump defines register structures which are different from the raw
// structures which we get from the kernel. These are platform specific
// functions to juggle the ucontext and user structures into minidump format.
#if defined(__i386__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_ESP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_EIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp) {
const greg_t* regs = uc->uc_mcontext.gregs;
out->context_flags = MD_CONTEXT_X86_FULL |
MD_CONTEXT_X86_FLOATING_POINT;
out->gs = regs[REG_GS];
out->fs = regs[REG_FS];
@@ -83,25 +83,25 @@ void UContextReader::FillCPUContext(RawC
out->float_save.data_selector = fp->datasel;
// 8 registers * 10 bytes per register.
my_memcpy(out->float_save.register_area, fp->_st, 10 * 8);
}
#elif defined(__x86_64)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RSP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[REG_RIP];
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fpregs) {
const greg_t* regs = uc->uc_mcontext.gregs;
out->context_flags = MD_CONTEXT_AMD64_FULL;
out->cs = regs[REG_CSGSFS] & 0xffff;
out->fs = (regs[REG_CSGSFS] >> 32) & 0xffff;
@@ -140,25 +140,25 @@ void UContextReader::FillCPUContext(RawC
out->flt_save.mx_csr = fpregs->mxcsr;
out->flt_save.mx_csr_mask = fpregs->mxcr_mask;
my_memcpy(&out->flt_save.float_registers, &fpregs->_st, 8 * 16);
my_memcpy(&out->flt_save.xmm_registers, &fpregs->_xmm, 16 * 16);
}
#elif defined(__ARM_EABI__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.arm_pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
out->context_flags = MD_CONTEXT_ARM_FULL;
out->iregs[0] = uc->uc_mcontext.arm_r0;
out->iregs[1] = uc->uc_mcontext.arm_r1;
out->iregs[2] = uc->uc_mcontext.arm_r2;
out->iregs[3] = uc->uc_mcontext.arm_r3;
out->iregs[4] = uc->uc_mcontext.arm_r4;
out->iregs[5] = uc->uc_mcontext.arm_r5;
@@ -179,25 +179,25 @@ void UContextReader::FillCPUContext(RawC
// TODO: fix this after fixing ExceptionHandler
out->float_save.fpscr = 0;
my_memset(&out->float_save.regs, 0, sizeof(out->float_save.regs));
my_memset(&out->float_save.extra, 0, sizeof(out->float_save.extra));
}
#elif defined(__aarch64__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.sp;
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs) {
out->context_flags = MD_CONTEXT_ARM64_FULL;
out->cpsr = static_cast<uint32_t>(uc->uc_mcontext.pstate);
for (int i = 0; i < MD_CONTEXT_ARM64_REG_SP; ++i)
out->iregs[i] = uc->uc_mcontext.regs[i];
out->iregs[MD_CONTEXT_ARM64_REG_SP] = uc->uc_mcontext.sp;
out->iregs[MD_CONTEXT_ARM64_REG_PC] = uc->uc_mcontext.pc;
@@ -205,25 +205,25 @@ void UContextReader::FillCPUContext(RawC
out->float_save.fpsr = fpregs->fpsr;
out->float_save.fpcr = fpregs->fpcr;
my_memcpy(&out->float_save.regs, &fpregs->vregs,
MD_FLOATINGSAVEAREA_ARM64_FPR_COUNT * 16);
}
#elif defined(__mips__)
-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
}
-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
return uc->uc_mcontext.pc;
}
-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
#if _MIPS_SIM == _ABI64
out->context_flags = MD_CONTEXT_MIPS64_FULL;
#elif _MIPS_SIM == _ABIO32
out->context_flags = MD_CONTEXT_MIPS_FULL;
#else
#error "This mips ABI is currently not supported (n32)"
#endif
diff --git a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
--- a/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
+++ b/toolkit/crashreporter/breakpad-client/linux/dump_writer_common/ucontext_reader.h
@@ -36,29 +36,29 @@
#include "linux/dump_writer_common/raw_context_cpu.h"
#include "common/memory.h"
#include "google_breakpad/common/minidump_format.h"
namespace google_breakpad {
// Wraps platform-dependent implementations of accessors to ucontext structs.
struct UContextReader {
- static uintptr_t GetStackPointer(const struct ucontext* uc);
+ static uintptr_t GetStackPointer(const ucontext_t* uc);
- static uintptr_t GetInstructionPointer(const struct ucontext* uc);
+ static uintptr_t GetInstructionPointer(const ucontext_t* uc);
// Juggle a arch-specific ucontext into a minidump format
// out: the minidump structure
// info: the collection of register structures.
#if defined(__i386__) || defined(__x86_64)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct _libc_fpstate* fp);
#elif defined(__aarch64__)
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
const struct fpsimd_context* fpregs);
#else
- static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
+ static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
#endif
};
} // namespace google_breakpad
#endif // CLIENT_LINUX_DUMP_WRITER_COMMON_UCONTEXT_READER_H
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.cc
@@ -434,30 +434,30 @@ bool ExceptionHandler::HandleSignal(int
info->si_code == SI_TKILL;
if (signal_trusted || (signal_pid_trusted && info->si_pid == getpid())) {
sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
}
// Fill in all the holes in the struct to make Valgrind happy.
memset(&g_crash_context_, 0, sizeof(g_crash_context_));
memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
- memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
+ memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
#if defined(__aarch64__)
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
struct fpsimd_context* fp_ptr =
(struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
if (fp_ptr->head.magic == FPSIMD_MAGIC) {
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
}
#elif !defined(__ARM_EABI__) && !defined(__mips__)
// FP state is not part of user ABI on ARM Linux.
// In case of MIPS Linux FP state is already part of struct ucontext
// and 'float_state' is not a member of CrashContext.
- struct ucontext* uc_ptr = (struct ucontext*)uc;
+ ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
sizeof(g_crash_context_.float_state));
}
#endif
g_crash_context_.tid = syscall(__NR_gettid);
if (crash_handler_ != NULL) {
if (crash_handler_(&g_crash_context_, sizeof(g_crash_context_),
@@ -471,17 +471,17 @@ bool ExceptionHandler::HandleSignal(int
// This is a public interface to HandleSignal that allows the client to
// generate a crash dump. This function may run in a compromised context.
bool ExceptionHandler::SimulateSignalDelivery(int sig) {
siginfo_t siginfo = {};
// Mimic a trusted signal to allow tracing the process (see
// ExceptionHandler::HandleSignal().
siginfo.si_code = SI_USER;
siginfo.si_pid = getpid();
- struct ucontext context;
+ ucontext_t context;
getcontext(&context);
return HandleSignal(sig, &siginfo, &context);
}
// This function may run in a compromised context: see the top of the file.
bool ExceptionHandler::GenerateDump(CrashContext *context) {
if (IsOutOfProcess())
return crash_generation_client_->RequestDump(context, sizeof(*context));
diff --git a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
--- a/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
+++ b/toolkit/crashreporter/breakpad-client/linux/handler/exception_handler.h
@@ -186,17 +186,17 @@ class ExceptionHandler {
MinidumpCallback callback,
void* callback_context);
// This structure is passed to minidump_writer.h:WriteMinidump via an opaque
// blob. It shouldn't be needed in any user code.
struct CrashContext {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
- struct ucontext context;
+ ucontext_t context;
#if !defined(__ARM_EABI__) && !defined(__mips__)
// #ifdef this out because FP state is not part of user ABI for Linux ARM.
// In case of MIPS Linux FP state is already part of struct
// ucontext so 'float_state' is not required.
fpstate_t float_state;
#endif
};
diff --git a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
--- a/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/microdump_writer/microdump_writer.cc
@@ -566,17 +566,17 @@ class MicrodumpWriter {
++iter) {
DumpModule(iter->first, false, 0, iter->second);
}
return true;
}
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- const struct ucontext* const ucontext_;
+ const ucontext_t* const ucontext_;
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
const MappingList& mapping_list_;
const MicrodumpExtraInfo microdump_extra_info_;
char* log_line_;
};
diff --git a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
--- a/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
+++ b/toolkit/crashreporter/breakpad-client/linux/minidump_writer/minidump_writer.cc
@@ -1242,17 +1242,17 @@ class MinidumpWriter {
return false;
return WriteFile(result, buf);
}
// Only one of the 2 member variables below should be set to a valid value.
const int fd_; // File descriptor where the minidum should be written.
const char* path_; // Path to the file where the minidum should be written.
- const struct ucontext* const ucontext_; // also from the signal handler
+ const ucontext_t* const ucontext_; // also from the signal handler
#if !defined(__ARM_EABI__) && !defined(__mips__)
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
MinidumpFileWriter minidump_writer_;
off_t minidump_size_limit_;
MDLocationDescriptor crashing_thread_context_;
// Blocks of memory written to the dump. These are all currently

View File

@ -1,2 +1,2 @@
REV=66ffd1657af8 REV=8af8bd128bd0
REPO=http://hg.mozilla.org/releases/mozilla-release REPO=http://hg.mozilla.org/releases/mozilla-release