--- a/MozillaFirefox/MozillaFirefox.changes Wed Jan 18 22:06:23 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes Fri Jan 20 23:56:59 2017 +0100
@@ -1,7 +1,37 @@
-------------------------------------------------------------------
+Fri Jan 20 13:57:56 UTC 2017 - wr@rosenauer.org
+
+- update to Firefox 51.0b14 (boo#)
+ * requires NSPR >= 4.13.1, NSS >= 3.28.1
+- removed obsolete patches
+ * mozilla-flex_buffer_overrun.patch
+
+-------------------------------------------------------------------
Mon Dec 12 21:18:41 UTC 2016 - wr@rosenauer.org
-- update to Firefox 50.1.0 (boo#)
+- update to Firefox 50.1.0 (boo#1015422)
+ * MFSA 2016-94
+ CVE-2016-9894: Buffer overflow in SkiaGL (bmo#1306628)
+ CVE-2016-9899: Use-after-free while manipulating DOM events and
+ audio elements (bmo#1317409)
+ CVE-2016-9895: CSP bypass using marquee tag (bmo#1312272)
+ CVE-2016-9896: Use-after-free with WebVR (bmo#1315543)
+ CVE-2016-9897: Memory corruption in libGLES (bmo#1301381)
+ CVE-2016-9898: Use-after-free in Editor while manipulating
+ DOM subtrees (bmo#1314442)
+ CVE-2016-9900: Restricted external resources can be loaded by
+ SVG images through data URLs (bmo#1319122)
+ CVE-2016-9904: Cross-origin information leak in shared atoms
+ (bmo#1317936)
+ CVE-2016-9901: Data from Pocket server improperly sanitized
+ before execution (bmo#1320057)
+ CVE-2016-9902: Pocket extension does not validate the origin
+ of events (bmo#1320039)
+ CVE-2016-9903: XSS injection vulnerability in add-ons SDK
+ (bmo#1315435)
+ CVE-2016-9080: Memory safety bugs fixed in Firefox 50.1
+ CVE-2016-9893: Memory safety bugs fixed in Firefox 50.1 and
+ Firefox ESR 45.6
-------------------------------------------------------------------
Fri Dec 9 17:57:22 UTC 2016 - cgrobertson@novell.com
--- a/MozillaFirefox/MozillaFirefox.spec Wed Jan 18 22:06:23 2017 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Fri Jan 20 23:56:59 2017 +0100
@@ -19,9 +19,9 @@
# changed with every update
%define major 50
-%define mainver %major.1.0
-%define update_channel release
-%define releasedate 20161212000000
+%define mainver %major.99
+%define update_channel beta
+%define releasedate 20170117000000
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -74,8 +74,8 @@
BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
-BuildRequires: mozilla-nspr-devel >= 4.12
-BuildRequires: mozilla-nss-devel >= 3.26.2
+BuildRequires: mozilla-nspr-devel >= 4.13.1
+BuildRequires: mozilla-nss-devel >= 3.28.1
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -152,7 +152,6 @@
Patch102: firefox-no-default-ualocale.patch
Patch103: firefox-branded-icons.patch
# hotfix
-Patch150: mozilla-flex_buffer_overrun.patch
Patch200: mozilla-aarch64-startup-crash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -266,7 +265,6 @@
%patch101 -p1
%patch102 -p1
%patch103 -p1
-%patch150 -p1
%patch200 -p1
%build
--- a/MozillaFirefox/create-tar.sh Wed Jan 18 22:06:23 2017 +0100
+++ b/MozillaFirefox/create-tar.sh Fri Jan 20 23:56:59 2017 +0100
@@ -5,10 +5,10 @@
# "moz_source_stamp": "c1de04f39fa956cfce83f6065b0e709369215ed5"
# http://ftp.mozilla.org/pub/firefox/candidates/48.0-candidates/build2/l10n_changesets.txt
-CHANNEL="release"
+CHANNEL="beta"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="8612c3320053b796678921f8f23358e3e9df997e"
-VERSION="50.1.0"
+RELEASE_TAG="FIREFOX_51_0b14_RELEASE"
+VERSION="50.99"
# mozilla
if [ -d mozilla ]; then
--- a/MozillaFirefox/l10n_changesets.txt Wed Jan 18 22:06:23 2017 +0100
+++ b/MozillaFirefox/l10n_changesets.txt Fri Jan 20 23:56:59 2017 +0100
@@ -1,92 +1,93 @@
-ach 72c548f97e82
-af 676daf929ded
-an 9c672ba38dae
-ar 6bd1cb920a48
-as 9710b1ce7a29
-ast 5a06502c9fc1
-az f12bc2c29510
-be 3c6fd4559f7f
-bg 7843a5e79d32
-bn-BD 3cbe5cfb0859
-bn-IN 578eacdbac9d
-br a16ed131653a
-bs 3425b8fcf1ab
-ca c6b4f835d64e
-cak 710c1faa7291
-cs e1f114f9588d
-cy 07118becc133
-da fbec55bbfd36
-de 20748e20ccf2
-dsb 4b8493859a20
-el 16fdb46a6a47
-en-GB e7242fb885cf
-en-ZA 118b4d922a17
-eo ae85ceef76b2
-es-AR a18a4b85f35f
-es-CL c5ff11d180da
-es-ES e841d9340b7c
-es-MX 2eaf1f216766
-et 8920752eaf5b
-eu eb3cb2d122eb
-fa e481522b74f8
-ff 88f5cd66688d
-fi b20587491f77
-fr 628920fcb9f1
-fy-NL 56f04c122d2a
-ga-IE ffbfd52e15d6
-gd 9f50ee991ed8
-gl e15306f877bf
-gn 68f844f4138a
-gu-IN 54ac9d906390
-he 7c087889358a
-hi-IN aea1bb23685c
-hr b0cc9aa34502
-hsb d7ea2d9d91ea
-hu 5106349d21dd
-hy-AM 3f5103ed23e2
-id 69b0d5120660
-is 8b6a14ea919f
-it ec06674eebb4
-ja 488fbb4070d9
-ja-JP-mac e120b04c4a90
-kk 60c09b46e90d
-km 00277d0045d3
-kn 0aff09069416
-ko 33cf1dd48c33
-lij 6a94ea30eef6
-lt 15947ce6f7ff
-lv 3a43a0e2c12c
-mai b43ac46bf163
-mk 0f98fd626df2
-ml b6b5a2b26a09
-mr 0c2a798af2d9
-ms a0a74230784a
-nb-NO 378c5b201531
-nl 750fcda42314
-nn-NO 444e256b7ed8
-or 5ac88ef59ea5
-pa-IN ab02b30c28ea
-pl cd84bd057189
-pt-BR dc5c8b030a57
-pt-PT 900fd62886bb
-rm b6416ed6a3a1
-ro 2e2e9b5a07f5
-ru 1d962dfc279e
-si 03a3b09a2203
-sk 4e8311d1d017
-sl b43e8e65c00e
-son 544d3eea9a59
-sq 25e86afe807e
-sr 233c45e5d423
-sv-SE 6b9266a60638
-ta 0256c1b190ce
-te 8565fd8f778a
-th e2b0b5a2dc9c
-tr 255e7e613fca
-uk e36fe69f4a3f
-uz 6d46754186ab
-vi 5c32df50f35d
-xh c96bc753a170
-zh-CN 411faa039900
-zh-TW e1416ff1b4d6
+ach d6ba00c5c59a
+af 221acbf9c551
+an efef89681add
+ar 940e066d2dd8
+as a97311f0a051
+ast 37ff5970cc8f
+az 374715191cd0
+bg d15a763f746a
+bn-BD b4cdbb48d9fb
+bn-IN 405c89530a66
+br e730984a8770
+bs e25f083ed28a
+ca 2909feec9b62
+cak b0fe49f697f3
+cs 53096821fe5c
+cy 4690316110e9
+da 24845323c326
+de ec96b812a542
+dsb 8e338605ccb9
+el 34a3488407a6
+en-GB 8000aa9daf28
+en-ZA ad5be8ba60f3
+eo 3a024766912e
+es-AR 541f1c3690da
+es-CL 56477941664e
+es-ES 8b7162b69b09
+es-MX 77bc335e0853
+et a9b1775874d3
+eu 52ec58e99375
+fa 95d8b781e109
+ff 2e39572916fb
+fi 94ad306d1492
+fr 27c4dc4cba4d
+fy-NL 9399c11d5edb
+ga-IE 5d9852283915
+gd bc702e34726b
+gl 74d31ad43213
+gn 43e8b6cb5fc6
+gu-IN 97b7ec458ace
+he 32e85d63d323
+hi-IN 25c7d3fceff8
+hr 15e2ad66589c
+hsb ff5fb215596d
+hu 814fad9068d9
+hy-AM 339e5b6d31d2
+id 1f325ac9007c
+is e346cec6bace
+it fc766adb485d
+ja 78a60bf924e7
+ja-JP-mac 0ca52430f89c
+ka fb0e9f4fdbe7
+kab 3de51a9c61ce
+kk 368faf9a9ed3
+km 97cd3bb4f2f3
+kn f657dd18d8a1
+ko bc9fde5af704
+lij 500f328a0bf0
+lt 3eefea021768
+lv 90a827f08cb4
+mai 4a95441f376c
+mk 666cf4d8067b
+ml 1f2e734fbd60
+mr 8067689c39f3
+ms 76c4152f9e3f
+nb-NO 1effc4c0ba39
+nl 28f169daa01f
+nn-NO 272d7d7fbd67
+or 765fc4b06ed0
+pa-IN 8518db59aecf
+pl 339f79766251
+pt-BR 3e521cc717b9
+pt-PT 5ea4fd22db27
+rm 66840279c384
+ro a87554f9bf7e
+ru a8f0bc1f85db
+si 2629b7b1279c
+sk b78499013196
+sl b91f9bd2d619
+son 2934d6741b1a
+sq 8ff97a87cbeb
+sr 8ddd91c5629b
+sv-SE 483944f0c102
+ta dc89744a2281
+te 545bca10223a
+th 6076f69e7093
+tr 70129fabcb60
+uk cb0a4b0816fa
+uz 01402c615783
+vi d6c09226896e
+xh f587b401f8fc
+zh-CN d260be15e967
+zh-TW 267404478cf9
--- a/MozillaFirefox/mozilla-flex_buffer_overrun.patch Wed Jan 18 22:06:23 2017 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-../mozilla-flex_buffer_overrun.patch
\ No newline at end of file
--- a/firefox-kde.patch Wed Jan 18 22:06:23 2017 +0100
+++ b/firefox-kde.patch Fri Jan 20 23:56:59 2017 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc
+# Parent 2cae514c05c8836ca5b69884d3a07998a5d53e8b
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,1200 @@
+@@ -0,0 +1,1119 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -160,14 +160,7 @@
+ noautofocus="true"
+ hidden="true"
+ flip="none"
-+ level="parent">
-+#ifdef NIGHTLY_BUILD
-+ <hbox id="urlbar-search-footer" flex="1" align="stretch" pack="end">
-+ <button id="urlbar-search-settings" label="&changeSearchSettings.button;"
-+ oncommand="BrowserUITelemetry.countSearchSettingsEvent('urlbar'); openPreferences('paneSearch')"/>
-+ </hbox>
-+#endif
-+ </panel>
++ level="parent"/>
+
+ <!-- for select dropdowns. The menupopup is what shows the list of options,
+ and the popuponly menulist makes things like the menuactive attributes
@@ -175,7 +168,7 @@
+ popuponly menulist to be its immediate parent. -->
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
+ <menupopup rolluponmousewheel="true"
-+ activateontab="true"
++ activateontab="true" position="after_start"
+#ifdef XP_WIN
+ consumeoutsideclicks="false" ignorekeys="handled"
+#endif
@@ -192,6 +185,7 @@
+ orient="vertical"
+ ignorekeys="true"
+ hidden="true"
++ tabspecific="true"
+ onpopupshown="StarUI.panelShown(event);"
+ aria-labelledby="editBookmarkPanelTitle">
+ <row id="editBookmarkPanelHeader" align="center" hidden="true">
@@ -286,23 +280,6 @@
+ <hbox id="share-container" flex="1"/>
+ </panel>
+
-+ <panel id="social-notification-panel"
-+ class="social-panel"
-+ type="arrow"
-+ hidden="true"
-+ noautofocus="true"/>
-+ <panel id="social-flyout-panel"
-+ class="social-panel"
-+ onpopupshown="SocialFlyout.onShown()"
-+ onpopuphidden="SocialFlyout.onHidden()"
-+ side="right"
-+ type="arrow"
-+ hidden="true"
-+ flip="slide"
-+ rolluponmousewheel="true"
-+ noautofocus="true"
-+ position="topcenter topright"/>
-+
+ <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@@ -718,66 +695,54 @@
+ <image id="identity-icon"
+ consumeanchor="identity-box"
+ onclick="PageProxyClickHandler(event);"/>
-+ <box id="blocked-permissions-container" align="center" tooltiptext="">
-+ <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button"
-+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
-+ <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button"
-+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
-+ <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button"
-+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/>
-+ <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button"
-+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/>
-+ <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button"
-+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/>
-+ <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button"
-+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/>
-+ <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button"
-+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
++ <image id="sharing-icon" mousethrough="always"/>
++ <box id="blocked-permissions-container" align="center">
++ <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
++ tooltiptext="&urlbar.geolocationBlocked.tooltip;"/>
++ <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button"
++ tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/>
++ <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button"
++ tooltiptext="&urlbar.cameraBlocked.tooltip;"/>
++ <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button"
++ tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/>
++ <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
++ tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
++ <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
++ tooltiptext="&urlbar.screenBlocked.tooltip;"/>
+ </box>
+ <box id="notification-popup-box"
+ hidden="true"
-+ tooltiptext=""
+ onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
+ onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
+ align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button"
-+ aria-label="&urlbar.defaultNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
+ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
-+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/>
+ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
-+ aria-label="&urlbar.addonsNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/>
+ <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 login-icon" role="button"
-+ aria-label="&urlbar.loginFillNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
+ <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
-+ aria-label="&urlbar.passwordNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
+ <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
-+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
-+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
++ tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
+ <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 camera-icon in-use" role="button"
-+ aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/>
+ <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 microphone-icon in-use" role="button"
-+ aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/>
+ <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 screen-icon in-use" role="button"
-+ aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/>
-+ <image id="pointerLock-notification-icon" class="notification-anchor-icon pointerLock-icon" role="button"
-+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/>
+ <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
-+ aria-label="&urlbar.servicesNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/>
+ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
-+ aria-label="&urlbar.translateNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/>
+ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
-+ aria-label="&urlbar.translatedNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
-+ aria-label="&urlbar.emeNotificationAnchor.label;"/>
++ tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
+ </box>
+ <image id="tracking-protection-icon"/>
+ <image id="connection-icon"/>
@@ -799,6 +764,10 @@
+ class="urlbar-icon"
+ hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/>
++ <toolbarbutton id="urlbar-zoom-button"
++ onclick="FullZoom.reset();"
++ tooltiptext="&urlbar.zoomReset.tooltip;"
++ hidden="true"/>
+ </hbox>
+ <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/>
@@ -1080,7 +1049,7 @@
+ <image id="sidebar-throbber"/>
+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
+ </sidebarheader>
-+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true"
++ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
+ </vbox>
+
@@ -1093,56 +1062,6 @@
+ contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete"
+ selectmenulist="ContentSelectDropdown"/>
-+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
-+ </vbox>
-+ <splitter id="social-sidebar-splitter"
-+ class="chromeclass-extrachrome sidebar-splitter"
-+ observes="socialSidebarBroadcaster"/>
-+ <vbox id="social-sidebar-box"
-+ class="chromeclass-extrachrome"
-+ observes="socialSidebarBroadcaster"
-+ persist="width">
-+
-+ <sidebarheader id="social-sidebar-header" class="sidebar-header" align="center">
-+ <image id="social-sidebar-favico"/>
-+ <label id="social-sidebar-title" class="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
-+ <toolbarbutton id="social-sidebar-button"
-+ class="toolbarbutton-1"
-+ type="menu">
-+ <menupopup id="social-statusarea-popup" position="after_end">
-+ <menuitem class="social-toggle-sidebar-menuitem"
-+ type="checkbox"
-+ autocheck="false"
-+ command="Social:ToggleSidebar"
-+ label="&social.toggleSidebar.label;"
-+ accesskey="&social.toggleSidebar.accesskey;"/>
-+ <menuitem class="social-toggle-notifications-menuitem"
-+ type="checkbox"
-+ autocheck="false"
-+ command="Social:ToggleNotifications"
-+ label="&social.toggleNotifications.label;"
-+ accesskey="&social.toggleNotifications.accesskey;"/>
-+ <menuseparator/>
-+ <menuseparator class="social-provider-menu" hidden="true"/>
-+ <menuitem class="social-addons-menuitem" command="Social:Addons"
-+ label="&social.addons.label;"/>
-+ <menuitem label="&social.learnMore.label;"
-+ accesskey="&social.learnMore.accesskey;"
-+ oncommand="SocialUI.showLearnMore();"/>
-+ </menupopup>
-+ </toolbarbutton>
-+ </sidebarheader>
-+
-+ <browser id="social-sidebar-browser"
-+ type="content"
-+ context="contentAreaContextMenu"
-+ message="true"
-+ messagemanagergroup="social"
-+ disableglobalhistory="true"
-+ tooltip="aHTMLTooltip"
-+ popupnotificationanchor="social-sidebar-favico"
-+ flex="1"
-+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
+ </vbox>
+ <vbox id="browser-border-end" hidden="true" layer="true"/>
+ </hbox>
@@ -1291,57 +1210,57 @@
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
-@@ -23,16 +23,22 @@ var gMainPane = {
- init: function ()
- {
- function setEventListener(aId, aEventType, aCallback)
- {
- document.getElementById(aId)
- .addEventListener(aEventType, aCallback.bind(gMainPane));
- }
-
+@@ -33,16 +33,22 @@ var gMainPane = {
+ if (AppConstants.platform == "win") {
+ // In Windows 8 we launch the control panel since it's the only
+ // way to get all file type association prefs. So we don't know
+ // when the user will select the default. We refresh here periodically
+ // in case the default changes. On other Windows OS's defaults can also
+ // be set while the prefs are open.
+ window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
+ }
++
+ var env = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment);
+ var kde_session = 0;
+ if (env.get('KDE_FULL_SESSION') == "true")
+ kde_session = 1;
-+
- #ifdef HAVE_SHELL_SERVICE
- this.updateSetDefaultBrowser();
- #ifdef XP_WIN
- // In Windows 8 we launch the control panel since it's the only
- // way to get all file type association prefs. So we don't know
- // 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.
-@@ -703,16 +709,27 @@ var gMainPane = {
- let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
- alwaysCheckPref.value = true;
-
- let shellSvc = getShellService();
- if (!shellSvc)
- return;
- try {
- shellSvc.setDefaultBrowser(true, false);
-+ if (kde_session == 1) {
-+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
-+ .createInstance(Components.interfaces.nsILocalFile);
-+ shellObj.initWithPath("/usr/bin/kwriteconfig");
-+ var process = Components.classes["@mozilla.org/process/util;1"]
-+ .createInstance(Components.interfaces.nsIProcess);
-+ process.init(shellObj);
-+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
-+ "BrowserApplication", "firefox"];
-+ process.run(false, args, args.length);
-+ }
- } catch (ex) {
- Cu.reportError(ex);
- return;
}
- let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
- document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
- }
+ // set up the "use current page" label-changing listener
+ this._updateUseCurrentButton();
+ window.addEventListener("focus", this._updateUseCurrentButton.bind(this), false);
+
+ this.updateBrowserStartupLastSession();
+
+@@ -704,16 +710,27 @@ var gMainPane = {
+ let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
+ alwaysCheckPref.value = true;
+
+ let shellSvc = getShellService();
+ if (!shellSvc)
+ return;
+ try {
+ shellSvc.setDefaultBrowser(true, false);
++ if (kde_session == 1) {
++ var shellObj = Components.classes["@mozilla.org/file/local;1"]
++ .createInstance(Components.interfaces.nsILocalFile);
++ shellObj.initWithPath("/usr/bin/kwriteconfig");
++ var process = Components.classes["@mozilla.org/process/util;1"]
++ .createInstance(Components.interfaces.nsIProcess);
++ process.init(shellObj);
++ var args = ["--file", "kdeglobals", "--group", "General", "--key",
++ "BrowserApplication", "firefox"];
++ process.run(false, args, args.length);
++ }
+ } catch (ex) {
+ Cu.reportError(ex);
+ return;
+ }
+
+ let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
+ document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
+ }
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
@@ -1657,7 +1576,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
-@@ -674,16 +674,17 @@
+@@ -675,16 +675,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions
--- a/mozilla-flex_buffer_overrun.patch Wed Jan 18 22:06:23 2017 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-# HG changeset patch
-# Parent c8e8364b303892fdb5a574b96411d2d8f699a15e
-Patch lexical parser files generated by flex which may be potentially
-exploitable in a buffer overrun. These seem to come from an upstream projects
-(CMU Sphinx and ANGLE) so it should be fixed there in the first place.
-
-CVE-2016-6354
-
-https://bugzilla.suse.com/show_bug.cgi?id=990856
-
-diff --git a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
---- a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
-+++ b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
-@@ -1375,17 +1375,17 @@ static int yy_get_next_buffer (yyscan_t
- if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-diff --git a/gfx/angle/src/compiler/translator/glslang_lex.cpp b/gfx/angle/src/compiler/translator/glslang_lex.cpp
---- a/gfx/angle/src/compiler/translator/glslang_lex.cpp
-+++ b/gfx/angle/src/compiler/translator/glslang_lex.cpp
-@@ -2269,17 +2269,17 @@ static int yy_get_next_buffer (yyscan_t
- if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-diff --git a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
---- a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
-+++ b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
-@@ -1242,17 +1242,17 @@ static int yy_get_next_buffer (yyscan_t
- if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
- /* don't do the read, it's not guaranteed to return an EOF,
- * just force an EOF
- */
- YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
-
- else
- {
-- yy_size_t num_to_read =
-+ int num_to_read =
- YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
- while ( num_to_read <= 0 )
- { /* Not enough room in the buffer - grow it. */
-
- /* just a shorter name for the current buffer */
- YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
--- a/mozilla-kde.patch Wed Jan 18 22:06:23 2017 +0100
+++ b/mozilla-kde.patch Fri Jan 20 23:56:59 2017 +0100
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 6ff55468281e12a84adefb46b17acb60d9cea608
+# Parent f3e80d26a430dfa1c58421fb66144a3c23ffc166
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"
-@@ -1180,16 +1181,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
+@@ -1174,16 +1175,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@@ -62,7 +62,7 @@
return NS_OK;
bool hasMore;
-@@ -1205,17 +1224,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1199,17 +1218,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);
-@@ -1309,24 +1328,36 @@ static nsresult pref_InitInitialObjects(
+@@ -1303,24 +1322,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)
@@ -187,8 +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,17 +60,18 @@ if not CONFIG['MOZ_SUITE']:
- 'nsDownloadManagerUI.js',
+@@ -57,16 +57,17 @@ if not CONFIG['MOZ_SUITE']:
'nsDownloadManagerUI.manifest',
]
@@ -196,9 +195,9 @@
LOCAL_INCLUDES += [
'../protobuf',
-- '/ipc/chromium/src'
-+ '/ipc/chromium/src',
-+ '/toolkit/xre'
+ '/ipc/chromium/src',
++ '/toolkit/xre',
+ 'chromium'
]
DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
@@ -206,11 +205,10 @@
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
-@@ -51,16 +51,20 @@
+@@ -52,16 +52,20 @@
#ifdef XP_WIN
#include <shlobj.h>
#include "nsWindowsHelpers.h"
@@ -228,10 +226,10 @@
#endif
#ifdef MOZ_WIDGET_ANDROID
- #include "GeneratedJNIWrappers.h"
+ #include "FennecJNIWrappers.h"
#endif
-@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat
+@@ -2723,16 +2727,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function.
@@ -257,7 +255,7 @@
int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec;
-@@ -2759,16 +2772,17 @@ nsDownload::SetState(DownloadState aStat
+@@ -2763,16 +2776,17 @@ nsDownload::SetState(DownloadState aStat
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone,
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
@@ -316,7 +314,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml
-@@ -0,0 +1,463 @@
+@@ -0,0 +1,457 @@
+<?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
@@ -386,8 +384,7 @@
+ <![CDATA[
+ if (this.hasAttribute("defaultButton"))
+ return this.getAttribute("defaultButton");
-+ else // default to the accept button
-+ return "accept";
++ return "accept"; // default to the accept button
+ ]]>
+ </getter>
+ <setter>
@@ -491,9 +488,6 @@
+ <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);
@@ -519,7 +513,7 @@
+ initialFocusedElt.focus();
+ }
+ }
-+ else if (AppConstants.platform != "macosx" &&
++ else if (!/Mac/.test(navigator.platform) &&
+ focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
+ defaultButton.focus();
+ }
@@ -604,16 +598,16 @@
+ else
+ switch (dlgtype) {
+ case "accept":
-+ button.setAttribute("icon","accept");
++ button.setAttribute("icon", "accept");
+ break;
+ case "cancel":
-+ button.setAttribute("icon","cancel");
++ button.setAttribute("icon", "cancel");
+ break;
+ case "disclosure":
-+ button.setAttribute("icon","properties");
++ button.setAttribute("icon", "properties");
+ break;
+ case "help":
-+ button.setAttribute("icon","help");
++ button.setAttribute("icon", "help");
+ break;
+ default:
+ break;
@@ -639,10 +633,8 @@
+ for (dlgtype in buttons)
+ buttons[dlgtype].hidden = !shown[dlgtype];
+
-+ 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") {
++ if (/Win/.test(navigator.platform)) {
+ var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
+ spacer.removeAttribute("hidden");
+ spacer.setAttribute("flex", shown["extra2"]?"1":"0");
@@ -784,7 +776,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1410 @@
+@@ -0,0 +1,1403 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@@ -1422,10 +1414,7 @@
+ var acceptButton = docElt.getButton("accept");
+ acceptButton.hidden = true;
+ var cancelButton = docElt.getButton("cancel");
-+
-+ let { AppConstants } =
-+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
-+ if (AppConstants.platform == "macosx") {
++ if (/Mac/.test(navigator.platform)) {
+ // no buttons on Mac except Help
+ cancelButton.hidden = true;
+ // Move Help button to the end
@@ -1607,9 +1596,7 @@
+ <parameter name="aPaneElement"/>
+ <body>
+ <![CDATA[
-+ let { AppConstants } =
-+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
-+ if (AppConstants.platform == "macosx") {
++ if (/Mac/.test(navigator.platform)) {
+ var paneTitle = aPaneElement.label;
+ if (paneTitle != "")
+ document.title = paneTitle;
@@ -1683,11 +1670,9 @@
+ <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);
-+ var animate = AppConstants.platform == "macosx";
++ var animate = /Mac/.test(navigator.platform);
+ try {
+ animate = psvc.getBoolPref("browser.preferences.animateFadeIn");
+ }
@@ -1854,7 +1839,7 @@
+ <handlers>
+ <handler event="dialogaccept">
+ <![CDATA[
-+ if (!this._fireEvent("beforeaccept", this)){
++ if (!this._fireEvent("beforeaccept", this)) {
+ return false;
+ }
+
@@ -2292,7 +2277,7 @@
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -39,17 +39,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -40,17 +40,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'updaterfileutils_osx.mm',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -2316,7 +2301,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/xre/nsKDEUtils.cpp
-@@ -0,0 +1,339 @@
+@@ -0,0 +1,344 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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
@@ -2337,6 +2322,11 @@
+#include <sys/resource.h>
+#include <unistd.h>
+#include <X11/Xlib.h>
++// copied from X11/X.h as a hack since for an unknown
++// reason it's not picked up from X11/X.h
++#ifndef None
++#define None 0L /* universal null resource or null atom */
++#endif
+
+//#define DEBUG_KDE
+#ifdef DEBUG_KDE
@@ -3161,7 +3151,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:
+@@ -101,16 +101,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
@@ -3534,25 +3524,25 @@
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp
-@@ -35,16 +35,17 @@
+@@ -32,16 +32,17 @@
+ #include "nsTextFormatter.h"
+ #include "nsVersionComparator.h"
+ #include "nsXPCOMCIDInternal.h"
#include "nsIConsoleService.h"
#include "nsIScriptError.h"
#include "nsIXULAppInfo.h"
#include "nsIXULRuntime.h"
- #ifdef MOZ_B2G_LOADER
- #include "mozilla/XPTInterfaceInfoManager.h"
- #endif
+#include "nsKDEUtils.h"
- #ifdef MOZ_B2G_LOADER
- #define XPTONLY_MANIFEST &nsComponentManagerImpl::XPTOnlyManifestManifest
- #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT
- #else
- #define XPTONLY_MANIFEST nullptr
- #define XPTONLY_XPT nullptr
- #endif
-@@ -494,16 +495,17 @@ ParseManifest(NSLocationType aType, File
+ using namespace mozilla;
+
+ struct ManifestDirective
+ {
+ const char* directive;
+ int argc;
+
+@@ -472,16 +473,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -3570,7 +3560,7 @@
NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content");
-@@ -554,44 +556,49 @@ ParseManifest(NSLocationType aType, File
+@@ -532,44 +534,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0);
@@ -3620,7 +3610,7 @@
process = kMain;
}
-@@ -694,25 +701,27 @@ ParseManifest(NSLocationType aType, File
+@@ -672,25 +679,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified;
TriState stABI = eUnspecified;
@@ -3648,7 +3638,7 @@
}
#if defined(MOZ_WIDGET_ANDROID)
-@@ -762,16 +771,17 @@ ParseManifest(NSLocationType aType, File
+@@ -740,16 +749,17 @@ ParseManifest(NSLocationType aType, File
}
if (!ok ||
--- a/mozilla-openaes-decl.patch Wed Jan 18 22:06:23 2017 +0100
+++ b/mozilla-openaes-decl.patch Fri Jan 20 23:56:59 2017 +0100
@@ -1,7 +1,7 @@
# HG changeset patch
# Parent 33024abb3c58dab7239e32388df58e14f99defd5
# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 17196b2f3cd2bcba6a5b54f4496b5762a593c5b3
+# Parent 6005a673f4c68ed05294bedcf45d6d962bf303e6
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
@@ -20,7 +20,7 @@
#include <time.h>
#include <string.h>
- #include "mozilla/Snprintf.h"
+ #include "mozilla/Sprintf.h"
#ifdef WIN32
#include <process.h>
--- a/mozilla-shared-nss-db.patch Wed Jan 18 22:06:23 2017 +0100
+++ b/mozilla-shared-nss-db.patch Fri Jan 20 23:56:59 2017 +0100
@@ -7,13 +7,13 @@
diff --git a/old-configure.in b/old-configure.in
--- a/old-configure.in
+++ b/old-configure.in
-@@ -6495,16 +6495,31 @@ if test "$MOZ_ENABLE_SKIA"; then
- AC_DEFINE(USE_SKIA_GPU)
- AC_SUBST(MOZ_ENABLE_SKIA_GPU)
- fi
- fi
- AC_SUBST(MOZ_ENABLE_SKIA)
- AC_SUBST_LIST(SKIA_INCLUDES)
+@@ -5358,16 +5358,31 @@ esac
+
+ AC_SUBST(MOZ_TREE_CAIRO)
+ AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
+ AC_SUBST_LIST(MOZ_CAIRO_LIBS)
+ AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
+ AC_SUBST(MOZ_TREE_PIXMAN)
dnl ========================================================
+dnl Check for nss-shared-helper
@@ -42,7 +42,7 @@
diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
--- a/security/manager/ssl/moz.build
+++ b/security/manager/ssl/moz.build
-@@ -159,16 +159,19 @@ if CONFIG['MOZ_XUL']:
+@@ -160,16 +160,19 @@ if CONFIG['MOZ_XUL']:
]
UNIFIED_SOURCES += [
@@ -87,7 +87,7 @@
#include "SharedSSLState.h"
#include "cert.h"
#include "certdb.h"
-@@ -1491,17 +1498,31 @@ nsNSSComponent::InitializeNSS()
+@@ -1702,17 +1709,31 @@ nsNSSComponent::InitializeNSS()
return rv;
}
}
@@ -122,14 +122,14 @@
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
-@@ -209,16 +209,18 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF
- OS_LIBS += [
- 'rt',
- ]
+@@ -220,16 +220,18 @@ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
+ OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
- OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
- OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
- OS_LIBS += CONFIG['MOZ_SERVO_LIBS']
+ if CONFIG['SERVO_TARGET_DIR']:
+ if CONFIG['_MSC_VER']:
+ OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
+ else:
+ OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+
--- a/series Wed Jan 18 22:06:23 2017 +0100
+++ b/series Fri Jan 20 23:56:59 2017 +0100
@@ -18,4 +18,3 @@
firefox-kde.patch
firefox-no-default-ualocale.patch
firefox-branded-icons.patch
-mozilla-flex_buffer_overrun.patch