--- a/MozillaFirefox/MozillaFirefox.changes Mon Sep 19 21:47:49 2016 +0200
+++ b/MozillaFirefox/MozillaFirefox.changes Fri Sep 23 13:20:08 2016 +0200
@@ -1,4 +1,57 @@
-------------------------------------------------------------------
+Tue Sep 20 07:09:52 UTC 2016 - wr@rosenauer.org
+
+- update to Firefox 49.0 (boo#999701)
+ new features
+ * Updated Firefox Login Manager to allow HTTPS pages to use saved
+ HTTP logins.
+ * Added features to Reader Mode that make it easier on the eyes and
+ the ears
+ * Improved video performance for users on systems that support
+ SSE3 without hardware acceleration
+ * Added context menu controls to HTML5 audio and video that let users
+ loops files or play files at 1.25x speed
+ * Improvements in about:memory reports for tracking font memory usage
+ security related
+ * MFSA 2016-85
+ CVE-2016-2827 (bmo#1289085) - Out-of-bounds read in
+ mozilla::net::IsValidReferrerPolicy
+ CVE-2016-5270 (bmo#1291016) - Heap-buffer-overflow in
+ nsCaseTransformTextRunFactory::TransformString
+ CVE-2016-5271 (bmo#1288946) - Out-of-bounds read in
+ PropertyProvider::GetSpacingInternal
+ CVE-2016-5272 (bmo#1297934) - Bad cast in nsImageGeometryMixin
+ CVE-2016-5273 (bmo#1280387) - crash in
+ mozilla::a11y::HyperTextAccessible::GetChildOffset
+ CVE-2016-5276 (bmo#1287721) - Heap-use-after-free in
+ mozilla::a11y::DocAccessible::ProcessInvalidationList
+ CVE-2016-5274 (bmo#1282076) - use-after-free in
+ nsFrameManager::CaptureFrameState
+ CVE-2016-5277 (bmo#1291665) - Heap-use-after-free in nsRefreshDriver::Tick
+ CVE-2016-5275 (bmo#1287316) - global-buffer-overflow in
+ mozilla::gfx::FilterSupport::ComputeSourceNeededRegions
+ CVE-2016-5278 (bmo#1294677) - Heap-buffer-overflow in
+ nsBMPEncoder::AddImageFrame
+ CVE-2016-5279 (bmo#1249522) - Full local path of files is available
+ to web pages after drag and drop
+ CVE-2016-5280 (bmo#1289970) - Use-after-free in
+ mozilla::nsTextNodeDirectionalityMap::RemoveElementFromMap
+ CVE-2016-5281 (bmo#1284690) - use-after-free in DOMSVGLength
+ CVE-2016-5282 (bmo#932335) - Don't allow content to request favicons
+ from non-whitelisted schemes
+ CVE-2016-5283 (bmo#928187) - <iframe src> fragment timing attack can
+ reveal cross-origin data
+ CVE-2016-5284 (bmo#1303127) - Add-on update site certificate pin expiration
+ CVE-2016-5256 - Memory safety bugs fixed in Firefox 49
+ CVE-2016-5257 - Memory safety bugs fixed in Firefox 49 and Firefox ESR 45.4
+- removed obsolete patches:
+ * mozilla-aarch64-48bit-va.patch
+ * mozilla-exclude-nametablecpp.patch
+ * mozilla-old_configure-bmo1282843.patch
+- added patch mozilla-skia-overflow.patch (bmo#1304114)
+- requires NSS 3.25
+
+-------------------------------------------------------------------
Tue Aug 30 20:25:38 UTC 2016 - astieger@suse.com
- Mozilla Firefox 48.0.2:
--- a/MozillaFirefox/MozillaFirefox.spec Mon Sep 19 21:47:49 2016 +0200
+++ b/MozillaFirefox/MozillaFirefox.spec Fri Sep 23 13:20:08 2016 +0200
@@ -18,10 +18,10 @@
# changed with every update
-%define major 48
-%define mainver %major.0.2
+%define major 49
+%define mainver %major.0
%define update_channel release
-%define releasedate 20160824000000
+%define releasedate 20160919000000
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -75,7 +75,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12
-BuildRequires: mozilla-nss-devel >= 3.24
+BuildRequires: mozilla-nss-devel >= 3.25
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -146,10 +146,8 @@
Patch11: mozilla-reduce-files-per-UnifiedBindings.patch
Patch12: mozilla-gtk3_20.patch
Patch13: mozilla-check_return.patch
-Patch15: mozilla-exclude-nametablecpp.patch
-Patch16: mozilla-aarch64-48bit-va.patch
+Patch14: mozilla-skia-overflow.patch
Patch17: mozilla-binutils-visibility.patch
-Patch18: mozilla-old_configure-bmo1282843.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch
@@ -265,10 +263,8 @@
%patch12 -p1
%endif
%patch13 -p1
-%patch15 -p1
-%patch16 -p1
+%patch14444 -p1
%patch17 -p1
-%patch18 -p1
# Firefox
%patch101 -p1
%patch102 -p1
--- a/MozillaFirefox/create-tar.sh Mon Sep 19 21:47:49 2016 +0200
+++ b/MozillaFirefox/create-tar.sh Fri Sep 23 13:20:08 2016 +0200
@@ -7,8 +7,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_48_0_2_RELEASE"
-VERSION="48.0.2"
+RELEASE_TAG="416dc3163a1f27b8783ed14660d1b373e830df2f"
+VERSION="49.0"
# mozilla
if [ -d mozilla ]; then
--- a/MozillaFirefox/l10n_changesets.txt Mon Sep 19 21:47:49 2016 +0200
+++ b/MozillaFirefox/l10n_changesets.txt Fri Sep 23 13:20:08 2016 +0200
@@ -1,92 +1,92 @@
-ach 9a0c8e338b70
-af 9347b8c9ba47
-an 1ecc480527e8
-ar ac8018039f0f
-as 39c28ddc51af
-ast 719f95e0804a
-az 58d1d9f5ebc6
-be b72077740aac
-bg 9f7507dd2b92
-bn-BD 1dac94619464
-bn-IN a2ea6b87d80d
-br d36eef485e1f
-bs cfee6f5b1e50
-ca 55814ed0a2ee
-cak 318aec440030
-cs 76c75ca48864
-cy 927c83f85620
-da f1eafef10b33
-de 3d5d819eedd7
-dsb 91c722147298
-el 22b959c9a739
-en-GB 595e192dd7a4
-en-ZA 52a936eeeea1
-eo 1928e5a7ee7d
-es-AR 4c9cfef714f5
-es-CL c34f36c5864f
-es-ES d069f54e79f2
-es-MX 198b582408f2
-et 0568132def4f
-eu 4a534a844d9b
-fa c64ea222eb3a
+ach 6ed1a299cf50
+af a2a61bde6775
+an 93c1791e869c
+ar 1e8208276670
+as 732bcb1da9c2
+ast 4b201bbc4cad
+az 2035817f3662
+be 04a4235e5dfc
+bg a81e7006d413
+bn-BD 0bc49db20e7b
+bn-IN ab45a4357169
+br 829bb95e6595
+bs c2cbf84e2de1
+ca 551c2d450a74
+cak a24e3cc7ada5
+cs 842a16138e8f
+cy d3bd0fc1d07c
+da 9f2406f95b0d
+de 57d4aeb53449
+dsb 9a588345e6a3
+el 0ea494a1082a
+en-GB a98a08450231
+en-ZA dc11d29717d4
+eo 1b7342be2401
+es-AR 8e72962a04d2
+es-CL 684eb9268729
+es-ES bc3ecb554205
+es-MX aff6da71c301
+et ebd70ceecb55
+eu 54494475aef7
+fa 255b2d7d7cb3
ff 8373353b43c4
-fi 4133735f9efd
-fr 94568a74633b
-fy-NL c001da131ecd
-ga-IE 1665e942f19f
-gd b4f76dd70e9a
+fi 8d3446f9a5c5
+fr 9dfc3b26ba48
+fy-NL 954308cbc1e6
+ga-IE 6cf48c09d9e5
+gd 2b9e144b889d
gl c869caff337a
-gn 65b2894520b6
-gu-IN 6245b4309461
-he 1a14924e99aa
-hi-IN bba2a926e4f8
-hr 5e68406d5630
-hsb a9ba140dbbf2
-hu d78bc92a737a
-hy-AM 723627d1c0a4
-id d84757c01f40
-is e45ec009a0fc
-it f04290f688b9
-ja 7546335099a5
-ja-JP-mac 9ecf2e1d8ea0
-kk 188c4eac0a48
-km 339790840ac1
-kn a7e2c93d27ad
-ko cbaf8af7159e
-lij e9113fac3a93
-lt 70491a0f5ef0
-lv 918ea0cd0aca
-mai ce010a305377
-mk ffdf2a789185
-ml 1b85d75836cd
-mr a6fa1813c5c9
-ms 41bbf86ac0d9
-nb-NO 5155fd334299
-nl c6d2a72aec88
-nn-NO 3569b6691b3b
-or febd1b04dbfc
-pa-IN 6c5ed1be55fb
-pl 19563918fa48
-pt-BR ba6e3510ab03
-pt-PT 258b18a5c29b
-rm 5c20929daf23
-ro b1baa279bda4
-ru 622cafa42a39
+gn 88e0eecd56db
+gu-IN ff99825985ad
+he 5492c43ed1c7
+hi-IN 2460eda2085b
+hr 4e4fa843efd1
+hsb 711ebd948b60
+hu 18ed4a160747
+hy-AM 26ebbf2a7c29
+id fe6b0ba5c8b9
+is 750b18eea2bd
+it 32c5df7e0cc8
+ja 6fe0a63744ab
+ja-JP-mac 9f666fe9f2a8
+kk c8d56540ca41
+km 2a4aa779e53d
+kn 79f2d148c975
+ko 87dbe38d3ab7
+lij fdb3ad1d0fa6
+lt 1de1474f4b1c
+lv 71ebc1207474
+mai bb506a238a92
+mk 9793d2941b6c
+ml 9bbdb16f771c
+mr 770fe6a85f1a
+ms fc706fcabf4b
+nb-NO d595777287ba
+nl a12c44096861
+nn-NO ff1ebdbd993c
+or 6ecfc06db966
+pa-IN 3404cc7e0894
+pl c89555291e77
+pt-BR 359f724250a8
+pt-PT b835fc33291c
+rm d9b1fabf9a07
+ro 20abd381ce37
+ru 1245d886a73d
si 03a3b09a2203
-sk 342049b6b66a
-sl 6079300745a1
-son d135d14fa4ea
+sk 44b670dcadbc
+sl d6ccefbe182a
+son 300b8e976b40
sq bc47aefcea37
-sr 2b6454805bc1
-sv-SE 44ab4d9a6718
-ta 17f88001ad3b
-te 286ff9885ea2
-th b7e1170de8c9
-tr 13c52b19c0a1
-uk c84dad1572cf
-uz 1209fe62df1c
-vi 68ce305343a3
-xh 8466fb6c8797
-zh-CN 693cfbea8412
-zh-TW 380aaa88dbf5
+sr 1d4bbfe9b938
+sv-SE 9ec91e4ceffa
+ta 011d54df6ae1
+te d1c0f603ffc8
+th f3ab798d7859
+tr 5b90abf30758
+uk b0acea50dee6
+uz 17d7e0e78397
+vi 5f990ea87b44
+xh 82473adddcaa
+zh-CN a17256bb05fa
+zh-TW 769f13e36251
--- a/MozillaFirefox/mozilla-aarch64-48bit-va.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-aarch64-48bit-va.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-exclude-nametablecpp.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-exclude-nametablecpp.patch
\ No newline at end of file
--- a/MozillaFirefox/mozilla-old_configure-bmo1282843.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-old_configure-bmo1282843.patch
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MozillaFirefox/mozilla-skia-overflow.patch Fri Sep 23 13:20:08 2016 +0200
@@ -0,0 +1,1 @@
+../mozilla-skia-overflow.patch
\ No newline at end of file
--- a/firefox-kde.patch Mon Sep 19 21:47:49 2016 +0200
+++ b/firefox-kde.patch Fri Sep 23 13:20:08 2016 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 07e419c2bbc63c486d25fd8ce117abd10e9ebdba
+# Parent 2704257a50b4ff60fa43eca8d4a547c6d70bb30e
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,1174 @@
+@@ -0,0 +1,1179 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -16,6 +16,7 @@
+
+<?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://browser/content/usercontext/usercontext.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"?>
@@ -296,18 +297,6 @@
+ noautofocus="true"
+ position="topcenter topright"/>
+
-+ <panel id="loop-notification-panel"
-+ class="loop-panel social-panel"
-+ type="arrow"
-+ hidden="true"
-+ noautofocus="true"/>
-+
-+ <panel id="loop-panel"
-+ class="loop-panel social-panel"
-+ type="arrow"
-+ orient="horizontal"
-+ hidden="true"/>
-+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@@ -388,7 +377,28 @@
+#include browser-context.inc
+ </menupopup>
+
-+ <menupopup id="placesContext"/>
++ <menupopup id="placesContext">
++ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
++ ignoreitem="true"
++ ordinal="2"
++ hidden="true"/>
++ <menuitem id="placesContext_hideRecentlyBookmarked"
++ label="&hideRecentlyBookmarked.label;"
++ accesskey="&hideRecentlyBookmarked.accesskey;"
++ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
++ closemenu="single"
++ ignoreitem="true"
++ ordinal="2"
++ hidden="true"/>
++ <menuitem id="placesContext_showRecentlyBookmarked"
++ label="&showRecentlyBookmarked.label;"
++ accesskey="&showRecentlyBookmarked.accesskey;"
++ oncommand="BookmarkingUI.showRecentlyBookmarked();"
++ closemenu="single"
++ ignoreitem="true"
++ ordinal="2"
++ hidden="true"/>
++ </menupopup>
+
+ <panel id="ctrlTab-panel" class="KUI-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox>
@@ -404,21 +414,6 @@
+ </hbox>
+ </panel>
+
-+ <!-- Sync Panel -->
-+ <panel id="sync-start-panel" class="sync-panel" type="arrow" hidden="true"
-+ noautofocus="true" onclick="this.hidePopup();"
-+ flip="slide">
-+ <hbox class="sync-panel-outer">
-+ <image class="sync-panel-icon"/>
-+ <vbox class="sync-panel-inner">
-+ <description id="sync-start-panel-title"
-+ value="&syncStartPanel2.heading;"/>
-+ <description id="sync-start-panel-subtitle"
-+ value="&syncStartPanel2.subTitle;"/>
-+ </vbox>
-+ </hbox>
-+ </panel>
-+
+ <!-- Bookmarks and history tooltip -->
+ <tooltip id="bhTooltip"/>
+
@@ -634,7 +629,12 @@
+ key="key_undoCloseTab"
+ label="&undoCloseTab.label;"
+ observes="History:UndoCloseTab"/>
-+ <menuseparator id="alltabs-popup-separator"/>
++ <menuseparator id="alltabs-popup-separator-1"/>
++ <menu id="alltabs_containersTab"
++ label="&newUserContext.label;">
++ <menupopup id="alltabs_containersMenuTab" />
++ </menu>
++ <menuseparator id="alltabs-popup-separator-2"/>
+ </menupopup>
+ </toolbarbutton>
+
@@ -718,41 +718,41 @@
+ <box id="notification-popup-box" hidden="true" align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.defaultNotificationAnchor.label;"/>
-+ <image id="geo-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
-+ <image id="addons-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
+ aria-label="&urlbar.addonsNotificationAnchor.label;"/>
-+ <image id="indexedDB-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
-+ <image id="login-fill-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
-+ <image id="password-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ aria-label="&urlbar.passwordNotificationAnchor.label;"/>
-+ <image id="plugins-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
-+ <image id="web-notifications-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="web-notifications-notification-icon" class="notification-anchor-icon web-notifications-icon" role="button"
+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
-+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
-+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
-+ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
-+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
-+ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
-+ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button"
+ aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
-+ <image id="pointerLock-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="pointerLock-notification-icon" class="notification-anchor-icon pointer-icon" role="button"
+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
-+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
+ aria-label="&urlbar.servicesNotificationAnchor.label;"/>
-+ <image id="translate-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
+ aria-label="&urlbar.translateNotificationAnchor.label;"/>
-+ <image id="translated-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
+ aria-label="&urlbar.translatedNotificationAnchor.label;"/>
-+ <image id="eme-notification-icon" class="notification-anchor-icon" role="button"
++ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
+ aria-label="&urlbar.emeNotificationAnchor.label;"/>
+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
@@ -789,7 +789,7 @@
+ hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/>
+ </hbox>
-+ <hbox id="userContext-icons">
++ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
+ <image id="userContext-indicator"/>
+ </hbox>
@@ -856,6 +856,11 @@
+ command="Browser:ShowAllBookmarks"
+ key="manBookmarkKb"/>
+ <menuseparator/>
++ <menuitem label="&recentBookmarks.label;"
++ id="BMB_recentBookmarks"
++ disabled="true"
++ class="menuitem-iconic subviewbutton"/>
++ <menuseparator/>
+ <menu id="BMB_bookmarksToolbar"
+ class="menu-iconic bookmark-item subviewbutton"
+ label="&personalbarCmd.label;"
@@ -1288,7 +1293,7 @@
// 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.
-@@ -736,16 +742,27 @@ var gMainPane = {
+@@ -730,16 +736,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
@@ -1631,7 +1636,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -689,16 +689,17 @@
+@@ -676,16 +676,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions
@@ -1643,9 +1648,9 @@
+@BINPATH@/defaults/pref/kde.js
; Services (gre) prefs
- #ifdef MOZ_SERVICES_NOTIFICATIONS
- @RESPATH@/defaults/pref/services-notifications.js
- #endif
@RESPATH@/defaults/pref/services-sync.js
; [Layout Engine Resources]
+ ; Style Sheets, Graphics and other Resources used by the layout engine.
+ @RESPATH@/res/EditorOverride.css
+ @RESPATH@/res/contenteditable.css
--- a/mozilla-aarch64-48bit-va.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-
-# HG changeset patch
-# User Zheng Xu <zheng.xu@linaro.org>
-# Date 1464657720 -7200
-# Node ID dfaafbaaa2919a033c4c0abdd5830f4ea413bed6
-# Parent 499f16ca85ec48d1896a1633730715f32bd62140
-Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits are clear. r=ehoogeveen
-
-There might be 48-bit VA on arm64 depending on kernel configuration.
-Manually mmap heap memory to align with the assumption made by JS engine.
-
-diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
---- a/js/src/gc/Memory.cpp
-+++ b/js/src/gc/Memory.cpp
-@@ -430,17 +430,17 @@ InitMemorySubsystem()
- if (pageSize == 0)
- pageSize = allocGranularity = size_t(sysconf(_SC_PAGESIZE));
- }
-
- static inline void*
- MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE,
- int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
- {
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
- MOZ_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
- #endif
- void* region = mmap(desired, length, prot, flags, fd, offset);
- if (region == MAP_FAILED)
- return nullptr;
- /*
- * mmap treats the given address as a hint unless the MAP_FIXED flag is
- * used (which isn't usually what you want, as this overrides existing
-@@ -480,16 +480,51 @@ MapMemory(size_t length, int prot = PROT
- * as out of memory.
- */
- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
- if (munmap(region, length))
- MOZ_ASSERT(errno == ENOMEM);
- return nullptr;
- }
- return region;
-+#elif defined(__aarch64__)
-+ /*
-+ * There might be similar virtual address issue on arm64 which depends on
-+ * hardware and kernel configurations. But the work around is slightly
-+ * different due to the different mmap behavior.
-+ *
-+ * TODO: Merge with the above code block if this implementation works for
-+ * ia64 and sparc64.
-+ */
-+ const uintptr_t start = UINT64_C(0x0000070000000000);
-+ const uintptr_t end = UINT64_C(0x0000800000000000);
-+ const uintptr_t step = ChunkSize;
-+ /*
-+ * Optimization options if there are too many retries in practice:
-+ * 1. Examine /proc/self/maps to find an available address. This file is
-+ * not always available, however. In addition, even if we examine
-+ * /proc/self/maps, we may still need to retry several times due to
-+ * racing with other threads.
-+ * 2. Use a global/static variable with lock to track the addresses we have
-+ * allocated or tried.
-+ */
-+ uintptr_t hint;
-+ void* region = MAP_FAILED;
-+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
-+ region = mmap((void*)hint, length, prot, flags, fd, offset);
-+ if (region != MAP_FAILED) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
-+ if (munmap(region, length)) {
-+ MOZ_ASSERT(errno == ENOMEM);
-+ }
-+ region = MAP_FAILED;
-+ }
-+ }
-+ }
-+ return region == MAP_FAILED ? nullptr : region;
- #else
- void* region = MozTaggedAnonymousMmap(nullptr, length, prot, flags, fd, offset, "js-gc-heap");
- if (region == MAP_FAILED)
- return nullptr;
- return region;
- #endif
- }
-
-diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp
---- a/js/src/jsapi-tests/testGCAllocator.cpp
-+++ b/js/src/jsapi-tests/testGCAllocator.cpp
-@@ -307,48 +307,72 @@ void* mapMemoryAt(void* desired, size_t
- void* mapMemory(size_t length) { return nullptr; }
- void unmapPages(void* p, size_t size) { }
-
- #elif defined(XP_UNIX)
-
- void*
- mapMemoryAt(void* desired, size_t length)
- {
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
- MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
- #endif
- void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
- if (region == MAP_FAILED)
- return nullptr;
- if (region != desired) {
- if (munmap(region, length))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- return nullptr;
- }
- return region;
- }
-
- void*
- mapMemory(size_t length)
- {
-- void* hint = nullptr;
-+ int prot = PROT_READ | PROT_WRITE;
-+ int flags = MAP_PRIVATE | MAP_ANON;
-+ int fd = -1;
-+ off_t offset = 0;
-+ // The test code must be aligned with the implementation in gc/Memory.cpp.
- #if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-- hint = (void*)0x0000070000000000ULL;
--#endif
-- void* region = mmap(hint, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
-+ void* region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
- if (region == MAP_FAILED)
- return nullptr;
--#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
-- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000ULL) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
- if (munmap(region, length))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- return nullptr;
- }
-+ return region;
-+#elif defined(__aarch64__)
-+ const uintptr_t start = UINT64_C(0x0000070000000000);
-+ const uintptr_t end = UINT64_C(0x0000800000000000);
-+ const uintptr_t step = ChunkSize;
-+ uintptr_t hint;
-+ void* region = MAP_FAILED;
-+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
-+ region = mmap((void*)hint, length, prot, flags, fd, offset);
-+ if (region != MAP_FAILED) {
-+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
-+ if (munmap(region, length)) {
-+ MOZ_RELEASE_ASSERT(errno == ENOMEM);
-+ }
-+ region = MAP_FAILED;
-+ }
-+ }
-+ }
-+ return region == MAP_FAILED ? nullptr : region;
-+#else
-+ void* region = mmap(nullptr, length, prot, flags, fd, offset);
-+ if (region == MAP_FAILED)
-+ return nullptr;
-+ return region;
- #endif
-- return region;
- }
-
- void
- unmapPages(void* p, size_t size)
- {
- if (munmap(p, size))
- MOZ_RELEASE_ASSERT(errno == ENOMEM);
- }
-
--- a/mozilla-exclude-nametablecpp.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-
-# HG changeset patch
-# User Jonathan Kew <jkew@mozilla.com>
-# Date 1463581374 -3600
-# Node ID 9c57b7cacffc57ec3919a2cf3b5ce861e0cf3842
-# Parent ea7843420fe518b772c7b259d8ff47193fc5b79e
-Bug 1272647 - Exclude NameTable.cpp from unified compilation because #include <cmath> in other source files causes gcc6 compilation failure. r=bas
-
-diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build
---- a/gfx/graphite2/src/moz.build
-+++ b/gfx/graphite2/src/moz.build
-@@ -40,30 +40,35 @@ UNIFIED_SOURCES += [
- 'gr_features.cpp',
- 'gr_font.cpp',
- 'gr_logging.cpp',
- 'gr_segment.cpp',
- 'gr_slot.cpp',
- 'Intervals.cpp',
- 'json.cpp',
- 'Justifier.cpp',
-- 'NameTable.cpp',
- 'Pass.cpp',
- 'Position.cpp',
- 'SegCache.cpp',
- 'SegCacheEntry.cpp',
- 'SegCacheStore.cpp',
- 'Segment.cpp',
- 'Silf.cpp',
- 'Slot.cpp',
- 'Sparse.cpp',
- 'TtfUtil.cpp',
- 'UtfCodec.cpp',
- ]
-
-+# Excluded from UNIFIED_SOURCES because <cmath> from other files breaks it,
-+# see bug 1272647.
-+SOURCES += [
-+ 'NameTable.cpp',
-+]
-+
- # tell graphite2 not to export symbols, we'll be linking it directly with
- # thebes
- DEFINES['GRAPHITE2_STATIC'] = True
-
- # We allow warnings for third-party code that can be updated from upstream.
- ALLOW_COMPILER_WARNINGS = True
-
- FINAL_LIBRARY = 'gkmedias'
-
-
--- a/mozilla-kde.patch Mon Sep 19 21:47:49 2016 +0200
+++ b/mozilla-kde.patch Fri Sep 23 13:20:08 2016 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 972c67cdd5dd4463abbee60036b686d4cb78e616
+# Parent 1d3f5cacba056949ea9a56d4d805c3073efe403b
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -27,7 +27,7 @@
#include "prefread.h"
#include "prefapi_private_data.h"
-@@ -1145,16 +1146,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
+@@ -1162,16 +1163,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@@ -62,7 +62,7 @@
return NS_OK;
bool hasMore;
-@@ -1170,17 +1189,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1187,17 +1206,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf;
path->GetNativeLeafName(leaf);
@@ -81,7 +81,7 @@
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
-@@ -1274,24 +1293,36 @@ static nsresult pref_InitInitialObjects(
+@@ -1291,24 +1310,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)
@@ -141,7 +141,7 @@
DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
- if CONFIG['GNU_CXX']:
+ FINAL_TARGET_PP_FILES += [
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
--- a/python/mozbuild/mozpack/chrome/flags.py
+++ b/python/mozbuild/mozpack/chrome/flags.py
@@ -187,7 +187,7 @@
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
-@@ -60,15 +60,16 @@ if not CONFIG['MOZ_SUITE']:
+@@ -60,17 +60,18 @@ if not CONFIG['MOZ_SUITE']:
'nsDownloadManagerUI.js',
'nsDownloadManagerUI.manifest',
]
@@ -205,6 +205,8 @@
DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
CXXFLAGS += CONFIG['TK_CFLAGS']
+
+ if CONFIG['GNU_CXX']:
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -2288,7 +2290,7 @@
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -48,17 +48,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
+@@ -47,17 +47,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
EXPORTS += ['nsQAppInstance.h']
SOURCES += [
@@ -2708,18 +2710,18 @@
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
-@@ -75,17 +75,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
- else:
- # These files can't be built in unified mode because they redefine LOG.
+@@ -77,17 +77,19 @@ else:
SOURCES += [
osdir + '/nsOSHelperAppService.cpp',
]
+ if CONFIG['GNU_CXX']:
+ CXXFLAGS += ['-Wno-error=shadow']
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
UNIFIED_SOURCES += [
+ 'unix/nsCommonRegistry.cpp',
'unix/nsGNOMERegistry.cpp',
-+ 'unix/nsKDERegistry.cpp',
++ 'unix/nsKDERegistry.cpp',
'unix/nsMIMEInfoUnix.cpp',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
@@ -2728,7 +2730,7 @@
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
-@@ -129,16 +131,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -131,16 +133,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@@ -3164,7 +3166,7 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -90,16 +90,17 @@ else:
+@@ -87,16 +87,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
@@ -3672,7 +3674,7 @@
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
-@@ -47,12 +47,13 @@ FINAL_LIBRARY = 'xul'
+@@ -44,12 +44,13 @@ FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'!..',
'../base',
--- a/mozilla-old_configure-bmo1282843.patch Mon Sep 19 21:47:49 2016 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 2a0e5188c796cb2addedd185aba6176405786854
-Bug 1282843 - configure.py doesn't parse global autoconf options like --libdir
-without assuming libdir during build we do not find plugins/extensions in the correct system directory
-
-diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
---- a/build/moz.configure/old.configure
-+++ b/build/moz.configure/old.configure
-@@ -149,16 +149,19 @@ def old_configure_options(*options):
- def all_options(help):
- return list(options)
-
- return depends(prepare_configure, extra_old_configure_args, all_options,
- *options)
-
-
- @old_configure_options(
-+ '--libdir',
-+ '--includedir',
-+ '--datadir',
- '--cache-file',
- '--enable-accessibility',
- '--enable-address-sanitizer',
- '--enable-alsa',
- '--enable-android-omx',
- '--enable-android-resource-constrained',
- '--enable-approximate-location',
- '--enable-b2g-bt',
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-skia-overflow.patch Fri Sep 23 13:20:08 2016 +0200
@@ -0,0 +1,32 @@
+# HG changeset patch
+# User Lee Salzman <lsalzman@mozilla.com>
+# Date 1474489725 14400
+# Wed Sep 21 16:28:45 2016 -0400
+# Node ID 38a427a913b57080374b9966466b8f436ec39eb8
+# Parent 4dfd3f00543d1d7adc3f0f852e6f32fbca6f3420
+fix invalid Sk4f store to SkColor in SkPixmap::erase
+
+MozReview-Commit-ID: 840x1nXgYns
+
+diff --git a/gfx/skia/skia/src/core/SkPixmap.cpp b/gfx/skia/skia/src/core/SkPixmap.cpp
+--- a/gfx/skia/skia/src/core/SkPixmap.cpp
++++ b/gfx/skia/skia/src/core/SkPixmap.cpp
+@@ -221,17 +221,17 @@ bool SkPixmap::erase(const SkColor4f& or
+ pm = *this;
+ }
+
+ const SkColor4f color = origColor.pin();
+
+ if (kRGBA_F16_SkColorType != pm.colorType()) {
+ Sk4f c4 = Sk4f::Load(color.vec());
+ SkColor c;
+- (c4 * Sk4f(255) + Sk4f(0.5f)).store(&c);
++ SkNx_cast<uint8_t>(c4 * Sk4f(255) + Sk4f(0.5f)).store(&c);
+ return pm.erase(c);
+ }
+
+ const uint64_t half4 = color.premul().toF16();
+ for (int y = 0; y < pm.height(); ++y) {
+ sk_memset64(pm.writable_addr64(0, y), half4, pm.width());
+ }
+ return true;
--- a/series Mon Sep 19 21:47:49 2016 +0200
+++ b/series Fri Sep 23 13:20:08 2016 +0200
@@ -11,10 +11,8 @@
mozilla-reduce-files-per-UnifiedBindings.patch
#mozilla-gtk3_20.patch
mozilla-check_return.patch
-mozilla-exclude-nametablecpp.patch
-mozilla-aarch64-48bit-va.patch
+mozilla-skia-overflow.patch
mozilla-binutils-visibility.patch
-mozilla-old_configure-bmo1282843.patch
# Firefox patches
firefox-kde.patch