Hello community,

here is the log from the commit of package MozillaFirefox for openSUSE:Factory 
checked in at 2018-05-11 11:26:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
 and      /work/SRC/openSUSE:Factory/.MozillaFirefox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "MozillaFirefox"

Fri May 11 11:26:43 2018 rev:271 rq:605919 version:60.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes    
2018-05-03 12:31:10.690852233 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new/MozillaFirefox.changes       
2018-05-11 11:26:45.463698832 +0200
@@ -1,0 +2,87 @@
+Mon May  7 08:32:28 UTC 2018 - w...@rosenauer.org
+
+- update to Firefox 60.0
+  * Added a policy engine that allows customized Firefox deployments
+    in enterprise environments, using Windows Group Policy or a
+    cross-platform JSON file
+  * Applied Quantum CSS to render browser UI
+  * Added support for Web Authentication, allowing the use of USB
+    tokens for authentication to web sites
+  * Locale added: Occitan (oc)
+  MFSA 2018-11 (bsc#1092548)
+  * CVE-2018-5154 (bmo#1443092)
+    Use-after-free with SVG animations and clip paths
+  * CVE-2018-5155 (bmo#1448774)
+    Use-after-free with SVG animations and text paths
+  * CVE-2018-5157 (bmo#1449898)
+    Same-origin bypass of PDF Viewer to view protected PDF files
+  * CVE-2018-5158 (bmo#1452075)
+    Malicious PDF can inject JavaScript into PDF Viewer
+  * CVE-2018-5159 (bmo#1441941)
+    Integer overflow and out-of-bounds write in Skia
+  * CVE-2018-5160 (bmo#1436117)
+    Uninitialized memory use by WebRTC encoder
+  * CVE-2018-5152 (bmo#1415644, bmo#1427289)
+    WebExtensions information leak through webRequest API
+  * CVE-2018-5153 (bmo#1436809)
+    Out-of-bounds read in mixed content websocket messages
+  * CVE-2018-5163 (bmo#1426353)
+    Replacing cached data in JavaScript Start-up Bytecode Cache
+  * CVE-2018-5164 (bmo#1416045)
+    CSP not applied to all multipart content sent with
+    multipart/x-mixed-replace
+  * CVE-2018-5166 (bmo#1437325)
+    WebExtension host permission bypass through filterReponseData
+  * CVE-2018-5167 (bmo#1447969)
+    Improper linkification of chrome: and javascript: content in
+    web console and JavaScript debugger
+  * CVE-2018-5168 (bmo#1449548)
+    Lightweight themes can be installed without user interaction
+  * CVE-2018-5169 (bmo#1319157)
+    Dragging and dropping link text onto home button can set home page
+    to include chrome pages
+  * CVE-2018-5172 (bmo#1436482)
+    Pasted script from clipboard can run in the Live Bookmarks page
+    or PDF viewer
+  * CVE-2018-5173 (bmo#1438025)
+    File name spoofing of Downloads panel with Unicode characters
+  * CVE-2018-5174 (bmo#1447080) (Windows-only)
+    Windows Defender SmartScreen UI runs with less secure behavior
+    for downloaded files in Windows 10 April 2018 Update
+  * CVE-2018-5175 (bmo#1432358)
+    Universal CSP bypass on sites using strict-dynamic in their policies
+  * CVE-2018-5176 (bmo#1442840)
+    JSON Viewer script injection
+  * CVE-2018-5177 (bmo#1451908)
+    Buffer overflow in XSLT during number formatting
+  * CVE-2018-5165 (bmo#1451452)
+    Checkbox for enabling Flash protected mode is inverted in 32-bit
+    Firefox
+  * CVE-2018-5180 (bmo#1444086)
+    heap-use-after-free in mozilla::WebGLContext::DrawElementsInstanced
+  * CVE-2018-5181 (bmo#1424107)
+    Local file can be displayed in noopener tab through drag and
+    drop of hyperlink
+  * CVE-2018-5182 (bmo#1435908)
+    Local file can be displayed from hyperlink dragged and dropped
+    on addressbar
+  * CVE-2018-5151
+    Memory safety bugs fixed in Firefox 60
+  * CVE-2018-5150
+    Memory safety bugs fixed in Firefox 60 and Firefox ESR 52.8
+- removed obsolete patches
+  0001-Bug-1435695-WebRTC-fails-to-build-with-GCC-8-r-dmino.patch
+  mozilla-bmo1005535.patch
+- requires NSPR 4.19 and NSS 3.36.1
+- requires rust 1.24 or higher
+- use upstream source archive and detached signature for
+  source verification
+
+-------------------------------------------------------------------
+Thu May  3 14:33:37 UTC 2018 - guillaume.gar...@opensuse.org
+
+- Fix armv7 build by:
+  * adding RUSTFLAGS="-Cdebuginfo=0"
+  * updating _constraints for %arm
+
+-------------------------------------------------------------------

Old:
----
  0001-Bug-1435695-WebRTC-fails-to-build-with-GCC-8-r-dmino.patch
  firefox-59.0.3-source.tar.xz
  l10n-59.0.3.tar.xz
  mozilla-bmo1005535.patch

New:
----
  firefox-60.0.source.tar.xz
  firefox-60.0.source.tar.xz.asc
  l10n-60.0.tar.xz
  mozilla.keyring

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:16.518566975 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:16.542566100 +0200
@@ -18,11 +18,12 @@
 
 
 # changed with every update
-%define major 59
-%define mainver %major.0.3
+%define major 60
+%define mainver %major.0
 %define update_channel release
 %define branding 1
-%define releasedate 20180340000000
+%define releasedate 20180503143129
+%define source_prefix firefox-%{mainver}
 
 # PIE, full relro (x86_64 for now)
 %define build_hardened 1
@@ -70,11 +71,11 @@
 BuildRequires:  libnotify-devel
 BuildRequires:  libproxy-devel
 BuildRequires:  makeinfo
-BuildRequires:  mozilla-nspr-devel >= 4.18
-BuildRequires:  mozilla-nss-devel >= 3.35
+BuildRequires:  mozilla-nspr-devel >= 4.19
+BuildRequires:  mozilla-nss-devel >= 3.36.1
 BuildRequires:  python-devel
 BuildRequires:  python2-xml
-BuildRequires:  rust >= 1.22.1
+BuildRequires:  rust >= 1.24
 BuildRequires:  rust-std
 BuildRequires:  startup-notification-devel
 BuildRequires:  unzip
@@ -120,7 +121,7 @@
 License:        MPL-2.0
 Group:          Productivity/Networking/Web/Browsers
 Url:            http://www.mozilla.org/
-Source:         firefox-%{version}-source.tar.xz
+Source:         
http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz
 Source1:        MozillaFirefox.desktop
 Source2:        MozillaFirefox-rpmlintrc
 Source3:        mozilla.sh.in
@@ -141,6 +142,8 @@
 # please get your own set of keys.
 Source18:       mozilla-api-key
 Source19:       google-api-key
+Source20:       
http://ftp.mozilla.org/pub/firefox/releases/%{version}/source/firefox-%{version}.source.tar.xz.asc
+Source21:       mozilla.keyring
 # Gecko/Toolkit
 Patch1:         mozilla-nongnome-proxies.patch
 Patch2:         mozilla-kde.patch
@@ -150,11 +153,9 @@
 Patch6:         mozilla-reduce-files-per-UnifiedBindings.patch
 Patch7:         mozilla-aarch64-startup-crash.patch
 Patch8:         mozilla-bmo256180.patch
-Patch9:         mozilla-bmo1005535.patch
-Patch10:        mozilla-i586-DecoderDoctorLogger.patch
-Patch11:        mozilla-i586-domPrefs.patch
-Patch12:        mozilla-enable-csd.patch
-Patch13:        0001-Bug-1435695-WebRTC-fails-to-build-with-GCC-8-r-dmino.patch
+Patch9:         mozilla-i586-DecoderDoctorLogger.patch
+Patch10:        mozilla-i586-domPrefs.patch
+Patch11:        mozilla-enable-csd.patch
 # Firefox/browser
 Patch101:       firefox-kde.patch
 Patch102:       firefox-branded-icons.patch
@@ -208,7 +209,7 @@
 %package translations-other
 Summary:        Extra translations for %{appname}
 Group:          System/Localization
-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;ne-NP;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;ne-NP;nn_NO;oc;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}
 
@@ -250,11 +251,11 @@
 
 %prep
 %if %localize
-%setup -q -n mozilla -b 7 -b 10
+%setup -q -n %{source_prefix} -b 7 -b 10
 %else
-%setup -q -n mozilla
+%setup -q -n %{source_prefix}
 %endif
-cd $RPM_BUILD_DIR/mozilla
+cd $RPM_BUILD_DIR/%{source_prefix}
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -265,13 +266,11 @@
 %endif
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
 %ifarch %ix86
+%patch9 -p1
 %patch10 -p1
-%patch11 -p1
 %endif
-%patch12 -p1
-%patch13 -p1
+%patch11 -p1
 # Firefox
 %patch101 -p1
 %patch102 -p1
@@ -321,6 +320,9 @@
 export CFLAGS="$CFLAGS -mminimal-toc"
 %endif
 export CXXFLAGS="$CFLAGS"
+%ifarch %{arm}
+export RUSTFLAGS="-Cdebuginfo=0"
+%endif
 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
 cat << EOF > $MOZCONFIG
 mk_add_options MOZILLA_OFFICIAL=1
@@ -375,8 +377,12 @@
 %ifarch %arm
 ac_add_options --with-fpu=vfpv3-d16
 ac_add_options --with-float-abi=hard
+%ifarch armv6l armv6hl
+ac_add_options --with-arch=armv6
+%else
 ac_add_options --with-arch=armv7-a
 %endif
+%endif
 %ifarch %arm s390x
 ac_add_options --disable-webrtc
 %endif
@@ -409,7 +415,7 @@
 %if %localize
 rm -f %{_tmppath}/translations.*
 touch %{_tmppath}/translations.{common,other}
-for locale in $(cat $RPM_BUILD_DIR/mozilla/browser/locales/shipped-locales) ; 
do
+for locale in $(cat 
$RPM_BUILD_DIR/%{source_prefix}/browser/locales/shipped-locales) ; do
   case $locale in
    ja-JP-mac|en-US|'')
        ;;
@@ -417,7 +423,7 @@
        pushd $RPM_BUILD_DIR/compare-locales
        PYTHONPATH=lib \
          scripts/compare-locales -m ../l10n-merged/$locale \
-         ../mozilla/browser/locales/l10n.ini ../l10n $locale
+         ../%{source_prefix}/browser/locales/l10n.ini ../l10n $locale
        popd
        LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
        make -C browser/locales langpack-$locale
@@ -448,7 +454,7 @@
      -name "*.xml" -o \
      -name "*.css" | xargs chmod a-x
 # remove mkdir.done files from installed base
-find %{buildroot}%{progdir} -name ".mkdir.done" | xargs rm
+find %{buildroot}%{progdir} -name ".mkdir.done" | xargs rm || :
 # overwrite the mozilla start-script and link it to /usr/bin
 mkdir --parents %{buildroot}/usr/bin
 sed "s:%%PREFIX:%{_prefix}:g
@@ -589,7 +595,7 @@
 %{progdir}/application.ini
 %{progdir}/chrome.manifest
 %{progdir}/dependentlibs.list
-%{progdir}/icudt*.dat
+#%{progdir}/icudt*.dat
 %{progdir}/*.so
 %{progdir}/omni.ja
 %{progdir}/fonts/

++++++ compare-locales.tar.xz ++++++

++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:16.778557500 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:16.782557354 +0200
@@ -7,8 +7,8 @@
 
 CHANNEL="release"
 BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="FIREFOX_59_0_3_RELEASE"
-VERSION="59.0.3"
+RELEASE_TAG="ea4f3168c604994f051644b467aad92723448d12"
+VERSION="60.0"
 
 # check required tools
 test -x /usr/bin/hg || ( echo "hg missing: execute zypper in mercurial"; exit 
5 )
@@ -54,7 +54,7 @@
 fi
 
 echo "creating archive..."
-tar $compression -cf firefox-$VERSION-source.tar.xz --exclude=.hgtags 
--exclude=.hgignore --exclude=.hg --exclude=CVS mozilla
+tar $compression -cf firefox-$VERSION.source.tar.xz --exclude=.hgtags 
--exclude=.hgignore --exclude=.hg --exclude=CVS mozilla
 
 # l10n
 echo "fetching locales..."

++++++ firefox-59.0.3-source.tar.xz -> firefox-60.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-59.0.3-source.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaFirefox.new/firefox-60.0.source.tar.xz 
differ: char 8, line 1

++++++ firefox-kde.patch ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:16.842555167 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:16.842555167 +0200
@@ -1,11 +1,11 @@
 # HG changeset patch
-# Parent  ffcd96e120857e207bd357b2005f0b5bc776e375
+# Parent  1b44c077e473c5a7d02fab26e2a220ebf219e0ab
 
 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,1238 @@
+@@ -0,0 +1,1280 @@
 +#filter substitution
 +<?xml version="1.0"?>
 +# -*- Mode: HTML -*-
@@ -15,14 +15,15 @@
 +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
 +
 +<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css"?>
 +<?xml-stylesheet href="chrome://browser/content/places/places.css" 
type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" 
type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/controlcenter/panel.css" 
type="text/css"?>
 +<?xml-stylesheet href="chrome://browser/skin/customizableui/panelUI.css" 
type="text/css"?>
++<?xml-stylesheet href="chrome://browser/skin/downloads/downloads.css"?>
 +<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
++<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" 
type="text/css"?>
 +
-+<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>
-+<?xul-overlay href="chrome://browser/content/baseMenuOverlay.xul"?>
 +<?xul-overlay href="chrome://browser/content/places/placesOverlay.xul"?>
 +
 +# All DTD information is stored in a separate file so that it can be shared by
@@ -59,7 +60,6 @@
 +        tabsintitlebar="true"
 +#endif
 +        titlemenuseparator="&mainWindow.titlemodifiermenuseparator;"
-+        lightweightthemes="true"
 +        windowtype="navigator:browser"
 +        macanimationtype="document"
 +        screenX="4" screenY="4"
@@ -75,6 +75,7 @@
 +
 +<script type="application/javascript">
 +  
Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js",
 this);
++  
Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", 
this);
 +</script>
 +
 +# All sets except for popupsets (commands, keys, stringbundles and 
broadcasters) *must* go into the
@@ -104,8 +105,9 @@
 +                accesskey="&moveToNewWindow.accesskey;"
 +                tbattr="tabbrowser-multiple"
 +                
oncommand="gBrowser.replaceTabWithWindow(TabContextMenu.contextTab);"/>
-+      <menuseparator id="context_sendTabToDevice_separator"/>
++      <menuseparator id="context_sendTabToDevice_separator" 
class="sync-ui-item"/>
 +      <menu id="context_sendTabToDevice" label="&sendTabToDevice.label;"
++            class="sync-ui-item"
 +            accesskey="&sendTabToDevice.accesskey;">
 +        <menupopup id="context_sendTabToDevicePopupMenu"
 +                   
onpopupshowing="gSync.populateSendTabToDevicesMenu(event.target, 
TabContextMenu.contextTab.linkedBrowser.currentURI.spec, 
TabContextMenu.contextTab.linkedBrowser.contentTitle);"/>
@@ -144,6 +146,7 @@
 +
 +    <panel type="autocomplete-richlistbox"
 +           id="PopupAutoComplete"
++           role="group"
 +           noautofocus="true"
 +           hidden="true"
 +           overflowpadding="4"
@@ -151,11 +154,16 @@
 +           nomaxresults="true" />
 +
 +    <!-- for search with one-off buttons -->
-+    <panel type="autocomplete" id="PopupSearchAutoComplete" 
noautofocus="true" hidden="true"/>
++    <panel type="autocomplete-richlistbox"
++           id="PopupSearchAutoComplete"
++           role="group"
++           noautofocus="true"
++           hidden="true" />
 +
 +    <!-- for url bar autocomplete -->
 +    <panel type="autocomplete-richlistbox"
 +           id="PopupAutoCompleteRichResult"
++           role="group"
 +           noautofocus="true"
 +           hidden="true"
 +           flip="none"
@@ -298,7 +306,7 @@
 +      </toolbarbutton>
 +      <toolbarbutton id="sidebar-switcher-tabs"
 +                     label="&syncedTabs.sidebar.label;"
-+                     class="subviewbutton subviewbutton-iconic"
++                     class="subviewbutton subviewbutton-iconic sync-ui-item"
 +                     observes="viewTabsSidebar"
 +                     oncommand="SidebarUI.show('viewTabsSidebar');">
 +        <observes element="viewTabsSidebar" attribute="checked"/>
@@ -499,6 +507,7 @@
 +
 +#include ../../components/customizableui/content/panelUI.inc.xul
 +#include ../../components/controlcenter/content/panel.inc.xul
++#include ../../components/downloads/content/downloadsPanel.inc.xul
 +
 +    <hbox id="downloads-animation-container" mousethrough="always">
 +      <vbox id="downloads-notification-anchor" hidden="true">
@@ -585,7 +594,7 @@
 +  <hbox id="titlebar-content">
 +    <spacer id="titlebar-spacer" flex="1"/>
 +    <hbox id="titlebar-buttonbox-container">
-+      <hbox id="titlebar-buttonbox">
++      <hbox id="titlebar-buttonbox" class="titlebar-color">
 +        <toolbarbutton class="titlebar-button" id="titlebar-min" 
oncommand="window.minimize();"/>
 +        <toolbarbutton class="titlebar-button" id="titlebar-max" 
oncommand="onTitlebarMaxClick();"/>
 +        <toolbarbutton class="titlebar-button" id="titlebar-close" 
command="cmd_closeWindow"/>
@@ -606,7 +615,9 @@
 +
 +  <toolbox id="navigator-toolbox">
 +    <!-- Menu -->
-+    <toolbar type="menubar" id="toolbar-menubar" class="chromeclass-menubar" 
customizable="true"
++    <toolbar type="menubar" id="toolbar-menubar"
++             class="chromeclass-menubar titlebar-color"
++             customizable="true"
 +             mode="icons"
 +#ifdef MENUBAR_CAN_AUTOHIDE
 +             toolbarname="&menubarCmd.label;"
@@ -623,13 +634,13 @@
 +#ifdef CAN_DRAW_IN_TITLEBAR
 +#ifndef XP_MACOSX
 +      <hbox class="titlebar-placeholder" type="caption-buttons" ordinal="1000"
-+            persist="width"
 +            skipintoolbarset="true"/>
 +#endif
 +#endif
 +    </toolbar>
 +
 +    <toolbar id="TabsToolbar"
++             class="titlebar-color"
 +             fullscreentoolbar="true"
 +             customizable="true"
 +             mode="icons"
@@ -643,7 +654,6 @@
 +#endif
 +
 +      <tabs id="tabbrowser-tabs"
-+            tabbrowser="content"
 +            flex="1"
 +            setfocus="false"
 +            tooltip="tabbrowser-tab-tooltip"
@@ -698,7 +708,6 @@
 +            ordinal="1000"/>
 +#ifdef CAN_DRAW_IN_TITLEBAR
 +      <hbox class="titlebar-placeholder" type="caption-buttons"
-+            persist="width"
 +#ifndef XP_MACOSX
 +            ordinal="1000"
 +#endif
@@ -706,7 +715,6 @@
 +
 +#ifdef XP_MACOSX
 +      <hbox class="titlebar-placeholder" type="fullscreen-button"
-+            persist="width"
 +            skipintoolbarset="true"/>
 +#endif
 +#endif
@@ -777,6 +785,8 @@
 +                     class="chromeclass-location" overflows="false">
 +            <textbox id="urlbar" flex="1"
 +                     placeholder="&urlbar.placeholder2;"
++                     defaultPlaceholder="&urlbar.placeholder2;"
++                     focused="true"
 +                     type="autocomplete"
 +                     autocompletesearch="unifiedcomplete"
 +                     autocompletesearchparam="enable-actions"
@@ -784,8 +794,6 @@
 +                     completeselectedindex="true"
 +                     shrinkdelay="250"
 +                     tabscrolling="true"
-+                     showcommentcolumn="true"
-+                     showimagecolumn="true"
 +                     newlines="stripsurroundingwhitespace"
 +                     ontextentered="this.handleCommand(param);"
 +                     ontextreverted="return this.handleRevert();"
@@ -820,6 +828,10 @@
 +                         tooltiptext="&urlbar.popupBlocked.tooltip;"/>
 +                  <image data-permission-id="canvas" 
class="blocked-permission-icon canvas-icon" role="button"
 +                         tooltiptext="&urlbar.canvasBlocked.tooltip;"/>
++                  <image data-permission-id="plugin:flash" 
class="blocked-permission-icon plugin-icon" role="button"
++                         tooltiptext="&urlbar.flashPluginBlocked.tooltip;"/>
++                  <image data-permission-id="midi" 
class="blocked-permission-icon midi-icon" role="button"
++                         tooltiptext="&urlbar.midiBlocked.tooltip;"/>
 +                </box>
 +                <box id="notification-popup-box"
 +                     hidden="true"
@@ -861,6 +873,10 @@
 +                         
tooltiptext="&urlbar.emeNotificationAnchor.tooltip;"/>
 +                  <image id="persistent-storage-notification-icon" 
class="notification-anchor-icon persistent-storage-icon" role="button"
 +                         
tooltiptext="&urlbar.persistentStorageNotificationAnchor.tooltip;"/>
++                  <image id="midi-notification-icon" 
class="notification-anchor-icon midi-icon" role="button"
++                         
tooltiptext="&urlbar.midiNotificationAnchor.tooltip;"/>
++                  <image id="webauthn-notification-icon" 
class="notification-anchor-icon" role="button"
++                         
tooltiptext="&urlbar.defaultNotificationAnchor.tooltip;"/>
 +                </box>
 +                <image id="connection-icon"/>
 +                <image id="extension-icon"/>
@@ -882,6 +898,7 @@
 +                </hbox>
 +                <image id="reader-mode-button"
 +                       class="urlbar-icon urlbar-page-action"
++                       tooltip="dynamic-shortcut-tooltip"
 +                       role="button"
 +                       hidden="true"
 +                       onclick="ReaderParent.buttonClick(event);"/>
@@ -930,7 +947,20 @@
 +                       overflows="false"
 +                       cui-areatype="toolbar"
 +                       hidden="true"
-+                       tooltip="dynamic-shortcut-tooltip"/>
++                       tooltip="dynamic-shortcut-tooltip"
++                       indicator="true">
++            <!-- The panel's anchor area is smaller than the outer button, 
but must
++                 always be visible and must not move or resize when the 
indicator
++                 state changes, otherwise the panel could change its position 
or lose
++                 its arrow unexpectedly. -->
++            <stack id="downloads-indicator-anchor"
++                   consumeanchor="downloads-button">
++              <box id="downloads-indicator-icon"/>
++              <stack id="downloads-indicator-progress-outer">
++                <box id="downloads-indicator-progress-inner"/>
++              </stack>
++            </stack>
++          </toolbarbutton>
 +
 +        <toolbarbutton id="library-button" class="toolbarbutton-1 
chromeclass-toolbar-additional subviewbutton-nav"
 +                       removable="true"
@@ -1088,12 +1118,10 @@
 +                                   BookmarkingUI.attachPlacesView(event, 
this);"
 +                   tooltip="bhTooltip" popupsinherittooltip="true">
 +          <menuitem id="BMB_viewBookmarksSidebar"
-+                    class="subviewbutton"
-+                    label="&viewBookmarksSidebar2.label;"
-+                    type="checkbox"
-+                    oncommand="SidebarUI.toggle('viewBookmarksSidebar');">
-+            <observes element="viewBookmarksSidebar" attribute="checked"/>
-+          </menuitem>
++                    class="menuitem-iconic subviewbutton"
++                    label-show="&viewBookmarksSidebar2.label;"
++                    label-hide="&hideBookmarksSidebar.label;"
++                    oncommand="SidebarUI.toggle('viewBookmarksSidebar');"/>
 +          <!-- NB: temporary solution for bug 985024, this should go away 
soon. -->
 +          <menuitem id="BMB_bookmarksShowAllTop"
 +                    class="menuitem-iconic subviewbutton"
@@ -1112,11 +1140,10 @@
 +                                         new PlacesMenu(event, 
'place:folder=TOOLBAR',
 +                                                        
PlacesUIUtils.getViewForNode(this.parentNode.parentNode).options);">
 +              <menuitem id="BMB_viewBookmarksToolbar"
-+                        placesanonid="view-toolbar"
-+                        toolbarId="PersonalToolbar"
-+                        type="checkbox"
-+                        oncommand="onViewToolbarCommand(event)"
-+                        label="&viewBookmarksToolbar.label;"/>
++                        class="menuitem-iconic subviewbutton"
++                        label-show="&viewBookmarksToolbar.label;"
++                        label-hide="&hideBookmarksToolbar.label;"
++                        oncommand="BookmarkingUI.toggleBookmarksToolbar();"/>
 +              <menuseparator/>
 +              <!-- Bookmarks toolbar items -->
 +            </menupopup>
@@ -1196,13 +1223,28 @@
 +      <splitter id="sidebar-splitter" class="chromeclass-extrachrome 
sidebar-splitter" hidden="true"/>
 +      <vbox id="appcontent" flex="1">
 +        <notificationbox id="high-priority-global-notificationbox" 
notificationside="top"/>
-+        <tabbrowser id="content"
-+                    flex="1" contenttooltip="aHTMLTooltip"
-+                    tabcontainer="tabbrowser-tabs"
-+                    contentcontextmenu="contentAreaContextMenu"
-+                    autocompletepopup="PopupAutoComplete"
-+                    selectmenulist="ContentSelectDropdown"
-+                    datetimepicker="DateTimePickerPanel"/>
++        <tabbox id="tabbrowser-tabbox"
++                    flex="1" eventnode="document" 
tabcontainer="tabbrowser-tabs"
++                    onselect="if (event.target.localName == 'tabpanels') 
gBrowser.updateCurrentBrowser();">
++          <tabpanels flex="1" class="plain" selectedIndex="0" 
id="tabbrowser-tabpanels">
++            <notificationbox flex="1" notificationside="top">
++              <hbox flex="1" class="browserSidebarContainer">
++                <vbox flex="1" class="browserContainer">
++                  <stack flex="1" class="browserStack">
++                    <browser id="tabbrowser-initialBrowser" type="content"
++                             message="true" messagemanagergroup="browsers"
++                             primary="true" blank="true"
++                             tooltip="aHTMLTooltip"
++                             contextmenu="contentAreaContextMenu"
++                             autocompletepopup="PopupAutoComplete"
++                             selectmenulist="ContentSelectDropdown"
++                             datetimepicker="DateTimePickerPanel"/>
++                  </stack>
++                </vbox>
++              </hbox>
++            </notificationbox>
++          </tabpanels>
++        </tabbox>
 +      </vbox>
 +      <vbox id="browser-border-end" hidden="true" layer="true"/>
 +    </hbox>
@@ -1247,7 +1289,7 @@
 diff --git a/browser/base/jar.mn b/browser/base/jar.mn
 --- a/browser/base/jar.mn
 +++ b/browser/base/jar.mn
-@@ -45,16 +45,18 @@ browser.jar:
+@@ -42,16 +42,18 @@ browser.jar:
          content/browser/aboutRobots-icon.png          
(content/aboutRobots-icon.png)
          content/browser/aboutRobots-widget-left.png   
(content/aboutRobots-widget-left.png)
          content/browser/aboutTabCrashed.css           
(content/aboutTabCrashed.css)
@@ -1329,7 +1371,7 @@
 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
-@@ -330,16 +330,23 @@ var gMainPane = {
+@@ -333,16 +333,23 @@ var gMainPane = {
            this._backoffIndex++ : backoffTimes.length - 1]);
        };
  
@@ -1353,7 +1395,7 @@
      performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
  
      this.updateDefaultPerformanceSettingsPref();
-@@ -1035,16 +1042,27 @@ var gMainPane = {
+@@ -1060,16 +1067,27 @@ var gMainPane = {
        // Reset exponential backoff delay time in order to do visual update in 
pollForDefaultBrowser.
        this._backoffIndex = 0;
  
@@ -1697,7 +1739,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
-@@ -649,16 +649,18 @@
+@@ -646,16 +646,18 @@
  @RESPATH@/browser/defaults/blocklists
  @RESPATH@/browser/defaults/pinning
  

++++++ l10n-59.0.3.tar.xz -> l10n-60.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-59.0.3.tar.xz 
/work/SRC/openSUSE:Factory/.MozillaFirefox.new/l10n-60.0.tar.xz differ: char 8, 
line 1

++++++ mozilla-enable-csd.patch ++++++
++++ 701 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/MozillaFirefox/mozilla-enable-csd.patch
++++ and /work/SRC/openSUSE:Factory/.MozillaFirefox.new/mozilla-enable-csd.patch

++++++ mozilla-i586-domPrefs.patch ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:17.094545983 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:17.098545837 +0200
@@ -1,6 +1,6 @@
 # HG changeset patch
 # User Andrea Marchesini <amarches...@mozilla.com>
-# Parent  bb4eb640e7303ea68be982d824aa100caacce240
+# Parent  fab938f4757d8487a87fbf911200ff0317612746
 Mozilla Bug#1447409 - DOMPrefs.h must be included in WorkerScope, r=qdot
                       To fix 32bit build error for i586 target.
 
@@ -14,7 +14,7 @@
  #ifndef mozilla_dom_workerscope_h__
  #define mozilla_dom_workerscope_h__
  
- #include "Workers.h"
+ #include "mozilla/dom/WorkerCommon.h"
  #include "mozilla/DOMEventTargetHelper.h"
 +#include "mozilla/dom/DOMPrefs.h"
  #include "mozilla/dom/Headers.h"
@@ -22,6 +22,6 @@
  #include "nsWeakReference.h"
  #include "mozilla/dom/ImageBitmapSource.h"
  
- namespace mozilla {
- namespace dom {
- 
+ #ifdef XP_WIN
+ #undef PostMessage
+ #endif

++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:17.110545400 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:17.110545400 +0200
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  97234138e3aafe66fc7f17c8f530e7c534af2fc2
+# Parent  9cc0c990890e64f69ed068cf1a4534535bcc50a7
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfg...@rosenauer.org>
 Author: Lubos Lunak <lu...@suse.com>
@@ -27,7 +27,7 @@
  using namespace mozilla;
  
  #ifdef DEBUG
-@@ -4235,25 +4236,37 @@ Preferences::InitInitialObjects()
+@@ -3868,25 +3869,37 @@ Preferences::InitInitialObjects()
    // application pref files for backwards compatibility.
    static const char* specialFiles[] = {
  #if defined(XP_MACOSX)
@@ -65,7 +65,7 @@
  
    // Load jar:$app/omni.jar!/defaults/preferences/*.js
    // or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4302,17 +4315,17 @@ Preferences::InitInitialObjects()
+@@ -3935,17 +3948,17 @@ Preferences::InitInitialObjects()
        }
  
        nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -153,12 +153,12 @@
 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
-@@ -17,9 +17,13 @@ XPIDL_SOURCES += [
- XPIDL_MODULE = 'downloads'
+@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [
  
- UNIFIED_SOURCES += [
-     'nsDownloadManager.cpp'
- ]
+ if CONFIG['MOZ_PLACES']:
+     EXTRA_JS_MODULES += [
+         'DownloadHistory.jsm',
+     ]
  
  FINAL_LIBRARY = 'xul'
  
@@ -166,11 +166,12 @@
 +    '/toolkit/xre'
 +]
 +
- CXXFLAGS += CONFIG['TK_CFLAGS']
+ with Files('**'):
+     BUG_COMPONENT = ('Toolkit', 'Download Manager')
 diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
 --- a/toolkit/content/jar.mn
 +++ b/toolkit/content/jar.mn
-@@ -67,16 +67,18 @@ toolkit.jar:
+@@ -69,16 +69,18 @@ toolkit.jar:
     content/global/bindings/checkbox.xml        (widgets/checkbox.xml)
     content/global/bindings/colorpicker.xml     (widgets/colorpicker.xml)
     content/global/bindings/datekeeper.js       (widgets/datekeeper.js)
@@ -193,7 +194,7 @@
 new file mode 100644
 --- /dev/null
 +++ b/toolkit/content/widgets/dialog-kde.xml
-@@ -0,0 +1,477 @@
+@@ -0,0 +1,478 @@
 +<?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
@@ -209,7 +210,7 @@
 +          
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
 +          xmlns:xbl="http://www.mozilla.org/xbl";>
 +
-+  <binding id="dialog" 
extends="chrome://global/content/bindings/general.xml#root-element">
++  <binding id="dialog">
 +    <resources>
 +      <stylesheet src="chrome://global/skin/dialog.css"/>
 +    </resources>
@@ -448,9 +449,9 @@
 +          if (!this._mStrBundle) {
 +            // need to create string bundle manually instead of using 
<xul:stringbundle/>
 +            // see bug 63370 for details
-+            this._mStrBundle = 
Components.classes["@mozilla.org/intl/stringbundle;1"]
-+                                         
.getService(Components.interfaces.nsIStringBundleService)
-+                                         
.createBundle("chrome://global/locale/dialog.properties");
++            this._mStrBundle = Cc["@mozilla.org/intl/stringbundle;1"]
++                                 .getService(Ci.nsIStringBundleService)
++                                 
.createBundle("chrome://global/locale/dialog.properties");
 +          }
 +          return this._mStrBundle;
 +        ]]></getter>
@@ -625,6 +626,7 @@
 +          if (handler != "") {
 +            var fn = new Function("event", handler);
 +            var returned = fn(event);
++            // eslint-disable-next-line 
mozilla/no-compare-against-boolean-literals
 +            if (returned == false)
 +              noCancel = false;
 +          }
@@ -663,7 +665,7 @@
 +      <handler event="focus" phase="capturing">
 +        var btn = this.getButton(this.defaultButton);
 +        if (btn)
-+          btn.setAttribute("default", event.originalTarget == btn || 
!(event.originalTarget instanceof 
Components.interfaces.nsIDOMXULButtonElement));
++          btn.setAttribute("default", event.originalTarget == btn || 
!(event.originalTarget instanceof Ci.nsIDOMXULButtonElement));
 +      </handler>
 +#endif
 +    </handlers>
@@ -674,7 +676,7 @@
 diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js 
b/toolkit/mozapps/downloads/nsHelperAppDlg.js
 --- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
 +++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -626,17 +626,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -627,17 +627,17 @@ nsUnknownContentTypeDialog.prototype = {
        else
          typeString = mimeInfo.MIMEType;
      }
@@ -693,7 +695,7 @@
    },
  
    // Returns true if opening the default application makes sense.
-@@ -800,17 +800,17 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -801,17 +801,17 @@ nsUnknownContentTypeDialog.prototype = {
        switch (this.dialogElement("openHandler").selectedIndex) {
        case 0:
          // No app need be specified in this case.
@@ -712,7 +714,7 @@
      this.mDialog.document.documentElement.getButton("accept").disabled = !ok;
    },
  
-@@ -1065,30 +1065,57 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1066,30 +1066,57 @@ nsUnknownContentTypeDialog.prototype = {
  
        if (params.handlerApp &&
            params.handlerApp.executable &&
@@ -720,15 +722,15 @@
          // Remember the file they chose to run.
          this.chosenApp = params.handlerApp;
        }
-     } else if ("@mozilla.org/applicationchooser;1" in Components.classes) {
--      var nsIApplicationChooser = Components.interfaces.nsIApplicationChooser;
--      var appChooser = Components.classes["@mozilla.org/applicationchooser;1"]
--                                 .createInstance(nsIApplicationChooser);
+     } else if ("@mozilla.org/applicationchooser;1" in Cc) {
+-      var nsIApplicationChooser = Ci.nsIApplicationChooser;
+-      var appChooser = Cc["@mozilla.org/applicationchooser;1"]
+-                         .createInstance(nsIApplicationChooser);
 -      appChooser.init(this.mDialog, 
this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
 -      var contentTypeDialogObj = this;
 -      let appChooserCallback = function appChooserCallback_done(aResult) {
 -        if (aResult) {
--           contentTypeDialogObj.chosenApp = 
aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
+-           contentTypeDialogObj.chosenApp = 
aResult.QueryInterface(Ci.nsILocalHandlerApp);
 +      // handle the KDE case which is implemented in the filepicker
 +      // therefore falling back to Gtk2 like behaviour if KDE is running
 +      // FIXME this should be better handled in the nsIApplicationChooser
@@ -750,7 +752,7 @@
 +          // Remember the file they chose to run.
 +          var localHandlerApp =
 +            Components.classes["@mozilla.org/uriloader/local-handler-app;1"].
-+                       
createInstance(Components.interfaces.nsILocalHandlerApp);
++                      
createInstance(Components.interfaces.nsILocalHandlerApp);
 +          localHandlerApp.executable = fp.file;
 +          this.chosenApp = localHandlerApp;
          }
@@ -760,14 +762,14 @@
 -      // The finishChooseApp is called from appChooserCallback
 -      return;
 +      } else {
-+        var nsIApplicationChooser = 
Components.interfaces.nsIApplicationChooser;
-+        var appChooser = 
Components.classes["@mozilla.org/applicationchooser;1"]
-+                                   .createInstance(nsIApplicationChooser);
++        var nsIApplicationChooser = Ci.nsIApplicationChooser;
++        var appChooser = Cc["@mozilla.org/applicationchooser;1"]
++                           .createInstance(nsIApplicationChooser);
 +        appChooser.init(this.mDialog, 
this.dialogElement("strings").getString("chooseAppFilePickerTitle"));
 +        var contentTypeDialogObj = this;
 +        let appChooserCallback = function appChooserCallback_done(aResult) {
 +          if (aResult) {
-+             contentTypeDialogObj.chosenApp = 
aResult.QueryInterface(Components.interfaces.nsILocalHandlerApp);
++             contentTypeDialogObj.chosenApp = 
aResult.QueryInterface(Ci.nsILocalHandlerApp);
 +          }
 +          contentTypeDialogObj.finishChooseApp();
 +        };
@@ -776,9 +778,9 @@
 +        return;
 +      }
      } else {
-       var nsIFilePicker = Components.interfaces.nsIFilePicker;
-       var fp = Components.classes["@mozilla.org/filepicker;1"]
-                          .createInstance(nsIFilePicker);
+       var nsIFilePicker = Ci.nsIFilePicker;
+       var fp = Cc["@mozilla.org/filepicker;1"]
+                  .createInstance(nsIFilePicker);
        fp.init(this.mDialog,
                
this.dialogElement("strings").getString("chooseAppFilePickerTitle"),
                nsIFilePicker.modeOpen);
@@ -880,7 +882,7 @@
 diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
 --- a/toolkit/xre/moz.build
 +++ b/toolkit/xre/moz.build
-@@ -61,17 +61,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -65,17 +65,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
          '../components/printingui',
      ]
  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -1879,7 +1881,7 @@
  
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
-@@ -603,8 +630,233 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -608,8 +635,233 @@ nsFilePicker::Done(GtkWidget* file_choos
    if (mCallback) {
      mCallback->Done(result);
      mCallback = nullptr;
@@ -2158,7 +2160,7 @@
    const char* directive;
    int argc;
  
-@@ -466,16 +467,17 @@ ParseManifest(NSLocationType aType, File
+@@ -444,16 +445,17 @@ ParseManifest(NSLocationType aType, File
    NS_NAMED_LITERAL_STRING(kRemoteEnabled, "remoteenabled");
    NS_NAMED_LITERAL_STRING(kRemoteRequired, "remoterequired");
    NS_NAMED_LITERAL_STRING(kApplication, "application");
@@ -2176,7 +2178,7 @@
    NS_NAMED_LITERAL_STRING(kMain, "main");
    NS_NAMED_LITERAL_STRING(kContent, "content");
  
-@@ -526,44 +528,49 @@ ParseManifest(NSLocationType aType, File
+@@ -499,44 +501,49 @@ ParseManifest(NSLocationType aType, File
          CopyUTF8toUTF16(s, abi);
          abi.Insert(char16_t('_'), 0);
          abi.Insert(osTarget, 0);
@@ -2226,7 +2228,7 @@
      process = kMain;
    }
  
-@@ -666,25 +673,27 @@ ParseManifest(NSLocationType aType, File
+@@ -638,25 +645,27 @@ ParseManifest(NSLocationType aType, File
      TriState stOsVersion = eUnspecified;
      TriState stOs = eUnspecified;
      TriState stABI = eUnspecified;
@@ -2254,7 +2256,7 @@
        }
  
  #if defined(MOZ_WIDGET_ANDROID)
-@@ -729,16 +738,17 @@ ParseManifest(NSLocationType aType, File
+@@ -701,16 +710,17 @@ ParseManifest(NSLocationType aType, File
      }
  
      if (!ok ||
@@ -2292,7 +2294,7 @@
 diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
 --- a/xpcom/io/nsLocalFileUnix.cpp
 +++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -45,16 +45,17 @@
+@@ -46,16 +46,17 @@
  #include "prproces.h"
  #include "nsIDirectoryEnumerator.h"
  #include "nsISimpleEnumerator.h"
@@ -2310,7 +2312,7 @@
  #include "prmem.h"
  #include "plbase64.h"
  
-@@ -1934,59 +1935,74 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -1955,59 +1956,74 @@ nsLocalFile::SetPersistentDescriptor(con
    return InitWithNativePath(aPersistentDescriptor);
  #endif
  }

++++++ mozilla-reduce-files-per-UnifiedBindings.patch ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:17.150543942 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:17.150543942 +0200
@@ -13,25 +13,25 @@
 [ 1636s] c++: internal compiler error: Killed (program cc1plus)
 [ 1636s] Please submit a full bug report,
 
-diff --git a/python/mozbuild/mozbuild/backend/common.py 
b/python/mozbuild/mozbuild/backend/common.py
---- a/python/mozbuild/mozbuild/backend/common.py
-+++ b/python/mozbuild/mozbuild/backend/common.py
-@@ -386,17 +386,17 @@ class CommonBackend(BuildBackend):
-         )
-         self._handle_generated_sources(manager.expected_build_output_files())
+diff --git a/python/mozbuild/mozbuild/frontend/data.py 
b/python/mozbuild/mozbuild/frontend/data.py
+--- a/python/mozbuild/mozbuild/frontend/data.py
++++ b/python/mozbuild/mozbuild/frontend/data.py
+@@ -310,17 +310,17 @@ class WebIDLCollection(ContextDerived):
+     @property
+     def unified_source_mapping(self):
          # Bindings are compiled in unified mode to speed up compilation and
          # to reduce linker memory size. Note that test bindings are separated
          # from regular ones so tests bindings aren't shipped.
-         unified_source_mapping = 
list(group_unified_files(webidls.all_regular_cpp_basenames(),
-                                                           
unified_prefix='UnifiedBindings',
-                                                           
unified_suffix='cpp',
--                                                          
files_per_unified_file=32))
-+                                                          
files_per_unified_file=16))
-         self._write_unified_files(unified_source_mapping, bindings_dir,
-                                   poison_windows_h=True)
-         self._handle_webidl_build(bindings_dir, unified_source_mapping,
-                                   webidls,
-                                   manager.expected_build_output_files(),
-                                   manager.GLOBAL_DEFINE_FILES)
+         return list(group_unified_files(self.all_regular_cpp_basenames(),
+                                         unified_prefix='UnifiedBindings',
+                                         unified_suffix='cpp',
+-                                        files_per_unified_file=32))
++                                        files_per_unified_file=16))
  
-     def _write_unified_file(self, unified_file, source_filenames,
+     def all_source_files(self):
+         from mozwebidlcodegen import WebIDLCodegenManager
+         return (sorted(list(WebIDLCodegenManager.GLOBAL_DEFINE_FILES)) +
+                 sorted(set(p for p, _ in self.unified_source_mapping)))
+ 
+ 
+ class IPDLCollection(ContextDerived):

++++++ mozilla.keyring ++++++
This file contains the PGP keys of various developers that work on
Mozilla and its subprojects (such as Firefox and Thunderbird).

Please realize that this file itself or the public key servers may be
compromised.  You are encouraged to validate the authenticity of these keys in
an out-of-band manner.

Mozilla users: pgp < KEY

pub   rsa4096 2015-07-17 [SC]
      14F26682D0916CDD81E37B6D61B7B526D98F0353
uid           [  full  ] Mozilla Software Releases <rele...@mozilla.com>
sub   rsa4096 2015-07-17 [S] [expires: 2017-07-16]
sub   rsa4096 2017-06-22 [S] [expires: 2019-06-22]

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.5
Comment: Hostname: keyserver.mozilla.org

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
MuTo71rAVDLtxerc+GNq0GI=
=YjV6
-----END PGP PUBLIC KEY BLOCK-----
++++++ source-stamp.txt ++++++
--- /var/tmp/diff_new_pack.VfYb72/_old  2018-05-11 11:27:17.214541609 +0200
+++ /var/tmp/diff_new_pack.VfYb72/_new  2018-05-11 11:27:17.218541463 +0200
@@ -1,2 +1,2 @@
-REV=6b51784853e4
+REV=ea4f3168c604
 REPO=http://hg.mozilla.org/releases/mozilla-release


Reply via email to