ports/opt (3.4): [notify] chromium: 64.0.3282.186 -> 65.0.3325.181 new dependencies: clang libvpx libwebp, removed libevent. Closes FS#1633

crux at crux.nu crux at crux.nu
Fri Mar 30 11:41:12 UTC 2018


commit 8a4c00d2c1edec9479f1f7d990263aa639d34df1
Author: Danny Rawlins <monster.romster at gmail.com>
Date:   Thu Mar 29 21:38:15 2018 +1100

    [notify] chromium: 64.0.3282.186 -> 65.0.3325.181 new dependencies: clang libvpx libwebp, removed libevent. Closes FS#1633

diff --git a/chromium/.footprint b/chromium/.footprint
index bc7b71256..b83eea5c4 100644
--- a/chromium/.footprint
+++ b/chromium/.footprint
@@ -93,8 +93,6 @@ drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/animation/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/animation/animation_module.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/application_test_runner/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/application_test_runner/application_test_runner_module.js
-drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits/
--rw-r--r--	root/root	usr/lib/chromium/resources/inspector/audits/audits_module.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits2/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/audits2/audits2_module.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits2_test_runner/
@@ -102,8 +100,6 @@ drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits2_test_runner/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/audits2_worker.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits2_worker/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/audits2_worker/audits2_worker_module.js
-drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/audits_test_runner/
--rw-r--r--	root/root	usr/lib/chromium/resources/inspector/audits_test_runner/audits_test_runner_module.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/bindings_test_runner/
 -rw-r--r--	root/root	usr/lib/chromium/resources/inspector/bindings_test_runner/bindings_test_runner_module.js
 drwxr-xr-x	root/root	usr/lib/chromium/resources/inspector/changes/
diff --git a/chromium/.md5sum b/chromium/.md5sum
index 8abbdcc13..75c9f517f 100644
--- a/chromium/.md5sum
+++ b/chromium/.md5sum
@@ -1,10 +1,7 @@
-d144ace1ee63acdf7dd149b013c83088  chromium-64.0.3282.119-constexpr-1.patch
-0c361a429c5dcea568cbc7b001a82d92  chromium-64.0.3282.186.tar.xz
+717988367527423b897712ec0e25a5dd  chromium-65.0.3325.181.tar.xz
 27dbd1479d469346d1ffe27c7e7c0011  chromium-clang-r2.patch
-21f73763be6c44ce3df0f1cbbfbff440  chromium-cups-r0.patch
-cb40c4153943f9eb5e38e90ba2f8b382  chromium-memcpy-r0.patch
-e42a8b91ea55b4765b9b2b9e2437a9d0  chromium-omnibox-unescape-fragment.patch
+01f7422efc71c1dd9255b5d9f72a36ec  chromium-math.h-r0.patch
 254061cb349cff714230b7cca83b0a4c  chromium-skia-harmony.patch
-40ff364c3a581e5f7ec4a84d785ab6a4  chromium-use-fromUTF8-for-UnicodeString-construction.patch
+9d6eab4a8302b23a991ddc8682ecaaab  chromium-stdint.patch
 64968626706b07721983ac59fb3babbf  chromium.sh
 3354997dd0bfde3443499133a6e16a85  last-commit-position.patch
diff --git a/chromium/.signature b/chromium/.signature
index 33f37d18a..34e28ed34 100644
--- a/chromium/.signature
+++ b/chromium/.signature
@@ -1,14 +1,11 @@
 untrusted comment: verify with /etc/ports/opt.pub
-RWSE3ohX2g5d/ey8wdaJVrX7vAizPeFwt7QvQSNET76nR3Oxj0uG4Vl0qkCm9Q0x719hifw+5i+G4tUUMtmM6ZU15GSd9/FARwA=
-SHA256 (Pkgfile) = 7d8fdc35785fb1ddeb117573b1d07cf380485770d63321d29a22586d5f566189
-SHA256 (.footprint) = e1e6cdeeb1dc4e10e1b0f3e743f69fae1c35e4db1f455cd9e65e5bf0387d9d7e
-SHA256 (chromium-64.0.3282.186.tar.xz) = 5fd0218759231ac00cc729235823592f6fd1e4a00ff64780a5fed7ab210f1860
+RWSE3ohX2g5d/Z3xpwEfM4Q9/9Ijb8vZudoetipL4uL0scSqs8CgLGerd/YbOw4Pd37nZEy3iDhYUjfcmxhlsy336sxXBjEm6QQ=
+SHA256 (Pkgfile) = 7b117ccf7bdb817b98a423288661d1619003c59780875400d9c4fe827d7ce88d
+SHA256 (.footprint) = 95eb53a45199694e600d1fb7e055c8d1fd3ad4033de075267cd2a7750a0f7b12
+SHA256 (chromium-65.0.3325.181.tar.xz) = 93666448c6b96ec83e6a35a64cff40db4eb92a154fe1db4e7dab4761d0e38687
 SHA256 (last-commit-position.patch) = d3dc397956a26ec045e76c25c57a1fac5fc0acff94306b2a670daee7ba15709e
 SHA256 (chromium.sh) = 7b182d0ae1e9ef841f8cd0b403a304babd548bf60b5e3808b2144bebdbb7c154
-SHA256 (chromium-64.0.3282.119-constexpr-1.patch) = 9982464badc03879c5f73ed18a719661f00aad51da078bae032293e656bfaf6d
-SHA256 (chromium-use-fromUTF8-for-UnicodeString-construction.patch) = c82c830bac7ab328a76d85fb141e150a17d02d97138a6daa4720a8a8c371a402
-SHA256 (chromium-omnibox-unescape-fragment.patch) = 814eb2cecb10cb697e24036b08aac41e88d0e38971741f9e946200764e2401ae
 SHA256 (chromium-skia-harmony.patch) = feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3
-SHA256 (chromium-memcpy-r0.patch) = 455f0029987d9f0532bd9a5250669af5146a9c2b65b776d4a6e2499e8aca7bb4
 SHA256 (chromium-clang-r2.patch) = 4495e8b29dae242c79ffe4beefc5171eb3c7aacb7e9aebfd2d4d69b9d8c958d3
-SHA256 (chromium-cups-r0.patch) = 34cfc58664c67901f498dcff5e0d27edfb821bf1472c224981880903a0a3d243
+SHA256 (chromium-math.h-r0.patch) = fe0ab86aa5b0072db730eccda3e1582ebed4af25815bfd49fe0da24cf63ca902
+SHA256 (chromium-stdint.patch) = c00d2506f1078b38a8ebec474a7318e76a61db1298afb40088a34210f137210f
diff --git a/chromium/Pkgfile b/chromium/Pkgfile
index 37c16259e..d275a46c5 100644
--- a/chromium/Pkgfile
+++ b/chromium/Pkgfile
@@ -1,20 +1,17 @@
 # Description: Open source version of Google Chrome web browser.
 # URL: http://chromium.org/
 # Maintainer: CRUX System Team, core-ports at crux dot nu
-# Depends on: dbus-glib gperf gtk gtk3 libevent libexif libgcrypt ninja nodejs nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt yasm
+# Depends on: clang dbus-glib gperf gtk gtk3 libexif libgcrypt libvpx libwebp nodejs nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt
 
 name=chromium
-version=64.0.3282.186
+version=65.0.3325.181
 release=1
 source=(https://commondatastorage.googleapis.com/$name-browser-official/$name-$version.tar.xz
 	last-commit-position.patch $name.sh
-	chromium-64.0.3282.119-constexpr-1.patch
-	chromium-use-fromUTF8-for-UnicodeString-construction.patch
-	chromium-omnibox-unescape-fragment.patch
 	chromium-skia-harmony.patch
-	chromium-memcpy-r0.patch
 	chromium-clang-r2.patch
-	chromium-cups-r0.patch)
+	chromium-math.h-r0.patch
+	chromium-stdint.patch)
 
 build() {
 	cd $name-$version
@@ -27,12 +24,14 @@ build() {
 	export CFLAGS="$CFLAGS $(pkg-config --cflags nspr)"
 	export LDFLAGS="$LDFLAGS $(pkg-config --libs nspr)"
 
+	export CC=clang
+	export CXX=clang++
+	export AR=ar
+	export NM=nm
+
 	# we don't use git sources
 	patch -p1 -i $SRC/last-commit-position.patch
 
-	# Corrects error call to non-constexpr function
-	patch -p1 -i $SRC/chromium-64.0.3282.119-constexpr-1.patch
-
 	wget https://chromium.googlesource.com/chromium/src.git/+/$version?format=TEXT -O ../chromium-$version.txt
 	# https://crbug.com/710701
 	local _chrome_build_hash=$(base64 -d ../chromium-$version.txt |
@@ -43,73 +42,90 @@ build() {
 	fi
 	echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE
 
-	# https://chromium-review.googlesource.com/c/chromium/src/+/712575
-	# _flags+=('exclude_unwind_tables=true')
-	CFLAGS+='   -fno-unwind-tables -fno-asynchronous-unwind-tables'
-	CXXFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables'
+	CFLAGS+='   -fno-unwind-tables -fno-asynchronous-unwind-tables -Wno-parentheses-equality -Wno-unused-command-line-argument'
+	CXXFLAGS+=' -fno-unwind-tables -fno-asynchronous-unwind-tables -Wno-parentheses-equality -Wno-unused-command-line-argument'
 	CPPFLAGS+=' -DNO_UNWIND_TABLES'
 
-	# https://crbug.com/772655
-	patch -p1 -i $SRC/chromium-use-fromUTF8-for-UnicodeString-construction.patch
-
-	# https://crbug.com/789163
-	patch -p1 -i $SRC/chromium-omnibox-unescape-fragment.patch
-
 	# https://crbug.com/skia/6663#c10
 	patch -p4 -i $SRC/chromium-skia-harmony.patch
 
 	# Fixes from Gentoo
-	patch -p1 -i $SRC/chromium-memcpy-r0.patch
 	patch -p1 -i $SRC/chromium-clang-r2.patch
-	patch -p1 -i $SRC/chromium-cups-r0.patch
+	patch -p1 -i $SRC/chromium-math.h-r0.patch
+	patch -p1 -i $SRC/chromium-stdint.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-constant-compare"/d' \
+		-e '/"-fno-delete-null-pointer-checks"/d' \
+		-e '/"-Wno-maybe-uninitialized"/d' \
+		build/config/compiler/BUILD.gn
 
 	mkdir -p third_party/node/linux/node-linux-x64/bin
 	ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/
 
-	local LIB
-	for LIB in libjpeg libjpeg_turbo yasm; 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/yasm/run_yasm.py' \
-                        \! -regex '.*\.\(gn\|gni\|isolate\)' \
-			\! -path './third_party/freetype/src/src/psnames/pstables.h' \
-			-delete
+	local gn_system_libraries=(
+		#libdrm
+		#libjpeg
+		#libpng
+		libvpx
+		libwebp
+		# libxml
+		yasm
+		# zlib
+		# bzip2
+        )
+
+	local ULIB
+	for ULIB in ${gn_system_libraries[@]}; do
+		find -type f -path "*third_party/$ULIB/*" \
+		\! -path "*third_party/$ULIB/chromium/*" \
+		\! -path "*third_party/$ULIB/google/*" \
+		\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+		-delete
 	done
 
 	/usr/bin/python2 build/linux/unbundle/replace_gn_files.py \
-		--system-libraries libjpeg libxml libevent yasm
+		--system-libraries ${gn_system_libraries[@]}
 
+	# Chromium issue #386097
 	/usr/bin/python2 third_party/libaddressinput/chromium/tools/update-strings.py
 
-	_gn_args=(
-		'blink_gc_plugin=false'
+	local _gn_args=(
+		'custom_toolchain="//build/toolchain/linux/unbundle:default"'
+		'host_toolchain="//build/toolchain/linux/unbundle:default"'
+		'is_clang=false'
 		'clang_use_chrome_plugins=false'
-		'enable_hangout_services_extension=true'
-		'enable_nacl=false'
-		'enable_swiftshader=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"'
-		'is_clang=false'
-		'is_debug=false'
-		'linux_use_bundled_binutils=false'
-		'use_custom_libcxx=false'
 		'proprietary_codecs=true'
-		'remove_webcore_debug_symbols=true'
-		'symbol_level=0'
-		'treat_warnings_as_errors=false'
-		'use_allocator="none"'
+		'link_pulseaudio=false'
+		'use_gnome_keyring=false'
+		'use_gold=false'
+		'use_lld=false'
+		'use_sysroot=false'
+		'use_bundled_fontconfig=false'
+		'linux_use_bundled_binutils=false'
+		'use_custom_libcxx=true'
+		'enable_hangout_services_extension=true'
+		'enable_widevine=false'
+		'enable_nacl=false'
+		'enable_swiftshader=false'
 		'use_cups=false'
 		'use_gconf=false'
 		'use_gnome_keyring=false'
-		'use_gold=false'
 		'use_kerberos=false'
 		'use_pulseaudio=false'
-		'use_sysroot=false'
 	)
 
-	/usr/bin/python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}"
+	/usr/bin/python2 tools/gn/bootstrap/bootstrap.py -s -v --no-clean
 	out/Release/gn gen out/Release --args="${_gn_args[*]}" --script-executable=/usr/bin/python2
 
 	ninja -j ${JOBS-1} -C out/Release chrome chrome_sandbox
diff --git a/chromium/chromium-64.0.3282.119-constexpr-1.patch b/chromium/chromium-64.0.3282.119-constexpr-1.patch
deleted file mode 100644
index ae40fd18c..000000000
--- a/chromium/chromium-64.0.3282.119-constexpr-1.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-Submitted By:            DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
-Date:                    2018-01-28
-Initial Package Version: 64.0.3282.119
-Upstream Status:         Committed
-Origin:                  Upstream
-Description:             Corrects error call to non-constexpr function
-
-
-From 030017a4855c7b6e7f2ff8d9566c146f31eb301b Mon Sep 17 00:00:00 2001
-From: Kai Ninomiya <kainino at chromium.org>
-Date: Wed, 06 Dec 2017 14:06:53 -0800
-Subject: [PATCH] Mark StaticType related functions as constexpr
-
-Fixes compilation on some versions of GCC and probably Clang.
-
-Follow-up to http://crrev.com/c/786317
-
-Bug: angleproject:1432
-Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5
-Reviewed-on: https://chromium-review.googlesource.com/812220
-Reviewed-by: Jamie Madill <jmadill at chromium.org>
-Commit-Queue: Kai Ninomiya <kainino at chromium.org>
----
-
-diff --git a/third_party/angle/src/compiler/translator/StaticType.h b/third_party/angle/src/compiler/translator/StaticType.h
-index e26e5ff..30b391a 100644
---- a/third_party/angle/src/compiler/translator/StaticType.h
-+++ b/third_party/angle/src/compiler/translator/StaticType.h
-@@ -160,7 +160,7 @@
-           TPrecision precision,
-           TQualifier qualifier,
-           unsigned char secondarySize>
--const TType *GetForVecMatHelper(unsigned char primarySize)
-+constexpr const TType *GetForVecMatHelper(unsigned char primarySize)
- {
-     static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
-                       basicType == EbtBool,
-@@ -186,7 +186,7 @@
- template <TBasicType basicType,
-           TPrecision precision = EbpUndefined,
-           TQualifier qualifier = EvqGlobal>
--const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
-+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
- {
-     static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
-                       basicType == EbtBool,
-@@ -208,7 +208,7 @@
- }
- 
- template <TBasicType basicType, TPrecision precision = EbpUndefined>
--const TType *GetForVec(TQualifier qualifier, unsigned char size)
-+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size)
- {
-     switch (qualifier)
-     {
-diff --git a/third_party/angle/src/compiler/translator/SymbolTable.cpp b/third_party/angle/src/compiler/translator/SymbolTable.cpp
-index adf1e4e..90d4c15 100644
---- a/third_party/angle/src/compiler/translator/SymbolTable.cpp
-+++ b/third_party/angle/src/compiler/translator/SymbolTable.cpp
-@@ -236,7 +236,7 @@
-         pop();
- }
- 
--bool IsGenType(const TType *type)
-+constexpr bool IsGenType(const TType *type)
- {
-     if (type)
-     {
-@@ -248,7 +248,7 @@
-     return false;
- }
- 
--bool IsVecType(const TType *type)
-+constexpr bool IsVecType(const TType *type)
- {
-     if (type)
-     {
-diff --git a/third_party/angle/src/compiler/translator/Types.h b/third_party/angle/src/compiler/translator/Types.h
-index 04f46f1..a54d447 100644
---- a/third_party/angle/src/compiler/translator/Types.h
-+++ b/third_party/angle/src/compiler/translator/Types.h
-@@ -142,13 +142,13 @@
-     {
-     }
- 
--    TBasicType getBasicType() const { return type; }
-+    constexpr TBasicType getBasicType() const { return type; }
-     void setBasicType(TBasicType t);
- 
-     TPrecision getPrecision() const { return precision; }
-     void setPrecision(TPrecision p) { precision = p; }
- 
--    TQualifier getQualifier() const { return qualifier; }
-+    constexpr TQualifier getQualifier() const { return qualifier; }
-     void setQualifier(TQualifier q) { qualifier = q; }
- 
-     bool isInvariant() const { return invariant; }
-
diff --git a/chromium/chromium-cups-r0.patch b/chromium/chromium-cups-r0.patch
deleted file mode 100644
index 88ea78a81..000000000
--- a/chromium/chromium-cups-r0.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 3cf91d8d674a496d533aa106723a632b68ab26ba Mon Sep 17 00:00:00 2001
-From: Tom Anderson <thomasanderson at chromium.org>
-Date: Tue, 12 Dec 2017 23:31:56 +0000
-Subject: [PATCH] Fix use_cups=false build
-
-BUG=793801
-R=thestig at chromium.org
-
-Change-Id: I60ee6ec48d2686d0b42ca25311a9b76009ce9768
-Reviewed-on: https://chromium-review.googlesource.com/823245
-Reviewed-by: Lei Zhang <thestig at chromium.org>
-Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#523602}
----
- chrome/service/cloud_print/print_system.cc | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/chrome/service/cloud_print/print_system.cc b/chrome/service/cloud_print/print_system.cc
-index ac94c804f9..4ceba96919 100644
---- a/chrome/service/cloud_print/print_system.cc
-+++ b/chrome/service/cloud_print/print_system.cc
-@@ -5,6 +5,7 @@
- #include "chrome/service/cloud_print/print_system.h"
- 
- #include "base/guid.h"
-+#include "build/build_config.h"
- 
- namespace cloud_print {
- 
-@@ -35,5 +36,11 @@ std::string PrintSystem::GenerateProxyId() {
-   return base::GenerateGUID();
- }
- 
--}  // namespace cloud_print
-+#if defined(OS_LINUX) && !defined(USE_CUPS)
-+scoped_refptr<PrintSystem> PrintSystem::CreateInstance(
-+    const base::DictionaryValue*) {
-+  return nullptr;
-+}
-+#endif
- 
-+}  // namespace cloud_print
--- 
-2.15.1
-
diff --git a/chromium/chromium-math.h-r0.patch b/chromium/chromium-math.h-r0.patch
new file mode 100644
index 000000000..6c7c74705
--- /dev/null
+++ b/chromium/chromium-math.h-r0.patch
@@ -0,0 +1,29 @@
+From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson at chromium.org>
+Date: Sat, 27 Jan 2018 20:03:37 +0000
+Subject: [PATCH] Fix build with glibc 2.27
+
+BUG=806340
+TBR=hamelphi at chromium.org
+
+Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e
+Reviewed-on: https://chromium-review.googlesource.com/890059
+Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
+Reviewed-by: Philippe Hamel <hamelphi at chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
+Cr-Commit-Position: refs/heads/master@{#532249}
+---
+
+diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc
+index 54d4dbd..ceedd8f 100644
+--- a/components/assist_ranker/ranker_example_util.cc
++++ b/components/assist_ranker/ranker_example_util.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include <math.h>
++
+ #include "components/assist_ranker/ranker_example_util.h"
+ #include "base/bit_cast.h"
+ #include "base/format_macros.h"
diff --git a/chromium/chromium-memcpy-r0.patch b/chromium/chromium-memcpy-r0.patch
deleted file mode 100644
index dd2fd57d2..000000000
--- a/chromium/chromium-memcpy-r0.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001
-From: Tomas Popela <tomas.popela at gmail.com>
-Date: Thu, 7 Dec 2017 22:33:34 +0000
-Subject: [PATCH] memcpy used without including string.h
-
-Compiling Chromium with Clang 4.0.1 and using libstdc++ will fail on using
-memcpy without including string.h.
-
-Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
-Change-Id: Idced1d5de3baf6b520d4a2d61774120642ead1a8
-Reviewed-on: https://chromium-review.googlesource.com/813737
-Reviewed-by: Thomas Anderson <thomasanderson at chromium.org>
-Reviewed-by: vmpstr <vmpstr at chromium.org>
-Commit-Queue: Thomas Anderson <thomasanderson at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#522579}
----
- cc/paint/raw_memory_transfer_cache_entry.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc
-index 9e4660c685ee..95ad50b1a338 100644
---- a/cc/paint/raw_memory_transfer_cache_entry.cc
-+++ b/cc/paint/raw_memory_transfer_cache_entry.cc
-@@ -4,6 +4,8 @@
- 
- #include "cc/paint/raw_memory_transfer_cache_entry.h"
- 
-+#include <string.h>
-+
- namespace cc {
- 
- ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry(
--- 
-2.15.1
-
diff --git a/chromium/chromium-omnibox-unescape-fragment.patch b/chromium/chromium-omnibox-unescape-fragment.patch
deleted file mode 100644
index 59ab04003..000000000
--- a/chromium/chromium-omnibox-unescape-fragment.patch
+++ /dev/null
@@ -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()];
- }
- 
diff --git a/chromium/chromium-stdint.patch b/chromium/chromium-stdint.patch
new file mode 100644
index 000000000..877443954
--- /dev/null
+++ b/chromium/chromium-stdint.patch
@@ -0,0 +1,21 @@
+From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001
+From: Tomas Popela <tomas.popela at gmail.com>
+Date: Wed, 31 Jan 2018 18:57:07 +0000
+Subject: [PATCH] Add missing stdint include
+
+diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc
+index c2ca777ce90c..53cb3aab1576 100644
+--- a/chrome/browser/vr/sample_queue.cc
++++ b/chrome/browser/vr/sample_queue.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+ 
++#include <stdint.h>
++
+ #include "chrome/browser/vr/sample_queue.h"
+ 
+ namespace vr {
+-- 
+2.16.2
+
diff --git a/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch b/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch
deleted file mode 100644
index 0e0765a27..000000000
--- a/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From e58fa0ba66272c5f28828b15d06c7e42a9882b3b Mon Sep 17 00:00:00 2001
-From: Jungshik Shin <jshin at chromium.org>
-Date: Sat, 16 Dec 2017 04:19:27 +0000
-Subject: [PATCH] Use fromUTF8() for UnicodeString construction from UTF-8
-
-Chrome's copy of ICU is built with U_CHARSET_IS_UTF8=1 so that |char *|
-buffer is treated as UTF-8 when constructing UnicodeString() regardless
-of the default encoding of the current locale on Linux or non-Unicode code
-page on Windows.
-
-However, some Linux distros do not set U_CHARSET_IS_UTF=1 when building
-ICU and Chromium build with system_icu crashes when Chromium is run in
-non-UTF-8 locale (e.g. 'C').
-
-To make Chromium work in a non-UTF-8 locale (which is pretty rare these
-days), use 'icu::UnicodeString::fromUTF8(StringPiece)' instead of
-'icu::UnicodeString(const char*)'.
-
-Bug: 772655
-Test: components_unittests --gtest_filter=*IDN*
-Test: Chromium built with system_icu does not crash in C locale.
-Change-Id: I0daa284ec06b8e83814fc70eb8e9e5c96444ebfa
-Reviewed-on: https://chromium-review.googlesource.com/831247
-Reviewed-by: Peter Kasting <pkasting at chromium.org>
-Commit-Queue: Jungshik Shin <jshin at chromium.org>
-Cr-Commit-Position: refs/heads/master@{#524586}
----
- components/url_formatter/idn_spoof_checker.cc | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/components/url_formatter/idn_spoof_checker.cc b/components/url_formatter/idn_spoof_checker.cc
-index a88c5e8f8331..aee748d8a4d5 100644
---- a/components/url_formatter/idn_spoof_checker.cc
-+++ b/components/url_formatter/idn_spoof_checker.cc
-@@ -110,8 +110,8 @@ IDNSpoofChecker::IDNSpoofChecker() {
- 
-   // These Cyrillic letters look like Latin. A domain label entirely made of
-   // these letters is blocked as a simplified whole-script-spoofable.
--  cyrillic_letters_latin_alike_ =
--      icu::UnicodeSet(icu::UnicodeString("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status);
-+  cyrillic_letters_latin_alike_ = icu::UnicodeSet(
-+      icu::UnicodeString::fromUTF8("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status);
-   cyrillic_letters_latin_alike_.freeze();
- 
-   cyrillic_letters_ =
-@@ -141,8 +141,8 @@ IDNSpoofChecker::IDNSpoofChecker() {
-   UParseError parse_error;
-   diacritic_remover_.reset(icu::Transliterator::createFromRules(
-       UNICODE_STRING_SIMPLE("DropAcc"),
--      icu::UnicodeString("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;"
--                         " ł > l; ø > o; đ > d;"),
-+      icu::UnicodeString::fromUTF8("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;"
-+                                   " ł > l; ø > o; đ > d;"),
-       UTRANS_FORWARD, parse_error, status));
- 
-   // Supplement the Unicode confusable list by the following mapping.
-@@ -158,7 +158,7 @@ IDNSpoofChecker::IDNSpoofChecker() {
-   //   - U+0D1F (à´Ÿ) => s
-   extra_confusable_mapper_.reset(icu::Transliterator::createFromRules(
-       UNICODE_STRING_SIMPLE("ExtraConf"),
--      icu::UnicodeString(
-+      icu::UnicodeString::fromUTF8(
-           "ӏ > l; [кĸκ] > k; п > n; [ƅь] > b; в > b; м > m; н > h; "
-           "т > t; [шщ] > w; ട > s;"),
-       UTRANS_FORWARD, parse_error, status));
--- 
-2.15.1
-


More information about the CRUX mailing list