--- a/MozillaFirefox/MozillaFirefox.changes Sun Nov 13 16:53:26 2016 +0100
+++ b/MozillaFirefox/MozillaFirefox.changes Tue Nov 15 21:26:23 2016 +0100
@@ -1,4 +1,85 @@
-------------------------------------------------------------------
+Mon Nov 14 21:07:03 UTC 2016 - wr@rosenauer.org
+
+- update to Firefox 50.0 (boo#1009026)
+ * requires NSS 3.26.2
+ new features
+ * Updates to keyboard shortcuts
+ Set a preference to have Ctrl+Tab cycle through tabs in recently
+ used order
+ View a page in Reader Mode by using Ctrl+Alt+R
+ * Added option to Find in page that allows users to limit search to
+ whole words only
+ * Added download protection for a large number of executable file
+ types on Windows, Mac and Linux
+ * Fixed rendering of dashed and dotted borders with rounded corners
+ (border-radius)
+ * Added a built-in Emoji set for operating systems without native
+ Emoji fonts (Windows 8.0 and lower and Linux)
+ * Blocked versions of libavcodec older than 54.35.1
+ * additional locale
+ security fixes:
+ * MFSA 2016-89
+ CVE-2016-5296: Heap-buffer-overflow WRITE in rasterize_edges_1
+ (bmo#1292443)
+ CVE-2016-5292: URL parsing causes crash (bmo#1288482)
+ CVE-2016-5293: Write to arbitrary file with updater and moz
+ maintenance service using updater.log hardlink
+ (Windows only) (bmo#1246945)
+ CVE-2016-5294: Arbitrary target directory for result files of
+ update process (Windows only) (bmo#1246972)
+ CVE-2016-5297: Incorrect argument length checking in Javascript
+ (bmo#1303678)
+ CVE-2016-9064: Addons update must verify IDs match between
+ current and new versions (bmo#1303418)
+ CVE-2016-9065: Firefox for Android location bar spoofing usingfullscreen
+ (Android only) (bmo#1306696)
+ CVE-2016-9066: Integer overflow leading to a buffer overflow in
+ nsScriptLoadHandler (bmo#1299686)
+ CVE-2016-9067: heap-use-after-free in nsINode::ReplaceOrInsertBefore
+ (bmo#1301777, bmo#1308922 (CVE-2016-9069))
+ CVE-2016-9068: heap-use-after-free in nsRefreshDriver (bmo#1302973)
+ CVE-2016-9072: 64-bit NPAPI sandbox isn't enabled on fresh profile
+ (bmo#1300083) (Windows only)
+ CVE-2016-9075: WebExtensions can access the mozAddonManager API
+ and use it to gain elevated privileges (bmo#1295324)
+ CVE-2016-9077: Canvas filters allow feDisplacementMaps to be applied
+ to cross-origin images, allowing timing attacks on them
+ (bmo#1298552)
+ CVE-2016-5291: Same-origin policy violation using local HTML file
+ and saved shortcut file (bmo#1292159)
+ CVE-2016-5295: Mozilla Maintenance Service: Ability to read
+ arbitrary files as SYSTEM (Windows only) (bmo#1247239)
+ CVE-2016-5298: SSL indicator can mislead the user about the real
+ URL visited (bmo#1227538) (Android only)
+ CVE-2016-5299: Firefox AuthToken in broadcast protected with
+ signature-level permission can be accessed by an
+ application installed beforehand that defines the
+ same permissions (bmo#1245791) (Android only)
+ CVE-2016-9061: API Key (glocation) in broadcast protected with
+ signature-level permission can be accessed by an
+ application installed beforehand that defines the
+ same permissions (Android only) (bmo#1245795)
+ CVE-2016-9062: Private browsing browser traces (android) in
+ browser.db and wal file (Android only) (bmo#1294438)
+ CVE-2016-9070: Sidebar bookmark can have reference to chrome window
+ (bmo#1281071)
+ CVE-2016-9073: windows.create schema doesn't specify "format": "relativeUrl"
+ (bmo#1289273)
+ CVE-2016-9074: Insufficient timing side-channel resistance in
+ divSpoiler (bmo#1293334) (fixed via NSS 3.26.1)
+ CVE-2016-9076: select dropdown menu can be used for URL bar
+ spoofing on e10s (bmo#1276976)
+ CVE-2016-9063: Possible integer overflow to fix inside XML_Parse
+ in expat (bmo#1274777)
+ CVE-2016-9071: Probe browser history via HSTS/301 redirect + CSP
+ (bmo#1285003)
+ CVE-2016-5289: Memory safety bugs fixed in Firefox 50
+ CVE-2016-5290: Memory safety bugs fixed in Firefox 50 and Firefox ESR 45.5
+- make aarch64 build more similar to x86_64 build (remove conditionals
+ that don't seem to be necessary anymore)
+
+-------------------------------------------------------------------
Mon Oct 24 09:41:17 UTC 2016 - astieger@suse.com
- Mozilla Firefox 49.0.2:
--- a/MozillaFirefox/MozillaFirefox.spec Sun Nov 13 16:53:26 2016 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec Tue Nov 15 21:26:23 2016 +0100
@@ -18,10 +18,10 @@
# changed with every update
-%define major 49
-%define mainver %major.0.2
+%define major 50
+%define mainver %major.0
%define update_channel release
-%define releasedate 20161020000000
+%define releasedate 20161113000000
# PIE, full relro (x86_64 for now)
%define build_hardened 1
@@ -54,10 +54,10 @@
%define branding 1
%endif
%define localize 1
-%ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm
+%ifarch %ix86 x86_64
+%define crashreporter 1
+%else
%define crashreporter 0
-%else
-%define crashreporter 1
%endif
Name: %{pkgname}
@@ -75,7 +75,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12
-BuildRequires: mozilla-nss-devel >= 3.25
+BuildRequires: mozilla-nss-devel >= 3.26.2
BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel
BuildRequires: startup-notification-devel
@@ -203,6 +203,7 @@
Summary: Extra translations for %{appname}
Group: System/Localization
Provides: locale(%{name}:ach;af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;ta_LK;te;th;tr;uk;uz;vi;zu)
+Provides: locale(%{name}:ach;af;an;as;ast;az;be;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;nn_NO;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh)
Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release}
@@ -334,7 +335,7 @@
ac_add_options --disable-optimize
%endif
%endif
-%ifarch ppc ppc64 ppc64le aarch64 %arm
+%ifarch ppc ppc64 ppc64le %arm
ac_add_options --disable-elf-hack
%endif
ac_add_options --with-system-nspr
@@ -363,7 +364,7 @@
ac_add_options --with-float-abi=hard
ac_add_options --with-arch=armv7-a
%endif
-%ifarch %arm aarch64 s390x
+%ifarch %arm s390x
ac_add_options --disable-webrtc
%endif
EOF
@@ -583,6 +584,7 @@
%{progdir}/*.so
%{progdir}/icudt56l.dat
%{progdir}/omni.ja
+%{progdir}/fonts/
%{progdir}/platform.ini
%{progdir}/plugin-container
%if %crashreporter
--- a/MozillaFirefox/create-tar.sh Sun Nov 13 16:53:26 2016 +0100
+++ b/MozillaFirefox/create-tar.sh Tue Nov 15 21:26:23 2016 +0100
@@ -7,8 +7,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_49_0_2_RELEASE"
-VERSION="49.0.2"
+RELEASE_TAG="dc617d65c9f0cdbbe4351cc1e5c288b05f25f8f7"
+VERSION="50.0"
# mozilla
if [ -d mozilla ]; then
--- a/MozillaFirefox/l10n_changesets.txt Sun Nov 13 16:53:26 2016 +0100
+++ b/MozillaFirefox/l10n_changesets.txt Tue Nov 15 21:26:23 2016 +0100
@@ -1,92 +1,92 @@
-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 8d3446f9a5c5
-fr 9dfc3b26ba48
-fy-NL 954308cbc1e6
-ga-IE 6cf48c09d9e5
-gd 2b9e144b889d
-gl c869caff337a
-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
+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 44b670dcadbc
-sl d6ccefbe182a
-son 300b8e976b40
-sq bc47aefcea37
-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
+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
--- a/firefox-kde.patch Sun Nov 13 16:53:26 2016 +0100
+++ b/firefox-kde.patch Tue Nov 15 21:26:23 2016 +0100
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 2704257a50b4ff60fa43eca8d4a547c6d70bb30e
+# Parent 2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc
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,1179 @@
+@@ -0,0 +1,1200 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -19,7 +19,7 @@
+<?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"?>
++<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" type="text/css"?>
+
@@ -112,6 +112,12 @@
+ hidden="true"
+ oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
+#endif
++ <menuseparator id="context_sendTabToDevice_separator" hidden="true"/>
++ <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
++ accesskey="&sendTabToDevice.accesskey;" hidden="true">
++ <menupopup id="context_sendTabToDevicePopupMenu"
++ onpopupshowing="gFxAccounts.populateSendTabToDevicesMenu(event.target, TabContextMenu.contextTab.linkedBrowser.currentURI.spec, TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
++ </menu>
+ <menuseparator/>
+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
+ tbattr="tabbrowser-multiple-visible"
@@ -380,7 +386,6 @@
+ <menupopup id="placesContext">
+ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
+ ignoreitem="true"
-+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_hideRecentlyBookmarked"
+ label="&hideRecentlyBookmarked.label;"
@@ -388,7 +393,6 @@
+ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
-+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_showRecentlyBookmarked"
+ label="&showRecentlyBookmarked.label;"
@@ -396,11 +400,10 @@
+ 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">
++ <panel id="ctrlTab-panel" hidden="true" norestorefocus="true" level="top">
+ <hbox>
+ <button class="ctrlTab-preview" flex="1"/>
+ <button class="ctrlTab-preview" flex="1"/>
@@ -553,12 +556,11 @@
+ <toolbox id="navigator-toolbox" mode="icons">
+ <!-- Menu -->
+ <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
-+ defaultset="menubar-items"
+ mode="icons" iconsize="small"
+#ifdef MENUBAR_CAN_AUTOHIDE
+ toolbarname="&menubarCmd.label;"
+ accesskey="&menubarCmd.accesskey;"
-+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
++#if defined(MOZ_WIDGET_GTK)
+ autohide="true"
+#endif
+#endif
@@ -585,10 +587,9 @@
+ iconsize="small"
+ aria-label="&tabsToolbar.label;"
+ context="toolbar-context-menu"
-+ defaultset="tabbrowser-tabs,new-tab-button,alltabs-button"
+ collapsed="true">
+
-+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT)
++#if defined(MOZ_WIDGET_GTK)
+ <hbox id="private-browsing-indicator"
+ skipintoolbarset="true"/>
+#endif
@@ -638,7 +639,7 @@
+ </menupopup>
+ </toolbarbutton>
+
-+#if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT)
++#if !defined(MOZ_WIDGET_GTK)
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
+#endif
+#ifdef CAN_DRAW_IN_TITLEBAR
@@ -657,21 +658,10 @@
+#endif
+ </toolbar>
+
-+ <!--
-+ CAVEAT EMPTOR
-+ Should you need to add items to the toolbar here, make sure to also add them
-+ to the default placements of buttons in CustomizableUI.jsm, so the
-+ customization code doesn't get confused.
-+ -->
+ <toolbar id="nav-bar"
+ aria-label="&navbarCmd.label;"
+ fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small"
-+#ifdef MOZ_DEV_EDITION
-+ 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,downloads-button,home-button,loop-button"
-+#endif
+ customizationtarget="nav-bar-customization-target"
+ overflowable="true"
+ overflowbutton="nav-bar-overflow-button"
@@ -715,46 +705,6 @@
+ pageproxystate="invalid"
+ onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
+ onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);">
-+ <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 geo-icon" role="button"
-+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/>
-+ <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 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;"/>
-+ <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 plugin-icon" role="button"
-+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
-+ <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 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;"/>
-+ <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;"/>
-+ <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 pointer-icon" role="button"
-+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
-+ <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 translation-icon" role="button"
-+ aria-label="&urlbar.translateNotificationAnchor.label;"/>
-+ <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 drm-icon" role="button"
-+ aria-label="&urlbar.emeNotificationAnchor.label;"/>
-+ </box>
+ <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events.
+ We only add the identity-box button to the tab order when the location bar
@@ -768,6 +718,67 @@
+ <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;"/>
++ </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;"/>
++ <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 install-icon" role="button"
++ aria-label="&urlbar.addonsNotificationAnchor.label;"/>
++ <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;"/>
++ <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 plugin-icon" role="button"
++ aria-label="&urlbar.pluginsNotificationAnchor.label;"/>
++ <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
++ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/>
++ <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;"/>
++ <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;"/>
++ <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;"/>
++ <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 translation-icon" role="button"
++ aria-label="&urlbar.translateNotificationAnchor.label;"/>
++ <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 drm-icon" role="button"
++ aria-label="&urlbar.emeNotificationAnchor.label;"/>
++ </box>
+ <image id="tracking-protection-icon"/>
+ <image id="connection-icon"/>
+ <hbox id="identity-icon-labels">
@@ -972,7 +983,6 @@
+ mode="icons" iconsize="small"
+ class="chromeclass-directories"
+ context="toolbar-context-menu"
-+ defaultset="personal-bookmarks"
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true"
+ customizable="true">
@@ -1139,13 +1149,13 @@
+#include ../../components/customizableui/content/customizeMode.inc.xul
+ </deck>
+
-+ <html:div id="fullscreen-warning" hidden="true">
-+ <html:div id="fullscreen-domain-text">
++ <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
++ <html:div class="pointerlockfswarning-domain-text">
+ &fullscreenWarning.beforeDomain.label;
-+ <html:span id="fullscreen-domain"/>
++ <html:span class="pointerlockfswarning-domain"/>
+ &fullscreenWarning.afterDomain.label;
+ </html:div>
-+ <html:div id="fullscreen-generic-text">
++ <html:div class="pointerlockfswarning-generic-text">
+ &fullscreenWarning.generic.label;
+ </html:div>
+ <html:button id="fullscreen-exit-button"
@@ -1158,6 +1168,17 @@
+ </html:button>
+ </html:div>
+
++ <html:div id="pointerlock-warning" class="pointerlockfswarning" hidden="true">
++ <html:div class="pointerlockfswarning-domain-text">
++ &pointerlockWarning.beforeDomain.label;
++ <html:span class="pointerlockfswarning-domain"/>
++ &pointerlockWarning.afterDomain.label;
++ </html:div>
++ <html:div class="pointerlockfswarning-generic-text">
++ &pointerlockWarning.generic.label;
++ </html:div>
++ </html:div>
++
+ <vbox id="browser-bottombox" layer="true">
+ <notificationbox id="global-notificationbox" notificationside="bottom"/>
+ </vbox>
@@ -1188,7 +1209,7 @@
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
-@@ -69,16 +69,18 @@ browser.jar:
+@@ -68,16 +68,18 @@ browser.jar:
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
@@ -1205,7 +1226,7 @@
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-devedition.js (content/browser-devedition.js)
content/browser/browser-feeds.js (content/browser-feeds.js)
- content/browser/browser-fullScreen.js (content/browser-fullScreen.js)
+ content/browser/browser-fullScreenAndPointerLock.js (content/browser-fullScreenAndPointerLock.js)
content/browser/browser-fullZoom.js (content/browser-fullZoom.js)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/browser/components/build/nsModule.cpp
@@ -1293,7 +1314,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.
-@@ -730,16 +736,27 @@ var gMainPane = {
+@@ -703,16 +709,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
@@ -1636,7 +1657,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
-@@ -676,16 +676,17 @@
+@@ -674,16 +674,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions
--- a/mozilla-kde.patch Sun Nov 13 16:53:26 2016 +0100
+++ b/mozilla-kde.patch Tue Nov 15 21:26:23 2016 +0100
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 1d3f5cacba056949ea9a56d4d805c3073efe403b
+# Parent 6ff55468281e12a84adefb46b17acb60d9cea608
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"
-@@ -1162,16 +1163,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
+@@ -1180,16 +1181,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId)
{
@@ -62,7 +62,7 @@
return NS_OK;
bool hasMore;
-@@ -1187,17 +1206,17 @@ static nsresult pref_LoadPrefsInDirList(
+@@ -1205,17 +1224,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);
-@@ -1291,24 +1310,36 @@ static nsresult pref_InitInitialObjects(
+@@ -1309,24 +1328,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)
@@ -228,7 +228,7 @@
#endif
#ifdef MOZ_WIDGET_ANDROID
- #include "AndroidBridge.h"
+ #include "GeneratedJNIWrappers.h"
#endif
@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat
@@ -278,7 +278,7 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -72,29 +72,33 @@ toolkit.jar:
+@@ -67,29 +67,33 @@ toolkit.jar:
content/global/viewZoomOverlay.js
content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/browser.xml (widgets/browser.xml)
@@ -784,7 +784,7 @@
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
-@@ -0,0 +1,1408 @@
+@@ -0,0 +1,1410 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@@ -954,6 +954,8 @@
+ <field name="_constructed">false</field>
+ <property name="instantApply">
+ <getter>
++ if (this.getAttribute("instantApply") == "false")
++ return false;
+ return this.getAttribute("instantApply") == "true" || this.preferences.instantApply;
+ </getter>
+ </property>
@@ -2290,13 +2292,13 @@
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -47,17 +47,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui
- elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt':
- EXPORTS += ['nsQAppInstance.h']
- SOURCES += [
- '!moc_nsNativeAppSupportQt.cpp',
- 'nsNativeAppSupportQt.cpp',
- 'nsQAppInstance.cpp',
+@@ -39,17 +39,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+ 'updaterfileutils_osx.mm',
+ ]
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
+ UNIFIED_SOURCES += [
+ 'nsNativeAppSupportDefault.cpp',
+ 'UIKitDirProvider.mm',
]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
+ EXPORTS += ['nsKDEUtils.h']
@@ -2730,7 +2732,7 @@
'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
-@@ -131,16 +133,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -123,16 +125,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@@ -2746,7 +2748,7 @@
CXXFLAGS += CONFIG['TK_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
- if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('qt', 'gtk2', 'gtk3'):
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
CXXFLAGS += CONFIG['TK_CFLAGS']
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
new file mode 100644
@@ -2974,13 +2976,12 @@
diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
-@@ -7,32 +7,35 @@
- #ifdef MOZ_WIDGET_QT
- #if (MOZ_ENABLE_CONTENTACTION)
- #include <contentaction/contentaction.h>
- #include "nsContentHandlerApp.h"
- #endif
- #endif
+@@ -1,50 +1,53 @@
+ /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsMIMEInfoUnix.h"
-#include "nsGNOMERegistry.h"
@@ -2992,9 +2993,6 @@
#ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h"
#endif
- #ifdef MOZ_WIDGET_QT
- #include "nsMIMEInfoQt.h"
- #endif
+#if defined(XP_UNIX) && !defined(XP_MACOSX)
+#include "nsKDEUtils.h"
+#endif
@@ -3002,17 +3000,14 @@
nsresult
nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI)
{
-- nsresult rv = nsGNOMERegistry::LoadURL(aURI);
-+ nsresult rv = nsCommonRegistry::LoadURL(aURI);
+- return nsGNOMERegistry::LoadURL(aURI);
++ return nsCommonRegistry::LoadURL(aURI);
+ }
- #ifdef MOZ_WIDGET_QT
- if (NS_FAILED(rv)) {
- rv = nsMIMEInfoQt::LoadUriInternal(aURI);
- }
- #endif
-
- return rv;
-@@ -45,24 +48,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
+ NS_IMETHODIMP
+ nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval)
+ {
+ // if mDefaultApplication is set, it means the application has been set from
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer.
if (mDefaultApplication)
@@ -3040,7 +3035,7 @@
if (*_retval)
return NS_OK;
-@@ -97,16 +100,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+@@ -79,16 +82,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) {
action.trigger();
@@ -3166,7 +3161,7 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -87,16 +87,17 @@ else:
+@@ -90,16 +90,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
@@ -3275,8 +3270,8 @@
GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET));
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
- const gchar *accept_button = (action == GTK_FILE_CHOOSER_ACTION_SAVE)
-@@ -595,8 +615,235 @@ nsFilePicker::Done(GtkWidget* file_choos
+
+@@ -603,8 +623,235 @@ nsFilePicker::Done(GtkWidget* file_choos
if (mCallback) {
mCallback->Done(result);
mCallback = nullptr;
@@ -3590,7 +3585,7 @@
#pragma warning(disable:4996) // VC12+ deprecates GetVersionEx
OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
if (GetVersionEx(&info)) {
- nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
+ nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
info.dwMajorVersion,
info.dwMinorVersion);
}
@@ -3599,12 +3594,12 @@
#elif defined(MOZ_WIDGET_COCOA)
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
- nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
+ nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
majorVersion,
minorVersion);
+ desktop = NS_LITERAL_STRING("macosx");
#elif defined(MOZ_WIDGET_GTK)
- nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"),
+ nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
gtk_major_version,
gtk_minor_version);
+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome");
@@ -3614,7 +3609,7 @@
mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION",
"RELEASE",
osVersion);
- isTablet = mozilla::widget::GeckoAppShell::IsTablet();
+ isTablet = java::GeckoAppShell::IsTablet();
}
+ desktop = NS_LITERAL_STRING("android");
#endif
--- a/mozilla-language.patch Sun Nov 13 16:53:26 2016 +0100
+++ b/mozilla-language.patch Tue Nov 15 21:26:23 2016 +0100
@@ -1,23 +1,22 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
-# Parent 55b6ae7fd3ebf28f960031801f1948dfc1bd80d2
+# Parent bf7b3a5853467b34f13465102a19b9c7c2524bd4
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp
+++ b/intl/locale/nsLocaleService.cpp
-@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
+@@ -114,16 +114,17 @@ nsLocaleService::nsLocaleService(void)
+ NS_ENSURE_SUCCESS_VOID(rv);
+ #endif
+ #if defined(XP_UNIX) && !defined(XP_MACOSX)
RefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE_VOID(resultLocale);
- #ifdef MOZ_WIDGET_QT
- const char* lang = QLocale::system().name().toUtf8();
- #else
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
- #endif
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
@@ -25,7 +24,8 @@
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
-@@ -158,16 +159,21 @@ nsLocaleService::nsLocaleService(void)
+ // setlocale( , "") evaluates LC_* and LANG
+@@ -149,16 +150,21 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);