Browse Source

Even more mozilla rel-257 rebases

Ian Neal 4 years ago
parent
commit
b8f4102316
25 changed files with 440 additions and 530 deletions
  1. BIN
      comm-esr60/mozilla-esr60/patches/.series.swp
  2. 0 45
      comm-esr60/mozilla-esr60/patches/1462616-62a1.patch
  3. 0 14
      comm-esr60/mozilla-esr60/patches/series
  4. 18 16
      rel-257/mozilla-esr60/patches/1086964-61a1.patch
  5. 29 29
      rel-257/mozilla-esr60/patches/1351078-67a1.patch
  6. 18 18
      rel-257/mozilla-esr60/patches/1424281-1-61a1.patch
  7. 24 24
      rel-257/mozilla-esr60/patches/1424281-2-61a1.patch
  8. 27 45
      rel-257/mozilla-esr60/patches/1424281-3-61a1.patch
  9. 3 3
      rel-257/mozilla-esr60/patches/1434844-61a1.patch
  10. 85 104
      rel-257/mozilla-esr60/patches/1443706-61a1.patch
  11. 37 33
      rel-257/mozilla-esr60/patches/1444274-61a1.patch
  12. 20 28
      rel-257/mozilla-esr60/patches/1445024-1-61a1.patch
  13. 38 53
      rel-257/mozilla-esr60/patches/1445024-2-61a1.patch
  14. 15 20
      rel-257/mozilla-esr60/patches/1445024-3-61a1.patch
  15. 45 48
      rel-257/mozilla-esr60/patches/1445105-61a1.patch
  16. 13 13
      rel-257/mozilla-esr60/patches/1453317-61a1.patch
  17. 3 3
      rel-257/mozilla-esr60/patches/1453444-62a1.patch
  18. 2 2
      rel-257/mozilla-esr60/patches/1455767-62a1.patch
  19. 15 5
      rel-257/mozilla-esr60/patches/1457523-61a1.patch
  20. 2 2
      rel-257/mozilla-esr60/patches/1459988-62a1.patch
  21. 2 2
      rel-257/mozilla-esr60/patches/1459993-62a1.patch
  22. 13 13
      rel-257/mozilla-esr60/patches/1474684-1-63a1.patch
  23. 8 8
      rel-257/mozilla-esr60/patches/1474684-2-63a1.patch
  24. 2 2
      rel-257/mozilla-esr60/patches/1484190-63a1.patch
  25. 21 0
      rel-257/mozilla-esr60/patches/series

BIN
comm-esr60/mozilla-esr60/patches/.series.swp


+ 0 - 45
comm-esr60/mozilla-esr60/patches/1462616-62a1.patch

@@ -1,45 +0,0 @@
-# HG changeset patch
-# User Masatoshi Kimura <VYV03354@nifty.ne.jp>
-# Date 1526646023 -32400
-# Node ID c085e1b32fb9bbdb00360bfb0a1057d20a752f4c
-# Parent  c4913812821c8cfcbd05ed9e172e75f2b4006abe
-Bug 1462616 - Unblock Windows 10 April 2018 Update SDK with clang-cl. r=ted
-
-MozReview-Commit-ID: 9KGu1KTmyRM
-
-diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
---- a/build/moz.configure/windows.configure
-+++ b/build/moz.configure/windows.configure
-@@ -232,23 +232,26 @@ def valid_ucrt_sdk_dir(windows_sdk_dir, 
-     if version < minimum_ucrt_version:
-         raise FatalCheckError('Latest Universal CRT SDK version found %s'
-                               ' and minimum required is %s. This or a later'
-                               ' version can be installed using the Visual'
-                               ' Studio installer.'
-                               % (version, minimum_ucrt_version))
- 
-     broken_ucrt_version = Version('10.0.16299.0')
--    if c_compiler.type == 'clang-cl' and version >= broken_ucrt_version:
-+    working_ucrt_version = Version('10.0.17134.0')
-+    if (c_compiler.type == 'clang-cl' and version >= broken_ucrt_version and
-+            version < working_ucrt_version):
-         raise FatalCheckError('Found SDK version %s but clang-cl builds'
--                              ' currently don\'t work with SDK version %s'
--                              ' and later. You should use version %s,'
--                              ' either by uninstalling the newer one or'
--                              ' setting a custom WINDOWSSDKDIR.'
--                              % (version, broken_ucrt_version, minimum_ucrt_version))
-+                              ' currently don\'t work with the SDK version.'
-+                              ' You should use a different version, either'
-+                              ' by uninstalling version %s or setting a'
-+                              ' custom WINDOWSSDKDIR.\n'
-+                              'Note: Version %s now works with clang-cl.'
-+                              % (version, version, working_ucrt_version))
- 
-     return namespace(
-         path=sdk.path,
-         include=sdk.include,
-         lib=sdk.lib,
-         version=version,
-     )
- 

+ 0 - 14
comm-esr60/mozilla-esr60/patches/series

@@ -217,20 +217,6 @@ NOBUG-BACKOUT-1439860-60.patch
 TOP-9999999-rust133-257.patch
 TOP-9999999-fixlangpack-257.patch
 mozilla-esr60-top-nonexisting.patch
-1434844-61a1.patch
-1474684-1-63a1.patch
-1474684-2-63a1.patch
-1351078-67a1.patch
-1444274.61a1.patch
-1424281-1-61a1.patch
-1424281-2-61a1.patch
-1424281-3-61a1.patch
-1086964-61a1.patch
-1445024-1-63a1.patch
-1445024-2-63a1.patch
-1445024-3-63a1.patch
-1443706-61a1.patch
-1445105-61a1.patch
 1462616-62a1.patch
 1455767-62a1.patch
 1453444-62a1.patch

+ 18 - 16
comm-esr60/mozilla-esr60/patches/1086964-61a1.patch → rel-257/mozilla-esr60/patches/1086964-61a1.patch

@@ -2,17 +2,17 @@
 # User Ryan VanderMeulen <ryanvm@gmail.com>
 # Date 1521065912 14400
 # Node ID 29365e0d62fb532de8cdde4378c0c0357c5301d5
-# Parent  24c7c17530a97dce25504752845dc822d03d919a
+# Parent  0547fda3f29a8f82b959a5387e7a99aded6c7f26
 Bug 1086964 - Remove uses of no_pgo that are no longer needed. r=dmajor
 
 diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
 --- a/gfx/layers/moz.build
 +++ b/gfx/layers/moz.build
-@@ -409,21 +409,23 @@ UNIFIED_SOURCES += [
-     'ipc/RemoteContentController.cpp',
-     'ipc/ShadowLayers.cpp',
+@@ -417,21 +417,23 @@ UNIFIED_SOURCES += [
      'ipc/SharedPlanarYCbCrImage.cpp',
      'ipc/SharedRGBImage.cpp',
+     'ipc/SharedSurfacesChild.cpp',
+     'ipc/SharedSurfacesParent.cpp',
      'ipc/UiCompositorControllerChild.cpp',
      'ipc/UiCompositorControllerParent.cpp',
      'ipc/VideoBridgeChild.cpp',
@@ -32,7 +32,7 @@ diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
      'mlgpu/LayerManagerMLGPU.cpp',
      'mlgpu/LayerMLGPU.cpp',
      'mlgpu/MaskOperation.cpp',
-@@ -474,34 +476,24 @@ UNIFIED_SOURCES += [
+@@ -475,34 +477,24 @@ UNIFIED_SOURCES += [
      'wr/WebRenderUserData.cpp',
      # XXX here are some unified build error.
      #'wr/WebRenderTextureHost.cpp'
@@ -70,26 +70,28 @@ diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
 diff --git a/js/src/moz.build b/js/src/moz.build
 --- a/js/src/moz.build
 +++ b/js/src/moz.build
-@@ -388,16 +388,18 @@ UNIFIED_SOURCES += [
+@@ -396,18 +396,18 @@ UNIFIED_SOURCES += [
+     'wasm/WasmTextToBinary.cpp',
+     'wasm/WasmTextUtils.cpp',
      'wasm/WasmTypes.cpp',
      'wasm/WasmValidate.cpp'
  ]
  
- # jsarray.cpp and jsatom.cpp cannot be built in unified mode because
- # xpcshell is broken during packaging when compiled with gcc-4.8.2
- # builtin/RegExp.cpp cannot be built in unified mode because it is built
- # without PGO
+ # jsarray.cpp and vm/JSAtom.cpp cannot be built in unified mode because
+ #   xpcshell is broken during packaging when compiled with gcc-4.8.2
+-# builtin/RegExp.cpp cannot be built in unified mode because it is built
+-#   without PGO
 +# builtin/RegExp.cpp cannot be built in unified mode because it causes huge
 +#   win32 test slowdowns
  # frontend/Parser.cpp cannot be built in unified mode because of explicit
- # template instantiations.
- # jsdtoa.cpp cannot be built in unified mode because we want to suppress
- # compiler warnings in third-party dtoa.c.
+ #   template instantiations.
  # jsmath.cpp cannot be built in unified mode because it needs to re-#define the
- # RtlGenRandom declaration's calling convention in <ntsecapi.h> on Windows.
+ #   RtlGenRandom declaration's calling convention in <ntsecapi.h> on Windows.
  # jsutil.cpp cannot be built in unified mode because it is needed for
- # check-vanilla-allocations.
-@@ -653,20 +655,16 @@ if CONFIG['JS_HAS_CTYPES']:
+ #   check-vanilla-allocations.
+ # StoreBuffer.cpp cannot be built in unified because its template
+ #   instantiations may or may not be needed depending on what it gets bundled
+@@ -698,20 +698,16 @@ if CONFIG['JS_HAS_CTYPES']:
      DEFINES['JS_HAS_CTYPES'] = True
      for var in ('DLL_PREFIX', 'DLL_SUFFIX'):
          DEFINES[var] = '"%s"' % CONFIG[var]

+ 29 - 29
comm-esr60/mozilla-esr60/patches/1351078-67a1.patch → rel-257/mozilla-esr60/patches/1351078-67a1.patch

@@ -2,7 +2,7 @@
 # User Felipe Gomes <felipc@gmail.com>
 # Date 1550854286 0
 # Node ID f79d064a028c5f7898da39a72e5573ec7c1b2fd2
-# Parent  8f0dacb3f1d5ddcdbad3fa12cd59d523c2f6808d
+# Parent  ff454130893adb9d281626354e02a7ffe0dacd39
 Bug 1351078 - Remove unused Battery.jsm. r=Yoric
 
 Differential Revision: https://phabricator.services.mozilla.com/D20756
@@ -10,10 +10,10 @@ Differential Revision: https://phabricator.services.mozilla.com/D20756
 diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/browser/base/content/test/static/browser_all_files_referenced.js
 --- a/browser/base/content/test/static/browser_all_files_referenced.js
 +++ b/browser/base/content/test/static/browser_all_files_referenced.js
-@@ -155,18 +155,16 @@ var whitelist = [
+@@ -141,18 +141,16 @@ var whitelist = [
+   // Bug 1348533
+   {file: "chrome://mozapps/skin/downloads/buttons.png", platforms: ["macosx"]},
    {file: "chrome://mozapps/skin/downloads/downloadButtons.png", platforms: ["linux", "win"]},
-   // Bug 1348556
-   {file: "chrome://mozapps/skin/plugins/pluginBlocked.png"},
    // Bug 1348558
    {file: "chrome://mozapps/skin/update/downloadButtons.png",
     platforms: ["linux"]},
@@ -21,14 +21,14 @@ diff --git a/browser/base/content/test/static/browser_all_files_referenced.js b/
    {file: "chrome://pippki/content/resetpassword.xul"},
 -  // Bug 1351078
 -  {file: "resource://gre/modules/Battery.jsm"},
-   // Bug 1351070
-   {file: "resource://gre/modules/ContentPrefInstance.jsm"},
-   // Bug 1351079
-   {file: "resource://gre/modules/ISO8601DateUtils.jsm"},
    // Bug 1337345
    {file: "resource://gre/modules/Manifest.jsm"},
    // Bug 1351097
    {file: "resource://gre/modules/accessibility/AccessFu.jsm"},
+   // Bug 1356043
+   {file: "resource://gre/modules/PerfMeasurement.jsm"},
+   // Bug 1356045
+   {file: "chrome://global/content/test-ipc.xul"},
 diff --git a/toolkit/modules/Battery.jsm b/toolkit/modules/Battery.jsm
 deleted file mode 100644
 --- a/toolkit/modules/Battery.jsm
@@ -46,12 +46,12 @@ deleted file mode 100644
 -  * To spoof the battery values, set `Debugging.fake = true` after exporting this with a BackstagePass,
 -  * after which you can spoof a property yb setting the relevant property of the BatteryManager object.
 -  */
--this.EXPORTED_SYMBOLS = ["GetBattery", "Battery"];
+-var EXPORTED_SYMBOLS = ["GetBattery", "Battery"];
 -
--Cu.import("resource://gre/modules/XPCOMUtils.jsm", this);
+-ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm", this);
 -
 -// Load Services, for the BatteryManager API
--XPCOMUtils.defineLazyModuleGetter(this, "Services",
+-ChromeUtils.defineModuleGetter(this, "Services",
 -  "resource://gre/modules/Services.jsm");
 -
 -// Values for the fake battery. See the documentation of Navigator.battery for the meaning of each field.
@@ -63,7 +63,7 @@ deleted file mode 100644
 -};
 -
 -// BackendPass-exported object for toggling spoofing
--this.Debugging = {
+-var Debugging = {
 -  /**
 -   * If `false`, use the DOM Battery implementation.
 -   * Set it to `true` if you need to fake battery values
@@ -72,7 +72,7 @@ deleted file mode 100644
 -  fake: false
 -};
 -
--this.GetBattery = function() {
+-var GetBattery = function() {
 -  return new Services.appShell.hiddenDOMWindow.Promise(function(resolve, reject) {
 -    // Return fake values if spoofing is enabled, otherwise fetch the real values from the BatteryManager API
 -    if (Debugging.fake) {
@@ -83,7 +83,7 @@ deleted file mode 100644
 -  });
 -};
 -
--this.Battery = {};
+-var Battery = {};
 -
 -for (let k of ["charging", "chargingTime", "dischargingTime", "level"]) {
 -  let prop = k;
@@ -106,7 +106,7 @@ deleted file mode 100644
 diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build
 --- a/toolkit/modules/moz.build
 +++ b/toolkit/modules/moz.build
-@@ -173,17 +173,16 @@ EXTRA_JS_MODULES += [
+@@ -171,17 +171,16 @@ EXTRA_JS_MODULES += [
      'addons/WebNavigationContent.js',
      'addons/WebNavigationFrames.jsm',
      'addons/WebRequest.jsm',
@@ -127,24 +127,24 @@ diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build
 diff --git a/toolkit/modules/tests/browser/browser.ini b/toolkit/modules/tests/browser/browser.ini
 --- a/toolkit/modules/tests/browser/browser.ini
 +++ b/toolkit/modules/tests/browser/browser.ini
-@@ -17,17 +17,16 @@ support-files =
-   file_script_good.js
+@@ -22,17 +22,16 @@ support-files =
    file_script_bad.js
    file_script_redirect.js
    file_script_xhr.js
+   head.js
    WebRequest_dynamic.sjs
    WebRequest_redirection.sjs
  
  [browser_AsyncPrefs.js]
 -[browser_Battery.js]
+ [browser_BrowserUtils.js]
  [browser_Deprecated.js]
  [browser_Finder.js]
  [browser_Finder_hidden_textarea.js]
- [browser_FinderHighlighter.js]
- skip-if = debug || os = "linux"
- support-files = file_FinderSample.html
- [browser_Geometry.js]
- [browser_InlineSpellChecker.js]
+ [browser_Finder_offscreen_text.js]
+ [browser_Finder_overflowed_textarea.js]
+ [browser_Finder_pointer_events_none.js]
+ [browser_Finder_vertical_text.js]
 diff --git a/toolkit/modules/tests/browser/browser_Battery.js b/toolkit/modules/tests/browser/browser_Battery.js
 deleted file mode 100644
 --- a/toolkit/modules/tests/browser/browser_Battery.js
@@ -154,13 +154,13 @@ deleted file mode 100644
 - * License, v. 2.0. If a copy of the MPL was not distributed with this
 - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 -"use strict";
--var {GetBattery, Debugging} = Cu.import("resource://gre/modules/Battery.jsm", {});
--Cu.import("resource://gre/modules/Services.jsm", this);
+-var {GetBattery, Debugging} = ChromeUtils.import("resource://gre/modules/Battery.jsm", {});
+-ChromeUtils.import("resource://gre/modules/Services.jsm", this);
 -
 -function test() {
 -  waitForExplicitFinish();
 -
--  is(Debugging.fake, false, "Battery spoofing is initially false")
+-  is(Debugging.fake, false, "Battery spoofing is initially false");
 -
 -  GetBattery().then(function(battery) {
 -    for (let k of ["charging", "chargingTime", "dischargingTime", "level"]) {
@@ -204,12 +204,12 @@ deleted file mode 100644
 diff --git a/tools/lint/eslint/modules.json b/tools/lint/eslint/modules.json
 --- a/tools/lint/eslint/modules.json
 +++ b/tools/lint/eslint/modules.json
-@@ -10,17 +10,16 @@
+@@ -8,17 +8,16 @@
+   "addonutils.js": ["AddonUtils"],
+   "ajv-4.1.1.js": ["Ajv"],
    "AlertsHelper.jsm": [],
    "AppData.jsm": ["makeFakeAppDir"],
    "AppInfo.jsm": ["newAppInfo", "getAppInfo", "updateAppInfo"],
-   "arrays.js": ["inArray", "getSet", "indexOf", "remove", "rindexOf", "compare"],
-   "assertions.js": ["Assert", "Expect"],
    "async.js": ["Async"],
    "AsyncSpellCheckTestHelper.jsm": ["onSpellCheck"],
    "AutoMigrate.jsm": ["AutoMigrate"],
@@ -219,6 +219,6 @@ diff --git a/tools/lint/eslint/modules.json b/tools/lint/eslint/modules.json
    "bogus_element_type.jsm": [],
    "bookmark_repair.js": ["BookmarkRepairRequestor", "BookmarkRepairResponder"],
    "bookmark_validator.js": ["BookmarkValidator", "BookmarkProblemData"],
-   "bookmarks.js": ["BookmarksEngine", "PlacesItem", "Bookmark", "BookmarkFolder", "BookmarkQuery", "Livemark", "BookmarkSeparator"],
+   "bookmarks.js": ["BookmarksEngine", "PlacesItem", "Bookmark", "BookmarkFolder", "BookmarkQuery", "Livemark", "BookmarkSeparator", "BufferedBookmarksEngine"],
    "bookmarks.jsm": ["PlacesItem", "Bookmark", "Separator", "Livemark", "BookmarkFolder", "DumpBookmarks"],
    "BootstrapMonitor.jsm": ["monitor"],

+ 18 - 18
comm-esr60/mozilla-esr60/patches/1424281-1-61a1.patch → rel-257/mozilla-esr60/patches/1424281-1-61a1.patch

@@ -2,13 +2,13 @@
 # User David Major <dmajor@mozilla.com>
 # Date 1520349334 18000
 # Node ID 1187ae9020bef4e101696883feb3b41ffb8724db
-# Parent  ccf6855e36e2963a5f9c886d141947fd5acb1a75
+# Parent  fbdee2935a9f0a949f48bf2a704a0dab3c811512
 Bug 1424281 - De-optimize some functions to work around crashes during compilation. r=froydnj
 
 diff --git a/layout/generic/nsContainerFrame.cpp b/layout/generic/nsContainerFrame.cpp
 --- a/layout/generic/nsContainerFrame.cpp
 +++ b/layout/generic/nsContainerFrame.cpp
-@@ -1041,16 +1041,24 @@ nsContainerFrame::PositionChildViews(nsI
+@@ -970,16 +970,24 @@ void nsContainerFrame::PositionChildView
   *
   * Flags:
   * NS_FRAME_NO_MOVE_FRAME - don't move the frame. aX and aY are ignored in this
@@ -25,34 +25,34 @@ diff --git a/layout/generic/nsContainerFrame.cpp b/layout/generic/nsContainerFra
 +#if defined(_MSC_VER) && !defined(__clang__) && defined(_M_AMD64)
 +#pragma optimize("g", off)
 +#endif
- void
- nsContainerFrame::FinishReflowChild(nsIFrame*                  aKidFrame,
-                                     nsPresContext*             aPresContext,
-                                     const ReflowOutput& aDesiredSize,
-                                     const ReflowInput*   aReflowInput,
-                                     const WritingMode&         aWM,
-                                     const LogicalPoint&        aPos,
-                                     const nsSize&              aContainerSize,
-@@ -1087,16 +1095,19 @@ nsContainerFrame::FinishReflowChild(nsIF
+ void nsContainerFrame::FinishReflowChild(
+     nsIFrame* aKidFrame, nsPresContext* aPresContext,
+     const ReflowOutput& aDesiredSize, const ReflowInput* aReflowInput,
+     const WritingMode& aWM, const LogicalPoint& aPos,
+     const nsSize& aContainerSize, uint32_t aFlags) {
+   if (aWM.IsVerticalRL() || (!aWM.IsVertical() && !aWM.IsBidiLTR())) {
+     NS_ASSERTION(aContainerSize.width != NS_UNCONSTRAINEDSIZE,
+                  "FinishReflowChild with unconstrained container width!");
+@@ -1011,16 +1019,19 @@ void nsContainerFrame::FinishReflowChild
        // If the frame has moved, then we need to make sure any child views are
        // correctly positioned
        PositionChildViews(aKidFrame);
      }
    }
  
-   aKidFrame->DidReflow(aPresContext, aReflowInput, nsDidReflowStatus::FINISHED);
+   aKidFrame->DidReflow(aPresContext, aReflowInput);
  }
 +#if defined(_MSC_VER) && !defined(__clang__) && defined(_M_AMD64)
 +#pragma optimize("", on)
 +#endif
  
- //XXX temporary: hold on to a copy of the old physical version of
+ // XXX temporary: hold on to a copy of the old physical version of
  //    FinishReflowChild so that we can convert callers incrementally.
- void
- nsContainerFrame::FinishReflowChild(nsIFrame*                  aKidFrame,
-                                     nsPresContext*             aPresContext,
-                                     const ReflowOutput& aDesiredSize,
-                                     const ReflowInput*   aReflowInput,
+ void nsContainerFrame::FinishReflowChild(nsIFrame* aKidFrame,
+                                          nsPresContext* aPresContext,
+                                          const ReflowOutput& aDesiredSize,
+                                          const ReflowInput* aReflowInput,
+                                          nscoord aX, nscoord aY,
 diff --git a/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c b/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
 --- a/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c
 +++ b/third_party/aom/av1/encoder/x86/hybrid_fwd_txfm_avx2.c

+ 24 - 24
comm-esr60/mozilla-esr60/patches/1424281-2-61a1.patch → rel-257/mozilla-esr60/patches/1424281-2-61a1.patch

@@ -2,19 +2,19 @@
 # User Ryan VanderMeulen <ryanvm@gmail.com>
 # Date 1520897084 14400
 # Node ID 87b446c458d34e890ca43f6c181e3681eec0a4ab
-# Parent  1cc8c2ca793b186e0874fcbed0234d21f4913850
+# Parent  1ce242f2869d95725df227b435c69c59f1e13528
 Bug 1424281 - Use Visual Studio 2017 15.6.0 for Windows builds. r=froydnj
 
 diff --git a/browser/config/tooltool-manifests/win32/releng.manifest b/browser/config/tooltool-manifests/win32/releng.manifest
 --- a/browser/config/tooltool-manifests/win32/releng.manifest
 +++ b/browser/config/tooltool-manifests/win32/releng.manifest
-@@ -9,21 +9,21 @@
-     "version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
-     "size": 97017057,
-     "digest": "b726645f9d26c5a3048720b3839166021c1cf91a02d2ff2f10c49adced7455c7352e18b5052084d80bf9d1c40ec1bf72d0397921b8cd23262f89fdbd10def58f",
+@@ -1,21 +1,21 @@
+ [
+   {
+     "size": 266240,
+     "digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
      "algorithm": "sha512",
-     "filename": "rustc.tar.bz2",
-     "unpack": true
+     "filename": "mozmake.exe"
    },
    {
 -    "version": "Visual Studio 2017 15.4.2 / SDK 10.0.15063.0",
@@ -37,13 +37,13 @@ diff --git a/browser/config/tooltool-manifests/win32/releng.manifest b/browser/c
 diff --git a/browser/config/tooltool-manifests/win64/releng.manifest b/browser/config/tooltool-manifests/win64/releng.manifest
 --- a/browser/config/tooltool-manifests/win64/releng.manifest
 +++ b/browser/config/tooltool-manifests/win64/releng.manifest
-@@ -10,21 +10,21 @@
-     "size": 103602526,
-     "digest": "558d2d18991ad8b250a5d6b46a55e1ffdffc50d6bdd9cb4b3a945dd3d1143836b32e47f1df612bfea97ca2c02333ed43055b6c3030ecb1632385fb6940c1d246",
+@@ -1,21 +1,21 @@
+ [
+   {
+     "size": 266240,
+     "digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
      "algorithm": "sha512",
-     "visibility": "public",
-     "filename": "rustc.tar.bz2",
-     "unpack": true
+     "filename": "mozmake.exe"
    },
    {
 -    "version": "Visual Studio 2017 15.4.2 / SDK 10.0.15063.0",
@@ -128,14 +128,14 @@ diff --git a/build/docs/toolchains.rst b/build/docs/toolchains.rst
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -465,21 +465,22 @@ def check_compiler(compiler, language, t
-     if info.language == 'C++':
-         if info.type == 'clang' and info.language_version != cxx14_version:
-             append_flag('-std=gnu++14')
-         # MSVC 2015 headers include C++14 features, but don't guard them
-         # with appropriate checks.
-         elif info.type == 'clang-cl' and info.language_version != cxx14_version:
+@@ -502,21 +502,22 @@ def check_compiler(compiler, language, t
              append_flag('-std=c++14')
+         # GCC 4.9 indicates that it implements draft C++14 features
+         # instead of the full language.
+         elif info.type == 'gcc' and \
+                 info.language_version not in (draft_cxx14_version,
+                                               cxx14_version):
+             append_flag('-std=gnu++14')
  
 -    # We force clang-cl to emulate Visual C++ 2017 version 15.4
 -    if info.type == 'clang-cl' and info.version != '19.11.25547':
@@ -252,7 +252,7 @@ diff --git a/js/src/devtools/automation/winbuildenv.sh b/js/src/devtools/automat
 diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 --- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -255,17 +255,17 @@ VS_PLATFORM_X86_64 = {
+@@ -251,17 +251,17 @@ VS_PLATFORM_X86_64 = {
  # Note: In reality, the -std=gnu* options are only supported when preceded by
  # -Xclang.
  CLANG_CL_3_9 = (CLANG_BASE('3.9.0') + VS('18.00.00000') + DEFAULT_C11 +
@@ -271,7 +271,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  LIBRARY_NAME_INFOS = {
      'linux-gnu': {
          'DLL_PREFIX': 'lib',
-@@ -912,26 +912,26 @@ class WindowsToolchainTest(BaseToolchain
+@@ -894,26 +894,26 @@ class WindowsToolchainTest(BaseToolchain
          flags=[],
          version='19.00.24213',
          type='msvc',
@@ -300,5 +300,5 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
      )
      CLANG_3_3_RESULT = LinuxToolchainTest.CLANG_3_3_RESULT
      CLANGXX_3_3_RESULT = LinuxToolchainTest.CLANGXX_3_3_RESULT
-     DEFAULT_CLANG_RESULT = LinuxToolchainTest.DEFAULT_CLANG_RESULT
-     DEFAULT_CLANGXX_RESULT = LinuxToolchainTest.DEFAULT_CLANGXX_RESULT
+     CLANG_3_6_RESULT = LinuxToolchainTest.CLANG_3_6_RESULT
+     CLANGXX_3_6_RESULT = LinuxToolchainTest.CLANGXX_3_6_RESULT

+ 27 - 45
comm-esr60/mozilla-esr60/patches/1424281-3-61a1.patch → rel-257/mozilla-esr60/patches/1424281-3-61a1.patch

@@ -2,13 +2,13 @@
 # User Ryan VanderMeulen <ryanvm@gmail.com>
 # Date 1520897084 14400
 # Node ID a7ab282e1d4a1aa1726017a05e04102c7adc9e33
-# Parent  88fa51271b9d9dce6984be9182a3a0d3038f42f7
+# Parent  90e86627fa01e2b0ce0a103c0fde9209c8583014
 Bug 1424281 - Require Visual Studio 2017 15.6.0 and Win SDK 10.0.15063.0 to build on Windows. r=froydnj
 
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -849,35 +849,25 @@ def compiler(language, host_or_target, c
+@@ -915,35 +915,25 @@ def compiler(language, host_or_target, c
  
          # If you want to bump the version check here search for
          # cxx_alignof above, and see the associated comment.
@@ -49,7 +49,7 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
 diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows.configure
 --- a/build/moz.configure/windows.configure
 +++ b/build/moz.configure/windows.configure
-@@ -218,32 +218,32 @@ def valid_ucrt_sdk_dir(windows_sdk_dir, 
+@@ -223,17 +223,17 @@ def valid_ucrt_sdk_dir(windows_sdk_dir, 
                  'CRT.' % windows_sdk_dir_env)
  
      valid_sdks = sorted(sdks, key=lambda x: sdks[x][0], reverse=True)
@@ -68,28 +68,10 @@ diff --git a/build/moz.configure/windows.configure b/build/moz.configure/windows
                                % (version, minimum_ucrt_version))
  
      broken_ucrt_version = Version('10.0.16299.0')
-     if c_compiler.type == 'clang-cl' and version >= broken_ucrt_version:
-         raise FatalCheckError('Found SDK version %s but clang-cl builds'
-                               ' currently don\'t work with SDK version %s'
--                              ' and later. You should use an older SDK,'
--                              ' either by uninstalling the broken one or'
-+                              ' and later. You should use version %s,'
-+                              ' either by uninstalling the newer one or'
-                               ' setting a custom WINDOWSSDKDIR.'
--                              % (version, broken_ucrt_version))
-+                              % (version, broken_ucrt_version, minimum_ucrt_version))
- 
-     return namespace(
-         path=sdk.path,
-         include=sdk.include,
-         lib=sdk.lib,
-         version=version,
-     )
- 
 diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 --- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -235,16 +235,18 @@ def VS(version):
+@@ -231,16 +231,18 @@ def VS(version):
  
  
  VS_2013u2 = VS('18.00.30501')
@@ -108,7 +90,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  
  VS_PLATFORM_X86_64 = {
      '_M_X64': 100,
-@@ -858,17 +860,19 @@ class WindowsToolchainTest(BaseToolchain
+@@ -842,17 +844,19 @@ class WindowsToolchainTest(BaseToolchain
      # For the purpose of this test, it doesn't matter that the paths are not
      # real Windows paths.
      PATHS = {
@@ -122,14 +104,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +        '/opt/VS_2017u4/bin/cl': VS_2017u4 + VS_PLATFORM_X86,
 +        '/usr/bin/cl': VS_2017u6 + VS_PLATFORM_X86,
          '/usr/bin/clang-cl': CLANG_CL_3_9 + CLANG_CL_PLATFORM_X86,
-         '/usr/bin/gcc': DEFAULT_GCC + GCC_PLATFORM_X86_WIN,
-         '/usr/bin/g++': DEFAULT_GXX + GCC_PLATFORM_X86_WIN,
-         '/usr/bin/gcc-4.9': GCC_4_9 + GCC_PLATFORM_X86_WIN,
-         '/usr/bin/g++-4.9': GXX_4_9 + GCC_PLATFORM_X86_WIN,
+         '/usr/bin/gcc': GCC_4_9 + GCC_PLATFORM_X86_WIN,
+         '/usr/bin/g++': GXX_4_9 + GCC_PLATFORM_X86_WIN,
+         '/usr/bin/gcc-4.7': GCC_4_7 + GCC_PLATFORM_X86_WIN,
+         '/usr/bin/g++-4.7': GXX_4_7 + GCC_PLATFORM_X86_WIN,
          '/usr/bin/gcc-5': GCC_5 + GCC_PLATFORM_X86_WIN,
          '/usr/bin/g++-5': GXX_5 + GCC_PLATFORM_X86_WIN,
-         '/usr/bin/gcc-6': GCC_6 + GCC_PLATFORM_X86_WIN,
-@@ -878,44 +882,52 @@ class WindowsToolchainTest(BaseToolchain
+         '/usr/bin/clang': CLANG_3_6 + CLANG_PLATFORM_X86_WIN,
+@@ -860,44 +864,52 @@ class WindowsToolchainTest(BaseToolchain
          '/usr/bin/clang-3.6': CLANG_3_6 + CLANG_PLATFORM_X86_WIN,
          '/usr/bin/clang++-3.6': CLANGXX_3_6 + CLANG_PLATFORM_X86_WIN,
          '/usr/bin/clang-3.3': CLANG_3_3 + CLANG_PLATFORM_X86_WIN,
@@ -191,14 +173,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          flags=['-Xclang', '-std=gnu99',
                 '-fms-compatibility-version=19.13.26128'],
          version='19.13.26128',
-@@ -939,25 +951,37 @@ class WindowsToolchainTest(BaseToolchain
-     GXX_4_9_RESULT = LinuxToolchainTest.GXX_4_9_RESULT
-     GCC_5_RESULT = LinuxToolchainTest.GCC_5_RESULT
-     GXX_5_RESULT = LinuxToolchainTest.GXX_5_RESULT
-     GCC_6_RESULT = LinuxToolchainTest.GCC_6_RESULT
-     GXX_6_RESULT = LinuxToolchainTest.GXX_6_RESULT
-     DEFAULT_GCC_RESULT = LinuxToolchainTest.DEFAULT_GCC_RESULT
-     DEFAULT_GXX_RESULT = LinuxToolchainTest.DEFAULT_GXX_RESULT
+@@ -930,25 +942,37 @@ class WindowsToolchainTest(BaseToolchain
+     GXX_5_RESULT = CompilerResult(
+         flags=['-std=gnu++14'],
+         version='5.2.1',
+         type='gcc',
+         compiler='/usr/bin/g++-5',
+         language='C++',
+     )
  
 -    # VS2015u3 or greater is required.
 +    # VS2017u6 or greater is required.
@@ -232,7 +214,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          self.do_toolchain_test(self.PATHS, {
              'c_compiler': self.VS_2015u1_RESULT,
          }, environ={
-@@ -1030,17 +1054,17 @@ class WindowsToolchainTest(BaseToolchain
+@@ -1021,17 +1045,17 @@ class WindowsToolchainTest(BaseToolchain
              'cxx_compiler': self.CLANGXX_3_3_RESULT,
          }, environ={
              'CC': 'clang-3.3',
@@ -251,7 +233,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  
  
  class Windows64ToolchainTest(WindowsToolchainTest):
-@@ -1049,17 +1073,19 @@ class Windows64ToolchainTest(WindowsTool
+@@ -1040,17 +1064,19 @@ class Windows64ToolchainTest(WindowsTool
      # For the purpose of this test, it doesn't matter that the paths are not
      # real Windows paths.
      PATHS = {
@@ -265,14 +247,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +        '/opt/VS_2017u4/bin/cl': VS_2017u4 + VS_PLATFORM_X86_64,
 +        '/usr/bin/cl': VS_2017u6 + VS_PLATFORM_X86_64,
          '/usr/bin/clang-cl': CLANG_CL_3_9 + CLANG_CL_PLATFORM_X86_64,
-         '/usr/bin/gcc': DEFAULT_GCC + GCC_PLATFORM_X86_64_WIN,
-         '/usr/bin/g++': DEFAULT_GXX + GCC_PLATFORM_X86_64_WIN,
-         '/usr/bin/gcc-4.9': GCC_4_9 + GCC_PLATFORM_X86_64_WIN,
-         '/usr/bin/g++-4.9': GXX_4_9 + GCC_PLATFORM_X86_64_WIN,
+         '/usr/bin/gcc': GCC_4_9 + GCC_PLATFORM_X86_64_WIN,
+         '/usr/bin/g++': GXX_4_9 + GCC_PLATFORM_X86_64_WIN,
+         '/usr/bin/gcc-4.7': GCC_4_7 + GCC_PLATFORM_X86_64_WIN,
+         '/usr/bin/g++-4.7': GXX_4_7 + GCC_PLATFORM_X86_64_WIN,
          '/usr/bin/gcc-5': GCC_5 + GCC_PLATFORM_X86_64_WIN,
          '/usr/bin/g++-5': GXX_5 + GCC_PLATFORM_X86_64_WIN,
-         '/usr/bin/gcc-6': GCC_6 + GCC_PLATFORM_X86_64_WIN,
-@@ -1071,17 +1097,17 @@ class Windows64ToolchainTest(WindowsTool
+         '/usr/bin/clang': CLANG_3_6 + CLANG_PLATFORM_X86_64_WIN,
+@@ -1058,17 +1084,17 @@ class Windows64ToolchainTest(WindowsTool
          '/usr/bin/clang-3.6': CLANG_3_6 + CLANG_PLATFORM_X86_64_WIN,
          '/usr/bin/clang++-3.6': CLANGXX_3_6 + CLANG_PLATFORM_X86_64_WIN,
          '/usr/bin/clang-3.3': CLANG_3_3 + CLANG_PLATFORM_X86_64_WIN,

+ 3 - 3
comm-esr60/mozilla-esr60/patches/1434844-61a1.patch → rel-257/mozilla-esr60/patches/1434844-61a1.patch

@@ -2,7 +2,7 @@
 # User Peter Dodds <peter.sa.d@hotmail.com>
 # Date 1520222191 18000
 # Node ID 0bce62afe395b03d7e6916801cf6a0788e33127e
-# Parent  40af577237e95b95bd05b6e5c3c819ea2aa2688d
+# Parent  43ea226dab0fad4f3534f9c32c7bc4b93f987fb1
 Bug 1434844 - Download timeLeft is now formatted according to locale, and tests updated to accomodate thousands separator; r=gandalf,rs=paolo
 
 MozReview-Commit-ID: LZjna3vDSDB
@@ -10,7 +10,7 @@ MozReview-Commit-ID: LZjna3vDSDB
 diff --git a/toolkit/mozapps/downloads/DownloadUtils.jsm b/toolkit/mozapps/downloads/DownloadUtils.jsm
 --- a/toolkit/mozapps/downloads/DownloadUtils.jsm
 +++ b/toolkit/mozapps/downloads/DownloadUtils.jsm
-@@ -249,16 +249,17 @@ this.DownloadUtils = {
+@@ -246,16 +246,17 @@ var DownloadUtils = {
     *
     * @param aSeconds
     *        Current estimate on number of seconds left for the download
@@ -28,7 +28,7 @@ diff --git a/toolkit/mozapps/downloads/DownloadUtils.jsm b/toolkit/mozapps/downl
  
      // Try to find a cached lastSec for the given second
      aLastSec = gCachedLast.reduce((aResult, aItem) =>
-@@ -291,19 +292,19 @@ this.DownloadUtils = {
+@@ -288,19 +289,19 @@ var DownloadUtils = {
        // Be friendly in the last few seconds
        timeLeft = gBundle.GetStringFromName(gStr.timeFewSeconds);
      } else {

+ 85 - 104
comm-esr60/mozilla-esr60/patches/1443706-61a1.patch → rel-257/mozilla-esr60/patches/1443706-61a1.patch

@@ -2,7 +2,7 @@
 # User Nicholas Nethercote <nnethercote@mozilla.com>
 # Date 1520465234 -39600
 # Node ID 545fb6e48c79d2704b5e5506a667b72d97a3d949
-# Parent  83dffebb15369683ef0426c43d68c593f5d2b618
+# Parent  098988e8fe62d9266542e24e618c1cd3b2d94660
 Bug 1443706 - Introduce ConstExprHashString(const char16_t*). r=jwalden
 
 This is a `constexpr` alternative to HashString(const char16_t*). We can't make
@@ -25,7 +25,7 @@ MozReview-Commit-ID: 7r3PnrQXb29
 diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
 --- a/mfbt/HashFunctions.h
 +++ b/mfbt/HashFunctions.h
-@@ -60,17 +60,24 @@ namespace mozilla {
+@@ -60,17 +60,22 @@ namespace mozilla {
  
  /**
   * The golden ratio as a 32-bit fixed-point value.
@@ -34,24 +34,22 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
  
  namespace detail {
  
--inline uint32_t
+-inline uint32_t AddU32ToHash(uint32_t aHash, uint32_t aValue) {
 +MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-+constexpr uint32_t
-+RotateLeft5(uint32_t aValue)
-+{
++constexpr uint32_t RotateLeft5(uint32_t aValue) {
 +  return (aValue << 5) | (aValue >> 27);
 +}
 +
-+constexpr uint32_t
- AddU32ToHash(uint32_t aHash, uint32_t aValue)
- {
++constexpr uint32_t AddU32ToHash(uint32_t aHash, uint32_t aValue) {
    /*
     * This is the meat of all our hash routines.  This hash function is not
     * particularly sophisticated, but it seems to work well for our mostly
     * plain-text inputs.  Implementation notes follow.
     *
     * Our use of the golden ratio here is arbitrary; we could pick almost any
-@@ -84,17 +91,17 @@ AddU32ToHash(uint32_t aHash, uint32_t aV
+    * number which:
+    *
+@@ -82,17 +87,17 @@ inline uint32_t AddU32ToHash(uint32_t aH
     *
     * The rotation length of 5 is also arbitrary, although an odd number is again
     * preferable so our hash explores the whole universe of possible rotations.
@@ -70,7 +68,7 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
     * (Number-theoretic aside: Because any odd number |m| is relatively prime to
     * our modulus (2**32), the list
     *
-@@ -105,24 +112,24 @@ AddU32ToHash(uint32_t aHash, uint32_t aV
+@@ -103,24 +108,24 @@ inline uint32_t AddU32ToHash(uint32_t aH
     *
     * It's also nice if |m| has large-ish order mod 2**32 -- that is, if the
     * smallest k such that m**k == 1 (mod 2**32) is large -- so we can safely
@@ -86,38 +84,38 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
  /**
   * AddUintptrToHash takes sizeof(uintptr_t) as a template parameter.
   */
- template<size_t PtrSize>
--inline uint32_t
-+constexpr uint32_t
- AddUintptrToHash(uint32_t aHash, uintptr_t aValue)
- {
+ template <size_t PtrSize>
+-inline uint32_t AddUintptrToHash(uint32_t aHash, uintptr_t aValue) {
++constexpr uint32_t AddUintptrToHash(uint32_t aHash, uintptr_t aValue) {
    return AddU32ToHash(aHash, static_cast<uint32_t>(aValue));
  }
  
- template<>
- inline uint32_t
- AddUintptrToHash<8>(uint32_t aHash, uintptr_t aValue)
-@@ -168,17 +175,17 @@ AddToHash(uint32_t aHash, A* aA)
-   return detail::AddUintptrToHash<sizeof(uintptr_t)>(aHash, uintptr_t(aA));
- }
- 
- // We use AddUintptrToHash() for hashing all integral types.  8-byte integral types
- // are treated the same as 64-bit pointers, and smaller integral types are first
- // implicitly converted to 32 bits and then passed to AddUintptrToHash() to be hashed.
- template<typename T,
-          typename U = typename mozilla::EnableIf<mozilla::IsIntegral<T>::value>::Type>
--MOZ_MUST_USE inline uint32_t
-+MOZ_MUST_USE constexpr uint32_t
- AddToHash(uint32_t aHash, T aA)
- {
-   return detail::AddUintptrToHash<sizeof(T)>(aHash, aA);
+ template <>
+ inline uint32_t AddUintptrToHash<8>(uint32_t aHash, uintptr_t aValue) {
+   uint32_t v1 = static_cast<uint32_t>(aValue);
+   uint32_t v2 = static_cast<uint32_t>(static_cast<uint64_t>(aValue) >> 32);
+   return AddU32ToHash(AddU32ToHash(aHash, v1), v2);
+@@ -132,17 +137,17 @@ inline uint32_t AddUintptrToHash<8>(uint
+  * AddToHash takes a hash and some values and returns a new hash based on the
+  * inputs.
+  *
+  * Currently, we support hashing uint32_t's, values which we can implicitly
+  * convert to uint32_t, data pointers, and function pointers.
+  */
+ template <typename T, bool TypeIsNotIntegral = !mozilla::IsIntegral<T>::value,
+           typename U = typename mozilla::EnableIf<TypeIsNotIntegral>::Type>
+-MOZ_MUST_USE inline uint32_t AddToHash(uint32_t aHash, T aA) {
++MOZ_MUST_USE constexpr uint32_t AddToHash(uint32_t aHash, T aA) {
+   /*
+    * Try to convert |A| to uint32_t implicitly.  If this works, great.  If not,
+    * we'll error out.
+    */
+   return detail::AddU32ToHash(aHash, aA);
  }
  
- template<typename A, typename... Args>
- MOZ_MUST_USE uint32_t
- AddToHash(uint32_t aHash, A aArg, Args... aArgs)
-@@ -208,16 +215,29 @@ HashUntilZero(const T* aStr)
- {
+ template <typename A>
+@@ -190,16 +195,27 @@ template <typename T>
+ uint32_t HashUntilZero(const T* aStr) {
    uint32_t hash = 0;
    for (T c; (c = *aStr); aStr++) {
      hash = AddToHash(hash, c);
@@ -129,29 +127,27 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
 +// only be used for compile-time computation because it uses recursion.
 +// XXX: once support for GCC 4.9 is dropped, this function should be removed
 +// and HashUntilZero(const T*) should be made `constexpr`.
-+template<typename T>
-+constexpr uint32_t
-+ConstExprHashUntilZero(const T* aStr, uint32_t aHash)
-+{
++template <typename T>
++constexpr uint32_t ConstExprHashUntilZero(const T* aStr, uint32_t aHash) {
 +  return !*aStr
 +       ? aHash
 +       : ConstExprHashUntilZero(aStr + 1, AddToHash(aHash, *aStr));
 +}
 +
- template<typename T>
- uint32_t
- HashKnownLength(const T* aStr, size_t aLength)
- {
+ template <typename T>
+ uint32_t HashKnownLength(const T* aStr, size_t aLength) {
    uint32_t hash = 0;
    for (size_t i = 0; i < aLength; i++) {
      hash = AddToHash(hash, aStr[i]);
    }
-@@ -252,16 +272,31 @@ HashString(const unsigned char* aStr, si
+   return hash;
+ }
+@@ -225,16 +241,29 @@ MOZ_MUST_USE
+ inline uint32_t HashString(const unsigned char* aStr, size_t aLength) {
+   return detail::HashKnownLength(aStr, aLength);
  }
  
- MOZ_MUST_USE inline uint32_t
- HashString(const char16_t* aStr)
- {
+ MOZ_MUST_USE inline uint32_t HashString(const char16_t* aStr) {
    return detail::HashUntilZero(aStr);
  }
  
@@ -164,24 +160,22 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
 +//
 +// XXX: once support for GCC 4.9 is dropped, this function should be removed
 +// and HashString(const char16_t*) should be made `constexpr`.
-+MOZ_MUST_USE constexpr uint32_t
-+ConstExprHashString(const char16_t* aStr)
-+{
++MOZ_MUST_USE constexpr uint32_t ConstExprHashString(const char16_t* aStr) {
 +  return detail::ConstExprHashUntilZero(aStr, 0);
 +}
 +
- MOZ_MUST_USE inline uint32_t
- HashString(const char16_t* aStr, size_t aLength)
- {
+ MOZ_MUST_USE inline uint32_t HashString(const char16_t* aStr, size_t aLength) {
    return detail::HashKnownLength(aStr, aLength);
  }
  
  /*
   * On Windows, wchar_t is not the same as char16_t, even though it's
+  * the same width!
+  */
 diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 --- a/mfbt/WrappingOperations.h
 +++ b/mfbt/WrappingOperations.h
-@@ -89,55 +89,42 @@ struct WrapToSignedHelper
+@@ -88,51 +88,38 @@ struct WrapToSignedHelper {
  /**
   * Convert an unsigned value to signed, if necessary wrapping around.
   *
@@ -189,11 +183,10 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
   * these days -- but this function makes explicit that such conversion is
   * happening.
   */
- template<typename UnsignedType>
+ template <typename UnsignedType>
 -inline constexpr typename detail::WrapToSignedHelper<UnsignedType>::SignedType
 +constexpr typename detail::WrapToSignedHelper<UnsignedType>::SignedType
- WrapToSigned(UnsignedType aValue)
- {
+ WrapToSigned(UnsignedType aValue) {
    return detail::WrapToSignedHelper<UnsignedType>::compute(aValue);
  }
  
@@ -212,27 +205,23 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 -
  namespace detail {
  
- template<typename T>
--inline constexpr T
-+constexpr T
- ToResult(typename MakeUnsigned<T>::Type aUnsigned)
- {
+ template <typename T>
+-inline constexpr T ToResult(typename MakeUnsigned<T>::Type aUnsigned) {
++constexpr T ToResult(typename MakeUnsigned<T>::Type aUnsigned) {
    // We could *always* return WrapToSigned and rely on unsigned conversion to
    // undo the wrapping when |T| is unsigned, but this seems clearer.
    return IsSigned<T>::value ? WrapToSigned(aUnsigned) : aUnsigned;
  }
  
- template<typename T>
- struct WrappingAddHelper
- {
+ template <typename T>
+ struct WrappingAddHelper {
  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
--  static T compute(T aX, T aY)
-+  static constexpr T compute(T aX, T aY)
-   {
+-  static T compute(T aX, T aY) {
++  static constexpr T compute(T aX, T aY) {
      return ToResult<T>(static_cast<UnsignedT>(aX) + static_cast<UnsignedT>(aY));
    }
  };
@@ -240,7 +229,8 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
  } // namespace detail
  
  /**
-@@ -160,33 +147,33 @@ public:
+  * Add two integers of the same type and return the result converted to that
+@@ -154,30 +141,30 @@ public:
   *   WrappingAdd(int32_t(-42), int32_t(-17)) is -59 ((8589934533 mod 2**32) - 2**32).
   *
   * There's no equivalent to this operation in C++, as C++ signed addition that
@@ -248,27 +238,23 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
   * behave with most compilers, unless an optimization or similar -- quite
   * permissibly -- triggers different behavior.
   */
- template<typename T>
--inline T
-+constexpr T
- WrappingAdd(T aX, T aY)
- {
+ template <typename T>
+-inline T WrappingAdd(T aX, T aY) {
++constexpr T WrappingAdd(T aX, T aY) {
    return detail::WrappingAddHelper<T>::compute(aX, aY);
  }
  
  namespace detail {
  
- template<typename T>
- struct WrappingSubtractHelper
- {
+ template <typename T>
+ struct WrappingSubtractHelper {
  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
--  static T compute(T aX, T aY)
-+  static constexpr T compute(T aX, T aY)
-   {
+-  static T compute(T aX, T aY) {
++  static constexpr T compute(T aX, T aY) {
      return ToResult<T>(static_cast<UnsignedT>(aX) - static_cast<UnsignedT>(aY));
    }
  };
@@ -276,7 +262,8 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
  } // namespace detail
  
  /**
-@@ -210,33 +197,33 @@ public:
+  * Subtract two integers of the same type and return the result converted to
+@@ -200,30 +187,30 @@ public:
   *   WrappingSubtract(int32_t(-17), int32_t(-42)) is 25 (25 mod 2**32).
   *
   * There's no equivalent to this operation in C++, as C++ signed subtraction
@@ -284,27 +271,23 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
   * to behave with most compilers, unless an optimization or similar -- quite
   * permissibly -- triggers different behavior.
   */
- template<typename T>
--inline T
-+constexpr T
- WrappingSubtract(T aX, T aY)
- {
+ template <typename T>
+-inline T WrappingSubtract(T aX, T aY) {
++constexpr T WrappingSubtract(T aX, T aY) {
    return detail::WrappingSubtractHelper<T>::compute(aX, aY);
  }
  
  namespace detail {
  
- template<typename T>
- struct WrappingMultiplyHelper
- {
- private:
+ template <typename T>
+ struct WrappingMultiplyHelper {
+  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
- public:
+  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
--  static T compute(T aX, T aY)
-+  static constexpr T compute(T aX, T aY)
-   {
+-  static T compute(T aX, T aY) {
++  static constexpr T compute(T aX, T aY) {
      // Begin with |1U| to ensure the overall operation chain is never promoted
      // to signed integer operations that might have *signed* integer overflow.
      return ToResult<T>(static_cast<UnsignedT>(1U *
@@ -312,7 +295,8 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
                                                static_cast<UnsignedT>(aY)));
    }
  };
-@@ -272,17 +259,41 @@ public:
+ 
+@@ -259,15 +246,39 @@ struct WrappingMultiplyHelper {
   *   WrappingMultiply(int8_t(16), int8_t(255)) is -16 ((4080 mod 2**8) - 2**8).
   *
   * There's no equivalent to this operation in C++, as C++ signed
@@ -320,11 +304,9 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
   * multiplication *tends* to behave with most compilers, unless an optimization
   * or similar -- quite permissibly -- triggers different behavior.
   */
- template<typename T>
--inline T
-+constexpr T
- WrappingMultiply(T aX, T aY)
- {
+ template <typename T>
+-inline T WrappingMultiply(T aX, T aY) {
++constexpr T WrappingMultiply(T aX, T aY) {
    return detail::WrappingMultiplyHelper<T>::compute(aX, aY);
  }
  
@@ -355,4 +337,3 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
  } /* namespace mozilla */
  
  #endif /* mozilla_WrappingOperations_h */
-

+ 37 - 33
comm-esr60/mozilla-esr60/patches/1444274.61a1.patch → rel-257/mozilla-esr60/patches/1444274-61a1.patch

@@ -1,9 +1,8 @@
 # HG changeset patch
 # User Jeff Gilbert <jgilbert@mozilla.com>
 # Date 1521758932 25200
-#      Thu Mar 22 15:48:52 2018 -0700
 # Node ID f080a35baf6a137d8c9ad4655cc0092d50099e24
-# Parent  81a24a29222801a4a3a8e34d7bd75df0985991bd
+# Parent  2101f6255d3aac561088cade7828e484a5a03fb2
 Bug 1444274 - Require GCC 6.1+. - r=glandium
 
 MozReview-Commit-ID: 7alNSIhhbLI
@@ -11,7 +10,7 @@ MozReview-Commit-ID: 7alNSIhhbLI
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -456,31 +456,24 @@ def check_compiler(compiler, language, t
+@@ -486,31 +486,24 @@ def check_compiler(compiler, language, t
      # example)
      if info.language == 'C' and info.language_version != 199901:
          if info.type in ('clang-cl', 'clang', 'gcc'):
@@ -36,14 +35,14 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
 -                                              cxx14_version):
 -            append_flag('-std=gnu++14')
  
-     # We force clang-cl to emulate Visual C++ 2017 version 15.4
-     if info.type == 'clang-cl' and info.version != '19.11.25547':
+     # We force clang-cl to emulate Visual C++ 2017 version 15.6.0
+     msvc_version = '19.13.26128'
+     if info.type == 'clang-cl' and info.version != msvc_version:
          # This flag is a direct clang-cl flag that doesn't need -Xclang,
          # add it directly.
-         flags.append('-fms-compatibility-version=19.11.25547')
+         flags.append('-fms-compatibility-version=%s' % msvc_version)
  
-     # Check compiler target
-@@ -839,20 +832,24 @@ def compiler(language, host_or_target, c
+@@ -899,24 +892,24 @@ def compiler(language, host_or_target, c
                     info.target_endianness or 'unknown', host_or_target_str,
                     host_or_target.endianness))
  
@@ -56,6 +55,10 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
 -            raise FatalCheckError(
 -                'Only GCC 4.9 or newer is supported (found version %s).'
 -                % info.version)
+-
+-        if info.type == 'gcc' and host_or_target.os == 'Android':
+-            raise FatalCheckError('GCC is not supported on Android.\n'
+-                                  'Please use clang from the Android NDK instead.')
 +        if info.type == 'gcc':
 +            if host_or_target.os == 'Android':
 +                raise FatalCheckError('GCC is not supported on Android.\n'
@@ -72,7 +75,7 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
                  'Only clang/llvm 3.6 or newer is supported.')
  
          if info.type == 'msvc':
-@@ -1063,17 +1060,17 @@ def color_cflags(info):
+@@ -1136,17 +1129,17 @@ def color_cflags(info):
      # version?
  
      # Code for auto-adding this flag to compiler invocations needs to
@@ -89,8 +92,8 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
      else:
          return ''
  
- set_config('COLOR_CFLAGS', color_cflags)
  
+ set_config('COLOR_CFLAGS', color_cflags)
 diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 --- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
@@ -151,7 +154,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          '--target=x86_64-darwin11.2.0': GCC_PLATFORM_X86_64_OSX[None],
          '--target=i686-linux-gnu': GCC_PLATFORM_X86_LINUX[None],
          '--target=i686-darwin11.2.0': GCC_PLATFORM_X86_OSX[None],
-@@ -406,206 +410,219 @@ class BaseToolchainTest(BaseConfigureTes
+@@ -408,206 +412,219 @@ class BaseToolchainTest(BaseConfigureTes
              'RUST_LIB_PREFIX',
              'RUST_LIB_SUFFIX',
              'OBJ_SUFFIX',
@@ -433,7 +436,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          # clang 3.3 C compiler is perfectly fine, but we need more for C++.
          self.do_toolchain_test(self.PATHS, {
              'c_compiler': self.CLANG_3_3_RESULT,
-@@ -628,21 +645,21 @@ class LinuxToolchainTest(BaseToolchainTe
+@@ -630,21 +647,21 @@ class LinuxToolchainTest(BaseToolchainTe
  
      def test_absolute_path(self):
          paths = dict(self.PATHS)
@@ -458,7 +461,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          })
          # With CXX guess too.
          self.do_toolchain_test(paths, result, environ={
-@@ -651,155 +668,154 @@ class LinuxToolchainTest(BaseToolchainTe
+@@ -653,155 +670,154 @@ class LinuxToolchainTest(BaseToolchainTe
  
      def test_atypical_name(self):
          paths = dict(self.PATHS)
@@ -662,7 +665,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
              k: v for k, v in self.PATHS.iteritems()
              if os.path.basename(k) not in ('clang', 'clang++')
          }
-@@ -815,53 +831,55 @@ class OSXToolchainTest(BaseToolchainTest
+@@ -817,29 +833,29 @@ class OSXToolchainTest(BaseToolchainTest
          }, environ={
              'CC': 'clang-3.3',
              'CXX': 'clang++-3.3',
@@ -699,13 +702,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  
      # For the purpose of this test, it doesn't matter that the paths are not
      # real Windows paths.
-     PATHS = {
-         '/opt/VS_2013u2/bin/cl': VS_2013u2 + VS_PLATFORM_X86,
+@@ -848,24 +864,26 @@ class WindowsToolchainTest(BaseToolchain
          '/opt/VS_2013u3/bin/cl': VS_2013u3 + VS_PLATFORM_X86,
          '/opt/VS_2015/bin/cl': VS_2015 + VS_PLATFORM_X86,
          '/opt/VS_2015u1/bin/cl': VS_2015u1 + VS_PLATFORM_X86,
          '/opt/VS_2015u2/bin/cl': VS_2015u2 + VS_PLATFORM_X86,
-         '/usr/bin/cl': VS_2015u3 + VS_PLATFORM_X86,
+         '/opt/VS_2015u3/bin/cl': VS_2015u3 + VS_PLATFORM_X86,
+         '/opt/VS_2017u4/bin/cl': VS_2017u4 + VS_PLATFORM_X86,
+         '/usr/bin/cl': VS_2017u6 + VS_PLATFORM_X86,
          '/usr/bin/clang-cl': CLANG_CL_3_9 + CLANG_CL_PLATFORM_X86,
 -        '/usr/bin/gcc': GCC_4_9 + GCC_PLATFORM_X86_WIN,
 -        '/usr/bin/g++': GXX_4_9 + GCC_PLATFORM_X86_WIN,
@@ -731,9 +735,9 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  
      VS_2013u2_RESULT = (
          'This version (18.00.30501) of the MSVC compiler is not supported.\n'
-@@ -910,35 +928,26 @@ class WindowsToolchainTest(BaseToolchain
-                '-fms-compatibility-version=19.11.25547'],
-         version='19.11.25547',
+@@ -922,35 +940,26 @@ class WindowsToolchainTest(BaseToolchain
+                '-fms-compatibility-version=19.13.26128'],
+         version='19.13.26128',
          type='clang-cl',
          compiler='/usr/bin/clang-cl',
          language='C++',
@@ -768,14 +772,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
 +    DEFAULT_GCC_RESULT = LinuxToolchainTest.DEFAULT_GCC_RESULT
 +    DEFAULT_GXX_RESULT = LinuxToolchainTest.DEFAULT_GXX_RESULT
  
-     # VS2015u3 or greater is required.
+     # VS2017u6 or greater is required.
      def test_msvc(self):
          self.do_toolchain_test(self.PATHS, {
-             'c_compiler': self.VS_2015u3_RESULT,
-             'cxx_compiler': self.VSXX_2015u3_RESULT,
+             'c_compiler': self.VS_2017u6_RESULT,
+             'cxx_compiler': self.VSXX_2017u6_RESULT,
          })
  
-@@ -986,37 +995,37 @@ class WindowsToolchainTest(BaseToolchain
+@@ -1010,37 +1019,37 @@ class WindowsToolchainTest(BaseToolchain
  
      def test_gcc(self):
          # We'll pick GCC if msvc and clang-cl can't be found.
@@ -820,14 +824,14 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
              'c_compiler': self.CLANG_3_3_RESULT,
              'cxx_compiler': self.CLANGXX_3_3_RESULT,
          }, environ={
-@@ -1042,24 +1051,28 @@ class Windows64ToolchainTest(WindowsTool
-     PATHS = {
-         '/opt/VS_2013u2/bin/cl': VS_2013u2 + VS_PLATFORM_X86_64,
+@@ -1068,24 +1077,28 @@ class Windows64ToolchainTest(WindowsTool
          '/opt/VS_2013u3/bin/cl': VS_2013u3 + VS_PLATFORM_X86_64,
          '/opt/VS_2015/bin/cl': VS_2015 + VS_PLATFORM_X86_64,
          '/opt/VS_2015u1/bin/cl': VS_2015u1 + VS_PLATFORM_X86_64,
          '/opt/VS_2015u2/bin/cl': VS_2015u2 + VS_PLATFORM_X86_64,
-         '/usr/bin/cl': VS_2015u3 + VS_PLATFORM_X86_64,
+         '/opt/VS_2015u3/bin/cl': VS_2015u3 + VS_PLATFORM_X86_64,
+         '/opt/VS_2017u4/bin/cl': VS_2017u4 + VS_PLATFORM_X86_64,
+         '/usr/bin/cl': VS_2017u6 + VS_PLATFORM_X86_64,
          '/usr/bin/clang-cl': CLANG_CL_3_9 + CLANG_CL_PLATFORM_X86_64,
 -        '/usr/bin/gcc': GCC_4_9 + GCC_PLATFORM_X86_64_WIN,
 -        '/usr/bin/g++': GXX_4_9 + GCC_PLATFORM_X86_64_WIN,
@@ -855,7 +859,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
  
      def test_cannot_cross(self):
          paths = {
-@@ -1069,35 +1082,46 @@ class Windows64ToolchainTest(WindowsTool
+@@ -1095,35 +1108,46 @@ class Windows64ToolchainTest(WindowsTool
              'c_compiler': ('Target C compiler target CPU (x86) '
                             'does not match --target CPU (x86_64)'),
          })
@@ -915,7 +919,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
      PLATFORMS = {
          'i686-pc-linux-gnu': GCC_PLATFORM_X86_LINUX,
          'x86_64-pc-linux-gnu': GCC_PLATFORM_X86_64_LINUX,
-@@ -1173,27 +1197,27 @@ class LinuxCrossCompileToolchainTest(Bas
+@@ -1199,27 +1223,27 @@ class LinuxCrossCompileToolchainTest(Bas
          PLATFORMS['mips64-unknown-linux-gnuabi64'] + GCC_PLATFORM_LITTLE_ENDIAN
      PLATFORMS['mipsel-unknown-linux-gnu'] = \
          PLATFORMS['mips-unknown-linux-gnu'] + GCC_PLATFORM_LITTLE_ENDIAN
@@ -949,7 +953,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          self.do_test_cross_gcc_32_64(
              'i686-pc-linux-gnu', 'x86_64-pc-linux-gnu')
          self.do_test_cross_gcc_32_64(
-@@ -1213,147 +1237,147 @@ class LinuxCrossCompileToolchainTest(Bas
+@@ -1239,147 +1263,147 @@ class LinuxCrossCompileToolchainTest(Bas
  
      def do_test_cross_gcc(self, host, target):
          self.HOST = host
@@ -1140,7 +1144,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
              },
              'cxx_compiler': afl_clangxx_result + {
                  'flags': ['--target=arm-linux-gnu'],
-@@ -1364,29 +1388,29 @@ class LinuxCrossCompileToolchainTest(Bas
+@@ -1390,29 +1414,29 @@ class LinuxCrossCompileToolchainTest(Bas
              'CC': 'afl-clang-fast',
              'CXX': 'afl-clang-fast++',
          })
@@ -1176,7 +1180,7 @@ diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
          self.do_toolchain_test(self.PATHS, {
              'c_compiler': 'Target C compiler target kernel (Linux) does not '
                            'match --target kernel (Darwin)',
-@@ -1394,26 +1418,26 @@ class OSXCrossToolchainTest(BaseToolchai
+@@ -1420,26 +1444,26 @@ class OSXCrossToolchainTest(BaseToolchai
              'CC': 'gcc',
          })
  

+ 20 - 28
comm-esr60/mozilla-esr60/patches/1445024-1-63a1.patch → rel-257/mozilla-esr60/patches/1445024-1-61a1.patch

@@ -2,24 +2,23 @@
 # User Jeff Walden <jwalden@mit.edu>
 # Date 1520392918 28800
 # Node ID 491149fb04c71c625176a9769d142181f95bdf5d
-# Parent  88e8f60724d279d69771c28e9e1bfb55d0e3bf24
+# Parent  d1b9f0cb574703ca7168e12d38722e82c69a8ae9
 Bug 1445024 - Implement mozilla::WrappingAdd.  r=froydnj
 
 diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
 --- a/mfbt/HashFunctions.h
 +++ b/mfbt/HashFunctions.h
-@@ -347,30 +347,29 @@ private:
+@@ -309,29 +309,28 @@ class HashCodeScrambler {
+       mV0 ^= aM;
  
        // 3. Finalization.
        mV2 ^= 0xff;
-       for (int i = 0; i < 3; i++)
-         sipRound();
+       for (int i = 0; i < 3; i++) sipRound();
        return mV0 ^ mV1 ^ mV2 ^ mV3;
      }
  
 -    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-     void sipRound()
-     {
+     void sipRound() {
 -      mV0 += mV1;
 +      mV0 = WrappingAdd(mV0, mV1);
        mV1 = RotateLeft(mV1, 13);
@@ -46,23 +45,20 @@ diff --git a/mfbt/HashFunctions.h b/mfbt/HashFunctions.h
 diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 --- a/mfbt/WrappingOperations.h
 +++ b/mfbt/WrappingOperations.h
-@@ -87,16 +87,93 @@ inline constexpr typename detail::WrapTo
- WrapToSigned(UnsignedType aValue)
- {
+@@ -85,16 +85,87 @@ template <typename UnsignedType>
+ inline constexpr typename detail::WrapToSignedHelper<UnsignedType>::SignedType
+ WrapToSigned(UnsignedType aValue) {
    return detail::WrapToSignedHelper<UnsignedType>::compute(aValue);
  }
  
  namespace detail {
  
- template<typename T>
-+struct WrappingAddHelper
-+{
+ template <typename T>
++struct WrappingAddHelper {
 +private:
 +  using UnsignedT = typename MakeUnsigned<T>::Type;
 +
-+  static T
-+  toResult(UnsignedT aSum)
-+  {
++  static T toResult(UnsignedT aSum) {
 +    // We could always return WrapToSigned and rely on unsigned conversion
 +    // undoing the wrapping when |T| is unsigned, but this seems clearer.
 +    return IsSigned<T>::value
@@ -72,8 +68,7 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 +
 +public:
 +  MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-+  static T compute(T aX, T aY)
-+  {
++  static T compute(T aX, T aY) {
 +    // |mozilla::WrappingAdd| isn't constexpr because MSVC warns about well-
 +    // defined unsigned integer overflows that may happen here.
 +    // https://msdn.microsoft.com/en-us/library/4kze989h.aspx  And constexpr
@@ -122,24 +117,22 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 + * addition *tends* to behave with most compilers, unless an optimization or
 + * similar happens to -- quite permissibly -- trigger different behavior.
 + */
-+template<typename T>
-+inline T
-+WrappingAdd(T aX, T aY)
-+{
++template <typename T>
++inline T WrappingAdd(T aX, T aY) {
 +  return detail::WrappingAddHelper<T>::compute(aX, aY);
 +}
 +
 +namespace detail {
 +
-+template<typename T>
- struct WrappingMultiplyHelper
- {
- private:
++template <typename T>
+ struct WrappingMultiplyHelper {
+  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-   static UnsignedT
-   multiply(UnsignedT aX, UnsignedT aY)
+   static UnsignedT multiply(UnsignedT aX, UnsignedT aY) {
+     // |mozilla::WrappingMultiply| isn't constexpr because MSVC warns about
+     // well- defined unsigned integer overflows that may happen here.
 diff --git a/mfbt/tests/TestWrappingOperations.cpp b/mfbt/tests/TestWrappingOperations.cpp
 --- a/mfbt/tests/TestWrappingOperations.cpp
 +++ b/mfbt/tests/TestWrappingOperations.cpp
@@ -359,4 +352,3 @@ diff --git a/mfbt/tests/TestWrappingOperations.cpp b/mfbt/tests/TestWrappingOper
 +  TestWrappingMultiply();
    return 0;
  }
-

+ 38 - 53
comm-esr60/mozilla-esr60/patches/1445024-2-63a1.patch → rel-257/mozilla-esr60/patches/1445024-2-61a1.patch

@@ -2,7 +2,7 @@
 # User Jeff Walden <jwalden@mit.edu>
 # Date 1520884599 25200
 # Node ID 99f24cb57f64dde82d9bcf357a5dfbbfc7761e0c
-# Parent  491149fb04c71c625176a9769d142181f95bdf5d
+# Parent  dbef1d3c2e3ae18da353c8834d4bd64a627feac3
 Bug 1445024 - Consolidate some WrappingOperations.h comments and implementation bits.  r=froydnj
 
 diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
@@ -41,12 +41,12 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
  #include "mozilla/Attributes.h"
  #include "mozilla/TypeTraits.h"
  
-@@ -84,179 +95,141 @@ struct WrapToSignedHelper
+@@ -82,167 +93,134 @@ struct WrapToSignedHelper {
+  * happening.
   */
- template<typename UnsignedType>
+ template <typename UnsignedType>
  inline constexpr typename detail::WrapToSignedHelper<UnsignedType>::SignedType
- WrapToSigned(UnsignedType aValue)
- {
+ WrapToSigned(UnsignedType aValue) {
    return detail::WrapToSignedHelper<UnsignedType>::compute(aValue);
  }
  
@@ -65,24 +65,19 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 +
  namespace detail {
  
- template<typename T>
-+inline constexpr T
-+ToResult(typename MakeUnsigned<T>::Type aUnsigned)
-+{
+ template <typename T>
++inline constexpr T ToResult(typename MakeUnsigned<T>::Type aUnsigned) {
 +  // We could *always* return WrapToSigned and rely on unsigned conversion to
 +  // undo the wrapping when |T| is unsigned, but this seems clearer.
 +  return IsSigned<T>::value ? WrapToSigned(aUnsigned) : aUnsigned;
 +}
 +
-+template<typename T>
- struct WrappingAddHelper
- {
++template <typename T>
+ struct WrappingAddHelper {
  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
--  static T
--  toResult(UnsignedT aSum)
--  {
+-  static T toResult(UnsignedT aSum) {
 -    // We could always return WrapToSigned and rely on unsigned conversion
 -    // undoing the wrapping when |T| is unsigned, but this seems clearer.
 -    return IsSigned<T>::value
@@ -92,8 +87,7 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 -
  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-   static T compute(T aX, T aY)
-   {
+   static T compute(T aX, T aY) {
 -    // |mozilla::WrappingAdd| isn't constexpr because MSVC warns about well-
 -    // defined unsigned integer overflows that may happen here.
 -    // https://msdn.microsoft.com/en-us/library/4kze989h.aspx  And constexpr
@@ -151,54 +145,45 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 + * behave with most compilers, unless an optimization or similar -- quite
 + * permissibly -- triggers different behavior.
   */
- template<typename T>
- inline T
- WrappingAdd(T aX, T aY)
- {
+ template <typename T>
+ inline T WrappingAdd(T aX, T aY) {
    return detail::WrappingAddHelper<T>::compute(aX, aY);
  }
  
  namespace detail {
  
- template<typename T>
- struct WrappingMultiplyHelper
- {
- private:
+ template <typename T>
+ struct WrappingMultiplyHelper {
+  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
 -  MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
--  static UnsignedT
--  multiply(UnsignedT aX, UnsignedT aY)
--  {
--  // |mozilla::WrappingMultiply| isn't constexpr because MSVC warns about well-
--  // defined unsigned integer overflows that may happen here.
--  // https://msdn.microsoft.com/en-us/library/4kze989h.aspx  And constexpr
--  // seems to cause the warning to be emitted at |WrappingMultiply| call *sites*
--  // instead of here, so these #pragmas are ineffective.
--  //
--  // https://stackoverflow.com/questions/37658794/integer-constant-overflow-warning-in-constexpr
--  //
--  // If/when MSVC fix this bug, we should make these functions constexpr.
+-  static UnsignedT multiply(UnsignedT aX, UnsignedT aY) {
+-    // |mozilla::WrappingMultiply| isn't constexpr because MSVC warns about
+-    // well- defined unsigned integer overflows that may happen here.
+-    // https://msdn.microsoft.com/en-us/library/4kze989h.aspx  And constexpr
+-    // seems to cause the warning to be emitted at |WrappingMultiply| call
+-    // *sites* instead of here, so these #pragmas are ineffective.
+-    //
+-    // https://stackoverflow.com/questions/37658794/integer-constant-overflow-warning-in-constexpr
+-    //
+-    // If/when MSVC fix this bug, we should make these functions constexpr.
 -
 -    // Begin with |1U| to ensure the overall operation chain is never promoted
 -    // to signed integer operations that might have *signed* integer overflow.
 -    return static_cast<UnsignedT>(1U * aX * aY);
 -  }
 -
--  static T
--  toResult(UnsignedT aX, UnsignedT aY)
--  {
+-  static T toResult(UnsignedT aX, UnsignedT aY) {
 -    // We could always return WrapToSigned and rely on unsigned conversion
 -    // undoing the wrapping when |T| is unsigned, but this seems clearer.
--    return IsSigned<T>::value
--           ? WrapToSigned(multiply(aX, aY))
--           : multiply(aX, aY);
+-    return IsSigned<T>::value ? WrapToSigned(multiply(aX, aY))
+-                              : multiply(aX, aY);
 -  }
 -
- public:
+  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-   static T compute(T aX, T aY)
-   {
+   static T compute(T aX, T aY) {
 -    return toResult(static_cast<UnsignedT>(aX), static_cast<UnsignedT>(aY));
 +    // Begin with |1U| to ensure the overall operation chain is never promoted
 +    // to signed integer operations that might have *signed* integer overflow.
@@ -208,7 +193,7 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
    }
  };
  
- } // namespace detail
+ }  // namespace detail
  
  /**
 - * Multiply two integers of the same type, and return the result converted to
@@ -250,7 +235,8 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 + * numbers wrapped to unsigned, then wrapping the product mod 2**N to the signed
 + * range:
   *
-  *   WrappingMultiply(int16_t(-456), int16_t(123)) is 9448 ((-56088 mod 2**16) + 2**16);
+  *   WrappingMultiply(int16_t(-456), int16_t(123)) is
+  *     9448 ((-56088 mod 2**16) + 2**16);
   *   WrappingMultiply(int32_t(-7), int32_t(-9)) is 63 (63 mod 2**32);
   *   WrappingMultiply(int8_t(16), int8_t(24)) is -128 ((384 mod 2**8) - 2**8);
   *   WrappingMultiply(int8_t(16), int8_t(255)) is -16 ((4080 mod 2**8) - 2**8).
@@ -265,11 +251,10 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 + * multiplication *tends* to behave with most compilers, unless an optimization
 + * or similar -- quite permissibly -- triggers different behavior.
   */
- template<typename T>
- inline T
- WrappingMultiply(T aX, T aY)
- {
+ template <typename T>
+ inline T WrappingMultiply(T aX, T aY) {
    return detail::WrappingMultiplyHelper<T>::compute(aX, aY);
  }
  
-
+ } /* namespace mozilla */
+ 

+ 15 - 20
comm-esr60/mozilla-esr60/patches/1445024-3-63a1.patch → rel-257/mozilla-esr60/patches/1445024-3-61a1.patch

@@ -2,30 +2,28 @@
 # User Jeff Walden <jwalden@mit.edu>
 # Date 1520392940 28800
 # Node ID 82c94b9264508498233e68f85d27fd8388e66e17
-# Parent  99f24cb57f64dde82d9bcf357a5dfbbfc7761e0c
+# Parent  dc341d616796e43da884dc70815eec4a67c96dc4
 Bug 1445024 - Implement mozilla::WrappingSubtract.  r=froydnj
 
 diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 --- a/mfbt/WrappingOperations.h
 +++ b/mfbt/WrappingOperations.h
-@@ -169,16 +169,66 @@ inline T
- WrappingAdd(T aX, T aY)
- {
+@@ -161,16 +161,62 @@ public:
+ template <typename T>
+ inline T WrappingAdd(T aX, T aY) {
    return detail::WrappingAddHelper<T>::compute(aX, aY);
  }
  
  namespace detail {
  
- template<typename T>
-+struct WrappingSubtractHelper
-+{
+ template <typename T>
++struct WrappingSubtractHelper {
 +private:
 +  using UnsignedT = typename MakeUnsigned<T>::Type;
 +
 +public:
 +  MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-+  static T compute(T aX, T aY)
-+  {
++  static T compute(T aX, T aY) {
 +    return ToResult<T>(static_cast<UnsignedT>(aX) - static_cast<UnsignedT>(aY));
 +  }
 +};
@@ -57,24 +55,22 @@ diff --git a/mfbt/WrappingOperations.h b/mfbt/WrappingOperations.h
 + * to behave with most compilers, unless an optimization or similar -- quite
 + * permissibly -- triggers different behavior.
 + */
-+template<typename T>
-+inline T
-+WrappingSubtract(T aX, T aY)
-+{
++template <typename T>
++inline T WrappingSubtract(T aX, T aY) {
 +  return detail::WrappingSubtractHelper<T>::compute(aX, aY);
 +}
 +
 +namespace detail {
 +
-+template<typename T>
- struct WrappingMultiplyHelper
- {
- private:
++template <typename T>
+ struct WrappingMultiplyHelper {
+  private:
    using UnsignedT = typename MakeUnsigned<T>::Type;
  
- public:
+  public:
    MOZ_NO_SANITIZE_UNSIGNED_OVERFLOW
-   static T compute(T aX, T aY)
+   static T compute(T aX, T aY) {
+     // Begin with |1U| to ensure the overall operation chain is never promoted
 diff --git a/mfbt/tests/TestWrappingOperations.cpp b/mfbt/tests/TestWrappingOperations.cpp
 --- a/mfbt/tests/TestWrappingOperations.cpp
 +++ b/mfbt/tests/TestWrappingOperations.cpp
@@ -280,4 +276,3 @@ diff --git a/mfbt/tests/TestWrappingOperations.cpp b/mfbt/tests/TestWrappingOper
    TestWrappingMultiply();
    return 0;
  }
-

+ 45 - 48
comm-esr60/mozilla-esr60/patches/1445105-61a1.patch → rel-257/mozilla-esr60/patches/1445105-61a1.patch

@@ -2,7 +2,7 @@
 # User Ryan VanderMeulen <ryanvm@gmail.com>
 # Date 1521477721 14400
 # Node ID 34a7d2c7e73e01dd81323c90348a98bd37e259f7
-# Parent  85f59732dad2187d5f5499c06ed8a9cb228f8e5f
+# Parent  098c774b3b7e1ea42e8d6365fe0881b1fc86dd04
 Bug 1445105 - Remove various MSVC de-optimizations used to work around compiler bugs which are no longer needed. r=dmajor
 
 This reverts the following bugs: 703135, 977538, 1274450, 1403220
@@ -10,28 +10,25 @@ This reverts the following bugs: 703135, 977538, 1274450, 1403220
 diff --git a/js/public/Value.h b/js/public/Value.h
 --- a/js/public/Value.h
 +++ b/js/public/Value.h
-@@ -246,30 +246,23 @@ constexpr uint64_t CanonicalizedNaNBits 
+@@ -258,27 +258,20 @@ constexpr uint64_t CanonicalizedNaNBits 
+  * Among other properties, this NaN's bit pattern conforms to JS::Value's
+  * bit pattern restrictions.
   */
- static MOZ_ALWAYS_INLINE double
- GenericNaN()
- {
+ static MOZ_ALWAYS_INLINE double GenericNaN() {
    return mozilla::SpecificNaN<double>(detail::CanonicalizedNaNSignBit,
                                        detail::CanonicalizedNaNSignificand);
  }
  
 -/* MSVC with PGO miscompiles this function. */
 -#if defined(_MSC_VER)
--# pragma optimize("g", off)
+-#pragma optimize("g", off)
 -#endif
- static inline double
- CanonicalizeNaN(double d)
- {
-     if (MOZ_UNLIKELY(mozilla::IsNaN(d)))
-         return GenericNaN();
-     return d;
+ static inline double CanonicalizeNaN(double d) {
+   if (MOZ_UNLIKELY(mozilla::IsNaN(d))) return GenericNaN();
+   return d;
  }
 -#if defined(_MSC_VER)
--# pragma optimize("", on)
+-#pragma optimize("", on)
 -#endif
  
  /**
@@ -40,15 +37,15 @@ diff --git a/js/public/Value.h b/js/public/Value.h
   *
   * - JS::Value has setX() and isX() members for X in
   *
-  *     { Int32, Double, String, Symbol, Boolean, Undefined, Null, Object, Magic }
+  *     { Int32, Double, String, Symbol, Boolean, Undefined, Null,
 diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp
 --- a/layout/generic/nsTextFrame.cpp
 +++ b/layout/generic/nsTextFrame.cpp
-@@ -1996,20 +1996,16 @@ BuildTextRunsScanner::GetNextBreakBefore
- {
+@@ -1946,20 +1946,16 @@ void BuildTextRunsScanner::ScanFrame(nsI
+ 
+ nsTextFrame* BuildTextRunsScanner::GetNextBreakBeforeFrame(uint32_t* aIndex) {
    uint32_t index = *aIndex;
-   if (index >= mLineBreakBeforeFrames.Length())
-     return nullptr;
+   if (index >= mLineBreakBeforeFrames.Length()) return nullptr;
    *aIndex = index + 1;
    return static_cast<nsTextFrame*>(mLineBreakBeforeFrames.ElementAt(index));
  }
@@ -57,15 +54,15 @@ diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp
 -#if defined(_MSC_VER) && defined(_M_IX86)
 -#pragma optimize("", off)
 -#endif
- static gfxFontGroup*
- GetFontGroupForFrame(const nsIFrame* aFrame, float aFontSizeInflation,
-                      nsFontMetrics** aOutFontMetrics = nullptr)
- {
+ static gfxFontGroup* GetFontGroupForFrame(
+     const nsIFrame* aFrame, float aFontSizeInflation,
+     nsFontMetrics** aOutFontMetrics = nullptr) {
    RefPtr<nsFontMetrics> metrics =
-     nsLayoutUtils::GetFontMetricsForFrame(aFrame, aFontSizeInflation);
+       nsLayoutUtils::GetFontMetricsForFrame(aFrame, aFontSizeInflation);
    gfxFontGroup* fontGroup = metrics->GetThebesFontGroup();
  
-@@ -2018,19 +2014,16 @@ GetFontGroupForFrame(const nsIFrame* aFr
+   // Populate outparam before we return:
+@@ -1967,19 +1963,16 @@ static gfxFontGroup* GetFontGroupForFram
      metrics.forget(aOutFontMetrics);
    }
    // XXX this is a bit bogus, we're releasing 'metrics' so the
@@ -78,17 +75,17 @@ diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp
 -#pragma optimize("", on)
 -#endif
  
- static already_AddRefed<DrawTarget>
- CreateReferenceDrawTarget(const nsTextFrame* aTextFrame)
- {
+ static already_AddRefed<DrawTarget> CreateReferenceDrawTarget(
+     const nsTextFrame* aTextFrame) {
    RefPtr<gfxContext> ctx =
-     aTextFrame->PresContext()->PresShell()->CreateReferenceRenderingContext();
+       aTextFrame->PresShell()->CreateReferenceRenderingContext();
    RefPtr<DrawTarget> dt = ctx->GetDrawTarget();
    return dt.forget();
+ }
 diff --git a/layout/xul/tree/nsTreeBodyFrame.cpp b/layout/xul/tree/nsTreeBodyFrame.cpp
 --- a/layout/xul/tree/nsTreeBodyFrame.cpp
 +++ b/layout/xul/tree/nsTreeBodyFrame.cpp
-@@ -3724,23 +3724,16 @@ nsTreeBodyFrame::PaintImage(int32_t     
+@@ -3478,23 +3478,16 @@ ImgDrawResult nsTreeBodyFrame::PaintImag
    aRemainingWidth -= imageRect.width;
    if (!isRTL) {
      aCurrX += imageRect.width;
@@ -102,18 +99,18 @@ diff --git a/layout/xul/tree/nsTreeBodyFrame.cpp b/layout/xul/tree/nsTreeBodyFra
 -// initialize fontMet after storing fontMet on the stack in the same
 -// space, overwriting fontMet's stack storage with null.
 -#ifdef _MSC_VER
--# pragma optimize("g", off)
+-#pragma optimize("g", off)
 -#endif
- DrawResult
- nsTreeBodyFrame::PaintText(int32_t              aRowIndex,
-                            nsTreeColumn*        aColumn,
-                            const nsRect&        aTextRect,
-                            nsPresContext*      aPresContext,
-                            gfxContext&          aRenderingContext,
-                            const nsRect&        aDirtyRect,
-                            nscoord&             aCurrX)
-@@ -3862,19 +3855,16 @@ nsTreeBodyFrame::PaintText(int32_t      
-                             cellContext);
+ ImgDrawResult nsTreeBodyFrame::PaintText(
+     int32_t aRowIndex, nsTreeColumn* aColumn, const nsRect& aTextRect,
+     nsPresContext* aPresContext, gfxContext& aRenderingContext,
+     const nsRect& aDirtyRect, nscoord& aCurrX) {
+   NS_PRECONDITION(aColumn && aColumn->GetFrame(), "invalid column passed");
+ 
+   bool isRTL = StyleVisibility()->mDirection == NS_STYLE_DIRECTION_RTL;
+ 
+@@ -3612,19 +3605,16 @@ ImgDrawResult nsTreeBodyFrame::PaintText
+       textRect.TopLeft() + nsPoint(0, baseline), cellContext);
  
    if (opacity != 1.0f) {
      aRenderingContext.PopGroupAndBlend();
@@ -122,16 +119,16 @@ diff --git a/layout/xul/tree/nsTreeBodyFrame.cpp b/layout/xul/tree/nsTreeBodyFra
    return result;
  }
 -#ifdef _MSC_VER
--# pragma optimize("", on)
+-#pragma optimize("", on)
 -#endif
  
- DrawResult
- nsTreeBodyFrame::PaintCheckbox(int32_t              aRowIndex,
-                                nsTreeColumn*        aColumn,
-                                const nsRect&        aCheckboxRect,
-                                nsPresContext*      aPresContext,
-                                gfxContext&          aRenderingContext,
-                                const nsRect&        aDirtyRect)
+ ImgDrawResult nsTreeBodyFrame::PaintCheckbox(int32_t aRowIndex,
+                                              nsTreeColumn* aColumn,
+                                              const nsRect& aCheckboxRect,
+                                              nsPresContext* aPresContext,
+                                              gfxContext& aRenderingContext,
+                                              const nsRect& aDirtyRect) {
+   NS_PRECONDITION(aColumn && aColumn->GetFrame(), "invalid column passed");
 diff --git a/media/libtheora/bug703135.patch b/media/libtheora/bug703135.patch
 deleted file mode 100644
 --- a/media/libtheora/bug703135.patch

+ 13 - 13
comm-esr60/mozilla-esr60/patches/1453317-61a1.patch → rel-257/mozilla-esr60/patches/1453317-61a1.patch

@@ -2,20 +2,20 @@
 # User Ryan VanderMeulen <ryanvm@gmail.com>
 # Date 1523453042 14400
 # Node ID f041c724fb809d3c927000e38bf67034d3a3930e
-# Parent  b275cd2315d7044bcc459369558935d56e4cae28
+# Parent  6ca906d739555bb8cd9f549279f567cc83b71e51
 Bug 1453317 - Update VS2017 used in automation to version 15.6.6. r=froydnj
 CLOSED TREE
 
 diff --git a/browser/config/tooltool-manifests/win32/releng.manifest b/browser/config/tooltool-manifests/win32/releng.manifest
 --- a/browser/config/tooltool-manifests/win32/releng.manifest
 +++ b/browser/config/tooltool-manifests/win32/releng.manifest
-@@ -9,21 +9,21 @@
-     "version": "rustc 1.19.0 (0ade33941 2017-07-17) repack",
-     "size": 97017057,
-     "digest": "b726645f9d26c5a3048720b3839166021c1cf91a02d2ff2f10c49adced7455c7352e18b5052084d80bf9d1c40ec1bf72d0397921b8cd23262f89fdbd10def58f",
+@@ -1,21 +1,21 @@
+ [
+   {
+     "size": 266240,
+     "digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
      "algorithm": "sha512",
-     "filename": "rustc.tar.bz2",
-     "unpack": true
+     "filename": "mozmake.exe"
    },
    {
 -    "version": "Visual Studio 2017 15.6.0 / SDK 10.0.15063.0",
@@ -38,13 +38,13 @@ diff --git a/browser/config/tooltool-manifests/win32/releng.manifest b/browser/c
 diff --git a/browser/config/tooltool-manifests/win64/releng.manifest b/browser/config/tooltool-manifests/win64/releng.manifest
 --- a/browser/config/tooltool-manifests/win64/releng.manifest
 +++ b/browser/config/tooltool-manifests/win64/releng.manifest
-@@ -10,21 +10,21 @@
-     "size": 103602526,
-     "digest": "558d2d18991ad8b250a5d6b46a55e1ffdffc50d6bdd9cb4b3a945dd3d1143836b32e47f1df612bfea97ca2c02333ed43055b6c3030ecb1632385fb6940c1d246",
+@@ -1,21 +1,21 @@
+ [
+   {
+     "size": 266240,
+     "digest": "bb345b0e700ffab4d09436981f14b5de84da55a3f18a7f09ebc4364a4488acdeab8d46f447b12ac70f2da1444a68b8ce8b8675f0dae2ccf845e966d1df0f0869",
      "algorithm": "sha512",
-     "visibility": "public",
-     "filename": "rustc.tar.bz2",
-     "unpack": true
+     "filename": "mozmake.exe"
    },
    {
 -    "version": "Visual Studio 2017 15.6.0 / SDK 10.0.15063.0",

+ 3 - 3
comm-esr60/mozilla-esr60/patches/1453444-62a1.patch → rel-257/mozilla-esr60/patches/1453444-62a1.patch

@@ -2,7 +2,7 @@
 # User Sylvestre Ledru <sledru@mozilla.com>
 # Date 1525866796 -7200
 # Node ID c79c482d50a3af4253bca2c1887e9844a6732753
-# Parent  4d9871b5e4b2df2e8ade9d160847bae58dfb0941
+# Parent  952bf53abc8aafdab549add0796981a16e286de4
 Bug 1453444 - Add support for versioned lld binaries r=glandium
 Can be used:
 ac_add_options --enable-linker=lld-7
@@ -14,7 +14,7 @@ MozReview-Commit-ID: GfDevGeooU4
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -1379,30 +1379,33 @@ def is_linker_option_enabled(target):
+@@ -1479,30 +1479,33 @@ def is_linker_option_enabled(target):
  option('--enable-gold',
         env='MOZ_FORCE_GOLD',
         help='Enable GNU Gold Linker when it is not already the default',
@@ -50,7 +50,7 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
      cmd = cmd_base + linker_flag + version_check
      if toolchain_flags:
          cmd += toolchain_flags
-@@ -1435,20 +1438,20 @@ def select_linker(linker, c_compiler, de
+@@ -1535,20 +1538,20 @@ def select_linker(linker, c_compiler, de
              KIND='gold'
          )
  

+ 2 - 2
comm-esr60/mozilla-esr60/patches/1455767-62a1.patch → rel-257/mozilla-esr60/patches/1455767-62a1.patch

@@ -2,7 +2,7 @@
 # User Sylvestre Ledru <sledru@mozilla.com>
 # Date 1524742056 -7200
 # Node ID a42df29b0d3dc2219a39535661655da216dbb5b1
-# Parent  19b74d5728f2162471a62ca2fba0955b44e3187d
+# Parent  79332951bc99dcc60d4dd974dd6cb8cbe82396a4
 Bug 1455767 - As we have gcc 6 as requirement, use -fuse-ld everywhere instead of the -B trick r=glandium
 + simplify the code
 
@@ -11,7 +11,7 @@ MozReview-Commit-ID: 1Qz5H8VkfpD
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -1378,119 +1378,84 @@ def is_linker_option_enabled(target):
+@@ -1478,119 +1478,84 @@ def is_linker_option_enabled(target):
  
  option('--enable-gold',
         env='MOZ_FORCE_GOLD',

+ 15 - 5
comm-esr60/mozilla-esr60/patches/1457523-61a1.patch → rel-257/mozilla-esr60/patches/1457523-61a1.patch

@@ -2,13 +2,13 @@
 # User David Major <dmajor@mozilla.com>
 # Date 1525377233 14400
 # Node ID 9f099a327258d4e75debe8f70838c0dac2e46d06
-# Parent  75a0ba5cf58ce4f86917b1c088a30264f56b2ea6
+# Parent  7c6eea45075fb39af884ce865a7d594d3f1ef24b
 Bug 1457523: Add msdia140.dll to the package on Windows ASan CI builds. r=ted
 
 diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in
 --- a/browser/installer/Makefile.in
 +++ b/browser/installer/Makefile.in
-@@ -142,16 +142,19 @@ DEFINES += -DCLANG_CL
+@@ -149,16 +149,19 @@ DEFINES += -DCLANG_CL
  endif
  
  ifdef LLVM_SYMBOLIZER
@@ -31,7 +31,7 @@ diff --git a/browser/installer/Makefile.in b/browser/installer/Makefile.in
 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
-@@ -805,16 +805,20 @@ bin/libfreebl_32int64_3.so
+@@ -787,16 +787,20 @@ bin/libfreebl_32int64_3.so
  @RESPATH@/components/dom_audiochannel.xpt
  
  ; Shutdown Terminator
@@ -73,7 +73,7 @@ diff --git a/build/win32/moz.build b/build/win32/moz.build
 diff --git a/build/win32/mozconfig.vs2017 b/build/win32/mozconfig.vs2017
 --- a/build/win32/mozconfig.vs2017
 +++ b/build/win32/mozconfig.vs2017
-@@ -4,18 +4,19 @@ if [ -z "${VSPATH}" ]; then
+@@ -4,27 +4,29 @@ if [ -z "${VSPATH}" ]; then
  fi
  
  if [ -d "${VSPATH}" ]; then
@@ -90,10 +90,20 @@ diff --git a/build/win32/mozconfig.vs2017 b/build/win32/mozconfig.vs2017
  
      export INCLUDE="${VSPATH}/VC/include:${VSPATH}/VC/atlmfc/include:${VSPATH}/SDK/Include/10.0.15063.0/ucrt:${VSPATH}/SDK/Include/10.0.15063.0/shared:${VSPATH}/SDK/Include/10.0.15063.0/um:${VSPATH}/SDK/Include/10.0.15063.0/winrt:${VSPATH}/DIA SDK/include"
      export LIB="${VSPATH}/VC/lib/x86:${VSPATH}/VC/atlmfc/lib/x86:${VSPATH}/SDK/Lib/10.0.15063.0/ucrt/x86:${VSPATH}/SDK/Lib/10.0.15063.0/um/x86:${VSPATH}/DIA SDK/lib"
+ 
+     export WIN64_LINK="${VSPATH}/VC/bin/Hostx64/x64/link.exe"
+     export WIN64_LIB="${VSPATH}/VC/lib/x64:${VSPATH}/VC/atlmfc/lib/x64:${VSPATH}/SDK/Lib/10.0.15063.0/ucrt/x64:${VSPATH}/SDK/Lib/10.0.15063.0/um/x64:${VSPATH}/DIA SDK/lib/amd64"
  fi
  
  . $topsrcdir/build/mozconfig.vs-common
  
+ mk_export_correct_style WINDOWSSDKDIR
+ mk_export_correct_style WIN32_REDIST_DIR
+ mk_export_correct_style WIN_UCRT_REDIST_DIR
++mk_export_correct_style WIN_DIA_SDK_BIN_DIR
+ mk_export_correct_style PATH
+ mk_export_correct_style INCLUDE
+ mk_export_correct_style LIB
 diff --git a/build/win64/mozconfig.vs2017 b/build/win64/mozconfig.vs2017
 --- a/build/win64/mozconfig.vs2017
 +++ b/build/win64/mozconfig.vs2017
@@ -151,7 +161,7 @@ diff --git a/old-configure.in b/old-configure.in
  
          if test -n "$WIN32_REDIST_DIR"; then
            if test ! -d "$WIN32_REDIST_DIR"; then
-@@ -4570,16 +4577,17 @@ if test -n "$MOZ_TELEMETRY_REPORTING" ||
+@@ -4279,16 +4286,17 @@ if test -n "$MOZ_TELEMETRY_REPORTING" ||
    MOZ_DATA_REPORTING=1
    AC_DEFINE(MOZ_DATA_REPORTING)
    AC_SUBST(MOZ_DATA_REPORTING)

+ 2 - 2
comm-esr60/mozilla-esr60/patches/1459988-62a1.patch → rel-257/mozilla-esr60/patches/1459988-62a1.patch

@@ -2,13 +2,13 @@
 # User Nathan Froyd <froydnj@mozilla.com>
 # Date 1525901192 14400
 # Node ID bb8e6bef734f562d70737964dd93f417f19e8c1c
-# Parent  a556792cacf0e778562388b397adfe425e29e38b
+# Parent  27ca456009ca32633824194f8114c7c4af193fc3
 Bug 1459988 - disallow MSVC 15.7+ from being used to build Firefox; r=ted.mielczarek
 
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -894,17 +894,28 @@ def compiler(language, host_or_target, c
+@@ -912,17 +912,28 @@ def compiler(language, host_or_target, c
              raise FatalCheckError(
                  'Only clang/llvm 3.6 or newer is supported.')
  

+ 2 - 2
comm-esr60/mozilla-esr60/patches/1459993-62a1.patch → rel-257/mozilla-esr60/patches/1459993-62a1.patch

@@ -2,7 +2,7 @@
 # User Nathan Froyd <froydnj@mozilla.com>
 # Date 1525901191 14400
 # Node ID ed0bdeaa6fd4284bf48d9b055148ec0fe308cfcc
-# Parent  5c36109b7c7830982d54cd265d38338c0e41d4dc
+# Parent  a9e3c82acf1baf2dad4263f6539b20af49ca3137
 Bug 1459993 - remove MSVC 2015 bits from toolchain.configure; r=ted.mielczarek
 
 It's unsupported, so we might as well get rid of the bits for it.
@@ -86,7 +86,7 @@ diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolc
  @imports('platform')
  def vc_compiler_path(host, target, vs_major_version, env, vs_release_name):
      if host.kernel != 'WINNT':
-@@ -1031,18 +1015,16 @@ building_with_gcc = depends(c_compiler)(
+@@ -1050,18 +1034,16 @@ building_with_gcc = depends(c_compiler)(
  
  @depends(c_compiler)
  def msvs_version(info):

+ 13 - 13
comm-esr60/mozilla-esr60/patches/1474684-1-63a1.patch → rel-257/mozilla-esr60/patches/1474684-1-63a1.patch

@@ -2,7 +2,7 @@
 # User Dan Minor <dminor@mozilla.com>
 # Date 1531932465 14400
 # Node ID fac4d7589e5d24b9a9b182ec08a62ddf382c7864
-# Parent  54e768a41a878f5a4aa628125cc6871f95958aec
+# Parent  64614dd1a82f82579d4b44a9b7fea8198fa22af6
 Bug 1474684 - Use larger stack for media decoder threads; r=jya,froydnj
 
 Summary:
@@ -21,19 +21,19 @@ Differential Revision: https://phabricator.services.mozilla.com/D2226
 diff --git a/dom/media/VideoUtils.cpp b/dom/media/VideoUtils.cpp
 --- a/dom/media/VideoUtils.cpp
 +++ b/dom/media/VideoUtils.cpp
-@@ -201,18 +201,31 @@ already_AddRefed<SharedThreadPool> GetMe
-       name = "MediaPDecoder";
-       break;
+@@ -196,18 +196,30 @@ already_AddRefed<SharedThreadPool> GetMe
      default:
        MOZ_FALLTHROUGH_ASSERT("Unexpected MediaThreadType");
      case MediaThreadType::PLAYBACK:
        name = "MediaPlayback";
        break;
    }
--  return SharedThreadPool::
-+
+ 
+   static const uint32_t kMediaThreadPoolDefaultCount = 4;
+-  return SharedThreadPool::Get(nsDependentCString(name),
+-                               kMediaThreadPoolDefaultCount);
 +  RefPtr<SharedThreadPool> pool = SharedThreadPool::
-     Get(nsDependentCString(name), MediaPrefs::MediaThreadPoolDefaultCount());
++    Get(nsDependentCString(name), kMediaThreadPoolDefaultCount);
 +
 +  // Ensure a larger stack for platform decoder threads
 +  if (aType == MediaThreadType::PLATFORM_DECODER) {
@@ -48,9 +48,9 @@ diff --git a/dom/media/VideoUtils.cpp b/dom/media/VideoUtils.cpp
 +  return already_AddRefed<SharedThreadPool>(pool.forget());
  }
  
- bool
- ExtractVPXCodecDetails(const nsAString& aCodec,
-                        uint8_t& aProfile,
-                        uint8_t& aLevel,
-                        uint8_t& aBitDepth)
- {
+ bool ExtractVPXCodecDetails(const nsAString& aCodec, uint8_t& aProfile,
+                             uint8_t& aLevel, uint8_t& aBitDepth) {
+   uint8_t dummyChromaSubsampling = 1;
+   VideoColorSpace dummyColorspace;
+   return ExtractVPXCodecDetails(aCodec, aProfile, aLevel, aBitDepth,
+                                 dummyChromaSubsampling, dummyColorspace);

+ 8 - 8
comm-esr60/mozilla-esr60/patches/1474684-2-63a1.patch → rel-257/mozilla-esr60/patches/1474684-2-63a1.patch

@@ -2,7 +2,7 @@
 # User Dan Minor <dminor@mozilla.com>
 # Date 1532090390 14400
 # Node ID 367993fd2ba392af87794c8867fdfa4f9e4c3887
-# Parent  d4863b93c9c400314f730085cd52a9a55e978c5c
+# Parent  e183d3ad2b7e00833fa337354fff53f82095cdd7
 Bug 1474684 - Remove unnecessary already_addRefed from return; r=jya
 
 Reviewers: jya
@@ -16,7 +16,7 @@ Differential Revision: https://phabricator.services.mozilla.com/D2264
 diff --git a/dom/media/VideoUtils.cpp b/dom/media/VideoUtils.cpp
 --- a/dom/media/VideoUtils.cpp
 +++ b/dom/media/VideoUtils.cpp
-@@ -215,17 +215,17 @@ already_AddRefed<SharedThreadPool> GetMe
+@@ -209,17 +209,17 @@ already_AddRefed<SharedThreadPool> GetMe
      const uint32_t minStackSize = 512*1024;
      uint32_t stackSize;
      MOZ_ALWAYS_SUCCEEDS(pool->GetThreadStackSize(&stackSize));
@@ -29,9 +29,9 @@ diff --git a/dom/media/VideoUtils.cpp b/dom/media/VideoUtils.cpp
 +  return pool.forget();
  }
  
- bool
- ExtractVPXCodecDetails(const nsAString& aCodec,
-                        uint8_t& aProfile,
-                        uint8_t& aLevel,
-                        uint8_t& aBitDepth)
- {
+ bool ExtractVPXCodecDetails(const nsAString& aCodec, uint8_t& aProfile,
+                             uint8_t& aLevel, uint8_t& aBitDepth) {
+   uint8_t dummyChromaSubsampling = 1;
+   VideoColorSpace dummyColorspace;
+   return ExtractVPXCodecDetails(aCodec, aProfile, aLevel, aBitDepth,
+                                 dummyChromaSubsampling, dummyColorspace);

+ 2 - 2
comm-esr60/mozilla-esr60/patches/1484190-63a1.patch → rel-257/mozilla-esr60/patches/1484190-63a1.patch

@@ -2,13 +2,13 @@
 # User Masatoshi Kimura <VYV03354@nifty.ne.jp>
 # Date 1534506109 -32400
 # Node ID 574377aa45865d04eed2713f331c1f553f7f12f7
-# Parent  00f80ad5abe6799bb00274b03cdb343e84eaecaa
+# Parent  bfdd76288bb28b35010ffb6f18ed634ac66a5b53
 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
 
 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
 --- a/build/moz.configure/toolchain.configure
 +++ b/build/moz.configure/toolchain.configure
-@@ -878,29 +878,29 @@ def compiler(language, host_or_target, c
+@@ -896,29 +896,29 @@ def compiler(language, host_or_target, c
              raise FatalCheckError(
                  'Only clang/llvm 3.6 or newer is supported.')
  

+ 21 - 0
rel-257/mozilla-esr60/patches/series

@@ -74,3 +74,24 @@ NOBUG-0c5f5c2e2a86-64a1.patch
 1496823-6-64a1.patch
 1496823-7-64a1.patch
 1496823-8-64a1.patch
+1434844-61a1.patch
+1474684-1-63a1.patch
+1474684-2-63a1.patch
+1351078-67a1.patch
+1424281-1-61a1.patch
+1424281-2-61a1.patch
+1424281-3-61a1.patch
+1444274-61a1.patch
+1086964-61a1.patch
+1445024-1-61a1.patch
+1445024-2-61a1.patch
+1445024-3-61a1.patch
+1443706-61a1.patch
+1445105-61a1.patch
+1455767-62a1.patch
+1453444-62a1.patch
+1459988-62a1.patch
+1459993-62a1.patch
+1484190-63a1.patch
+1453317-61a1.patch
+1457523-61a1.patch