1
0

- update to Firefox 46.0 (boo#977333)

* Improved security of the JavaScript Just In Time (JIT) Compiler
  * WebRTC fixes to improve performance and stability
  * Added support for document.elementsFromPoint
  * Added HKDF support for Web Crypto API
  * requires NSPR 4.12 and NSS 3.22.3
  * added patch to fix unchecked return value
    mozilla-check_return.patch
  * Gtk3 builds not supported at the moment
  security fixes:
  * MFSA 2016-39/CVE-2016-2804/CVE-2016-2806/CVE-2016-2807
    Miscellaneous memory safety hazards
  * MFSA 2016-40/CVE-2016-2809 (bmo#1212939)
    Privilege escalation through file deletion by Maintenance Service updater
    (Windows only)
  * MFSA 2016-41/CVE-2016-2810 (bmo#1229681)
    Content provider permission bypass allows malicious application
    to access data (Android only)
  * MFSA 2016-42/CVE-2016-2811/CVE-2016-2812 (bmo#1252330, bmo#1261776)
    Use-after-free and buffer overflow in Service Workers
  * MFSA 2016-43/CVE-2016-2813 (bmo#1197901, bmo#2714650)
    Disclosure of user actions through JavaScript with motion and
    orientation sensors (only affects mobile variants)
  * MFSA 2016-44/CVE-2016-2814 (bmo#1254721)
    Buffer overflow in libstagefright with CENC offsets
  * MFSA 2016-45/CVE-2016-2816 (bmo#1223743)
    CSP not applied to pages sent with multipart/x-mixed-replace
  * MFSA 2016-46/CVE-2016-2817 (bmo#1227462)
    Elevation of privilege with chrome.tabs.update API in web extensions
  * MFSA 2016-47/CVE-2016-2808 (bmo#1246061)

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=500
This commit is contained in:
Wolfgang Rosenauer 2016-04-27 07:09:13 +00:00 committed by Git OBS Bridge
parent e165f239a4
commit 97bd16c7cb
16 changed files with 309 additions and 169 deletions

View File

@ -1,3 +1,40 @@
-------------------------------------------------------------------
Wed Apr 27 06:09:30 UTC 2016 - wr@rosenauer.org
- update to Firefox 46.0 (boo#977333)
* Improved security of the JavaScript Just In Time (JIT) Compiler
* WebRTC fixes to improve performance and stability
* Added support for document.elementsFromPoint
* Added HKDF support for Web Crypto API
* requires NSPR 4.12 and NSS 3.22.3
* added patch to fix unchecked return value
mozilla-check_return.patch
* Gtk3 builds not supported at the moment
security fixes:
* MFSA 2016-39/CVE-2016-2804/CVE-2016-2806/CVE-2016-2807
Miscellaneous memory safety hazards
* MFSA 2016-40/CVE-2016-2809 (bmo#1212939)
Privilege escalation through file deletion by Maintenance Service updater
(Windows only)
* MFSA 2016-41/CVE-2016-2810 (bmo#1229681)
Content provider permission bypass allows malicious application
to access data (Android only)
* MFSA 2016-42/CVE-2016-2811/CVE-2016-2812 (bmo#1252330, bmo#1261776)
Use-after-free and buffer overflow in Service Workers
* MFSA 2016-43/CVE-2016-2813 (bmo#1197901, bmo#2714650)
Disclosure of user actions through JavaScript with motion and
orientation sensors (only affects mobile variants)
* MFSA 2016-44/CVE-2016-2814 (bmo#1254721)
Buffer overflow in libstagefright with CENC offsets
* MFSA 2016-45/CVE-2016-2816 (bmo#1223743)
CSP not applied to pages sent with multipart/x-mixed-replace
* MFSA 2016-46/CVE-2016-2817 (bmo#1227462)
Elevation of privilege with chrome.tabs.update API in web extensions
* MFSA 2016-47/CVE-2016-2808 (bmo#1246061)
Write to invalid HashMap entry through JavaScript.watch()
* MFSA 2016-48/CVE-2016-2820 (bmo#870870)
Firefox Health Reports could accept events from untrusted domains
-------------------------------------------------------------------
Thu Apr 21 12:00:28 UTC 2016 - badshah400@gmail.com

View File

@ -18,10 +18,10 @@
# changed with every update
%define major 45
%define mainver %major.0.2
%define major 46
%define mainver %major.0
%define update_channel release
%define releasedate 2016041100
%define releasedate 2016042500
# general build definitions
%if "%{update_channel}" != "aurora"
@ -78,7 +78,7 @@ BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12
BuildRequires: mozilla-nss-devel >= 3.21.1
BuildRequires: mozilla-nss-devel >= 3.22.3
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@ -154,6 +154,7 @@ Source13: spellcheck.js
Source14: create-tar.sh
Source15: firefox-appdata.xml
Source16: MozillaFirefox.changes
Source17: l10n_changesets.txt
# Gecko/Toolkit
Patch1: mozilla-nongnome-proxies.patch
Patch2: mozilla-shared-nss-db.patch
@ -167,6 +168,7 @@ Patch10: mozilla-no-stdcxx-check.patch
Patch11: mozilla-libproxy.patch
Patch12: mozilla-reduce-files-per-UnifiedBindings.patch
Patch13: mozilla-gtk3_20.patch
Patch14: mozilla-check_return.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch
@ -280,6 +282,7 @@ cd $RPM_BUILD_DIR/mozilla
%if 0%{?firefox_use_gtk3}
%patch13 -p1
%endif
%patch14 -p1
# Firefox
%patch101 -p1
%patch102 -p1
@ -334,6 +337,8 @@ ac_add_options --includedir=%{_includedir}
ac_add_options --enable-release
%if 0%{?firefox_use_gtk3}
ac_add_options --enable-default-toolkit=cairo-gtk3
%else
ac_add_options --enable-default-toolkit=cairo-gtk2
%endif
%ifarch %ix86 %arm
%if 0%{?suse_version} > 1230

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f37ce5f7f12518683b59fffe274845490bf6c75c65d1963d50907dc070025edf
size 28504
oid sha256:c884758443bca687b9eccbaea6968cdc31af4a5fea46942b0f354903e0b53997
size 28384

View File

@ -1,9 +1,14 @@
#!/bin/bash
# TODO
# http://ftp.mozilla.org/pub/firefox/candidates/46.0-candidates/build5/linux-x86_64/en-US/firefox-46.0.json
# "moz_source_stamp": "078baf501b55eaa47f3b189fda4dd28dae1fa257"
# http://ftp.mozilla.org/pub/firefox/candidates/46.0-candidates/build5/l10n_changesets.txt
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_45_0_2_RELEASE"
VERSION="45.0.2"
RELEASE_TAG="078baf501b55eaa47f3b189fda4dd28dae1fa257"
VERSION="46.0"
# mozilla
if [ -d mozilla ]; then
@ -46,9 +51,11 @@ for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
ja-JP-mac|en-US)
;;
*)
echo "fetching $locale ..."
echo "reading changeset information for $locale"
_changeset=$(grep ^$locale l10n_changesets.txt | awk '{ print $2; }')
echo "fetching $locale changeset $_changeset ..."
hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $_changeset
;;
esac
done

View File

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

View File

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

View File

@ -1,6 +1,6 @@
# HG changeset patch
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
# Parent e3d8efdd7eea96ff7b8a7f6489a082cad72a98d8
# Parent a5764b0a088418fdbf4b774a8ff2745cc99f6706
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
--- a/browser/app/Makefile.in
@ -30,7 +30,7 @@ diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -32,12 +32,15 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
@@ -34,12 +34,15 @@ def FirefoxBranding():
'disk.icns',
'document.icns',
'dsstore',
@ -49,7 +49,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
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -665,18 +665,21 @@
@@ -664,18 +664,21 @@
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
@RESPATH@/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
@RESPATH@/chrome/toolkit@JAREXT@

View File

@ -1,11 +1,11 @@
# HG changeset patch
# Parent 25d63ce139ad6e957d2565e3b83d01dfa36ea314
# Parent f8b7b01caa34a2b2dbea6d47993ad7bbb7346a64
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1181 @@
@@ -0,0 +1,1175 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@ -16,7 +16,7 @@ new file mode 100644
+
+<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/common.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUIOverlay.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
@ -617,9 +617,9 @@ new file mode 100644
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small"
+#ifdef MOZ_DEV_EDITION
+ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
+ defaultset="urlbar-container,search-container,developer-button,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#else
+ defaultset="urlbar-container,search-container,bookmarks-menu-button,pocket-button,downloads-button,home-button,loop-button"
+ defaultset="urlbar-container,search-container,bookmarks-menu-button,downloads-button,home-button,loop-button"
+#endif
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
@ -795,7 +795,6 @@ new file mode 100644
+ oncommand="BookmarksEventHandler.onCommand(event, this.parentNode._placesView);"
+ onclick="BookmarksEventHandler.onClick(event, this.parentNode._placesView);"
+ onpopupshowing="BookmarkingUI.onPopupShowing(event);
+ BookmarkingUI.updatePocketItemVisibility('BMB_');
+ BookmarkingUI.attachPlacesView(event, this);"
+ tooltip="bhTooltip" popupsinherittooltip="true">
+ <menuitem id="BMB_viewBookmarksSidebar"
@ -812,11 +811,6 @@ new file mode 100644
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
+ <menuitem id="BMB_pocket"
+ class="menuitem-iconic bookmark-item subviewbutton"
+ label="&pocketMenuitem.label;"
+ oncommand="openUILink(Pocket.listURL, event);"/>
+ <menuseparator id="BMB_pocketSeparator"/>
+ <menuitem id="BMB_subscribeToPageMenuitem"
+#ifndef XP_MACOSX
+ class="menuitem-iconic subviewbutton"
@ -1272,7 +1266,7 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
@@ -18,16 +18,22 @@ var gMainPane = {
@@ -19,16 +19,22 @@ var gMainPane = {
init: function ()
{
function setEventListener(aId, aEventType, aCallback)
@ -1295,7 +1289,7 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
// 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.
@@ -720,16 +726,27 @@ var gMainPane = {
@@ -704,16 +710,27 @@ var gMainPane = {
*/
setDefaultBrowser: function()
{
@ -1326,7 +1320,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
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
@@ -30,16 +30,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
@@ -34,16 +34,18 @@ if CONFIG['OS_ARCH'] == 'WINNT':
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
SOURCES += [
@ -1349,7 +1343,7 @@ diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
@@ -0,0 +1,251 @@
@@ -0,0 +1,196 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -1430,61 +1424,6 @@ new file mode 100644
+}
+
+NS_IMETHODIMP
+nsKDEShellService::GetShouldCheckDefaultBrowser(bool* aResult)
+{
+ // If we've already checked, the browser has been started and this is a
+ // new window open, and we don't want to check again.
+ if (mCheckedThisSession) {
+ *aResult = false;
+ return NS_OK;
+ }
+
+ nsresult rv;
+#ifndef RELEASE_BUILD
+ bool skipDefaultBrowserCheck;
+ rv = GetShouldSkipCheckDefaultBrowser(&skipDefaultBrowserCheck);
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+ if (skipDefaultBrowserCheck) {
+ *aResult = false;
+ return rv;
+ }
+#endif
+
+ nsCOMPtr<nsIPrefBranch> prefs;
+ nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
+ if (pserve)
+ pserve->GetBranch("", getter_AddRefs(prefs));
+
+ if (prefs)
+ prefs->GetBoolPref(PREF_CHECKDEFAULTBROWSER, aResult);
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetShouldCheckDefaultBrowser(bool aShouldCheck)
+{
+ nsCOMPtr<nsIPrefBranch> prefs;
+ nsCOMPtr<nsIPrefService> pserve(do_GetService(NS_PREFSERVICE_CONTRACTID));
+ if (pserve)
+ pserve->GetBranch("", getter_AddRefs(prefs));
+
+ if (prefs)
+ prefs->SetBoolPref(PREF_CHECKDEFAULTBROWSER, aShouldCheck);
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::GetCanSetDesktopBackground(bool* aResult)
+{
+ *aResult = true;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsKDEShellService::SetDesktopBackground(nsIDOMElement* aElement,
+ PRInt32 aPosition)
+{
@ -1685,9 +1624,9 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -705,16 +705,17 @@
@@ -703,16 +703,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/profile/prefs.js
@RESPATH@/browser/defaults/permissions
; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)

View File

@ -1,14 +1,14 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 099312626f5f7c9cb5573a61d0230574ee12a660
# Parent ab1135c098843a4a4c5153bd361b964986fccefa
# Parent 8015dc2ad5992bfc7d33091fc92edf18ea220a89
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
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -254,17 +254,17 @@ pref("browser.uitour.url", "https://www.
pref("browser.uitour.readerViewTrigger", "^https:\\/\\/www\\.mozilla\\.org\\/[^\\/]+\\/firefox\\/reading\\/start");
@@ -216,17 +216,17 @@ pref("browser.uitour.readerViewTrigger",
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");

View File

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

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

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

90
l10n_changesets.txt Normal file
View File

@ -0,0 +1,90 @@
ach 658769a76613
af 431e02c10881
an fe436c75f71d
ar bbcf06888dc5
as 8313f975ae77
ast 0300b60cd340
az fd96727d2a26
be b72077740aac
bg 9f7507dd2b92
bn-BD fe0a6bb82a2d
bn-IN a2ea6b87d80d
br 95b028350e29
bs cfee6f5b1e50
ca e8ca2d46b4a8
cs ed6004b91b51
cy 5bbcbba9b054
da 324fe068c0b9
de 217ff3f0054a
dsb 7cdfb5d9dc5d
el 22b959c9a739
en-GB 36012ab486ad
en-ZA 1c91f05aae5a
eo 049c1b065f4c
es-AR b3647b1d5927
es-CL e45186f983b9
es-ES 6fe131a8b07f
es-MX 4cd511663283
et ecae9df9c92a
eu 1a65e2c03dda
fa e5993d9fb76e
ff 8373353b43c4
fi b743718650bc
fr 7d0bb8edc149
fy-NL 02ee99ad3f83
ga-IE 713ecb614f77
gd e5b86736a5f9
gl c869caff337a
gn 65b2894520b6
gu-IN 6245b4309461
he ee92b661d299
hi-IN bba2a926e4f8
hr 8502beb4ee68
hsb c91a11523487
hu 09bbddfef7ee
hy-AM 3d7a9324fb25
id cb8f841d30d2
is 46c99105eb3b
it 6063a6d94e13
ja 590a31fbf396
ja-JP-mac 260664b702c5
kk 5a7bd05bf942
km 339790840ac1
kn b23d8fbcf41a
ko 5f303ed16778
lij e9113fac3a93
lt 628e96e62e44
lv 063998fdecf8
mai ce010a305377
mk ffdf2a789185
ml 1b85d75836cd
mr 553ff31f4edd
ms 41bbf86ac0d9
nb-NO 5e6e5710fac9
nl ac486141ab40
nn-NO be9e3eeb75fb
or febd1b04dbfc
pa-IN 6c5ed1be55fb
pl 49e141118acb
pt-BR cd1aef7b5045
pt-PT 2e4fd2a1f98f
rm 0a52db6a6117
ro c6ac34be77b1
ru 3f0b3c8e19a4
si 03a3b09a2203
sk 3505a5f99bff
sl 1e098ab8c27a
son 3ae9a4ff0453
sq c24e570a4207
sr 896d72a0fa21
sv-SE ea1de38fe731
ta f9dbc2cca1fb
te 286ff9885ea2
th d630f05d665f
tr b751d2d9b6ee
uk c5cdb9068667
uz dc28cf99c5cf
vi 68ce305343a3
xh f3eb8f92afe8
zh-CN d73d448f89d6
zh-TW 44c9950bb3e6

View File

@ -0,0 +1,58 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 0d19d2f09730100d3eadd782f534b71cc4150650
diff --git a/media/libstagefright/binding/include/mp4_demuxer/ByteWriter.h b/media/libstagefright/binding/include/mp4_demuxer/ByteWriter.h
--- a/media/libstagefright/binding/include/mp4_demuxer/ByteWriter.h
+++ b/media/libstagefright/binding/include/mp4_demuxer/ByteWriter.h
@@ -25,25 +25,27 @@ public:
void WriteU8(uint8_t aByte)
{
mPtr.append(aByte);
}
void WriteU16(uint16_t aShort)
{
uint8_t c[2];
+ bool rv;
mozilla::BigEndian::writeUint16(&c[0], aShort);
- mPtr.append(&c[0], 2);
+ rv = mPtr.append(&c[0], 2);
}
void WriteU32(uint32_t aLong)
{
uint8_t c[4];
+ bool rv;
mozilla::BigEndian::writeUint32(&c[0], aLong);
- mPtr.append(&c[0], 4);
+ rv = mPtr.append(&c[0], 4);
}
void Write32(int32_t aLong)
{
uint8_t c[4];
mozilla::BigEndian::writeInt32(&c[0], aLong);
mPtr.append(&c[0], 4);
}
@@ -53,18 +55,19 @@ public:
uint8_t c[8];
mozilla::BigEndian::writeUint64(&c[0], aLongLong);
mPtr.append(&c[0], 8);
}
void Write64(int64_t aLongLong)
{
uint8_t c[8];
+ bool rv;
mozilla::BigEndian::writeInt64(&c[0], aLongLong);
- mPtr.append(&c[0], 8);
+ rv = mPtr.append(&c[0], 8);
}
void Write(const uint8_t* aSrc, size_t aCount)
{
mPtr.append(aSrc, aCount);
}
private:

View File

@ -1,5 +1,5 @@
# HG changeset patch
# Parent 797d5f17b080f54439602f107ecaf6b09a0ef5c1
# Parent 61cdc9af8ceaf75083e751e0d6497feddc26f7ba
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@ -9,7 +9,7 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=140751
diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
--- a/modules/libpref/Preferences.cpp
+++ b/modules/libpref/Preferences.cpp
@@ -30,16 +30,17 @@
@@ -31,16 +31,17 @@
#include "nsIZipReader.h"
#include "nsPrefBranch.h"
#include "nsXPIDLString.h"
@ -27,7 +27,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#include "prefread.h"
#include "prefapi_private_data.h"
@@ -1136,16 +1137,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
@@ -1135,16 +1136,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
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;
bool hasMore;
@@ -1161,17 +1180,17 @@ static nsresult pref_LoadPrefsInDirList(
@@ -1160,17 +1179,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@ -81,7 +81,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1265,26 +1284,38 @@ static nsresult pref_InitInitialObjects(
@@ -1264,24 +1283,36 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@ -91,9 +91,7 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#elif defined(XP_UNIX)
"unix.js"
+ , "" // placeholder for KDE (empty is otherwise harmless)
#if defined(VMS)
, "openvms.js"
#elif defined(_AIX)
#if defined(_AIX)
, "aix.js"
#endif
#elif defined(XP_BEOS)
@ -189,7 +187,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
@@ -65,15 +65,16 @@ if not CONFIG['MOZ_SUITE']:
@@ -64,15 +64,16 @@ if not CONFIG['MOZ_SUITE']:
'nsDownloadManagerUI.js',
'nsDownloadManagerUI.manifest',
]
@ -278,31 +276,31 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -64,29 +64,33 @@ toolkit.jar:
@@ -72,29 +72,33 @@ toolkit.jar:
content/global/viewZoomOverlay.js
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/browser.xml (widgets/browser.xml)
content/global/bindings/button.xml (widgets/button.xml)
content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/colorpicker.xml (widgets/colorpicker.xml)
content/global/bindings/datetimepicker.xml (widgets/datetimepicker.xml)
*+ content/global/bindings/dialog.xml (widgets/dialog.xml)
+*+ content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
* content/global/bindings/dialog.xml (widgets/dialog.xml)
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
content/global/bindings/editor.xml (widgets/editor.xml)
content/global/bindings/expander.xml (widgets/expander.xml)
* content/global/bindings/filefield.xml (widgets/filefield.xml)
*+ content/global/bindings/findbar.xml (widgets/findbar.xml)
content/global/bindings/filefield.xml (widgets/filefield.xml)
* content/global/bindings/findbar.xml (widgets/findbar.xml)
content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/groupbox.xml (widgets/groupbox.xml)
*+ content/global/bindings/listbox.xml (widgets/listbox.xml)
content/global/bindings/listbox.xml (widgets/listbox.xml)
content/global/bindings/menu.xml (widgets/menu.xml)
content/global/bindings/menulist.xml (widgets/menulist.xml)
content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/numberbox.xml (widgets/numberbox.xml)
content/global/bindings/popup.xml (widgets/popup.xml)
*+ content/global/bindings/preferences.xml (widgets/preferences.xml)
+*+ content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
* content/global/bindings/preferences.xml (widgets/preferences.xml)
+* content/global/bindings/preferences-kde.xml (widgets/preferences-kde.xml)
+% override chrome://global/content/bindings/preferences.xml chrome://global/content/bindings/preferences-kde.xml desktop=kde
content/global/bindings/progressmeter.xml (widgets/progressmeter.xml)
content/global/bindings/radio.xml (widgets/radio.xml)
@ -316,7 +314,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml
@@ -0,0 +1,460 @@
@@ -0,0 +1,463 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
@ -491,6 +489,9 @@ new file mode 100644
+ <parameter name="aEvent"/>
+ <body>
+ <![CDATA[
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+
+ function focusInit() {
+ const dialog = document.documentElement;
+ const defaultButton = dialog.getButton(dialog.defaultButton);
@ -516,11 +517,10 @@ new file mode 100644
+ initialFocusedElt.focus();
+ }
+ }
+#ifndef XP_MACOSX
+ else if (focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
+ else if (AppConstants.platform != "macosx" &&
+ focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
+ defaultButton.focus();
+ }
+#endif
+ }
+ }
+
@ -637,13 +637,14 @@ new file mode 100644
+ for (dlgtype in buttons)
+ buttons[dlgtype].hidden = !shown[dlgtype];
+
+#ifdef XP_WIN
+# show the spacer on Windows only when the extra2 button is present
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ // show the spacer on Windows only when the extra2 button is present
+ if (AppConstants.platform == "win") {
+ var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
+ spacer.removeAttribute("hidden");
+ spacer.setAttribute("flex", shown["extra2"]?"1":"0");
+#endif
+
+ }
+ }
+ ]]>
+ </body>
@ -781,7 +782,7 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
@@ -0,0 +1,1403 @@
@@ -0,0 +1,1406 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@ -1415,19 +1416,22 @@ new file mode 100644
+ var acceptButton = docElt.getButton("accept");
+ acceptButton.hidden = true;
+ var cancelButton = docElt.getButton("cancel");
+#ifdef XP_MACOSX
+
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ if (AppConstants.platform == "macosx") {
+ // no buttons on Mac except Help
+ cancelButton.hidden = true;
+ // Move Help button to the end
+ document.getAnonymousElementByAttribute(this, "anonid", "spacer").hidden = true;
+ // Also, don't fire onDialogAccept on enter
+ acceptButton.disabled = true;
+#else
+ } else {
+ // morph the Cancel button into the Close button
+ cancelButton.setAttribute ("icon", "close");
+ cancelButton.label = docElt.getAttribute("closebuttonlabel");
+ cancelButton.accesskey = docElt.getAttribute("closebuttonaccesskey");
+#endif
+ }
+ }
+ }
+ this.setAttribute("animated", this._shouldAnimate ? "true" : "false");
@ -1597,11 +1601,13 @@ new file mode 100644
+ <parameter name="aPaneElement"/>
+ <body>
+ <![CDATA[
+#ifdef XP_MACOSX
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ if (AppConstants.platform == "macosx") {
+ var paneTitle = aPaneElement.label;
+ if (paneTitle != "")
+ document.title = paneTitle;
+#endif
+ }
+ var helpButton = document.documentElement.getButton("help");
+ if (aPaneElement.helpTopic)
+ helpButton.hidden = false;
@ -1671,13 +1677,11 @@ new file mode 100644
+ <property name="_shouldAnimate">
+ <getter>
+ <![CDATA[
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch);
+#ifdef XP_MACOSX
+ var animate = true;
+#else
+ var animate = false;
+#endif
+ var animate = AppConstants.platform == "macosx";
+ try {
+ animate = psvc.getBoolPref("browser.preferences.animateFadeIn");
+ }
@ -3683,7 +3687,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
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
@@ -47,16 +47,17 @@
@@ -44,16 +44,17 @@
#include "prproces.h"
#include "nsIDirectoryEnumerator.h"
#include "nsISimpleEnumerator.h"
@ -3701,7 +3705,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h"
#include "plbase64.h"
@@ -1963,42 +1964,52 @@ nsLocalFile::SetPersistentDescriptor(con
@@ -1948,42 +1949,52 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor);
#endif
}
@ -3760,7 +3764,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv;
}
return NS_ERROR_FAILURE;
@@ -2006,16 +2017,22 @@ nsLocalFile::Reveal()
@@ -1991,16 +2002,22 @@ nsLocalFile::Reveal()
return NS_ERROR_FAILURE;
#endif
}

View File

@ -1,6 +1,6 @@
# HG changeset patch
# Parent 80b6464bd883864fce57e8748010869af1be69e9
# Parent 4799226b419aaf1fcdbbf44c2edb9491d99eb6cb
# Parent 808d61f33afa6fb9921d3a7f994a71cf2dd9331a
diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/installer/package-name.mk
--- a/toolkit/mozapps/installer/package-name.mk
@ -28,7 +28,7 @@ diff --git a/toolkit/mozapps/installer/package-name.mk b/toolkit/mozapps/install
MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
MOZ_BUILDID_INFO_TXT_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME)_info.txt
MOZ_MOZINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).mozinfo.json
MOZ_TEST_PACKAGES_FILE = $(DIST)/$(PKG_PATH)/test_packages.json
MOZ_TEST_PACKAGES_FILE_TC = $(DIST)/$(PKG_PATH)/test_packages_tc.json

View File

@ -1,2 +1,2 @@
REV=e35da3da61cb
REV=078baf501b55
REPO=http://hg.mozilla.org/releases/mozilla-release