[arch-commits] Commit in chromium/repos/extra-x86_64 (14 files)

Evangelos Foutras foutrelis at archlinux.org
Thu Jan 4 23:44:09 UTC 2018


    Date: Thursday, January 4, 2018 @ 23:44:06
  Author: foutrelis
Revision: 314051

archrelease: copy trunk to extra-x86_64

Added:
  chromium/repos/extra-x86_64/PKGBUILD
    (from rev 314050, chromium/trunk/PKGBUILD)
  chromium/repos/extra-x86_64/chromium-clang-r1.patch
    (from rev 314050, chromium/trunk/chromium-clang-r1.patch)
  chromium/repos/extra-x86_64/chromium-exclude_unwind_tables.patch
    (from rev 314050, chromium/trunk/chromium-exclude_unwind_tables.patch)
  chromium/repos/extra-x86_64/chromium-omnibox-unescape-fragment.patch
    (from rev 314050, chromium/trunk/chromium-omnibox-unescape-fragment.patch)
  chromium/repos/extra-x86_64/chromium-webrtc-r0.patch
    (from rev 314050, chromium/trunk/chromium-webrtc-r0.patch)
  chromium/repos/extra-x86_64/chromium-widevine.patch
    (from rev 314050, chromium/trunk/chromium-widevine.patch)
  chromium/repos/extra-x86_64/chromium.install
    (from rev 314050, chromium/trunk/chromium.install)
Deleted:
  chromium/repos/extra-x86_64/PKGBUILD
  chromium/repos/extra-x86_64/chromium-clang-r1.patch
  chromium/repos/extra-x86_64/chromium-exclude_unwind_tables.patch
  chromium/repos/extra-x86_64/chromium-omnibox-unescape-fragment.patch
  chromium/repos/extra-x86_64/chromium-webrtc-r0.patch
  chromium/repos/extra-x86_64/chromium-widevine.patch
  chromium/repos/extra-x86_64/chromium.install

------------------------------------------+
 PKGBUILD                                 |  500 ++++++++--------
 chromium-clang-r1.patch                  |   42 -
 chromium-exclude_unwind_tables.patch     |   88 +-
 chromium-omnibox-unescape-fragment.patch |  874 ++++++++++++++---------------
 chromium-webrtc-r0.patch                 |   68 +-
 chromium-widevine.patch                  |   20 
 chromium.install                         |   32 -
 7 files changed, 812 insertions(+), 812 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2018-01-04 23:43:52 UTC (rev 314050)
+++ PKGBUILD	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,250 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
-# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
-
-pkgname=chromium
-pkgver=63.0.3239.108
-pkgrel=2
-_launcher_ver=5
-pkgdesc="A web browser built for speed, simplicity, and security"
-arch=('x86_64')
-url="https://www.chromium.org/Home"
-license=('BSD')
-depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
-         'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
-         'desktop-file-utils' 'hicolor-icon-theme')
-makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'clang'
-             'lld')
-optdepends=('pepper-flash: support for Flash content'
-            'kdialog: needed for file dialogs in KDE'
-            'gnome-keyring: for storing passwords in GNOME keyring'
-            'kwallet: for storing passwords in KWallet')
-install=chromium.install
-source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
-        chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
-        chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT
-        chromium-omnibox-unescape-fragment.patch
-        chromium-clang-r1.patch
-        chromium-webrtc-r0.patch
-        chromium-exclude_unwind_tables.patch
-        chromium-widevine.patch)
-sha256sums=('47d80798194da78bdd519b7ce012425b13cf89d6eb287e22a34342a245c31a2b'
-            '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
-            '6da2cc8e4ae13547763f946c331b2f819fbb8af01681b8b90564a95f8a423e58'
-            '814eb2cecb10cb697e24036b08aac41e88d0e38971741f9e946200764e2401ae'
-            'ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6'
-            'bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562'
-            'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c'
-            'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
-
-# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
-# Keys are the names in the above script; values are the dependencies in Arch
-readonly -A _system_libs=(
-  #[ffmpeg]=ffmpeg            # https://crbug.com/731766
-  [flac]=flac
-  #[freetype]=freetype2       # Using 'use_system_freetype=true' until M65
-  #[harfbuzz-ng]=harfbuzz     # Using 'use_system_harfbuzz=true' until M65
-  #[icu]=icu                  # https://crbug.com/772655 + need M64 for ICU 60
-  [libdrm]=
-  [libjpeg]=libjpeg
-  #[libpng]=libpng            # https://crbug.com/752403#c10
-  #[libvpx]=libvpx            # https://bugs.gentoo.org/611394
-  [libwebp]=libwebp
-  [libxml]=libxml2
-  [libxslt]=libxslt
-  [opus]=opus
-  [re2]=re2
-  [snappy]=snappy
-  [yasm]=
-  [zlib]=minizip
-)
-readonly _unwanted_bundled_libs=(
-  ${!_system_libs[@]}
-  ${_system_libs[libjpeg]+libjpeg_turbo}
-  freetype
-  harfbuzz-ng
-)
-depends+=(${_system_libs[@]} freetype2 harfbuzz)
-
-# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
-# Note: These are for Arch Linux use ONLY. For your own distribution, please
-# get your own set of keys.
-_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
-_google_default_client_id=413772536636.apps.googleusercontent.com
-_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
-
-prepare() {
-  cd "$srcdir/$pkgname-$pkgver"
-
-  # https://crbug.com/710701
-  local _chrome_build_hash=$(base64 -d ../chromium-$pkgver.txt |
-    grep -Po '^parent \K[0-9a-f]{40}$')
-  if [[ -z $_chrome_build_hash ]]; then
-    error "Unable to fetch Chrome build hash."
-    return 1
-  fi
-  echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
-
-  # Enable support for the Widevine CDM plugin
-  # libwidevinecdm.so is not included, but can be copied over from Chrome
-  # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
-  sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
-    patch -Np1
-
-  # https://chromium-review.googlesource.com/c/chromium/src/+/712575
-  patch -Np1 -i ../chromium-exclude_unwind_tables.patch
-
-  # https://crbug.com/789163
-  patch -Np1 -i ../chromium-omnibox-unescape-fragment.patch
-
-  # Fixes from Gentoo
-  patch -Np1 -i ../chromium-clang-r1.patch
-  patch -Np1 -i ../chromium-webrtc-r0.patch
-
-  # Remove compiler flags not supported by our system clang
-  sed -i \
-    -e '/"-Wno-enum-compare-switch"/d' \
-    -e '/"-Wno-null-pointer-arithmetic"/d' \
-    -e '/"-Wno-tautological-unsigned-zero-compare"/d' \
-    -e '/"-Wno-tautological-unsigned-enum-zero-compare"/d' \
-    build/config/compiler/BUILD.gn
-
-  # Use Python 2
-  find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
-
-  # There are still a lot of relative calls which need a workaround
-  mkdir "$srcdir/python2-path"
-  ln -s /usr/bin/python2 "$srcdir/python2-path/python"
-
-  mkdir -p third_party/node/linux/node-linux-x64/bin
-  ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
-
-  # Remove bundled libraries for which we will use the system copies; this
-  # *should* do what the remove_bundled_libraries.py script does, with the
-  # added benefit of not having to list all the remaining libraries
-  local _lib
-  for _lib in ${_unwanted_bundled_libs[@]}; do
-    find -type f -path "*third_party/$_lib/*" \
-      \! -path "*third_party/$_lib/chromium/*" \
-      \! -path "*third_party/$_lib/google/*" \
-      \! -path './base/third_party/icu/*' \
-      \! -path './third_party/freetype/src/src/psnames/pstables.h' \
-      \! -path './third_party/yasm/run_yasm.py' \
-      \! -regex '.*\.\(gn\|gni\|isolate\)' \
-      -delete
-  done
-
-  python2 build/linux/unbundle/replace_gn_files.py \
-    --system-libraries "${!_system_libs[@]}"
-}
-
-build() {
-  make -C chromium-launcher-$_launcher_ver
-
-  cd "$srcdir/$pkgname-$pkgver"
-
-  if check_buildoption ccache y; then
-    # Avoid falling back to preprocessor mode when sources contain time macros
-    export CCACHE_SLOPPINESS=time_macros
-  fi
-
-  export PATH="$srcdir/python2-path:$PATH"
-  export TMPDIR="$srcdir/temp"
-  mkdir -p "$TMPDIR"
-
-  export CC=clang
-  export CXX=clang++
-  export AR=ar
-  export NM=nm
-
-  local _flags=(
-    'custom_toolchain="//build/toolchain/linux/unbundle:default"'
-    'host_toolchain="//build/toolchain/linux/unbundle:default"'
-    'is_clang=true'
-    'clang_use_chrome_plugins=false'
-    'is_debug=false'
-    'fatal_linker_warnings=false'
-    'treat_warnings_as_errors=false'
-    'fieldtrial_testing_like_official_build=true'
-    'remove_webcore_debug_symbols=true'
-    'ffmpeg_branding="Chrome"'
-    'proprietary_codecs=true'
-    'link_pulseaudio=true'
-    'use_system_freetype=true'
-    'use_system_harfbuzz=true'
-    'use_gtk3=true'
-    'use_gconf=false'
-    'use_gnome_keyring=false'
-    'use_gold=false'
-    'use_sysroot=false'
-    'linux_use_bundled_binutils=false'
-    'use_custom_libcxx=false'
-    'enable_hangout_services_extension=true'
-    'enable_widevine=true'
-    'enable_nacl=false'
-    'enable_swiftshader=false'
-    "google_api_key=\"${_google_api_key}\""
-    "google_default_client_id=\"${_google_default_client_id}\""
-    "google_default_client_secret=\"${_google_default_client_secret}\""
-  )
-
-  if check_option strip y; then
-    _flags+=('exclude_unwind_tables=true')
-  fi
-
-  python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
-  out/Release/gn gen out/Release --args="${_flags[*]}" \
-    --script-executable=/usr/bin/python2
-
-  ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
-}
-
-package() {
-  cd chromium-launcher-$_launcher_ver
-  make PREFIX=/usr DESTDIR="$pkgdir" install
-  install -Dm644 LICENSE \
-    "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
-
-  cd "$srcdir/$pkgname-$pkgver"
-
-  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
-  install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
-  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
-
-  install -Dm644 chrome/installer/linux/common/desktop.template \
-    "$pkgdir/usr/share/applications/chromium.desktop"
-  install -Dm644 chrome/app/resources/manpage.1.in \
-    "$pkgdir/usr/share/man/man1/chromium.1"
-  sed -i \
-    -e "s/@@MENUNAME@@/Chromium/g" \
-    -e "s/@@PACKAGE@@/chromium/g" \
-    -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
-    "$pkgdir/usr/share/applications/chromium.desktop" \
-    "$pkgdir/usr/share/man/man1/chromium.1"
-
-  cp \
-    out/Release/{chrome_{100,200}_percent,resources}.pak \
-    out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
-    "$pkgdir/usr/lib/chromium/"
-  install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
-
-  if [[ -z ${_system_libs[icu]+set} ]]; then
-    cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/"
-  fi
-
-  for size in 22 24 48 64 128 256; do
-    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
-      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
-  done
-
-  for size in 16 32; do
-    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
-      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
-  done
-
-  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
-}
-
-# vim:set ts=2 sw=2 et:

Copied: chromium/repos/extra-x86_64/PKGBUILD (from rev 314050, chromium/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,250 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+# Contributor: Jan "heftig" Steffens <jan.steffens at gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=chromium
+pkgver=63.0.3239.132
+pkgrel=1
+_launcher_ver=5
+pkgdesc="A web browser built for speed, simplicity, and security"
+arch=('x86_64')
+url="https://www.chromium.org/Home"
+license=('BSD')
+depends=('gtk3' 'nss' 'alsa-lib' 'xdg-utils' 'libxss' 'libcups' 'libgcrypt'
+         'ttf-font' 'systemd' 'dbus' 'libpulse' 'pciutils' 'json-glib'
+         'desktop-file-utils' 'hicolor-icon-theme')
+makedepends=('python2' 'gperf' 'yasm' 'mesa' 'ninja' 'nodejs' 'git' 'clang'
+             'lld')
+optdepends=('pepper-flash: support for Flash content'
+            'kdialog: needed for file dialogs in KDE'
+            'gnome-keyring: for storing passwords in GNOME keyring'
+            'kwallet: for storing passwords in KWallet')
+install=chromium.install
+source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
+        chromium-launcher-$_launcher_ver.tar.gz::https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver.tar.gz
+        chromium-$pkgver.txt::https://chromium.googlesource.com/chromium/src.git/+/$pkgver?format=TEXT
+        chromium-omnibox-unescape-fragment.patch
+        chromium-clang-r1.patch
+        chromium-webrtc-r0.patch
+        chromium-exclude_unwind_tables.patch
+        chromium-widevine.patch)
+sha256sums=('84c46c2c42faaa102abe0647ee1213615a2522627124924c2741ddc2161b3d8d'
+            '4dc3428f2c927955d9ae117f2fb24d098cc6dd67adb760ac9c82b522ec8b0587'
+            'ab330f30c14ea3b5e77976d674304b91cfb02251fe8771cecb0bb4092c7f6b74'
+            '814eb2cecb10cb697e24036b08aac41e88d0e38971741f9e946200764e2401ae'
+            'ab5368a3e3a67fa63b33fefc6788ad5b4a79089ef4db1011a14c3bee9fdf70c6'
+            'bcb2f4588cf5dcf75cde855c7431e94fdcc34bdd68b876a90f65ab9938594562'
+            'e53dc6f259acd39df13874f8a0f440528fae764b859dd71447991a5b1fac7c9c'
+            'd6fdcb922e5a7fbe15759d39ccc8ea4225821c44d98054ce0f23f9d1f00c9808')
+
+# Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
+# Keys are the names in the above script; values are the dependencies in Arch
+readonly -A _system_libs=(
+  #[ffmpeg]=ffmpeg            # https://crbug.com/731766
+  [flac]=flac
+  #[freetype]=freetype2       # Using 'use_system_freetype=true' until M65
+  #[harfbuzz-ng]=harfbuzz     # Using 'use_system_harfbuzz=true' until M65
+  #[icu]=icu                  # https://crbug.com/772655 + need M64 for ICU 60
+  [libdrm]=
+  [libjpeg]=libjpeg
+  #[libpng]=libpng            # https://crbug.com/752403#c10
+  #[libvpx]=libvpx            # https://bugs.gentoo.org/611394
+  [libwebp]=libwebp
+  [libxml]=libxml2
+  [libxslt]=libxslt
+  [opus]=opus
+  [re2]=re2
+  [snappy]=snappy
+  [yasm]=
+  [zlib]=minizip
+)
+readonly _unwanted_bundled_libs=(
+  ${!_system_libs[@]}
+  ${_system_libs[libjpeg]+libjpeg_turbo}
+  freetype
+  harfbuzz-ng
+)
+depends+=(${_system_libs[@]} freetype2 harfbuzz)
+
+# Google API keys (see https://www.chromium.org/developers/how-tos/api-keys)
+# Note: These are for Arch Linux use ONLY. For your own distribution, please
+# get your own set of keys.
+_google_api_key=AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM
+_google_default_client_id=413772536636.apps.googleusercontent.com
+_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  # https://crbug.com/710701
+  local _chrome_build_hash=$(base64 -d ../chromium-$pkgver.txt |
+    grep -Po '^parent \K[0-9a-f]{40}$')
+  if [[ -z $_chrome_build_hash ]]; then
+    error "Unable to find Chrome build hash."
+    return 1
+  fi
+  echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
+
+  # Enable support for the Widevine CDM plugin
+  # libwidevinecdm.so is not included, but can be copied over from Chrome
+  # (Version string doesn't seem to matter so let's go with "Pinkie Pie")
+  sed "s/@WIDEVINE_VERSION@/Pinkie Pie/" ../chromium-widevine.patch |
+    patch -Np1
+
+  # https://chromium-review.googlesource.com/c/chromium/src/+/712575
+  patch -Np1 -i ../chromium-exclude_unwind_tables.patch
+
+  # https://crbug.com/789163
+  patch -Np1 -i ../chromium-omnibox-unescape-fragment.patch
+
+  # Fixes from Gentoo
+  patch -Np1 -i ../chromium-clang-r1.patch
+  patch -Np1 -i ../chromium-webrtc-r0.patch
+
+  # Remove compiler flags not supported by our system clang
+  sed -i \
+    -e '/"-Wno-enum-compare-switch"/d' \
+    -e '/"-Wno-null-pointer-arithmetic"/d' \
+    -e '/"-Wno-tautological-unsigned-zero-compare"/d' \
+    -e '/"-Wno-tautological-unsigned-enum-zero-compare"/d' \
+    build/config/compiler/BUILD.gn
+
+  # Use Python 2
+  find . -name '*.py' -exec sed -i -r 's|/usr/bin/python$|&2|g' {} +
+
+  # There are still a lot of relative calls which need a workaround
+  mkdir "$srcdir/python2-path"
+  ln -s /usr/bin/python2 "$srcdir/python2-path/python"
+
+  mkdir -p third_party/node/linux/node-linux-x64/bin
+  ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
+
+  # Remove bundled libraries for which we will use the system copies; this
+  # *should* do what the remove_bundled_libraries.py script does, with the
+  # added benefit of not having to list all the remaining libraries
+  local _lib
+  for _lib in ${_unwanted_bundled_libs[@]}; do
+    find -type f -path "*third_party/$_lib/*" \
+      \! -path "*third_party/$_lib/chromium/*" \
+      \! -path "*third_party/$_lib/google/*" \
+      \! -path './base/third_party/icu/*' \
+      \! -path './third_party/freetype/src/src/psnames/pstables.h' \
+      \! -path './third_party/yasm/run_yasm.py' \
+      \! -regex '.*\.\(gn\|gni\|isolate\)' \
+      -delete
+  done
+
+  python2 build/linux/unbundle/replace_gn_files.py \
+    --system-libraries "${!_system_libs[@]}"
+}
+
+build() {
+  make -C chromium-launcher-$_launcher_ver
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  if check_buildoption ccache y; then
+    # Avoid falling back to preprocessor mode when sources contain time macros
+    export CCACHE_SLOPPINESS=time_macros
+  fi
+
+  export PATH="$srcdir/python2-path:$PATH"
+  export TMPDIR="$srcdir/temp"
+  mkdir -p "$TMPDIR"
+
+  export CC=clang
+  export CXX=clang++
+  export AR=ar
+  export NM=nm
+
+  local _flags=(
+    'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+    'host_toolchain="//build/toolchain/linux/unbundle:default"'
+    'is_clang=true'
+    'clang_use_chrome_plugins=false'
+    'is_debug=false'
+    'fatal_linker_warnings=false'
+    'treat_warnings_as_errors=false'
+    'fieldtrial_testing_like_official_build=true'
+    'remove_webcore_debug_symbols=true'
+    'ffmpeg_branding="Chrome"'
+    'proprietary_codecs=true'
+    'link_pulseaudio=true'
+    'use_system_freetype=true'
+    'use_system_harfbuzz=true'
+    'use_gtk3=true'
+    'use_gconf=false'
+    'use_gnome_keyring=false'
+    'use_gold=false'
+    'use_sysroot=false'
+    'linux_use_bundled_binutils=false'
+    'use_custom_libcxx=false'
+    'enable_hangout_services_extension=true'
+    'enable_widevine=true'
+    'enable_nacl=false'
+    'enable_swiftshader=false'
+    "google_api_key=\"${_google_api_key}\""
+    "google_default_client_id=\"${_google_default_client_id}\""
+    "google_default_client_secret=\"${_google_default_client_secret}\""
+  )
+
+  if check_option strip y; then
+    _flags+=('exclude_unwind_tables=true')
+  fi
+
+  python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args "${_flags[*]}"
+  out/Release/gn gen out/Release --args="${_flags[*]}" \
+    --script-executable=/usr/bin/python2
+
+  ninja -C out/Release chrome chrome_sandbox chromedriver widevinecdmadapter
+}
+
+package() {
+  cd chromium-launcher-$_launcher_ver
+  make PREFIX=/usr DESTDIR="$pkgdir" install
+  install -Dm644 LICENSE \
+    "$pkgdir/usr/share/licenses/chromium/LICENSE.launcher"
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
+  install -Dm4755 out/Release/chrome_sandbox "$pkgdir/usr/lib/chromium/chrome-sandbox"
+  ln -s /usr/lib/chromium/chromedriver "$pkgdir/usr/bin/chromedriver"
+
+  install -Dm644 chrome/installer/linux/common/desktop.template \
+    "$pkgdir/usr/share/applications/chromium.desktop"
+  install -Dm644 chrome/app/resources/manpage.1.in \
+    "$pkgdir/usr/share/man/man1/chromium.1"
+  sed -i \
+    -e "s/@@MENUNAME@@/Chromium/g" \
+    -e "s/@@PACKAGE@@/chromium/g" \
+    -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \
+    "$pkgdir/usr/share/applications/chromium.desktop" \
+    "$pkgdir/usr/share/man/man1/chromium.1"
+
+  cp \
+    out/Release/{chrome_{100,200}_percent,resources}.pak \
+    out/Release/{*.bin,chromedriver,libwidevinecdmadapter.so} \
+    "$pkgdir/usr/lib/chromium/"
+  install -Dm644 -t "$pkgdir/usr/lib/chromium/locales" out/Release/locales/*.pak
+
+  if [[ -z ${_system_libs[icu]+set} ]]; then
+    cp out/Release/icudtl.dat "$pkgdir/usr/lib/chromium/"
+  fi
+
+  for size in 22 24 48 64 128 256; do
+    install -Dm644 "chrome/app/theme/chromium/product_logo_$size.png" \
+      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+  done
+
+  for size in 16 32; do
+    install -Dm644 "chrome/app/theme/default_100_percent/chromium/product_logo_$size.png" \
+      "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/chromium.png"
+  done
+
+  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/chromium/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Deleted: chromium-clang-r1.patch
===================================================================
--- chromium-clang-r1.patch	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium-clang-r1.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,21 +0,0 @@
---- a/build/config/compiler/BUILD.gn.orig	2017-10-04 08:50:15.014675936 +0000
-+++ b/build/config/compiler/BUILD.gn	2017-10-04 08:50:32.831024327 +0000
-@@ -429,18 +429,6 @@
-     cflags += [ "-fcolor-diagnostics" ]
-   }
- 
--  # TODO(hans): Remove this once Clang generates better optimized debug info by
--  # default. https://crbug.com/765793
--  if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
--      target_os != "chromeos") {
--    cflags += [
--      "-Xclang",
--      "-mllvm",
--      "-Xclang",
--      "-instcombine-lower-dbg-declare=1",
--    ]
--  }
--
-   # Print absolute paths in diagnostics. There is no precedent for doing this
-   # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
-   # Windows developers rely on it (crbug.com/636109) so only do this on Windows.

Copied: chromium/repos/extra-x86_64/chromium-clang-r1.patch (from rev 314050, chromium/trunk/chromium-clang-r1.patch)
===================================================================
--- chromium-clang-r1.patch	                        (rev 0)
+++ chromium-clang-r1.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,21 @@
+--- a/build/config/compiler/BUILD.gn.orig	2017-10-04 08:50:15.014675936 +0000
++++ b/build/config/compiler/BUILD.gn	2017-10-04 08:50:32.831024327 +0000
+@@ -429,18 +429,6 @@
+     cflags += [ "-fcolor-diagnostics" ]
+   }
+ 
+-  # TODO(hans): Remove this once Clang generates better optimized debug info by
+-  # default. https://crbug.com/765793
+-  if (is_clang && !is_nacl && current_toolchain == host_toolchain &&
+-      target_os != "chromeos") {
+-    cflags += [
+-      "-Xclang",
+-      "-mllvm",
+-      "-Xclang",
+-      "-instcombine-lower-dbg-declare=1",
+-    ]
+-  }
+-
+   # Print absolute paths in diagnostics. There is no precedent for doing this
+   # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and
+   # Windows developers rely on it (crbug.com/636109) so only do this on Windows.

Deleted: chromium-exclude_unwind_tables.patch
===================================================================
--- chromium-exclude_unwind_tables.patch	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium-exclude_unwind_tables.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,44 +0,0 @@
-From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001
-From: Paul Jensen <pauljensen at chromium.org>
-Date: Wed, 11 Oct 2017 08:37:34 -0400
-Subject: [PATCH] Move exclude_unwind_tables back into declare_args
-
-There is desire to adjust this flag manually.
-
-BUG=762629
-R=thakis at chromium.org
-
-Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab
----
-
-diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
-index ad40fd9..50e19a4 100644
---- a/build/config/compiler/compiler.gni
-+++ b/build/config/compiler/compiler.gni
-@@ -68,18 +68,18 @@
- 
-   # Whether or not we should use position independent code.
-   use_pic = true
-+
-+  # Exclude unwind tables for official builds as unwinding can be done from
-+  # stack dumps produced by Crashpad at a later time "offline" in the crash
-+  # server. For unofficial (e.g. development) builds and non-Chrome branded
-+  # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's
-+  # useful to be able to unwind at runtime.
-+  exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
-+                          (is_chromecast && !is_cast_desktop_build && !is_debug)
- }
- 
- assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
- 
--# Exclude unwind tables for official builds as unwinding can be done from stack
--# dumps produced by Crashpad at a later time "offline" in the crash server.
--# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
--# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
--# to unwind at runtime.
--exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
--                        (is_chromecast && !is_cast_desktop_build && !is_debug)
--
- # If true, optimize for size. Does not affect windows builds.
- # Linux & Mac favor speed over size.
- # TODO(brettw) it's weird that Mac and desktop Linux are different. We should

Copied: chromium/repos/extra-x86_64/chromium-exclude_unwind_tables.patch (from rev 314050, chromium/trunk/chromium-exclude_unwind_tables.patch)
===================================================================
--- chromium-exclude_unwind_tables.patch	                        (rev 0)
+++ chromium-exclude_unwind_tables.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,44 @@
+From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001
+From: Paul Jensen <pauljensen at chromium.org>
+Date: Wed, 11 Oct 2017 08:37:34 -0400
+Subject: [PATCH] Move exclude_unwind_tables back into declare_args
+
+There is desire to adjust this flag manually.
+
+BUG=762629
+R=thakis at chromium.org
+
+Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab
+---
+
+diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
+index ad40fd9..50e19a4 100644
+--- a/build/config/compiler/compiler.gni
++++ b/build/config/compiler/compiler.gni
+@@ -68,18 +68,18 @@
+ 
+   # Whether or not we should use position independent code.
+   use_pic = true
++
++  # Exclude unwind tables for official builds as unwinding can be done from
++  # stack dumps produced by Crashpad at a later time "offline" in the crash
++  # server. For unofficial (e.g. development) builds and non-Chrome branded
++  # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's
++  # useful to be able to unwind at runtime.
++  exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
++                          (is_chromecast && !is_cast_desktop_build && !is_debug)
+ }
+ 
+ assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO")
+ 
+-# Exclude unwind tables for official builds as unwinding can be done from stack
+-# dumps produced by Crashpad at a later time "offline" in the crash server.
+-# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet
+-# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able
+-# to unwind at runtime.
+-exclude_unwind_tables = (is_chrome_branded && is_official_build) ||
+-                        (is_chromecast && !is_cast_desktop_build && !is_debug)
+-
+ # If true, optimize for size. Does not affect windows builds.
+ # Linux & Mac favor speed over size.
+ # TODO(brettw) it's weird that Mac and desktop Linux are different. We should

Deleted: chromium-omnibox-unescape-fragment.patch
===================================================================
--- chromium-omnibox-unescape-fragment.patch	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium-omnibox-unescape-fragment.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,437 +0,0 @@
-commit 03f9a90d8a783f9d1a94935ac298338a1e694380
-Author: Eric Lawrence <elawrence at chromium.org>
-Date:   Sat Dec 16 04:48:11 2017 +0000
-
-    Reland of 'Unescape fragment for display in Omnibox'
-    
-    The original landing broke EGTests for iOS Simulator and Device which
-    were not run by the CQ. This change includes updated EGTests.
-    
-    TBR=pkasting at chromium.org
-    
-    Bug: 789163, 643458
-    Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
-    Change-Id: Ie30afcb7bcba5affc7266d72a10b7f8dc0074314
-    Reviewed-on: https://chromium-review.googlesource.com/830093
-    Reviewed-by: Eric Lawrence <elawrence at chromium.org>
-    Reviewed-by: Peter Kasting <pkasting at chromium.org>
-    Reviewed-by: Eugene But <eugenebut at chromium.org>
-    Commit-Queue: Eric Lawrence <elawrence at chromium.org>
-    Cr-Commit-Position: refs/heads/master@{#524591}
-
-diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
-index 6e5dff47f7ec..24f1056d49d5 100644
---- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
-+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
-@@ -462,3 +462,13 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TextElideStatus) {
-   EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(),
-             gfx::NO_ELIDE);
- }
-+ 
-+IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, FragmentUnescapedForDisplay) {
-+  OmniboxView* view = nullptr;
-+  ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view));
-+  ui_test_utils::NavigateToURL(browser(),
-+                               GURL("https://www.google.com/#%E2%98%83"));
-+
-+  EXPECT_EQ(view->GetText(),
-+            base::UTF8ToUTF16("https://www.google.com/#\u2603"));
-+}
-diff --git a/components/url_formatter/elide_url_unittest.cc b/components/url_formatter/elide_url_unittest.cc
-index 5e0384af72a2..d403ce065f45 100644
---- a/components/url_formatter/elide_url_unittest.cc
-+++ b/components/url_formatter/elide_url_unittest.cc
-@@ -347,15 +347,16 @@ TEST(TextEliderTest, TestElisionSpecialCases) {
-        kEllipsisStr + "berkeley.edu:4430/" + kEllipsisStr + "/arbitfilename"},
- 
-       // Unescaping.
--      {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0",
--       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#" +
-+      {"http://www/%E4%BD%A0%E5%A5%BD?"
-+       "q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0\xe4\xbd\xa0\xe4\xbd\xa0",
-+       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0" +
-            kEllipsisStr},
- 
-       // Invalid unescaping for path. The ref will always be valid UTF-8. We
-       // don't bother to do too many edge cases, since these are handled by the
-       // escaper unittest.
-       {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0",
--       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + kEllipsisStr},
-+       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0"},
-   };
- 
-   RunElisionTest(testcases);
-diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
-index d5c0d314a5de..c422e3d98a72 100644
---- a/components/url_formatter/url_formatter.cc
-+++ b/components/url_formatter/url_formatter.cc
-@@ -586,11 +586,10 @@ base::string16 FormatUrlWithAdjustments(
-                              NonHostComponentTransform(unescape_rules),
-                              &url_string, &new_parsed->query, adjustments);
- 
--    // Ref.  This is valid, unescaped UTF-8, so we can just convert.
-     if (parsed.ref.is_valid())
-       url_string.push_back('#');
-     AppendFormattedComponent(spec, parsed.ref,
--                             NonHostComponentTransform(net::UnescapeRule::NONE),
-+                             NonHostComponentTransform(unescape_rules),
-                              &url_string, &new_parsed->ref, adjustments);
-   }
- 
-diff --git a/components/url_formatter/url_formatter_unittest.cc b/components/url_formatter/url_formatter_unittest.cc
-index 6fd3ece50f7d..5aaf31105a43 100644
---- a/components/url_formatter/url_formatter_unittest.cc
-+++ b/components/url_formatter/url_formatter_unittest.cc
-@@ -828,7 +828,7 @@ TEST(UrlFormatterTest, FormatUrl) {
- 
-       {"With a port number and a reference",
-        "http://www.google.com:8080/#\xE3\x82\xB0", default_format_type,
--       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#%E3%82%B0", 7},
-+       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0", 7},
- 
-       // -------- IDN tests --------
-       {"Japanese IDN with ja", "http://xn--l8jvb1ey91xtjb.jp",
-@@ -1119,7 +1119,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
-                 kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, &parsed,
-                 nullptr, nullptr);
-   EXPECT_EQ(WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080"
--                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
-+                        L"/\x30B0/?q=\x30B0#\x30B0"),
-             formatted);
-   EXPECT_EQ(WideToUTF16(L"\x30B0"),
-       formatted.substr(parsed.username.begin, parsed.username.len));
-@@ -1133,7 +1133,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
-       formatted.substr(parsed.path.begin, parsed.path.len));
-   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
-       formatted.substr(parsed.query.begin, parsed.query.len));
--  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
-+  EXPECT_EQ(WideToUTF16(L"\x30B0"),
-             formatted.substr(parsed.ref.begin, parsed.ref.len));
- 
-   // Omit_username_password + unescape case.
-@@ -1143,7 +1143,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
-                 kFormatUrlOmitUsernamePassword, net::UnescapeRule::NORMAL,
-                 &parsed, nullptr, nullptr);
-   EXPECT_EQ(WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080"
--                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
-+                        L"/\x30B0/?q=\x30B0#\x30B0"),
-             formatted);
-   EXPECT_FALSE(parsed.username.is_valid());
-   EXPECT_FALSE(parsed.password.is_valid());
-@@ -1155,7 +1155,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
-       formatted.substr(parsed.path.begin, parsed.path.len));
-   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
-       formatted.substr(parsed.query.begin, parsed.query.len));
--  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
-+  EXPECT_EQ(WideToUTF16(L"\x30B0"),
-             formatted.substr(parsed.ref.begin, parsed.ref.len));
- 
-   // View-source case.
-@@ -1389,9 +1389,12 @@ TEST(UrlFormatterTest, FormatUrlWithOffsets) {
-       kFormatUrlOmitNothing, net::UnescapeRule::SPACES, unescape_offsets);
- 
-   const size_t ref_offsets[] = {
--      0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16,
--      17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
--      34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49};
-+      0,  1,     2,     3,     4,     5,     6,     7,     8,     9,
-+      10, 11,    12,    13,    14,    15,    16,    17,    18,    19,
-+      20, 21,    22,    23,    24,    25,    26,    27,    28,    29,
-+      30, 31,    kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
-+      32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33};
-+
-   // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z".
-   CheckAdjustedOffsets("http://www.google.com/foo.html#%E3%82%B0%E3%82%B0z",
-                        kFormatUrlOmitNothing, net::UnescapeRule::NORMAL,
-diff --git a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
-index b67f2a08d0a0..431ad368f07d 100644
---- a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
-+++ b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
-@@ -59,40 +59,42 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-   // Push 3 URLs. Verify that the URL changed and the status was updated.
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashWithObject"];
-   [self assertStatusText:@"pushStateHashWithObject"
--                 withURL:pushStateHashWithObjectURL
-+         withOmniboxText:pushStateHashWithObjectURL.GetContent()
-               pageLoaded:NO];
- 
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateRootPath"];
-   [self assertStatusText:@"pushStateRootPath"
--                 withURL:pushStateRootPathURL
-+         withOmniboxText:pushStateRootPathURL.GetContent()
-               pageLoaded:NO];
- 
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePathSpace"];
-   [self assertStatusText:@"pushStatePathSpace"
--                 withURL:pushStatePathSpaceURL
-+         withOmniboxText:pushStatePathSpaceURL.GetContent()
-               pageLoaded:NO];
- 
-   // Go back and check that the page doesn't load and the status text is updated
-   // by the popstate event.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:@"pushStateRootPath"
--                 withURL:pushStateRootPathURL
-+         withOmniboxText:pushStateRootPathURL.GetContent()
-               pageLoaded:NO];
- 
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:@"pushStateHashWithObject"
--                 withURL:pushStateHashWithObjectURL
-+         withOmniboxText:pushStateHashWithObjectURL.GetContent()
-               pageLoaded:NO];
- 
-   [ChromeEarlGrey tapWebViewElementWithID:@"goBack"];
-   const GURL historyTestURL = web::test::HttpServer::MakeUrl(kHistoryTestUrl);
--  [self assertStatusText:NULL withURL:historyTestURL pageLoaded:NO];
-+  [self assertStatusText:nil
-+         withOmniboxText:historyTestURL.GetContent()
-+              pageLoaded:NO];
- 
-   // Go forward 2 pages and check that the page doesn't load and the status text
-   // is updated by the popstate event.
-   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
-   [self assertStatusText:@"pushStateRootPath"
--                 withURL:pushStateRootPathURL
-+         withOmniboxText:pushStateRootPathURL.GetContent()
-               pageLoaded:NO];
- }
- 
-@@ -108,7 +110,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-       web::test::HttpServer::MakeUrl(kReplaceStateHashWithObjectURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashWithObject"];
-   [self assertStatusText:@"replaceStateHashWithObject"
--                 withURL:replaceStateHashWithObjectURL
-+         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
-               pageLoaded:NO];
- 
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-@@ -119,7 +121,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-   [[EarlGrey selectElementWithMatcher:ForwardButton()]
-       performAction:grey_tap()];
-   [self assertStatusText:@"replaceStateHashWithObject"
--                 withURL:replaceStateHashWithObjectURL
-+         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
-               pageLoaded:YES];
- 
-   // Push URL then replace it. Do this twice.
-@@ -127,44 +129,44 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
-   [self assertStatusText:@"pushStateHashString"
--                 withURL:pushStateHashStringURL
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-               pageLoaded:NO];
- 
-   const GURL replaceStateHashStringURL =
-       web::test::HttpServer::MakeUrl(kReplaceStateHashStringURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashString"];
-   [self assertStatusText:@"replaceStateHashString"
--                 withURL:replaceStateHashStringURL
-+         withOmniboxText:replaceStateHashStringURL.GetContent()
-               pageLoaded:NO];
- 
-   const GURL pushStatePathURL =
-       web::test::HttpServer::MakeUrl(kPushStatePathURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
-   [self assertStatusText:@"pushStatePath"
--                 withURL:pushStatePathURL
-+         withOmniboxText:pushStatePathURL.GetContent()
-               pageLoaded:NO];
- 
-   const GURL replaceStateRootPathSpaceURL =
-       web::test::HttpServer::MakeUrl(kReplaceStateRootPathSpaceURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateRootPathSpace"];
-   [self assertStatusText:@"replaceStateRootPathSpace"
--                 withURL:replaceStateRootPathSpaceURL
-+         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
-               pageLoaded:NO];
- 
-   // Go back and check URLs.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:@"replaceStateHashString"
--                 withURL:replaceStateHashStringURL
-+         withOmniboxText:replaceStateHashStringURL.GetContent()
-               pageLoaded:NO];
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:@"replaceStateHashWithObject"
--                 withURL:replaceStateHashWithObjectURL
-+         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
-               pageLoaded:NO];
- 
-   // Go forward and check URL.
-   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
-   [self assertStatusText:@"replaceStateRootPathSpace"
--                 withURL:replaceStateRootPathSpaceURL
-+         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
-               pageLoaded:NO];
- }
- 
-@@ -180,11 +182,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
-   [self assertStatusText:@"pushStateHashString"
--                 withURL:pushStateHashStringURL
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-               pageLoaded:NO];
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
-   [self assertStatusText:@"pushStateHashString"
--                 withURL:pushStateHashStringURL
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-               pageLoaded:NO];
- 
-   // Load a non-pushed URL.
-@@ -194,7 +196,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-   [ChromeEarlGrey loadURL:historyTestURL];
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
-   [self assertStatusText:@"pushStateHashString"
--                 withURL:pushStateHashStringURL
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-               pageLoaded:NO];
- 
-   // At this point the history looks like this:
-@@ -202,38 +204,54 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
- 
-   // Go back (to second history.html) and verify page did not load.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
--  [self assertStatusText:nil withURL:historyTestURL pageLoaded:NO];
-+  [self assertStatusText:nil
-+         withOmniboxText:historyTestURL.GetContent()
-+              pageLoaded:NO];
- 
-   // Go back twice (to second #string) and verify page did load.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
--  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
-+  [self assertStatusText:nil
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-+              pageLoaded:YES];
- 
-   // Go back once (to first #string) and verify page did not load.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:@"pushStateHashString"
--                 withURL:pushStateHashStringURL
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-               pageLoaded:NO];
- 
-   // Go forward 4 entries at once (to third #string) and verify page did load.
-   [ChromeEarlGrey tapWebViewElementWithID:@"goForward4"];
- 
--  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
-+  [self assertStatusText:nil
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-+              pageLoaded:YES];
- 
-   // Go back 4 entries at once (to first #string) and verify page did load.
-   [ChromeEarlGrey tapWebViewElementWithID:@"goBack4"];
- 
--  [self assertStatusText:NULL withURL:pushStateHashStringURL pageLoaded:YES];
-+  [self assertStatusText:nil
-+         withOmniboxText:pushStateHashStringURL.GetContent()
-+              pageLoaded:YES];
- }
- 
- // Tests calling pushState with unicode characters.
- - (void)testHtml5HistoryPushUnicodeCharacters {
--  const GURL pushStateUnicodeURLEncoded = web::test::HttpServer::MakeUrl(
--      "http://ios/testing/data/http_server_files/"
--      "history.html#unicode%E1%84%91");
--  const GURL pushStateUnicode2URLEncoded = web::test::HttpServer::MakeUrl(
--      "http://ios/testing/data/http_server_files/"
--      "history.html#unicode2%E2%88%A2");
-+  // The GURL object %-escapes Unicode characters in the URL's fragment,
-+  // but the omnibox decodes them back to Unicode for display.
-+  std::string pushStateUnicode =
-+      web::test::HttpServer::MakeUrl(
-+          "http://ios/testing/data/http_server_files/"
-+          "history.html#unicode")
-+          .GetContent() +
-+      "\xe1\x84\x91";
-+  std::string pushStateUnicode2 =
-+      web::test::HttpServer::MakeUrl(
-+          "http://ios/testing/data/http_server_files/"
-+          "history.html#unicode2")
-+          .GetContent() +
-+      "\xe2\x88\xa2";
-   const char pushStateUnicodeLabel[] = "Action: pushStateUnicodeᄑ";
-   NSString* pushStateUnicodeStatus = @"pushStateUnicodeᄑ";
-   const char pushStateUnicode2Label[] = "Action: pushStateUnicode2∢";
-@@ -242,21 +260,16 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-   web::test::SetUpFileBasedHttpServer();
-   [ChromeEarlGrey loadURL:web::test::HttpServer::MakeUrl(kHistoryTestUrl)];
- 
--  // TODO(crbug.com/643458): The fact that the URL shows %-escaped is due to
--  // NSURL escaping to make UIWebView/JS happy. See if it's possible to
--  // represent differently such that it displays unescaped.
-   // Do 2 push states with unicode characters.
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode"];
-   [[EarlGrey
--      selectElementWithMatcher:chrome_test_util::OmniboxText(
--                                   pushStateUnicodeURLEncoded.GetContent())]
-+      selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode)]
-       assertWithMatcher:grey_notNil()];
-   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicodeLabel];
- 
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode2"];
-   [[EarlGrey
--      selectElementWithMatcher:chrome_test_util::OmniboxText(
--                                   pushStateUnicode2URLEncoded.GetContent())]
-+      selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode2)]
-       assertWithMatcher:grey_notNil()];
-   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicode2Label];
- 
-@@ -266,18 +279,18 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
- 
-   [self assertStatusText:@"pushStatePath"
--                 withURL:pushStatePathURL
-+         withOmniboxText:pushStatePathURL.GetContent()
-               pageLoaded:NO];
- 
-   // Go back and check the unicode in the URL and status.
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:pushStateUnicode2Status
--                 withURL:pushStateUnicode2URLEncoded
-+         withOmniboxText:pushStateUnicode2
-               pageLoaded:NO];
- 
-   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
-   [self assertStatusText:pushStateUnicodeStatus
--                 withURL:pushStateUnicodeURLEncoded
-+         withOmniboxText:pushStateUnicode
-               pageLoaded:NO];
- }
- 
-@@ -321,10 +334,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
- 
- #pragma mark - Utility methods
- 
--// Assert that status text |status| is displayed in the webview, that "onloaded"
--// text is displayed if pageLoaded is YES, and that the URL is as expected.
-+// Assert that status text |status|, if non-nil, is displayed in the webview,
-+// that the omnibox text is as expected, and that "onload" text is displayed if
-+// pageLoaded is YES.
- - (void)assertStatusText:(NSString*)status
--                 withURL:(const GURL&)urlToVerify
-+         withOmniboxText:(const std::string&)omniboxText
-               pageLoaded:(BOOL)pageLoaded {
-   if (pageLoaded) {
-     [ChromeEarlGrey waitForWebViewContainingText:"onload"];
-@@ -332,14 +346,14 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
-     [ChromeEarlGrey waitForWebViewNotContainingText:"onload"];
-   }
- 
--  if (status != NULL) {
-+  if (status != nil) {
-     NSString* statusLabel = [NSString stringWithFormat:@"Action: %@", status];
-     [ChromeEarlGrey
-         waitForWebViewContainingText:base::SysNSStringToUTF8(statusLabel)];
-   }
- 
--  [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
--                                          urlToVerify.GetContent())]
-+  [[EarlGrey
-+      selectElementWithMatcher:chrome_test_util::OmniboxText(omniboxText)]
-       assertWithMatcher:grey_notNil()];
- }
- 

Copied: chromium/repos/extra-x86_64/chromium-omnibox-unescape-fragment.patch (from rev 314050, chromium/trunk/chromium-omnibox-unescape-fragment.patch)
===================================================================
--- chromium-omnibox-unescape-fragment.patch	                        (rev 0)
+++ chromium-omnibox-unescape-fragment.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,437 @@
+commit 03f9a90d8a783f9d1a94935ac298338a1e694380
+Author: Eric Lawrence <elawrence at chromium.org>
+Date:   Sat Dec 16 04:48:11 2017 +0000
+
+    Reland of 'Unescape fragment for display in Omnibox'
+    
+    The original landing broke EGTests for iOS Simulator and Device which
+    were not run by the CQ. This change includes updated EGTests.
+    
+    TBR=pkasting at chromium.org
+    
+    Bug: 789163, 643458
+    Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
+    Change-Id: Ie30afcb7bcba5affc7266d72a10b7f8dc0074314
+    Reviewed-on: https://chromium-review.googlesource.com/830093
+    Reviewed-by: Eric Lawrence <elawrence at chromium.org>
+    Reviewed-by: Peter Kasting <pkasting at chromium.org>
+    Reviewed-by: Eugene But <eugenebut at chromium.org>
+    Commit-Queue: Eric Lawrence <elawrence at chromium.org>
+    Cr-Commit-Position: refs/heads/master@{#524591}
+
+diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+index 6e5dff47f7ec..24f1056d49d5 100644
+--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
++++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc
+@@ -462,3 +462,13 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TextElideStatus) {
+   EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(),
+             gfx::NO_ELIDE);
+ }
++ 
++IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, FragmentUnescapedForDisplay) {
++  OmniboxView* view = nullptr;
++  ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view));
++  ui_test_utils::NavigateToURL(browser(),
++                               GURL("https://www.google.com/#%E2%98%83"));
++
++  EXPECT_EQ(view->GetText(),
++            base::UTF8ToUTF16("https://www.google.com/#\u2603"));
++}
+diff --git a/components/url_formatter/elide_url_unittest.cc b/components/url_formatter/elide_url_unittest.cc
+index 5e0384af72a2..d403ce065f45 100644
+--- a/components/url_formatter/elide_url_unittest.cc
++++ b/components/url_formatter/elide_url_unittest.cc
+@@ -347,15 +347,16 @@ TEST(TextEliderTest, TestElisionSpecialCases) {
+        kEllipsisStr + "berkeley.edu:4430/" + kEllipsisStr + "/arbitfilename"},
+ 
+       // Unescaping.
+-      {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0",
+-       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#" +
++      {"http://www/%E4%BD%A0%E5%A5%BD?"
++       "q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0\xe4\xbd\xa0\xe4\xbd\xa0",
++       "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0" +
+            kEllipsisStr},
+ 
+       // Invalid unescaping for path. The ref will always be valid UTF-8. We
+       // don't bother to do too many edge cases, since these are handled by the
+       // escaper unittest.
+       {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0",
+-       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + kEllipsisStr},
++       "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0"},
+   };
+ 
+   RunElisionTest(testcases);
+diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc
+index d5c0d314a5de..c422e3d98a72 100644
+--- a/components/url_formatter/url_formatter.cc
++++ b/components/url_formatter/url_formatter.cc
+@@ -586,11 +586,10 @@ base::string16 FormatUrlWithAdjustments(
+                              NonHostComponentTransform(unescape_rules),
+                              &url_string, &new_parsed->query, adjustments);
+ 
+-    // Ref.  This is valid, unescaped UTF-8, so we can just convert.
+     if (parsed.ref.is_valid())
+       url_string.push_back('#');
+     AppendFormattedComponent(spec, parsed.ref,
+-                             NonHostComponentTransform(net::UnescapeRule::NONE),
++                             NonHostComponentTransform(unescape_rules),
+                              &url_string, &new_parsed->ref, adjustments);
+   }
+ 
+diff --git a/components/url_formatter/url_formatter_unittest.cc b/components/url_formatter/url_formatter_unittest.cc
+index 6fd3ece50f7d..5aaf31105a43 100644
+--- a/components/url_formatter/url_formatter_unittest.cc
++++ b/components/url_formatter/url_formatter_unittest.cc
+@@ -828,7 +828,7 @@ TEST(UrlFormatterTest, FormatUrl) {
+ 
+       {"With a port number and a reference",
+        "http://www.google.com:8080/#\xE3\x82\xB0", default_format_type,
+-       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#%E3%82%B0", 7},
++       net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0", 7},
+ 
+       // -------- IDN tests --------
+       {"Japanese IDN with ja", "http://xn--l8jvb1ey91xtjb.jp",
+@@ -1119,7 +1119,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+                 kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, &parsed,
+                 nullptr, nullptr);
+   EXPECT_EQ(WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080"
+-                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
++                        L"/\x30B0/?q=\x30B0#\x30B0"),
+             formatted);
+   EXPECT_EQ(WideToUTF16(L"\x30B0"),
+       formatted.substr(parsed.username.begin, parsed.username.len));
+@@ -1133,7 +1133,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+       formatted.substr(parsed.path.begin, parsed.path.len));
+   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
+       formatted.substr(parsed.query.begin, parsed.query.len));
+-  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
++  EXPECT_EQ(WideToUTF16(L"\x30B0"),
+             formatted.substr(parsed.ref.begin, parsed.ref.len));
+ 
+   // Omit_username_password + unescape case.
+@@ -1143,7 +1143,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+                 kFormatUrlOmitUsernamePassword, net::UnescapeRule::NORMAL,
+                 &parsed, nullptr, nullptr);
+   EXPECT_EQ(WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080"
+-                        L"/\x30B0/?q=\x30B0#%E3%82%B0"),
++                        L"/\x30B0/?q=\x30B0#\x30B0"),
+             formatted);
+   EXPECT_FALSE(parsed.username.is_valid());
+   EXPECT_FALSE(parsed.password.is_valid());
+@@ -1155,7 +1155,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) {
+       formatted.substr(parsed.path.begin, parsed.path.len));
+   EXPECT_EQ(WideToUTF16(L"q=\x30B0"),
+       formatted.substr(parsed.query.begin, parsed.query.len));
+-  EXPECT_EQ(WideToUTF16(L"%E3%82%B0"),
++  EXPECT_EQ(WideToUTF16(L"\x30B0"),
+             formatted.substr(parsed.ref.begin, parsed.ref.len));
+ 
+   // View-source case.
+@@ -1389,9 +1389,12 @@ TEST(UrlFormatterTest, FormatUrlWithOffsets) {
+       kFormatUrlOmitNothing, net::UnescapeRule::SPACES, unescape_offsets);
+ 
+   const size_t ref_offsets[] = {
+-      0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, 13, 14, 15, 16,
+-      17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+-      34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49};
++      0,  1,     2,     3,     4,     5,     6,     7,     8,     9,
++      10, 11,    12,    13,    14,    15,    16,    17,    18,    19,
++      20, 21,    22,    23,    24,    25,    26,    27,    28,    29,
++      30, 31,    kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos,
++      32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33};
++
+   // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z".
+   CheckAdjustedOffsets("http://www.google.com/foo.html#%E3%82%B0%E3%82%B0z",
+                        kFormatUrlOmitNothing, net::UnescapeRule::NORMAL,
+diff --git a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
+index b67f2a08d0a0..431ad368f07d 100644
+--- a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
++++ b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm
+@@ -59,40 +59,42 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+   // Push 3 URLs. Verify that the URL changed and the status was updated.
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashWithObject"];
+   [self assertStatusText:@"pushStateHashWithObject"
+-                 withURL:pushStateHashWithObjectURL
++         withOmniboxText:pushStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateRootPath"];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePathSpace"];
+   [self assertStatusText:@"pushStatePathSpace"
+-                 withURL:pushStatePathSpaceURL
++         withOmniboxText:pushStatePathSpaceURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check that the page doesn't load and the status text is updated
+   // by the popstate event.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateHashWithObject"
+-                 withURL:pushStateHashWithObjectURL
++         withOmniboxText:pushStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"goBack"];
+   const GURL historyTestURL = web::test::HttpServer::MakeUrl(kHistoryTestUrl);
+-  [self assertStatusText:NULL withURL:historyTestURL pageLoaded:NO];
++  [self assertStatusText:nil
++         withOmniboxText:historyTestURL.GetContent()
++              pageLoaded:NO];
+ 
+   // Go forward 2 pages and check that the page doesn't load and the status text
+   // is updated by the popstate event.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
+   [self assertStatusText:@"pushStateRootPath"
+-                 withURL:pushStateRootPathURL
++         withOmniboxText:pushStateRootPathURL.GetContent()
+               pageLoaded:NO];
+ }
+ 
+@@ -108,7 +110,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kReplaceStateHashWithObjectURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashWithObject"];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+@@ -119,7 +121,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+   [[EarlGrey selectElementWithMatcher:ForwardButton()]
+       performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:YES];
+ 
+   // Push URL then replace it. Do this twice.
+@@ -127,44 +129,44 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL replaceStateHashStringURL =
+       web::test::HttpServer::MakeUrl(kReplaceStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashString"];
+   [self assertStatusText:@"replaceStateHashString"
+-                 withURL:replaceStateHashStringURL
++         withOmniboxText:replaceStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL pushStatePathURL =
+       web::test::HttpServer::MakeUrl(kPushStatePathURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
+   [self assertStatusText:@"pushStatePath"
+-                 withURL:pushStatePathURL
++         withOmniboxText:pushStatePathURL.GetContent()
+               pageLoaded:NO];
+ 
+   const GURL replaceStateRootPathSpaceURL =
+       web::test::HttpServer::MakeUrl(kReplaceStateRootPathSpaceURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateRootPathSpace"];
+   [self assertStatusText:@"replaceStateRootPathSpace"
+-                 withURL:replaceStateRootPathSpaceURL
++         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check URLs.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashString"
+-                 withURL:replaceStateHashStringURL
++         withOmniboxText:replaceStateHashStringURL.GetContent()
+               pageLoaded:NO];
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"replaceStateHashWithObject"
+-                 withURL:replaceStateHashWithObjectURL
++         withOmniboxText:replaceStateHashWithObjectURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go forward and check URL.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"];
+   [self assertStatusText:@"replaceStateRootPathSpace"
+-                 withURL:replaceStateRootPathSpaceURL
++         withOmniboxText:replaceStateRootPathSpaceURL.GetContent()
+               pageLoaded:NO];
+ }
+ 
+@@ -180,11 +182,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+       web::test::HttpServer::MakeUrl(kPushStateHashStringURL);
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Load a non-pushed URL.
+@@ -194,7 +196,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+   [ChromeEarlGrey loadURL:historyTestURL];
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // At this point the history looks like this:
+@@ -202,38 +204,54 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+ 
+   // Go back (to second history.html) and verify page did not load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+-  [self assertStatusText:nil withURL:historyTestURL pageLoaded:NO];
++  [self assertStatusText:nil
++         withOmniboxText:historyTestURL.GetContent()
++              pageLoaded:NO];
+ 
+   // Go back twice (to second #string) and verify page did load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+-  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ 
+   // Go back once (to first #string) and verify page did not load.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:@"pushStateHashString"
+-                 withURL:pushStateHashStringURL
++         withOmniboxText:pushStateHashStringURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go forward 4 entries at once (to third #string) and verify page did load.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goForward4"];
+ 
+-  [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ 
+   // Go back 4 entries at once (to first #string) and verify page did load.
+   [ChromeEarlGrey tapWebViewElementWithID:@"goBack4"];
+ 
+-  [self assertStatusText:NULL withURL:pushStateHashStringURL pageLoaded:YES];
++  [self assertStatusText:nil
++         withOmniboxText:pushStateHashStringURL.GetContent()
++              pageLoaded:YES];
+ }
+ 
+ // Tests calling pushState with unicode characters.
+ - (void)testHtml5HistoryPushUnicodeCharacters {
+-  const GURL pushStateUnicodeURLEncoded = web::test::HttpServer::MakeUrl(
+-      "http://ios/testing/data/http_server_files/"
+-      "history.html#unicode%E1%84%91");
+-  const GURL pushStateUnicode2URLEncoded = web::test::HttpServer::MakeUrl(
+-      "http://ios/testing/data/http_server_files/"
+-      "history.html#unicode2%E2%88%A2");
++  // The GURL object %-escapes Unicode characters in the URL's fragment,
++  // but the omnibox decodes them back to Unicode for display.
++  std::string pushStateUnicode =
++      web::test::HttpServer::MakeUrl(
++          "http://ios/testing/data/http_server_files/"
++          "history.html#unicode")
++          .GetContent() +
++      "\xe1\x84\x91";
++  std::string pushStateUnicode2 =
++      web::test::HttpServer::MakeUrl(
++          "http://ios/testing/data/http_server_files/"
++          "history.html#unicode2")
++          .GetContent() +
++      "\xe2\x88\xa2";
+   const char pushStateUnicodeLabel[] = "Action: pushStateUnicodeᄑ";
+   NSString* pushStateUnicodeStatus = @"pushStateUnicodeᄑ";
+   const char pushStateUnicode2Label[] = "Action: pushStateUnicode2∢";
+@@ -242,21 +260,16 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+   web::test::SetUpFileBasedHttpServer();
+   [ChromeEarlGrey loadURL:web::test::HttpServer::MakeUrl(kHistoryTestUrl)];
+ 
+-  // TODO(crbug.com/643458): The fact that the URL shows %-escaped is due to
+-  // NSURL escaping to make UIWebView/JS happy. See if it's possible to
+-  // represent differently such that it displays unescaped.
+   // Do 2 push states with unicode characters.
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode"];
+   [[EarlGrey
+-      selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                   pushStateUnicodeURLEncoded.GetContent())]
++      selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode)]
+       assertWithMatcher:grey_notNil()];
+   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicodeLabel];
+ 
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode2"];
+   [[EarlGrey
+-      selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                   pushStateUnicode2URLEncoded.GetContent())]
++      selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode2)]
+       assertWithMatcher:grey_notNil()];
+   [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicode2Label];
+ 
+@@ -266,18 +279,18 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+   [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"];
+ 
+   [self assertStatusText:@"pushStatePath"
+-                 withURL:pushStatePathURL
++         withOmniboxText:pushStatePathURL.GetContent()
+               pageLoaded:NO];
+ 
+   // Go back and check the unicode in the URL and status.
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:pushStateUnicode2Status
+-                 withURL:pushStateUnicode2URLEncoded
++         withOmniboxText:pushStateUnicode2
+               pageLoaded:NO];
+ 
+   [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()];
+   [self assertStatusText:pushStateUnicodeStatus
+-                 withURL:pushStateUnicodeURLEncoded
++         withOmniboxText:pushStateUnicode
+               pageLoaded:NO];
+ }
+ 
+@@ -321,10 +334,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+ 
+ #pragma mark - Utility methods
+ 
+-// Assert that status text |status| is displayed in the webview, that "onloaded"
+-// text is displayed if pageLoaded is YES, and that the URL is as expected.
++// Assert that status text |status|, if non-nil, is displayed in the webview,
++// that the omnibox text is as expected, and that "onload" text is displayed if
++// pageLoaded is YES.
+ - (void)assertStatusText:(NSString*)status
+-                 withURL:(const GURL&)urlToVerify
++         withOmniboxText:(const std::string&)omniboxText
+               pageLoaded:(BOOL)pageLoaded {
+   if (pageLoaded) {
+     [ChromeEarlGrey waitForWebViewContainingText:"onload"];
+@@ -332,14 +346,14 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace";
+     [ChromeEarlGrey waitForWebViewNotContainingText:"onload"];
+   }
+ 
+-  if (status != NULL) {
++  if (status != nil) {
+     NSString* statusLabel = [NSString stringWithFormat:@"Action: %@", status];
+     [ChromeEarlGrey
+         waitForWebViewContainingText:base::SysNSStringToUTF8(statusLabel)];
+   }
+ 
+-  [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText(
+-                                          urlToVerify.GetContent())]
++  [[EarlGrey
++      selectElementWithMatcher:chrome_test_util::OmniboxText(omniboxText)]
+       assertWithMatcher:grey_notNil()];
+ }
+ 

Deleted: chromium-webrtc-r0.patch
===================================================================
--- chromium-webrtc-r0.patch	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium-webrtc-r0.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,34 +0,0 @@
-From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001
-From: Raphael Kubo da Costa <raphael.kubo.da.costa at intel.com>
-Date: Fri, 13 Oct 2017 15:49:32 +0200
-Subject: [PATCH] IWYU: Include math.h for round(3).
-
-math.h was being implicitly included, which can break the build with
-alternative libc implementations.
-
-Bug: None
-Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952
-Reviewed-on: https://webrtc-review.googlesource.com/9384
-Reviewed-by: Tommi <tommi at webrtc.org>
-Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa at intel.com>
-Cr-Commit-Position: refs/heads/master@{#20292}
----
- p2p/base/port.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/p2p/base/port.cc b/p2p/base/port.cc
-index a1b478d11..81aa0aadb 100644
---- a/third_party/webrtc/p2p/base/port.cc
-+++ b/third_party/webrtc/p2p/base/port.cc
-@@ -10,6 +10,8 @@
- 
- #include "p2p/base/port.h"
- 
-+#include <math.h>
-+
- #include <algorithm>
- #include <vector>
- 
--- 
-2.15.0.rc2
-

Copied: chromium/repos/extra-x86_64/chromium-webrtc-r0.patch (from rev 314050, chromium/trunk/chromium-webrtc-r0.patch)
===================================================================
--- chromium-webrtc-r0.patch	                        (rev 0)
+++ chromium-webrtc-r0.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,34 @@
+From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa at intel.com>
+Date: Fri, 13 Oct 2017 15:49:32 +0200
+Subject: [PATCH] IWYU: Include math.h for round(3).
+
+math.h was being implicitly included, which can break the build with
+alternative libc implementations.
+
+Bug: None
+Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952
+Reviewed-on: https://webrtc-review.googlesource.com/9384
+Reviewed-by: Tommi <tommi at webrtc.org>
+Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa at intel.com>
+Cr-Commit-Position: refs/heads/master@{#20292}
+---
+ p2p/base/port.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/p2p/base/port.cc b/p2p/base/port.cc
+index a1b478d11..81aa0aadb 100644
+--- a/third_party/webrtc/p2p/base/port.cc
++++ b/third_party/webrtc/p2p/base/port.cc
+@@ -10,6 +10,8 @@
+ 
+ #include "p2p/base/port.h"
+ 
++#include <math.h>
++
+ #include <algorithm>
+ #include <vector>
+ 
+-- 
+2.15.0.rc2
+

Deleted: chromium-widevine.patch
===================================================================
--- chromium-widevine.patch	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium-widevine.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,10 +0,0 @@
-diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h	2016-01-14 01:05:17.000000000 +0200
-+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h	2016-01-21 19:18:51.287978456 +0200
-@@ -12,4 +12,6 @@
- 
- #define WIDEVINE_CDM_AVAILABLE
- 
-+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
-+
- #endif  // WIDEVINE_CDM_VERSION_H_

Copied: chromium/repos/extra-x86_64/chromium-widevine.patch (from rev 314050, chromium/trunk/chromium-widevine.patch)
===================================================================
--- chromium-widevine.patch	                        (rev 0)
+++ chromium-widevine.patch	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,10 @@
+diff -upr chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h
+--- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h	2016-01-14 01:05:17.000000000 +0200
++++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h	2016-01-21 19:18:51.287978456 +0200
+@@ -12,4 +12,6 @@
+ 
+ #define WIDEVINE_CDM_AVAILABLE
+ 
++#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@"
++
+ #endif  // WIDEVINE_CDM_VERSION_H_

Deleted: chromium.install
===================================================================
--- chromium.install	2018-01-04 23:43:52 UTC (rev 314050)
+++ chromium.install	2018-01-04 23:44:06 UTC (rev 314051)
@@ -1,16 +0,0 @@
-post_upgrade() {
-  if (($(vercmp $2 42.0.2311.90-1) < 0)); then
-    echo ':: This Chromium package no longer supports custom flags passed via the'
-    echo '   /etc/chromium/default file (or any other files under /etc/chromium/).'
-    echo
-    echo '   The new /usr/bin/chromium launcher script will automatically detect'
-    echo '   Pepper Flash (if installed) and pass the correct flags to Chromium.'
-    echo
-    echo '   If you need to pass extra command-line arguments to Chromium, you'
-    echo '   can put them in a "chromium-flags.conf" file under $HOME/.config/'
-    echo '   (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
-    echo '   quoting rules apply but no further parsing is performed.'
-  fi
-}
-
-# vim:set ts=2 sw=2 et:

Copied: chromium/repos/extra-x86_64/chromium.install (from rev 314050, chromium/trunk/chromium.install)
===================================================================
--- chromium.install	                        (rev 0)
+++ chromium.install	2018-01-04 23:44:06 UTC (rev 314051)
@@ -0,0 +1,16 @@
+post_upgrade() {
+  if (($(vercmp $2 42.0.2311.90-1) < 0)); then
+    echo ':: This Chromium package no longer supports custom flags passed via the'
+    echo '   /etc/chromium/default file (or any other files under /etc/chromium/).'
+    echo
+    echo '   The new /usr/bin/chromium launcher script will automatically detect'
+    echo '   Pepper Flash (if installed) and pass the correct flags to Chromium.'
+    echo
+    echo '   If you need to pass extra command-line arguments to Chromium, you'
+    echo '   can put them in a "chromium-flags.conf" file under $HOME/.config/'
+    echo '   (or $XDG_CONFIG_HOME). Arguments are split on whitespace and shell'
+    echo '   quoting rules apply but no further parsing is performed.'
+  fi
+}
+
+# vim:set ts=2 sw=2 et:



More information about the arch-commits mailing list