commit MozillaFirefox for openSUSE:Factory
Hello community, here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2017-01-29 10:30:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old) and /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "MozillaFirefox" Changes: -------- --- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2016-12-16 12:04:56.845467773 +0100 +++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes 2017-02-03 17:30:24.918573722 +0100 @@ -1,0 +2,82 @@ +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) + +------------------------------------------------------------------- Old: ---- firefox-50.1.0-source.tar.xz l10n-50.1.0.tar.xz mozilla-flex_buffer_overrun.patch New: ---- firefox-51.0.1-source.tar.xz l10n-51.0.1.tar.xz mozilla-disable-skia-be.patch mozilla-skia-ppc-endianess.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ MozillaFirefox.spec ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:35.801033481 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:35.805032915 +0100 @@ -1,8 +1,8 @@ # # spec file for package MozillaFirefox # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. -# 2006-2016 Wolfgang Rosenauer +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# 2006-2017 Wolfgang Rosenauer # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,10 +18,10 @@ # changed with every update -%define major 50 -%define mainver %major.1.0 +%define major 51 +%define mainver %major.0.1 %define update_channel release -%define releasedate 20161212000000 +%define releasedate 20170126000000 # PIE, full relro (x86_64 for now) %define build_hardened 1 @@ -36,6 +36,9 @@ %define pkgname firefox-dev-edition %define appname Firefox Developer Edition %endif +%if 0%{?suse_version} > 1320 +%define firefox_use_gtk3 1 +%endif %define progdir %{_prefix}/%_lib/%{progname} %define gnome_dir %{_prefix} %define desktop_file_name %{progname} @@ -74,8 +77,8 @@ BuildRequires: libnotify-devel BuildRequires: libproxy-devel BuildRequires: makeinfo -BuildRequires: mozilla-nspr-devel >= 4.12 -BuildRequires: mozilla-nss-devel >= 3.26.2 +BuildRequires: mozilla-nspr-devel >= 4.13.1 +BuildRequires: mozilla-nss-devel >= 3.28.1 BuildRequires: nss-shared-helper-devel BuildRequires: python-devel BuildRequires: startup-notification-devel @@ -147,12 +150,13 @@ Patch13: mozilla-check_return.patch Patch14: mozilla-skia-overflow.patch Patch17: mozilla-binutils-visibility.patch +Patch18: mozilla-skia-ppc-endianess.patch +Patch19: mozilla-disable-skia-be.patch # Firefox/browser Patch101: firefox-kde.patch Patch102: firefox-no-default-ualocale.patch Patch103: firefox-branded-icons.patch # hotfix -Patch150: mozilla-flex_buffer_overrun.patch Patch200: mozilla-aarch64-startup-crash.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -203,7 +207,7 @@ %package translations-other Summary: Extra translations for %{appname} 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} Obsoletes: %{name}-translations < %{version}-%{release} @@ -262,11 +266,12 @@ %patch13 -p1 %patch14 -p1 %patch17 -p1 +%patch18 -p1 +%patch19 -p1 # Firefox %patch101 -p1 %patch102 -p1 %patch103 -p1 -%patch150 -p1 %patch200 -p1 %build @@ -397,9 +402,9 @@ %if %localize rm -f %{_tmppath}/translations.* 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 - ja-JP-mac|en-US) + ja-JP-mac|en-US|'') ;; *) pushd $RPM_BUILD_DIR/compare-locales ++++++ compare-locales.tar.xz ++++++ ++++++ create-tar.sh ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:35.993006310 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:35.993006310 +0100 @@ -7,8 +7,8 @@ CHANNEL="release" BRANCH="releases/mozilla-$CHANNEL" -RELEASE_TAG="8612c3320053b796678921f8f23358e3e9df997e" -VERSION="50.1.0" +RELEASE_TAG="327e081221b064b05a302d7877c6e4be2949a617" +VERSION="51.0.1" # mozilla if [ -d mozilla ]; then ++++++ firefox-50.1.0-source.tar.xz -> firefox-51.0.1-source.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/firefox-50.1.0-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/firefox-51.0.1-source.tar.xz differ: char 26, line 1 ++++++ firefox-kde.patch ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.048998386 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.048998386 +0100 @@ -1,11 +1,11 @@ # HG changeset patch -# Parent 2cb2f829aabd7e3efaa973a0a8cf99aca9605bdc +# Parent 2cae514c05c8836ca5b69884d3a07998a5d53e8b diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul new file mode 100644 --- /dev/null +++ b/browser/base/content/browser-kde.xul -@@ -0,0 +1,1200 @@ +@@ -0,0 +1,1119 @@ +#filter substitution +<?xml version="1.0"?> +# -*- Mode: HTML -*- @@ -160,14 +160,7 @@ + noautofocus="true" + hidden="true" + flip="none" -+ level="parent"> -+#ifdef NIGHTLY_BUILD -+ <hbox id="urlbar-search-footer" flex="1" align="stretch" pack="end"> -+ <button id="urlbar-search-settings" label="&changeSearchSettings.button;" -+ oncommand="BrowserUITelemetry.countSearchSettingsEvent('urlbar'); openPreferences('paneSearch')"/> -+ </hbox> -+#endif -+ </panel> ++ level="parent"/> + + <!-- for select dropdowns. The menupopup is what shows the list of options, + and the popuponly menulist makes things like the menuactive attributes @@ -175,7 +168,7 @@ + popuponly menulist to be its immediate parent. --> + <menulist popuponly="true" id="ContentSelectDropdown" hidden="true"> + <menupopup rolluponmousewheel="true" -+ activateontab="true" ++ activateontab="true" position="after_start" +#ifdef XP_WIN + consumeoutsideclicks="false" ignorekeys="handled" +#endif @@ -192,6 +185,7 @@ + orient="vertical" + ignorekeys="true" + hidden="true" ++ tabspecific="true" + onpopupshown="StarUI.panelShown(event);" + aria-labelledby="editBookmarkPanelTitle"> + <row id="editBookmarkPanelHeader" align="center" hidden="true"> @@ -286,23 +280,6 @@ + <hbox id="share-container" flex="1"/> + </panel> + -+ <panel id="social-notification-panel" -+ class="social-panel" -+ type="arrow" -+ hidden="true" -+ noautofocus="true"/> -+ <panel id="social-flyout-panel" -+ class="social-panel" -+ onpopupshown="SocialFlyout.onShown()" -+ onpopuphidden="SocialFlyout.onHidden()" -+ side="right" -+ type="arrow" -+ hidden="true" -+ flip="slide" -+ rolluponmousewheel="true" -+ noautofocus="true" -+ position="topcenter topright"/> -+ + <menupopup id="toolbar-context-menu" + onpopupshowing="onViewToolbarsPopupShowing(event, document.getElementById('viewToolbarsMenuSeparator'));"> + <menuitem oncommand="gCustomizeMode.addToPanel(document.popupNode)" @@ -718,66 +695,54 @@ + <image id="identity-icon" + consumeanchor="identity-box" + onclick="PageProxyClickHandler(event);"/> -+ <box id="blocked-permissions-container" align="center" tooltiptext=""> -+ <image data-permission-id="geo" class="notification-anchor-icon geo-icon blocked" role="button" -+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/> -+ <image data-permission-id="desktop-notification" class="notification-anchor-icon desktop-notification-icon blocked" role="button" -+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> -+ <image data-permission-id="camera" class="notification-anchor-icon camera-icon blocked" role="button" -+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> -+ <image data-permission-id="indexedDB" class="notification-anchor-icon indexedDB-icon blocked" role="button" -+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> -+ <image data-permission-id="microphone" class="notification-anchor-icon microphone-icon blocked" role="button" -+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> -+ <image data-permission-id="screen" class="notification-anchor-icon screen-icon blocked" role="button" -+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> -+ <image data-permission-id="pointerLock" class="notification-anchor-icon pointerLock-icon blocked" role="button" -+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/> ++ <image id="sharing-icon" mousethrough="always"/> ++ <box id="blocked-permissions-container" align="center"> ++ <image data-permission-id="geo" class="blocked-permission-icon geo-icon" role="button" ++ tooltiptext="&urlbar.geolocationBlocked.tooltip;"/> ++ <image data-permission-id="desktop-notification" class="blocked-permission-icon desktop-notification-icon" role="button" ++ tooltiptext="&urlbar.webNotificationsBlocked.tooltip;"/> ++ <image data-permission-id="camera" class="blocked-permission-icon camera-icon" role="button" ++ tooltiptext="&urlbar.cameraBlocked.tooltip;"/> ++ <image data-permission-id="indexedDB" class="blocked-permission-icon indexedDB-icon" role="button" ++ tooltiptext="&urlbar.indexedDBBlocked.tooltip;"/> ++ <image data-permission-id="microphone" class="blocked-permission-icon microphone-icon" role="button" ++ tooltiptext="&urlbar.microphoneBlocked.tooltip;"/> ++ <image data-permission-id="screen" class="blocked-permission-icon screen-icon" role="button" ++ tooltiptext="&urlbar.screenBlocked.tooltip;"/> + </box> + <box id="notification-popup-box" + hidden="true" -+ tooltiptext="" + onmouseover="document.getElementById('identity-icon').classList.add('no-hover');" + onmouseout="document.getElementById('identity-icon').classList.remove('no-hover');" + align="center"> + <image id="default-notification-icon" class="notification-anchor-icon" role="button" -+ aria-label="&urlbar.defaultNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/> + <image id="geo-notification-icon" class="notification-anchor-icon geo-icon" role="button" -+ aria-label="&urlbar.geolocationNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.geolocationNotificationAnchor.tooltip;"/> + <image id="addons-notification-icon" class="notification-anchor-icon install-icon" role="button" -+ aria-label="&urlbar.addonsNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.addonsNotificationAnchor.tooltip;"/> + <image id="indexedDB-notification-icon" class="notification-anchor-icon indexedDB-icon" role="button" -+ aria-label="&urlbar.indexedDBNotificationAnchor.label;"/> -+ <image id="login-fill-notification-icon" class="notification-anchor-icon login-icon" role="button" -+ aria-label="&urlbar.loginFillNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.indexedDBNotificationAnchor.tooltip;"/> + <image id="password-notification-icon" class="notification-anchor-icon login-icon" role="button" -+ aria-label="&urlbar.passwordNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.passwordNotificationAnchor.tooltip;"/> + <image id="plugins-notification-icon" class="notification-anchor-icon plugin-icon" role="button" -+ aria-label="&urlbar.pluginsNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.pluginsNotificationAnchor.tooltip;"/> + <image id="web-notifications-notification-icon" class="notification-anchor-icon desktop-notification-icon" role="button" -+ aria-label="&urlbar.webNotsNotificationAnchor3.label;"/> ++ tooltiptext="&urlbar.webNotificationAnchor.tooltip;"/> + <image id="webRTC-shareDevices-notification-icon" class="notification-anchor-icon camera-icon" role="button" -+ aria-label="&urlbar.webRTCShareDevicesNotificationAnchor.label;"/> -+ <image id="webRTC-sharingDevices-notification-icon" class="notification-anchor-icon camera-icon in-use" role="button" -+ aria-label="&urlbar.webRTCSharingDevicesNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.webRTCShareDevicesNotificationAnchor.tooltip;"/> + <image id="webRTC-shareMicrophone-notification-icon" class="notification-anchor-icon microphone-icon" role="button" -+ aria-label="&urlbar.webRTCShareMicrophoneNotificationAnchor.label;"/> -+ <image id="webRTC-sharingMicrophone-notification-icon" class="notification-anchor-icon microphone-icon in-use" role="button" -+ aria-label="&urlbar.webRTCSharingMicrophoneNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.webRTCShareMicrophoneNotificationAnchor.tooltip;"/> + <image id="webRTC-shareScreen-notification-icon" class="notification-anchor-icon screen-icon" role="button" -+ aria-label="&urlbar.webRTCShareScreenNotificationAnchor.label;"/> -+ <image id="webRTC-sharingScreen-notification-icon" class="notification-anchor-icon screen-icon in-use" role="button" -+ aria-label="&urlbar.webRTCSharingScreenNotificationAnchor.label;"/> -+ <image id="pointerLock-notification-icon" class="notification-anchor-icon pointerLock-icon" role="button" -+ aria-label="&urlbar.pointerLockNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.webRTCShareScreenNotificationAnchor.tooltip;"/> + <image id="servicesInstall-notification-icon" class="notification-anchor-icon service-icon" role="button" -+ aria-label="&urlbar.servicesNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.servicesNotificationAnchor.tooltip;"/> + <image id="translate-notification-icon" class="notification-anchor-icon translation-icon" role="button" -+ aria-label="&urlbar.translateNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.translateNotificationAnchor.tooltip;"/> + <image id="translated-notification-icon" class="notification-anchor-icon translation-icon in-use" role="button" -+ aria-label="&urlbar.translatedNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.translatedNotificationAnchor.tooltip;"/> + <image id="eme-notification-icon" class="notification-anchor-icon drm-icon" role="button" -+ aria-label="&urlbar.emeNotificationAnchor.label;"/> ++ tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/> + </box> + <image id="tracking-protection-icon"/> + <image id="connection-icon"/> @@ -799,6 +764,10 @@ + class="urlbar-icon" + hidden="true" + onclick="ReaderParent.buttonClick(event);"/> ++ <toolbarbutton id="urlbar-zoom-button" ++ onclick="FullZoom.reset();" ++ tooltiptext="&urlbar.zoomReset.tooltip;" ++ hidden="true"/> + </hbox> + <hbox id="userContext-icons" hidden="true"> + <label id="userContext-label"/> @@ -1080,7 +1049,7 @@ + <image id="sidebar-throbber"/> + <toolbarbutton class="close-icon tabbable" tooltiptext="&sidebarCloseButton.tooltip;" oncommand="SidebarUI.hide();"/> + </sidebarheader> -+ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" ++ <browser id="sidebar" flex="1" autoscroll="false" disablehistory="true" disablefullscreen="true" + style="min-width: 14em; width: 18em; max-width: 36em;" tooltip="aHTMLTooltip"/> + </vbox> + @@ -1093,56 +1062,6 @@ + contentcontextmenu="contentAreaContextMenu" + autocompletepopup="PopupAutoComplete" + selectmenulist="ContentSelectDropdown"/> -+ <chatbar id="pinnedchats" layer="true" mousethrough="always" hidden="true"/> -+ </vbox> -+ <splitter id="social-sidebar-splitter" -+ class="chromeclass-extrachrome sidebar-splitter" -+ observes="socialSidebarBroadcaster"/> -+ <vbox id="social-sidebar-box" -+ class="chromeclass-extrachrome" -+ observes="socialSidebarBroadcaster" -+ persist="width"> -+ -+ <sidebarheader id="social-sidebar-header" class="sidebar-header" align="center"> -+ <image id="social-sidebar-favico"/> -+ <label id="social-sidebar-title" class="sidebar-title" persist="value" flex="1" crop="end" control="sidebar"/> -+ <toolbarbutton id="social-sidebar-button" -+ class="toolbarbutton-1" -+ type="menu"> -+ <menupopup id="social-statusarea-popup" position="after_end"> -+ <menuitem class="social-toggle-sidebar-menuitem" -+ type="checkbox" -+ autocheck="false" -+ command="Social:ToggleSidebar" -+ label="&social.toggleSidebar.label;" -+ accesskey="&social.toggleSidebar.accesskey;"/> -+ <menuitem class="social-toggle-notifications-menuitem" -+ type="checkbox" -+ autocheck="false" -+ command="Social:ToggleNotifications" -+ label="&social.toggleNotifications.label;" -+ accesskey="&social.toggleNotifications.accesskey;"/> -+ <menuseparator/> -+ <menuseparator class="social-provider-menu" hidden="true"/> -+ <menuitem class="social-addons-menuitem" command="Social:Addons" -+ label="&social.addons.label;"/> -+ <menuitem label="&social.learnMore.label;" -+ accesskey="&social.learnMore.accesskey;" -+ oncommand="SocialUI.showLearnMore();"/> -+ </menupopup> -+ </toolbarbutton> -+ </sidebarheader> -+ -+ <browser id="social-sidebar-browser" -+ type="content" -+ context="contentAreaContextMenu" -+ message="true" -+ messagemanagergroup="social" -+ disableglobalhistory="true" -+ tooltip="aHTMLTooltip" -+ popupnotificationanchor="social-sidebar-favico" -+ flex="1" -+ style="min-width: 14em; width: 18em; max-width: 36em;"/> + </vbox> + <vbox id="browser-border-end" hidden="true" layer="true"/> + </hbox> @@ -1291,57 +1210,57 @@ diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js --- a/browser/components/preferences/in-content/main.js +++ b/browser/components/preferences/in-content/main.js -@@ -23,16 +23,22 @@ var gMainPane = { - init: function () - { - function setEventListener(aId, aEventType, aCallback) - { - document.getElementById(aId) - .addEventListener(aEventType, aCallback.bind(gMainPane)); - } - +@@ -33,16 +33,22 @@ var gMainPane = { + if (AppConstants.platform == "win") { + // In Windows 8 we launch the control panel since it's the only + // way to get all file type association prefs. So we don't know + // when the user will select the default. We refresh here periodically + // in case the default changes. On other Windows OS's defaults can also + // be set while the prefs are open. + window.setInterval(this.updateSetDefaultBrowser.bind(this), 1000); + } ++ + var env = Components.classes["@mozilla.org/process/environment;1"] + .getService(Components.interfaces.nsIEnvironment); + var kde_session = 0; + if (env.get('KDE_FULL_SESSION') == "true") + kde_session = 1; -+ - #ifdef HAVE_SHELL_SERVICE - this.updateSetDefaultBrowser(); - #ifdef XP_WIN - // In Windows 8 we launch the control panel since it's the only - // way to get all file type association prefs. So we don't know - // when the user will select the default. We refresh here periodically - // in case the default changes. On other Windows OS's defaults can also - // be set while the prefs are open. -@@ -703,16 +709,27 @@ var gMainPane = { - let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser"); - alwaysCheckPref.value = true; - - let shellSvc = getShellService(); - if (!shellSvc) - return; - try { - shellSvc.setDefaultBrowser(true, false); -+ if (kde_session == 1) { -+ var shellObj = Components.classes["@mozilla.org/file/local;1"] -+ .createInstance(Components.interfaces.nsILocalFile); -+ shellObj.initWithPath("/usr/bin/kwriteconfig"); -+ var process = Components.classes["@mozilla.org/process/util;1"] -+ .createInstance(Components.interfaces.nsIProcess); -+ process.init(shellObj); -+ var args = ["--file", "kdeglobals", "--group", "General", "--key", -+ "BrowserApplication", "firefox"]; -+ process.run(false, args, args.length); -+ } - } catch (ex) { - Cu.reportError(ex); - return; } - let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; - document.getElementById("setDefaultPane").selectedIndex = selectedIndex; - } + // set up the "use current page" label-changing listener + this._updateUseCurrentButton(); + window.addEventListener("focus", this._updateUseCurrentButton.bind(this), false); + + this.updateBrowserStartupLastSession(); + +@@ -704,16 +710,27 @@ var gMainPane = { + let alwaysCheckPref = document.getElementById("browser.shell.checkDefaultBrowser"); + alwaysCheckPref.value = true; + + let shellSvc = getShellService(); + if (!shellSvc) + return; + try { + shellSvc.setDefaultBrowser(true, false); ++ if (kde_session == 1) { ++ var shellObj = Components.classes["@mozilla.org/file/local;1"] ++ .createInstance(Components.interfaces.nsILocalFile); ++ shellObj.initWithPath("/usr/bin/kwriteconfig"); ++ var process = Components.classes["@mozilla.org/process/util;1"] ++ .createInstance(Components.interfaces.nsIProcess); ++ process.init(shellObj); ++ var args = ["--file", "kdeglobals", "--group", "General", "--key", ++ "BrowserApplication", "firefox"]; ++ process.run(false, args, args.length); ++ } + } catch (ex) { + Cu.reportError(ex); + return; + } + + let selectedIndex = shellSvc.isDefaultBrowser(false, true) ? 1 : 0; + document.getElementById("setDefaultPane").selectedIndex = selectedIndex; + } diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build --- a/browser/components/shell/moz.build +++ b/browser/components/shell/moz.build @@ -1657,7 +1576,7 @@ diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in -@@ -674,16 +674,17 @@ +@@ -675,16 +675,17 @@ @RESPATH@/greprefs.js @RESPATH@/defaults/autoconfig/prefcalls.js @RESPATH@/browser/defaults/permissions ++++++ l10n-50.1.0.tar.xz -> l10n-51.0.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/MozillaFirefox/l10n-50.1.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new/l10n-51.0.1.tar.xz differ: char 25, line 1 ++++++ l10n_changesets.txt ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.148984234 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.148984234 +0100 @@ -1,92 +1,93 @@ -ach 72c548f97e82 -af 676daf929ded -an 9c672ba38dae -ar 6bd1cb920a48 -as 9710b1ce7a29 -ast 5a06502c9fc1 -az f12bc2c29510 -be 3c6fd4559f7f -bg 7843a5e79d32 -bn-BD 3cbe5cfb0859 -bn-IN 578eacdbac9d -br a16ed131653a -bs 3425b8fcf1ab -ca c6b4f835d64e -cak 710c1faa7291 -cs e1f114f9588d -cy 07118becc133 -da fbec55bbfd36 -de 20748e20ccf2 -dsb 4b8493859a20 -el 16fdb46a6a47 -en-GB e7242fb885cf -en-ZA 118b4d922a17 -eo ae85ceef76b2 -es-AR a18a4b85f35f -es-CL c5ff11d180da -es-ES e841d9340b7c -es-MX 2eaf1f216766 -et 8920752eaf5b -eu eb3cb2d122eb -fa e481522b74f8 -ff 88f5cd66688d -fi b20587491f77 -fr 628920fcb9f1 -fy-NL 56f04c122d2a -ga-IE ffbfd52e15d6 -gd 9f50ee991ed8 -gl e15306f877bf -gn 68f844f4138a -gu-IN 54ac9d906390 -he 7c087889358a -hi-IN aea1bb23685c -hr b0cc9aa34502 -hsb d7ea2d9d91ea -hu 5106349d21dd -hy-AM 3f5103ed23e2 -id 69b0d5120660 -is 8b6a14ea919f -it ec06674eebb4 -ja 488fbb4070d9 -ja-JP-mac e120b04c4a90 -kk 60c09b46e90d -km 00277d0045d3 -kn 0aff09069416 -ko 33cf1dd48c33 -lij 6a94ea30eef6 -lt 15947ce6f7ff -lv 3a43a0e2c12c -mai b43ac46bf163 -mk 0f98fd626df2 -ml b6b5a2b26a09 -mr 0c2a798af2d9 -ms a0a74230784a -nb-NO 378c5b201531 -nl 750fcda42314 -nn-NO 444e256b7ed8 -or 5ac88ef59ea5 -pa-IN ab02b30c28ea -pl cd84bd057189 -pt-BR dc5c8b030a57 -pt-PT 900fd62886bb -rm b6416ed6a3a1 -ro 2e2e9b5a07f5 -ru 1d962dfc279e -si 03a3b09a2203 -sk 4e8311d1d017 -sl b43e8e65c00e -son 544d3eea9a59 -sq 25e86afe807e -sr 233c45e5d423 -sv-SE 6b9266a60638 -ta 0256c1b190ce -te 8565fd8f778a -th e2b0b5a2dc9c -tr 255e7e613fca -uk e36fe69f4a3f -uz 6d46754186ab -vi 5c32df50f35d -xh c96bc753a170 -zh-CN 411faa039900 -zh-TW e1416ff1b4d6 +ach d6ba00c5c59a +af 221acbf9c551 +an efef89681add +ar 940e066d2dd8 +as a97311f0a051 +ast 37ff5970cc8f +az 374715191cd0 +bg d15a763f746a +bn-BD b4cdbb48d9fb +bn-IN 405c89530a66 +br e730984a8770 +bs e25f083ed28a +ca 2909feec9b62 +cak b0fe49f697f3 +cs 53096821fe5c +cy 4690316110e9 +da 24845323c326 +de ec96b812a542 +dsb 8e338605ccb9 +el 34a3488407a6 +en-GB 8000aa9daf28 +en-ZA ad5be8ba60f3 +eo 3a024766912e +es-AR 541f1c3690da +es-CL 56477941664e +es-ES 8b7162b69b09 +es-MX 77bc335e0853 +et a9b1775874d3 +eu 52ec58e99375 +fa 95d8b781e109 +ff 2e39572916fb +fi 94ad306d1492 +fr 27c4dc4cba4d +fy-NL 9399c11d5edb +ga-IE 5d9852283915 +gd bc702e34726b +gl 74d31ad43213 +gn 43e8b6cb5fc6 +gu-IN 97b7ec458ace +he 32e85d63d323 +hi-IN 25c7d3fceff8 +hr 15e2ad66589c +hsb ff5fb215596d +hu 814fad9068d9 +hy-AM 339e5b6d31d2 +id 1f325ac9007c +is e346cec6bace +it fc766adb485d +ja 78a60bf924e7 +ja-JP-mac 0ca52430f89c +ka fb0e9f4fdbe7 +kab 3de51a9c61ce +kk 368faf9a9ed3 +km 97cd3bb4f2f3 +kn f657dd18d8a1 +ko bc9fde5af704 +lij 500f328a0bf0 +lt 3eefea021768 +lv 90a827f08cb4 +mai 4a95441f376c +mk 666cf4d8067b +ml 1f2e734fbd60 +mr 8067689c39f3 +ms 76c4152f9e3f +nb-NO 1effc4c0ba39 +nl 28f169daa01f +nn-NO 272d7d7fbd67 +or 765fc4b06ed0 +pa-IN 8518db59aecf +pl 339f79766251 +pt-BR 3e521cc717b9 +pt-PT 5ea4fd22db27 +rm 66840279c384 +ro a87554f9bf7e +ru a8f0bc1f85db +si 2629b7b1279c +sk b78499013196 +sl b91f9bd2d619 +son 2934d6741b1a +sq 8ff97a87cbeb +sr 8ddd91c5629b +sv-SE 483944f0c102 +ta dc89744a2281 +te 545bca10223a +th 6076f69e7093 +tr 70129fabcb60 +uk cb0a4b0816fa +uz 01402c615783 +vi d6c09226896e +xh f587b401f8fc +zh-CN d260be15e967 +zh-TW 267404478cf9 ++++++ mozilla-disable-skia-be.patch ++++++ # 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', + ] ++++++ mozilla-kde.patch ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.196977441 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.200976876 +0100 @@ -1,5 +1,5 @@ # HG changeset patch -# Parent 6ff55468281e12a84adefb46b17acb60d9cea608 +# Parent f3e80d26a430dfa1c58421fb66144a3c23ffc166 Description: Add KDE integration to Firefox (toolkit parts) Author: Wolfgang Rosenauer <wolfgang@rosenauer.org> Author: Lubos Lunak <lunak@suse.com> @@ -27,7 +27,7 @@ #include "prefread.h" #include "prefapi_private_data.h" -@@ -1180,16 +1181,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char +@@ -1174,16 +1175,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char static nsresult pref_LoadPrefsInDirList(const char *listId) { @@ -62,7 +62,7 @@ return NS_OK; bool hasMore; -@@ -1205,17 +1224,17 @@ static nsresult pref_LoadPrefsInDirList( +@@ -1199,17 +1218,17 @@ static nsresult pref_LoadPrefsInDirList( nsAutoCString leaf; path->GetNativeLeafName(leaf); @@ -81,7 +81,7 @@ { nsZipItemPtr<char> manifest(jarReader, name, true); NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE); -@@ -1309,24 +1328,36 @@ static nsresult pref_InitInitialObjects( +@@ -1303,24 +1322,36 @@ static nsresult pref_InitInitialObjects( /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ static const char* specialFiles[] = { #if defined(XP_MACOSX) @@ -187,8 +187,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build --- a/toolkit/components/downloads/moz.build +++ b/toolkit/components/downloads/moz.build -@@ -60,17 +60,18 @@ if not CONFIG['MOZ_SUITE']: - 'nsDownloadManagerUI.js', +@@ -57,16 +57,17 @@ if not CONFIG['MOZ_SUITE']: 'nsDownloadManagerUI.manifest', ] @@ -196,9 +195,9 @@ LOCAL_INCLUDES += [ '../protobuf', -- '/ipc/chromium/src' -+ '/ipc/chromium/src', -+ '/toolkit/xre' + '/ipc/chromium/src', ++ '/toolkit/xre', + 'chromium' ] DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True @@ -206,11 +205,10 @@ CXXFLAGS += CONFIG['TK_CFLAGS'] - if CONFIG['GNU_CXX']: diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp --- a/toolkit/components/downloads/nsDownloadManager.cpp +++ b/toolkit/components/downloads/nsDownloadManager.cpp -@@ -51,16 +51,20 @@ +@@ -52,16 +52,20 @@ #ifdef XP_WIN #include <shlobj.h> #include "nsWindowsHelpers.h" @@ -228,10 +226,10 @@ #endif #ifdef MOZ_WIDGET_ANDROID - #include "GeneratedJNIWrappers.h" + #include "FennecJNIWrappers.h" #endif -@@ -2719,16 +2723,25 @@ nsDownload::SetState(DownloadState aStat +@@ -2723,16 +2727,25 @@ nsDownload::SetState(DownloadState aStat nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID)); // Master pref to control this function. @@ -257,7 +255,7 @@ int64_t goat = PR_Now() - mStartTime; showTaskbarAlert = goat > alertIntervalUSec; -@@ -2759,16 +2772,17 @@ nsDownload::SetState(DownloadState aStat +@@ -2763,16 +2776,17 @@ nsDownload::SetState(DownloadState aStat NS_LITERAL_STRING(DOWNLOAD_MANAGER_ALERT_ICON), title, message, !removeWhenDone, mPrivate ? NS_LITERAL_STRING("private") : NS_LITERAL_STRING("non-private"), @@ -316,7 +314,7 @@ new file mode 100644 --- /dev/null +++ b/toolkit/content/widgets/dialog-kde.xml -@@ -0,0 +1,463 @@ +@@ -0,0 +1,457 @@ +<?xml version="1.0"?> +<!-- This Source Code Form is subject to the terms of the Mozilla Public + - License, v. 2.0. If a copy of the MPL was not distributed with this @@ -386,8 +384,7 @@ + <![CDATA[ + if (this.hasAttribute("defaultButton")) + return this.getAttribute("defaultButton"); -+ else // default to the accept button -+ return "accept"; ++ return "accept"; // default to the accept button + ]]> + </getter> + <setter> @@ -491,9 +488,6 @@ + <parameter name="aEvent"/> + <body> + <![CDATA[ -+ let { AppConstants } = -+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {}); -+ + function focusInit() { + const dialog = document.documentElement; + const defaultButton = dialog.getButton(dialog.defaultButton); @@ -519,7 +513,7 @@ + initialFocusedElt.focus(); + } + } -+ else if (AppConstants.platform != "macosx" && ++ else if (!/Mac/.test(navigator.platform) && + focusedElt.hasAttribute("dlgtype") && focusedElt != defaultButton) { + defaultButton.focus(); + } @@ -604,16 +598,16 @@ + else + switch (dlgtype) { + case "accept": -+ button.setAttribute("icon","accept"); ++ button.setAttribute("icon", "accept"); + break; + case "cancel": -+ button.setAttribute("icon","cancel"); ++ button.setAttribute("icon", "cancel"); + break; + case "disclosure": -+ button.setAttribute("icon","properties"); ++ button.setAttribute("icon", "properties"); + break; + case "help": -+ button.setAttribute("icon","help"); ++ button.setAttribute("icon", "help"); + break; + default: + break; @@ -639,10 +633,8 @@ + for (dlgtype in buttons) + buttons[dlgtype].hidden = !shown[dlgtype]; + -+ let { AppConstants } = -+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {}); + // show the spacer on Windows only when the extra2 button is present -+ if (AppConstants.platform == "win") { ++ if (/Win/.test(navigator.platform)) { + var spacer = document.getAnonymousElementByAttribute(this, "anonid", "spacer"); + spacer.removeAttribute("hidden"); + spacer.setAttribute("flex", shown["extra2"]?"1":"0"); @@ -784,7 +776,7 @@ new file mode 100644 --- /dev/null +++ b/toolkit/content/widgets/preferences-kde.xml -@@ -0,0 +1,1410 @@ +@@ -0,0 +1,1403 @@ +<?xml version="1.0"?> + +<!DOCTYPE bindings [ @@ -1422,10 +1414,7 @@ + var acceptButton = docElt.getButton("accept"); + acceptButton.hidden = true; + var cancelButton = docElt.getButton("cancel"); -+ -+ let { AppConstants } = -+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {}); -+ if (AppConstants.platform == "macosx") { ++ if (/Mac/.test(navigator.platform)) { + // no buttons on Mac except Help + cancelButton.hidden = true; + // Move Help button to the end @@ -1607,9 +1596,7 @@ + <parameter name="aPaneElement"/> + <body> + <![CDATA[ -+ let { AppConstants } = -+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {}); -+ if (AppConstants.platform == "macosx") { ++ if (/Mac/.test(navigator.platform)) { + var paneTitle = aPaneElement.label; + if (paneTitle != "") + document.title = paneTitle; @@ -1683,11 +1670,9 @@ + <property name="_shouldAnimate"> + <getter> + <![CDATA[ -+ let { AppConstants } = -+ Components.utils.import("resource://gre/modules/AppConstants.jsm", {}); + var psvc = Components.classes["@mozilla.org/preferences-service;1"] + .getService(Components.interfaces.nsIPrefBranch); -+ var animate = AppConstants.platform == "macosx"; ++ var animate = /Mac/.test(navigator.platform); + try { + animate = psvc.getBoolPref("browser.preferences.animateFadeIn"); + } @@ -1854,7 +1839,7 @@ + <handlers> + <handler event="dialogaccept"> + <![CDATA[ -+ if (!this._fireEvent("beforeaccept", this)){ ++ if (!this._fireEvent("beforeaccept", this)) { + return false; + } + @@ -2292,7 +2277,7 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build --- a/toolkit/xre/moz.build +++ b/toolkit/xre/moz.build -@@ -39,17 +39,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co +@@ -40,17 +40,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co 'updaterfileutils_osx.mm', ] elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit': @@ -2316,7 +2301,7 @@ new file mode 100644 --- /dev/null +++ b/toolkit/xre/nsKDEUtils.cpp -@@ -0,0 +1,339 @@ +@@ -0,0 +1,344 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -2337,6 +2322,11 @@ +#include <sys/resource.h> +#include <unistd.h> +#include <X11/Xlib.h> ++// copied from X11/X.h as a hack since for an unknown ++// reason it's not picked up from X11/X.h ++#ifndef None ++#define None 0L /* universal null resource or null atom */ ++#endif + +//#define DEBUG_KDE +#ifdef DEBUG_KDE @@ -3161,7 +3151,7 @@ diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build --- a/widget/gtk/moz.build +++ b/widget/gtk/moz.build -@@ -90,16 +90,17 @@ else: +@@ -101,16 +101,17 @@ else: include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' @@ -3534,25 +3524,25 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp -@@ -35,16 +35,17 @@ +@@ -32,16 +32,17 @@ + #include "nsTextFormatter.h" + #include "nsVersionComparator.h" + #include "nsXPCOMCIDInternal.h" #include "nsIConsoleService.h" #include "nsIScriptError.h" #include "nsIXULAppInfo.h" #include "nsIXULRuntime.h" - #ifdef MOZ_B2G_LOADER - #include "mozilla/XPTInterfaceInfoManager.h" - #endif +#include "nsKDEUtils.h" - #ifdef MOZ_B2G_LOADER - #define XPTONLY_MANIFEST &nsComponentManagerImpl::XPTOnlyManifestManifest - #define XPTONLY_XPT &nsComponentManagerImpl::XPTOnlyManifestXPT - #else - #define XPTONLY_MANIFEST nullptr - #define XPTONLY_XPT nullptr - #endif -@@ -494,16 +495,17 @@ ParseManifest(NSLocationType aType, File + using namespace mozilla; + + struct ManifestDirective + { + const char* directive; + int argc; + +@@ -472,16 +473,17 @@ ParseManifest(NSLocationType aType, File NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled"); NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired"); NS_NAMED_LITERAL_STRING(kApplication, "application"); @@ -3570,7 +3560,7 @@ NS_NAMED_LITERAL_STRING(kMain, "main"); NS_NAMED_LITERAL_STRING(kContent, "content"); -@@ -554,44 +556,49 @@ ParseManifest(NSLocationType aType, File +@@ -532,44 +534,49 @@ ParseManifest(NSLocationType aType, File CopyUTF8toUTF16(s, abi); abi.Insert(char16_t('_'), 0); abi.Insert(osTarget, 0); @@ -3620,7 +3610,7 @@ process = kMain; } -@@ -694,25 +701,27 @@ ParseManifest(NSLocationType aType, File +@@ -672,25 +679,27 @@ ParseManifest(NSLocationType aType, File TriState stOsVersion = eUnspecified; TriState stOs = eUnspecified; TriState stABI = eUnspecified; @@ -3648,7 +3638,7 @@ } #if defined(MOZ_WIDGET_ANDROID) -@@ -762,16 +771,17 @@ ParseManifest(NSLocationType aType, File +@@ -740,16 +749,17 @@ ParseManifest(NSLocationType aType, File } if (!ok || ++++++ mozilla-language.patch ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.216974611 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.216974611 +0100 @@ -1,7 +1,7 @@ # HG changeset patch # User Wolfgang Rosenauer <wr@rosenauer.org> # Parent 5a29924228527f8882c83cf62d470963ea1ce62e -# Parent bf7b3a5853467b34f13465102a19b9c7c2524bd4 +# Parent 4f39ed617c2f151a3a15903c7ae4471b66774e9e Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp @@ -25,7 +25,7 @@ for( i = 0; i < LocaleListLength; i++ ) { nsresult result; // setlocale( , "") evaluates LC_* and LANG -@@ -149,16 +150,21 @@ nsLocaleService::nsLocaleService(void) +@@ -149,16 +150,36 @@ nsLocaleService::nsLocaleService(void) } else { CopyASCIItoUTF16(lang, platformLocale); result = nsPosixLocale::GetXPLocale(lang, xpLocale); @@ -35,9 +35,24 @@ return; } + // 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) { -+ CopyASCIItoUTF16(language, platformLocale); -+ result = nsPosixLocale::GetXPLocale(language, xpLocale); ++#define LANGUAGE_SEP ":" ++ 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_platform, platformLocale); ++++++ mozilla-openaes-decl.patch ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.236971781 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.240971214 +0100 @@ -1,7 +1,7 @@ # HG changeset patch # Parent 33024abb3c58dab7239e32388df58e14f99defd5 # User Wolfgang Rosenauer <wr@rosenauer.org> -# Parent 17196b2f3cd2bcba6a5b54f4496b5762a593c5b3 +# Parent 6005a673f4c68ed05294bedcf45d6d962bf303e6 diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c --- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c @@ -20,7 +20,7 @@ #include <time.h> #include <string.h> - #include "mozilla/Snprintf.h" + #include "mozilla/Sprintf.h" #ifdef WIN32 #include <process.h> ++++++ mozilla-shared-nss-db.patch ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.260968384 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.260968384 +0100 @@ -7,13 +7,13 @@ diff --git a/old-configure.in b/old-configure.in --- a/old-configure.in +++ b/old-configure.in -@@ -6495,16 +6495,31 @@ if test "$MOZ_ENABLE_SKIA"; then - AC_DEFINE(USE_SKIA_GPU) - AC_SUBST(MOZ_ENABLE_SKIA_GPU) - fi - fi - AC_SUBST(MOZ_ENABLE_SKIA) - AC_SUBST_LIST(SKIA_INCLUDES) +@@ -5358,16 +5358,31 @@ esac + + AC_SUBST(MOZ_TREE_CAIRO) + AC_SUBST_LIST(MOZ_CAIRO_CFLAGS) + AC_SUBST_LIST(MOZ_CAIRO_LIBS) + AC_SUBST_LIST(MOZ_CAIRO_OSLIBS) + AC_SUBST(MOZ_TREE_PIXMAN) dnl ======================================================== +dnl Check for nss-shared-helper @@ -42,7 +42,7 @@ diff --git a/security/manager/ssl/moz.build b/security/manager/ssl/moz.build --- a/security/manager/ssl/moz.build +++ b/security/manager/ssl/moz.build -@@ -159,16 +159,19 @@ if CONFIG['MOZ_XUL']: +@@ -160,16 +160,19 @@ if CONFIG['MOZ_XUL']: ] UNIFIED_SOURCES += [ @@ -87,7 +87,7 @@ #include "SharedSSLState.h" #include "cert.h" #include "certdb.h" -@@ -1491,17 +1498,31 @@ nsNSSComponent::InitializeNSS() +@@ -1702,17 +1709,31 @@ nsNSSComponent::InitializeNSS() return rv; } } @@ -122,14 +122,14 @@ diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build --- a/toolkit/library/moz.build +++ b/toolkit/library/moz.build -@@ -209,16 +209,18 @@ if CONFIG['OS_ARCH'] == 'Linux' and CONF - OS_LIBS += [ - 'rt', - ] - - OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] +@@ -220,16 +220,18 @@ OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS'] OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS'] - OS_LIBS += CONFIG['MOZ_SERVO_LIBS'] + + if CONFIG['SERVO_TARGET_DIR']: + if CONFIG['_MSC_VER']: + OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']] + else: + OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo'] +OS_LIBS += sorted(CONFIG['NSSHELPER_LIBS']) + ++++++ mozilla-skia-ppc-endianess.patch ++++++ # 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) ++++++ source-stamp.txt ++++++ --- /var/tmp/diff_new_pack.VKSR2V/_old 2017-02-03 17:30:36.304962158 +0100 +++ /var/tmp/diff_new_pack.VKSR2V/_new 2017-02-03 17:30:36.304962158 +0100 @@ -1,2 +1,2 @@ -REV=8612c3320053 +REV=327e081221b0 REPO=http://hg.mozilla.org/releases/mozilla-release
participants (1)
-
root@hilbertn.suse.de