[arch-commits] Commit in electron/trunk (20 files)

Nicola Squartini tensor5 at archlinux.org
Fri Nov 16 20:17:54 UTC 2018


    Date: Friday, November 16, 2018 @ 20:17:53
  Author: tensor5
Revision: 408477

upgpkg: electron 3.0.9-1

Added:
  electron/trunk/libchromiumcontent-remove-useless-patches.patch
  electron/trunk/no-clang-plugins.patch
Modified:
  electron/trunk/PKGBUILD
  electron/trunk/chromium-use-system-ffmpeg.patch
  electron/trunk/default_app-icon.patch
  electron/trunk/dont-bootstrap-libchromiumcontent.patch
  electron/trunk/dont-update-submodules.patch
  electron/trunk/dont-use-sysroot.patch
  electron/trunk/libchromiumcontent-settings.patch
  electron/trunk/libchromiumcontent-sort-filenames.patch
  electron/trunk/libchromiumcontent-static-library-only.patch
  electron/trunk/libchromiumcontent-use-system-tools.patch
  electron/trunk/no-whole-archive.patch
  electron/trunk/use-system-ffmpeg.patch
  electron/trunk/use-system-libraries-in-node.patch
Deleted:
  electron/trunk/chromium-atk-r1.patch
  electron/trunk/chromium-gn-bootstrap-r14.patch
  electron/trunk/chromium-include-functional.patch
  electron/trunk/chromium-use-system-minizip.patch
  electron/trunk/libchromiumcontent-fix-v8-patches.patch

-------------------------------------------------+
 PKGBUILD                                        |  128 ++---
 chromium-atk-r1.patch                           |   11 
 chromium-gn-bootstrap-r14.patch                 |   27 -
 chromium-include-functional.patch               |   10 
 chromium-use-system-ffmpeg.patch                |   93 ---
 chromium-use-system-minizip.patch               |   14 
 default_app-icon.patch                          |    2 
 dont-bootstrap-libchromiumcontent.patch         |    6 
 dont-update-submodules.patch                    |    6 
 dont-use-sysroot.patch                          |    8 
 libchromiumcontent-fix-v8-patches.patch         |  536 ----------------------
 libchromiumcontent-remove-useless-patches.patch |  518 +++++++++++++++++++++
 libchromiumcontent-settings.patch               |   11 
 libchromiumcontent-sort-filenames.patch         |    6 
 libchromiumcontent-static-library-only.patch    |   40 -
 libchromiumcontent-use-system-tools.patch       |   67 --
 no-clang-plugins.patch                          |   38 +
 no-whole-archive.patch                          |    2 
 use-system-ffmpeg.patch                         |    4 
 use-system-libraries-in-node.patch              |    6 
 20 files changed, 695 insertions(+), 838 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-11-16 18:13:49 UTC (rev 408476)
+++ PKGBUILD	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,19 +1,18 @@
 # Maintainer: Nicola Squartini <tensor5 at gmail.com>
 
-_chromiumver=61.0.3163.100
+_chromiumver=66.0.3359.181
 pkgname=electron
-pkgver=2.0.12
+pkgver=3.0.9
 pkgrel=1
 pkgdesc='Build cross platform desktop apps with web technologies'
 arch=('x86_64')
 url='https://electronjs.org/'
 license=('MIT' 'custom')
-depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libvpx' 'libxslt'
-         'libxss' 'minizip' 'nss' 're2' 'snappy')
-makedepends=('clang' 'git' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libnotify' 'lld'
-             'llvm' 'ninja' 'npm' 'pciutils' 'python2' 'wget' 'yasm')
-optdepends=('gvfs: file deletion support (gvfs-trash)'
-            'kde-cli-tools: file deletion support (kioclient5)'
+depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libxslt' 'libxss'
+         'minizip' 'nss' 'snappy')
+makedepends=('clang' 'git' 'gn' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libnotify'
+             'lld' 'llvm' 'ninja' 'npm' 'pciutils' 'python2' 'wget' 'yasm')
+optdepends=('kde-cli-tools: file deletion support (kioclient5)'
             'trash-cli: file deletion support (trash-put)'
             "xdg-utils: open URLs with desktop's default (xdg-email, xdg-open)")
 source=("git+https://github.com/electron/electron.git#tag=v${pkgver}"
@@ -22,35 +21,32 @@
         'git+https://chromium.googlesource.com/chromium/src/tools/grit.git'
         'git+https://github.com/electron/gyp.git'
         "git+https://github.com/electron/libchromiumcontent.git"
-        'native_mate::git+https://github.com/electron/native-mate.git'
         'git+https://github.com/electron/node.git'
         'pdf_viewer::git+https://github.com/electron/pdf-viewer.git'
+        'git+https://github.com/yaml/pyyaml.git'
         'git+https://github.com/kennethreitz/requests.git'
         'google-breakpad::git+https://chromium.googlesource.com/breakpad/breakpad/src'
-        "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${_chromiumver}.tar.xz"
+        "electron-chromium-${_chromiumver}.tar.bz2::https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent/linux/src/${_chromiumver}/src.tar.bz2"
         'electron.desktop'
         'default_app-icon.patch'
         'dont-bootstrap-libchromiumcontent.patch'
         'dont-update-submodules.patch'
         'dont-use-sysroot.patch'
+        'no-clang-plugins.patch'
         'no-whole-archive.patch'
         'use-system-libraries-in-node.patch'
         'use-system-ffmpeg.patch'
         'breakpad-glibc2.26.patch'
         'gyp-no-rpath.patch'
-        'libchromiumcontent-fix-v8-patches.patch'
+        'libchromiumcontent-remove-useless-patches.patch'
         'libchromiumcontent-settings.patch'
         'libchromiumcontent-sort-filenames.patch'
         'libchromiumcontent-static-library-only.patch'
         'libchromiumcontent-use-system-tools.patch'
-        'chromium-atk-r1.patch'
-        'chromium-gn-bootstrap-r14.patch'
-        'chromium-include-functional.patch'
         'chromium-use-system-ffmpeg.patch'
-        'chromium-use-system-minizip.patch'
         'chromium-use-system-re2.patch'
        )
-noextract=("chromium-${_chromiumver}.tar.xz")
+noextract=("electron-chromium-${_chromiumver}.tar.bz2")
 sha512sums=('SKIP'
             'SKIP'
             'SKIP'
@@ -62,27 +58,24 @@
             'SKIP'
             'SKIP'
             'SKIP'
-            '4dfd3a493ceb7c605eeab6f387541273d529e8b935a6104927e34836469aedcfcbb4a1154591585621d5c2e842e68701d32328acba842f840a20498822165f78'
+            '64e3c617aba3af71213e8e36af38a39934f1f5c7eea53b2c09d9d9ac189397d8f3e95196f47552fbde83d9e062fb38f5ca48b6791caf5db42663b8a969cb7394'
             '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
-            '6189c850c8dc07c4e517d5b1e3b4771703e1b3d267ef7edc0cf57aa154f4d865a87255a4d28a554db9e8068113ccf851664cb7be04c8d07684e50bacb1021725'
-            'b002bb96d38875876d09ad5ceb76843b306031c470ba24aace6cbc5b8a22774f44b5c0e4a99bf807737e25f57254d14865934694114a9f4551453cc6c560063a'
-            '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
-            '1bda751a86a1c07f87e6631469701ebab5b1ce8f4052fcf666e8fc3bc645199a4df47fe7e75aed092ff23e17c2b9c4f286a60c2428fd72d0e6cae7a5d0507de4'
-            'e5a21eea33f24e82b250ad903ae9f6f40a71876661391b7bb2b749edb3470e1256ecb06aba0541f4da4cbaf9be2df90eb2b9e588566138fdb63d92a9aca60936'
-            'baf921c2970e09cbc98781bdad9625c6926eaeb197cca5588cb3444db4422d18949a611f8d66452c4acff1c5f2cb0ba67cac3f85214a97c91c232778e1e9dce2'
-            '89966d7b6eba2a588898cb69a2397ff87ad8936dc1e99e82668b312b6423794e3d6c41ee9defa8773e8fa947c6e873bc23928c719d908687eb28f78df54d6a2a'
+            '7644e4cb173cb66d83cfc121b6eb9696d4b60ea119230e767aa17bb438c35a94b2d8fddd1369ebe052905c8c85765e927adb540a5c2310b4a2e9bb546597c4e6'
+            '144bc8f7ad1ec1c99d59f4a8db375d786f3e4d042d295e860397c76b80e0deaeb4a931fb0e19f30ee1fe192f597f046e7716af6f7795320d5573a7b30c461d3d'
+            'b660afcc9a61527e6f532d12905ed65175c226ff46b23bc3fdb79b37f73c6961722887042c01ccddebefb0ec249206979506e12e78bbe468fd648b9d34094db9'
+            'e18f210dc4c225038c8093685bc9eb5cb957f7c1fd38998bd475ed15a771595738d72183adecc6434896b410b0692e6cadda0dbd5e99b6123e92443341bcb042'
+            'b1884d78d37b4c2690546c681a1b485539b2b9af928e8177192c08bf5985c08481ca4d75a4f2f5e8f0a6b73776df851835e32913bd77a2dcc2586a9efb1f8d63'
+            '7f48da3c06155bd15bc938ce4ae8f95185dc8b51d924602d8b905db25083aba3fe1d095c087eeff11a274aa21874a0c986add52bcac7a5c0c40b62c91c60bdfa'
+            '9b2d16d51d092901db8738ad4a520a6a06b42326201866069dcd2ae5b7a393cc7097d0eef752866a11072c61ab7a1dc60c175e8c60aa600d88088dff6f8e29f1'
+            '4e77ccd0aefe8bb0885cea88ceb5ef362e7838677c622427510027cd9866180345b7aa55be7dcacf61a28ba5b609cccb5c5fc3ca407f6ebf7ac21f5d43027575'
             '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
             'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
-            '79baa5d144733442cd839d7ee195b11b4e8ee19cd77e37c8ca1def18e2ffa30b8e63b8e4e2688944d55cbea048107f0cf209547ea14c49b4585c936249016c43'
-            'f7b354b1672760c85b278a900e8398c54c31663148091a59ca63bfcb9739a0071991111c6ce790fcfc072aff30fe8c52309c55cc39ede1f44ba503d712e4fc3d'
-            '8da75b16f3fc39e828b94fe9bf013a2fd180a81a9a34a8511a99e62e8d2a714ced24d94ef643561e0c88c27868d8eaa643e19003cbfa293451fc15dd75f5801f'
-            'efeb0358488a7402d380a4cab736efd4c626171659f1fd627b48b3f44a873d6ef149f8b00a03f6eae4a775d3fe77887e7e8b9ff2753f60d16a94e4f342687384'
-            '45c9bcc588d8fc5dd5c5fde17ef5114f0c9717c965a7c3009bfa6e79ba6a3fc9a19eab3451b72e5de75535d62391a3e2660f0aab329d7ec137605593915f4010'
-            '5722c571ffc384e0e226342d170e29109bf45761dcd7202b2fe6572795e0a04bd0521b1120eb2247c2a84bed0e63f47a71d25802528992ee4f976b348fb5c8f6'
-            'd297728681538fd6d6d48da4477e6e42b0ac1585a243dca60c0d9896387a1bf17770aa70966344c8d3551b774cbea6d6acbeaa0dbbfc3c17367dda5daa912297'
-            '2906e565804cb42ef3370521683d01e4cb083f0c7d5b02692101afb56616838b3dda8d05d43d0942ea3b7b7528985a1470719574356d37416427b56409c52a7f'
-            'd549c33d3499737f7d4dd2f87b8f08e90687d107248d9729676b7a0ea8562df3dd0430aa6776e4cb6ca793c2d93a726ce7b8da22703eef3f91aeb42b7e852240'
-            'eace29bd99f7167ac2e5b7499560ec7e6c205eeee8fd0adef8cc7de3cef5058f9852dd2cc20946d637ed479d25b270c35d52de6f104f41000faa36dc018f63aa'
+            '3941928af296d14e82232824aebb2a3eaddba4211c4d383f2c98d2394500ddd5847e2efd4044c1d4bdbb44d145d55aab5d5b111381305398bbf356bdfc9ee10c'
+            'd20cf522e3059eb69227ba7b4842bcf9613fa11d1192aced6899e730b0353386fcd6c2517351b3a7d34a12f9e18da61183ea9e470bfe5fb89052679171157b74'
+            '5e14b4bff2746b7aaf6c6f53fb69949e51d999402c47b6f957cc87466b06867aef10471ad28e750401f1882c9225b8d42c61d57c71b536e215e9db69a52207d5'
+            'b43060bcbf457389f545d6dbbd069e8ea591346a8f78da62f8880abe720728169304e9707c726603a55ad8df4ee5bca4e14bf3b20446c162b20da24a4c7051dd'
+            '16418d54549e605cc55dbcc0efab4dbe01c62f85604c552a641dd83de961d42d7843c72831e29f98f3f5fb173c73a6feee5300dcb8a19388d71a481167d3f4a9'
+            'c186d1e76f68f412779b8ccac2a6ea84614b73e51d27cfdfcba6e0be04cb009a9f4e04e1dca03a0c5a5aa34656e52c980288f4985a4cacefc874ab27e55f62c3'
             '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
 
 _system_libs=('ffmpeg'
@@ -92,11 +85,11 @@
               'libevent'
               'libjpeg'
 #              'libpng'
-              'libvpx'
+#              'libvpx'
               'libwebp'
               'libxml'
               'libxslt'
-              're2'
+#              're2'
               'snappy'
               'yasm'
               'zlib'
@@ -111,10 +104,11 @@
   patch -Np1 -i "${srcdir}"/dont-update-submodules.patch
   patch -Np1 -i "${srcdir}"/dont-use-sysroot.patch
   patch -Np1 -i "${srcdir}"/dont-bootstrap-libchromiumcontent.patch
+  patch -Np1 -i "${srcdir}"/no-clang-plugins.patch
   patch -Np1 -i "${srcdir}"/no-whole-archive.patch
 
   # Add extra libraries for unbundling, remove unneeded libraries
-  sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu jsoncpp minizip libpulse vpx libwebpdemux libwebpmux libxml-2.0 libxslt zlib)', '-ljpeg', '-lre2', '-lsnappy', '-latomic',/" \
+  sed -e "s/'-lexpat',/'-lexpat', '<\!@(pkg-config --libs-only-l libavcodec libavformat libavutil libevent flac harfbuzz-icu libjpeg jsoncpp minizip libpulse snappy libwebpdemux libwebpmux libxml-2.0 libxslt zlib)', '-latomic',/" \
       -e 's/ gconf-2.0//' \
       -i brightray/brightray.gyp
 
@@ -121,7 +115,7 @@
   mkdir -p "${srcdir}"/python2-path
   ln -sf /usr/bin/python2 "${srcdir}/python2-path/python"
 
-  for m in boto breakpad gyp libchromiumcontent native_mate node pdf_viewer requests; do
+  for m in boto breakpad gyp libchromiumcontent node pdf_viewer requests; do
     git submodule init vendor/${m}
     git config submodule.vendor/${m}.url "${srcdir}/${m}"
   done
@@ -143,21 +137,21 @@
   patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch
 
   cd "${srcdir}"/electron/vendor/libchromiumcontent
-  patch -Np1 -i "${srcdir}"/libchromiumcontent-fix-v8-patches.patch
+  for m in pyyaml; do
+    git submodule init vendor/${m}
+    git config submodule.vendor/${m}.url "${srcdir}/${m}"
+  done
+  git submodule update
+  patch -Np1 -i "${srcdir}"/libchromiumcontent-remove-useless-patches.patch
   patch -Np1 -i "${srcdir}"/libchromiumcontent-settings.patch
   patch -Np1 -i "${srcdir}"/libchromiumcontent-sort-filenames.patch  # deterministic build
   patch -Np1 -i "${srcdir}"/libchromiumcontent-use-system-tools.patch
   patch -Np1 -i "${srcdir}"/libchromiumcontent-static-library-only.patch
-  rm patches/third_party/ffmpeg/001-build_gn.patch  # Use system ffmpeg
+  rm -r patches/common/ffmpeg  # Use system FFmpeg
   echo 'Extracting chromium source...'
-  tar -xJf "${srcdir}"/chromium-${_chromiumver}.tar.xz
-  mv chromium-${_chromiumver} src
+  tar -xf "${srcdir}"/electron-chromium-${_chromiumver}.tar.bz2
   cd src
-  patch -Np1 -i "${srcdir}"/chromium-atk-r1.patch
-  patch -Np1 -i "${srcdir}"/chromium-gn-bootstrap-r14.patch
-  patch -Np1 -i "${srcdir}"/chromium-include-functional.patch
   patch -Np1 -i "${srcdir}"/chromium-use-system-ffmpeg.patch
-  patch -Np1 -i "${srcdir}"/chromium-use-system-minizip.patch
   patch -Np1 -i "${srcdir}"/chromium-use-system-re2.patch
 
   for lib in "${_system_libs[@]}" libjpeg_turbo; do
@@ -165,7 +159,6 @@
           \! -path "*third_party/${lib}/chromium/*" \
           \! -path "*third_party/${lib}/google/*" \
           \! -path "*base/third_party/icu/*" \
-          \! -path "*base/third_party/libevent/*" \
           \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
           -delete
   done
@@ -173,33 +166,20 @@
 
   # Create sysmlink to system Node.js
   mkdir -p third_party/node/linux/node-linux-x64/bin
-  ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin
+  ln -sf /usr/bin/node third_party/node/linux/node-linux-x64/bin
 }
 
 build() {
   export PATH="${srcdir}/python2-path:${PATH}"
+  export CC=clang
+  export CXX=clang++
+  export AR=ar
+  export NM=nm
 
-  # Build GN
-  cd "${srcdir}/electron/vendor/libchromiumcontent/src"
-  gn_flags=(
-    'clang_base_path="/usr"'
-    'clang_use_chrome_plugins=false'
-    'treat_warnings_as_errors=false'
-    'use_custom_libcxx=false'
-    'use_sysroot=false'
-    'use_gconf=false'
-    'use_gnome_keyring=false'
-)
-  CC=clang CXX=clang++ python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${gn_flags[*]}"
-  # libevent not needed anymore
-  find -type f -path "*base/third_party/libevent/*" \
-    \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
-    -delete
-
   cd "${srcdir}/electron/vendor/libchromiumcontent"
   script/update -t x64 --skip_gclient
-  script/build -t x64 -c static_library native_mksnapshot
-  script/create-dist -c static_library -t x64 --no_zip -t x64
+  script/build -t x64 -c static_library
+  script/create-dist -c static_library --no_zip -t x64
 
   cd "${srcdir}"/electron
   LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
@@ -218,12 +198,15 @@
   _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
 
   install -d -m755 "${pkgdir}"/usr/share/licenses/electron
+  install -m644 LICENSE "${pkgdir}"/usr/share/licenses/electron
   install -m644 LICENSE "${_cc}"/LICENSES.chromium.html \
           "${pkgdir}"/usr/share/licenses/electron
-  for lib in native_mate node; do
-    install -m644 vendor/${lib}/LICENSE \
-            "${pkgdir}"/usr/share/licenses/electron/LICENSE-${lib}
-  done
+  install -m644 native_mate/LICENSE.chromium \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-native_mate
+  install -m644 vendor/node/LICENSE \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-node
+  install -m644 vendor/libchromiumcontent/LICENSE.txt \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-libchromiumcontent
   install -m644 vendor/libchromiumcontent/src/LICENSE \
           "${pkgdir}"/usr/share/licenses/electron/LICENSE-chromium
 
@@ -232,9 +215,8 @@
   install -m644 blink_image_resources_200_percent.pak \
           content_resources_200_percent.pak content_shell.pak icudtl.dat \
           natives_blob.bin \
-          pdf_viewer_resources.pak \
-          snapshot_blob.bin \
           ui_resources_200_percent.pak \
+          v8_context_snapshot.bin \
           views_resources_200_percent.pak \
           "${pkgdir}"/usr/lib/electron
   install -m755 electron "${pkgdir}"/usr/lib/electron

Deleted: chromium-atk-r1.patch
===================================================================
--- chromium-atk-r1.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ chromium-atk-r1.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,11 +0,0 @@
---- a/content/browser/accessibility/browser_accessibility_auralinux.cc.orig	2017-07-27 06:28:01.090257874 +0000
-+++ b/content/browser/accessibility/browser_accessibility_auralinux.cc	2017-07-27 06:28:21.174653680 +0000
-@@ -571,7 +571,7 @@
- // it's best to leave this out rather than break people's builds:
- #if defined(ATK_CHECK_VERSION)
- #if ATK_CHECK_VERSION(2, 16, 0)
--      atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
-+      atk_state_set_add_state(state_set, ATK_STATE_READ_ONLY);
- #endif
- #endif
-       break;

Deleted: chromium-gn-bootstrap-r14.patch
===================================================================
--- chromium-gn-bootstrap-r14.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ chromium-gn-bootstrap-r14.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,27 +0,0 @@
-commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685
-Author: Pawel Hajdan, Jr <phajdan.jr at chromium.org>
-Date:   Wed Jul 26 21:51:54 2017 +0000
-
-    wip
-
-diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
-index 1390560f8e37..ff2ae57c46b0 100755
---- a/tools/gn/bootstrap/bootstrap.py
-+++ b/tools/gn/bootstrap/bootstrap.py
-@@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/metrics/histogram_base.cc',
-       'base/metrics/histogram_functions.cc',
-       'base/metrics/histogram_samples.cc',
-+      'base/metrics/histogram_snapshot_manager.cc',
-       'base/metrics/metrics_hashes.cc',
-       'base/metrics/persistent_histogram_allocator.cc',
-       'base/metrics/persistent_memory_allocator.cc',
-@@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options):
-       'base/trace_event/heap_profiler_allocation_context_tracker.cc',
-       'base/trace_event/heap_profiler_allocation_register.cc',
-       'base/trace_event/heap_profiler_event_filter.cc',
--      'base/trace_event/heap_profiler_event_writer.cc',
-+      'base/trace_event/heap_profiler_heap_dump_writer.cc',
-       'base/trace_event/heap_profiler_serialization_state.cc',
-       'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
-       'base/trace_event/heap_profiler_type_name_deduplicator.cc',

Deleted: chromium-include-functional.patch
===================================================================
--- chromium-include-functional.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ chromium-include-functional.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,10 +0,0 @@
---- a/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
-+++ b/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h
-@@ -8,6 +8,7 @@
- #include "platform/PlatformExport.h"
- #include "platform/wtf/ThreadSpecific.h"
- 
-+#include <functional>
- #include <memory>
- 
- namespace gpu {

Modified: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ chromium-use-system-ffmpeg.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,81 +1,22 @@
---- a/media/base/decoder_buffer.h
-+++ b/media/base/decoder_buffer.h
-@@ -37,7 +37,7 @@
-     : public base::RefCountedThreadSafe<DecoderBuffer> {
-  public:
-   enum {
--    kPaddingSize = 32,
-+    kPaddingSize = 64,
- #if defined(ARCH_CPU_ARM_FAMILY)
-     kAlignmentSize = 16
- #else
---- a/media/ffmpeg/ffmpeg_common.cc
-+++ b/media/ffmpeg/ffmpeg_common.cc
-@@ -30,10 +30,10 @@
- 
- }  // namespace
- 
--// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
-+// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
- // padded. Check here to ensure FFmpeg only receives data padded to its
- // specifications.
--static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE,
-+static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE,
-               "DecoderBuffer padding size does not fit ffmpeg requirement");
- 
- // Alignment requirement by FFmpeg for input and output buffers. This need to
-@@ -444,11 +444,11 @@
-   } else {
-     codec_context->extradata_size = config.extra_data().size();
-     codec_context->extradata = reinterpret_cast<uint8_t*>(
--        av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
-+        av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
-     memcpy(codec_context->extradata, &config.extra_data()[0],
-            config.extra_data().size());
-     memset(codec_context->extradata + config.extra_data().size(), '\0',
--           FF_INPUT_BUFFER_PADDING_SIZE);
-+           AV_INPUT_BUFFER_PADDING_SIZE);
-   }
+--- a/build/linux/unbundle/ffmpeg.gn
++++ b/build/linux/unbundle/ffmpeg.gn
+@@ -14,8 +14,8 @@
+   ]
  }
  
-@@ -585,11 +585,11 @@
-   } else {
-     codec_context->extradata_size = config.extra_data().size();
-     codec_context->extradata = reinterpret_cast<uint8_t*>(
--        av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
-+        av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
-     memcpy(codec_context->extradata, &config.extra_data()[0],
-            config.extra_data().size());
-     memset(codec_context->extradata + config.extra_data().size(), '\0',
--           FF_INPUT_BUFFER_PADDING_SIZE);
-+           AV_INPUT_BUFFER_PADDING_SIZE);
-   }
+-buildflag_header("ffmpeg_buildflags") {
+-  header = "ffmpeg_buildflags.h"
++buildflag_header("ffmpeg_features") {
++  header = "ffmpeg_features.h"
+   flags = [ "USE_SYSTEM_FFMPEG=true" ]
  }
  
---- a/media/filters/ffmpeg_audio_decoder.cc
-+++ b/media/filters/ffmpeg_audio_decoder.cc
-@@ -368,7 +368,7 @@
- int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
-                                        AVFrame* frame,
-                                        int flags) {
--  DCHECK(s->codec->capabilities & CODEC_CAP_DR1);
-+  DCHECK(s->codec->capabilities & AV_CODEC_CAP_DR1);
-   DCHECK_EQ(s->codec_type, AVMEDIA_TYPE_AUDIO);
+@@ -30,7 +30,7 @@
  
-   // Since this routine is called by FFmpeg when a buffer is required for audio
---- a/media/filters/ffmpeg_video_decoder.cc
-+++ b/media/filters/ffmpeg_video_decoder.cc
-@@ -427,12 +427,11 @@
-   codec_context_->thread_type =
-       FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
-   codec_context_->opaque = this;
--  codec_context_->flags |= CODEC_FLAG_EMU_EDGE;
-   codec_context_->get_buffer2 = GetVideoBufferImpl;
-   codec_context_->refcounted_frames = 1;
- 
-   if (decode_nalus_)
--    codec_context_->flags2 |= CODEC_FLAG2_CHUNKS;
-+    codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
- 
-   AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
-   if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
+ source_set("ffmpeg") {
+   deps = [
+-    ":ffmpeg_buildflags",
++    ":ffmpeg_features",
+     ":ffmpeg_shim",
+   ]
+   public_configs = [ ":system_ffmpeg" ]

Deleted: chromium-use-system-minizip.patch
===================================================================
--- chromium-use-system-minizip.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ chromium-use-system-minizip.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,14 +0,0 @@
---- a/third_party/zlib/google/zip_reader.cc
-+++ b/third_party/zlib/google/zip_reader.cc
-@@ -278,10 +278,9 @@
- 
-   current_entry_info_.reset();
-   reached_end_ = false;
--  const int kDefaultCaseSensivityOfOS = 0;
-   const int result = unzLocateFile(zip_file_,
-                                    path_in_zip.AsUTF8Unsafe().c_str(),
--                                   kDefaultCaseSensivityOfOS);
-+                                   NULL);
-   if (result != UNZ_OK)
-     return false;
- 

Modified: default_app-icon.patch
===================================================================
--- default_app-icon.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ default_app-icon.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -12,7 +12,7 @@
      mainWindow.loadURL(appUrl)
 --- a/filenames.gypi
 +++ b/filenames.gypi
-@@ -89,7 +89,6 @@
+@@ -93,7 +93,6 @@
      ],
      'default_app_sources': [
        'default_app/default_app.js',

Modified: dont-bootstrap-libchromiumcontent.patch
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ dont-bootstrap-libchromiumcontent.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,5 +1,3 @@
-diff --git a/script/build-libchromiumcontent.py b/script/build-libchromiumcontent.py
-index e0a95f6..1383e70 100755
 --- a/script/build-libchromiumcontent.py
 +++ b/script/build-libchromiumcontent.py
 @@ -44,7 +44,7 @@ def main():
@@ -8,6 +6,6 @@
    if args.force_update or libchromiumcontent_outdated():
 -    execute_stdout([sys.executable, bootstrap])
 +    # execute_stdout([sys.executable, bootstrap])
-     execute_stdout([sys.executable, update, '-t', args.target_arch,
-                     '--defines', args.defines])
+     execute_stdout([sys.executable, update, '-t', args.target_arch])
      update_gclient_done_marker()
+   if args.debug:

Modified: dont-update-submodules.patch
===================================================================
--- dont-update-submodules.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ dont-update-submodules.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,9 +1,9 @@
 --- a/script/bootstrap.py
 +++ b/script/bootstrap.py
-@@ -31,7 +31,7 @@ def main():
-   if sys.platform == 'cygwin':
-     update_win32_python()
+@@ -33,7 +33,7 @@ def main():
  
+   check_tls(args.verbose)
+ 
 -  update_submodules()
 +  # update_submodules()
  

Modified: dont-use-sysroot.patch
===================================================================
--- dont-use-sysroot.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ dont-use-sysroot.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,6 +1,6 @@
 --- a/script/bootstrap.py
 +++ b/script/bootstrap.py
-@@ -63,9 +63,6 @@ def main():
+@@ -65,9 +65,6 @@ def main():
                             libcc_source_path, libcc_shared_library_path,
                             libcc_static_library_path)
  
@@ -13,14 +13,14 @@
 --- a/toolchain.gypi
 +++ b/toolchain.gypi
 @@ -62,10 +62,10 @@
-               'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
+               'sysroot%': '<(source_root)/vendor/debian_stretch_arm64-sysroot',
              }],
              ['target_arch=="ia32"', {
--              'sysroot%': '<(source_root)/vendor/debian_jessie_i386-sysroot',
+-              'sysroot%': '<(source_root)/vendor/debian_stretch_i386-sysroot',
 +              'sysroot%': '/',
              }],
              ['target_arch=="x64"', {
--              'sysroot%': '<(source_root)/vendor/debian_jessie_amd64-sysroot',
+-              'sysroot%': '<(source_root)/vendor/debian_stretch_amd64-sysroot',
 +              'sysroot%': '/',
              }],
              ['target_arch=="mips64el"', {

Deleted: libchromiumcontent-fix-v8-patches.patch
===================================================================
--- libchromiumcontent-fix-v8-patches.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ libchromiumcontent-fix-v8-patches.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,536 +0,0 @@
---- a/patches/v8/007-backport_f19b889.patch
-+++ b/patches/v8/007-backport_f19b889.patch
-@@ -113,63 +113,6 @@
-    void resetContextGroup(int contextGroupId) override;
-    void idleStarted() override;
-    void idleFinished() override;
--diff --git a/test/inspector/inspector-test.cc b/test/inspector/inspector-test.cc
--index 930d6c9477..767168b297 100644
----- a/test/inspector/inspector-test.cc
--+++ b/test/inspector/inspector-test.cc
--@@ -642,6 +642,9 @@ class InspectorExtension : public IsolateData::SetupGlobalTask {
--     inspector->Set(ToV8String(isolate, "fireContextDestroyed"),
--                    v8::FunctionTemplate::New(
--                        isolate, &InspectorExtension::FireContextDestroyed));
--+    inspector->Set(
--+        ToV8String(isolate, "freeContext"),
--+        v8::FunctionTemplate::New(isolate, &InspectorExtension::FreeContext));
--     inspector->Set(ToV8String(isolate, "addInspectedObject"),
--                    v8::FunctionTemplate::New(
--                        isolate, &InspectorExtension::AddInspectedObject));
--@@ -683,6 +686,12 @@ class InspectorExtension : public IsolateData::SetupGlobalTask {
--     data->FireContextDestroyed(context);
--   }
-- 
--+  static void FreeContext(const v8::FunctionCallbackInfo<v8::Value>& args) {
--+    v8::Local<v8::Context> context = args.GetIsolate()->GetCurrentContext();
--+    IsolateData* data = IsolateData::FromContext(context);
--+    data->FreeContext(context);
--+  }
--+
--   static void AddInspectedObject(
--       const v8::FunctionCallbackInfo<v8::Value>& args) {
--     if (args.Length() != 2 || !args[0]->IsInt32()) {
--diff --git a/test/inspector/isolate-data.cc b/test/inspector/isolate-data.cc
--index 74c367a5e9..bd97a927e8 100644
----- a/test/inspector/isolate-data.cc
--+++ b/test/inspector/isolate-data.cc
--@@ -303,6 +303,13 @@ void IsolateData::FireContextDestroyed(v8::Local<v8::Context> context) {
--   inspector_->contextDestroyed(context);
-- }
-- 
--+void IsolateData::FreeContext(v8::Local<v8::Context> context) {
--+  int context_group_id = GetContextGroupId(context);
--+  auto it = contexts_.find(context_group_id);
--+  if (it == contexts_.end()) return;
--+  contexts_.erase(it);
--+}
--+
-- std::vector<int> IsolateData::GetSessionIds(int context_group_id) {
--   std::vector<int> result;
--   for (auto& it : sessions_) {
--diff --git a/test/inspector/isolate-data.h b/test/inspector/isolate-data.h
--index a94316ff9b..c96a8d1bbd 100644
----- a/test/inspector/isolate-data.h
--+++ b/test/inspector/isolate-data.h
--@@ -68,6 +68,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
--   void DumpAsyncTaskStacksStateForTest();
--   void FireContextCreated(v8::Local<v8::Context> context, int context_group_id);
--   void FireContextDestroyed(v8::Local<v8::Context> context);
--+  void FreeContext(v8::Local<v8::Context> context);
-- 
--  private:
--   struct VectorCompare {
- diff --git a/test/inspector/runtime/context-destroyed-on-context-collected-expected.txt b/test/inspector/runtime/context-destroyed-on-context-collected-expected.txt
- new file mode 100644
- index 0000000000..9a5e1708c1
---- a/patches/v8/009-backport_bca8409.patch
-+++ b/patches/v8/009-backport_bca8409.patch
-@@ -136,25 +136,3 @@
-      base::Semaphore pending_sweeper_tasks_semaphore_;
-      base::Mutex mutex_;
-      SweptList swept_list_[kAllocationSpaces];
--diff --git a/test/unittests/cancelable-tasks-unittest.cc b/test/unittests/cancelable-tasks-unittest.cc
--index eb5dd91589..d0462877f5 100644
----- a/test/unittests/cancelable-tasks-unittest.cc
--+++ b/test/unittests/cancelable-tasks-unittest.cc
--@@ -180,7 +180,7 @@ TEST(CancelableTask, RemoveBeforeCancelAndWait) {
--   ResultType result1 = 0;
--   TestTask* task1 = new TestTask(&manager, &result1, TestTask::kCheckNotRun);
--   ThreadedRunner runner1(task1);
---  uint32_t id = task1->id();
--+  CancelableTaskManager::Id id = task1->id();
--   EXPECT_EQ(id, 1u);
--   EXPECT_TRUE(manager.TryAbort(id));
--   runner1.Start();
--@@ -195,7 +195,7 @@ TEST(CancelableTask, RemoveAfterCancelAndWait) {
--   ResultType result1 = 0;
--   TestTask* task1 = new TestTask(&manager, &result1);
--   ThreadedRunner runner1(task1);
---  uint32_t id = task1->id();
--+  CancelableTaskManager::Id id = task1->id();
--   EXPECT_EQ(id, 1u);
--   runner1.Start();
--   runner1.Join();
---- a/patches/v8/010-backport_f9c4b7a.patch
-+++ b/patches/v8/010-backport_f9c4b7a.patch
-@@ -194,15 +194,3 @@
-  
-    DumpAndResetStats();
-  
--diff --git a/test/cctest/heap/test-spaces.cc b/test/cctest/heap/test-spaces.cc
--index 26b2fdd193..b99913ab80 100644
----- a/test/cctest/heap/test-spaces.cc
--+++ b/test/cctest/heap/test-spaces.cc
--@@ -370,6 +370,7 @@ TEST(NewSpace) {
--   }
-- 
--   new_space.TearDown();
--+  memory_allocator->unmapper()->WaitUntilCompleted();
--   memory_allocator->TearDown();
--   delete memory_allocator;
-- }
---- a/patches/v8/013-revert_abi_breaking_changes_in_6_1.patch
-+++ b/patches/v8/013-revert_abi_breaking_changes_in_6_1.patch
-@@ -552,167 +552,3 @@
-  
-  struct ProtectedInstructionData {
-    // The offset of this instruction from the start of its code object.
--diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
--index 6781d3de6a..d9608292e8 100644
----- a/test/cctest/heap/test-heap.cc
--+++ b/test/cctest/heap/test-heap.cc
--@@ -4806,7 +4806,7 @@ HEAP_TEST(Regress538257) {
--   FLAG_manual_evacuation_candidates_selection = true;
--   v8::Isolate::CreateParams create_params;
--   // Set heap limits.
---  create_params.constraints.set_max_semi_space_size_in_kb(1024);
--+  create_params.constraints.set_max_semi_space_size(1);
--   create_params.constraints.set_max_old_space_size(6);
--   create_params.array_buffer_allocator = CcTest::array_buffer_allocator();
--   v8::Isolate* isolate = v8::Isolate::New(create_params);
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index 2d64279bf8..aa4cba5a60 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -3453,16 +3453,10 @@ class ScopedArrayBufferContents {
--  public:
--   explicit ScopedArrayBufferContents(const v8::ArrayBuffer::Contents& contents)
--       : contents_(contents) {}
---  ~ScopedArrayBufferContents() { free(contents_.AllocationBase()); }
--+  ~ScopedArrayBufferContents() { free(contents_.Data()); }
--   void* Data() const { return contents_.Data(); }
--   size_t ByteLength() const { return contents_.ByteLength(); }
-- 
---  void* AllocationBase() const { return contents_.AllocationBase(); }
---  size_t AllocationLength() const { return contents_.AllocationLength(); }
---  v8::ArrayBuffer::Allocator::AllocationMode AllocationMode() const {
---    return contents_.AllocationMode();
---  }
---
--  private:
--   const v8::ArrayBuffer::Contents contents_;
-- };
--@@ -3738,43 +3732,15 @@ THREADED_TEST(ArrayBuffer_NeuteringScript) {
--   CheckDataViewIsNeutered(dv);
-- }
-- 
---THREADED_TEST(ArrayBuffer_AllocationInformation) {
---  LocalContext env;
---  v8::Isolate* isolate = env->GetIsolate();
---  v8::HandleScope handle_scope(isolate);
---
---  const size_t ab_size = 1024;
---  Local<v8::ArrayBuffer> ab = v8::ArrayBuffer::New(isolate, ab_size);
---  ScopedArrayBufferContents contents(ab->Externalize());
---
---  // Array buffers should have normal allocation mode.
---  CHECK(contents.AllocationMode() ==
---        v8::ArrayBuffer::Allocator::AllocationMode::kNormal);
---  // The allocation must contain the buffer (normally they will be equal, but
---  // this is not required by the contract).
---  CHECK_NOT_NULL(contents.AllocationBase());
---  const uintptr_t alloc =
---      reinterpret_cast<uintptr_t>(contents.AllocationBase());
---  const uintptr_t data = reinterpret_cast<uintptr_t>(contents.Data());
---  CHECK_LE(alloc, data);
---  CHECK_LE(data + contents.ByteLength(), alloc + contents.AllocationLength());
---}
---
-- class ScopedSharedArrayBufferContents {
--  public:
--   explicit ScopedSharedArrayBufferContents(
--       const v8::SharedArrayBuffer::Contents& contents)
--       : contents_(contents) {}
---  ~ScopedSharedArrayBufferContents() { free(contents_.AllocationBase()); }
--+  ~ScopedSharedArrayBufferContents() { free(contents_.Data()); }
--   void* Data() const { return contents_.Data(); }
--   size_t ByteLength() const { return contents_.ByteLength(); }
-- 
---  void* AllocationBase() const { return contents_.AllocationBase(); }
---  size_t AllocationLength() const { return contents_.AllocationLength(); }
---  v8::ArrayBuffer::Allocator::AllocationMode AllocationMode() const {
---    return contents_.AllocationMode();
---  }
---
--  private:
--   const v8::SharedArrayBuffer::Contents contents_;
-- };
--@@ -20361,7 +20327,7 @@ class InitDefaultIsolateThread : public v8::base::Thread {
--     create_params.array_buffer_allocator = CcTest::array_buffer_allocator();
--     switch (testCase_) {
--       case SetResourceConstraints: {
---        create_params.constraints.set_max_semi_space_size_in_kb(1024);
--+        create_params.constraints.set_max_semi_space_size(1);
--         create_params.constraints.set_max_old_space_size(6);
--         break;
--       }
--@@ -26057,29 +26023,6 @@ TEST(FutexInterruption) {
--   timeout_thread.Join();
-- }
-- 
---THREADED_TEST(SharedArrayBuffer_AllocationInformation) {
---  i::FLAG_harmony_sharedarraybuffer = true;
---  LocalContext env;
---  v8::Isolate* isolate = env->GetIsolate();
---  v8::HandleScope handle_scope(isolate);
---
---  const size_t ab_size = 1024;
---  Local<v8::SharedArrayBuffer> ab =
---      v8::SharedArrayBuffer::New(isolate, ab_size);
---  ScopedSharedArrayBufferContents contents(ab->Externalize());
---
---  // Array buffers should have normal allocation mode.
---  CHECK(contents.AllocationMode() ==
---        v8::ArrayBuffer::Allocator::AllocationMode::kNormal);
---  // The allocation must contain the buffer (normally they will be equal, but
---  // this is not required by the contract).
---  CHECK_NOT_NULL(contents.AllocationBase());
---  const uintptr_t alloc =
---      reinterpret_cast<uintptr_t>(contents.AllocationBase());
---  const uintptr_t data = reinterpret_cast<uintptr_t>(contents.Data());
---  CHECK_LE(alloc, data);
---  CHECK_LE(data + contents.ByteLength(), alloc + contents.AllocationLength());
---}
-- 
-- static int nb_uncaught_exception_callback_calls = 0;
-- 
--diff --git a/test/cctest/test-strings.cc b/test/cctest/test-strings.cc
--index 73e9c58596..d98a4819b5 100644
----- a/test/cctest/test-strings.cc
--+++ b/test/cctest/test-strings.cc
--@@ -1301,7 +1301,7 @@ TEST(SliceFromSlice) {
-- UNINITIALIZED_TEST(OneByteArrayJoin) {
--   v8::Isolate::CreateParams create_params;
--   // Set heap limits.
---  create_params.constraints.set_max_semi_space_size_in_kb(1024);
--+  create_params.constraints.set_max_semi_space_size(1);
--   create_params.constraints.set_max_old_space_size(7);
--   create_params.array_buffer_allocator = CcTest::array_buffer_allocator();
--   v8::Isolate* isolate = v8::Isolate::New(create_params);
--diff --git a/test/unittests/heap/heap-unittest.cc b/test/unittests/heap/heap-unittest.cc
--index 6262eff210..8dab181ca7 100644
----- a/test/unittests/heap/heap-unittest.cc
--+++ b/test/unittests/heap/heap-unittest.cc
--@@ -63,14 +63,19 @@ TEST(Heap, MaxHeapGrowingFactor) {
-- }
-- 
-- TEST(Heap, SemiSpaceSize) {
---  const size_t KB = static_cast<size_t>(i::KB);
---  const size_t MB = static_cast<size_t>(i::MB);
---  const size_t pm = i::Heap::kPointerMultiplier;
---  ASSERT_EQ(1u * pm * MB / 2, i::Heap::ComputeMaxSemiSpaceSize(0u) * KB);
---  ASSERT_EQ(1u * pm * MB / 2, i::Heap::ComputeMaxSemiSpaceSize(512u * MB) * KB);
---  ASSERT_EQ(3u * pm * MB, i::Heap::ComputeMaxSemiSpaceSize(1024u * MB) * KB);
---  ASSERT_EQ(8u * pm * MB, i::Heap::ComputeMaxSemiSpaceSize(2024u * MB) * KB);
---  ASSERT_EQ(8u * pm * MB, i::Heap::ComputeMaxSemiSpaceSize(4095u * MB) * KB);
--+  uint64_t configurations[][2] = {
--+      {0, 1 * i::Heap::kPointerMultiplier},
--+      {512 * i::MB, 1 * i::Heap::kPointerMultiplier},
--+      {1 * i::GB, 3 * i::Heap::kPointerMultiplier},
--+      {2 * static_cast<uint64_t>(i::GB), i::Heap::kMaxSemiSpaceSize},
--+      {4 * static_cast<uint64_t>(i::GB), i::Heap::kMaxSemiSpaceSize},
--+      {8 * static_cast<uint64_t>(i::GB), i::Heap::kMaxSemiSpaceSize}};
--+
--+  for (auto configuration : configurations) {
--+    ASSERT_EQ(configuration[1],
--+              static_cast<uint64_t>(
--+                  i::Heap::ComputeMaxSemiSpaceSize(configuration[0])));
--+  }
-- }
-- 
-- TEST(Heap, OldGenerationSize) {
---- a/patches/v8/015-backport_9b21865822243.patch
-+++ b/patches/v8/015-backport_9b21865822243.patch
-@@ -332,80 +332,3 @@
-  
-    GetExternallyAllocatedMemoryInBytesCallback external_memory_callback_;
-  
--diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
--index aa4cba5a60..06ce7c565e 100644
----- a/test/cctest/test-api.cc
--+++ b/test/cctest/test-api.cc
--@@ -19592,6 +19592,19 @@ void EpilogueCallbackSecond(v8::Isolate* isolate,
--   ++epilogue_call_count_second;
-- }
-- 
--+void PrologueCallbackNew(v8::Isolate* isolate, v8::GCType,
--+                         v8::GCCallbackFlags flags, void* data) {
--+  CHECK_EQ(flags, v8::kNoGCCallbackFlags);
--+  CHECK_EQ(gc_callbacks_isolate, isolate);
--+  ++*static_cast<int*>(data);
--+}
--+
--+void EpilogueCallbackNew(v8::Isolate* isolate, v8::GCType,
--+                         v8::GCCallbackFlags flags, void* data) {
--+  CHECK_EQ(flags, v8::kNoGCCallbackFlags);
--+  CHECK_EQ(gc_callbacks_isolate, isolate);
--+  ++*static_cast<int*>(data);
--+}
-- 
-- void PrologueCallbackAlloc(v8::Isolate* isolate,
--                            v8::GCType,
--@@ -19666,6 +19679,52 @@ TEST(GCCallbacksOld) {
--   CHECK_EQ(2, epilogue_call_count_second);
-- }
-- 
--+TEST(GCCallbacksWithData) {
--+  LocalContext context;
--+
--+  gc_callbacks_isolate = context->GetIsolate();
--+  int prologue1 = 0;
--+  int epilogue1 = 0;
--+  int prologue2 = 0;
--+  int epilogue2 = 0;
--+
--+  context->GetIsolate()->AddGCPrologueCallback(PrologueCallbackNew, &prologue1);
--+  context->GetIsolate()->AddGCEpilogueCallback(EpilogueCallbackNew, &epilogue1);
--+  CHECK_EQ(0, prologue1);
--+  CHECK_EQ(0, epilogue1);
--+  CHECK_EQ(0, prologue2);
--+  CHECK_EQ(0, epilogue2);
--+  CcTest::CollectAllGarbage();
--+  CHECK_EQ(1, prologue1);
--+  CHECK_EQ(1, epilogue1);
--+  CHECK_EQ(0, prologue2);
--+  CHECK_EQ(0, epilogue2);
--+  context->GetIsolate()->AddGCPrologueCallback(PrologueCallbackNew, &prologue2);
--+  context->GetIsolate()->AddGCEpilogueCallback(EpilogueCallbackNew, &epilogue2);
--+  CcTest::CollectAllGarbage();
--+  CHECK_EQ(2, prologue1);
--+  CHECK_EQ(2, epilogue1);
--+  CHECK_EQ(1, prologue2);
--+  CHECK_EQ(1, epilogue2);
--+  context->GetIsolate()->RemoveGCPrologueCallback(PrologueCallbackNew,
--+                                                  &prologue1);
--+  context->GetIsolate()->RemoveGCEpilogueCallback(EpilogueCallbackNew,
--+                                                  &epilogue1);
--+  CcTest::CollectAllGarbage();
--+  CHECK_EQ(2, prologue1);
--+  CHECK_EQ(2, epilogue1);
--+  CHECK_EQ(2, prologue2);
--+  CHECK_EQ(2, epilogue2);
--+  context->GetIsolate()->RemoveGCPrologueCallback(PrologueCallbackNew,
--+                                                  &prologue2);
--+  context->GetIsolate()->RemoveGCEpilogueCallback(EpilogueCallbackNew,
--+                                                  &epilogue2);
--+  CcTest::CollectAllGarbage();
--+  CHECK_EQ(2, prologue1);
--+  CHECK_EQ(2, epilogue1);
--+  CHECK_EQ(2, prologue2);
--+  CHECK_EQ(2, epilogue2);
--+}
-- 
-- TEST(GCCallbacks) {
--   LocalContext context;
---- a/patches/v8/017-backport_163d360.patch
-+++ b/patches/v8/017-backport_163d360.patch
-@@ -142,61 +142,3 @@
-        chunk->ResetProgressBar();
-        MarkingState::Internal(chunk).SetLiveBytes(0);
-      }
--diff --git a/test/cctest/heap/test-heap.cc b/test/cctest/heap/test-heap.cc
--index d9608292e8..a2273d2d8c 100644
----- a/test/cctest/heap/test-heap.cc
--+++ b/test/cctest/heap/test-heap.cc
--@@ -6237,6 +6237,53 @@ HEAP_TEST(Regress5831) {
--   CHECK(chunk->NeverEvacuate());
-- }
-- 
--+TEST(Regress6800) {
--+  CcTest::InitializeVM();
--+  Isolate* isolate = CcTest::i_isolate();
--+  HandleScope handle_scope(isolate);
--+
--+  const int kRootLength = 1000;
--+  Handle<FixedArray> root =
--+      isolate->factory()->NewFixedArray(kRootLength, TENURED);
--+  {
--+    HandleScope inner_scope(isolate);
--+    Handle<FixedArray> new_space_array = isolate->factory()->NewFixedArray(1);
--+    for (int i = 0; i < kRootLength; i++) {
--+      root->set(i, *new_space_array);
--+    }
--+    for (int i = 0; i < kRootLength; i++) {
--+      root->set(i, CcTest::heap()->undefined_value());
--+    }
--+  }
--+  CcTest::CollectGarbage(NEW_SPACE);
--+  CHECK_EQ(0, RememberedSet<OLD_TO_NEW>::NumberOfPreFreedEmptyBuckets(
--+                  MemoryChunk::FromAddress(root->address())));
--+}
--+
--+TEST(Regress6800LargeObject) {
--+  CcTest::InitializeVM();
--+  Isolate* isolate = CcTest::i_isolate();
--+  HandleScope handle_scope(isolate);
--+
--+  const int kRootLength = i::kMaxRegularHeapObjectSize / kPointerSize;
--+  Handle<FixedArray> root =
--+      isolate->factory()->NewFixedArray(kRootLength, TENURED);
--+  CcTest::heap()->lo_space()->Contains(*root);
--+  {
--+    HandleScope inner_scope(isolate);
--+    Handle<FixedArray> new_space_array = isolate->factory()->NewFixedArray(1);
--+    for (int i = 0; i < kRootLength; i++) {
--+      root->set(i, *new_space_array);
--+    }
--+    for (int i = 0; i < kRootLength; i++) {
--+      root->set(i, CcTest::heap()->undefined_value());
--+    }
--+  }
--+  CcTest::CollectGarbage(OLD_SPACE);
--+  CHECK_EQ(0, RememberedSet<OLD_TO_NEW>::NumberOfPreFreedEmptyBuckets(
--+                  MemoryChunk::FromAddress(root->address())));
--+}
--+
-- HEAP_TEST(RegressMissingWriteBarrierInAllocate) {
--   if (!FLAG_incremental_marking) return;
--   FLAG_black_allocation = true;
---- a/patches/v8/023-backport_b1cd96e.patch
-+++ b/patches/v8/023-backport_b1cd96e.patch
-@@ -57,88 +57,3 @@
- +  await Protocol.Debugger.disable();
- +  InspectorTest.completeTest();
- +})();
--diff --git a/test/inspector/inspector-test.cc b/test/inspector/inspector-test.cc
--index 767168b297..4c133cee1f 100644
----- a/test/inspector/inspector-test.cc
--+++ b/test/inspector/inspector-test.cc
--@@ -299,6 +299,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask {
--     utils->Set(ToV8String(isolate, "setLogConsoleApiMessageCalls"),
--                v8::FunctionTemplate::New(
--                    isolate, &UtilsExtension::SetLogConsoleApiMessageCalls));
--+    utils->Set(
--+        ToV8String(isolate, "setLogMaxAsyncCallStackDepthChanged"),
--+        v8::FunctionTemplate::New(
--+            isolate, &UtilsExtension::SetLogMaxAsyncCallStackDepthChanged));
--     utils->Set(ToV8String(isolate, "createContextGroup"),
--                v8::FunctionTemplate::New(isolate,
--                                          &UtilsExtension::CreateContextGroup));
--@@ -485,6 +489,17 @@ class UtilsExtension : public IsolateData::SetupGlobalTask {
--         args[0].As<v8::Boolean>()->Value());
--   }
--
--+  static void SetLogMaxAsyncCallStackDepthChanged(
--+      const v8::FunctionCallbackInfo<v8::Value>& args) {
--+    if (args.Length() != 1 || !args[0]->IsBoolean()) {
--+      fprintf(stderr,
--+              "Internal error: setLogMaxAsyncCallStackDepthChanged(bool).");
--+      Exit();
--+    }
--+    backend_runner_->data()->SetLogMaxAsyncCallStackDepthChanged(
--+        args[0].As<v8::Boolean>()->Value());
--+  }
--+
--   static void CreateContextGroup(
--       const v8::FunctionCallbackInfo<v8::Value>& args) {
--     if (args.Length() != 0) {
--diff --git a/test/inspector/isolate-data.cc b/test/inspector/isolate-data.cc
--index bd97a927e8..2e9a64f66d 100644
----- a/test/inspector/isolate-data.cc
--+++ b/test/inspector/isolate-data.cc
--@@ -355,6 +355,10 @@ void IsolateData::SetLogConsoleApiMessageCalls(bool log) {
--   log_console_api_message_calls_ = log;
-- }
--
--+void IsolateData::SetLogMaxAsyncCallStackDepthChanged(bool log) {
--+  log_max_async_call_stack_depth_changed_ = log;
--+}
--+
-- v8::MaybeLocal<v8::Value> IsolateData::memoryInfo(v8::Isolate* isolate,
--                                                   v8::Local<v8::Context>) {
--   if (memory_info_.IsEmpty()) return v8::MaybeLocal<v8::Value>();
--@@ -381,3 +385,8 @@ void IsolateData::consoleAPIMessage(int contextGroupId,
--   Print(isolate_, stack->toString()->string());
--   fprintf(stdout, "\n");
-- }
--+
--+void IsolateData::maxAsyncCallStackDepthChanged(int depth) {
--+  if (!log_max_async_call_stack_depth_changed_) return;
--+  fprintf(stdout, "maxAsyncCallStackDepthChanged: %d\n", depth);
--+}
--diff --git a/test/inspector/isolate-data.h b/test/inspector/isolate-data.h
--index c96a8d1bbd..af2bf0ef1e 100644
----- a/test/inspector/isolate-data.h
--+++ b/test/inspector/isolate-data.h
--@@ -64,6 +64,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
--   void SetCurrentTimeMS(double time);
--   void SetMemoryInfo(v8::Local<v8::Value> memory_info);
--   void SetLogConsoleApiMessageCalls(bool log);
--+  void SetLogMaxAsyncCallStackDepthChanged(bool log);
--   void SetMaxAsyncTaskStacksForTest(int limit);
--   void DumpAsyncTaskStacksStateForTest();
--   void FireContextCreated(v8::Local<v8::Context> context, int context_group_id);
--@@ -105,6 +106,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
--                          const v8_inspector::StringView& url,
--                          unsigned lineNumber, unsigned columnNumber,
--                          v8_inspector::V8StackTrace*) override;
--+  void maxAsyncCallStackDepthChanged(int depth) override;
--
--   TaskRunner* task_runner_;
--   SetupGlobalTasks setup_global_tasks_;
--@@ -122,6 +124,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
--   bool current_time_set_ = false;
--   double current_time_ = 0.0;
--   bool log_console_api_message_calls_ = false;
--+  bool log_max_async_call_stack_depth_changed_ = false;
--
--   DISALLOW_COPY_AND_ASSIGN(IsolateData);
-- };
---- a/patches/v8/025-cherry_pick_cc55747.patch
-+++ /dev/null
-@@ -1,13 +0,0 @@
--diff --git a/test/message/testcfg.py b/test/message/testcfg.py
--index 0576458af2..1bbb2b16d8 100644
----- a/test/message/testcfg.py
--+++ b/test/message/testcfg.py
--@@ -107,7 +107,7 @@ class MessageTestSuite(testsuite.TestSuite):
--         expected_lines, actual_lines, fillvalue=''):
--       pattern = re.escape(expected.rstrip() % env)
--       pattern = pattern.replace("\\*", ".*")
---      pattern = pattern.replace("\\{NUMBER\\}", "\d(?:\.\d*)?")
--+      pattern = pattern.replace("\\{NUMBER\\}", "\d+(?:\.\d*)?")
--       pattern = "^%s$" % pattern
--       if not re.match(pattern, actual):
--         return True

Added: libchromiumcontent-remove-useless-patches.patch
===================================================================
--- libchromiumcontent-remove-useless-patches.patch	                        (rev 0)
+++ libchromiumcontent-remove-useless-patches.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -0,0 +1,518 @@
+--- a/patches/common/v8/.patches.yaml
++++ b/patches/common/v8/.patches.yaml
+@@ -22,11 +22,6 @@
+   file: dcheck.patch
+   description: null
+ -
+-  owners: nitsakh
+-  file: disable-warning-win.patch
+-  description:
+-    Disable unit test windows build warning
+--
+   owners: alexeykuzmin
+   file: backport_b767cde1e7.patch
+   description: Node 10.0.0 needs it.
+--- a/patches/common/v8/backport_23652c5f.patch
++++ b/patches/common/v8/backport_23652c5f.patch
+@@ -55,107 +55,3 @@
+    ~JSONTraceWriter();
+    void AppendTraceEvent(TraceObject* trace_event) override;
+    void Flush() override;
+-diff --git a/test/cctest/libplatform/test-tracing.cc b/test/cctest/libplatform/test-tracing.cc
+-index da202057de..b949785bcf 100644
+---- a/test/cctest/libplatform/test-tracing.cc
+-+++ b/test/cctest/libplatform/test-tracing.cc
+-@@ -128,44 +128,42 @@ TEST(TestTraceBufferRingBuffer) {
+-   delete ring_buffer;
+- }
+- 
+--TEST(TestJSONTraceWriter) {
+--  std::ostringstream stream;
+--  // Create a scope for the tracing controller to terminate the trace writer.
+--  {
+--    v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+--    std::unique_ptr<v8::Platform> default_platform(
+--        v8::platform::NewDefaultPlatform());
+--    i::V8::SetPlatformForTesting(default_platform.get());
+--    auto tracing =
+--        base::make_unique<v8::platform::tracing::TracingController>();
+--    v8::platform::tracing::TracingController* tracing_controller =
+--        tracing.get();
+--    static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
+--        ->SetTracingController(std::move(tracing));
+--    TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
+-+void PopulateJSONWriter(TraceWriter* writer) {
+-+  v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+-+  std::unique_ptr<v8::Platform> default_platform(
+-+      v8::platform::NewDefaultPlatform());
+-+  i::V8::SetPlatformForTesting(default_platform.get());
+-+  auto tracing = base::make_unique<v8::platform::tracing::TracingController>();
+-+  v8::platform::tracing::TracingController* tracing_controller = tracing.get();
+-+  static_cast<v8::platform::DefaultPlatform*>(default_platform.get())
+-+      ->SetTracingController(std::move(tracing));
+- 
+--    TraceBuffer* ring_buffer =
+--        TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
+--    tracing_controller->Initialize(ring_buffer);
+--    TraceConfig* trace_config = new TraceConfig();
+--    trace_config->AddIncludedCategory("v8-cat");
+--    tracing_controller->StartTracing(trace_config);
+-+  TraceBuffer* ring_buffer =
+-+      TraceBuffer::CreateTraceBufferRingBuffer(1, writer);
+-+  tracing_controller->Initialize(ring_buffer);
+-+  TraceConfig* trace_config = new TraceConfig();
+-+  trace_config->AddIncludedCategory("v8-cat");
+-+  tracing_controller->StartTracing(trace_config);
+- 
+--    TraceObject trace_object;
+--    trace_object.InitializeForTesting(
+--        'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
+--        v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
+--        nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
+--    writer->AppendTraceEvent(&trace_object);
+--    trace_object.InitializeForTesting(
+--        'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
+--        v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
+--        nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
+--    writer->AppendTraceEvent(&trace_object);
+--    tracing_controller->StopTracing();
+--    i::V8::SetPlatformForTesting(old_platform);
+--  }
+-+  TraceObject trace_object;
+-+  trace_object.InitializeForTesting(
+-+      'X', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test0",
+-+      v8::internal::tracing::kGlobalScope, 42, 123, 0, nullptr, nullptr,
+-+      nullptr, nullptr, TRACE_EVENT_FLAG_HAS_ID, 11, 22, 100, 50, 33, 44);
+-+  writer->AppendTraceEvent(&trace_object);
+-+  trace_object.InitializeForTesting(
+-+      'Y', tracing_controller->GetCategoryGroupEnabled("v8-cat"), "Test1",
+-+      v8::internal::tracing::kGlobalScope, 43, 456, 0, nullptr, nullptr,
+-+      nullptr, nullptr, 0, 55, 66, 110, 55, 77, 88);
+-+  writer->AppendTraceEvent(&trace_object);
+-+  tracing_controller->StopTracing();
+-+  i::V8::SetPlatformForTesting(old_platform);
+-+}
+- 
+-+TEST(TestJSONTraceWriter) {
+-+  std::ostringstream stream;
+-+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream);
+-+  PopulateJSONWriter(writer);
+-   std::string trace_str = stream.str();
+-   std::string expected_trace_str =
+-       "{\"traceEvents\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
+-@@ -177,6 +175,21 @@ TEST(TestJSONTraceWriter) {
+-   CHECK_EQ(expected_trace_str, trace_str);
+- }
+- 
+-+TEST(TestJSONTraceWriterWithCustomtag) {
+-+  std::ostringstream stream;
+-+  TraceWriter* writer = TraceWriter::CreateJSONTraceWriter(stream, "customTag");
+-+  PopulateJSONWriter(writer);
+-+  std::string trace_str = stream.str();
+-+  std::string expected_trace_str =
+-+      "{\"customTag\":[{\"pid\":11,\"tid\":22,\"ts\":100,\"tts\":50,"
+-+      "\"ph\":\"X\",\"cat\":\"v8-cat\",\"name\":\"Test0\",\"dur\":33,"
+-+      "\"tdur\":44,\"id\":\"0x2a\",\"args\":{}},{\"pid\":55,\"tid\":66,"
+-+      "\"ts\":110,\"tts\":55,\"ph\":\"Y\",\"cat\":\"v8-cat\",\"name\":"
+-+      "\"Test1\",\"dur\":77,\"tdur\":88,\"args\":{}}]}";
+-+
+-+  CHECK_EQ(expected_trace_str, trace_str);
+-+}
+-+
+- TEST(TestTracingController) {
+-   v8::Platform* old_platform = i::V8::GetCurrentPlatform();
+-   std::unique_ptr<v8::Platform> default_platform(
+--- a/patches/common/v8/backport_2eb23a17.patch
++++ b/patches/common/v8/backport_2eb23a17.patch
+@@ -709,300 +709,3 @@
+    F(SystemBreak, 0, 1)                        \
+    F(TraceEnter, 0, 1)                         \
+    F(TraceExit, 1, 1)                          \
+-diff --git a/test/cctest/test-typedarrays.cc b/test/cctest/test-typedarrays.cc
+-index 7ec9197b65..bab6e0f2f6 100644
+---- a/test/cctest/test-typedarrays.cc
+-+++ b/test/cctest/test-typedarrays.cc
+-@@ -117,12 +117,12 @@ void TestSpeciesProtector(char* code,
+- 
+-       v8::internal::Isolate* i_isolate =
+-           reinterpret_cast<v8::internal::Isolate*>(isolate);
+--      CHECK(i_isolate->IsSpeciesLookupChainIntact());
+-+      CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       CompileRun(code);
+-       if (invalidates_species_protector) {
+--        CHECK(!i_isolate->IsSpeciesLookupChainIntact());
+-+        CHECK(!i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       } else {
+--        CHECK(i_isolate->IsSpeciesLookupChainIntact());
+-+        CHECK(i_isolate->IsTypedArraySpeciesLookupChainIntact());
+-       }
+- 
+-       v8::Local<v8::Value> my_typed_array = CompileRun("MyTypedArray");
+-diff --git a/test/mjsunit/es6/array-species-constructor-accessor.js b/test/mjsunit/es6/array-species-constructor-accessor.js
+-index 7ebf328a8a..7185d98b58 100644
+---- a/test/mjsunit/es6/array-species-constructor-accessor.js
+-+++ b/test/mjsunit/es6/array-species-constructor-accessor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Object.defineProperty(x, 'constructor', {get() { return MyArray; }});
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-constructor-delete.js b/test/mjsunit/es6/array-species-constructor-delete.js
+-index fff22a2a8c..3b85d52565 100644
+---- a/test/mjsunit/es6/array-species-constructor-delete.js
+-+++ b/test/mjsunit/es6/array-species-constructor-delete.js
+-@@ -19,7 +19,7 @@ class MyArray extends Array { }
+- 
+- Object.prototype.constructor = MyArray;
+- delete Array.prototype.constructor;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-constructor.js b/test/mjsunit/es6/array-species-constructor.js
+-index 0d888f46ee..07e897d458 100644
+---- a/test/mjsunit/es6/array-species-constructor.js
+-+++ b/test/mjsunit/es6/array-species-constructor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- x.constructor = MyArray;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-delete.js b/test/mjsunit/es6/array-species-delete.js
+-index 16a2fa26f9..2f0f50a1b2 100644
+---- a/test/mjsunit/es6/array-species-delete.js
+-+++ b/test/mjsunit/es6/array-species-delete.js
+-@@ -19,7 +19,7 @@ class MyArray extends Array { }
+- 
+- Object.prototype[Symbol.species] = MyArray;
+- delete Array[Symbol.species];
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-modified.js b/test/mjsunit/es6/array-species-modified.js
+-index 58feb31669..d5a707997a 100644
+---- a/test/mjsunit/es6/array-species-modified.js
+-+++ b/test/mjsunit/es6/array-species-modified.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Object.defineProperty(Array, Symbol.species, {value: MyArray});
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-parent-constructor.js b/test/mjsunit/es6/array-species-parent-constructor.js
+-index b4fb1d56e3..8a861fb05d 100644
+---- a/test/mjsunit/es6/array-species-parent-constructor.js
+-+++ b/test/mjsunit/es6/array-species-parent-constructor.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- Array.prototype.constructor = MyArray;
+--assertFalse(%SpeciesProtector());
+-+assertFalse(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/es6/array-species-proto.js b/test/mjsunit/es6/array-species-proto.js
+-index 6b55881cd6..d8e2ae5ddd 100644
+---- a/test/mjsunit/es6/array-species-proto.js
+-+++ b/test/mjsunit/es6/array-species-proto.js
+-@@ -18,7 +18,7 @@ assertEquals(1, x.concat([1])[0]);
+- class MyArray extends Array { }
+- 
+- x.__proto__ = MyArray.prototype;
+--assertTrue(%SpeciesProtector());
+-+assertTrue(%ArraySpeciesProtector());
+- 
+- assertEquals(MyArray, x.map(()=>{}).constructor);
+- assertEquals(MyArray, x.filter(()=>{}).constructor);
+-diff --git a/test/mjsunit/harmony/regexp-named-captures.js b/test/mjsunit/harmony/regexp-named-captures.js
+-index 72041b99bf..aab8393392 100644
+---- a/test/mjsunit/harmony/regexp-named-captures.js
+-+++ b/test/mjsunit/harmony/regexp-named-captures.js
+-@@ -425,7 +425,7 @@ function toSlowMode(re) {
+- {
+-   const re = /./;
+-   const result = re.exec("a");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["a"], result);
+-@@ -433,7 +433,7 @@ function toSlowMode(re) {
+-   assertEquals(undefined, result.groups);
+- 
+-   Array.prototype.groups = { a: "b" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("$<a>", "a".replace(re, "$<a>"));
+-   Array.prototype.groups = undefined;
+- }
+-@@ -441,7 +441,7 @@ function toSlowMode(re) {
+- {
+-   const re = toSlowMode(/./);
+-   const result = re.exec("a");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["a"], result);
+-@@ -449,7 +449,7 @@ function toSlowMode(re) {
+-   assertEquals(undefined, result.groups);
+- 
+-   Array.prototype.groups = { a: "b" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("$<a>", "a".replace(re, "$<a>"));
+-   Array.prototype.groups = undefined;
+- }
+-@@ -457,7 +457,7 @@ function toSlowMode(re) {
+- {
+-   const re = /(?<a>a).|(?<x>x)/;
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["ab", "a", undefined], result);
+-@@ -467,7 +467,7 @@ function toSlowMode(re) {
+-   // a is a matched named capture, b is an unmatched named capture, and z
+-   // is not a named capture.
+-   Array.prototype.groups = { a: "b", x: "y", z: "z" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("a", "ab".replace(re, "$<a>"));
+-   assertEquals("", "ab".replace(re, "$<x>"));
+-   assertEquals("", "ab".replace(re, "$<z>"));
+-@@ -477,7 +477,7 @@ function toSlowMode(re) {
+- {
+-   const re = toSlowMode(/(?<a>a).|(?<x>x)/);
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertArrayEquals(["ab", "a", undefined], result);
+-@@ -487,7 +487,7 @@ function toSlowMode(re) {
+-   // a is a matched named capture, b is an unmatched named capture, and z
+-   // is not a named capture.
+-   Array.prototype.groups = { a: "b", x: "y", z: "z" };
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("a", "ab".replace(re, "$<a>"));
+-   assertEquals("", "ab".replace(re, "$<x>"));
+-   assertEquals("", "ab".replace(re, "$<z>"));
+-@@ -506,13 +506,13 @@ function toSlowMode(re) {
+- 
+-   const re = new FakeRegExp();
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertFalse(result.hasOwnProperty('groups'));
+- 
+-   Array.prototype.groups = { a: "b" };
+-   Array.prototype.groups.__proto__.b = "c";
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals("b", "ab".replace(re, "$<a>"));
+-   assertEquals("c", "ab".replace(re, "$<b>"));
+-   Array.prototype.groups = undefined;
+-@@ -531,7 +531,7 @@ function toSlowMode(re) {
+- 
+-   const re = new FakeRegExp();
+-   const result = re.exec("ab");
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   assertEquals(result.__proto__, Array.prototype);
+-   assertTrue(result.hasOwnProperty('groups'));
+-   assertEquals({ a: "b" }, result.groups);
+-diff --git a/test/mjsunit/keyed-store-generic.js b/test/mjsunit/keyed-store-generic.js
+-index c2c48dd96d..e5d6ab41f2 100644
+---- a/test/mjsunit/keyed-store-generic.js
+-+++ b/test/mjsunit/keyed-store-generic.js
+-@@ -16,7 +16,7 @@ f("make it generic", 0, 0);
+- 
+- (function TestSpeciesProtector() {
+-   function MyArray() {}
+--  assertTrue(%SpeciesProtector());
+-+  assertTrue(%ArraySpeciesProtector());
+-   f(Array.prototype, "constructor", MyArray);
+--  assertFalse(%SpeciesProtector());
+-+  assertFalse(%ArraySpeciesProtector());
+- })();
+-diff --git a/tools/v8heapconst.py b/tools/v8heapconst.py
+-index 5659cdd03c..b4a98dcc11 100644
+---- a/tools/v8heapconst.py
+-+++ b/tools/v8heapconst.py
+-@@ -322,34 +322,35 @@ KNOWN_OBJECTS = {
+-   ("OLD_SPACE", 0x02519): "TerminationException",
+-   ("OLD_SPACE", 0x02579): "OptimizedOut",
+-   ("OLD_SPACE", 0x025d1): "StaleRegister",
+--  ("OLD_SPACE", 0x02651): "EmptyByteArray",
+--  ("OLD_SPACE", 0x02661): "EmptyFixedUint8Array",
+--  ("OLD_SPACE", 0x02681): "EmptyFixedInt8Array",
+--  ("OLD_SPACE", 0x026a1): "EmptyFixedUint16Array",
+--  ("OLD_SPACE", 0x026c1): "EmptyFixedInt16Array",
+--  ("OLD_SPACE", 0x026e1): "EmptyFixedUint32Array",
+--  ("OLD_SPACE", 0x02701): "EmptyFixedInt32Array",
+--  ("OLD_SPACE", 0x02721): "EmptyFixedFloat32Array",
+--  ("OLD_SPACE", 0x02741): "EmptyFixedFloat64Array",
+--  ("OLD_SPACE", 0x02761): "EmptyFixedUint8ClampedArray",
+--  ("OLD_SPACE", 0x027c1): "EmptyScript",
+--  ("OLD_SPACE", 0x02849): "ManyClosuresCell",
+--  ("OLD_SPACE", 0x02859): "EmptySloppyArgumentsElements",
+--  ("OLD_SPACE", 0x02879): "EmptySlowElementDictionary",
+--  ("OLD_SPACE", 0x028c1): "EmptyOrderedHashMap",
+--  ("OLD_SPACE", 0x028e9): "EmptyOrderedHashSet",
+--  ("OLD_SPACE", 0x02911): "EmptyPropertyCell",
+--  ("OLD_SPACE", 0x02939): "EmptyWeakCell",
+--  ("OLD_SPACE", 0x029a9): "NoElementsProtector",
+--  ("OLD_SPACE", 0x029d1): "IsConcatSpreadableProtector",
+--  ("OLD_SPACE", 0x029e1): "SpeciesProtector",
+--  ("OLD_SPACE", 0x02a09): "StringLengthProtector",
+--  ("OLD_SPACE", 0x02a19): "FastArrayIterationProtector",
+--  ("OLD_SPACE", 0x02a29): "ArrayIteratorProtector",
+--  ("OLD_SPACE", 0x02a51): "ArrayBufferNeuteringProtector",
+--  ("OLD_SPACE", 0x02ac9): "InfinityValue",
+--  ("OLD_SPACE", 0x02ad9): "MinusZeroValue",
+--  ("OLD_SPACE", 0x02ae9): "MinusInfinityValue",
+-+  ("OLD_SPACE", 0x02661): "EmptyByteArray",
+-+  ("OLD_SPACE", 0x02681): "EmptyFixedUint8Array",
+-+  ("OLD_SPACE", 0x026a1): "EmptyFixedInt8Array",
+-+  ("OLD_SPACE", 0x026c1): "EmptyFixedUint16Array",
+-+  ("OLD_SPACE", 0x026e1): "EmptyFixedInt16Array",
+-+  ("OLD_SPACE", 0x02701): "EmptyFixedUint32Array",
+-+  ("OLD_SPACE", 0x02721): "EmptyFixedInt32Array",
+-+  ("OLD_SPACE", 0x02741): "EmptyFixedFloat32Array",
+-+  ("OLD_SPACE", 0x02761): "EmptyFixedFloat64Array",
+-+  ("OLD_SPACE", 0x02781): "EmptyFixedUint8ClampedArray",
+-+  ("OLD_SPACE", 0x027e1): "EmptyScript",
+-+  ("OLD_SPACE", 0x02879): "ManyClosuresCell",
+-+  ("OLD_SPACE", 0x02889): "EmptySloppyArgumentsElements",
+-+  ("OLD_SPACE", 0x028a9): "EmptySlowElementDictionary",
+-+  ("OLD_SPACE", 0x028f1): "EmptyOrderedHashMap",
+-+  ("OLD_SPACE", 0x02919): "EmptyOrderedHashSet",
+-+  ("OLD_SPACE", 0x02951): "EmptyPropertyCell",
+-+  ("OLD_SPACE", 0x02979): "EmptyWeakCell",
+-+  ("OLD_SPACE", 0x029e9): "NoElementsProtector",
+-+  ("OLD_SPACE", 0x02a11): "IsConcatSpreadableProtector",
+-+  ("OLD_SPACE", 0x02a21): "ArraySpeciesProtector",
+-+  ("OLD_SPACE", 0x02a49): "TypedArraySpeciesProtector",
+-+  ("OLD_SPACE", 0x02a71): "PromiseSpeciesProtector",
+-+  ("OLD_SPACE", 0x02a99): "StringLengthProtector",
+-+  ("OLD_SPACE", 0x02aa9): "ArrayIteratorProtector",
+-+  ("OLD_SPACE", 0x02ad1): "ArrayBufferNeuteringProtector",
+-+  ("OLD_SPACE", 0x02b59): "InfinityValue",
+-+  ("OLD_SPACE", 0x02b69): "MinusZeroValue",
+-+  ("OLD_SPACE", 0x02b79): "MinusInfinityValue",
+- }
+- 
+- # List of known V8 Frame Markers.
+--- 
+-2.11.0 (Apple Git-81)
+-
+--- a/patches/common/v8/backport_39d546a.patch
++++ b/patches/common/v8/backport_39d546a.patch
+@@ -42,43 +42,3 @@
+  MaybeLocal<String> Value::ToString(Local<Context> context) const {
+    auto obj = Utils::OpenHandle(this);
+    if (obj->IsString()) return ToApiHandle<String>(obj);
+-diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
+-index 54afc61f4c..b7483a7c5e 100644
+---- a/test/cctest/test-api.cc
+-+++ b/test/cctest/test-api.cc
+-@@ -27239,6 +27239,35 @@ TEST(ImportMeta) {
+-   CHECK(result->StrictEquals(Local<v8::Value>::Cast(v8::Utils::ToLocal(meta))));
+- }
+- 
+-+TEST(GetModuleNamespace) {
+-+  LocalContext context;
+-+  v8::Isolate* isolate = context->GetIsolate();
+-+  v8::HandleScope scope(isolate);
+-+
+-+  Local<String> url = v8_str("www.google.com");
+-+  Local<String> source_text = v8_str("export default 5; export const a = 10;");
+-+  v8::ScriptOrigin origin(url, Local<v8::Integer>(), Local<v8::Integer>(),
+-+                          Local<v8::Boolean>(), Local<v8::Integer>(),
+-+                          Local<v8::Value>(), Local<v8::Boolean>(),
+-+                          Local<v8::Boolean>(), True(isolate));
+-+  v8::ScriptCompiler::Source source(source_text, origin);
+-+  Local<Module> module =
+-+      v8::ScriptCompiler::CompileModule(isolate, &source).ToLocalChecked();
+-+  module->InstantiateModule(context.local(), UnexpectedModuleResolveCallback)
+-+      .ToChecked();
+-+  module->Evaluate(context.local()).ToLocalChecked();
+-+
+-+  Local<Value> ns_val = module->GetModuleNamespace();
+-+  CHECK(ns_val->IsModuleNamespaceObject());
+-+  Local<Object> ns = ns_val.As<Object>();
+-+  CHECK(ns->Get(context.local(), v8_str("default"))
+-+            .ToLocalChecked()
+-+            ->StrictEquals(v8::Number::New(isolate, 5)));
+-+  CHECK(ns->Get(context.local(), v8_str("a"))
+-+            .ToLocalChecked()
+-+            ->StrictEquals(v8::Number::New(isolate, 10)));
+-+}
+-+
+- TEST(GlobalTemplateWithDoubleProperty) {
+-   v8::Isolate* isolate = CcTest::isolate();
+-   v8::HandleScope handle_scope(isolate);
+--- a/patches/common/v8/backport_9fb02b526.patch
++++ b/patches/common/v8/backport_9fb02b526.patch
+@@ -73,42 +73,3 @@
+      }
+  
+      raw_holder = GetCompatibleReceiver(isolate, *fun_data, *js_receiver);
+-diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
+-index 7887cbfa75..0605f439e5 100644
+---- a/test/cctest/test-api.cc
+-+++ b/test/cctest/test-api.cc
+-@@ -1088,6 +1088,34 @@ THREADED_PROFILED_TEST(FunctionTemplate) {
+-   TestFunctionTemplateAccessor(construct_callback, Return239Callback);
+- }
+- 
+-+static void FunctionCallbackForProxyTest(
+-+    const v8::FunctionCallbackInfo<Value>& info) {
+-+  info.GetReturnValue().Set(info.This());
+-+}
+-+
+-+THREADED_TEST(FunctionTemplateWithProxy) {
+-+  LocalContext env;
+-+  v8::Isolate* isolate = env->GetIsolate();
+-+  v8::HandleScope scope(isolate);
+-+
+-+  v8::Local<v8::FunctionTemplate> function_template =
+-+      v8::FunctionTemplate::New(isolate, FunctionCallbackForProxyTest);
+-+  v8::Local<v8::Function> function =
+-+      function_template->GetFunction(env.local()).ToLocalChecked();
+-+  CHECK((*env)->Global()->Set(env.local(), v8_str("f"), function).FromJust());
+-+  v8::Local<v8::Value> proxy =
+-+      CompileRun("var proxy = new Proxy({}, {}); proxy");
+-+  CHECK(proxy->IsProxy());
+-+
+-+  v8::Local<v8::Value> result = CompileRun("f(proxy)");
+-+  CHECK(result->Equals(env.local(), (*env)->Global()).FromJust());
+-+
+-+  result = CompileRun("f.call(proxy)");
+-+  CHECK(result->Equals(env.local(), proxy).FromJust());
+-+
+-+  result = CompileRun("Reflect.apply(f, proxy, [1])");
+-+  CHECK(result->Equals(env.local(), proxy).FromJust());
+-+}
+- 
+- static void SimpleCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
+-   ApiTestFuzzer::Fuzz();

Modified: libchromiumcontent-settings.patch
===================================================================
--- libchromiumcontent-settings.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ libchromiumcontent-settings.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -13,8 +13,8 @@
 +use_gnome_keyring = false
 --- a/chromiumcontent/args/static_library.gn
 +++ b/chromiumcontent/args/static_library.gn
-@@ -1,13 +1,25 @@
- root_extra_deps = [ "//chromiumcontent:chromiumcontent" ]
+@@ -1,13 +1,26 @@
+ root_extra_deps = [ "//libchromiumcontent/chromiumcontent" ]
  is_electron_build = true
  is_component_build = false
 -is_official_build = true
@@ -26,6 +26,8 @@
  proprietary_codecs = true
  is_component_ffmpeg = true
  ffmpeg_branding = "Chrome"
++custom_toolchain="//build/toolchain/linux/unbundle:default"
++host_toolchain="//build/toolchain/linux/unbundle:default"
 +clang_base_path = "/usr"
 +clang_use_chrome_plugins = false
 +fatal_linker_warnings = false
@@ -36,8 +38,7 @@
 +linux_use_bundled_binutils = false
 +use_cups = true
 +use_sysroot = false
-+use_gconf = false
 +use_gnome_keyring = false
  
- # CFI is disabled for the time being, as Electron is not a monolithic binary
- # with at least one shared library component (Node) and CFI is tricky in that
+ # This may be guarded behind is_chrome_branded alongside
+ # proprietary_codecs https://webrtc-review.googlesource.com/c/src/+/36321,

Modified: libchromiumcontent-sort-filenames.patch
===================================================================
--- libchromiumcontent-sort-filenames.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ libchromiumcontent-sort-filenames.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,9 +1,9 @@
 --- a/chromiumcontent/build_libs.py
 +++ b/chromiumcontent/build_libs.py
-@@ -13,7 +13,8 @@ def gen_list(out, name, obj_dirs):
-     out.write(name + " = [\n")
+@@ -22,7 +22,8 @@ def gen_list(out, name, obj_dirs):
      for base_dir in obj_dirs:
-         for dir, subdirs, files in os.walk(os.path.join('obj', base_dir)):
+         base_path = os.path.join('obj', base_dir)
+         for dir, subdirs, files in walk_dir(base_path, exclude_dirs):
 -            for f in files:
 +            subdirs.sort()
 +            for f in sorted(files):

Modified: libchromiumcontent-static-library-only.patch
===================================================================
--- libchromiumcontent-static-library-only.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ libchromiumcontent-static-library-only.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,6 +1,6 @@
 --- a/script/create-dist
 +++ b/script/create-dist
-@@ -79,7 +79,7 @@ BINARIES = {
+@@ -69,7 +69,7 @@ BINARIES = {
      'libffmpeg.dylib',
    ],
    'linux': [
@@ -9,7 +9,7 @@
    ],
    'win32': [
      'd3dcompiler_47.dll',
-@@ -414,7 +414,7 @@ def generate_ninja(args, ninja):
+@@ -443,7 +443,7 @@ def generate_ninja(args, ninja):
        copy_locales(target_arch, component, ninja)
  
    if args.component != 'native_mksnapshot':
@@ -18,26 +18,26 @@
      copy_sources(ninja)
    generate_licenses(ninja)
  
-@@ -542,9 +542,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
-       else:
-         binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
-     else:
--      binaries = [ 'chromedriver', 'mksnapshot' ]
-+      binaries = [ 'mksnapshot' ]
+@@ -571,9 +571,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
+   elif target_arch == 'mips64el':
+     binaries = [ 'chromedriver', 'clang_x64_v8_mips64el/mksnapshot' ]
+   else:
+-    binaries = [ 'chromedriver', 'mksnapshot' ]
++    binaries = [ 'mksnapshot' ]
  
--    ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
-+    ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
-     for binary in binaries:
-       ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
+-  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'ffmpeg')
++  ffmpeg_output_dir = get_output_dir(SOURCE_ROOT, target_arch, 'static_library')
+   for binary in binaries:
+     ninja.copy(os.path.join(ffmpeg_output_dir, binary), target_dir)
  
---- a/script/update
-+++ b/script/update
-@@ -20,7 +20,7 @@ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
- SRC_DIR = os.path.join(SOURCE_ROOT, 'src')
- CHROMIUMCONTENT_SOURCE_DIR = os.path.join(SOURCE_ROOT, 'chromiumcontent')
- CHROMIUMCONTENT_DESTINATION_DIR = os.path.join(SRC_DIR, 'chromiumcontent')
--COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'native_mksnapshot']
+--- a/script/lib/config.py
++++ b/script/lib/config.py
+@@ -10,7 +10,7 @@
+ VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
+ DEPOT_TOOLS_DIR = os.path.join(VENDOR_DIR, 'depot_tools')
+ 
+-COMPONENTS = ['static_library', 'shared_library', 'ffmpeg', 'tests', 'native_mksnapshot']
 +COMPONENTS = ['static_library', 'native_mksnapshot']
- DEPOT_TOOLS = os.path.join(VENDOR_DIR, 'depot_tools')
  
  # URL to the mips64el sysroot image.
+ MIPS64EL_SYSROOT = 'https://github.com/electron/debian-sysroot-image-creator/releases/download/v0.5.0/debian_jessie_mips64-sysroot.tar.bz2'

Modified: libchromiumcontent-use-system-tools.patch
===================================================================
--- libchromiumcontent-use-system-tools.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ libchromiumcontent-use-system-tools.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,57 +1,34 @@
---- a/script/build
-+++ b/script/build
-@@ -17,7 +17,7 @@
- # Whether the host system is a mips64el machine.
- IS_MIPS64EL_HOST = platform.uname()[5] == 'mips64'
+--- a/script/lib/ninja.py
++++ b/script/lib/ninja.py
+@@ -15,7 +15,7 @@
  
--NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja')
-+NINJA = 'ninja'
- if sys.platform == 'win32':
-   NINJA = '{0}.exe'.format(NINJA)
- elif IS_MIPS64EL_HOST:
---- a/script/create-dist
-+++ b/script/create-dist
-@@ -34,7 +34,7 @@
- # Whether the host system is a mips64el machine.
- IS_MIPS64EL_HOST = platform.uname()[5] == 'mips64'
  
--NINJA = os.path.join(VENDOR_DIR, 'depot_tools', 'ninja')
-+NINJA = 'ninja'
- if sys.platform == 'win32':
-   NINJA = '{0}.exe'.format(NINJA)
- elif IS_MIPS64EL_HOST:
---- a/script/lib/gn.py
-+++ b/script/lib/gn.py
-@@ -10,7 +10,7 @@
-   if platform in ['win32', 'cygwin']:
-     relative_path = ['buildtools', 'win', 'gn.exe']
-   elif platform == 'linux2':
--    relative_path = ['buildtools', 'linux64', 'gn']
-+    relative_path = ['out', 'Release', 'gn']
-   elif platform == 'darwin':
-     relative_path = ['buildtools', 'mac', 'gn']
+ def run(directory, target=None, env=None):
+-  ninja_binary = __get_binary_path()
++  ninja_binary = 'ninja'
  
+   args = [ninja_binary,
+           '-C', directory
+--- a/script/run-gn
++++ b/script/run-gn
+@@ -56,7 +56,7 @@
+   if sys.platform in ['win32', 'cygwin']:
+     env['DEPOT_TOOLS_WIN_TOOLCHAIN'] = '0'
+ 
+-  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=DEPOT_TOOLS_DIR, env=env)
++  gn.generate(build_dir, chromium_root_dir=SRC_DIR, depot_tools_dir=os.path.join('/usr', 'bin'), env=env)
+ 
+ 
+ def create_gn_config(component, build_dir, **gnargs):
 --- a/script/update
 +++ b/script/update
-@@ -75,17 +75,16 @@
-   if target_arch == 'mips64el' and IS_MIPS64EL_HOST:
-     os.system('sh script/mips64el/runhooks-mips64el')
- 
--  if sys.platform == 'linux2':
--    install_sysroot(target_arch)
--  elif sys.platform in ['win32', 'cygwin']:
--    update_toolchain_json()
-+  # if sys.platform == 'linux2':
-+  #   install_sysroot(target_arch)
-+  # elif sys.platform in ['win32', 'cygwin']:
-+  #   update_toolchain_json()
- 
-   if target_arch == 'arm64':
+@@ -89,9 +89,7 @@
      install_aarch64_bintools()
  
    return ((apply_patches(target_arch) if args.apply_patches else 0) or
+-          install_sysroot_if_needed(target_arch) or
            copy_chromiumcontent_files() or
 -          update_clang() or
            setup_mips64el_toolchain(target_arch) or
-           run_gn(target_arch))
+           run_gn(target_arch, args.cc_wrapper))
  

Added: no-clang-plugins.patch
===================================================================
--- no-clang-plugins.patch	                        (rev 0)
+++ no-clang-plugins.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -0,0 +1,38 @@
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -134,35 +134,6 @@
+           'CLANG_CXX_LANGUAGE_STANDARD': 'c++14',  # -std=c++14
+         },
+         'target_conditions': [
+-          ['_target_name in ["electron", "brightray"]', {
+-            'conditions': [
+-              ['OS=="mac"', {
+-                'xcode_settings': {
+-                  'OTHER_CFLAGS': [
+-                    "-Xclang",
+-                    "-load",
+-                    "-Xclang",
+-                    "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.dylib",
+-                    "-Xclang",
+-                    "-add-plugin",
+-                    "-Xclang",
+-                    "find-bad-constructs",
+-                  ],
+-                },
+-              }, {  # OS=="mac"
+-                'cflags_cc': [
+-                  "-Xclang",
+-                  "-load",
+-                  "-Xclang",
+-                  "<(source_root)/<(make_clang_dir)/lib/libFindBadConstructs.so",
+-                  "-Xclang",
+-                  "-add-plugin",
+-                  "-Xclang",
+-                  "find-bad-constructs",
+-                ],
+-              }],
+-            ],
+-          }],
+           ['OS=="mac" and _type in ["executable", "shared_library"]', {
+             'xcode_settings': {
+               # On some machines setting CLANG_CXX_LIBRARY doesn't work for

Modified: no-whole-archive.patch
===================================================================
--- no-whole-archive.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ no-whole-archive.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,6 +1,6 @@
 --- a/brightray/brightray.gyp
 +++ b/brightray/brightray.gyp
-@@ -46,14 +46,13 @@
+@@ -55,14 +55,13 @@
        'conditions': [
          # Link with libraries of libchromiumcontent.
          ['OS=="linux" and libchromiumcontent_component==0', {

Modified: use-system-ffmpeg.patch
===================================================================
--- use-system-ffmpeg.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ use-system-ffmpeg.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,6 +1,6 @@
 --- a/brightray/brightray.gyp
 +++ b/brightray/brightray.gyp
-@@ -149,8 +149,6 @@
+@@ -157,8 +157,6 @@
              }, {
                'link_settings': {
                  'libraries': [
@@ -11,7 +11,7 @@
                    '-lcap',
 --- a/electron.gyp
 +++ b/electron.gyp
-@@ -215,7 +215,6 @@
+@@ -233,7 +233,6 @@
                    }, {
                      'copied_libraries': [
                        '<(PRODUCT_DIR)/lib/libnode.so',

Modified: use-system-libraries-in-node.patch
===================================================================
--- use-system-libraries-in-node.patch	2018-11-16 18:13:49 UTC (rev 408476)
+++ use-system-libraries-in-node.patch	2018-11-16 20:17:53 UTC (rev 408477)
@@ -1,6 +1,6 @@
 --- a/common.gypi
 +++ b/common.gypi
-@@ -24,12 +24,12 @@
+@@ -27,12 +27,12 @@
      'node_install_npm': 'false',
      'node_prefix': '',
      'node_shared': 'true',
@@ -16,8 +16,8 @@
      'node_tag': '',
      'node_use_dtrace': 'false',
      'node_use_etw': 'false',
-@@ -174,6 +174,12 @@
-             ],
+@@ -198,6 +198,12 @@
+             },
            }],
            ['OS=="linux" and libchromiumcontent_component==0', {
 +            'libraries': [



More information about the arch-commits mailing list