diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/BUILD.gn qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/BUILD.gn --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/BUILD.gn 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/BUILD.gn 2017-12-26 00:08:24.179696335 +0100 @@ -1134,6 +1134,10 @@ ":debugging_flags", ] + if (!is_win) { + public_deps += [ "//third_party/icu:icuuc" ] + } + # Needed for if using newer C++ library than sysroot, except if # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc 2017-12-25 23:52:46.376221561 +0100 @@ -44,7 +44,7 @@ bidi_ = ubidi_openSized(static_cast(text.length()), 0, &error); if (U_FAILURE(error)) return false; - ubidi_setPara(bidi_, text.data(), static_cast(text.length()), + ubidi_setPara(bidi_, reinterpret_cast(text.data()), static_cast(text.length()), GetParagraphLevelForDirection(direction), NULL, &error); return (U_SUCCESS(error) == TRUE); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/break_iterator.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/break_iterator.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/break_iterator.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/break_iterator.cc 2017-12-25 23:52:46.376221561 +0100 @@ -59,9 +59,9 @@ return false; } if (break_type_ == RULE_BASED) { - iter_ = ubrk_openRules(rules_.c_str(), + iter_ = ubrk_openRules(reinterpret_cast(rules_.c_str()), static_cast(rules_.length()), - string_.data(), + reinterpret_cast(string_.data()), static_cast(string_.size()), &parse_error, &status); @@ -72,7 +72,7 @@ } else { iter_ = ubrk_open(break_type, NULL, - string_.data(), + reinterpret_cast(string_.data()), static_cast(string_.size()), &status); if (U_FAILURE(status)) { @@ -128,7 +128,7 @@ bool BreakIterator::SetText(const base::char16* text, const size_t length) { UErrorCode status = U_ZERO_ERROR; ubrk_setText(static_cast(iter_), - text, length, &status); + reinterpret_cast(text), length, &status); pos_ = 0; // implicit when ubrk_setText is done prev_ = npos; if (U_FAILURE(status)) { diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/case_conversion.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/case_conversion.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/case_conversion.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/case_conversion.cc 2017-12-25 23:52:46.376221561 +0100 @@ -64,8 +64,8 @@ // terminator, but will otherwise. So we don't need to save room for that. // Don't use WriteInto, which assumes null terminators. int32_t new_length = case_mapper( - &dest[0], saturated_cast(dest.size()), - string.data(), saturated_cast(string.size()), + reinterpret_cast(&dest[0]), saturated_cast(dest.size()), + reinterpret_cast(string.data()), saturated_cast(string.size()), &error); dest.resize(new_length); } while (error == U_BUFFER_OVERFLOW_ERROR); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc 2017-12-25 23:52:46.376221561 +0100 @@ -151,7 +151,7 @@ if (!U_SUCCESS(status)) return false; - return ConvertFromUTF16(converter, utf16.c_str(), + return ConvertFromUTF16(converter, reinterpret_cast(utf16.c_str()), static_cast(utf16.length()), on_error, encoded); } @@ -178,7 +178,7 @@ SetUpErrorHandlerForToUChars(on_error, converter, &status); std::unique_ptr buffer(new char16[uchar_max_length]); - int actual_size = ucnv_toUChars(converter, buffer.get(), + int actual_size = ucnv_toUChars(converter, reinterpret_cast(buffer.get()), static_cast(uchar_max_length), encoded.data(), static_cast(encoded.length()), &status); ucnv_close(converter); @@ -205,8 +205,8 @@ string16 normalized_utf16; std::unique_ptr buffer(new char16[max_length]); int actual_length = unorm_normalize( - utf16.c_str(), utf16.length(), UNORM_NFC, 0, - buffer.get(), static_cast(max_length), &status); + reinterpret_cast(utf16.c_str()), utf16.length(), UNORM_NFC, 0, + reinterpret_cast(buffer.get()), static_cast(max_length), &status); if (!U_SUCCESS(status)) return false; normalized_utf16.assign(buffer.get(), actual_length); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/rtl.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/rtl.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/rtl.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/rtl.cc 2017-12-25 23:54:24.681803775 +0100 @@ -212,7 +212,7 @@ } TextDirection GetFirstStrongCharacterDirection(const string16& text) { - const UChar* string = text.c_str(); + const UChar* string = reinterpret_cast(text.c_str()); size_t length = text.length(); size_t position = 0; while (position < length) { @@ -228,7 +228,7 @@ } TextDirection GetLastStrongCharacterDirection(const string16& text) { - const UChar* string = text.c_str(); + const UChar* string = reinterpret_cast(text.c_str()); size_t position = text.length(); while (position > 0) { UChar32 character; @@ -243,7 +243,7 @@ } TextDirection GetStringDirection(const string16& text) { - const UChar* string = text.c_str(); + const UChar* string = reinterpret_cast(text.c_str()); size_t length = text.length(); size_t position = 0; @@ -374,7 +374,7 @@ #endif // !OS_WIN bool StringContainsStrongRTLChars(const string16& text) { - const UChar* string = text.c_str(); + const UChar* string = reinterpret_cast(text.c_str()); size_t length = text.length(); size_t position = 0; while (position < length) { diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/string_search.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/string_search.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/string_search.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/string_search.cc 2017-12-25 23:54:45.809499066 +0100 @@ -20,8 +20,8 @@ const string16& dummy = find_this_; UErrorCode status = U_ZERO_ERROR; - search_ = usearch_open(find_this_.data(), find_this_.size(), - dummy.data(), dummy.size(), + search_ = usearch_open(reinterpret_cast(find_this_.data()), find_this_.size(), + reinterpret_cast(dummy.data()), dummy.size(), uloc_getDefault(), NULL, // breakiter &status); @@ -41,7 +41,7 @@ bool FixedPatternStringSearchIgnoringCaseAndAccents::Search( const string16& in_this, size_t* match_index, size_t* match_length) { UErrorCode status = U_ZERO_ERROR; - usearch_setText(search_, in_this.data(), in_this.size(), &status); + usearch_setText(search_, reinterpret_cast(in_this.data()), in_this.size(), &status); // Default to basic substring search if usearch fails. According to // http://icu-project.org/apiref/icu4c/usearch_8h.html, usearch_open will fail diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/unicodestring.h qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/unicodestring.h --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/i18n/unicodestring.h 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/base/i18n/unicodestring.h 2017-12-26 01:22:00.605067404 +0100 @@ -9,16 +9,12 @@ #include "third_party/icu/source/common/unicode/unistr.h" #include "third_party/icu/source/common/unicode/uvernum.h" -#if U_ICU_VERSION_MAJOR_NUM >= 59 -#include "third_party/icu/source/common/unicode/char16ptr.h" -#endif - namespace base { namespace i18n { inline string16 UnicodeStringToString16(const icu::UnicodeString& unistr) { #if U_ICU_VERSION_MAJOR_NUM >= 59 - return base::string16(icu::toUCharPtr(unistr.getBuffer()), + return base::string16(reinterpret_cast(unistr.getBuffer()), static_cast(unistr.length())); #else return base::string16(unistr.getBuffer(), diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/components/url_formatter/idn_spoof_checker.cc 2017-12-26 00:16:45.791461970 +0100 @@ -155,14 +155,14 @@ bool is_tld_ascii) { UErrorCode status = U_ZERO_ERROR; int32_t result = - uspoof_check(checker_, label.data(), + uspoof_check(checker_, (const UChar*)label.data(), base::checked_cast(label.size()), NULL, &status); // If uspoof_check fails (due to library failure), or if any of the checks // fail, treat the IDN as unsafe. if (U_FAILURE(status) || (result & USPOOF_ALL_CHECKS)) return false; - icu::UnicodeString label_string(FALSE, label.data(), + icu::UnicodeString label_string(FALSE, (const UChar*)label.data(), base::checked_cast(label.size())); // A punycode label with 'xn--' prefix is not subject to the URL diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/url_formatter.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/components/url_formatter/url_formatter.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/components/url_formatter/url_formatter.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/components/url_formatter/url_formatter.cc 2017-12-25 23:58:01.767672910 +0100 @@ -374,7 +374,7 @@ // code units, |status| will be U_BUFFER_OVERFLOW_ERROR and we'll try // the conversion again, but with a sufficiently large buffer. output_length = uidna_labelToUnicode( - uidna, comp, static_cast(comp_len), &(*out)[original_length], + uidna, (const UChar*)comp, static_cast(comp_len), (UChar*)&(*out)[original_length], output_length, &info, &status); } while ((status == U_BUFFER_OVERFLOW_ERROR && info.errors == 0)); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/content/child/browser_font_resource_trusted.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/content/child/browser_font_resource_trusted.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/content/child/browser_font_resource_trusted.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/content/child/browser_font_resource_trusted.cc 2017-12-25 23:58:54.555911585 +0100 @@ -77,7 +77,7 @@ } else { bidi_ = ubidi_open(); UErrorCode uerror = U_ZERO_ERROR; - ubidi_setPara(bidi_, text_.data(), text_.size(), run.rtl, NULL, &uerror); + ubidi_setPara(bidi_, reinterpret_cast(text_.data()), text_.size(), run.rtl, NULL, &uerror); if (U_SUCCESS(uerror)) num_runs_ = ubidi_countRuns(bidi_, &uerror); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/net/third_party/mozilla_security_manager/nsPKCS12Blob.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/net/third_party/mozilla_security_manager/nsPKCS12Blob.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/net/third_party/mozilla_security_manager/nsPKCS12Blob.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/net/third_party/mozilla_security_manager/nsPKCS12Blob.cpp 2017-12-26 00:00:40.801379288 +0100 @@ -58,7 +58,7 @@ // For the NSS PKCS#12 library, must convert PRUnichars (shorts) to // a buffer of octets. Must handle byte order correctly. // TODO: Is there a Mozilla way to do this? In the string lib? -void unicodeToItem(const PRUnichar *uni, SECItem *item) +void unicodeToItem(const base::char16 *uni, SECItem *item) { int len = 0; while (uni[len++] != 0); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ppapi/proxy/pdf_resource.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ppapi/proxy/pdf_resource.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ppapi/proxy/pdf_resource.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ppapi/proxy/pdf_resource.cc 2017-12-26 00:00:40.801379288 +0100 @@ -58,10 +58,10 @@ PP_PrivateFindResult** results, int* count) { if (locale_.empty()) locale_ = GetLocale(); - const base::char16* string = - reinterpret_cast(input_string); - const base::char16* term = - reinterpret_cast(input_term); + const UChar* string = + reinterpret_cast(input_string); + const UChar* term = + reinterpret_cast(input_term); UErrorCode status = U_ZERO_ERROR; UStringSearch* searcher = usearch_open(term, -1, string, -1, locale_.c_str(), diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sample/chromium/subsetter_impl.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sample/chromium/subsetter_impl.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sample/chromium/subsetter_impl.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sample/chromium/subsetter_impl.cc 2017-12-26 00:02:54.958444442 +0100 @@ -27,6 +27,7 @@ #include #include +#include "base/i18n/unicodestring.h" #include "sfntly/table/bitmap/eblc_table.h" #include "sfntly/table/bitmap/ebdt_table.h" #include "sfntly/table/bitmap/index_sub_table.h" diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/FilePathConversion.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/FilePathConversion.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/FilePathConversion.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/FilePathConversion.cpp 2017-12-26 00:21:22.768467342 +0100 @@ -19,7 +19,7 @@ String str = web_string; if (!str.Is8Bit()) { return base::FilePath::FromUTF16Unsafe( - base::StringPiece16(str.Characters16(), str.length())); + base::StringPiece16((const base::char16*)str.Characters16(), str.length())); } #if defined(OS_POSIX) diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/URLConversion.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/URLConversion.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/URLConversion.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/URLConversion.cpp 2017-12-26 00:21:37.908248992 +0100 @@ -23,7 +23,7 @@ } // GURL can consume UTF-16 directly. - return GURL(base::StringPiece16(str.Characters16(), str.length())); + return GURL(base::StringPiece16((const base::char16*)str.Characters16(), str.length())); } } // namespace blink diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/WebString.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/WebString.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/WebString.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/exported/WebString.cpp 2017-12-26 00:22:14.401722675 +0100 @@ -59,7 +59,7 @@ } void WebString::Assign(const WebUChar* data, size_t length) { - Assign(StringImpl::Create8BitIfPossible(data, length).Get()); + Assign(StringImpl::Create8BitIfPossible((const UChar*)data, length).Get()); } size_t WebString::length() const { @@ -75,7 +75,7 @@ } const WebUChar* WebString::Data16() const { - return !private_.IsNull() && !Is8Bit() ? private_->Characters16() : 0; + return !private_.IsNull() && !Is8Bit() ? (const WebUChar*)private_->Characters16() : 0; } std::string WebString::Utf8(UTF8ConversionMode mode) const { diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/LinkHash.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/LinkHash.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/LinkHash.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/LinkHash.cpp 2017-12-26 00:20:18.452394923 +0100 @@ -51,7 +51,7 @@ relative_utf8.length(), 0, buffer, &parsed); } return url::ResolveRelative(base_utf8.Data(), base_utf8.length(), - base.GetParsed(), relative.Characters16(), + base.GetParsed(), (const base::char16*)relative.Characters16(), relative.length(), 0, buffer, &parsed); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/KURL.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/KURL.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/KURL.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/KURL.cpp 2017-12-26 00:25:55.112547976 +0100 @@ -104,7 +104,7 @@ int input_length, url::CanonOutput* output) override { CString encoded = encoding_->Encode( - String(input, input_length), WTF::kURLEncodedEntitiesForUnencodables); + String((const UChar*)input, input_length), WTF::kURLEncodedEntitiesForUnencodables); output->Append(encoded.data(), static_cast(encoded.length())); } @@ -341,7 +341,7 @@ if (string_.Is8Bit()) url::ExtractFileName(AsURLChar8Subtle(string_), path, &file); else - url::ExtractFileName(string_.Characters16(), path, &file); + url::ExtractFileName((const base::char16*)string_.Characters16(), path, &file); // Bug: https://bugs.webkit.org/show_bug.cgi?id=21015 this function returns // a null string when the path is empty, which we duplicate here. @@ -371,7 +371,7 @@ DCHECK(!string_.IsNull()); int port = string_.Is8Bit() ? url::ParsePort(AsURLChar8Subtle(string_), parsed_.port) - : url::ParsePort(string_.Characters16(), parsed_.port); + : url::ParsePort((const base::char16*)string_.Characters16(), parsed_.port); DCHECK_NE(port, url::PORT_UNSPECIFIED); // Checked port.len <= 0 before. if (port == url::PORT_INVALID || @@ -666,7 +666,7 @@ return false; return string_.Is8Bit() ? url::IsStandard(AsURLChar8Subtle(string_), parsed_.scheme) - : url::IsStandard(string_.Characters16(), parsed_.scheme); + : url::IsStandard((const base::char16*)string_.Characters16(), parsed_.scheme); } bool EqualIgnoringFragmentIdentifier(const KURL& a, const KURL& b) { @@ -719,7 +719,7 @@ if (string_.Is8Bit()) url::ExtractFileName(AsURLChar8Subtle(string_), parsed_.path, &filename); else - url::ExtractFileName(string_.Characters16(), parsed_.path, &filename); + url::ExtractFileName((const base::char16*)string_.Characters16(), parsed_.path, &filename); return filename.begin; } @@ -732,7 +732,7 @@ if (url.Is8Bit()) return url::FindAndCompareScheme(AsURLChar8Subtle(url), url.length(), protocol, 0); - return url::FindAndCompareScheme(url.Characters16(), url.length(), protocol, + return url::FindAndCompareScheme((const base::char16*)url.Characters16(), url.length(), protocol, 0); } @@ -765,7 +765,7 @@ charset_converter, &output, &parsed_); } else { is_valid_ = url::ResolveRelative(base_utf8.Data(), base_utf8.length(), - base.parsed_, relative.Characters16(), + base.parsed_, (const base::char16*)relative.Characters16(), clampTo(relative.length()), charset_converter, &output, &parsed_); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/SecurityOrigin.cpp qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/SecurityOrigin.cpp --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/SecurityOrigin.cpp 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/weborigin/SecurityOrigin.cpp 2017-12-26 00:27:48.865912016 +0100 @@ -638,7 +638,7 @@ url::CanonicalizeHost(utf8.Data(), url::Component(0, utf8.length()), &canon_output, &out_host); } else { - *success = url::CanonicalizeHost(host.Characters16(), + *success = url::CanonicalizeHost(reinterpret_cast(host.Characters16()), url::Component(0, host.length()), &canon_output, &out_host); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/AtomicString.h qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/AtomicString.h --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/AtomicString.h 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/AtomicString.h 2017-12-26 00:02:31.246786418 +0100 @@ -66,9 +66,10 @@ AtomicString(const LChar* chars, unsigned length); AtomicString(const UChar* chars, unsigned length); AtomicString(const UChar* chars); +#if U_ICU_VERSION_MAJOR_NUM < 59 AtomicString(const char16_t* chars) : AtomicString(reinterpret_cast(chars)) {} - +#endif template explicit AtomicString(const Vector& vector) : AtomicString(vector.data(), vector.size()) {} diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/StringView.h qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/StringView.h --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/StringView.h 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/StringView.h 2017-12-26 00:02:44.550594548 +0100 @@ -83,8 +83,10 @@ characters16_(chars), length_(length) {} StringView(const UChar* chars); +#if U_ICU_VERSION_MAJOR_NUM < 59 StringView(const char16_t* chars) : StringView(reinterpret_cast(chars)) {} +#endif #if DCHECK_IS_ON() ~StringView(); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/WTFString.h qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/WTFString.h --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/WTFString.h 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/text/WTFString.h 2017-12-26 00:33:00.427431253 +0100 @@ -36,6 +36,8 @@ #include #include +#include "third_party/icu/source/common/unicode/uvernum.h" + #ifdef __OBJC__ #include #endif @@ -82,8 +84,13 @@ // Construct a string with UTF-16 data, from a null-terminated source. String(const UChar*); +#if U_ICU_VERSION_MAJOR_NUM < 59 String(const char16_t* chars) : String(reinterpret_cast(chars)) {} +#else + String(const uint16_t* chars) + : String(reinterpret_cast(chars)) {} +#endif // Construct a string with latin1 data. String(const LChar* characters, unsigned length); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/accelerators/accelerator.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/accelerators/accelerator.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/accelerators/accelerator.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/accelerators/accelerator.cc 2017-12-26 00:02:54.958444442 +0100 @@ -225,7 +225,7 @@ key = LOWORD(::MapVirtualKeyW(key_code_, MAPVK_VK_TO_CHAR)); shortcut += key; #elif defined(USE_AURA) || defined(OS_MACOSX) - const uint16_t c = DomCodeToUsLayoutCharacter( + const base::char16 c = DomCodeToUsLayoutCharacter( UsLayoutKeyboardCodeToDomCode(key_code_), false); if (c != 0) shortcut += diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/l10n/l10n_util.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/l10n/l10n_util.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/l10n/l10n_util.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/l10n/l10n_util.cc 2017-12-26 00:02:54.959444427 +0100 @@ -581,7 +581,7 @@ int actual_size = uloc_getDisplayName( locale_code.c_str(), display_locale.c_str(), - base::WriteInto(&display_name, kBufferSize), kBufferSize - 1, &error); + (UChar*)base::WriteInto(&display_name, kBufferSize), kBufferSize - 1, &error); DCHECK(U_SUCCESS(error)); display_name.resize(actual_size); } diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/l10n/time_format.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/l10n/time_format.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/l10n/time_format.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/l10n/time_format.cc 2017-12-26 00:02:54.959444427 +0100 @@ -141,7 +141,7 @@ DCHECK_GT(capacity, 1); base::string16 result; UErrorCode error = U_ZERO_ERROR; - time_string.extract(static_cast(base::WriteInto(&result, capacity)), + time_string.extract(reinterpret_cast(base::WriteInto(&result, capacity)), capacity, error); DCHECK(U_SUCCESS(error)); return result; diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/x/selection_utils.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/x/selection_utils.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/ui/base/x/selection_utils.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/ui/base/x/selection_utils.cc 2017-12-26 00:02:54.959444427 +0100 @@ -207,8 +207,8 @@ // If the data starts with 0xFEFF, i.e., Byte Order Mark, assume it is // UTF-16, otherwise assume UTF-8. if (size >= 2 && - reinterpret_cast(data)[0] == 0xFEFF) { - markup.assign(reinterpret_cast(data) + 1, + reinterpret_cast(data)[0] == 0xFEFF) { + markup.assign(reinterpret_cast(data) + 1, (size / 2) - 1); } else { base::UTF8ToUTF16(reinterpret_cast(data), size, &markup); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/url/url_canon_icu.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/url/url_canon_icu.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/url/url_canon_icu.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/url/url_canon_icu.cc 2017-12-26 00:02:54.959444427 +0100 @@ -133,7 +133,7 @@ UErrorCode err = U_ZERO_ERROR; char* dest = &output->data()[begin_offset]; int required_capacity = ucnv_fromUChars(converter_, dest, dest_capacity, - input, input_len, &err); + (const UChar*)input, input_len, &err); if (err != U_BUFFER_OVERFLOW_ERROR) { output->set_length(begin_offset + required_capacity); return; @@ -170,7 +170,7 @@ while (true) { UErrorCode err = U_ZERO_ERROR; UIDNAInfo info = UIDNA_INFO_INITIALIZER; - int output_length = uidna_nameToASCII(uidna, src, src_len, output->data(), + int output_length = uidna_nameToASCII(uidna, (const UChar*)src, src_len, (UChar*)output->data(), output->capacity(), &info, &err); if (U_SUCCESS(err) && info.errors == 0) { output->set_length(output_length); diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/runtime/runtime-intl.cc qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/v8/src/runtime/runtime-intl.cc --- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/v8/src/runtime/runtime-intl.cc 2017-11-28 14:06:53.000000000 +0100 +++ qtwebengine-everywhere-src-5.10.0-icu59/src/3rdparty/chromium/v8/src/runtime/runtime-intl.cc 2017-12-26 00:38:34.568625756 +0100 @@ -43,6 +43,7 @@ #include "unicode/ucurr.h" #include "unicode/uloc.h" #include "unicode/unistr.h" +#include "unicode/ustring.h" #include "unicode/unum.h" #include "unicode/uvernum.h" #include "unicode/uversion.h"