1
0

Accepting request 453043 from mozilla:Factory

1

OBS-URL: https://build.opensuse.org/request/show/453043
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaFirefox?expand=0&rev=249
This commit is contained in:
Dominique Leuenberger 2017-01-29 09:30:32 +00:00 committed by Git OBS Bridge
commit e649bbc0c9
18 changed files with 707 additions and 434 deletions

View File

@ -1,3 +1,85 @@
-------------------------------------------------------------------
Fri Jan 27 20:25:59 UTC 2017 - astieger@suse.com
- Mozilla Firefox 51.0.1:
- Multiprocess incompatibility did not correctly register with
some add-ons (bmo#1333423)
-------------------------------------------------------------------
Fri Jan 20 13:57:56 UTC 2017 - wr@rosenauer.org
- update to Firefox 51.0
* requires NSPR >= 4.13.1, NSS >= 3.28.1
* Added support for FLAC (Free Lossless Audio Codec) playback
* Added support for WebGL 2
* Added Georgian (ka) and Kabyle (kab) locales
* Support saving passwords for forms without 'submit' events
* Improved video performance for users without GPU acceleration
* Zoom indicator is shown in the URL bar if the zoom level is not
at default level
* View passwords from the prompt before saving them
* Remove Belarusian (be) locale
* Use Skia for content rendering (Linux)
* MFSA 2017-01
CVE-2017-5375: Excessive JIT code allocation allows bypass of
ASLR and DEP (bmo#1325200, boo#1021814)
CVE-2017-5376: Use-after-free in XSL (bmo#1311687, boo#1021817)
CVE-2017-5377: Memory corruption with transforms to create
gradients in Skia (bmo#1306883, boo#1021826)
CVE-2017-5378: Pointer and frame data leakage of Javascript objects
(bmo#1312001, bmo#1330769, boo#1021818)
CVE-2017-5379: Use-after-free in Web Animations
(bmo#1309198,boo#1021827)
CVE-2017-5380: Potential use-after-free during DOM manipulations
(bmo#1322107, boo#1021819)
CVE-2017-5390: Insecure communication methods in Developer Tools
JSON viewer (bmo#1297361, boo#1021820)
CVE-2017-5389: WebExtensions can install additional add-ons via
modified host requests (bmo#1308688, boo#1021828)
CVE-2017-5396: Use-after-free with Media Decoder
(bmo#1329403, boo#1021821)
CVE-2017-5381: Certificate Viewer exporting can be used to navigate
and save to arbitrary filesystem locations
(bmo#1017616, boo#1021830)
CVE-2017-5382: Feed preview can expose privileged content errors
and exceptions (bmo#1295322, boo#1021831)
CVE-2017-5383: Location bar spoofing with unicode characters
(bmo#1323338, bmo#1324716, boo#1021822)
CVE-2017-5384: Information disclosure via Proxy Auto-Config (PAC)
(bmo#1255474, boo#1021832)
CVE-2017-5385: Data sent in multipart channels ignores referrer-policy
response headers (bmo#1295945, boo#1021833)
CVE-2017-5386: WebExtensions can use data: protocol to affect other
extensions (bmo#1319070, boo#1021823)
CVE-2017-5394: Android location bar spoofing using fullscreen and
JavaScript events (bmo#1222798)
CVE-2017-5391: Content about: pages can load privileged about: pages
(bmo#1309310, boo#1021835)
CVE-2017-5392: Weak references using multiple threads on weak proxy
objects lead to unsafe memory usage (bmo#1293709)
(Android only)
CVE-2017-5393: Remove addons.mozilla.org CDN from whitelist for
mozAddonManager (bmo#1309282, boo#1021837)
CVE-2017-5395: Android location bar spoofing during scrolling
(bmo#1293463) (Android only)
CVE-2017-5387: Disclosure of local file existence through TRACK
tag error messages (bmo#1295023, boo#1021839)
CVE-2017-5388: WebRTC can be used to generate a large amount of
UDP traffic for DDOS attacks
(bmo#1281482, boo#1021840)
CVE-2017-5374: Memory safety bugs fixed in Firefox 51 (boo#1021841)
CVE-2017-5373: Memory safety bugs fixed in Firefox 51 and
Firefox ESR 45.7 (boo#1021824)
- switch Firefox to Gtk3 for Tumbleweed
- removed obsolete patches
* mozilla-flex_buffer_overrun.patch
- updated RPM locale support tag
- improve recognition of LANGUAGE env variable (boo#1017174)
- add upstream patch to fix PPC64LE (bmo#1319389)
(mozilla-skia-ppc-endianess.patch)
- fix build without skia (big endian archs) (bmo#1319374)
(mozilla-disable-skia-be.patch)
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Dec 12 21:18:41 UTC 2016 - wr@rosenauer.org Mon Dec 12 21:18:41 UTC 2016 - wr@rosenauer.org

View File

@ -1,8 +1,8 @@
# #
# spec file for package MozillaFirefox # spec file for package MozillaFirefox
# #
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2016 Wolfgang Rosenauer # 2006-2017 Wolfgang Rosenauer
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -18,10 +18,10 @@
# changed with every update # changed with every update
%define major 50 %define major 51
%define mainver %major.1.0 %define mainver %major.0.1
%define update_channel release %define update_channel release
%define releasedate 20161212000000 %define releasedate 20170126000000
# PIE, full relro (x86_64 for now) # PIE, full relro (x86_64 for now)
%define build_hardened 1 %define build_hardened 1
@ -36,6 +36,9 @@
%define pkgname firefox-dev-edition %define pkgname firefox-dev-edition
%define appname Firefox Developer Edition %define appname Firefox Developer Edition
%endif %endif
%if 0%{?suse_version} > 1320
%define firefox_use_gtk3 1
%endif
%define progdir %{_prefix}/%_lib/%{progname} %define progdir %{_prefix}/%_lib/%{progname}
%define gnome_dir %{_prefix} %define gnome_dir %{_prefix}
%define desktop_file_name %{progname} %define desktop_file_name %{progname}
@ -74,8 +77,8 @@ BuildRequires: libiw-devel
BuildRequires: libnotify-devel BuildRequires: libnotify-devel
BuildRequires: libproxy-devel BuildRequires: libproxy-devel
BuildRequires: makeinfo BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.12 BuildRequires: mozilla-nspr-devel >= 4.13.1
BuildRequires: mozilla-nss-devel >= 3.26.2 BuildRequires: mozilla-nss-devel >= 3.28.1
BuildRequires: nss-shared-helper-devel BuildRequires: nss-shared-helper-devel
BuildRequires: python-devel BuildRequires: python-devel
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
@ -147,12 +150,13 @@ Patch11: mozilla-reduce-files-per-UnifiedBindings.patch
Patch13: mozilla-check_return.patch Patch13: mozilla-check_return.patch
Patch14: mozilla-skia-overflow.patch Patch14: mozilla-skia-overflow.patch
Patch17: mozilla-binutils-visibility.patch Patch17: mozilla-binutils-visibility.patch
Patch18: mozilla-skia-ppc-endianess.patch
Patch19: mozilla-disable-skia-be.patch
# Firefox/browser # Firefox/browser
Patch101: firefox-kde.patch Patch101: firefox-kde.patch
Patch102: firefox-no-default-ualocale.patch Patch102: firefox-no-default-ualocale.patch
Patch103: firefox-branded-icons.patch Patch103: firefox-branded-icons.patch
# hotfix # hotfix
Patch150: mozilla-flex_buffer_overrun.patch
Patch200: mozilla-aarch64-startup-crash.patch Patch200: mozilla-aarch64-startup-crash.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -203,7 +207,7 @@ of %{appname}.
%package translations-other %package translations-other
Summary: Extra translations for %{appname} Summary: Extra translations for %{appname}
Group: System/Localization Group: System/Localization
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) Provides: locale(%{name}:ach;af;an;as;ast;az;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;ka;kab;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}
@ -262,11 +266,12 @@ cd $RPM_BUILD_DIR/mozilla
%patch13 -p1 %patch13 -p1
%patch14 -p1 %patch14 -p1
%patch17 -p1 %patch17 -p1
%patch18 -p1
%patch19 -p1
# Firefox # Firefox
%patch101 -p1 %patch101 -p1
%patch102 -p1 %patch102 -p1
%patch103 -p1 %patch103 -p1
%patch150 -p1
%patch200 -p1 %patch200 -p1
%build %build
@ -397,9 +402,9 @@ install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/fi
%if %localize %if %localize
rm -f %{_tmppath}/translations.* rm -f %{_tmppath}/translations.*
touch %{_tmppath}/translations.{common,other} touch %{_tmppath}/translations.{common,other}
for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales); do for locale in $(awk '{ print $1; }' %{SOURCE17}); do
case $locale in case $locale in
ja-JP-mac|en-US) ja-JP-mac|en-US|'')
;; ;;
*) *)
pushd $RPM_BUILD_DIR/compare-locales pushd $RPM_BUILD_DIR/compare-locales

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:117aadfa96671239dd02fd11b3cfcd219fb5b3637a2400f532169dbd38d1729c oid sha256:39f4acd60561c280126c6663b90027674e56c69720c8cd8a26e5072bd2023878
size 28352 size 28492

View File

@ -7,8 +7,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL" BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="8612c3320053b796678921f8f23358e3e9df997e" RELEASE_TAG="327e081221b064b05a302d7877c6e4be2949a617"
VERSION="50.1.0" VERSION="51.0.1"
# 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:0d45f1d01b6375aa3323f8f457d7ee85c5bf7bb9acdfdd51a366d808c2f10d04
size 206009156

View File

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

View File

@ -1,11 +1,11 @@
# HG changeset patch # HG changeset patch
# Parent 2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc # Parent 2cae514c05c8836ca5b69884d3a07998a5d53e8b
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,1200 @@ @@ -0,0 +1,1119 @@
+#filter substitution +#filter substitution
+<?xml version="1.0"?> +<?xml version="1.0"?>
+# -*- Mode: HTML -*- +# -*- Mode: HTML -*-
@ -160,14 +160,7 @@ new file mode 100644
+ noautofocus="true" + noautofocus="true"
+ hidden="true" + hidden="true"
+ flip="none" + flip="none"
+ level="parent"> + level="parent"/>
+#ifdef NIGHTLY_BUILD
+ <hbox id="urlbar-search-footer" flex="1" align="stretch" pack="end">
+ <button id="urlbar-search-settings" label="&changeSearchSettings.button;"
+ oncommand="BrowserUITelemetry.countSearchSettingsEvent('urlbar'); openPreferences('paneSearch')"/>
+ </hbox>
+#endif
+ </panel>
+ +
+ <!-- for select dropdowns. The menupopup is what shows the list of options, + <!-- for select dropdowns. The menupopup is what shows the list of options,
+ and the popuponly menulist makes things like the menuactive attributes + and the popuponly menulist makes things like the menuactive attributes
@ -175,7 +168,7 @@ new file mode 100644
+ popuponly menulist to be its immediate parent. --> + popuponly menulist to be its immediate parent. -->
+ <menulist popuponly="true" id="ContentSelectDropdown" hidden="true"> + <menulist popuponly="true" id="ContentSelectDropdown" hidden="true">
+ <menupopup rolluponmousewheel="true" + <menupopup rolluponmousewheel="true"
+ activateontab="true" + activateontab="true" position="after_start"
+#ifdef XP_WIN +#ifdef XP_WIN
+ consumeoutsideclicks="false" ignorekeys="handled" + consumeoutsideclicks="false" ignorekeys="handled"
+#endif +#endif
@ -192,6 +185,7 @@ new file mode 100644
+ orient="vertical" + orient="vertical"
+ ignorekeys="true" + ignorekeys="true"
+ hidden="true" + hidden="true"
+ tabspecific="true"
+ onpopupshown="StarUI.panelShown(event);" + onpopupshown="StarUI.panelShown(event);"
+ aria-labelledby="editBookmarkPanelTitle"> + aria-labelledby="editBookmarkPanelTitle">
+ <row id="editBookmarkPanelHeader" align="center" hidden="true"> + <row id="editBookmarkPanelHeader" align="center" hidden="true">
@ -286,23 +280,6 @@ new file mode 100644
+ <hbox id="share-container" flex="1"/> + <hbox id="share-container" flex="1"/>
+ </panel> + </panel>
+ +
+ <panel id="social-notification-panel"
+ class="social-panel"
+ type="arrow"
+ hidden="true"
+ noautofocus="true"/>
+ <panel id="social-flyout-panel"
+ class="social-panel"
+ onpopupshown="SocialFlyout.onShown()"
+ onpopuphidden="SocialFlyout.onHidden()"
+ side="right"
+ type="arrow"
+ hidden="true"
+ flip="slide"
+ rolluponmousewheel="true"
+ noautofocus="true"
+ position="topcenter topright"/>
+
+ <menupopup id="toolbar-context-menu" + <menupopup id="toolbar-context-menu"
+ onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));"> + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));">
+ <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)"
@ -718,66 +695,54 @@ 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 id="sharing-icon" mousethrough="always"/>
+ <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button" + <box id="blocked-permissions-container" align="center">
+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/> + <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button"
+ <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button" + tooltiptext="&urlbar.geolocationBlocked.tooltip;"/>
+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> + <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button"
+ <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button" + tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/>
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> + <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button"
+ <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button" + tooltiptext="&urlbar.cameraBlocked.tooltip;"/>
+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> + <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button"
+ <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button" + tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/>
+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> + <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button"
+ <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button" + tooltiptext="&urlbar.microphoneBlocked.tooltip;"/>
+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> + <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button"
+ <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button" + tooltiptext="&urlbar.screenBlocked.tooltip;"/>
+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/>
+ </box> + </box>
+ <box id="notification-popup-box" + <box id="notification-popup-box"
+ hidden="true" + hidden="true"
+ tooltiptext=""
+ onmouseover="document.getElementById('identity-icon').classList.add('no-hover');" + onmouseover="document.getElementById('identity-icon').classList.add('no-hover');"
+ onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');" + onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');"
+ align="center"> + align="center">
+ <image id="default-notification-icon" class="notification-anchor-icon" role="button" + <image id="default-notification-icon" class="notification-anchor-icon" role="button"
+ aria-label="&urlbar.defaultNotificationAnchor.label;"/> + tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
+ <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button" + <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button"
+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/> + tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/>
+ <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button"
+ aria-label="&urlbar.addonsNotificationAnchor.label;"/> + tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/>
+ <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button"
+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> + tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/>
+ <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" + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button"
+ aria-label="&urlbar.passwordNotificationAnchor.label;"/> + tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/>
+ <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button" + <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button"
+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/> + tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/>
+ <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button" + <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button"
+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> + tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/>
+ <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button" + <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button"
+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> + tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/>
+ <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" + <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button"
+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> + tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/>
+ <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" + <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button"
+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> + tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/>
+ <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" + <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button"
+ aria-label="&urlbar.servicesNotificationAnchor.label;"/> + tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/>
+ <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button" + <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button"
+ aria-label="&urlbar.translateNotificationAnchor.label;"/> + tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/>
+ <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button" + <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button"
+ aria-label="&urlbar.translatedNotificationAnchor.label;"/> + tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/>
+ <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button" + <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button"
+ aria-label="&urlbar.emeNotificationAnchor.label;"/> + tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
+ </box> + </box>
+ <image id="tracking-protection-icon"/> + <image id="tracking-protection-icon"/>
+ <image id="connection-icon"/> + <image id="connection-icon"/>
@ -799,6 +764,10 @@ new file mode 100644
+ class="urlbar-icon" + class="urlbar-icon"
+ hidden="true" + hidden="true"
+ onclick="ReaderParent.buttonClick(event);"/> + onclick="ReaderParent.buttonClick(event);"/>
+ <toolbarbutton id="urlbar-zoom-button"
+ onclick="FullZoom.reset();"
+ tooltiptext="&urlbar.zoomReset.tooltip;"
+ hidden="true"/>
+ </hbox> + </hbox>
+ <hbox id="userContext-icons" hidden="true"> + <hbox id="userContext-icons" hidden="true">
+ <label id="userContext-label"/> + <label id="userContext-label"/>
@ -1080,7 +1049,7 @@ new file mode 100644
+ <image id="sidebar-throbber"/> + <image id="sidebar-throbber"/>
+ <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/> + <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/>
+ </sidebarheader> + </sidebarheader>
+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" + <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true"
+ style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/> + style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/>
+ </vbox> + </vbox>
+ +
@ -1093,56 +1062,6 @@ new file mode 100644
+ contentcontextmenu="contentAreaContextMenu" + contentcontextmenu="contentAreaContextMenu"
+ autocompletepopup="PopupAutoComplete" + autocompletepopup="PopupAutoComplete"
+ selectmenulist="ContentSelectDropdown"/> + selectmenulist="ContentSelectDropdown"/>
+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/>
+ </vbox>
+ <splitter id="social-sidebar-splitter"
+ class="chromeclass-extrachrome sidebar-splitter"
+ observes="socialSidebarBroadcaster"/>
+ <vbox id="social-sidebar-box"
+ class="chromeclass-extrachrome"
+ observes="socialSidebarBroadcaster"
+ persist="width">
+
+ <sidebarheader id="social-sidebar-header" class="sidebar-header" align="center">
+ <image id="social-sidebar-favico"/>
+ <label id="social-sidebar-title" class="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/>
+ <toolbarbutton id="social-sidebar-button"
+ class="toolbarbutton-1"
+ type="menu">
+ <menupopup id="social-statusarea-popup" position="after_end">
+ <menuitem class="social-toggle-sidebar-menuitem"
+ type="checkbox"
+ autocheck="false"
+ command="Social:ToggleSidebar"
+ label="&social.toggleSidebar.label;"
+ accesskey="&social.toggleSidebar.accesskey;"/>
+ <menuitem class="social-toggle-notifications-menuitem"
+ type="checkbox"
+ autocheck="false"
+ command="Social:ToggleNotifications"
+ label="&social.toggleNotifications.label;"
+ accesskey="&social.toggleNotifications.accesskey;"/>
+ <menuseparator/>
+ <menuseparator class="social-provider-menu" hidden="true"/>
+ <menuitem class="social-addons-menuitem" command="Social:Addons"
+ label="&social.addons.label;"/>
+ <menuitem label="&social.learnMore.label;"
+ accesskey="&social.learnMore.accesskey;"
+ oncommand="SocialUI.showLearnMore();"/>
+ </menupopup>
+ </toolbarbutton>
+ </sidebarheader>
+
+ <browser id="social-sidebar-browser"
+ type="content"
+ context="contentAreaContextMenu"
+ message="true"
+ messagemanagergroup="social"
+ disableglobalhistory="true"
+ tooltip="aHTMLTooltip"
+ popupnotificationanchor="social-sidebar-favico"
+ flex="1"
+ style="min-width: 14em; width: 18em; max-width: 36em;"/>
+ </vbox> + </vbox>
+ <vbox id="browser-border-end" hidden="true" layer="true"/> + <vbox id="browser-border-end" hidden="true" layer="true"/>
+ </hbox> + </hbox>
@ -1291,57 +1210,57 @@ diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/ns
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js --- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js
@@ -23,16 +23,22 @@ var gMainPane = { @@ -33,16 +33,22 @@ var gMainPane = {
init: function () if (AppConstants.platform == "win") {
{ // In Windows 8 we launch the control panel since it's the only
function setEventListener(aId, aEventType, aCallback) // way to get all file type association prefs. So we don't know
{ // when the user will select the default. We refresh here periodically
document.getElementById(aId) // in case the default changes. On other Windows OS's defaults can also
.addEventListener(aEventType, aCallback.bind(gMainPane)); // be set while the prefs are open.
} window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000);
}
+
+ var env = Components.classes["@mozilla.org/process/environment;1"] + var env = Components.classes["@mozilla.org/process/environment;1"]
+ .getService(Components.interfaces.nsIEnvironment); + .getService(Components.interfaces.nsIEnvironment);
+ var kde_session = 0; + var kde_session = 0;
+ if (env.get('KDE_FULL_SESSION') == "true") + if (env.get('KDE_FULL_SESSION') == "true")
+ kde_session = 1; + kde_session = 1;
+
#ifdef HAVE_SHELL_SERVICE
this.updateSetDefaultBrowser();
#ifdef XP_WIN
// In Windows 8 we launch the control panel since it's the only
// way to get all file type association prefs. So we don't know
// when the user will select the default. We refresh here periodically
// in case the default changes. On other Windows OS's defaults can also
// be set while the prefs are open.
@@ -703,16 +709,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
let shellSvc = getShellService();
if (!shellSvc)
return;
try {
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
+ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "firefox"];
+ process.run(false, args, args.length);
+ }
} catch (ex) {
Cu.reportError(ex);
return;
} }
let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; // set up the "use current page" label-changing listener
document.getElementById("setDefaultPane").selectedIndex = selectedIndex; this._updateUseCurrentButton();
} window.addEventListener("focus", this._updateUseCurrentButton.bind(this), false);
this.updateBrowserStartupLastSession();
@@ -704,16 +710,27 @@ var gMainPane = {
let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser");
alwaysCheckPref.value = true;
let shellSvc = getShellService();
if (!shellSvc)
return;
try {
shellSvc.setDefaultBrowser(true, false);
+ if (kde_session == 1) {
+ var shellObj = Components.classes["@mozilla.org/file/local;1"]
+ .createInstance(Components.interfaces.nsILocalFile);
+ shellObj.initWithPath("/usr/bin/kwriteconfig");
+ var process = Components.classes["@mozilla.org/process/util;1"]
+ .createInstance(Components.interfaces.nsIProcess);
+ process.init(shellObj);
+ var args = ["--file", "kdeglobals", "--group", "General", "--key",
+ "BrowserApplication", "firefox"];
+ process.run(false, args, args.length);
+ }
} catch (ex) {
Cu.reportError(ex);
return;
}
let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0;
document.getElementById("setDefaultPane").selectedIndex = selectedIndex;
}
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build --- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build +++ b/browser/components/shell/moz.build
@ -1657,7 +1576,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
@@ -674,16 +674,17 @@ @@ -675,16 +675,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:adc36b4cdb3de819dfc8ac02560526d0b88bdb0a137083eaa069ab660538693a
size 44915288

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

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

View File

@ -1,92 +1,93 @@
ach 72c548f97e82 ach d6ba00c5c59a
af 676daf929ded af 221acbf9c551
an 9c672ba38dae an efef89681add
ar 6bd1cb920a48 ar 940e066d2dd8
as 9710b1ce7a29 as a97311f0a051
ast 5a06502c9fc1 ast 37ff5970cc8f
az f12bc2c29510 az 374715191cd0
be 3c6fd4559f7f bg d15a763f746a
bg 7843a5e79d32 bn-BD b4cdbb48d9fb
bn-BD 3cbe5cfb0859 bn-IN 405c89530a66
bn-IN 578eacdbac9d br e730984a8770
br a16ed131653a bs e25f083ed28a
bs 3425b8fcf1ab ca 2909feec9b62
ca c6b4f835d64e cak b0fe49f697f3
cak 710c1faa7291 cs 53096821fe5c
cs e1f114f9588d cy 4690316110e9
cy 07118becc133 da 24845323c326
da fbec55bbfd36 de ec96b812a542
de 20748e20ccf2 dsb 8e338605ccb9
dsb 4b8493859a20 el 34a3488407a6
el 16fdb46a6a47 en-GB 8000aa9daf28
en-GB e7242fb885cf en-ZA ad5be8ba60f3
en-ZA 118b4d922a17 eo 3a024766912e
eo ae85ceef76b2 es-AR 541f1c3690da
es-AR a18a4b85f35f es-CL 56477941664e
es-CL c5ff11d180da es-ES 8b7162b69b09
es-ES e841d9340b7c es-MX 77bc335e0853
es-MX 2eaf1f216766 et a9b1775874d3
et 8920752eaf5b eu 52ec58e99375
eu eb3cb2d122eb fa 95d8b781e109
fa e481522b74f8 ff 2e39572916fb
ff 88f5cd66688d fi 94ad306d1492
fi b20587491f77 fr 27c4dc4cba4d
fr 628920fcb9f1 fy-NL 9399c11d5edb
fy-NL 56f04c122d2a ga-IE 5d9852283915
ga-IE ffbfd52e15d6 gd bc702e34726b
gd 9f50ee991ed8 gl 74d31ad43213
gl e15306f877bf gn 43e8b6cb5fc6
gn 68f844f4138a gu-IN 97b7ec458ace
gu-IN 54ac9d906390 he 32e85d63d323
he 7c087889358a hi-IN 25c7d3fceff8
hi-IN aea1bb23685c hr 15e2ad66589c
hr b0cc9aa34502 hsb ff5fb215596d
hsb d7ea2d9d91ea hu 814fad9068d9
hu 5106349d21dd hy-AM 339e5b6d31d2
hy-AM 3f5103ed23e2 id 1f325ac9007c
id 69b0d5120660 is e346cec6bace
is 8b6a14ea919f it fc766adb485d
it ec06674eebb4 ja 78a60bf924e7
ja 488fbb4070d9 ja-JP-mac 0ca52430f89c
ja-JP-mac e120b04c4a90 ka fb0e9f4fdbe7
kk 60c09b46e90d kab 3de51a9c61ce
km 00277d0045d3 kk 368faf9a9ed3
kn 0aff09069416 km 97cd3bb4f2f3
ko 33cf1dd48c33 kn f657dd18d8a1
lij 6a94ea30eef6 ko bc9fde5af704
lt 15947ce6f7ff lij 500f328a0bf0
lv 3a43a0e2c12c lt 3eefea021768
mai b43ac46bf163 lv 90a827f08cb4
mk 0f98fd626df2 mai 4a95441f376c
ml b6b5a2b26a09 mk 666cf4d8067b
mr 0c2a798af2d9 ml 1f2e734fbd60
ms a0a74230784a mr 8067689c39f3
nb-NO 378c5b201531 ms 76c4152f9e3f
nl 750fcda42314 nb-NO 1effc4c0ba39
nn-NO 444e256b7ed8 nl 28f169daa01f
or 5ac88ef59ea5 nn-NO 272d7d7fbd67
pa-IN ab02b30c28ea or 765fc4b06ed0
pl cd84bd057189 pa-IN 8518db59aecf
pt-BR dc5c8b030a57 pl 339f79766251
pt-PT 900fd62886bb pt-BR 3e521cc717b9
rm b6416ed6a3a1 pt-PT 5ea4fd22db27
ro 2e2e9b5a07f5 rm 66840279c384
ru 1d962dfc279e ro a87554f9bf7e
si 03a3b09a2203 ru a8f0bc1f85db
sk 4e8311d1d017 si 2629b7b1279c
sl b43e8e65c00e sk b78499013196
son 544d3eea9a59 sl b91f9bd2d619
sq 25e86afe807e son 2934d6741b1a
sr 233c45e5d423 sq 8ff97a87cbeb
sv-SE 6b9266a60638 sr 8ddd91c5629b
ta 0256c1b190ce sv-SE 483944f0c102
te 8565fd8f778a ta dc89744a2281
th e2b0b5a2dc9c te 545bca10223a
tr 255e7e613fca th 6076f69e7093
uk e36fe69f4a3f tr 70129fabcb60
uz 6d46754186ab uk cb0a4b0816fa
vi 5c32df50f35d uz 01402c615783
xh c96bc753a170 vi d6c09226896e
zh-CN 411faa039900 xh f587b401f8fc
zh-TW e1416ff1b4d6 zh-CN d260be15e967
zh-TW 267404478cf9

View File

@ -0,0 +1,292 @@
# HG changeset patch
# User Lee Salzman <lsalzman@mozilla.com>
# Date 1484854371 18000
# Node ID 42afdb8f7e6b3e8a465042f64c6c49782f231af4
# Parent dfadd79c97458f898d542461033a61dd34d3a5f0
Bug 1319374 - Wrap PaintCounter with ifdef USE_SKIA. r=mchang, a=jcristau
diff --git a/gfx/2d/BorrowedContext.h b/gfx/2d/BorrowedContext.h
--- a/gfx/2d/BorrowedContext.h
+++ b/gfx/2d/BorrowedContext.h
@@ -190,18 +190,28 @@ public:
}
~BorrowedCGContext() {
MOZ_ASSERT(!cg);
}
CGContextRef cg;
private:
+#ifdef USE_SKIA
static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT);
static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg);
+#else
+ static CGContextRef BorrowCGContextFromDrawTarget(DrawTarget *aDT) {
+ MOZ_CRASH("Not supported without Skia");
+ }
+
+ static void ReturnCGContextToDrawTarget(DrawTarget *aDT, CGContextRef cg) {
+ MOZ_CRASH("not supported without Skia");
+ }
+#endif
DrawTarget *mDT;
};
#endif
} // namespace gfx
} // namespace mozilla
#endif // _MOZILLA_GFX_BORROWED_CONTEXT_H
diff --git a/gfx/layers/composite/LayerManagerComposite.cpp b/gfx/layers/composite/LayerManagerComposite.cpp
--- a/gfx/layers/composite/LayerManagerComposite.cpp
+++ b/gfx/layers/composite/LayerManagerComposite.cpp
@@ -7,17 +7,16 @@
#include <stddef.h> // for size_t
#include <stdint.h> // for uint16_t, uint32_t
#include "CanvasLayerComposite.h" // for CanvasLayerComposite
#include "ColorLayerComposite.h" // for ColorLayerComposite
#include "Composer2D.h" // for Composer2D
#include "CompositableHost.h" // for CompositableHost
#include "ContainerLayerComposite.h" // for ContainerLayerComposite, etc
#include "FPSCounter.h" // for FPSState, FPSCounter
-#include "PaintCounter.h" // For PaintCounter
#include "FrameMetrics.h" // for FrameMetrics
#include "GeckoProfiler.h" // for profiler_set_frame_number, etc
#include "ImageLayerComposite.h" // for ImageLayerComposite
#include "Layers.h" // for Layer, ContainerLayer, etc
#include "LayerScope.h" // for LayerScope Tool
#include "protobuf/LayerScopePacket.pb.h" // for protobuf (LayerScope)
#include "PaintedLayerComposite.h" // for PaintedLayerComposite
#include "TiledContentHost.h"
@@ -68,16 +67,20 @@
#include "nsScreenManagerGonk.h"
#include "nsWindow.h"
#endif
#include "GeckoProfiler.h"
#include "TextRenderer.h" // for TextRenderer
#include "mozilla/layers/CompositorBridgeParent.h"
#include "TreeTraversal.h" // for ForEachNode
+#ifdef USE_SKIA
+#include "PaintCounter.h" // For PaintCounter
+#endif
+
class gfxContext;
namespace mozilla {
namespace layers {
class ImageLayer;
using namespace mozilla::gfx;
@@ -128,16 +131,20 @@ LayerManagerComposite::LayerManagerCompo
, mGeometryChanged(true)
, mLastFrameMissedHWC(false)
, mWindowOverlayChanged(false)
, mLastPaintTime(TimeDuration::Forever())
, mRenderStartTime(TimeStamp::Now())
{
mTextRenderer = new TextRenderer(aCompositor);
MOZ_ASSERT(aCompositor);
+
+#ifdef USE_SKIA
+ mPaintCounter = nullptr;
+#endif
}
LayerManagerComposite::~LayerManagerComposite()
{
Destroy();
}
@@ -146,18 +153,21 @@ LayerManagerComposite::Destroy()
{
if (!mDestroyed) {
mCompositor->GetWidget()->CleanupWindowEffects();
if (mRoot) {
RootLayer()->Destroy();
}
mRoot = nullptr;
mClonedLayerTreeProperties = nullptr;
+ mDestroyed = true;
+
+#ifdef USE_SKIA
mPaintCounter = nullptr;
- mDestroyed = true;
+#endif
}
}
void
LayerManagerComposite::UpdateRenderBounds(const IntRect& aRect)
{
mRenderBounds = aRect;
}
@@ -559,48 +569,52 @@ LayerManagerComposite::RootLayer() const
#endif
void
LayerManagerComposite::InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const IntRect& aBounds)
{
bool drawFps = gfxPrefs::LayersDrawFPS();
bool drawFrameCounter = gfxPrefs::DrawFrameCounter();
bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars();
- bool drawPaintTimes = gfxPrefs::AlwaysPaint();
if (drawFps || drawFrameCounter) {
aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 256, 256));
}
if (drawFrameColorBars) {
aInvalidRegion.Or(aInvalidRegion, nsIntRect(0, 0, 10, aBounds.height));
}
+
+#ifdef USE_SKIA
+ bool drawPaintTimes = gfxPrefs::AlwaysPaint();
if (drawPaintTimes) {
aInvalidRegion.Or(aInvalidRegion, nsIntRect(PaintCounter::GetPaintRect()));
}
+#endif
}
+#ifdef USE_SKIA
void
LayerManagerComposite::DrawPaintTimes(Compositor* aCompositor)
{
if (!mPaintCounter) {
mPaintCounter = new PaintCounter();
}
TimeDuration compositeTime = TimeStamp::Now() - mRenderStartTime;
mPaintCounter->Draw(aCompositor, mLastPaintTime, compositeTime);
}
+#endif
static uint16_t sFrameCount = 0;
void
LayerManagerComposite::RenderDebugOverlay(const IntRect& aBounds)
{
bool drawFps = gfxPrefs::LayersDrawFPS();
bool drawFrameCounter = gfxPrefs::DrawFrameCounter();
bool drawFrameColorBars = gfxPrefs::CompositorDrawColorBars();
- bool drawPaintTimes = gfxPrefs::AlwaysPaint();
TimeStamp now = TimeStamp::Now();
if (drawFps) {
if (!mFPS) {
mFPS = MakeUnique<FPSState>();
}
@@ -731,19 +745,22 @@ LayerManagerComposite::RenderDebugOverla
}
#endif
if (drawFrameColorBars || drawFrameCounter) {
// We intentionally overflow at 2^16.
sFrameCount++;
}
+#ifdef USE_SKIA
+ bool drawPaintTimes = gfxPrefs::AlwaysPaint();
if (drawPaintTimes) {
DrawPaintTimes(mCompositor);
}
+#endif
}
RefPtr<CompositingRenderTarget>
LayerManagerComposite::PushGroupForLayerEffects()
{
// This is currently true, so just making sure that any new use of this
// method is flagged for investigation
MOZ_ASSERT(gfxPrefs::LayersEffectInvert() ||
diff --git a/gfx/layers/composite/LayerManagerComposite.h b/gfx/layers/composite/LayerManagerComposite.h
--- a/gfx/layers/composite/LayerManagerComposite.h
+++ b/gfx/layers/composite/LayerManagerComposite.h
@@ -326,21 +326,16 @@ private:
* Render the current layer tree to the active target.
*/
void Render(const nsIntRegion& aInvalidRegion, const nsIntRegion& aOpaqueRegion);
#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GONK)
void RenderToPresentationSurface();
#endif
/**
- * Render paint and composite times above the frame.
- */
- void DrawPaintTimes(Compositor* aCompositor);
-
- /**
* We need to know our invalid region before we're ready to render.
*/
void InvalidateDebugOverlay(nsIntRegion& aInvalidRegion, const gfx::IntRect& aBounds);
/**
* Render debug overlays such as the FPS/FrameCounter above the frame.
*/
void RenderDebugOverlay(const gfx::IntRect& aBounds);
@@ -386,19 +381,26 @@ private:
RefPtr<TextRenderer> mTextRenderer;
bool mGeometryChanged;
// Testing property. If hardware composer is supported, this will return
// true if the last frame was deemed 'too complicated' to be rendered.
bool mLastFrameMissedHWC;
bool mWindowOverlayChanged;
- RefPtr<PaintCounter> mPaintCounter;
TimeDuration mLastPaintTime;
TimeStamp mRenderStartTime;
+
+#ifdef USE_SKIA
+ /**
+ * Render paint and composite times above the frame.
+ */
+ void DrawPaintTimes(Compositor* aCompositor);
+ RefPtr<PaintCounter> mPaintCounter;
+#endif
};
/**
* Composite layers are for use with OMTC on the compositor thread only. There
* must be corresponding Basic layers on the content thread. For composite
* layers, the layer manager only maintains the layer tree, all rendering is
* done by a Compositor (see Compositor.h). As such, composite layers are
* platform-independent and can be used on any platform for which there is a
diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
--- a/gfx/layers/moz.build
+++ b/gfx/layers/moz.build
@@ -335,17 +335,16 @@ UNIFIED_SOURCES += [
'composite/CompositableHost.cpp',
'composite/ContainerLayerComposite.cpp',
'composite/ContentHost.cpp',
'composite/FPSCounter.cpp',
'composite/FrameUniformityData.cpp',
'composite/ImageHost.cpp',
'composite/ImageLayerComposite.cpp',
'composite/LayerManagerComposite.cpp',
- 'composite/PaintCounter.cpp',
'composite/PaintedLayerComposite.cpp',
'composite/TextRenderer.cpp',
'composite/TextureHost.cpp',
'composite/TiledContentHost.cpp',
'Compositor.cpp',
'CopyableCanvasLayer.cpp',
'Effects.cpp',
'FrameMetrics.cpp',
@@ -480,8 +479,13 @@ MOCHITEST_CHROME_MANIFESTS += ['apz/test
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['TK_CFLAGS']
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['MOZ_ENABLE_SKIA']:
+ UNIFIED_SOURCES += [
+ 'composite/PaintCounter.cpp',
+ ]

View File

@ -1,76 +0,0 @@
# HG changeset patch
# Parent c8e8364b303892fdb5a574b96411d2d8f699a15e
Patch lexical parser files generated by flex which may be potentially
exploitable in a buffer overrun. These seem to come from an upstream projects
(CMU Sphinx and ANGLE) so it should be fixed there in the first place.
CVE-2016-6354
https://bugzilla.suse.com/show_bug.cgi?id=990856
diff --git a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
--- a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
+++ b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
@@ -1375,17 +1375,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
diff --git a/gfx/angle/src/compiler/translator/glslang_lex.cpp b/gfx/angle/src/compiler/translator/glslang_lex.cpp
--- a/gfx/angle/src/compiler/translator/glslang_lex.cpp
+++ b/gfx/angle/src/compiler/translator/glslang_lex.cpp
@@ -2269,17 +2269,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
diff --git a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
--- a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
+++ b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
@@ -1242,17 +1242,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;

View File

@ -1,5 +1,5 @@
# HG changeset patch # HG changeset patch
# Parent 6ff55468281e12a84adefb46b17acb60d9cea608 # Parent f3e80d26a430dfa1c58421fb66144a3c23ffc166
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"
@@ -1180,16 +1181,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char @@ -1174,16 +1175,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
static nsresult pref_LoadPrefsInDirList(const char *listId) 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;
@@ -1205,17 +1224,17 @@ static nsresult pref_LoadPrefsInDirList( @@ -1199,17 +1218,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);
@@ -1309,24 +1328,36 @@ static nsresult pref_InitInitialObjects( @@ -1303,24 +1322,36 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ /* 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)
@ -187,8 +187,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build --- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build +++ b/toolkit/components/downloads/moz.build
@@ -60,17 +60,18 @@ if not CONFIG['MOZ_SUITE']: @@ -57,16 +57,17 @@ if not CONFIG['MOZ_SUITE']:
'nsDownloadManagerUI.js',
'nsDownloadManagerUI.manifest', 'nsDownloadManagerUI.manifest',
] ]
@ -196,9 +195,9 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
LOCAL_INCLUDES += [ LOCAL_INCLUDES += [
'../protobuf', '../protobuf',
- '/ipc/chromium/src' '/ipc/chromium/src',
+ '/ipc/chromium/src', + '/toolkit/xre',
+ '/toolkit/xre' 'chromium'
] ]
DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
@ -206,11 +205,10 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
CXXFLAGS += CONFIG['TK_CFLAGS'] CXXFLAGS += CONFIG['TK_CFLAGS']
if CONFIG['GNU_CXX']:
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp --- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp +++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -51,16 +51,20 @@ @@ -52,16 +52,20 @@
#ifdef XP_WIN #ifdef XP_WIN
#include <shlobj.h> #include <shlobj.h>
#include "nsWindowsHelpers.h" #include "nsWindowsHelpers.h"
@ -228,10 +226,10 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#endif #endif
#ifdef MOZ_WIDGET_ANDROID #ifdef MOZ_WIDGET_ANDROID
#include "GeneratedJNIWrappers.h" #include "FennecJNIWrappers.h"
#endif #endif
@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat @@ -2723,16 +2727,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID)); nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function. // Master pref to control this function.
@ -257,7 +255,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
int64_t goat = PR_Now() - mStartTime; int64_t goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec; showTaskbarAlert = goat > alertIntervalUSec;
@@ -2759,16 +2772,17 @@ nsDownload::SetState(DownloadState aStat @@ -2763,16 +2776,17 @@ nsDownload::SetState(DownloadState aStat
NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title, NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title,
message, !removeWhenDone, message, !removeWhenDone,
mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"), mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"),
@ -316,7 +314,7 @@ diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/di
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/toolkit/content/widgets/dialog-kde.xml +++ b/toolkit/content/widgets/dialog-kde.xml
@@ -0,0 +1,463 @@ @@ -0,0 +1,457 @@
+<?xml version="1.0"?> +<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public +<!-- 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 + - License, v. 2.0. If a copy of the MPL was not distributed with this
@ -386,8 +384,7 @@ new file mode 100644
+ <![CDATA[ + <![CDATA[
+ if (this.hasAttribute("defaultButton")) + if (this.hasAttribute("defaultButton"))
+ return this.getAttribute("defaultButton"); + return this.getAttribute("defaultButton");
+ else // default to the accept button + return "accept"; // default to the accept button
+ return "accept";
+ ]]> + ]]>
+ </getter> + </getter>
+ <setter> + <setter>
@ -491,9 +488,6 @@ new file mode 100644
+ <parameter name="aEvent"/> + <parameter name="aEvent"/>
+ <body> + <body>
+ <![CDATA[ + <![CDATA[
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+
+ function focusInit() { + function focusInit() {
+ const dialog = document.documentElement; + const dialog = document.documentElement;
+ const defaultButton = dialog.getButton(dialog.defaultButton); + const defaultButton = dialog.getButton(dialog.defaultButton);
@ -519,7 +513,7 @@ new file mode 100644
+ initialFocusedElt.focus(); + initialFocusedElt.focus();
+ } + }
+ } + }
+ else if (AppConstants.platform != "macosx" && + else if (!/Mac/.test(navigator.platform) &&
+ focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) { + focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) {
+ defaultButton.focus(); + defaultButton.focus();
+ } + }
@ -604,16 +598,16 @@ new file mode 100644
+ else + else
+ switch (dlgtype) { + switch (dlgtype) {
+ case "accept": + case "accept":
+ button.setAttribute("icon","accept"); + button.setAttribute("icon", "accept");
+ break; + break;
+ case "cancel": + case "cancel":
+ button.setAttribute("icon","cancel"); + button.setAttribute("icon", "cancel");
+ break; + break;
+ case "disclosure": + case "disclosure":
+ button.setAttribute("icon","properties"); + button.setAttribute("icon", "properties");
+ break; + break;
+ case "help": + case "help":
+ button.setAttribute("icon","help"); + button.setAttribute("icon", "help");
+ break; + break;
+ default: + default:
+ break; + break;
@ -639,10 +633,8 @@ new file mode 100644
+ for (dlgtype in buttons) + for (dlgtype in buttons)
+ buttons[dlgtype].hidden = !shown[dlgtype]; + buttons[dlgtype].hidden = !shown[dlgtype];
+ +
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ // show the spacer on Windows only when the extra2 button is present + // show the spacer on Windows only when the extra2 button is present
+ if (AppConstants.platform == "win") { + if (/Win/.test(navigator.platform)) {
+ var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer"); + var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer");
+ spacer.removeAttribute("hidden"); + spacer.removeAttribute("hidden");
+ spacer.setAttribute("flex", shown["extra2"]?"1":"0"); + spacer.setAttribute("flex", shown["extra2"]?"1":"0");
@ -784,7 +776,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,1410 @@ @@ -0,0 +1,1403 @@
+<?xml version="1.0"?> +<?xml version="1.0"?>
+ +
+<!DOCTYPE bindings [ +<!DOCTYPE bindings [
@ -1422,10 +1414,7 @@ new file mode 100644
+ var acceptButton = docElt.getButton("accept"); + var acceptButton = docElt.getButton("accept");
+ acceptButton.hidden = true; + acceptButton.hidden = true;
+ var cancelButton = docElt.getButton("cancel"); + var cancelButton = docElt.getButton("cancel");
+ + if (/Mac/.test(navigator.platform)) {
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ if (AppConstants.platform == "macosx") {
+ // no buttons on Mac except Help + // no buttons on Mac except Help
+ cancelButton.hidden = true; + cancelButton.hidden = true;
+ // Move Help button to the end + // Move Help button to the end
@ -1607,9 +1596,7 @@ new file mode 100644
+ <parameter name="aPaneElement"/> + <parameter name="aPaneElement"/>
+ <body> + <body>
+ <![CDATA[ + <![CDATA[
+ let { AppConstants } = + if (/Mac/.test(navigator.platform)) {
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ if (AppConstants.platform == "macosx") {
+ var paneTitle = aPaneElement.label; + var paneTitle = aPaneElement.label;
+ if (paneTitle != "") + if (paneTitle != "")
+ document.title = paneTitle; + document.title = paneTitle;
@ -1683,11 +1670,9 @@ new file mode 100644
+ <property name="_shouldAnimate"> + <property name="_shouldAnimate">
+ <getter> + <getter>
+ <![CDATA[ + <![CDATA[
+ let { AppConstants } =
+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {});
+ var psvc = Components.classes["@mozilla.org/preferences-service;1"] + var psvc = Components.classes["@mozilla.org/preferences-service;1"]
+ .getService(Components.interfaces.nsIPrefBranch); + .getService(Components.interfaces.nsIPrefBranch);
+ var animate = AppConstants.platform == "macosx"; + var animate = /Mac/.test(navigator.platform);
+ try { + try {
+ animate = psvc.getBoolPref("browser.preferences.animateFadeIn"); + animate = psvc.getBoolPref("browser.preferences.animateFadeIn");
+ } + }
@ -1854,7 +1839,7 @@ new file mode 100644
+ <handlers> + <handlers>
+ <handler event="dialogaccept"> + <handler event="dialogaccept">
+ <![CDATA[ + <![CDATA[
+ if (!this._fireEvent("beforeaccept", this)){ + if (!this._fireEvent("beforeaccept", this)) {
+ return false; + return false;
+ } + }
+ +
@ -2292,7 +2277,7 @@ 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
@@ -39,17 +39,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co @@ -40,17 +40,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'updaterfileutils_osx.mm', 'updaterfileutils_osx.mm',
] ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@ -2316,7 +2301,7 @@ diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644 new file mode 100644
--- /dev/null --- /dev/null
+++ b/toolkit/xre/nsKDEUtils.cpp +++ b/toolkit/xre/nsKDEUtils.cpp
@@ -0,0 +1,339 @@ @@ -0,0 +1,344 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* 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 + * License, v. 2.0. If a copy of the MPL was not distributed with this
@ -2337,6 +2322,11 @@ new file mode 100644
+#include <sys/resource.h> +#include <sys/resource.h>
+#include <unistd.h> +#include <unistd.h>
+#include <X11/Xlib.h> +#include <X11/Xlib.h>
+// copied from X11/X.h as a hack since for an unknown
+// reason it's not picked up from X11/X.h
+#ifndef None
+#define None 0L /* universal null resource or null atom */
+#endif
+ +
+//#define DEBUG_KDE +//#define DEBUG_KDE
+#ifdef DEBUG_KDE +#ifdef DEBUG_KDE
@ -3161,7 +3151,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
@@ -90,16 +90,17 @@ else: @@ -101,16 +101,17 @@ else:
include('/ipc/chromium/chromium-config.mozbuild') include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul' FINAL_LIBRARY = 'xul'
@ -3534,25 +3524,25 @@ diff --git a/widget/gtk/nsFilePicker.h b/widget/gtk/nsFilePicker.h
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp
@@ -35,16 +35,17 @@ @@ -32,16 +32,17 @@
#include "nsTextFormatter.h"
#include "nsVersionComparator.h"
#include "nsXPCOMCIDInternal.h"
#include "nsIConsoleService.h" #include "nsIConsoleService.h"
#include "nsIScriptError.h" #include "nsIScriptError.h"
#include "nsIXULAppInfo.h" #include "nsIXULAppInfo.h"
#include "nsIXULRuntime.h" #include "nsIXULRuntime.h"
#ifdef MOZ_B2G_LOADER
#include "mozilla/XPTInterfaceInfoManager.h"
#endif
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
#ifdef MOZ_B2G_LOADER using namespace mozilla;
#define XPTONLY_MANIFEST &nsComponentManagerImpl::XPTOnlyManifestManifest
#define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT struct ManifestDirective
#else {
#define XPTONLY_MANIFEST nullptr const char* directive;
#define XPTONLY_XPT nullptr int argc;
#endif
@@ -494,16 +495,17 @@ ParseManifest(NSLocationType aType, File @@ -472,16 +473,17 @@ ParseManifest(NSLocationType aType, File
NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
NS_NAMED_LITERAL_STRING(kApplication, "application"); NS_NAMED_LITERAL_STRING(kApplication, "application");
@ -3570,7 +3560,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kMain, "main");
NS_NAMED_LITERAL_STRING(kContent, "content"); NS_NAMED_LITERAL_STRING(kContent, "content");
@@ -554,44 +556,49 @@ ParseManifest(NSLocationType aType, File @@ -532,44 +534,49 @@ ParseManifest(NSLocationType aType, File
CopyUTF8toUTF16(s, abi); CopyUTF8toUTF16(s, abi);
abi.Insert(char16_t('_'), 0); abi.Insert(char16_t('_'), 0);
abi.Insert(osTarget, 0); abi.Insert(osTarget, 0);
@ -3620,7 +3610,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
process = kMain; process = kMain;
} }
@@ -694,25 +701,27 @@ ParseManifest(NSLocationType aType, File @@ -672,25 +679,27 @@ ParseManifest(NSLocationType aType, File
TriState stOsVersion = eUnspecified; TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified; TriState stOs = eUnspecified;
TriState stABI = eUnspecified; TriState stABI = eUnspecified;
@ -3648,7 +3638,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
} }
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
@@ -762,16 +771,17 @@ ParseManifest(NSLocationType aType, File @@ -740,16 +749,17 @@ ParseManifest(NSLocationType aType, File
} }
if (!ok || if (!ok ||

View File

@ -1,7 +1,7 @@
# HG changeset patch # HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e # Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent bf7b3a5853467b34f13465102a19b9c7c2524bd4 # Parent 4f39ed617c2f151a3a15903c7ae4471b66774e9e
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
@ -25,7 +25,7 @@ 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;
// setlocale( , "") evaluates LC_* and LANG // setlocale( , "") evaluates LC_* and LANG
@@ -149,16 +150,21 @@ nsLocaleService::nsLocaleService(void) @@ -149,16 +150,36 @@ nsLocaleService::nsLocaleService(void)
} else { } else {
CopyASCIItoUTF16(lang, platformLocale); CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale); result = nsPosixLocale::GetXPLocale(lang, xpLocale);
@ -35,9 +35,24 @@ diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
return; return;
} }
+ // LANGUAGE is overriding LC_MESSAGES + // LANGUAGE is overriding LC_MESSAGES
+ // it can be a colon separated list of preferred languages
+ // as we do not recognize here if a language is available
+ // we actually only consider the first entry unless GetXPLocale
+ // fails completely
+ if (i == LC_MESSAGES && language && *language) { + if (i == LC_MESSAGES && language && *language) {
+ CopyASCIItoUTF16(language, platformLocale); +#define LANGUAGE_SEP ":"
+ result = nsPosixLocale::GetXPLocale(language, xpLocale); + nsAutoString xpLocale_temp;
+ char* rawBuffer = (char*) language;
+ char* token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer);
+ for (; token;
+ token = nsCRT::strtok(rawBuffer, LANGUAGE_SEP, &rawBuffer)) {
+ result = nsPosixLocale::GetXPLocale(token, xpLocale_temp);
+ if (NS_SUCCEEDED(result)) {
+ CopyASCIItoUTF16(token, platformLocale);
+ xpLocale = xpLocale_temp;
+ break;
+ }
+ }
+ } + }
resultLocale->AddCategory(category, xpLocale); resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale); resultLocale->AddCategory(category_platform, platformLocale);

View File

@ -1,7 +1,7 @@
# HG changeset patch # HG changeset patch
# Parent 33024abb3c58dab7239e32388df58e14f99defd5 # Parent 33024abb3c58dab7239e32388df58e14f99defd5
# User Wolfgang Rosenauer <wr@rosenauer.org> # User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 17196b2f3cd2bcba6a5b54f4496b5762a593c5b3 # Parent 6005a673f4c68ed05294bedcf45d6d962bf303e6
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c --- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
@ -20,7 +20,7 @@ diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/
#include <time.h> #include <time.h>
#include <string.h> #include <string.h>
#include "mozilla/Snprintf.h" #include "mozilla/Sprintf.h"
#ifdef WIN32 #ifdef WIN32
#include <process.h> #include <process.h>

View File

@ -7,13 +7,13 @@ References:
diff --git a/old-configure.in b/old-configure.in diff --git a/old-configure.in b/old-configure.in
--- a/old-configure.in --- a/old-configure.in
+++ b/old-configure.in +++ b/old-configure.in
@@ -6495,16 +6495,31 @@ if test "$MOZ_ENABLE_SKIA"; then @@ -5358,16 +5358,31 @@ esac
AC_DEFINE(USE_SKIA_GPU)
AC_SUBST(MOZ_ENABLE_SKIA_GPU) AC_SUBST(MOZ_TREE_CAIRO)
fi AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
fi AC_SUBST_LIST(MOZ_CAIRO_LIBS)
AC_SUBST(MOZ_ENABLE_SKIA) AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
AC_SUBST_LIST(SKIA_INCLUDES) AC_SUBST(MOZ_TREE_PIXMAN)
dnl ======================================================== dnl ========================================================
+dnl Check for nss-shared-helper +dnl Check for nss-shared-helper
@ -42,7 +42,7 @@ diff --git a/old-configure.in b/old-configure.in
diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build
--- a/security/manager/ssl/moz.build --- a/security/manager/ssl/moz.build
+++ b/security/manager/ssl/moz.build +++ b/security/manager/ssl/moz.build
@@ -159,16 +159,19 @@ if CONFIG['MOZ_XUL']: @@ -160,16 +160,19 @@ if CONFIG['MOZ_XUL']:
] ]
UNIFIED_SOURCES += [ UNIFIED_SOURCES += [
@ -87,7 +87,7 @@ diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNS
#include "SharedSSLState.h" #include "SharedSSLState.h"
#include "cert.h" #include "cert.h"
#include "certdb.h" #include "certdb.h"
@@ -1491,17 +1498,31 @@ nsNSSComponent::InitializeNSS() @@ -1702,17 +1709,31 @@ nsNSSComponent::InitializeNSS()
return rv; return rv;
} }
} }
@ -122,14 +122,14 @@ diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNS
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
--- a/toolkit/library/moz.build --- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build +++ b/toolkit/library/moz.build
@@ -209,16 +209,18 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF @@ -220,16 +220,18 @@ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
OS_LIBS += [
'rt',
]
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
OS_LIBS += CONFIG['MOZ_SERVO_LIBS']
if CONFIG['SERVO_TARGET_DIR']:
if CONFIG['_MSC_VER']:
OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
else:
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
+OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS']) +OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS'])
+ +

View File

@ -0,0 +1,45 @@
# HG changeset patch
# User Mike Hommey <mh+mozilla@glandium.org>
# Date 1479812942 -32400
# Node ID a6d015fd1add5e16cf37f5868cd2734bafb709b4
# Parent 319e03b9e8a22a8fba3756cb1afc8b9e7a6724c8
Bug 1319389 - Generically set SK_CPU_[BL]ENDIAN based on __BYTE_ORDER__ when available. r?jrmuizel
diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
--- a/gfx/skia/skia/include/core/SkPreConfig.h
+++ b/gfx/skia/skia/include/core/SkPreConfig.h
@@ -67,25 +67,29 @@
#if !defined(SK_WARN_UNUSED_RESULT)
#define SK_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#endif
//////////////////////////////////////////////////////////////////////
#if !defined(SK_CPU_BENDIAN) && !defined(SK_CPU_LENDIAN)
- #if defined(__sparc) || defined(__sparc__) || \
+ #if defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ #define SK_CPU_BENDIAN
+ #elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ #define SK_CPU_LENDIAN
+ #elif defined(__sparc) || defined(__sparc__) || \
defined(_POWER) || defined(__powerpc__) || \
defined(__ppc__) || defined(__hppa) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_MIPSEB) || defined(__ARMEB__) || \
defined(__s390__) || \
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
(defined(__ia64) && defined(__BIG_ENDIAN__))
- #define SK_CPU_BENDIAN
+ #define SK_CPU_BENDIAN
#else
#define SK_CPU_LENDIAN
#endif
#endif
//////////////////////////////////////////////////////////////////////
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)

View File

@ -1,2 +1,2 @@
REV=8612c3320053 REV=327e081221b0
REPO=http://hg.mozilla.org/releases/mozilla-release REPO=http://hg.mozilla.org/releases/mozilla-release