1
0
forked from ports/opt

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

This commit is contained in:
Danny Rawlins 2018-03-29 21:38:15 +11:00
parent ac273ba8e0
commit 8a4c00d2c1
11 changed files with 124 additions and 751 deletions

View File

@ -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/

View File

@ -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

View File

@ -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

View File

@ -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'
'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=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'
'fatal_linker_warnings=false'
'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"'
'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

View File

@ -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@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@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@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; }

View File

@ -1,45 +0,0 @@
From 3cf91d8d674a496d533aa106723a632b68ab26ba Mon Sep 17 00:00:00 2001
From: Tom Anderson <thomasanderson@chromium.org>
Date: Tue, 12 Dec 2017 23:31:56 +0000
Subject: [PATCH] Fix use_cups=false build
BUG=793801
R=thestig@chromium.org
Change-Id: I60ee6ec48d2686d0b42ca25311a9b76009ce9768
Reviewed-on: https://chromium-review.googlesource.com/823245
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@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

View File

@ -0,0 +1,29 @@
From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001
From: Tom Anderson <thomasanderson@chromium.org>
Date: Sat, 27 Jan 2018 20:03:37 +0000
Subject: [PATCH] Fix build with glibc 2.27
BUG=806340
TBR=hamelphi@chromium.org
Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e
Reviewed-on: https://chromium-review.googlesource.com/890059
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Philippe Hamel <hamelphi@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@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"

View File

@ -1,35 +0,0 @@
From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001
From: Tomas Popela <tomas.popela@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@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@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

View File

@ -1,437 +0,0 @@
commit 03f9a90d8a783f9d1a94935ac298338a1e694380
Author: Eric Lawrence <elawrence@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@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@chromium.org>
Reviewed-by: Peter Kasting <pkasting@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Commit-Queue: Eric Lawrence <elawrence@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()];
}

View File

@ -0,0 +1,21 @@
From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001
From: Tomas Popela <tomas.popela@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

View File

@ -1,68 +0,0 @@
From e58fa0ba66272c5f28828b15d06c7e42a9882b3b Mon Sep 17 00:00:00 2001
From: Jungshik Shin <jshin@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@chromium.org>
Commit-Queue: Jungshik Shin <jshin@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