Accepting request 670835 from mozilla:Factory

Hope that the i586 build issue is fixed. It worked in my OBS project but not sure if it occasionally still could fail.

- Mozilla Firefox 65.0
  * Enhanced tracking protection
  * allow switching of UI locales within preferences
  * support for the WebP image format
  * "top"-like about:performance
  MFSA 2019-01 (bsc#1122983)
  * CVE-2018-18500 bmo#1510114
    Use-after-free parsing HTML5 stream
  * CVE-2018-18503 bmo#1509442
    Memory corruption with Audio Buffer
  * CVE-2018-18504 bmo#1496413
    Memory corruption and out-of-bounds read of texture client
  * CVE-2018-18505 bmo#1497749
    Privilege escalation through IPC channel messages
  * CVE-2018-18506 bmo#1503393
    Proxy Auto-Configuration file can define localhost access to be proxied
  * CVE-2018-18502 bmo#1499426 bmo#1480090 bmo#1472990 bmo#1514762
    bmo#1501482 bmo#1505887 bmo#1508102 bmo#1508618 bmo#1511580
    bmo#1493497 bmo#1510145 bmo#1516289 bmo#1506798 bmo#1512758
    Memory safety bugs fixed in Firefox 65
  * CVE-2018-18501 bmo#1512450 bmo#1517542 bmo#1513201 bmo#1460619
    bmo#1502871 bmo#1516738 bmo#1516514
    Memory safety bugs fixed in Firefox 65 and Firefox ESR 60.5
- requires
  NSS 3.41
  rust/carge 1.30
  rust-cbindgen 0.6.7
- rebased patches
- remove workaround for build memory consumption on i586; other
  mitigations meanwhile introduced (mainly parallelity) will be

OBS-URL: https://build.opensuse.org/request/show/670835
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=281
This commit is contained in:
Stephan Kulow 2019-02-06 14:44:38 +00:00 committed by Git OBS Bridge
commit 2311809748
20 changed files with 480 additions and 462 deletions

View File

@ -1,3 +1,76 @@
-------------------------------------------------------------------
Sat Jan 26 22:37:01 UTC 2019 - Wolfgang Rosenauer <wr@rosenauer.org>
- Mozilla Firefox 65.0
* Enhanced tracking protection
* allow switching of UI locales within preferences
* support for the WebP image format
* "top"-like about:performance
MFSA 2019-01 (bsc#1122983)
* CVE-2018-18500 bmo#1510114
Use-after-free parsing HTML5 stream
* CVE-2018-18503 bmo#1509442
Memory corruption with Audio Buffer
* CVE-2018-18504 bmo#1496413
Memory corruption and out-of-bounds read of texture client
* CVE-2018-18505 bmo#1497749
Privilege escalation through IPC channel messages
* CVE-2018-18506 bmo#1503393
Proxy Auto-Configuration file can define localhost access to be proxied
* CVE-2018-18502 bmo#1499426 bmo#1480090 bmo#1472990 bmo#1514762
bmo#1501482 bmo#1505887 bmo#1508102 bmo#1508618 bmo#1511580
bmo#1493497 bmo#1510145 bmo#1516289 bmo#1506798 bmo#1512758
Memory safety bugs fixed in Firefox 65
* CVE-2018-18501 bmo#1512450 bmo#1517542 bmo#1513201 bmo#1460619
bmo#1502871 bmo#1516738 bmo#1516514
Memory safety bugs fixed in Firefox 65 and Firefox ESR 60.5
- requires
NSS 3.41
rust/carge 1.30
rust-cbindgen 0.6.7
- rebased patches
- remove workaround for build memory consumption on i586; other
mitigations meanwhile introduced (mainly parallelity) will be
sufficient
mozilla-reduce-files-per-UnifiedBindings.patch
-------------------------------------------------------------------
Tue Jan 15 14:32:03 UTC 2019 - Martin Liška <mliska@suse.cz>
- Increase disk constraint.
-------------------------------------------------------------------
Mon Jan 14 12:12:12 UTC 2019 - Martin Liška <mliska@suse.cz>
- Remove -v from mach build in order to work-around bmo#1500436.
-------------------------------------------------------------------
Fri Jan 11 15:07:14 UTC 2019 - Martin Liška <mliska@suse.cz>
- Set %clang_build to false on all architectures
- Do not use -fno-delete-null-pointer-checks and -fno-strict-aliasing:
it should not be needed anymore
- Do not overwrite enable-optimize and when possible
enable --enable-debug-symbols.
- Add -v to mach in order to make build verbose.
-------------------------------------------------------------------
Wed Jan 9 22:40:14 UTC 2019 - astieger@suse.com
- Mozilla Firefox 64.0.2:
* Update the Japanese translation for missing strings (bmo#1513259)
* Properly restore column sizes in developer tools inspector (bmo#1503175)
* Fixed video stuttering on Youtube (bmo#1513511)
* Fix updates for some lightweight themes (bmo#1508777)
-------------------------------------------------------------------
Tue Dec 18 14:46:41 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Enable build_hardened for all architectures
- Switch back aarch64 to clang as '-fPIC' fixes bmo#1513605
- Remove obolete '--enable-pie' as -pie is always enabled for
gcc and clang
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Dec 12 17:33:29 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org> Wed Dec 12 17:33:29 UTC 2018 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -1,8 +1,8 @@
# #
# spec file for package MozillaFirefox # spec file for package MozillaFirefox
# #
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2018 Wolfgang Rosenauer # 2006-2019 Wolfgang Rosenauer
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,29 +18,20 @@
# changed with every update # changed with every update
%define major 64 %define major 65
%define mainver %major.0 %define mainver %major.0
%define orig_version 64.0 %define orig_version 65.0
%define orig_suffix %{nil} %define orig_suffix %{nil}
%define update_channel release %define update_channel release
%define branding 1 %define branding 1
%define releasedate 20181206201918 %define releasedate 20190124174741
%define source_prefix firefox-%{orig_version} %define source_prefix firefox-%{orig_version}
# use clang (upstream default since 64.0) # always build with GCC as SUSE Security Team requires that
%if 0%{?suse_version} > 1320
%define clang_build 1
%endif
# Except on aarch64 due to bmo#1513605
# and on %%arm due to large ld memory requirements
%ifarch %arm aarch64
%define clang_build 0 %define clang_build 0
%endif
# PIE, full relro (x86_64 for now) # PIE, full relro
%ifnarch %arm aarch64
%define build_hardened 1 %define build_hardened 1
%endif
# Firefox only supports i686 # Firefox only supports i686
%ifarch %ix86 %ifarch %ix86
@ -78,7 +69,7 @@ BuildRequires: gcc7-c++
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
BuildRequires: cargo >= 1.29 BuildRequires: cargo >= 1.30
BuildRequires: libXcomposite-devel BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libidl-devel BuildRequires: libidl-devel
@ -87,13 +78,13 @@ BuildRequires: libnotify-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.20 BuildRequires: mozilla-nspr-devel >= 4.20
BuildRequires: mozilla-nss-devel >= 3.40.1 BuildRequires: mozilla-nss-devel >= 3.41
BuildRequires: nodejs8 >= 8.11 BuildRequires: nodejs8 >= 8.11
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: python2-xml BuildRequires: python2-xml
BuildRequires: python3 >= 3.5 BuildRequires: python3 >= 3.5
BuildRequires: rust >= 1.29 BuildRequires: rust >= 1.30
BuildRequires: rust-cbindgen >= 0.6.4 BuildRequires: rust-cbindgen >= 0.6.7
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
BuildRequires: unzip BuildRequires: unzip
BuildRequires: update-desktop-files BuildRequires: update-desktop-files
@ -168,7 +159,6 @@ Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-kde.patch Patch2: mozilla-kde.patch
Patch3: mozilla-ntlm-full-path.patch Patch3: mozilla-ntlm-full-path.patch
Patch4: mozilla-openaes-decl.patch Patch4: mozilla-openaes-decl.patch
Patch6: mozilla-reduce-files-per-UnifiedBindings.patch
Patch7: mozilla-aarch64-startup-crash.patch Patch7: mozilla-aarch64-startup-crash.patch
Patch8: mozilla-bmo256180.patch Patch8: mozilla-bmo256180.patch
Patch9: mozilla-bmo1463035.patch Patch9: mozilla-bmo1463035.patch
@ -276,9 +266,6 @@ cd $RPM_BUILD_DIR/%{source_prefix}
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%ifarch %ix86
%patch6 -p1
%endif
%patch7 -p1 %patch7 -p1
%patch8 -p1 %patch8 -p1
%patch9 -p1 %patch9 -p1
@ -316,21 +303,12 @@ export CC=gcc
export CXX=g++ export CXX=g++
%endif %endif
%endif %endif
export CFLAGS="%{optflags} -fno-strict-aliasing"
# boo#986541: add -fno-delete-null-pointer-checks for gcc6
%if 0%{?clang_build} == 0
%if 0%{?suse_version} > 1320
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
%endif
%endif
%ifarch %arm %ix86 %ifarch %arm %ix86
# Limit RAM usage during link # Limit RAM usage during link
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif %endif
%if 0%{?build_hardened} %if 0%{?build_hardened}
%ifarch x86_64 export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
export LDFLAGS="${LDFLAGS} -Wl,-z,relro,-z,now"
%endif
%endif %endif
%ifarch ppc64 ppc64le %ifarch ppc64 ppc64le
%if 0%{?clang_build} == 0 %if 0%{?clang_build} == 0
@ -354,18 +332,11 @@ ac_add_options --enable-default-toolkit=cairo-gtk3
%if 0%{?suse_version} >= 1550 %if 0%{?suse_version} >= 1550
ac_add_options --disable-gconf ac_add_options --disable-gconf
%endif %endif
%if 0%{?build_hardened}
%if 0%{?clang_build} == 0
ac_add_options --enable-pie
%endif
%endif
# gcc7 (boo#104105)
%if 0%{?suse_version} > 1320
ac_add_options --enable-optimize="-g -O2"
%endif
# bmo#1441155 - Disable the generation of Rust debug symbols on Linux32 # bmo#1441155 - Disable the generation of Rust debug symbols on Linux32
%ifarch %ix86 %arm %ifarch %ix86 %arm
ac_add_options --disable-debug-symbols ac_add_options --disable-debug-symbols
%else
ac_add_options --enable-debug-symbols
%endif %endif
%if 0%{?suse_version} > 1549 %if 0%{?suse_version} > 1549
%ifnarch aarch64 ppc64 ppc64le %ifnarch aarch64 ppc64 ppc64le

View File

@ -2,10 +2,10 @@
<constraints> <constraints>
<hardware> <hardware>
<disk> <disk>
<size unit="G">16</size> <size unit="G">20</size>
</disk> </disk>
<memory> <memory>
<size unit="G">12</size> <size unit="G">8</size>
</memory> </memory>
</hardware> </hardware>
<overwrite> <overwrite>

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:08c89c246ee082e7b61a333ee0d0a2e6ddf8c9ac12688cbf4ad50dafb0de7ad5 oid sha256:5a96011ec759ab6ca2c649f56e48f5ea39a2a3f63ebce2ffcdaa9f98cdeb0ff2
size 28388 size 28384

View File

@ -7,8 +7,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL" BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="8337ebb86a425a1c65467fc68eb7c26b9046159e" RELEASE_TAG="896611703c2b8f04f596ebcb09e612b7ab06eea3"
VERSION="64.0" VERSION="65.0"
VERSION_SUFFIX="" VERSION_SUFFIX=""
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json" LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"

View File

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

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJcCeLpAAoJELu+vbskxvNVG04QAKA6B6cBMdQIHAjxkIrWS9nQ
rprO4iQlLhI0OHVxc5aKpG2/dhA3QffmQ/PdlZQZ5Y4hKKyJhQYXeQC4I7aaUmND
FzEqEtdAkGLNInkcT4wdTs0qR8pTh5QpuM/wzUWUlpkJz5RKGN4aMCzG6Ls5ciKT
BBE153MHwCuIlE+dnlYfgOu4ljjqW/diHRFcUcg/hPK/twnPXzWszaJwWjjCfHcy
tMYqDKI+GEbUSVRdM9gWy6rEXTBJ9HhCRth2PVfH9WxAesGJFw34Q0sn1EYbkrKM
AiT+GKGJqNr/jbZMhOtiJJM1ORK2gGTnTDJnOHO0CXJKn6lYNQz/mBgrKK7Fr/L7
9Dn27+ub7OM/XctfVsv02VMPKHSzh+81Eh/53ea1W/IK/BKzuXvx9kc3czzDuDHb
+e11gQepxi8RGIRiy+mzLga2mp0Y4ihddbaZXVqJBN9vPMAEm+50wjATOYpTWZya
JBs4XCIthJbzrOSEafqhZY6bJS7u4i2yKFmjscmf1S0AnETTE3v+ykWp3eX4UTcc
IQD8mlOMuV6vq1uEmGObdl9YUzhVA0N14jJwYW5x9MKqI14gg76VbN49mlFq7boq
EKilKGBsgDsdIgOuKjx6e4gkopnhxVwupaj0pNGNjp1qTvdZNqqp9oUUWWfaCM+L
pdlP7yJCMnBYjcU6fncZ
=wngo
-----END PGP SIGNATURE-----

View File

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

View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
iQIcBAABCAAGBQJcSgmSAAoJELu+vbskxvNVUikQAK66ARnk4m24Ln7nX8hhmeON
o10g7HhoKSAJctMdL1W5l9MANe9yIwYwrjT1B2DXYMlOW7xEnZ7OGWTwnE4AdMha
V/no/t5/9JnUuvsqr61CmJpe378kLoLhgTfBkhvdLLqsrHlQwwHjfsKBRmHQD9J/
MSQ3/R33b1x4ObGg4zBVcGb6XE3A9szO8eIBegLXl0EgZVvQ12f/HIz7/1rSXoRQ
T/J6TtUtqKAk9+oumqaAx1s3nqoTRDBF4B329n0om6iowMxTOMiyLvENLEUq0tiG
GQAsPWQIyifabe08vu03XrStAoeSCmzSnKzrzNA9rXmJBbHuNl3+c1LVYV82+Nyu
eSz29GNoCPzLPGgvAqKa6YKwpBpjZi+Ue1mBfjVcxyCyh4pwVlkANRIvkfEsTGtg
H09/xco5DtjvN+aZpNfDgzx8go7TtlSag4M1acWvUUzm+z8wUih6rdHJl2EHegZC
mBYpDhRZ5rbtM8A3ZLU61ZozP8dOJzOCdp8bZ8l4GkNCkCaGkAkwtcs9GRZKenKH
A1/INF8RQI4RUSfuhw5FA1rpx66ba83ZhG146cvYm89EjHSEepw2AQW1oaKY9raj
8tXxgx0DwpXp8eXiGmhwGKaIdEySdk8XolxrZW7u+ziBPVaZ2cvmfIyIjL5Fq4kr
3+LGOK8BXcHSyx2hrETN
=G3VV
-----END PGP SIGNATURE-----

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent f2429084f187d5758508ae547c411943cba60fcf # Parent 693f0baece29cc958a7d91b89fd12e3b89a502e3
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,1384 @@ @@ -0,0 +1,1395 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- Mode: HTML -*-
@ -81,6 +81,7 @@ new file mode 100644
+ persist="screenX screenY width height sizemode" + persist="screenX screenY width height sizemode"
+#ifdef BROWSER_XHTML +#ifdef BROWSER_XHTML
+ hidden="true" + hidden="true"
+ mozpersist=""
+#endif +#endif
+ > + >
+ +
@ -95,7 +96,22 @@ new file mode 100644
+#endif +#endif
+> +>
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this); + Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-contentblocking.js", this);
+#ifdef MOZ_DATA_REPORTING
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-data-submission-info-bar.js", this);
+#endif
+#ifndef MOZILLA_OFFICIAL
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-development-helpers.js", this);
+#endif
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-media.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-pageActions.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-plugins.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this); + Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
+ +
+ window.onload = gBrowserInit.onLoad.bind(gBrowserInit); + window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
+ window.onunload = gBrowserInit.onUnload.bind(gBrowserInit); + window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
@ -152,6 +168,9 @@ new file mode 100644
+ <menuitem id="context_duplicateTab" label="&duplicateTab.label;" + <menuitem id="context_duplicateTab" label="&duplicateTab.label;"
+ accesskey="&duplicateTab.accesskey;" + accesskey="&duplicateTab.accesskey;"
+ oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/> + oncommand="duplicateTabIn(TabContextMenu.contextTab, 'tab');"/>
+ <menuitem id="context_duplicateTabs" label="&duplicateTabs.label;"
+ accesskey="&duplicateTabs.accesskey;"
+ oncommand="TabContextMenu.duplicateSelectedTabs();"/>
+ <menuseparator/> + <menuseparator/>
+ <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;" + <menuitem id="context_selectAllTabs" label="&selectAllTabs.label;" accesskey="&selectAllTabs.accesskey;"
+ oncommand="gBrowser.selectAllTabs();"/> + oncommand="gBrowser.selectAllTabs();"/>
@ -262,9 +281,12 @@ new file mode 100644
+ <html:div class="urlbarView-body-inner"> + <html:div class="urlbarView-body-inner">
+ <!-- TODO: add search suggestions notification --> + <!-- TODO: add search suggestions notification -->
+ <html:div class="urlbarView-results"/> + <html:div class="urlbarView-results"/>
+ <!-- TODO: add footer -->
+ </html:div> + </html:div>
+ </html:div> + </html:div>
+ <hbox class="search-one-offs"
+ compact="true"
+ includecurrentengine="true"
+ disabletab="true"/>
+ </panel> + </panel>
+ +
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that + <!-- for date/time picker. consumeoutsideclicks is set to never, so that
@ -322,6 +344,7 @@ new file mode 100644
+ oncommand="StarUI.onShowForNewBookmarksCheckboxCommand();"/> + oncommand="StarUI.onShowForNewBookmarksCheckboxCommand();"/>
+ </vbox> + </vbox>
+ <hbox id="editBookmarkPanelBottomButtons" + <hbox id="editBookmarkPanelBottomButtons"
+ class="panel-footer"
+ style="min-width: &editBookmark.panel.width;;"> + style="min-width: &editBookmark.panel.width;;">
+#ifdef XP_UNIX +#ifdef XP_UNIX
+ <button id="editBookmarkPanelDoneButton" + <button id="editBookmarkPanelDoneButton"
@ -436,49 +459,43 @@ new file mode 100644
+ label="&customizeMenu.pinToOverflowMenu.label;" + label="&customizeMenu.pinToOverflowMenu.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-moveToPanel"/> + class="customize-context-moveToPanel"/>
+ <menuitem oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event)" + <menuitem id="toolbar-context-autohide-downloads-button"
+ oncommand="ToolbarContextMenu.onDownloadsAutoHideChange(event);"
+ type="checkbox" + type="checkbox"
+ accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;" + accesskey="&customizeMenu.autoHideDownloadsButton.accesskey;"
+ label="&customizeMenu.autoHideDownloadsButton.label;" + label="&customizeMenu.autoHideDownloadsButton.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"/>
+ class="customize-context-autoHide"/>
+ <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)" + <menuitem oncommand="gCustomizeMode.removeFromArea(document.popupNode)"
+ accesskey="&customizeMenu.removeFromToolbar.accesskey;" + accesskey="&customizeMenu.removeFromToolbar.accesskey;"
+ label="&customizeMenu.removeFromToolbar.label;" + label="&customizeMenu.removeFromToolbar.label;"
+ contexttype="toolbaritem" + contexttype="toolbaritem"
+ class="customize-context-removeFromToolbar"/> + class="customize-context-removeFromToolbar"/>
+ <menuitem id="toolbar-context-reloadSelectedTab" + <menuitem id="toolbar-context-reloadSelectedTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="gBrowser.reloadMultiSelectedTabs();" + oncommand="gBrowser.reloadMultiSelectedTabs();"
+ label="&toolbarContextMenu.reloadSelectedTab.label;" + label="&toolbarContextMenu.reloadSelectedTab.label;"
+ accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/> + accesskey="&toolbarContextMenu.reloadSelectedTab.accesskey;"/>
+ <menuitem id="toolbar-context-reloadSelectedTabs" + <menuitem id="toolbar-context-reloadSelectedTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="gBrowser.reloadMultiSelectedTabs();" + oncommand="gBrowser.reloadMultiSelectedTabs();"
+ label="&toolbarContextMenu.reloadSelectedTabs.label;" + label="&toolbarContextMenu.reloadSelectedTabs.label;"
+ accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/> + accesskey="&toolbarContextMenu.reloadSelectedTabs.accesskey;"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTab" + <menuitem id="toolbar-context-bookmarkSelectedTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
+ label="&toolbarContextMenu.bookmarkSelectedTab.label;" + label="&toolbarContextMenu.bookmarkSelectedTab.label;"
+ accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/> + accesskey="&toolbarContextMenu.bookmarkSelectedTab.accesskey;"/>
+ <menuitem id="toolbar-context-bookmarkSelectedTabs" + <menuitem id="toolbar-context-bookmarkSelectedTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);" + oncommand="PlacesCommandHook.bookmarkPages(PlacesCommandHook.uniqueSelectedPages);"
+ label="&toolbarContextMenu.bookmarkSelectedTabs.label;" + label="&toolbarContextMenu.bookmarkSelectedTabs.label;"
+ accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/> + accesskey="&toolbarContextMenu.bookmarkSelectedTabs.accesskey;"/>
+ <menuitem id="toolbar-context-selectAllTabs" + <menuitem id="toolbar-context-selectAllTabs"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ oncommand="gBrowser.selectAllTabs();" + oncommand="gBrowser.selectAllTabs();"
+ label="&toolbarContextMenu.selectAllTabs.label;" + label="&toolbarContextMenu.selectAllTabs.label;"
+ accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/> + accesskey="&toolbarContextMenu.selectAllTabs.accesskey;"/>
+ <menuitem id="toolbar-context-undoCloseTab" + <menuitem id="toolbar-context-undoCloseTab"
+ class="toolbaritem-tabsmenu"
+ contexttype="tabbar" + contexttype="tabbar"
+ label="&toolbarContextMenu.undoCloseTab.label;" + label="&toolbarContextMenu.undoCloseTab.label;"
+ accesskey="&toolbarContextMenu.undoCloseTab.accesskey;" + accesskey="&toolbarContextMenu.undoCloseTab.accesskey;"
@ -722,29 +739,9 @@ new file mode 100644
+ </popupset> + </popupset>
+ <box id="appMenu-viewCache" hidden="true"/> + <box id="appMenu-viewCache" hidden="true"/>
+ +
+<vbox id="titlebar">
+ <hbox id="titlebar-content">
+ <spacer id="titlebar-spacer" flex="1"/>
+ <hbox id="titlebar-buttonbox-container">
+ <hbox id="titlebar-buttonbox" class="titlebar-color">
+ <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-close" command="cmd_closeWindow"/>
+ </hbox>
+ </hbox>
+#ifdef XP_MACOSX
+ <!-- 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. -->
+ <hbox id="titlebar-secondary-buttonbox" dir="ltr">
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" aria-live="polite"/>
+ <hbox class="private-browsing-indicator"/>
+ <hbox id="titlebar-fullscreen-button"/>
+ </hbox>
+#endif
+ </hbox>
+</vbox>
+
+ <toolbox id="navigator-toolbox"> + <toolbox id="navigator-toolbox">
+
+ <vbox id="titlebar">
+ <!-- Menu --> + <!-- Menu -->
+ <toolbar type="menubar" id="toolbar-menubar" + <toolbar type="menubar" id="toolbar-menubar"
+ class="browser-toolbar chromeclass-menubar titlebar-color" + class="browser-toolbar chromeclass-menubar titlebar-color"
@ -761,21 +758,24 @@ new file mode 100644
+# shared with other top level windows in macWindow.inc.xul. +# shared with other top level windows in macWindow.inc.xul.
+#include browser-menubar.inc +#include browser-menubar.inc
+ </toolbaritem> + </toolbaritem>
+ + <spacer flex="1" skipintoolbarset="true" ordinal="1000"/>
+#ifndef XP_MACOSX +#include titlebar-items.inc.xul
+ <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
+ skipintoolbarset="true"/>
+#endif
+ </toolbar> + </toolbar>
+ +
+ <toolbar id="TabsToolbar" + <toolbar id="TabsToolbar"
+ class="browser-toolbar titlebar-color" + class="browser-toolbar titlebar-color"
+ fullscreentoolbar="true" + fullscreentoolbar="true"
+ customizable="true" + customizable="true"
+ customizationtarget="TabsToolbar-customization-target"
+ mode="icons" + mode="icons"
+ aria-label="&tabsToolbar.label;" + aria-label="&tabsToolbar.label;"
+ context="toolbar-context-menu"> + context="toolbar-context-menu"
+ <hbox class="titlebar-placeholder" type="pre-tabs" + flex="1">
+ <vbox flex="1" class="toolbar-items">
+ <spacer flex="1000"/>
+
+ <hbox id="TabsToolbar-customization-target" flex="1">
+ <hbox class="titlebar-spacer" type="pre-tabs"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+ +
+ <tabs id="tabbrowser-tabs" + <tabs id="tabbrowser-tabs"
@ -806,27 +806,35 @@ new file mode 100644
+ tooltiptext="&listAllTabs.label;" + tooltiptext="&listAllTabs.label;"
+ removable="false"/> + removable="false"/>
+ +
+ <hbox class="titlebar-placeholder" type="post-tabs" + <hbox class="titlebar-spacer" type="post-tabs"
+ ordinal="1000" + ordinal="1000"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+ </hbox>
+ </vbox>
+ +
+#ifndef XP_MACOSX
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" + <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;"
+ ordinal="1000" + ordinal="1000"
+ aria-live="polite" skipintoolbarset="true"/> + aria-live="polite" skipintoolbarset="true"/>
+ <hbox class="private-browsing-indicator" skipintoolbarset="true" + <hbox class="private-browsing-indicator" skipintoolbarset="true"
+ ordinal="1000"/> + ordinal="1000"/>
+ <hbox class="titlebar-placeholder" type="caption-buttons"
+#ifndef XP_MACOSX
+ ordinal="1000"
+#endif +#endif
+ skipintoolbarset="true"/> +
+#include titlebar-items.inc.xul
+ +
+#ifdef XP_MACOSX +#ifdef XP_MACOSX
+ <hbox class="titlebar-placeholder" type="fullscreen-button" + <!-- OS X does not natively support RTL for its titlebar items, so we prevent this secondary
+ skipintoolbarset="true"/> + buttonbox from reversing order in RTL by forcing an LTR direction. -->
+ <hbox id="titlebar-secondary-buttonbox" dir="ltr">
+ <button class="accessibility-indicator" tooltiptext="&accessibilityIndicator.tooltip;" aria-live="polite"/>
+ <hbox class="private-browsing-indicator"/>
+ <hbox id="titlebar-fullscreen-button"/>
+ </hbox>
+#endif +#endif
+ </toolbar> + </toolbar>
+ +
+ </vbox>
+
+ <toolbar id="nav-bar" + <toolbar id="nav-bar"
+ class="browser-toolbar" + class="browser-toolbar"
+ aria-label="&navbarCmd.label;" + aria-label="&navbarCmd.label;"
@ -993,6 +1001,8 @@ new file mode 100644
+ tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/> + tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
+ <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button" + <image id="webauthn-notification-icon" class="notification-anchor-icon" role="button"
+ tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/> + tooltiptext="&urlbar.webAuthnAnchor.tooltip;"/>
+ <image id="storage-access-notification-icon" class="notification-anchor-icon storage-access-icon" role="button"
+ tooltiptext="&urlbar.storageAccessAnchor.tooltip;"/>
+ </box> + </box>
+ <image id="connection-icon"/> + <image id="connection-icon"/>
+ <image id="extension-icon"/> + <image id="extension-icon"/>
@ -1131,6 +1141,10 @@ new file mode 100644
+ tooltiptext="&fullScreenClose.tooltip;" + tooltiptext="&fullScreenClose.tooltip;"
+ oncommand="BrowserTryToCloseWindow();"/> + oncommand="BrowserTryToCloseWindow();"/>
+ </hbox> + </hbox>
+
+ <box id="library-animatable-box" class="toolbarbutton-animatable-box">
+ <image class="toolbarbutton-animatable-image"/>
+ </box>
+ </toolbar> + </toolbar>
+ +
+ <toolbar id="PersonalToolbar" + <toolbar id="PersonalToolbar"
@ -1312,9 +1326,6 @@ new file mode 100644
+ <searchbar id="searchbar" flex="1"/> + <searchbar id="searchbar" flex="1"/>
+ </toolbaritem> + </toolbaritem>
+ </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"/>
@ -1343,7 +1354,7 @@ new file mode 100644
+ +
+ <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/> + <splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" hidden="true"/>
+ <vbox id="appcontent" flex="1"> + <vbox id="appcontent" flex="1">
+ <notificationbox id="high-priority-global-notificationbox" notificationside="top"/> + <!-- gHighPriorityNotificationBox will be added here lazily. -->
+ <tabbox id="tabbrowser-tabbox" + <tabbox id="tabbrowser-tabbox"
+ flex="1" tabcontainer="tabbrowser-tabs"> + flex="1" tabcontainer="tabbrowser-tabs">
+ <tabpanels id="tabbrowser-tabpanels" + <tabpanels id="tabbrowser-tabpanels"
@ -1386,7 +1397,7 @@ new file mode 100644
+ </html:div> + </html:div>
+ +
+ <vbox id="browser-bottombox" layer="true"> + <vbox id="browser-bottombox" layer="true">
+ <notificationbox id="global-notificationbox" notificationside="bottom"/> + <!-- gNotificationBox will be added here lazily. -->
+ </vbox> + </vbox>
+ +
+</window> +</window>
@ -1475,7 +1486,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js 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
@@ -283,16 +283,23 @@ var gMainPane = { @@ -289,16 +289,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]); this._backoffIndex++ : backoffTimes.length - 1]);
}; };
@ -1499,7 +1510,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
performanceSettingsLink.setAttribute("href", performanceSettingsUrl); performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref(); this.updateDefaultPerformanceSettingsPref();
@@ -938,16 +945,27 @@ var gMainPane = { @@ -1012,16 +1019,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser. // Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0; this._backoffIndex = 0;
@ -1792,7 +1803,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
@@ -458,16 +458,18 @@ @@ -451,16 +451,18 @@
@RESPATH@/browser/defaults/settings/pinning @RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main @RESPATH@/browser/defaults/settings/main

View File

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

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

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

View File

@ -1,12 +1,12 @@
# HG changeset patch # HG changeset patch
# Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10 # Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
# Parent 07236b512cd930e3fc7a94fed549431ccaa51c90 # Parent 7b5f6b68a8963228f738b803177f937481e19745
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
@@ -923,17 +923,23 @@ nsIOService::NewChannelFromURIWithProxyF @@ -842,17 +842,23 @@ nsresult nsIOService::NewChannelFromURIW
"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.");
@ -26,7 +26,7 @@ diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
} }
NS_IMETHODIMP NS_IMETHODIMP
nsIOService::NewChannelFromURIWithProxyFlags2(nsIURI* aURI, nsIOService::NewChannelFromURIWithProxyFlags2(
nsIURI* aProxyURI, nsIURI *aURI, nsIURI *aProxyURI, uint32_t aProxyFlags,
uint32_t aProxyFlags, nsINode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
nsINode* aLoadingNode, nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags,

View File

@ -3,7 +3,7 @@
# User Mike Hommey <mh+mozilla@glandium.org> # User Mike Hommey <mh+mozilla@glandium.org>
# Date 1526871862 -32400 # Date 1526871862 -32400
# Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43 # Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
# Parent 1800b8895c08bc0c60302775dc0a4b5ea4deb310 # Parent 25ab6bab437517a8a182f1ab77898ae13b26a696
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
For some reason, GNU as is not happy with the assembly generated after For some reason, GNU as is not happy with the assembly generated after
@ -12,12 +12,11 @@ bug 1238661 anymore on Debian armel.
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
workaround anymore, so let's just kill it. workaround anymore, so let's just kill it.
diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h diff --git a/mfbt/LinuxSignal.h b/mfbt/LinuxSignal.h
deleted file mode 100644 deleted file mode 100644
--- a/mfbt/LinuxSignal.h --- a/mfbt/LinuxSignal.h
+++ /dev/null +++ /dev/null
@@ -1,45 +0,0 @@ @@ -1,38 +0,0 @@
-/* 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
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
@ -38,18 +37,11 @@ deleted file mode 100644
-// will be skipped over. -// will be skipped over.
- -
-template <void (*H)(int, siginfo_t*, void*)> -template <void (*H)(int, siginfo_t*, void*)>
-__attribute__((naked)) void -__attribute__((naked)) void SignalTrampoline(int aSignal, siginfo_t* aInfo,
-SignalTrampoline(int aSignal, siginfo_t* aInfo, void* aContext) - void* aContext) {
-{ - asm volatile("nop; nop; nop; nop" : : : "memory");
- asm volatile (
- "nop; nop; nop; nop"
- : : : "memory");
- -
- asm volatile ( - asm volatile("b %0" : : "X"(H) : "memory");
- "b %0"
- :
- : "X"(H)
- : "memory");
-} -}
- -
-#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>) -#define MOZ_SIGNAL_TRAMPOLINE(h) (mozilla::SignalTrampoline<h>)
@ -66,7 +58,7 @@ deleted file mode 100644
diff --git a/mfbt/moz.build b/mfbt/moz.build diff --git a/mfbt/moz.build b/mfbt/moz.build
--- a/mfbt/moz.build --- a/mfbt/moz.build
+++ b/mfbt/moz.build +++ b/mfbt/moz.build
@@ -117,20 +117,16 @@ EXPORTS["double-conversion"] = [ @@ -124,20 +124,16 @@ EXPORTS["double-conversion"] = [
LOCAL_INCLUDES += [ LOCAL_INCLUDES += [
'/mfbt/double-conversion', '/mfbt/double-conversion',
] ]
@ -108,7 +100,7 @@ diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/cor
using namespace mozilla; using namespace mozilla;
@@ -272,17 +271,17 @@ Sampler::Sampler(PSLockRef aLock) @@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock)
// NOTE: We don't initialize LUL here, instead initializing it in // NOTE: We don't initialize LUL here, instead initializing it in
// SamplerThread's constructor. This is because with the // SamplerThread's constructor. This is because with the
@ -126,5 +118,4 @@ diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/cor
} }
} }
void void Sampler::Disable(PSLockRef aLock) {

View File

@ -1,11 +1,25 @@
--- a/layout/generic/nsIFrame.h.old 2016-07-11 13:41:39.688276559 +0200 # HG changeset patch
+++ b/layout/generic/nsIFrame.h 2016-07-11 13:42:12.791406976 +0200 # Parent 8d4f57b44373d51f0e151eeaadf9fe293bcdfb7c
@@ -13,7 +13,7 @@
diff --git a/layout/generic/nsIFrame.h b/layout/generic/nsIFrame.h
--- a/layout/generic/nsIFrame.h
+++ b/layout/generic/nsIFrame.h
@@ -8,17 +8,17 @@
#ifndef nsIFrame_h___
#define nsIFrame_h___
#ifndef MOZILLA_INTERNAL_API
#error This header/class should only be used within Mozilla code. It should not be used by extensions. #error This header/class should only be used within Mozilla code. It should not be used by extensions.
#endif #endif
-#define MAX_REFLOW_DEPTH 200 -#define MAX_REFLOW_DEPTH 200
+#define MAX_REFLOW_DEPTH 1000 +#define MAX_REFLOW_DEPTH 1000
/* nsIFrame is in the process of being deCOMtaminated, i.e., this file is eventually /* nsIFrame is in the process of being deCOMtaminated, i.e., this file is
going to be eliminated, and all callers will use nsFrame instead. At the moment eventually going to be eliminated, and all callers will use nsFrame instead.
At the moment we're midway through this process, so you will see inlined
functions and member variables in this file. -dwh */
#include <algorithm>
#include <stdio.h>

View File

@ -1,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent d685597ba96ea004052e40ec0c80f422ea0e365c # Parent ff3da33eabc1d8760ec41a87afbaf44ded300ede
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>
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#ifdef XP_WIN #ifdef XP_WIN
#include "windows.h" #include "windows.h"
#endif #endif
@@ -4908,25 +4909,37 @@ Preferences::InitInitialObjects(bool aIs @@ -4466,25 +4467,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
// application pref files for backwards compatibility. // application pref files for backwards compatibility.
static const char* specialFiles[] = { static const char* specialFiles[] = {
#if defined(XP_MACOSX) #if defined(XP_MACOSX)
@ -57,15 +57,15 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
+ } + }
+ } + }
+ +
rv = pref_LoadPrefsInDir( rv = pref_LoadPrefsInDir(defaultPrefDir, specialFiles,
defaultPrefDir, specialFiles, ArrayLength(specialFiles)); ArrayLength(specialFiles));
if (NS_FAILED(rv)) { if (NS_FAILED(rv)) {
NS_WARNING("Error parsing application default preferences."); NS_WARNING("Error parsing application default preferences.");
} }
// Load jar:$app/omni.jar!/defaults/preferences/*.js // Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js. // or jar:$gre/omni.jar!/defaults/preferences/*.js.
@@ -4975,17 +4988,17 @@ Preferences::InitInitialObjects(bool aIs @@ -4532,17 +4545,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
} }
nsCOMPtr<nsIFile> path = do_QueryInterface(elem); nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@ -83,7 +83,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
SetupTelemetryPref(); SetupTelemetryPref();
} }
NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID, NS_CreateServicesFromCategory(NS_PREFSERVICE_APPDEFAULTS_TOPIC_ID, nullptr,
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
@ -171,7 +171,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn --- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn
@@ -68,16 +68,18 @@ toolkit.jar: @@ -67,16 +67,18 @@ toolkit.jar:
content/global/bindings/calendar.js (widgets/calendar.js) content/global/bindings/calendar.js (widgets/calendar.js)
content/global/bindings/checkbox.xml (widgets/checkbox.xml) content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/datekeeper.js (widgets/datekeeper.js) content/global/bindings/datekeeper.js (widgets/datekeeper.js)
@ -183,18 +183,18 @@ diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml) +* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde +% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
content/global/bindings/general.xml (widgets/general.xml) content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/groupbox.xml (widgets/groupbox.xml)
content/global/bindings/menu.xml (widgets/menu.xml) content/global/bindings/menu.xml (widgets/menu.xml)
content/global/bindings/menulist.xml (widgets/menulist.xml) content/global/bindings/menulist.xml (widgets/menulist.xml)
content/global/bindings/notification.xml (widgets/notification.xml) content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/numberbox.xml (widgets/numberbox.xml) content/global/bindings/numberbox.xml (widgets/numberbox.xml)
content/global/bindings/popup.xml (widgets/popup.xml) content/global/bindings/popup.xml (widgets/popup.xml)
content/global/bindings/radio.xml (widgets/radio.xml) content/global/bindings/radio.xml (widgets/radio.xml)
content/global/bindings/richlistbox.xml (widgets/richlistbox.xml)
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml +++ b/toolkit/content/widgets/dialog-kde.xml
@@ -0,0 +1,475 @@ @@ -0,0 +1,477 @@
+<?xml version="1.0"?> +<?xml version="1.0"?>
+<!-- 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
@ -495,6 +495,8 @@ new file mode 100644
+ var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype); + var accessKey = this.mStrBundle.GetStringFromName("accesskey-" + dlgtype);
+ if (accessKey) + if (accessKey)
+ button.setAttribute("accesskey", accessKey); + button.setAttribute("accesskey", accessKey);
+ } else if (this.hasAttribute("buttonid" + dlgtype)) {
+ document.l10n.setAttributes(button, this.getAttribute("buttonid" + dlgtype));
+ } + }
+ } + }
+ // allow specifying alternate icons in the dialog header + // allow specifying alternate icons in the dialog header
@ -673,7 +675,7 @@ new file mode 100644
diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
--- a/toolkit/mozapps/downloads/nsHelperAppDlg.js --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
@@ -1031,30 +1031,60 @@ nsUnknownContentTypeDialog.prototype = { @@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp && if (params.handlerApp &&
params.handlerApp.executable && params.handlerApp.executable &&
@ -767,53 +769,54 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS NS_DECL_NSISYSTEMPROXYSETTINGS
nsUnixSystemProxySettings() nsUnixSystemProxySettings() : mSchemeProxySettings(4) {}
: mSchemeProxySettings(4) nsresult Init();
@@ -39,16 +40,17 @@ private: @@ -42,16 +43,18 @@ class nsUnixSystemProxySettings final :
nsCOMPtr<nsIGSettingsService> mGSettings; nsACString& aResult);
nsCOMPtr<nsIGSettingsCollection> mProxySettings; nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost,
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings; int32_t aPort, nsACString& aResult);
bool IsProxyMode(const char* aMode); nsresult GetProxyFromGSettings(const nsACString& aScheme,
nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, nsACString& aResult); const nsACString& aHost, int32_t aPort,
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult); nsACString& aResult);
nsresult GetProxyFromGSettings(const nsACString& aScheme, const nsACString& aHost, int32_t aPort, nsACString& aResult); nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType,
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult); nsACString& aResult);
+ nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult); + nsresult GetProxyFromKDE(const nsACString& aScheme, const nsACString& aHost,
+ PRInt32 aPort, nsACString& aResult);
}; };
NS_IMPL_ISUPPORTS(nsUnixSystemProxySettings, nsISystemProxySettings) NS_IMPL_ISUPPORTS(nsUnixSystemProxySettings, nsISystemProxySettings)
NS_IMETHODIMP NS_IMETHODIMP
nsUnixSystemProxySettings::GetMainThreadOnly(bool *aMainThreadOnly) nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
{ // dbus prevents us from being threadsafe, but this routine should not block
// dbus prevents us from being threadsafe, but this routine should not block anyhow // anyhow
@@ -505,16 +507,19 @@ nsUnixSystemProxySettings::GetProxyFromG @@ -488,16 +491,19 @@ nsresult nsUnixSystemProxySettings::GetP
return NS_OK;
}
nsresult nsresult nsUnixSystemProxySettings::GetProxyForURI(const nsACString& aSpec,
nsUnixSystemProxySettings::GetProxyForURI(const nsACString & aSpec,
const nsACString& aScheme, const nsACString& aScheme,
const nsACString& aHost, const nsACString& aHost,
const int32_t aPort, const int32_t aPort,
nsACString & aResult) nsACString& aResult) {
{
+ if (nsKDEUtils::kdeSupport()) + if (nsKDEUtils::kdeSupport())
+ return GetProxyFromKDE(aScheme, aHost, aPort, aResult); + return GetProxyFromKDE(aScheme, aHost, aPort, aResult);
+ +
if (mProxySettings) { if (mProxySettings) {
nsresult rv = GetProxyFromGSettings(aScheme, aHost, aPort, aResult); nsresult rv = GetProxyFromGSettings(aScheme, aHost, aPort, aResult);
if (NS_SUCCEEDED(rv)) if (NS_SUCCEEDED(rv)) return rv;
return rv;
} }
if (mGConf) if (mGConf) return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
return GetProxyFromGConf(aScheme, aHost, aPort, aResult);
@@ -540,8 +545,34 @@ static const mozilla::Module::ContractID return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult);
}
@@ -521,8 +527,34 @@ static const mozilla::Module::CIDEntry k
static const mozilla::Module::ContractIDEntry kUnixProxyContracts[] = {
{NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_UNIXSYSTEMPROXYSERVICE_CID},
{nullptr}};
static const mozilla::Module kUnixProxyModule = { static const mozilla::Module kUnixProxyModule = {
mozilla::Module::kVersion, mozilla::Module::kVersion, kUnixProxyCIDs, kUnixProxyContracts};
kUnixProxyCIDs,
kUnixProxyContracts
};
NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule; NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule;
+ +
@ -845,7 +848,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build --- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build
@@ -68,17 +68,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co @@ -73,17 +73,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'../components/printingui', '../components/printingui',
] ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@ -1282,19 +1285,19 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
+#include "unix/nsCommonRegistry.h" +#include "unix/nsCommonRegistry.h"
#endif #endif
using mozilla::dom::HandlerInfo;
using mozilla::dom::HandlerApp;
using mozilla::dom::ContentHandlerService; using mozilla::dom::ContentHandlerService;
using mozilla::dom::HandlerApp;
using mozilla::dom::HandlerInfo;
using mozilla::dom::RemoteHandlerApp; using mozilla::dom::RemoteHandlerApp;
namespace { namespace {
@@ -265,17 +265,17 @@ HandlerServiceParent::RecvExists(const H @@ -246,17 +246,17 @@ mozilla::ipc::IPCResult HandlerServicePa
handlerSvc->Exists(info, exists);
return IPC_OK();
} }
mozilla::ipc::IPCResult mozilla::ipc::IPCResult HandlerServiceParent::RecvExistsForProtocol(
HandlerServiceParent::RecvExistsForProtocol(const nsCString& aProtocolScheme, const nsCString& aProtocolScheme, bool* aHandlerExists) {
bool* aHandlerExists)
{
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
// Check the GNOME registry for a protocol handler // Check the GNOME registry for a protocol handler
- *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme.get()); - *aHandlerExists = nsGNOMERegistry::HandlerExists(aProtocolScheme.get());
@ -1305,8 +1308,8 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
return IPC_OK(); return IPC_OK();
} }
mozilla::ipc::IPCResult mozilla::ipc::IPCResult HandlerServiceParent::RecvGetTypeFromExtension(
HandlerServiceParent::RecvGetTypeFromExtension(const nsCString& aFileExtension, const nsCString& aFileExtension, nsCString* type) {
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build --- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build +++ b/uriloader/exthandler/moz.build
@ -1573,7 +1576,7 @@ new file mode 100644
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -1,50 +1,53 @@ @@ -1,47 +1,50 @@
/* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*- /* -*- Mode: C++; tab-width: 3; 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
@ -1594,21 +1597,17 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
+#endif +#endif
nsresult nsresult nsMIMEInfoUnix::LoadUriInternal(nsIURI *aURI) {
nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI)
{
- return nsGNOMERegistry::LoadURL(aURI); - return nsGNOMERegistry::LoadURL(aURI);
+ return nsCommonRegistry::LoadURL(aURI); + return nsCommonRegistry::LoadURL(aURI);
} }
NS_IMETHODIMP NS_IMETHODIMP
nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval) nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval) {
{
// if mDefaultApplication is set, it means the application has been set from // if mDefaultApplication is set, it means the application has been set from
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer. // give the GNOME answer.
if (mDefaultApplication) if (mDefaultApplication) return nsMIMEInfoImpl::GetHasDefaultHandler(_retval);
return nsMIMEInfoImpl::GetHasDefaultHandler(_retval);
*_retval = false; *_retval = false;
@ -1616,8 +1615,9 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
- *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get()); - *_retval = nsGNOMERegistry::HandlerExists(mSchemeOrType.get());
+ *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get()); + *_retval = nsCommonRegistry::HandlerExists(mSchemeOrType.get());
} else { } else {
- RefPtr<nsMIMEInfoBase> mimeInfo = nsGNOMERegistry::GetFromType(mSchemeOrType); RefPtr<nsMIMEInfoBase> mimeInfo =
+ RefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromType(mSchemeOrType); - nsGNOMERegistry::GetFromType(mSchemeOrType);
+ nsCommonRegistry::GetFromType(mSchemeOrType);
if (!mimeInfo) { if (!mimeInfo) {
nsAutoCString ext; nsAutoCString ext;
nsresult rv = GetPrimaryExtension(ext); nsresult rv = GetPrimaryExtension(ext);
@ -1626,17 +1626,17 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
+ mimeInfo = nsCommonRegistry::GetFromExtension(ext); + mimeInfo = nsCommonRegistry::GetFromExtension(ext);
} }
} }
if (mimeInfo) if (mimeInfo) *_retval = true;
*_retval = true;
} }
if (*_retval) if (*_retval) return NS_OK;
return NS_OK; return NS_OK;
@@ -59,16 +62,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns @@ -51,16 +54,33 @@ nsresult nsMIMEInfoUnix::LaunchDefaultWi
// if mDefaultApplication is set, it means the application has been set from
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer. // give the GNOME answer.
if (mDefaultApplication) if (mDefaultApplication) return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile);
return nsMIMEInfoImpl::LaunchDefaultWithFile(aFile);
nsAutoCString nativePath; nsAutoCString nativePath;
aFile->GetNativePath(nativePath); aFile->GetNativePath(nativePath);
@ -1665,7 +1665,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
// nsGIOMimeApp->Launch wants a URI string instead of local file // nsGIOMimeApp->Launch wants a URI string instead of local file
nsresult rv; nsresult rv;
nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID, &rv); nsCOMPtr<nsIIOService> ioservice =
diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
--- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp --- a/uriloader/exthandler/unix/nsOSHelperAppService.cpp
+++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp +++ b/uriloader/exthandler/unix/nsOSHelperAppService.cpp
@ -1688,10 +1688,10 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#include "nsIURL.h" #include "nsIURL.h"
#include "nsIFileStreams.h" #include "nsIFileStreams.h"
#include "nsILineInputStream.h" #include "nsILineInputStream.h"
@@ -1122,17 +1122,17 @@ nsOSHelperAppService::GetHandlerAndDescr @@ -1031,17 +1031,17 @@ nsresult nsOSHelperAppService::GetHandle
nsresult nsOSHelperAppService::OSProtocolHandlerExists(const char * aProtocolScheme, bool * aHandlerExists) nsresult nsOSHelperAppService::OSProtocolHandlerExists(
{ const char* aProtocolScheme, bool* aHandlerExists) {
nsresult rv = NS_OK; nsresult rv = NS_OK;
if (!XRE_IsContentProcess()) { if (!XRE_IsContentProcess()) {
@ -1704,17 +1704,17 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#endif #endif
} else { } else {
*aHandlerExists = false; *aHandlerExists = false;
nsCOMPtr<nsIHandlerService> handlerSvc = do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv); nsCOMPtr<nsIHandlerService> handlerSvc =
do_GetService(NS_HANDLERSERVICE_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv) && handlerSvc) { if (NS_SUCCEEDED(rv) && handlerSvc) {
rv = handlerSvc->ExistsForProtocol(nsCString(aProtocolScheme), aHandlerExists); @@ -1051,17 +1051,17 @@ nsresult nsOSHelperAppService::OSProtoco
@@ -1140,17 +1140,17 @@ nsresult nsOSHelperAppService::OSProtoco
} }
return rv; return rv;
} }
NS_IMETHODIMP nsOSHelperAppService::GetApplicationDescription(const nsACString& aScheme, nsAString& _retval) NS_IMETHODIMP nsOSHelperAppService::GetApplicationDescription(
{ const nsACString& aScheme, nsAString& _retval) {
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
- nsGNOMERegistry::GetAppDescForScheme(aScheme, _retval); - nsGNOMERegistry::GetAppDescForScheme(aScheme, _retval);
+ nsCommonRegistry::GetAppDescForScheme(aScheme, _retval); + nsCommonRegistry::GetAppDescForScheme(aScheme, _retval);
@ -1724,14 +1724,14 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
#endif #endif
} }
nsresult nsOSHelperAppService::GetFileTokenForPath(const char16_t * platformAppPath, nsIFile ** aFile) nsresult nsOSHelperAppService::GetFileTokenForPath(
{ const char16_t* platformAppPath, nsIFile** aFile) {
@@ -1237,17 +1237,17 @@ nsOSHelperAppService::GetFromExtension(c @@ -1142,17 +1142,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
mime_types_description, nsresult rv =
true); LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
minorType, mime_types_description, true);
if (NS_FAILED(rv) || majorType.IsEmpty()) { if (NS_FAILED(rv) || majorType.IsEmpty()) {
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
LOG(("Looking in GNOME registry\n")); LOG(("Looking in GNOME registry\n"));
RefPtr<nsMIMEInfoBase> gnomeInfo = RefPtr<nsMIMEInfoBase> gnomeInfo =
@ -1743,13 +1743,13 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
} }
#endif #endif
rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), rv = LookUpTypeAndDescription(NS_ConvertUTF8toUTF16(aFileExt), majorType,
majorType, minorType, mime_types_description, false);
@@ -1358,17 +1358,17 @@ nsOSHelperAppService::GetFromType(const @@ -1254,17 +1254,17 @@ already_AddRefed<nsMIMEInfoBase> nsOSHel
// Now look up our extensions
nsAutoString extensions, mime_types_description; nsAutoString extensions, mime_types_description;
LookUpExtensionsAndDescription(majorType, LookUpExtensionsAndDescription(majorType, minorType, extensions,
minorType,
extensions,
mime_types_description); mime_types_description);
#ifdef MOZ_WIDGET_GTK #ifdef MOZ_WIDGET_GTK
@ -1757,17 +1757,17 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
- RefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType); - RefPtr<nsMIMEInfoBase> gnomeInfo = nsGNOMERegistry::GetFromType(aMIMEType);
+ RefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType); + RefPtr<nsMIMEInfoBase> gnomeInfo = nsCommonRegistry::GetFromType(aMIMEType);
if (gnomeInfo) { if (gnomeInfo) {
LOG(("Got MIMEInfo from GNOME registry without extensions; setting them " LOG(
"to %s\n", NS_LossyConvertUTF16toASCII(extensions).get())); ("Got MIMEInfo from GNOME registry without extensions; setting them "
"to %s\n",
NS_LossyConvertUTF16toASCII(extensions).get()));
NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?"); NS_ASSERTION(!gnomeInfo->HasExtensions(), "How'd that happen?");
gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions)); gnomeInfo->SetFileExtensions(NS_ConvertUTF16toUTF8(extensions));
return gnomeInfo.forget();
}
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build --- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build +++ b/widget/gtk/moz.build
@@ -123,16 +123,17 @@ include('/ipc/chromium/chromium-config.m @@ -116,16 +116,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul' FINAL_LIBRARY = 'xul'
@ -1823,13 +1823,13 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
#define MAX_PREVIEW_SOURCE_SIZE 4096 #define MAX_PREVIEW_SOURCE_SIZE 4096
nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr; nsIFile *nsFilePicker::mPrevDisplayDirectory = nullptr;
@@ -246,17 +248,19 @@ nsFilePicker::AppendFilters(int32_t aFil @@ -227,17 +229,19 @@ nsFilePicker::AppendFilters(int32_t aFil
mAllowURLs = !!(aFilterMask & filterAllowURLs);
return nsBaseFilePicker::AppendFilters(aFilterMask); return nsBaseFilePicker::AppendFilters(aFilterMask);
} }
NS_IMETHODIMP NS_IMETHODIMP
nsFilePicker::AppendFilter(const nsAString& aTitle, const nsAString& aFilter) nsFilePicker::AppendFilter(const nsAString &aTitle, const nsAString &aFilter) {
{
if (aFilter.EqualsLiteral("..apps")) { if (aFilter.EqualsLiteral("..apps")) {
// No platform specific thing we can do here, really.... // No platform specific thing we can do here, really....
- return NS_OK; - return NS_OK;
@ -1844,14 +1844,14 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
mFilters.AppendElement(filter); mFilters.AppendElement(filter);
mFilterNames.AppendElement(name); mFilterNames.AppendElement(name);
@@ -371,16 +375,39 @@ nsFilePicker::Show(int16_t *aReturn) @@ -337,16 +341,39 @@ nsresult nsFilePicker::Show(int16_t *aRe
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
nsFilePicker::Open(nsIFilePickerShownCallback *aCallback) nsFilePicker::Open(nsIFilePickerShownCallback *aCallback) {
{
// Can't show two dialogs concurrently with the same filepicker // Can't show two dialogs concurrently with the same filepicker
if (mRunning) if (mRunning) return NS_ERROR_NOT_AVAILABLE;
return NS_ERROR_NOT_AVAILABLE;
+ // KDE file picker is not handled via callback + // KDE file picker is not handled via callback
+ if( nsKDEUtils::kdeSupport()) { + if( nsKDEUtils::kdeSupport()) {
@ -1884,7 +1884,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
GtkFileChooserAction action = GetGtkFileChooserAction(mMode); GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
@@ -600,16 +627,241 @@ nsFilePicker::Done(void* file_chooser, g @@ -571,16 +598,240 @@ void nsFilePicker::Done(void *file_choos
mCallback->Done(result); mCallback->Done(result);
mCallback = nullptr; mCallback = nullptr;
} else { } else {
@ -2116,20 +2116,19 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
+ } + }
+ return NS_OK; + return NS_OK;
+ } + }
+
+ +
// All below functions available as of GTK 3.20+ // All below functions available as of GTK 3.20+
void *nsFilePicker::GtkFileChooserNew(const gchar *title, GtkWindow *parent,
void *
nsFilePicker::GtkFileChooserNew(
const gchar *title, GtkWindow *parent,
GtkFileChooserAction action, GtkFileChooserAction action,
const gchar *accept_label) const gchar *accept_label) {
{ static auto sGtkFileChooserNativeNewPtr =
(void *(*)(const gchar *, GtkWindow *, GtkFileChooserAction,
const gchar *,
const gchar *))dlsym(RTLD_DEFAULT,
diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
--- a/widget/gtk/nsFilePicker.h --- a/widget/gtk/nsFilePicker.h
+++ b/widget/gtk/nsFilePicker.h +++ b/widget/gtk/nsFilePicker.h
@@ -69,16 +69,22 @@ protected: @@ -67,16 +67,22 @@ class nsFilePicker : public nsBaseFilePi
nsString mDefaultExtension; nsString mDefaultExtension;
nsTArray<nsCString> mFilters; nsTArray<nsCString> mFilters;
@ -2144,14 +2143,14 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
+ NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn); + NS_IMETHODIMP kdeAppsDialog(PRInt16 *aReturn);
+ nsCString kdeMakeFilter( int index ); + nsCString kdeMakeFilter( int index );
+ +
void *GtkFileChooserNew( void *GtkFileChooserNew(const gchar *title, GtkWindow *parent,
const gchar *title, GtkWindow *parent,
GtkFileChooserAction action, GtkFileChooserAction action,
const gchar *accept_label); const gchar *accept_label);
void GtkFileChooserShow(void *file_chooser); void GtkFileChooserShow(void *file_chooser);
void GtkFileChooserDestroy(void *file_chooser); void GtkFileChooserDestroy(void *file_chooser);
void GtkFileChooserSetModal(void *file_chooser, GtkWindow *parent_widget, void GtkFileChooserSetModal(void *file_chooser, GtkWindow *parent_widget,
gboolean modal); gboolean modal);
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp
@ -2168,12 +2167,12 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
using namespace mozilla; using namespace mozilla;
struct ManifestDirective struct ManifestDirective {
{
const char* directive; const char* directive;
int argc; int argc;
@@ -421,16 +422,17 @@ ParseManifest(NSLocationType aType, File bool ischrome;
@@ -392,16 +393,17 @@ void ParseManifest(NSLocationType aType,
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application"); NS_NAMED_LITERAL_STRING(kApplication, "application");
@ -2191,7 +2190,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content"); NS_NAMED_LITERAL_STRING(kContent, "content");
@@ -476,44 +478,49 @@ ParseManifest(NSLocationType aType, File @@ -447,39 +449,44 @@ void ParseManifest(NSLocationType aType,
CopyUTF8toUTF16(s, abi); CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0); abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0); abi.Insert(osTarget, 0);
@ -2206,8 +2205,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx #pragma warning(disable : 4996) // VC12+ deprecates GetVersionEx
OSVERSIONINFO info = {sizeof(OSVERSIONINFO)}; OSVERSIONINFO info = {sizeof(OSVERSIONINFO)};
if (GetVersionEx(&info)) { if (GetVersionEx(&info)) {
nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", info.dwMajorVersion,
info.dwMajorVersion,
info.dwMinorVersion); info.dwMinorVersion);
} }
+ desktop = NS_LITERAL_STRING("win"); + desktop = NS_LITERAL_STRING("win");
@ -2215,21 +2213,17 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#elif defined(MOZ_WIDGET_COCOA) #elif defined(MOZ_WIDGET_COCOA)
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", majorVersion, minorVersion);
majorVersion,
minorVersion);
+ desktop = NS_LITERAL_STRING("macosx"); + desktop = NS_LITERAL_STRING("macosx");
#elif defined(MOZ_WIDGET_GTK) #elif defined(MOZ_WIDGET_GTK)
nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", nsTextFormatter::ssprintf(osVersion, u"%ld.%ld", gtk_major_version,
gtk_major_version,
gtk_minor_version); gtk_minor_version);
+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome"); + desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
#elif defined(MOZ_WIDGET_ANDROID) #elif defined(MOZ_WIDGET_ANDROID)
bool isTablet = false; bool isTablet = false;
if (mozilla::AndroidBridge::Bridge()) { if (mozilla::AndroidBridge::Bridge()) {
mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION", mozilla::AndroidBridge::Bridge()->GetStaticStringField(
"RELEASE", "android/os/Build$VERSION", "RELEASE", osVersion);
osVersion);
isTablet = java::GeckoAppShell::IsTablet(); isTablet = java::GeckoAppShell::IsTablet();
} }
+ desktop = NS_LITERAL_STRING("android"); + desktop = NS_LITERAL_STRING("android");
@ -2241,7 +2235,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
process = kMain; process = kMain;
} }
@@ -600,25 +607,27 @@ ParseManifest(NSLocationType aType, File @@ -566,25 +573,27 @@ void ParseManifest(NSLocationType aType,
TriState stOsVersion = eUnspecified; TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified; TriState stOs = eUnspecified;
TriState stABI = eUnspecified; TriState stABI = eUnspecified;
@ -2264,40 +2258,41 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
CheckStringFlag(kProcess, wtoken, process, stProcess) || CheckStringFlag(kProcess, wtoken, process, stProcess) ||
CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) || CheckVersionFlag(kOsVersion, wtoken, osVersion, stOsVersion) ||
CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) || CheckVersionFlag(kAppVersion, wtoken, appVersion, stAppVersion) ||
CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion, stGeckoVersion)) { CheckVersionFlag(kGeckoVersion, wtoken, geckoVersion,
stGeckoVersion)) {
continue; continue;
} }
#if defined(MOZ_WIDGET_ANDROID) @@ -621,17 +630,17 @@ void ParseManifest(NSLocationType aType,
@@ -663,16 +672,17 @@ ParseManifest(NSLocationType aType, File
} }
if (!ok || LogMessageWithContext(
stApp == eBad || aFile, line, "Unrecognized chrome manifest modifier '%s'.", token);
stAppVersion == eBad || ok = false;
stGeckoVersion == eBad || }
stOs == eBad ||
stOsVersion == eBad || if (!ok || stApp == eBad || stAppVersion == eBad ||
+ stDesktop == eBad || - stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad ||
+ stGeckoVersion == eBad || stOs == eBad || stOsVersion == eBad || stDesktop == eBad ||
#ifdef MOZ_WIDGET_ANDROID #ifdef MOZ_WIDGET_ANDROID
stTablet == eBad || stTablet == eBad ||
#endif #endif
stABI == eBad || stABI == eBad || stProcess == eBad) {
stProcess == eBad) {
continue; continue;
} }
if (directive->regfunc) {
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build --- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build +++ b/xpcom/components/moz.build
@@ -43,12 +43,13 @@ FINAL_LIBRARY = 'xul' @@ -44,12 +44,13 @@ LOCAL_INCLUDES += [
LOCAL_INCLUDES += [
'!..', '!..',
'../base', '../base',
'../build', '../build',
'../ds', '../ds',
'/chrome', '/chrome',
'/js/xpconnect/loader',
'/layout/build',
'/modules/libjar', '/modules/libjar',
+ '/toolkit/xre', + '/toolkit/xre',
] ]
@ -2325,10 +2320,10 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h" #include "prmem.h"
#include "plbase64.h" #include "plbase64.h"
@@ -2007,63 +2008,78 @@ nsLocalFile::SetPersistentDescriptor(con @@ -1902,62 +1903,77 @@ nsLocalFile::SetPersistentDescriptor(con
NS_IMETHODIMP NS_IMETHODIMP
nsLocalFile::Reveal() nsLocalFile::Reveal() {
{
if (!FilePreferences::IsAllowedPath(mPath)) { if (!FilePreferences::IsAllowedPath(mPath)) {
return NS_ERROR_FILE_ACCESS_DENIED; return NS_ERROR_FILE_ACCESS_DENIED;
} }
@ -2389,8 +2384,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
} }
NS_IMETHODIMP NS_IMETHODIMP
nsLocalFile::Launch() nsLocalFile::Launch() {
{
if (!FilePreferences::IsAllowedPath(mPath)) { if (!FilePreferences::IsAllowedPath(mPath)) {
return NS_ERROR_FILE_ACCESS_DENIED; return NS_ERROR_FILE_ACCESS_DENIED;
} }

View File

@ -9,18 +9,19 @@ retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -54,23 +54,27 @@ nsUnixSystemProxySettings::GetMainThread @@ -55,24 +55,27 @@ NS_IMETHODIMP
// dbus prevents us from being threadsafe, but this routine should not block anyhow nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
*aMainThreadOnly = true; *aMainThreadOnly = true;
return NS_OK; return NS_OK;
} }
nsresult nsresult nsUnixSystemProxySettings::Init() {
nsUnixSystemProxySettings::Init()
{
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) { - if (mGSettings) {
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"), - mGSettings->GetCollectionForSchema(
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings)); - getter_AddRefs(mProxySettings));
- } - }
- if (!mProxySettings) { - if (!mProxySettings) {
@ -41,6 +42,6 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
return NS_OK; return NS_OK;
} }
bool bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
nsUnixSystemProxySettings::IsProxyMode(const char* aMode) nsAutoCString mode;
{ return NS_SUCCEEDED(mGConf->GetString(

View File

@ -1,28 +1,28 @@
# HG changeset patch # HG changeset patch
# User Petr Cerny <pcerny@novell.com> # User Petr Cerny <pcerny@novell.com>
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6 # Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
# Parent 46dd9332e67440fb779e99a694a2bf0edf5c203e # Parent 6ab277cf616dc2748e9855101100a97a6cec10a6
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
--- a/extensions/auth/nsAuthSambaNTLM.cpp --- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp +++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -170,17 +170,17 @@ static uint8_t* ExtractMessage(const nsA @@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA
nsresult *aLen = (length / 4) * 3 - numEquals;
nsAuthSambaNTLM::SpawnNTLMAuthHelper() return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
{ }
nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
const char* username = PR_GetEnv("USER"); const char* username = PR_GetEnv("USER");
if (!username) if (!username) return NS_ERROR_FAILURE;
return NS_ERROR_FAILURE;
const char* const args[] = { - const char* const args[] = {"ntlm_auth",
- "ntlm_auth", + const char* const args[] = {"/usr/bin/ntlm_auth",
+ "/usr/bin/ntlm_auth", "--helper-protocol",
"--helper-protocol", "ntlmssp-client-1", "ntlmssp-client-1",
"--use-cached-creds", "--use-cached-creds",
"--username", username, "--username",
nullptr username,
}; nullptr};
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID, &mFromChildFD, &mToChildFD); bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,
if (!isOK)

View File

@ -1,37 +0,0 @@
From: Andreas Stieger <astieger@suse.com>
Date: Fri, 26 Feb 2016 16:20:09 +0000
Subject: For UnifiedBindings*.cpp files, reduce number of files per unified file
Upstream: no
home/abuild/rpmbuild/BUILD/obj/dom/bindings/UnifiedBindings16.cpp
[ 1589s] UnifiedBindings17.o
[ 1612s] [ 1567.621989] Out of memory: Kill process 19849 (cc1plus) score 170 or sacrifice child
[ 1612s] [ 1567.625099] Killed process 19849 (cc1plus) total-vm:905704kB, anon-rss:102500kB, file-rss:156kB
[ 1616s] {standard input}: Assembler messages:
[ 1616s] {standard input}:316015: Warning: end of file not at end of a line; newline inserted
[ 1635s] {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
[ 1636s] c++: internal compiler error: Killed (program cc1plus)
[ 1636s] Please submit a full bug report,
diff --git a/python/mozbuild/mozbuild/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py
--- a/python/mozbuild/mozbuild/frontend/data.py
+++ b/python/mozbuild/mozbuild/frontend/data.py
@@ -310,17 +310,17 @@ class WebIDLCollection(ContextDerived):
@property
def unified_source_mapping(self):
# 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.
return list(group_unified_files(self.all_regular_cpp_basenames(),
unified_prefix='UnifiedBindings',
unified_suffix='cpp',
- files_per_unified_file=32))
+ files_per_unified_file=16))
def all_source_files(self):
from mozwebidlcodegen import WebIDLCodegenManager
return (sorted(list(WebIDLCodegenManager.GLOBAL_DEFINE_FILES)) +
sorted(set(p for p, _ in self.unified_source_mapping)))
class IPDLCollection(ContextDerived):

View File

@ -1,2 +1,2 @@
REV=8337ebb86a42 REV=896611703c2b
REPO=http://hg.mozilla.org/releases/mozilla-release REPO=http://hg.mozilla.org/releases/mozilla-release