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 Mon Oct 24 09:41:17 UTC 2016 - astieger@suse.com

View File

@ -18,10 +18,10 @@
# changed with every update # changed with every update
%define major 49 %define major 50
%define mainver %major.0.2 %define mainver %major.0
%define update_channel release %define update_channel release
%define releasedate 20161020000000 %define releasedate 20161113000000
# PIE, full relro (x86_64 for now) # PIE, full relro (x86_64 for now)
%define build_hardened 1 %define build_hardened 1
@ -54,10 +54,10 @@
%define branding 1 %define branding 1
%endif %endif
%define localize 1 %define localize 1
%ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm %ifarch %ix86 x86_64
%define crashreporter 0
%else
%define crashreporter 1 %define crashreporter 1
%else
%define crashreporter 0
%endif %endif
Name: %{pkgname} Name: %{pkgname}
@ -75,7 +75,7 @@ BuildRequires: libnotify-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12 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: nss-shared-helper-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
@ -203,6 +203,7 @@ of %{appname}.
Summary: Extra translations for %{appname} Summary: Extra translations for %{appname}
Group: System/Localization 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;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} Requires: %{name} = %{version}
Obsoletes: %{name}-translations < %{version}-%{release} Obsoletes: %{name}-translations < %{version}-%{release}
@ -334,7 +335,7 @@ ac_add_options --enable-pie
ac_add_options --disable-optimize ac_add_options --disable-optimize
%endif %endif
%endif %endif
%ifarch ppc ppc64 ppc64le aarch64 %arm %ifarch ppc ppc64 ppc64le %arm
ac_add_options --disable-elf-hack ac_add_options --disable-elf-hack
%endif %endif
ac_add_options --with-system-nspr 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-float-abi=hard
ac_add_options --with-arch=armv7-a ac_add_options --with-arch=armv7-a
%endif %endif
%ifarch %arm aarch64 s390x %ifarch %arm s390x
ac_add_options --disable-webrtc ac_add_options --disable-webrtc
%endif %endif
EOF EOF
@ -583,6 +584,7 @@ exit 0
%{progdir}/*.so %{progdir}/*.so
%{progdir}/icudt56l.dat %{progdir}/icudt56l.dat
%{progdir}/omni.ja %{progdir}/omni.ja
%{progdir}/fonts/
%{progdir}/platform.ini %{progdir}/platform.ini
%{progdir}/plugin-container %{progdir}/plugin-container
%if %crashreporter %if %crashreporter

View File

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

View File

@ -7,8 +7,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL" BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_49_0_2_RELEASE" RELEASE_TAG="dc617d65c9f0cdbbe4351cc1e5c288b05f25f8f7"
VERSION="49.0.2" VERSION="50.0"
# mozilla # mozilla
if [ -d mozilla ]; then 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 # HG changeset patch
# Parent 2704257a50b4ff60fa43eca8d4a547c6d70bb30e # Parent 2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/browser/base/content/browser-kde.xul +++ b/browser/base/content/browser-kde.xul
@@ -0,0 +1,1179 @@ @@ -0,0 +1,1200 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- 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://browser/content/usercontext/usercontext.css" type="text/css"?>
+<?xml-stylesheet href="chrome://devtools/skin/devtools-browser.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/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/" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/skin/browser-lightweightTheme.css" 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" + hidden="true"
+ oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/> + oncommand="gBrowser.openNonRemoteWindow(TabContextMenu.contextTab);"/>
+#endif +#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/> + <menuseparator/>
+ <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;" + <menuitem id="context_reloadAllTabs" label="&reloadAllTabs.label;" accesskey="&reloadAllTabs.accesskey;"
+ tbattr="tabbrowser-multiple-visible" + tbattr="tabbrowser-multiple-visible"
@ -380,7 +386,6 @@ new file mode 100644
+ <menupopup id="placesContext"> + <menupopup id="placesContext">
+ <menuseparator id="placesContext_recentlyBookmarkedSeparator" + <menuseparator id="placesContext_recentlyBookmarkedSeparator"
+ ignoreitem="true" + ignoreitem="true"
+ ordinal="2"
+ hidden="true"/> + hidden="true"/>
+ <menuitem id="placesContext_hideRecentlyBookmarked" + <menuitem id="placesContext_hideRecentlyBookmarked"
+ label="&hideRecentlyBookmarked.label;" + label="&hideRecentlyBookmarked.label;"
@ -388,7 +393,6 @@ new file mode 100644
+ oncommand="BookmarkingUI.hideRecentlyBookmarked();" + oncommand="BookmarkingUI.hideRecentlyBookmarked();"
+ closemenu="single" + closemenu="single"
+ ignoreitem="true" + ignoreitem="true"
+ ordinal="2"
+ hidden="true"/> + hidden="true"/>
+ <menuitem id="placesContext_showRecentlyBookmarked" + <menuitem id="placesContext_showRecentlyBookmarked"
+ label="&showRecentlyBookmarked.label;" + label="&showRecentlyBookmarked.label;"
@ -396,11 +400,10 @@ new file mode 100644
+ oncommand="BookmarkingUI.showRecentlyBookmarked();" + oncommand="BookmarkingUI.showRecentlyBookmarked();"
+ closemenu="single" + closemenu="single"
+ ignoreitem="true" + ignoreitem="true"
+ ordinal="2"
+ hidden="true"/> + hidden="true"/>
+ </menupopup> + </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> + <hbox>
+ <button class="ctrlTab-preview" flex="1"/> + <button class="ctrlTab-preview" flex="1"/>
+ <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"> + <toolbox id="navigator-toolbox" mode="icons">
+ <!-- Menu --> + <!-- Menu -->
+ <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true" + <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" customizable="true"
+ defaultset="menubar-items"
+ mode="icons" iconsize="small" + mode="icons" iconsize="small"
+#ifdef MENUBAR_CAN_AUTOHIDE +#ifdef MENUBAR_CAN_AUTOHIDE
+ toolbarname="&menubarCmd.label;" + toolbarname="&menubarCmd.label;"
+ accesskey="&menubarCmd.accesskey;" + accesskey="&menubarCmd.accesskey;"
+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT) +#if defined(MOZ_WIDGET_GTK)
+ autohide="true" + autohide="true"
+#endif +#endif
+#endif +#endif
@ -585,10 +587,9 @@ new file mode 100644
+ iconsize="small" + iconsize="small"
+ aria-label="&tabsToolbar.label;" + aria-label="&tabsToolbar.label;"
+ context="toolbar-context-menu" + context="toolbar-context-menu"
+ defaultset="tabbrowser-tabs,new-tab-button,alltabs-button"
+ collapsed="true"> + collapsed="true">
+ +
+#if defined(MOZ_WIDGET_GTK) || defined(MOZ_WIDGET_QT) +#if defined(MOZ_WIDGET_GTK)
+ <hbox id="private-browsing-indicator" + <hbox id="private-browsing-indicator"
+ skipintoolbarset="true"/> + skipintoolbarset="true"/>
+#endif +#endif
@ -638,7 +639,7 @@ new file mode 100644
+ </menupopup> + </menupopup>
+ </toolbarbutton> + </toolbarbutton>
+ +
+#if !defined(MOZ_WIDGET_GTK) && !defined(MOZ_WIDGET_QT) +#if !defined(MOZ_WIDGET_GTK)
+ <hbox class="private-browsing-indicator" skipintoolbarset="true"/> + <hbox class="private-browsing-indicator" skipintoolbarset="true"/>
+#endif +#endif
+#ifdef CAN_DRAW_IN_TITLEBAR +#ifdef CAN_DRAW_IN_TITLEBAR
@ -657,21 +658,10 @@ new file mode 100644
+#endif +#endif
+ </toolbar> + </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" + <toolbar id="nav-bar"
+ aria-label="&navbarCmd.label;" + aria-label="&navbarCmd.label;"
+ fullscreentoolbar="true" mode="icons" customizable="true" + fullscreentoolbar="true" mode="icons" customizable="true"
+ iconsize="small" + 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" + customizationtarget="nav-bar-customization-target"
+ overflowable="true" + overflowable="true"
+ overflowbutton="nav-bar-overflow-button" + overflowbutton="nav-bar-overflow-button"
@ -715,46 +705,6 @@ new file mode 100644
+ pageproxystate="invalid" + pageproxystate="invalid"
+ onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'" + onfocus="document.getElementById('identity-box').style.MozUserFocus= 'normal'"
+ onblur="setTimeout(() => { document.getElementById('identity-box').style.MozUserFocus = ''; }, 0);"> + 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 + <!-- Use onclick instead of normal popup= syntax since the popup
+ code fires onmousedown, and hence eats our favicon drag events. + 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 + 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" + <image id="identity-icon"
+ consumeanchor="identity-box" + consumeanchor="identity-box"
+ onclick="PageProxyClickHandler(event);"/> + 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="tracking-protection-icon"/>
+ <image id="connection-icon"/> + <image id="connection-icon"/>
+ <hbox id="identity-icon-labels"> + <hbox id="identity-icon-labels">
@ -972,7 +983,6 @@ new file mode 100644
+ mode="icons" iconsize="small" + mode="icons" iconsize="small"
+ class="chromeclass-directories" + class="chromeclass-directories"
+ context="toolbar-context-menu" + context="toolbar-context-menu"
+ defaultset="personal-bookmarks"
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;" + toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true" + collapsed="true"
+ customizable="true"> + customizable="true">
@ -1139,13 +1149,13 @@ new file mode 100644
+#include ../../components/customizableui/content/customizeMode.inc.xul +#include ../../components/customizableui/content/customizeMode.inc.xul
+ </deck> + </deck>
+ +
+ <html:div id="fullscreen-warning" hidden="true"> + <html:div id="fullscreen-warning" class="pointerlockfswarning" hidden="true">
+ <html:div id="fullscreen-domain-text"> + <html:div class="pointerlockfswarning-domain-text">
+ &fullscreenWarning.beforeDomain.label; + &fullscreenWarning.beforeDomain.label;
+ <html:span id="fullscreen-domain"/> + <html:span class="pointerlockfswarning-domain"/>
+ &fullscreenWarning.afterDomain.label; + &fullscreenWarning.afterDomain.label;
+ </html:div> + </html:div>
+ <html:div id="fullscreen-generic-text"> + <html:div class="pointerlockfswarning-generic-text">
+ &fullscreenWarning.generic.label; + &fullscreenWarning.generic.label;
+ </html:div> + </html:div>
+ <html:button id="fullscreen-exit-button" + <html:button id="fullscreen-exit-button"
@ -1158,6 +1168,17 @@ new file mode 100644
+ </html:button> + </html:button>
+ </html:div> + </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"> + <vbox id="browser-bottombox" layer="true">
+ <notificationbox id="global-notificationbox" notificationside="bottom"/> + <notificationbox id="global-notificationbox" notificationside="bottom"/>
+ </vbox> + </vbox>
@ -1188,7 +1209,7 @@ new file mode 100644
diff --git a/browser/base/jar.mn b/browser/base/jar.mn diff --git a/browser/base/jar.mn b/browser/base/jar.mn
--- a/browser/base/jar.mn --- a/browser/base/jar.mn
+++ b/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.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js) content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml) 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-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-devedition.js (content/browser-devedition.js) content/browser/browser-devedition.js (content/browser-devedition.js)
content/browser/browser-feeds.js (content/browser-feeds.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) content/browser/browser-fullZoom.js (content/browser-fullZoom.js)
diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
--- a/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 // when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also // in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open. // 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"); let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true; 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 diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in
@@ -676,16 +676,17 @@ @@ -674,16 +674,17 @@
@RESPATH@/greprefs.js @RESPATH@/greprefs.js
@RESPATH@/defaults/autoconfig/prefcalls.js @RESPATH@/defaults/autoconfig/prefcalls.js
@RESPATH@/browser/defaults/permissions @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 ach 72c548f97e82
af a2a61bde6775 af 676daf929ded
an 93c1791e869c an 9c672ba38dae
ar 1e8208276670 ar 6bd1cb920a48
as 732bcb1da9c2 as 9710b1ce7a29
ast 4b201bbc4cad ast 5a06502c9fc1
az 2035817f3662 az f12bc2c29510
be 04a4235e5dfc be 3c6fd4559f7f
bg a81e7006d413 bg 7843a5e79d32
bn-BD 0bc49db20e7b bn-BD 3cbe5cfb0859
bn-IN ab45a4357169 bn-IN 578eacdbac9d
br 829bb95e6595 br a16ed131653a
bs c2cbf84e2de1 bs 3425b8fcf1ab
ca 551c2d450a74 ca c6b4f835d64e
cak a24e3cc7ada5 cak 710c1faa7291
cs 842a16138e8f cs e1f114f9588d
cy d3bd0fc1d07c cy 07118becc133
da 9f2406f95b0d da fbec55bbfd36
de 57d4aeb53449 de 20748e20ccf2
dsb 9a588345e6a3 dsb 4b8493859a20
el 0ea494a1082a el 16fdb46a6a47
en-GB a98a08450231 en-GB e7242fb885cf
en-ZA dc11d29717d4 en-ZA 118b4d922a17
eo 1b7342be2401 eo ae85ceef76b2
es-AR 8e72962a04d2 es-AR a18a4b85f35f
es-CL 684eb9268729 es-CL c5ff11d180da
es-ES bc3ecb554205 es-ES e841d9340b7c
es-MX aff6da71c301 es-MX 2eaf1f216766
et ebd70ceecb55 et 8920752eaf5b
eu 54494475aef7 eu eb3cb2d122eb
fa 255b2d7d7cb3 fa e481522b74f8
ff 8373353b43c4 ff 88f5cd66688d
fi 8d3446f9a5c5 fi b20587491f77
fr 9dfc3b26ba48 fr 628920fcb9f1
fy-NL 954308cbc1e6 fy-NL 56f04c122d2a
ga-IE 6cf48c09d9e5 ga-IE ffbfd52e15d6
gd 2b9e144b889d gd 9f50ee991ed8
gl c869caff337a gl e15306f877bf
gn 88e0eecd56db gn 68f844f4138a
gu-IN ff99825985ad gu-IN 54ac9d906390
he 5492c43ed1c7 he 7c087889358a
hi-IN 2460eda2085b hi-IN aea1bb23685c
hr 4e4fa843efd1 hr b0cc9aa34502
hsb 711ebd948b60 hsb d7ea2d9d91ea
hu 18ed4a160747 hu 5106349d21dd
hy-AM 26ebbf2a7c29 hy-AM 3f5103ed23e2
id fe6b0ba5c8b9 id 69b0d5120660
is 750b18eea2bd is 8b6a14ea919f
it 32c5df7e0cc8 it ec06674eebb4
ja 6fe0a63744ab ja 488fbb4070d9
ja-JP-mac 9f666fe9f2a8 ja-JP-mac e120b04c4a90
kk c8d56540ca41 kk 60c09b46e90d
km 2a4aa779e53d km 00277d0045d3
kn 79f2d148c975 kn 0aff09069416
ko 87dbe38d3ab7 ko 33cf1dd48c33
lij fdb3ad1d0fa6 lij 6a94ea30eef6
lt 1de1474f4b1c lt 15947ce6f7ff
lv 71ebc1207474 lv 3a43a0e2c12c
mai bb506a238a92 mai b43ac46bf163
mk 9793d2941b6c mk 0f98fd626df2
ml 9bbdb16f771c ml b6b5a2b26a09
mr 770fe6a85f1a mr 0c2a798af2d9
ms fc706fcabf4b ms a0a74230784a
nb-NO d595777287ba nb-NO 378c5b201531
nl a12c44096861 nl 750fcda42314
nn-NO ff1ebdbd993c nn-NO 444e256b7ed8
or 6ecfc06db966 or 5ac88ef59ea5
pa-IN 3404cc7e0894 pa-IN ab02b30c28ea
pl c89555291e77 pl cd84bd057189
pt-BR 359f724250a8 pt-BR dc5c8b030a57
pt-PT b835fc33291c pt-PT 900fd62886bb
rm d9b1fabf9a07 rm b6416ed6a3a1
ro 20abd381ce37 ro 2e2e9b5a07f5
ru 1245d886a73d ru 1d962dfc279e
si 03a3b09a2203 si 03a3b09a2203
sk 44b670dcadbc sk 4e8311d1d017
sl d6ccefbe182a sl b43e8e65c00e
son 300b8e976b40 son 544d3eea9a59
sq bc47aefcea37 sq 25e86afe807e
sr 1d4bbfe9b938 sr 233c45e5d423
sv-SE 9ec91e4ceffa sv-SE 6b9266a60638
ta 011d54df6ae1 ta 0256c1b190ce
te d1c0f603ffc8 te 8565fd8f778a
th f3ab798d7859 th e2b0b5a2dc9c
tr 5b90abf30758 tr 255e7e613fca
uk b0acea50dee6 uk e36fe69f4a3f
uz 17d7e0e78397 uz 6d46754186ab
vi 5f990ea87b44 vi 5c32df50f35d
xh 82473adddcaa xh c96bc753a170
zh-CN a17256bb05fa zh-CN 411faa039900
zh-TW 769f13e36251 zh-TW e1416ff1b4d6

View File

@ -1,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent 1d3f5cacba056949ea9a56d4d805c3073efe403b # Parent 6ff55468281e12a84adefb46b17acb60d9cea608
Description: Add KDE integration to Firefox (toolkit parts) Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com> 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 "prefread.h"
#include "prefapi_private_data.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) 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; return NS_OK;
bool hasMore; bool hasMore;
@@ -1187,17 +1206,17 @@ static nsresult pref_LoadPrefsInDirList( @@ -1205,17 +1224,17 @@ static nsresult pref_LoadPrefsInDirList(
nsAutoCString leaf; nsAutoCString leaf;
path->GetNativeLeafName(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); nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE); 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 */ /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = { static const char* specialFiles[] = {
#if defined(XP_MACOSX) #if defined(XP_MACOSX)
@ -228,7 +228,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#endif #endif
#ifdef MOZ_WIDGET_ANDROID #ifdef MOZ_WIDGET_ANDROID
#include "AndroidBridge.h" #include "GeneratedJNIWrappers.h"
#endif #endif
@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat @@ -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 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn --- a/toolkit/content/jar.mn
+++ b/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/viewZoomOverlay.js
content/global/bindings/autocomplete.xml (widgets/autocomplete.xml) content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/browser.xml (widgets/browser.xml) content/global/bindings/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 new file mode 100644
--- /dev/null --- /dev/null
+++ b/toolkit/content/widgets/preferences-kde.xml +++ b/toolkit/content/widgets/preferences-kde.xml
@@ -0,0 +1,1408 @@ @@ -0,0 +1,1410 @@
+<?xml version="1.0"?> +<?xml version="1.0"?>
+ +
+<!DOCTYPE bindings [ +<!DOCTYPE bindings [
@ -954,6 +954,8 @@ new file mode 100644
+ <field name="_constructed">false</field> + <field name="_constructed">false</field>
+ <property name="instantApply"> + <property name="instantApply">
+ <getter> + <getter>
+ if (this.getAttribute("instantApply") == "false")
+ return false;
+ return this.getAttribute("instantApply") == "true" || this.preferences.instantApply; + return this.getAttribute("instantApply") == "true" || this.preferences.instantApply;
+ </getter> + </getter>
+ </property> + </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 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build --- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build
@@ -47,17 +47,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'ui @@ -39,17 +39,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt': 'updaterfileutils_osx.mm',
EXPORTS += ['nsQAppInstance.h'] ]
SOURCES += [ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
'!moc_nsNativeAppSupportQt.cpp', UNIFIED_SOURCES += [
'nsNativeAppSupportQt.cpp', 'nsNativeAppSupportDefault.cpp',
'nsQAppInstance.cpp', 'UIKitDirProvider.mm',
] ]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']: elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
+ EXPORTS += ['nsKDEUtils.h'] + EXPORTS += ['nsKDEUtils.h']
@ -2730,7 +2732,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
'android/nsExternalSharingAppService.cpp', 'android/nsExternalSharingAppService.cpp',
'android/nsExternalURLHandlerService.cpp', 'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.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' 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['TK_CFLAGS']
CXXFLAGS += CONFIG['MOZ_DBUS_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'] CXXFLAGS += CONFIG['TK_CFLAGS']
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
new file mode 100644 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 diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp --- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp +++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
@@ -7,32 +7,35 @@ @@ -1,50 +1,53 @@
#ifdef MOZ_WIDGET_QT /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*-
#if (MOZ_ENABLE_CONTENTACTION) *
#include <contentaction/contentaction.h> * This Source Code Form is subject to the terms of the Mozilla Public
#include "nsContentHandlerApp.h" * License, v. 2.0. If a copy of the MPL was not distributed with this
#endif * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#endif
#include "nsMIMEInfoUnix.h" #include "nsMIMEInfoUnix.h"
-#include "nsGNOMERegistry.h" -#include "nsGNOMERegistry.h"
@ -2992,9 +2993,6 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
#ifdef MOZ_ENABLE_DBUS #ifdef MOZ_ENABLE_DBUS
#include "nsDBusHandlerApp.h" #include "nsDBusHandlerApp.h"
#endif #endif
#ifdef MOZ_WIDGET_QT
#include "nsMIMEInfoQt.h"
#endif
+#if defined(XP_UNIX) && !defined(XP_MACOSX) +#if defined(XP_UNIX) && !defined(XP_MACOSX)
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
+#endif +#endif
@ -3002,17 +3000,14 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
nsresult nsresult
nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI) nsMIMEInfoUnix::LoadUriInternal(nsIURI * aURI)
{ {
- nsresult rv = nsGNOMERegistry::LoadURL(aURI); - return nsGNOMERegistry::LoadURL(aURI);
+ nsresult rv = nsCommonRegistry::LoadURL(aURI); + return nsCommonRegistry::LoadURL(aURI);
}
#ifdef MOZ_WIDGET_QT NS_IMETHODIMP
if (NS_FAILED(rv)) { nsMIMEInfoUnix::GetHasDefaultHandler(bool *_retval)
rv = nsMIMEInfoQt::LoadUriInternal(aURI); {
} // if mDefaultApplication is set, it means the application has been set from
#endif
return rv;
@@ -45,24 +48,24 @@ nsMIMEInfoUnix::GetHasDefaultHandler(boo
// either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to // either /etc/mailcap or ${HOME}/.mailcap, in which case we don't want to
// give the GNOME answer. // give the GNOME answer.
if (mDefaultApplication) if (mDefaultApplication)
@ -3040,7 +3035,7 @@ diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler
if (*_retval) if (*_retval)
return NS_OK; return NS_OK;
@@ -97,16 +100,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns @@ -79,16 +82,33 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get())); ContentAction::Action::defaultActionForFile(uri, QString(mSchemeOrType.get()));
if (action.isValid()) { if (action.isValid()) {
action.trigger(); 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 diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build --- a/widget/gtk/moz.build
+++ b/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') include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul' 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)); GTK_WINDOW(mParentWidget->GetNativeData(NS_NATIVE_SHELLWIDGET));
GtkFileChooserAction action = GetGtkFileChooserAction(mMode); 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) { if (mCallback) {
mCallback->Done(result); mCallback->Done(result);
mCallback = nullptr; mCallback = nullptr;
@ -3590,7 +3585,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#pragma warning(disable:4996) // VC12+ deprecates GetVersionEx #pragma warning(disable:4996) // VC12+ deprecates GetVersionEx
OSVERSIONINFO info = { sizeof(OSVERSIONINFO) }; OSVERSIONINFO info = { sizeof(OSVERSIONINFO) };
if (GetVersionEx(&info)) { if (GetVersionEx(&info)) {
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"), nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
info.dwMajorVersion, info.dwMajorVersion,
info.dwMinorVersion); info.dwMinorVersion);
} }
@ -3599,12 +3594,12 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#elif defined(MOZ_WIDGET_COCOA) #elif defined(MOZ_WIDGET_COCOA)
SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor(); SInt32 majorVersion = nsCocoaFeatures::OSXVersionMajor();
SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor(); SInt32 minorVersion = nsCocoaFeatures::OSXVersionMinor();
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"), nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
majorVersion, majorVersion,
minorVersion); minorVersion);
+ desktop = NS_LITERAL_STRING("macosx"); + desktop = NS_LITERAL_STRING("macosx");
#elif defined(MOZ_WIDGET_GTK) #elif defined(MOZ_WIDGET_GTK)
nsTextFormatter::ssprintf(osVersion, MOZ_UTF16("%ld.%ld"), nsTextFormatter::ssprintf(osVersion, u"%ld.%ld",
gtk_major_version, gtk_major_version,
gtk_minor_version); gtk_minor_version);
+ desktop = nsKDEUtils::kdeSession() ? NS_LITERAL_STRING("kde") : NS_LITERAL_STRING("gnome"); + 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", mozilla::AndroidBridge::Bridge()->GetStaticStringField("android/os/Build$VERSION",
"RELEASE", "RELEASE",
osVersion); osVersion);
isTablet = mozilla::widget::GeckoAppShell::IsTablet(); isTablet = java::GeckoAppShell::IsTablet();
} }
+ desktop = NS_LITERAL_STRING("android"); + desktop = NS_LITERAL_STRING("android");
#endif #endif

View File

@ -1,23 +1,22 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e # Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent 55b6ae7fd3ebf28f960031801f1948dfc1bd80d2 # Parent bf7b3a5853467b34f13465102a19b9c7c2524bd4
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp --- a/intl/locale/nsLocaleService.cpp
+++ b/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()); RefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE_VOID(resultLocale); NS_ENSURE_TRUE_VOID(resultLocale);
#ifdef MOZ_WIDGET_QT
const char* lang = QLocale::system().name().toUtf8();
#else
// Get system configuration // Get system configuration
const char* lang = getenv("LANG"); const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE"); + const char* language = getenv("LANGUAGE");
#endif
nsAutoString xpLocale, platformLocale; nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform; 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++ ) { for( i = 0; i < LocaleListLength; i++ ) {
nsresult result; nsresult result;
@@ -158,16 +159,21 @@ nsLocaleService::nsLocaleService(void) // setlocale( , "") evaluates LC_* and LANG
@@ -149,16 +150,21 @@ nsLocaleService::nsLocaleService(void)
} else { } else {
CopyASCIItoUTF16(lang, platformLocale); CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale); result = nsPosixLocale::GetXPLocale(lang, xpLocale);

View File

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