[arch-commits] Commit in electron/repos/community-x86_64 (44 files)

Nicola Squartini tensor5 at archlinux.org
Mon Jul 23 10:22:44 UTC 2018


    Date: Monday, July 23, 2018 @ 10:22:43
  Author: tensor5
Revision: 362946

archrelease: copy trunk to community-x86_64

Added:
  electron/repos/community-x86_64/PKGBUILD
    (from rev 362945, electron/trunk/PKGBUILD)
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
    (from rev 362945, electron/trunk/breakpad-glibc2.26.patch)
  electron/repos/community-x86_64/chromium-atk-r1.patch
    (from rev 362945, electron/trunk/chromium-atk-r1.patch)
  electron/repos/community-x86_64/chromium-gn-bootstrap-r14.patch
    (from rev 362945, electron/trunk/chromium-gn-bootstrap-r14.patch)
  electron/repos/community-x86_64/chromium-include-functional.patch
    (from rev 362945, electron/trunk/chromium-include-functional.patch)
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch
    (from rev 362945, electron/trunk/chromium-use-system-ffmpeg.patch)
  electron/repos/community-x86_64/chromium-use-system-minizip.patch
    (from rev 362945, electron/trunk/chromium-use-system-minizip.patch)
  electron/repos/community-x86_64/chromium-use-system-re2.patch
    (from rev 362945, electron/trunk/chromium-use-system-re2.patch)
  electron/repos/community-x86_64/default_app-icon.patch
    (from rev 362945, electron/trunk/default_app-icon.patch)
  electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch
    (from rev 362945, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
  electron/repos/community-x86_64/dont-update-submodules.patch
    (from rev 362945, electron/trunk/dont-update-submodules.patch)
  electron/repos/community-x86_64/dont-use-sysroot.patch
    (from rev 362945, electron/trunk/dont-use-sysroot.patch)
  electron/repos/community-x86_64/electron.desktop
    (from rev 362945, electron/trunk/electron.desktop)
  electron/repos/community-x86_64/gyp-no-rpath.patch
    (from rev 362945, electron/trunk/gyp-no-rpath.patch)
  electron/repos/community-x86_64/libchromiumcontent-fix-v8-patches.patch
    (from rev 362945, electron/trunk/libchromiumcontent-fix-v8-patches.patch)
  electron/repos/community-x86_64/libchromiumcontent-settings.patch
    (from rev 362945, electron/trunk/libchromiumcontent-settings.patch)
  electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch
    (from rev 362945, electron/trunk/libchromiumcontent-sort-filenames.patch)
  electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch
    (from rev 362945, electron/trunk/libchromiumcontent-static-library-only.patch)
  electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch
    (from rev 362945, electron/trunk/libchromiumcontent-use-system-tools.patch)
  electron/repos/community-x86_64/no-whole-archive.patch
    (from rev 362945, electron/trunk/no-whole-archive.patch)
  electron/repos/community-x86_64/use-system-ffmpeg.patch
    (from rev 362945, electron/trunk/use-system-ffmpeg.patch)
  electron/repos/community-x86_64/use-system-libraries-in-node.patch
    (from rev 362945, electron/trunk/use-system-libraries-in-node.patch)
Deleted:
  electron/repos/community-x86_64/PKGBUILD
  electron/repos/community-x86_64/breakpad-glibc2.26.patch
  electron/repos/community-x86_64/chromium-atk-r1.patch
  electron/repos/community-x86_64/chromium-gn-bootstrap-r14.patch
  electron/repos/community-x86_64/chromium-include-functional.patch
  electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch
  electron/repos/community-x86_64/chromium-use-system-minizip.patch
  electron/repos/community-x86_64/chromium-use-system-re2.patch
  electron/repos/community-x86_64/default_app-icon.patch
  electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch
  electron/repos/community-x86_64/dont-update-submodules.patch
  electron/repos/community-x86_64/dont-use-sysroot.patch
  electron/repos/community-x86_64/electron.desktop
  electron/repos/community-x86_64/gyp-no-rpath.patch
  electron/repos/community-x86_64/libchromiumcontent-fix-v8-patches.patch
  electron/repos/community-x86_64/libchromiumcontent-settings.patch
  electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch
  electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch
  electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch
  electron/repos/community-x86_64/no-whole-archive.patch
  electron/repos/community-x86_64/use-system-ffmpeg.patch
  electron/repos/community-x86_64/use-system-libraries-in-node.patch

----------------------------------------------+
 PKGBUILD                                     |  542 ++++++------
 breakpad-glibc2.26.patch                     |  416 ++++-----
 chromium-atk-r1.patch                        |   22 
 chromium-gn-bootstrap-r14.patch              |   54 -
 chromium-include-functional.patch            |   20 
 chromium-use-system-ffmpeg.patch             |  162 +--
 chromium-use-system-minizip.patch            |   28 
 chromium-use-system-re2.patch                |   20 
 default_app-icon.patch                       |   44 -
 dont-bootstrap-libchromiumcontent.patch      |   26 
 dont-update-submodules.patch                 |   22 
 dont-use-sysroot.patch                       |   54 -
 electron.desktop                             |   14 
 gyp-no-rpath.patch                           |   24 
 libchromiumcontent-fix-v8-patches.patch      | 1072 ++++++++++++-------------
 libchromiumcontent-settings.patch            |   80 -
 libchromiumcontent-sort-filenames.patch      |   64 -
 libchromiumcontent-static-library-only.patch |   86 +-
 libchromiumcontent-use-system-tools.patch    |  114 +-
 no-whole-archive.patch                       |   44 -
 use-system-ffmpeg.patch                      |   42 
 use-system-libraries-in-node.patch           |   62 -
 22 files changed, 1506 insertions(+), 1506 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-07-23 10:22:09 UTC (rev 362945)
+++ PKGBUILD	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,271 +0,0 @@
-# $Id$
-# Maintainer: Nicola Squartini <tensor5 at gmail.com>
-
-_chromiumver=61.0.3163.100
-pkgname=electron
-pkgver=2.0.3
-pkgrel=1
-pkgdesc='Build cross platform desktop apps with web technologies'
-arch=('x86_64')
-url='http://electron.atom.io/'
-license=('MIT' 'custom')
-depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libvpx' 'libxslt'
-         'libxss' 'minizip' 'nss' 're2' 'snappy')
-makedepends=('clang' 'gconf' 'git' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libexif'
-             'libgnome-keyring' 'libnotify' 'lld' 'llvm' 'ninja' 'npm'
-             'pciutils' 'python2' 'wget' 'yasm')
-optdepends=('gvfs: file deletion support (gvfs-trash)'
-            'kde-cli-tools: file deletion support (kioclient5)'
-            'kdebase-runtime: file deletion support (kioclient)'
-            '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}"
-        'git+https://github.com/boto/boto.git'
-        'breakpad::git+https://github.com/electron/chromium-breakpad.git'
-        '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/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.desktop'
-        'default_app-icon.patch'
-        'dont-bootstrap-libchromiumcontent.patch'
-        'dont-update-submodules.patch'
-        'dont-use-sysroot.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-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")
-sha512sums=('SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            'SKIP'
-            '4dfd3a493ceb7c605eeab6f387541273d529e8b935a6104927e34836469aedcfcbb4a1154591585621d5c2e842e68701d32328acba842f840a20498822165f78'
-            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
-            '6189c850c8dc07c4e517d5b1e3b4771703e1b3d267ef7edc0cf57aa154f4d865a87255a4d28a554db9e8068113ccf851664cb7be04c8d07684e50bacb1021725'
-            'b002bb96d38875876d09ad5ceb76843b306031c470ba24aace6cbc5b8a22774f44b5c0e4a99bf807737e25f57254d14865934694114a9f4551453cc6c560063a'
-            '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
-            '1bda751a86a1c07f87e6631469701ebab5b1ce8f4052fcf666e8fc3bc645199a4df47fe7e75aed092ff23e17c2b9c4f286a60c2428fd72d0e6cae7a5d0507de4'
-            'e5a21eea33f24e82b250ad903ae9f6f40a71876661391b7bb2b749edb3470e1256ecb06aba0541f4da4cbaf9be2df90eb2b9e588566138fdb63d92a9aca60936'
-            'baf921c2970e09cbc98781bdad9625c6926eaeb197cca5588cb3444db4422d18949a611f8d66452c4acff1c5f2cb0ba67cac3f85214a97c91c232778e1e9dce2'
-            'ab4b9d01bf150120fb3510e181c05df84fc49ee0b9938ef3d5ffc2113bc3d71e14a051edc9e70959698f78950f4adee6a676e1c8a1a56ba6ca337b6aa9188e40'
-            '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
-            'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
-            '79baa5d144733442cd839d7ee195b11b4e8ee19cd77e37c8ca1def18e2ffa30b8e63b8e4e2688944d55cbea048107f0cf209547ea14c49b4585c936249016c43'
-            'c06965d17e772e853c636709d64e4fb6dd863e3dc84435b79455d9077e65a6179f970796bbdc07ee2d4c57a577a159eb6be261c49428a90d7864a875862c711f'
-            '8da75b16f3fc39e828b94fe9bf013a2fd180a81a9a34a8511a99e62e8d2a714ced24d94ef643561e0c88c27868d8eaa643e19003cbfa293451fc15dd75f5801f'
-            '01e36513491876769c77c1139a3fdaee6e4996d1daa36bc087f18118923118c88a60cb2d72572a1ab6df1d7d867a9579dd2571e0b67c7ea42324b2c5e1b0815d'
-            '45c9bcc588d8fc5dd5c5fde17ef5114f0c9717c965a7c3009bfa6e79ba6a3fc9a19eab3451b72e5de75535d62391a3e2660f0aab329d7ec137605593915f4010'
-            '5722c571ffc384e0e226342d170e29109bf45761dcd7202b2fe6572795e0a04bd0521b1120eb2247c2a84bed0e63f47a71d25802528992ee4f976b348fb5c8f6'
-            'd297728681538fd6d6d48da4477e6e42b0ac1585a243dca60c0d9896387a1bf17770aa70966344c8d3551b774cbea6d6acbeaa0dbbfc3c17367dda5daa912297'
-            '2906e565804cb42ef3370521683d01e4cb083f0c7d5b02692101afb56616838b3dda8d05d43d0942ea3b7b7528985a1470719574356d37416427b56409c52a7f'
-            'd549c33d3499737f7d4dd2f87b8f08e90687d107248d9729676b7a0ea8562df3dd0430aa6776e4cb6ca793c2d93a726ce7b8da22703eef3f91aeb42b7e852240'
-            'eace29bd99f7167ac2e5b7499560ec7e6c205eeee8fd0adef8cc7de3cef5058f9852dd2cc20946d637ed479d25b270c35d52de6f104f41000faa36dc018f63aa'
-            '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
-
-_system_libs=('ffmpeg'
-              'flac'
-              'harfbuzz-ng'
-#              'icu'
-              'libevent'
-              'libjpeg'
-#              'libpng'
-              'libvpx'
-              'libwebp'
-              'libxml'
-              'libxslt'
-              're2'
-              'snappy'
-              'yasm'
-              'zlib'
-             )
-
-prepare() {
-  cd "${srcdir}"/electron
-
-  patch -Np1 -i "${srcdir}"/default_app-icon.patch  # Icon from .desktop file
-  patch -Np1 -i "${srcdir}"/use-system-libraries-in-node.patch
-  patch -Np1 -i "${srcdir}"/use-system-ffmpeg.patch
-  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-whole-archive.patch
-
-  # Add extra libraries for unbundling
-  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',/" \
-      -i brightray/brightray.gyp
-
-  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
-    git submodule init vendor/${m}
-    git config submodule.vendor/${m}.url "${srcdir}/${m}"
-  done
-  git submodule update
-
-  cd "${srcdir}"/electron/vendor/pdf_viewer
-  git submodule init vendor/grit
-  git config submodule.vendor/grit.url "${srcdir}/grit"
-  git submodule update
-
-  cd "${srcdir}"/electron/vendor/breakpad
-  git submodule init src
-  git config submodule.src.url "${srcdir}"/google-breakpad
-  git submodule update
-  patch -Np1 -i "${srcdir}"/breakpad-glibc2.26.patch
-
-  cd "${srcdir}"/electron/vendor/gyp
-  # Remove a useless $ORIGIN/lib/ rpath from the electron binary
-  patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch
-
-  cd "${srcdir}"/electron/vendor/libchromiumcontent
-  patch -Np1 -i "${srcdir}"/libchromiumcontent-fix-v8-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
-  echo 'Extracting chromium source...'
-  tar -xJf "${srcdir}"/chromium-${_chromiumver}.tar.xz
-  mv chromium-${_chromiumver} src
-  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
-      find -type f -path "*third_party/${lib}/*" \
-          \! -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
-  python2 build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs[@]}"
-
-  # 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
-}
-
-build() {
-  export PATH="${srcdir}/python2-path:${PATH}"
-
-  # 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'
-  )
-  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
-
-  cd "${srcdir}"/electron
-  LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
-  distdir="${srcdir}/electron/vendor/libchromiumcontent/dist/main"
-  script/bootstrap.py --verbose \
-                      --clang_dir=/usr \
-                      --libcc_source_path="${distdir}/src" \
-                      --libcc_shared_library_path="${distdir}/shared_library" \
-                      --libcc_static_library_path="${distdir}/static_library"
-  script/build.py -c Release --ninja-path=ninja
-}
-
-package() {
-  cd "${srcdir}"/electron
-
-  _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
-
-  install -d -m755 "${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 vendor/libchromiumcontent/src/LICENSE \
-          "${pkgdir}"/usr/share/licenses/electron/LICENSE-chromium
-
-  cd out/R
-  install -d -m755 "${pkgdir}"/usr/lib/electron
-  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 \
-          views_resources_200_percent.pak \
-          "${pkgdir}"/usr/lib/electron
-  install -m755 electron "${pkgdir}"/usr/lib/electron
-  install -dm755 "${pkgdir}"/usr/bin
-  ln -s ../lib/electron/electron "${pkgdir}"/usr/bin
-  # namcap warning: Referenced library 'libnode.so' is an uninstalled dependency
-  # Fixable by moving libnode.so to /usr/lib
-  install -m644 libnode.so "${pkgdir}"/usr/lib/electron
-  cp -r locales resources "${pkgdir}"/usr/lib/electron
-  cd ../..
-
-  echo -n "v${pkgver}" > "${pkgdir}"/usr/lib/electron/version
-
-  # Install .desktop and icon file
-  install -Dm644 "${srcdir}"/electron.desktop \
-          "${pkgdir}"/usr/share/applications/electron.desktop
-  install -Dm644 default_app/icon.png \
-          "${pkgdir}"/usr/share/pixmaps/electron.png  # hicolor has no 1024x1024
-
-  # Install Node headers
-  _headers_dest="${pkgdir}/usr/lib/electron/node"
-  install -d -m755 "${_headers_dest}"
-  cd "${srcdir}"/electron/vendor/node
-  find src deps/http_parser deps/zlib deps/uv deps/npm \
-    -name "*.gypi" \
-      -exec install -D -m644 '{}' "${_headers_dest}/{}" \; \
-    -or -name "*.h" \
-      -exec install -D -m644 '{}' "${_headers_dest}/{}" \;
-  install -m644 {common,config}.gypi "${_headers_dest}"
-  cd "${_cc}"/src
-  find v8 -name "*.h" \
-    -exec install -D -m644 '{}' "${_headers_dest}/deps/{}" \;
-  # echo '9' > "${_headers_dest}/installVersion"
-}

Copied: electron/repos/community-x86_64/PKGBUILD (from rev 362945, electron/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,271 @@
+# $Id$
+# Maintainer: Nicola Squartini <tensor5 at gmail.com>
+
+_chromiumver=61.0.3163.100
+pkgname=electron
+pkgver=2.0.5
+pkgrel=1
+pkgdesc='Build cross platform desktop apps with web technologies'
+arch=('x86_64')
+url='http://electron.atom.io/'
+license=('MIT' 'custom')
+depends=('c-ares' 'ffmpeg' 'gtk3' 'http-parser' 'libevent' 'libvpx' 'libxslt'
+         'libxss' 'minizip' 'nss' 're2' 'snappy')
+makedepends=('clang' 'gconf' 'git' 'gperf' 'harfbuzz-icu' 'jsoncpp' 'libexif'
+             'libgnome-keyring' 'libnotify' 'lld' 'llvm' 'ninja' 'npm'
+             'pciutils' 'python2' 'wget' 'yasm')
+optdepends=('gvfs: file deletion support (gvfs-trash)'
+            'kde-cli-tools: file deletion support (kioclient5)'
+            'kdebase-runtime: file deletion support (kioclient)'
+            '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}"
+        'git+https://github.com/boto/boto.git'
+        'breakpad::git+https://github.com/electron/chromium-breakpad.git'
+        '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/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.desktop'
+        'default_app-icon.patch'
+        'dont-bootstrap-libchromiumcontent.patch'
+        'dont-update-submodules.patch'
+        'dont-use-sysroot.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-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")
+sha512sums=('SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            'SKIP'
+            '4dfd3a493ceb7c605eeab6f387541273d529e8b935a6104927e34836469aedcfcbb4a1154591585621d5c2e842e68701d32328acba842f840a20498822165f78'
+            '613317b8c63efb0ddfe9112b56aa9714b536082144c0903d5b97351c3396b3c9eedeb44b6da72b85cbfd1bdd16cba30c512ac93c8ca6ffb04cad283ef29958b2'
+            '6189c850c8dc07c4e517d5b1e3b4771703e1b3d267ef7edc0cf57aa154f4d865a87255a4d28a554db9e8068113ccf851664cb7be04c8d07684e50bacb1021725'
+            'b002bb96d38875876d09ad5ceb76843b306031c470ba24aace6cbc5b8a22774f44b5c0e4a99bf807737e25f57254d14865934694114a9f4551453cc6c560063a'
+            '22d2d3605a49a72cf7e12e4f1cdadb6e327a7487eed47eeb04a4213cf6dcc73c47d93cdea85a767a11181debc37e952f5e4685f9fae1debd4a1a1a10ac188e8c'
+            '1bda751a86a1c07f87e6631469701ebab5b1ce8f4052fcf666e8fc3bc645199a4df47fe7e75aed092ff23e17c2b9c4f286a60c2428fd72d0e6cae7a5d0507de4'
+            'e5a21eea33f24e82b250ad903ae9f6f40a71876661391b7bb2b749edb3470e1256ecb06aba0541f4da4cbaf9be2df90eb2b9e588566138fdb63d92a9aca60936'
+            'baf921c2970e09cbc98781bdad9625c6926eaeb197cca5588cb3444db4422d18949a611f8d66452c4acff1c5f2cb0ba67cac3f85214a97c91c232778e1e9dce2'
+            '89966d7b6eba2a588898cb69a2397ff87ad8936dc1e99e82668b312b6423794e3d6c41ee9defa8773e8fa947c6e873bc23928c719d908687eb28f78df54d6a2a'
+            '2dd594a07f8ce62a7706a0365d764ab3ee3cc2d050d6ae4460db3152269e84f43516438a4f48f47fc54fe758a70c462baed6b7defa8b2bd277e67cb1bae8da12'
+            'd77a2045f03c1327eb78517028c083e8965297a41d5a81df8c7dac5a8500aa242faa644a38be5d12914b68ba3a0b944c1bfe6dbfd7b88b1a0aeeec1d87a1619a'
+            '79baa5d144733442cd839d7ee195b11b4e8ee19cd77e37c8ca1def18e2ffa30b8e63b8e4e2688944d55cbea048107f0cf209547ea14c49b4585c936249016c43'
+            'c06965d17e772e853c636709d64e4fb6dd863e3dc84435b79455d9077e65a6179f970796bbdc07ee2d4c57a577a159eb6be261c49428a90d7864a875862c711f'
+            '8da75b16f3fc39e828b94fe9bf013a2fd180a81a9a34a8511a99e62e8d2a714ced24d94ef643561e0c88c27868d8eaa643e19003cbfa293451fc15dd75f5801f'
+            'efeb0358488a7402d380a4cab736efd4c626171659f1fd627b48b3f44a873d6ef149f8b00a03f6eae4a775d3fe77887e7e8b9ff2753f60d16a94e4f342687384'
+            '45c9bcc588d8fc5dd5c5fde17ef5114f0c9717c965a7c3009bfa6e79ba6a3fc9a19eab3451b72e5de75535d62391a3e2660f0aab329d7ec137605593915f4010'
+            '5722c571ffc384e0e226342d170e29109bf45761dcd7202b2fe6572795e0a04bd0521b1120eb2247c2a84bed0e63f47a71d25802528992ee4f976b348fb5c8f6'
+            'd297728681538fd6d6d48da4477e6e42b0ac1585a243dca60c0d9896387a1bf17770aa70966344c8d3551b774cbea6d6acbeaa0dbbfc3c17367dda5daa912297'
+            '2906e565804cb42ef3370521683d01e4cb083f0c7d5b02692101afb56616838b3dda8d05d43d0942ea3b7b7528985a1470719574356d37416427b56409c52a7f'
+            'd549c33d3499737f7d4dd2f87b8f08e90687d107248d9729676b7a0ea8562df3dd0430aa6776e4cb6ca793c2d93a726ce7b8da22703eef3f91aeb42b7e852240'
+            'eace29bd99f7167ac2e5b7499560ec7e6c205eeee8fd0adef8cc7de3cef5058f9852dd2cc20946d637ed479d25b270c35d52de6f104f41000faa36dc018f63aa'
+            '5552e8918462f6c3a4e1baef3c22b57d70c732766945ea0b39f63df7d7b8fca9646f1f9b28b0528fa586799842c949298fc97e1041875da0ca1aacff046f6c9b')
+
+_system_libs=('ffmpeg'
+              'flac'
+              'harfbuzz-ng'
+#              'icu'
+              'libevent'
+              'libjpeg'
+#              'libpng'
+              'libvpx'
+              'libwebp'
+              'libxml'
+              'libxslt'
+              're2'
+              'snappy'
+              'yasm'
+              'zlib'
+             )
+
+prepare() {
+  cd "${srcdir}"/electron
+
+  patch -Np1 -i "${srcdir}"/default_app-icon.patch  # Icon from .desktop file
+  patch -Np1 -i "${srcdir}"/use-system-libraries-in-node.patch
+  patch -Np1 -i "${srcdir}"/use-system-ffmpeg.patch
+  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-whole-archive.patch
+
+  # Add extra libraries for unbundling
+  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',/" \
+      -i brightray/brightray.gyp
+
+  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
+    git submodule init vendor/${m}
+    git config submodule.vendor/${m}.url "${srcdir}/${m}"
+  done
+  git submodule update
+
+  cd "${srcdir}"/electron/vendor/pdf_viewer
+  git submodule init vendor/grit
+  git config submodule.vendor/grit.url "${srcdir}/grit"
+  git submodule update
+
+  cd "${srcdir}"/electron/vendor/breakpad
+  git submodule init src
+  git config submodule.src.url "${srcdir}"/google-breakpad
+  git submodule update
+  patch -Np1 -i "${srcdir}"/breakpad-glibc2.26.patch
+
+  cd "${srcdir}"/electron/vendor/gyp
+  # Remove a useless $ORIGIN/lib/ rpath from the electron binary
+  patch -Np1 -i "${srcdir}"/gyp-no-rpath.patch
+
+  cd "${srcdir}"/electron/vendor/libchromiumcontent
+  patch -Np1 -i "${srcdir}"/libchromiumcontent-fix-v8-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
+  echo 'Extracting chromium source...'
+  tar -xJf "${srcdir}"/chromium-${_chromiumver}.tar.xz
+  mv chromium-${_chromiumver} src
+  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
+      find -type f -path "*third_party/${lib}/*" \
+          \! -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
+  python2 build/linux/unbundle/replace_gn_files.py --system-libraries "${_system_libs[@]}"
+
+  # 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
+}
+
+build() {
+  export PATH="${srcdir}/python2-path:${PATH}"
+
+  # 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'
+  )
+  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
+
+  cd "${srcdir}"/electron
+  LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
+  distdir="${srcdir}/electron/vendor/libchromiumcontent/dist/main"
+  script/bootstrap.py --verbose \
+                      --clang_dir=/usr \
+                      --libcc_source_path="${distdir}/src" \
+                      --libcc_shared_library_path="${distdir}/shared_library" \
+                      --libcc_static_library_path="${distdir}/static_library"
+  script/build.py -c Release --ninja-path=ninja
+}
+
+package() {
+  cd "${srcdir}"/electron
+
+  _cc="${srcdir}"/electron/vendor/libchromiumcontent/dist/main
+
+  install -d -m755 "${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 vendor/libchromiumcontent/src/LICENSE \
+          "${pkgdir}"/usr/share/licenses/electron/LICENSE-chromium
+
+  cd out/R
+  install -d -m755 "${pkgdir}"/usr/lib/electron
+  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 \
+          views_resources_200_percent.pak \
+          "${pkgdir}"/usr/lib/electron
+  install -m755 electron "${pkgdir}"/usr/lib/electron
+  install -dm755 "${pkgdir}"/usr/bin
+  ln -s ../lib/electron/electron "${pkgdir}"/usr/bin
+  # namcap warning: Referenced library 'libnode.so' is an uninstalled dependency
+  # Fixable by moving libnode.so to /usr/lib
+  install -m644 libnode.so "${pkgdir}"/usr/lib/electron
+  cp -r locales resources "${pkgdir}"/usr/lib/electron
+  cd ../..
+
+  echo -n "v${pkgver}" > "${pkgdir}"/usr/lib/electron/version
+
+  # Install .desktop and icon file
+  install -Dm644 "${srcdir}"/electron.desktop \
+          "${pkgdir}"/usr/share/applications/electron.desktop
+  install -Dm644 default_app/icon.png \
+          "${pkgdir}"/usr/share/pixmaps/electron.png  # hicolor has no 1024x1024
+
+  # Install Node headers
+  _headers_dest="${pkgdir}/usr/lib/electron/node"
+  install -d -m755 "${_headers_dest}"
+  cd "${srcdir}"/electron/vendor/node
+  find src deps/http_parser deps/zlib deps/uv deps/npm \
+    -name "*.gypi" \
+      -exec install -D -m644 '{}' "${_headers_dest}/{}" \; \
+    -or -name "*.h" \
+      -exec install -D -m644 '{}' "${_headers_dest}/{}" \;
+  install -m644 {common,config}.gypi "${_headers_dest}"
+  cd "${_cc}"/src
+  find v8 -name "*.h" \
+    -exec install -D -m644 '{}' "${_headers_dest}/deps/{}" \;
+  # echo '9' > "${_headers_dest}/installVersion"
+}

Deleted: breakpad-glibc2.26.patch
===================================================================
--- breakpad-glibc2.26.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ breakpad-glibc2.26.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,208 +0,0 @@
---- a/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -36,19 +36,19 @@ namespace google_breakpad {
- 
- // Minidump defines register structures which are different from the raw
- // structures which we get from the kernel. These are platform specific
--// functions to juggle the ucontext and user structures into minidump format.
-+// functions to juggle the ucontext_t and user structures into minidump format.
- 
- #if defined(__i386__)
- 
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.gregs[REG_ESP];
- }
- 
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.gregs[REG_EIP];
- }
- 
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                                     const struct _libc_fpstate* fp) {
-   const greg_t* regs = uc->uc_mcontext.gregs;
- 
-@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
- 
- #elif defined(__x86_64)
- 
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.gregs[REG_RSP];
- }
- 
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.gregs[REG_RIP];
- }
- 
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                                     const struct _libc_fpstate* fpregs) {
-   const greg_t* regs = uc->uc_mcontext.gregs;
- 
-@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
- 
- #elif defined(__ARM_EABI__)
- 
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.arm_sp;
- }
- 
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.arm_pc;
- }
- 
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
-   out->context_flags = MD_CONTEXT_ARM_FULL;
- 
-   out->iregs[0] = uc->uc_mcontext.arm_r0;
-@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
- 
- #elif defined(__aarch64__)
- 
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.sp;
- }
- 
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.pc;
- }
- 
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                                     const struct fpsimd_context* fpregs) {
-   out->context_flags = MD_CONTEXT_ARM64_FULL;
- 
-@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
- 
- #elif defined(__mips__)
- 
--uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
- }
- 
--uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
-+uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
-   return uc->uc_mcontext.pc;
- }
- 
--void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
-+void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
- #if _MIPS_SIM == _ABI64
-   out->context_flags = MD_CONTEXT_MIPS64_FULL;
- #elif _MIPS_SIM == _ABIO32
---- a/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ b/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -39,23 +39,23 @@
- 
- namespace google_breakpad {
- 
--// Wraps platform-dependent implementations of accessors to ucontext structs.
-+// Wraps platform-dependent implementations of accessors to ucontext_t structs.
- struct UContextReader {
--  static uintptr_t GetStackPointer(const struct ucontext* uc);
-+  static uintptr_t GetStackPointer(const ucontext_t* uc);
- 
--  static uintptr_t GetInstructionPointer(const struct ucontext* uc);
-+  static uintptr_t GetInstructionPointer(const ucontext_t* uc);
- 
--  // Juggle a arch-specific ucontext into a minidump format
-+  // Juggle a arch-specific ucontext_t into a minidump format
-   //   out: the minidump structure
-   //   info: the collection of register structures.
- #if defined(__i386__) || defined(__x86_64)
--  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                              const struct _libc_fpstate* fp);
- #elif defined(__aarch64__)
--  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
-+  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
-                              const struct fpsimd_context* fpregs);
- #else
--  static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
-+  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
- #endif
- };
- 
---- a/src/client/linux/handler/exception_handler.cc
-+++ b/src/client/linux/handler/exception_handler.cc
-@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
-   // Fill in all the holes in the struct to make Valgrind happy.
-   memset(&g_crash_context_, 0, sizeof(g_crash_context_));
-   memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
--  memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
-+  memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
- #if defined(__aarch64__)
--  struct ucontext* uc_ptr = (struct ucontext*)uc;
-+  ucontext_t* uc_ptr = (ucontext_t*)uc;
-   struct fpsimd_context* fp_ptr =
-       (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
-   if (fp_ptr->head.magic == FPSIMD_MAGIC) {
-@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
-   }
- #elif !defined(__ARM_EABI__) && !defined(__mips__)
-   // FP state is not part of user ABI on ARM Linux.
--  // In case of MIPS Linux FP state is already part of struct ucontext
-+  // In case of MIPS Linux FP state is already part of ucontext_t
-   // and 'float_state' is not a member of CrashContext.
--  struct ucontext* uc_ptr = (struct ucontext*)uc;
-+  ucontext_t* uc_ptr = (ucontext_t*)uc;
-   if (uc_ptr->uc_mcontext.fpregs) {
-     memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
-            sizeof(g_crash_context_.float_state));
-@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
-   // ExceptionHandler::HandleSignal().
-   siginfo.si_code = SI_USER;
-   siginfo.si_pid = getpid();
--  struct ucontext context;
-+  ucontext_t context;
-   getcontext(&context);
-   return HandleSignal(sig, &siginfo, &context);
- }
---- a/src/client/linux/handler/exception_handler.h
-+++ b/src/client/linux/handler/exception_handler.h
-@@ -191,11 +191,11 @@ class ExceptionHandler {
-   struct CrashContext {
-     siginfo_t siginfo;
-     pid_t tid;  // the crashing thread.
--    struct ucontext context;
-+    ucontext_t context;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
-     // #ifdef this out because FP state is not part of user ABI for Linux ARM.
-     // In case of MIPS Linux FP state is already part of struct
--    // ucontext so 'float_state' is not required.
-+    // ucontext_t so 'float_state' is not required.
-     fpstate_t float_state;
- #endif
-   };
---- a/src/client/linux/microdump_writer/microdump_writer.cc
-+++ b/src/client/linux/microdump_writer/microdump_writer.cc
-@@ -560,7 +560,7 @@ class MicrodumpWriter {
- 
-   void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
- 
--  const struct ucontext* const ucontext_;
-+  const ucontext_t* const ucontext_;
- #if !defined(__ARM_EABI__) && !defined(__mips__)
-   const google_breakpad::fpstate_t* const float_state_;
- #endif
---- a/src/client/linux/minidump_writer/minidump_writer.cc
-+++ b/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -1248,7 +1248,7 @@ class MinidumpWriter {
-   const int fd_;  // File descriptor where the minidum should be written.
-   const char* path_;  // Path to the file where the minidum should be written.
- 
--  const struct ucontext* const ucontext_;  // also from the signal handler
-+  const ucontext_t* const ucontext_;  // also from the signal handler
- #if !defined(__ARM_EABI__) && !defined(__mips__)
-   const google_breakpad::fpstate_t* const float_state_;  // ditto
- #endif

Copied: electron/repos/community-x86_64/breakpad-glibc2.26.patch (from rev 362945, electron/trunk/breakpad-glibc2.26.patch)
===================================================================
--- breakpad-glibc2.26.patch	                        (rev 0)
+++ breakpad-glibc2.26.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,208 @@
+--- a/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -36,19 +36,19 @@ namespace google_breakpad {
+ 
+ // Minidump defines register structures which are different from the raw
+ // structures which we get from the kernel. These are platform specific
+-// functions to juggle the ucontext and user structures into minidump format.
++// functions to juggle the ucontext_t and user structures into minidump format.
+ 
+ #if defined(__i386__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_ESP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_EIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fp) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__x86_64)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RSP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fpregs) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__ARM_EABI__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+   out->context_flags = MD_CONTEXT_ARM_FULL;
+ 
+   out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+ 
+ #elif defined(__aarch64__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct fpsimd_context* fpregs) {
+   out->context_flags = MD_CONTEXT_ARM64_FULL;
+ 
+@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__mips__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+ #if _MIPS_SIM == _ABI64
+   out->context_flags = MD_CONTEXT_MIPS64_FULL;
+ #elif _MIPS_SIM == _ABIO32
+--- a/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -39,23 +39,23 @@
+ 
+ namespace google_breakpad {
+ 
+-// Wraps platform-dependent implementations of accessors to ucontext structs.
++// Wraps platform-dependent implementations of accessors to ucontext_t structs.
+ struct UContextReader {
+-  static uintptr_t GetStackPointer(const struct ucontext* uc);
++  static uintptr_t GetStackPointer(const ucontext_t* uc);
+ 
+-  static uintptr_t GetInstructionPointer(const struct ucontext* uc);
++  static uintptr_t GetInstructionPointer(const ucontext_t* uc);
+ 
+-  // Juggle a arch-specific ucontext into a minidump format
++  // Juggle a arch-specific ucontext_t into a minidump format
+   //   out: the minidump structure
+   //   info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct _libc_fpstate* fp);
+ #elif defined(__aarch64__)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct fpsimd_context* fpregs);
+ #else
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+ #endif
+ };
+ 
+--- a/src/client/linux/handler/exception_handler.cc
++++ b/src/client/linux/handler/exception_handler.cc
+@@ -439,9 +439,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+   // Fill in all the holes in the struct to make Valgrind happy.
+   memset(&g_crash_context_, 0, sizeof(g_crash_context_));
+   memcpy(&g_crash_context_.siginfo, info, sizeof(siginfo_t));
+-  memcpy(&g_crash_context_.context, uc, sizeof(struct ucontext));
++  memcpy(&g_crash_context_.context, uc, sizeof(ucontext_t));
+ #if defined(__aarch64__)
+-  struct ucontext* uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   struct fpsimd_context* fp_ptr =
+       (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+   if (fp_ptr->head.magic == FPSIMD_MAGIC) {
+@@ -450,9 +450,9 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
+   }
+ #elif !defined(__ARM_EABI__) && !defined(__mips__)
+   // FP state is not part of user ABI on ARM Linux.
+-  // In case of MIPS Linux FP state is already part of struct ucontext
++  // In case of MIPS Linux FP state is already part of ucontext_t
+   // and 'float_state' is not a member of CrashContext.
+-  struct ucontext* uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   if (uc_ptr->uc_mcontext.fpregs) {
+     memcpy(&g_crash_context_.float_state, uc_ptr->uc_mcontext.fpregs,
+            sizeof(g_crash_context_.float_state));
+@@ -476,7 +476,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+   // ExceptionHandler::HandleSignal().
+   siginfo.si_code = SI_USER;
+   siginfo.si_pid = getpid();
+-  struct ucontext context;
++  ucontext_t context;
+   getcontext(&context);
+   return HandleSignal(sig, &siginfo, &context);
+ }
+--- a/src/client/linux/handler/exception_handler.h
++++ b/src/client/linux/handler/exception_handler.h
+@@ -191,11 +191,11 @@ class ExceptionHandler {
+   struct CrashContext {
+     siginfo_t siginfo;
+     pid_t tid;  // the crashing thread.
+-    struct ucontext context;
++    ucontext_t context;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+     // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+     // In case of MIPS Linux FP state is already part of struct
+-    // ucontext so 'float_state' is not required.
++    // ucontext_t so 'float_state' is not required.
+     fpstate_t float_state;
+ #endif
+   };
+--- a/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -560,7 +560,7 @@ class MicrodumpWriter {
+ 
+   void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+ 
+-  const struct ucontext* const ucontext_;
++  const ucontext_t* const ucontext_;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;
+ #endif
+--- a/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -1248,7 +1248,7 @@ class MinidumpWriter {
+   const int fd_;  // File descriptor where the minidum should be written.
+   const char* path_;  // Path to the file where the minidum should be written.
+ 
+-  const struct ucontext* const ucontext_;  // also from the signal handler
++  const ucontext_t* const ucontext_;  // also from the signal handler
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;  // ditto
+ #endif

Deleted: chromium-atk-r1.patch
===================================================================
--- chromium-atk-r1.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ chromium-atk-r1.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -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;

Copied: electron/repos/community-x86_64/chromium-atk-r1.patch (from rev 362945, electron/trunk/chromium-atk-r1.patch)
===================================================================
--- chromium-atk-r1.patch	                        (rev 0)
+++ chromium-atk-r1.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,11 @@
+--- 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-07-23 10:22:09 UTC (rev 362945)
+++ chromium-gn-bootstrap-r14.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -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',

Copied: electron/repos/community-x86_64/chromium-gn-bootstrap-r14.patch (from rev 362945, electron/trunk/chromium-gn-bootstrap-r14.patch)
===================================================================
--- chromium-gn-bootstrap-r14.patch	                        (rev 0)
+++ chromium-gn-bootstrap-r14.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,27 @@
+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-07-23 10:22:09 UTC (rev 362945)
+++ chromium-include-functional.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -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 {

Copied: electron/repos/community-x86_64/chromium-include-functional.patch (from rev 362945, electron/trunk/chromium-include-functional.patch)
===================================================================
--- chromium-include-functional.patch	                        (rev 0)
+++ chromium-include-functional.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,10 @@
+--- 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 {

Deleted: chromium-use-system-ffmpeg.patch
===================================================================
--- chromium-use-system-ffmpeg.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ chromium-use-system-ffmpeg.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,81 +0,0 @@
---- 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);
-   }
- }
- 
-@@ -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);
-   }
- }
- 
---- 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);
- 
-   // 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) {

Copied: electron/repos/community-x86_64/chromium-use-system-ffmpeg.patch (from rev 362945, electron/trunk/chromium-use-system-ffmpeg.patch)
===================================================================
--- chromium-use-system-ffmpeg.patch	                        (rev 0)
+++ chromium-use-system-ffmpeg.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,81 @@
+--- 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);
+   }
+ }
+ 
+@@ -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);
+   }
+ }
+ 
+--- 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);
+ 
+   // 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) {

Deleted: chromium-use-system-minizip.patch
===================================================================
--- chromium-use-system-minizip.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ chromium-use-system-minizip.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -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;
- 

Copied: electron/repos/community-x86_64/chromium-use-system-minizip.patch (from rev 362945, electron/trunk/chromium-use-system-minizip.patch)
===================================================================
--- chromium-use-system-minizip.patch	                        (rev 0)
+++ chromium-use-system-minizip.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,14 @@
+--- 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;
+ 

Deleted: chromium-use-system-re2.patch
===================================================================
--- chromium-use-system-re2.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ chromium-use-system-re2.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,10 +0,0 @@
---- a/build/linux/unbundle/re2.gn
-+++ b/build/linux/unbundle/re2.gn
-@@ -11,7 +11,6 @@
-     "re2/re2.h",
-     "re2/set.h",
-     "re2/stringpiece.h",
--    "re2/variadic_function.h",
-   ]
- }
- 

Copied: electron/repos/community-x86_64/chromium-use-system-re2.patch (from rev 362945, electron/trunk/chromium-use-system-re2.patch)
===================================================================
--- chromium-use-system-re2.patch	                        (rev 0)
+++ chromium-use-system-re2.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,10 @@
+--- a/build/linux/unbundle/re2.gn
++++ b/build/linux/unbundle/re2.gn
+@@ -11,7 +11,6 @@
+     "re2/re2.h",
+     "re2/set.h",
+     "re2/stringpiece.h",
+-    "re2/variadic_function.h",
+   ]
+ }
+ 

Deleted: default_app-icon.patch
===================================================================
--- default_app-icon.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ default_app-icon.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,22 +0,0 @@
---- a/default_app/default_app.js
-+++ b/default_app/default_app.js
-@@ -20,9 +20,6 @@ exports.load = (appUrl) => {
-       },
-       useContentSize: true
-     }
--    if (process.platform === 'linux') {
--      options.icon = path.join(__dirname, 'icon.png')
--    }
- 
-     mainWindow = new BrowserWindow(options)
-     mainWindow.loadURL(appUrl)
---- a/filenames.gypi
-+++ b/filenames.gypi
-@@ -89,7 +89,6 @@
-     ],
-     'default_app_sources': [
-       'default_app/default_app.js',
--      'default_app/icon.png',
-       'default_app/index.html',
-       'default_app/main.js',
-       'default_app/package.json',

Copied: electron/repos/community-x86_64/default_app-icon.patch (from rev 362945, electron/trunk/default_app-icon.patch)
===================================================================
--- default_app-icon.patch	                        (rev 0)
+++ default_app-icon.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,22 @@
+--- a/default_app/default_app.js
++++ b/default_app/default_app.js
+@@ -20,9 +20,6 @@ exports.load = (appUrl) => {
+       },
+       useContentSize: true
+     }
+-    if (process.platform === 'linux') {
+-      options.icon = path.join(__dirname, 'icon.png')
+-    }
+ 
+     mainWindow = new BrowserWindow(options)
+     mainWindow.loadURL(appUrl)
+--- a/filenames.gypi
++++ b/filenames.gypi
+@@ -89,7 +89,6 @@
+     ],
+     'default_app_sources': [
+       'default_app/default_app.js',
+-      'default_app/icon.png',
+       'default_app/index.html',
+       'default_app/main.js',
+       'default_app/package.json',

Deleted: dont-bootstrap-libchromiumcontent.patch
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ dont-bootstrap-libchromiumcontent.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,13 +0,0 @@
-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():
-   build = os.path.join(script_dir, 'build')
-   create_dist = os.path.join(script_dir, 'create-dist')
-   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])
-     update_gclient_done_marker()

Copied: electron/repos/community-x86_64/dont-bootstrap-libchromiumcontent.patch (from rev 362945, electron/trunk/dont-bootstrap-libchromiumcontent.patch)
===================================================================
--- dont-bootstrap-libchromiumcontent.patch	                        (rev 0)
+++ dont-bootstrap-libchromiumcontent.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,13 @@
+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():
+   build = os.path.join(script_dir, 'build')
+   create_dist = os.path.join(script_dir, 'create-dist')
+   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])
+     update_gclient_done_marker()

Deleted: dont-update-submodules.patch
===================================================================
--- dont-update-submodules.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ dont-update-submodules.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,11 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -31,7 +31,7 @@ def main():
-   if sys.platform == 'cygwin':
-     update_win32_python()
- 
--  update_submodules()
-+  # update_submodules()
- 
-   libcc_source_path = args.libcc_source_path
-   libcc_shared_library_path = args.libcc_shared_library_path

Copied: electron/repos/community-x86_64/dont-update-submodules.patch (from rev 362945, electron/trunk/dont-update-submodules.patch)
===================================================================
--- dont-update-submodules.patch	                        (rev 0)
+++ dont-update-submodules.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,11 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -31,7 +31,7 @@ def main():
+   if sys.platform == 'cygwin':
+     update_win32_python()
+ 
+-  update_submodules()
++  # update_submodules()
+ 
+   libcc_source_path = args.libcc_source_path
+   libcc_shared_library_path = args.libcc_shared_library_path

Deleted: dont-use-sysroot.patch
===================================================================
--- dont-use-sysroot.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ dont-use-sysroot.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,27 +0,0 @@
---- a/script/bootstrap.py
-+++ b/script/bootstrap.py
-@@ -63,9 +63,6 @@ def main():
-                            libcc_source_path, libcc_shared_library_path,
-                            libcc_static_library_path)
- 
--  if PLATFORM == 'linux' and args.target_arch != 'mips64el':
--    download_sysroot(args.target_arch)
--
-   create_chrome_version_h()
-   touch_config_gypi()
-   run_update(defines, args.msvs)
---- a/toolchain.gypi
-+++ b/toolchain.gypi
-@@ -62,10 +62,10 @@
-               'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
-             }],
-             ['target_arch=="ia32"', {
--              'sysroot%': '<(source_root)/vendor/debian_jessie_i386-sysroot',
-+              'sysroot%': '/',
-             }],
-             ['target_arch=="x64"', {
--              'sysroot%': '<(source_root)/vendor/debian_jessie_amd64-sysroot',
-+              'sysroot%': '/',
-             }],
-             ['target_arch=="mips64el"', {
-               'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',

Copied: electron/repos/community-x86_64/dont-use-sysroot.patch (from rev 362945, electron/trunk/dont-use-sysroot.patch)
===================================================================
--- dont-use-sysroot.patch	                        (rev 0)
+++ dont-use-sysroot.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,27 @@
+--- a/script/bootstrap.py
++++ b/script/bootstrap.py
+@@ -63,9 +63,6 @@ def main():
+                            libcc_source_path, libcc_shared_library_path,
+                            libcc_static_library_path)
+ 
+-  if PLATFORM == 'linux' and args.target_arch != 'mips64el':
+-    download_sysroot(args.target_arch)
+-
+   create_chrome_version_h()
+   touch_config_gypi()
+   run_update(defines, args.msvs)
+--- a/toolchain.gypi
++++ b/toolchain.gypi
+@@ -62,10 +62,10 @@
+               'sysroot%': '<(source_root)/vendor/debian_jessie_arm64-sysroot',
+             }],
+             ['target_arch=="ia32"', {
+-              'sysroot%': '<(source_root)/vendor/debian_jessie_i386-sysroot',
++              'sysroot%': '/',
+             }],
+             ['target_arch=="x64"', {
+-              'sysroot%': '<(source_root)/vendor/debian_jessie_amd64-sysroot',
++              'sysroot%': '/',
+             }],
+             ['target_arch=="mips64el"', {
+               'sysroot%': '<(source_root)/vendor/debian_jessie_mips64-sysroot',

Deleted: electron.desktop
===================================================================
--- electron.desktop	2018-07-23 10:22:09 UTC (rev 362945)
+++ electron.desktop	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Electron
-Icon=electron
-Exec=electron %u
-Categories=Development;GTK;
-StartupNotify=true

Copied: electron/repos/community-x86_64/electron.desktop (from rev 362945, electron/trunk/electron.desktop)
===================================================================
--- electron.desktop	                        (rev 0)
+++ electron.desktop	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,7 @@
+[Desktop Entry]
+Type=Application
+Name=Electron
+Icon=electron
+Exec=electron %u
+Categories=Development;GTK;
+StartupNotify=true

Deleted: gyp-no-rpath.patch
===================================================================
--- gyp-no-rpath.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ gyp-no-rpath.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,12 +0,0 @@
---- a/pylib/gyp/generator/ninja.py
-+++ b/pylib/gyp/generator/ninja.py
-@@ -1231,9 +1231,6 @@
-         rpath = 'lib/'
-         if self.toolset != 'target':
-           rpath += self.toolset
--          ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath)
--        else:
--          ldflags.append('-Wl,-rpath=%s' % self.target_rpath)
-         ldflags.append('-Wl,-rpath-link=%s' % rpath)
-     self.WriteVariableList(ninja_file, 'ldflags',
-                            map(self.ExpandSpecial, ldflags))

Copied: electron/repos/community-x86_64/gyp-no-rpath.patch (from rev 362945, electron/trunk/gyp-no-rpath.patch)
===================================================================
--- gyp-no-rpath.patch	                        (rev 0)
+++ gyp-no-rpath.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,12 @@
+--- a/pylib/gyp/generator/ninja.py
++++ b/pylib/gyp/generator/ninja.py
+@@ -1231,9 +1231,6 @@
+         rpath = 'lib/'
+         if self.toolset != 'target':
+           rpath += self.toolset
+-          ldflags.append(r'-Wl,-rpath=\$$ORIGIN/%s' % rpath)
+-        else:
+-          ldflags.append('-Wl,-rpath=%s' % self.target_rpath)
+         ldflags.append('-Wl,-rpath-link=%s' % rpath)
+     self.WriteVariableList(ninja_file, 'ldflags',
+                            map(self.ExpandSpecial, ldflags))

Deleted: libchromiumcontent-fix-v8-patches.patch
===================================================================
--- libchromiumcontent-fix-v8-patches.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ libchromiumcontent-fix-v8-patches.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -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

Copied: electron/repos/community-x86_64/libchromiumcontent-fix-v8-patches.patch (from rev 362945, electron/trunk/libchromiumcontent-fix-v8-patches.patch)
===================================================================
--- libchromiumcontent-fix-v8-patches.patch	                        (rev 0)
+++ libchromiumcontent-fix-v8-patches.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,536 @@
+--- 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

Deleted: libchromiumcontent-settings.patch
===================================================================
--- libchromiumcontent-settings.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ libchromiumcontent-settings.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,40 +0,0 @@
---- a/chromiumcontent/args/native_mksnapshot.gn
-+++ b/chromiumcontent/args/native_mksnapshot.gn
-@@ -12,3 +12,8 @@
- if (target_cpu == "arm64") {
-   v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
- }
-+clang_base_path = "/usr"
-+clang_use_chrome_plugins = false
-+treat_warnings_as_errors = false
-+use_custom_libcxx = false
-+use_sysroot = false
---- a/chromiumcontent/args/static_library.gn
-+++ b/chromiumcontent/args/static_library.gn
-@@ -1,13 +1,24 @@
- root_extra_deps = [ "//chromiumcontent:chromiumcontent" ]
- is_electron_build = true
- is_component_build = false
--is_official_build = true
--symbol_level = 2
-+is_debug = false
-+symbol_level = 0
- enable_nacl = false
- enable_widevine = true
- proprietary_codecs = true
- is_component_ffmpeg = true
- ffmpeg_branding = "Chrome"
-+clang_base_path = "/usr"
-+clang_use_chrome_plugins = false
-+fatal_linker_warnings = false
-+treat_warnings_as_errors = false
-+fieldtrial_testing_like_official_build = true
-+remove_webcore_debug_symbols = true
-+link_pulseaudio = true
-+linux_use_bundled_binutils = false
-+use_cups = true
-+use_gconf = false
-+use_sysroot = 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

Copied: electron/repos/community-x86_64/libchromiumcontent-settings.patch (from rev 362945, electron/trunk/libchromiumcontent-settings.patch)
===================================================================
--- libchromiumcontent-settings.patch	                        (rev 0)
+++ libchromiumcontent-settings.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,40 @@
+--- a/chromiumcontent/args/native_mksnapshot.gn
++++ b/chromiumcontent/args/native_mksnapshot.gn
+@@ -12,3 +12,8 @@
+ if (target_cpu == "arm64") {
+   v8_snapshot_toolchain="//build/toolchain/linux:clang_arm64"
+ }
++clang_base_path = "/usr"
++clang_use_chrome_plugins = false
++treat_warnings_as_errors = false
++use_custom_libcxx = false
++use_sysroot = false
+--- a/chromiumcontent/args/static_library.gn
++++ b/chromiumcontent/args/static_library.gn
+@@ -1,13 +1,24 @@
+ root_extra_deps = [ "//chromiumcontent:chromiumcontent" ]
+ is_electron_build = true
+ is_component_build = false
+-is_official_build = true
+-symbol_level = 2
++is_debug = false
++symbol_level = 0
+ enable_nacl = false
+ enable_widevine = true
+ proprietary_codecs = true
+ is_component_ffmpeg = true
+ ffmpeg_branding = "Chrome"
++clang_base_path = "/usr"
++clang_use_chrome_plugins = false
++fatal_linker_warnings = false
++treat_warnings_as_errors = false
++fieldtrial_testing_like_official_build = true
++remove_webcore_debug_symbols = true
++link_pulseaudio = true
++linux_use_bundled_binutils = false
++use_cups = true
++use_gconf = false
++use_sysroot = 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

Deleted: libchromiumcontent-sort-filenames.patch
===================================================================
--- libchromiumcontent-sort-filenames.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ libchromiumcontent-sort-filenames.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,32 +0,0 @@
---- 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")
-     for base_dir in obj_dirs:
-         for dir, subdirs, files in os.walk(os.path.join('obj', base_dir)):
--            for f in files:
-+            subdirs.sort()
-+            for f in sorted(files):
-                 if f.endswith('.obj') or f.endswith('.o'):
-                     out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
-     out.write("]\n")
---- a/tools/generate_filenames_gypi.py
-+++ b/tools/generate_filenames_gypi.py
-@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
- 
- 
- def find_libraries(dirpath, library_suffix, list_of_excludes):
--  libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
-+  libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
-   if (library_suffix == 'so'):
-     # Handle "libname.so.123"
-     libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
-@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
-       if regex.match(file):
-         files_found.append(os.path.join(root, file))
- 
--  return files_found
-+  return sorted(files_found)
- 
- 
- def is_v8_library(p):

Copied: electron/repos/community-x86_64/libchromiumcontent-sort-filenames.patch (from rev 362945, electron/trunk/libchromiumcontent-sort-filenames.patch)
===================================================================
--- libchromiumcontent-sort-filenames.patch	                        (rev 0)
+++ libchromiumcontent-sort-filenames.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,32 @@
+--- 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")
+     for base_dir in obj_dirs:
+         for dir, subdirs, files in os.walk(os.path.join('obj', base_dir)):
+-            for f in files:
++            subdirs.sort()
++            for f in sorted(files):
+                 if f.endswith('.obj') or f.endswith('.o'):
+                     out.write('"' + os.path.abspath(os.path.join(dir, f)) + '",\n')
+     out.write("]\n")
+--- a/tools/generate_filenames_gypi.py
++++ b/tools/generate_filenames_gypi.py
+@@ -99,7 +99,7 @@ def main(target_file, code_dir, shared_dir, static_dir):
+ 
+ 
+ def find_libraries(dirpath, library_suffix, list_of_excludes):
+-  libraries = glob.glob(os.path.join(dirpath, '*.' + library_suffix))
++  libraries = sorted(glob.glob(os.path.join(dirpath, '*.' + library_suffix)))
+   if (library_suffix == 'so'):
+     # Handle "libname.so.123"
+     libraries += find_files_by_regex(dirpath, re.compile('.*\.so\.[0-9]+'))
+@@ -132,7 +132,7 @@ def find_files_by_regex(dirpath, regex):
+       if regex.match(file):
+         files_found.append(os.path.join(root, file))
+ 
+-  return files_found
++  return sorted(files_found)
+ 
+ 
+ def is_v8_library(p):

Deleted: libchromiumcontent-static-library-only.patch
===================================================================
--- libchromiumcontent-static-library-only.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ libchromiumcontent-static-library-only.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,43 +0,0 @@
---- a/script/create-dist
-+++ b/script/create-dist
-@@ -79,7 +79,7 @@ BINARIES = {
-     'libffmpeg.dylib',
-   ],
-   'linux': [
--    'libffmpeg.so',
-+    # 'libffmpeg.so',
-   ],
-   'win32': [
-     'd3dcompiler_47.dll',
-@@ -413,7 +413,7 @@ def generate_ninja(args, ninja):
-       copy_locales(target_arch, component, ninja)
- 
-   if args.component != 'native_mksnapshot':
--    copy_ffmpeg(target_arch, ninja)
-+    # copy_ffmpeg(target_arch, ninja)
-     copy_sources(ninja)
-   generate_licenses(ninja)
- 
-@@ -541,9 +541,9 @@ def copy_binaries(target_arch, component, create_debug_archive,
-       else:
-         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)
- 
---- 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']
-+COMPONENTS = ['static_library', 'native_mksnapshot']
- DEPOT_TOOLS = os.path.join(VENDOR_DIR, 'depot_tools')
- 
- # URL to the mips64el sysroot image.

Copied: electron/repos/community-x86_64/libchromiumcontent-static-library-only.patch (from rev 362945, electron/trunk/libchromiumcontent-static-library-only.patch)
===================================================================
--- libchromiumcontent-static-library-only.patch	                        (rev 0)
+++ libchromiumcontent-static-library-only.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,43 @@
+--- a/script/create-dist
++++ b/script/create-dist
+@@ -79,7 +79,7 @@ BINARIES = {
+     'libffmpeg.dylib',
+   ],
+   'linux': [
+-    'libffmpeg.so',
++    # 'libffmpeg.so',
+   ],
+   'win32': [
+     'd3dcompiler_47.dll',
+@@ -414,7 +414,7 @@ def generate_ninja(args, ninja):
+       copy_locales(target_arch, component, ninja)
+ 
+   if args.component != 'native_mksnapshot':
+-    copy_ffmpeg(target_arch, ninja)
++    # copy_ffmpeg(target_arch, ninja)
+     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' ]
+ 
+-    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']
++COMPONENTS = ['static_library', 'native_mksnapshot']
+ DEPOT_TOOLS = os.path.join(VENDOR_DIR, 'depot_tools')
+ 
+ # URL to the mips64el sysroot image.

Deleted: libchromiumcontent-use-system-tools.patch
===================================================================
--- libchromiumcontent-use-system-tools.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ libchromiumcontent-use-system-tools.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,57 +0,0 @@
---- 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'
- 
--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']
- 
---- 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':
-     install_aarch64_bintools()
- 
-   return ((apply_patches(target_arch) if args.apply_patches else 0) or
-           copy_chromiumcontent_files() or
--          update_clang() or
-           setup_mips64el_toolchain(target_arch) or
-           run_gn(target_arch))
- 

Copied: electron/repos/community-x86_64/libchromiumcontent-use-system-tools.patch (from rev 362945, electron/trunk/libchromiumcontent-use-system-tools.patch)
===================================================================
--- libchromiumcontent-use-system-tools.patch	                        (rev 0)
+++ libchromiumcontent-use-system-tools.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,57 @@
+--- 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'
+ 
+-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']
+ 
+--- 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':
+     install_aarch64_bintools()
+ 
+   return ((apply_patches(target_arch) if args.apply_patches else 0) or
+           copy_chromiumcontent_files() or
+-          update_clang() or
+           setup_mips64el_toolchain(target_arch) or
+           run_gn(target_arch))
+ 

Deleted: no-whole-archive.patch
===================================================================
--- no-whole-archive.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ no-whole-archive.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,22 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -46,14 +46,13 @@
-       'conditions': [
-         # Link with libraries of libchromiumcontent.
-         ['OS=="linux" and libchromiumcontent_component==0', {
--          # On Linux we have to use "--whole-archive" to force executable
--          # to include all symbols, otherwise we will have plenty of
-+          # On Linux we have to use "--start-group" or we will have plenty of
-           # unresolved symbols errors.
--          'direct_dependent_settings': {
--            'ldflags': [
--              '-Wl,--whole-archive',
-+          'link_settings': {
-+            'libraries': [
-+              '-Wl,--start-group',
-               '<@(libchromiumcontent_libraries)',
--              '-Wl,--no-whole-archive',
-+              '-Wl,--end-group'
-             ],
-           }
-         }, {  # (Release build on Linux)

Copied: electron/repos/community-x86_64/no-whole-archive.patch (from rev 362945, electron/trunk/no-whole-archive.patch)
===================================================================
--- no-whole-archive.patch	                        (rev 0)
+++ no-whole-archive.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,22 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -46,14 +46,13 @@
+       'conditions': [
+         # Link with libraries of libchromiumcontent.
+         ['OS=="linux" and libchromiumcontent_component==0', {
+-          # On Linux we have to use "--whole-archive" to force executable
+-          # to include all symbols, otherwise we will have plenty of
++          # On Linux we have to use "--start-group" or we will have plenty of
+           # unresolved symbols errors.
+-          'direct_dependent_settings': {
+-            'ldflags': [
+-              '-Wl,--whole-archive',
++          'link_settings': {
++            'libraries': [
++              '-Wl,--start-group',
+               '<@(libchromiumcontent_libraries)',
+-              '-Wl,--no-whole-archive',
++              '-Wl,--end-group'
+             ],
+           }
+         }, {  # (Release build on Linux)

Deleted: use-system-ffmpeg.patch
===================================================================
--- use-system-ffmpeg.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ use-system-ffmpeg.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,21 +0,0 @@
---- a/brightray/brightray.gyp
-+++ b/brightray/brightray.gyp
-@@ -147,8 +147,6 @@
-             }, {
-               'link_settings': {
-                 'libraries': [
--                  # Link with ffmpeg.
--                  '<(libchromiumcontent_dir)/libffmpeg.so',
-                   # Following libraries are required by libchromiumcontent:
-                   '-lasound',
-                   '-lcap',
---- a/electron.gyp
-+++ b/electron.gyp
-@@ -215,7 +215,6 @@
-                   }, {
-                     'copied_libraries': [
-                       '<(PRODUCT_DIR)/lib/libnode.so',
--                      '<(libchromiumcontent_dir)/libffmpeg.so',
-                     ],
-                   }],
-                 ],

Copied: electron/repos/community-x86_64/use-system-ffmpeg.patch (from rev 362945, electron/trunk/use-system-ffmpeg.patch)
===================================================================
--- use-system-ffmpeg.patch	                        (rev 0)
+++ use-system-ffmpeg.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,21 @@
+--- a/brightray/brightray.gyp
++++ b/brightray/brightray.gyp
+@@ -149,8 +149,6 @@
+             }, {
+               'link_settings': {
+                 'libraries': [
+-                  # Link with ffmpeg.
+-                  '<(libchromiumcontent_dir)/libffmpeg.so',
+                   # Following libraries are required by libchromiumcontent:
+                   '-lasound',
+                   '-lcap',
+--- a/electron.gyp
++++ b/electron.gyp
+@@ -215,7 +215,6 @@
+                   }, {
+                     'copied_libraries': [
+                       '<(PRODUCT_DIR)/lib/libnode.so',
+-                      '<(libchromiumcontent_dir)/libffmpeg.so',
+                     ],
+                   }],
+                 ],

Deleted: use-system-libraries-in-node.patch
===================================================================
--- use-system-libraries-in-node.patch	2018-07-23 10:22:09 UTC (rev 362945)
+++ use-system-libraries-in-node.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -1,31 +0,0 @@
---- a/common.gypi
-+++ b/common.gypi
-@@ -24,12 +24,12 @@
-     'node_install_npm': 'false',
-     'node_prefix': '',
-     'node_shared': 'true',
--    'node_shared_cares': 'false',
--    'node_shared_http_parser': 'false',
-+    'node_shared_cares': 'true',
-+    'node_shared_http_parser': 'true',
-     'node_shared_libuv': 'false',
-     'node_shared_openssl': 'false',
-     'node_shared_v8': 'true',
--    'node_shared_zlib': 'false',
-+    'node_shared_zlib': 'true',
-     'node_tag': '',
-     'node_use_dtrace': 'false',
-     'node_use_etw': 'false',
-@@ -174,6 +174,12 @@
-             ],
-           }],
-           ['OS=="linux" and libchromiumcontent_component==0', {
-+            'libraries': [
-+              '-lcares',
-+              '-lcrypto',
-+              '-lhttp_parser',
-+              '-lz',
-+            ],
-             # Prevent the linker from stripping symbols.
-             'ldflags': [
-               '-Wl,--whole-archive',

Copied: electron/repos/community-x86_64/use-system-libraries-in-node.patch (from rev 362945, electron/trunk/use-system-libraries-in-node.patch)
===================================================================
--- use-system-libraries-in-node.patch	                        (rev 0)
+++ use-system-libraries-in-node.patch	2018-07-23 10:22:43 UTC (rev 362946)
@@ -0,0 +1,31 @@
+--- a/common.gypi
++++ b/common.gypi
+@@ -24,12 +24,12 @@
+     'node_install_npm': 'false',
+     'node_prefix': '',
+     'node_shared': 'true',
+-    'node_shared_cares': 'false',
+-    'node_shared_http_parser': 'false',
++    'node_shared_cares': 'true',
++    'node_shared_http_parser': 'true',
+     'node_shared_libuv': 'false',
+     'node_shared_openssl': 'false',
+     'node_shared_v8': 'true',
+-    'node_shared_zlib': 'false',
++    'node_shared_zlib': 'true',
+     'node_tag': '',
+     'node_use_dtrace': 'false',
+     'node_use_etw': 'false',
+@@ -174,6 +174,12 @@
+             ],
+           }],
+           ['OS=="linux" and libchromiumcontent_component==0', {
++            'libraries': [
++              '-lcares',
++              '-lcrypto',
++              '-lhttp_parser',
++              '-lz',
++            ],
+             # Prevent the linker from stripping symbols.
+             'ldflags': [
+               '-Wl,--whole-archive',



More information about the arch-commits mailing list