1
0

- 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

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox?expand=0&rev=555
This commit is contained in:
Wolfgang Rosenauer 2016-11-15 18:06:29 +00:00 committed by Git OBS Bridge
parent 6f15368db9
commit a1ebdac66f
13 changed files with 332 additions and 233 deletions

View File

@ -1,3 +1,84 @@
-------------------------------------------------------------------
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

View File

@ -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
%define crashreporter 0
%else
%ifarch %ix86 x86_64
%define crashreporter 1
%else
%define crashreporter 0
%endif
Name: %{pkgname}
@ -75,7 +75,7 @@ BuildRequires: libnotify-devel
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 @@ of %{appname}.
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 --enable-pie
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-fpu=vfpv3-d16
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 @@ exit 0
%{progdir}/*.so
%{progdir}/icudt56l.dat
%{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/platform.ini
%{progdir}/plugin-container
%if %crashreporter

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4db574a02cfa3f08719ec55e13d7a13cfddfc6fb035fe29ed2cf32deedac4525
size 28504
oid sha256:19dcb04b06fba9065298bea01bdf323624b0a7a714d6018b07e2ce7e4c6eca60
size 28404

View File

@ -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

View File

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

View File

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

View File

@ -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 @@ new file mode 100644
+<?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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <menupopup id="placesContext">
+ <menuseparator id="placesContext_recentlyBookmarkedSeparator"
+ ignoreitem="true"
+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_hideRecentlyBookmarked"
+ label="&hideRecentlyBookmarked.label;"
@ -388,7 +393,6 @@ new file mode 100644
+ oncommand="BookmarkingUI.hideRecentlyBookmarked();"
+ closemenu="single"
+ ignoreitem="true"
+ ordinal="2"
+ hidden="true"/>
+ <menuitem id="placesContext_showRecentlyBookmarked"
+ label="&showRecentlyBookmarked.label;"
@ -396,11 +400,10 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ </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 @@ new file mode 100644
+#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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+ <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 @@ new file mode 100644
+ 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 @@ new file mode 100644
+#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 @@ new file mode 100644
+ </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 @@ new file mode 100644
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 @@ diff --git a/browser/base/jar.mn b/browser/base/jar.mn
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 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/compone
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
@@ -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 @@ new file mode 100644
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -676,16 +676,17 @@
@@ -674,16 +674,17 @@
@RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions

View File

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

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

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

View File

@ -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

View File

@ -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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
#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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
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 @@ diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp
{
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -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 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#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/components/downloads/nsDownloadManager.cpp b/toolkit/compon
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
@@ -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 @@ diff --git a/toolkit/content/widgets/preferences-kde.xml b/toolkit/content/widge
new file mode 100644
--- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml
@@ -0,0 +1,1408 @@
@@ -0,0 +1,1410 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE bindings [
@ -954,6 +954,8 @@ new file mode 100644
+ <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/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
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 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
'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 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
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 @@ new file mode 100644
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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
#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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
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/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
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 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#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 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
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

View File

@ -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 @@ diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
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);

View File

@ -1,2 +1,2 @@
REV=7356baae8e73
REV=dc617d65c9f0
REPO=http://hg.mozilla.org/releases/mozilla-release