epel9
Rex Dieter 6 years ago
parent 9ba4864fbb
commit 6ef5248a05

17
.gitignore vendored

@ -1,19 +1,4 @@
/qtwebengine-opensource-src-5.6.0-beta-clean.tar.xz
/qtwebengine-opensource-src-5.6.0-rc-clean.tar.xz
/qtwebengine-opensource-src-5.6.0-clean.tar.xz
/qtwebengine-opensource-src-5.6.1-clean.tar.xz
/qtwebengine-opensource-src-5.6.2-clean.tar.xz
/qtwebengine-opensource-src-5.6.3-ee719ad313e564d4e6f06d74b313ae179169466f-clean.tar.xz
/qtwebengine-opensource-src-5.7.0-clean.tar.xz
/qtwebengine-opensource-src-5.7.1-clean.tar.xz
/qtwebengine-opensource-src-5.8.0-clean.tar.xz
/qtwebengine-opensource-src-5.9.0-clean.tar.xz
/qtwebengine-opensource-src-5.9.1-clean.tar.xz
/qtwebengine-opensource-src-5.9.2-clean.tar.xz
/qtwebengine-opensource-src-5.9.3-clean.tar.xz
/qtwebengine-everywhere-src-5.10.0-clean.tar.xz
/qtwebengine-everywhere-src-5.10.1-clean.tar.xz
/qtwebengine-everywhere-src-5.11.0-clean.tar.xz
/qtwebengine-everywhere-src-5.11.1-clean.tar.xz
/qtwebengine-everywhere-src-5.11.2-clean.tar.xz
/qtwebengine-everywhere-src-5.11.3-clean.tar.xz
/qtwebengine-everywhere-src-5.12.1-clean.tar.xz

@ -140,6 +140,7 @@ header_files=" libavutil/x86/asm.h \
libavcodec/mpegpicture.h \
libavcodec/mpegutils.h \
libavcodec/mpegvideo.h \
libavcodec/mpegvideodata.h \
libavcodec/mpegvideodsp.h \
libavcodec/mpegvideoencdsp.h \
libavcodec/old_codec_ids.h \

@ -1,17 +1,13 @@
%global qt_module qtwebengine
%global _hardened_build 1
# define to build docs, need to undef this for bootstrapping
# where qt5-qttools (qt5-doctools) builds are not yet available
# disable on Rawhide for now
%if 0%{?fedora} < 29
%global docs 1
%endif
%if 0%{?fedora} > 27
# need libvpx >= 1.7.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
%if 0%{?fedora} > 29
# need libvpx >= 1.8.0 (need commit 297dfd869609d7c3c5cd5faa3ebc7b43a394434e)
%global use_system_libvpx 1
%endif
# need libwebp >= 0.6.0
@ -19,18 +15,18 @@
# NEON support on ARM (detected at runtime) - disable this if you are hitting
# FTBFS due to e.g. GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495
%global arm_neon 1
#global arm_neon 1
# the QMake CONFIG flags to force debugging information to be produced in
# release builds, and for all parts of the code
#ifarch %{arm}
%if 1
%ifarch %{arm} aarch64
# the ARM builder runs out of memory during linking with the full setting below,
# so omit debugging information for the parts upstream deems it dispensable for
# (webcore, v8base)
%global debug_config force_debug_info
%global debug_config %{nil}
%else
%global debug_config webcore_debug v8base_debug force_debug_info
%global debug_config force_debug_info
# webcore_debug v8base_debug
%endif
#global prerelease rc
@ -50,8 +46,8 @@
Summary: Qt5 - QtWebEngine components
Name: qt5-qtwebengine
Version: 5.11.3
Release: 5%{?dist}
Version: 5.12.1
Release: 1%{?dist}
# See LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt, for details
# See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
@ -77,47 +73,16 @@ Patch0: qtwebengine-everywhere-src-5.10.0-linux-pri.patch
Patch1: qtwebengine-everywhere-src-5.11.0-no-icudtl-dat.patch
# fix extractCFlag to also look in QMAKE_CFLAGS_RELEASE, needed to detect the
# ARM flags with our %%qmake_qt5 macro, including for the next patch
Patch2: qtwebengine-opensource-src-5.9.0-fix-extractcflag.patch
Patch2: qtwebengine-opensource-src-5.12.1-fix-extractcflag.patch
# disable NEON vector instructions on ARM where the NEON code FTBFS due to
# GCC bug https://bugzilla.redhat.com/show_bug.cgi?id=1282495
Patch3: qtwebengine-opensource-src-5.9.0-no-neon.patch
# use the system NSPR prtime (based on Debian patch)
# We already depend on NSPR, so it is useless to copy these functions here.
# Debian uses this just fine, and I don't see relevant modifications either.
Patch4: qtwebengine-everywhere-src-5.10.0-system-nspr-prtime.patch
# use the system ICU UTF functions
# We already depend on ICU, so it is useless to copy these functions here.
# I checked the history of that directory, and other than the renames I am
# undoing, there were no modifications at all. Must be applied after Patch4.
Patch5: qtwebengine-everywhere-src-5.10.0-system-icu-utf.patch
# do not require SSE2 on i686
# cumulative revert of Chromium reviews 187423002, 308003004, 511773002 (parts
# relevant to QtWebEngine only), 516543004, 1152053004 and 1161853008, Chromium
# Gerrit review 570351 and V8 Gerrit review 575756, along with some custom fixes
# and improvements
# also build V8 shared and twice on i686 (once for x87, once for SSE2)
Patch6: qtwebengine-everywhere-src-5.10.1-no-sse2.patch
# fix missing ARM -mfpu setting
Patch9: qtwebengine-opensource-src-5.9.2-arm-fpu-fix.patch
# python -> python2
Patch7: qtwebengine-everywhere-src-5.12.1-python2.patch
# remove Android dependencies from openmax_dl ARM NEON detection (detect.c)
Patch10: qtwebengine-opensource-src-5.9.0-openmax-dl-neon.patch
# restore NEON runtime detection in Skia: revert upstream review 1952953004,
# restore the non-Android Linux NEON runtime detection code lost in upstream
# review 1890483002, also add VFPv4 runtime detection
Patch11: qtwebengine-everywhere-src-5.10.0-skia-neon.patch
# webrtc: enable the CPU feature detection for ARM Linux also for Chromium
Patch12: qtwebengine-opensource-src-5.9.0-webrtc-neon-detect.patch
# Force verbose output from the GN bootstrap process
Patch21: qtwebengine-everywhere-src-5.10.0-gn-bootstrap-verbose.patch
# Forward-port missing parts of build fix with system ICU >= 59 from 5.9:
# https://codereview.qt-project.org/#/c/196922/
# see QTBUG-60886 and QTBUG-65090
Patch22: qtwebengine-everywhere-src-5.10.0-icu59.patch
# Fix FTBFS with GCC 8 on i686: GCC8 has changed the alignof operator to return
# the minimal alignment required by the target ABI instead of the preferred
# alignment. This means int64_t is now 4 on i686 (instead of 8). Use __alignof__
# to get the value we expect (and chromium checks for). Patch by spot.
Patch23: qtwebengine-everywhere-src-5.10.1-gcc8-alignof.patch
Patch21: qtwebengine-everywhere-src-5.12.0-gn-bootstrap-verbose.patch
# Fix/workaround FTBFS on aarch64 with newer glibc
Patch24: qtwebengine-everywhere-src-5.11.3-aarch64-new-stat.patch
## Upstream patches:
@ -141,6 +106,9 @@ BuildRequires: ninja-build
BuildRequires: cmake
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc-c++
# gn links statically (for now)
BuildRequires: libstdc++-static
BuildRequires: git-core
BuildRequires: gperf
BuildRequires: libicu-devel
@ -157,6 +125,7 @@ BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(jsoncpp)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libudev)
%if 0%{?use_system_libwebp}
@ -165,6 +134,7 @@ BuildRequires: pkgconfig(libwebp) >= 0.6.0
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(zlib)
%if 0%{?fedora} && 0%{?fedora} < 30
@ -191,9 +161,7 @@ BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(nss)
BuildRequires: pkgconfig(lcms2)
BuildRequires: perl-interpreter
# recommended workaround from
# https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package
BuildRequires: /usr/bin/python
BuildRequires: python2-devel
%if 0%{?use_system_libvpx}
BuildRequires: pkgconfig(vpx) >= 1.7.0
%endif
@ -270,7 +238,7 @@ Provides: bundled(modp_b64)
Provides: bundled(openmax_dl) = 1.0.2
Provides: bundled(ots)
# see src/3rdparty/chromium/third_party/protobuf/CHANGES.txt for the version
Provides: bundled(protobuf) = 3.0.0-0.1.beta3
#Provides: bundled(protobuf) = 3.0.0-0.1.beta3
Provides: bundled(qcms) = 4
Provides: bundled(sfntly)
Provides: bundled(skia)
@ -329,10 +297,10 @@ Provides: bundled(fdlibm) = 5.3
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
# not arch'd for now, see if can get away with avoiding multilib'ing -- rex
Requires: %{name}-devtools = %{version}-%{release}
Requires: qt5-qtbase-devel%{?_isa}
Requires: qt5-qtdeclarative-devel%{?_isa}
# not arch'd for now, see if can get away with avoiding multilib'ing -- rex
Requires: %{name}-devtools = %{version}-%{release}
%description devel
%{summary}.
@ -377,25 +345,21 @@ BuildArch: noarch
## upstream patches
##FIXME/TODO rebase
#patch4 -p1 -b .system-nspr-prtime
#patch5 -p1 -b .system-icu-utf
#patch6 -p1 -b .no-sse2
%ifarch %{ix86}
#global sse2 1
%endif
%patch9 -p1 -b .arm-fpu-fix
%patch7 -p1 -b .python2
%patch10 -p1 -b .openmax-dl-neon
#patch11 -p1 -b .skia-neon
%patch12 -p1 -b .webrtc-neon-detect
%patch21 -p1 -b .gn-bootstrap-verbose
#patch22 -p1 -b .icu59
%patch23 -p1 -b .gcc8
## NEEDSWORK
#patch21 -p1 -b .gn-bootstrap-verbose
%patch24 -p1 -b .aarch64-new-stat
# the xkbcommon config/feature was renamed in 5.12, so need to adjust QT_CONFIG references
# when building on older Qt releases
%if "%{_qt5_version}" < "5.12.0"
sed -i -e 's|QT_CONFIG(xkbcommon)|QT_CONFIG(xkbcommon_evdev)|g' src/core/web_event_factory.cpp
%endif
# fix // in #include in content/renderer/gpu to avoid debugedit failure
sed -i -e 's!gpu//!gpu/!g' \
src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
#sed -i -e 's!gpu//!gpu/!g' \
# src/3rdparty/chromium/content/renderer/gpu/compositor_forwarding_message_filter.cc
# and another one in 2 files in WebRTC
sed -i -e 's!audio_processing//!audio_processing/!g' \
src/3rdparty/chromium/third_party/webrtc/modules/audio_processing/utility/ooura_fft.cc \
@ -424,7 +388,7 @@ sed -i -e 's/symbol_level=1/symbol_level=2/g' src/core/config/common.pri
# generate qtwebengine-3rdparty.qdoc, it is missing from the tarball
pushd src/3rdparty
python chromium/tools/licenses.py \
%{__python2} chromium/tools/licenses.py \
--file-template ../../tools/about_credits.tmpl \
--entry-template ../../tools/about_credits_entry.tmpl \
credits >../webengine/doc/src/qtwebengine-3rdparty.qdoc
@ -433,12 +397,14 @@ popd
# copy the Chromium license so it is installed with the appropriate name
cp -p src/3rdparty/chromium/LICENSE LICENSE.Chromium
%build
export STRIP=strip
export NINJAFLAGS="%{__ninja_common_opts}"
export NINJA_PATH=%{__ninja}
%{qmake_qt5} CONFIG+="%{debug_config}" \
%{qmake_qt5} \
CONFIG+="%{debug_config}" \
QMAKE_EXTRA_ARGS+="-system-webengine-icu" .
# avoid %%make_build for now, the -O flag buffers output from intermediate build steps done via ninja
@ -601,6 +567,9 @@ done
%changelog
* Wed Feb 13 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-1
- 5.12.1
* Tue Feb 05 2019 Björn Esser <besser82@fedoraproject.org> - 5.11.3-5
- rebuilt (libvpx)

@ -1,12 +0,0 @@
diff -ur qtwebengine-everywhere-src-5.10.0/src/buildtools/gn.pro qtwebengine-everywhere-src-5.10.0-gn-bootstrap-verbose/src/buildtools/gn.pro
--- qtwebengine-everywhere-src-5.10.0/src/buildtools/gn.pro 2017-11-29 09:42:29.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-gn-bootstrap-verbose/src/buildtools/gn.pro 2017-12-25 18:51:46.953799125 +0100
@@ -25,7 +25,7 @@
gn_args = $$replace(gn_args, "use_incremental_linking=true ", "")
}
- gn_configure = $$system_quote($$gn_bootstrap) --shadow --gn-gen-args=$$gn_args $$ninja_path
+ gn_configure = $$system_quote($$gn_bootstrap) --verbose --shadow --gn-gen-args=$$gn_args $$ninja_path
!system("cd $$system_quote($$system_path($$dirname(out))) && $$pythonPathForSystem() $$gn_configure") {
error("GN build error!")
}

@ -1,545 +0,0 @@
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 <atomic> 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<int>(text.length()), 0, &error);
if (U_FAILURE(error))
return false;
- ubidi_setPara(bidi_, text.data(), static_cast<int>(text.length()),
+ ubidi_setPara(bidi_, reinterpret_cast<const UChar*>(text.data()), static_cast<int>(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<const UChar*>(rules_.c_str()),
static_cast<int32_t>(rules_.length()),
- string_.data(),
+ reinterpret_cast<const UChar*>(string_.data()),
static_cast<int32_t>(string_.size()),
&parse_error,
&status);
@@ -72,7 +72,7 @@
} else {
iter_ = ubrk_open(break_type,
NULL,
- string_.data(),
+ reinterpret_cast<const UChar*>(string_.data()),
static_cast<int32_t>(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<UBreakIterator*>(iter_),
- text, length, &status);
+ reinterpret_cast<const UChar*>(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<int32_t>(dest.size()),
- string.data(), saturated_cast<int32_t>(string.size()),
+ reinterpret_cast<UChar*>(&dest[0]), saturated_cast<int32_t>(dest.size()),
+ reinterpret_cast<const UChar*>(string.data()), saturated_cast<int32_t>(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<const UChar*>(utf16.c_str()),
static_cast<int>(utf16.length()), on_error, encoded);
}
@@ -178,7 +178,7 @@
SetUpErrorHandlerForToUChars(on_error, converter, &status);
std::unique_ptr<char16[]> buffer(new char16[uchar_max_length]);
- int actual_size = ucnv_toUChars(converter, buffer.get(),
+ int actual_size = ucnv_toUChars(converter, reinterpret_cast<UChar*>(buffer.get()),
static_cast<int>(uchar_max_length), encoded.data(),
static_cast<int>(encoded.length()), &status);
ucnv_close(converter);
@@ -205,8 +205,8 @@
string16 normalized_utf16;
std::unique_ptr<char16[]> buffer(new char16[max_length]);
int actual_length = unorm_normalize(
- utf16.c_str(), utf16.length(), UNORM_NFC, 0,
- buffer.get(), static_cast<int>(max_length), &status);
+ reinterpret_cast<const UChar*>(utf16.c_str()), utf16.length(), UNORM_NFC, 0,
+ reinterpret_cast<UChar*>(buffer.get()), static_cast<int>(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<const UChar*>(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<const UChar*>(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<const UChar*>(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<const UChar*>(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<const UChar*>(find_this_.data()), find_this_.size(),
+ reinterpret_cast<const UChar*>(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<const UChar *>(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<const char16*>(unistr.getBuffer()),
static_cast<size_t>(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<int32_t>(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<int32_t>(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<int32_t>(comp_len), &(*out)[original_length],
+ uidna, (const UChar*)comp, static_cast<int32_t>(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<const UChar*>(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<const base::char16*>(input_string);
- const base::char16* term =
- reinterpret_cast<const base::char16*>(input_term);
+ const UChar* string =
+ reinterpret_cast<const UChar*>(input_string);
+ const UChar* term =
+ reinterpret_cast<const UChar*>(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 <unicode/unistr.h>
#include <unicode/uversion.h>
+#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<int>(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<int>(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<const base::char16 *>(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<const UChar*>(chars)) {}
-
+#endif
template <size_t inlineCapacity>
explicit AtomicString(const Vector<UChar, inlineCapacity>& 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<const UChar*>(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 <algorithm>
#include <iosfwd>
+#include "third_party/icu/source/common/unicode/uvernum.h"
+
#ifdef __OBJC__
#include <objc/objc.h>
#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<const UChar*>(chars)) {}
+#else
+ String(const uint16_t* chars)
+ : String(reinterpret_cast<const UChar*>(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<UChar*>(base::WriteInto(&result, capacity)),
+ time_string.extract(reinterpret_cast<UChar*>(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<const uint16_t*>(data)[0] == 0xFEFF) {
- markup.assign(reinterpret_cast<const uint16_t*>(data) + 1,
+ reinterpret_cast<const base::char16*>(data)[0] == 0xFEFF) {
+ markup.assign(reinterpret_cast<const base::char16*>(data) + 1,
(size / 2) - 1);
} else {
base::UTF8ToUTF16(reinterpret_cast<const char*>(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"

@ -1,390 +0,0 @@
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/skia/BUILD.gn qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/skia/BUILD.gn
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/skia/BUILD.gn 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/skia/BUILD.gn 2017-12-25 18:31:12.288797893 +0100
@@ -508,6 +508,24 @@
}
# Separated out so it can be compiled with different flags for SSE.
+if (current_cpu == "arm" && (arm_use_neon || arm_optionally_use_neon)) {
+ source_set("skia_opts_neon") {
+ sources = skia_opts.neon_sources
+ # Root build config sets -mfpu=$arm_fpu, which we expect to be neon
+ # when running this.
+ if (!arm_use_neon) {
+ configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
+ cflags = [ "-mfpu=neon" ]
+ }
+ visibility = [ ":skia_opts" ]
+ configs -= [ "//build/config/compiler:chromium_code" ]
+ configs += [
+ ":skia_config",
+ ":skia_library_config",
+ "//build/config/compiler:no_chromium_code",
+ ]
+ }
+}
if (current_cpu == "arm64") {
source_set("skia_opts_crc32") {
sources = skia_opts.crc32_sources
@@ -644,14 +662,7 @@
if (arm_version >= 7) {
sources = skia_opts.armv7_sources
if (arm_use_neon || arm_optionally_use_neon) {
- sources += skia_opts.neon_sources
-
- # Root build config sets -mfpu=$arm_fpu, which we expect to be neon
- # when running this.
- if (!arm_use_neon) {
- configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
- cflags += [ "-mfpu=neon" ]
- }
+ deps += [ ":skia_opts_neon" ]
}
} else {
sources = skia_opts.none_sources
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/gn/opts.gni qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/gn/opts.gni
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/gn/opts.gni 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/gn/opts.gni 2017-12-25 18:29:15.083480322 +0100
@@ -23,6 +23,7 @@
"$_src/opts/SkBitmapProcState_matrixProcs_neon.cpp",
"$_src/opts/SkBlitMask_opts_arm_neon.cpp",
"$_src/opts/SkBlitRow_opts_arm_neon.cpp",
+ "$_src/opts/SkOpts_neon.cpp",
]
arm64 = [
@@ -33,6 +34,7 @@
"$_src/opts/SkBlitMask_opts_arm_neon.cpp",
"$_src/opts/SkBlitRow_opts_arm.cpp",
"$_src/opts/SkBlitRow_opts_arm_neon.cpp",
+ "$_src/opts/SkOpts_neon.cpp",
]
crc32 = [ "$_src/opts/SkOpts_crc32.cpp" ]
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState.cpp qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState.cpp
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState.cpp 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState.cpp 2017-12-25 18:29:22.449374588 +0100
@@ -17,7 +17,7 @@
#include "SkImageEncoder.h"
#include "SkResourceCache.h"
-#if defined(SK_ARM_HAS_NEON)
+#if !SK_ARM_NEON_IS_NONE
// These are defined in src/opts/SkBitmapProcState_arm_neon.cpp
extern const SkBitmapProcState::SampleProc32 gSkBitmapProcStateSample32_neon[];
#endif
@@ -212,7 +212,7 @@
index |= 4;
}
-#if !defined(SK_ARM_HAS_NEON)
+#if !SK_ARM_NEON_IS_ALWAYS
static const SampleProc32 gSkBitmapProcStateSample32[] = {
S32_opaque_D32_nofilter_DXDY,
S32_alpha_D32_nofilter_DXDY,
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkBitmapProcState_matrixProcs.cpp 2017-12-25 18:34:09.229257992 +0100
@@ -46,16 +46,16 @@
///////////////////////////////////////////////////////////////////////////////
// Compile neon code paths if needed
-#if defined(SK_ARM_HAS_NEON)
+#if !SK_ARM_NEON_IS_NONE
// These are defined in src/opts/SkBitmapProcState_matrixProcs_neon.cpp
extern const SkBitmapProcState::MatrixProc ClampX_ClampY_Procs_neon[];
extern const SkBitmapProcState::MatrixProc RepeatX_RepeatY_Procs_neon[];
-#endif // defined(SK_ARM_HAS_NEON)
+#endif // !SK_ARM_NEON_IS_NONE
// Compile non-neon code path if needed
-#if !defined(SK_ARM_HAS_NEON)
+#if !SK_ARM_NEON_IS_ALWAYS
#define MAKENAME(suffix) ClampX_ClampY ## suffix
#define TILEX_PROCF(fx, max) SkClampMax((fx) >> 16, max)
#define TILEY_PROCF(fy, max) SkClampMax((fy) >> 16, max)
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkCpu.cpp 2017-12-25 18:37:45.974144769 +0100
@@ -74,6 +74,124 @@
return features;
}
+#elif defined(SK_CPU_ARM32) && \
+ !defined(SK_BUILD_FOR_ANDROID)
+#include <unistd.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <pthread.h>
+
+ static uint32_t read_cpu_features() {
+ uint32_t features = 0;
+
+ // If we fail any of the following, assume we don't have NEON/VFPv4 instructions
+ // This allows us to return immediately in case of error.
+ bool have_neon = false;
+ bool have_vfpv4 = false;
+
+ // There is no user-accessible CPUID instruction on ARM that we can use.
+ // Instead, we must parse /proc/cpuinfo and look for the 'neon' feature.
+ // For example, here's a typical output (Nexus S running ICS 4.0.3):
+ /*
+ Processor : ARMv7 Processor rev 2 (v7l)
+ BogoMIPS : 994.65
+ Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3
+ CPU implementer : 0x41
+ CPU architecture: 7
+ CPU variant : 0x2
+ CPU part : 0xc08
+ CPU revision : 2
+
+ Hardware : herring
+ Revision : 000b
+ Serial : 3833c77d6dc000ec
+ */
+ char buffer[4096];
+
+ do {
+ // open /proc/cpuinfo
+ int fd = TEMP_FAILURE_RETRY(open("/proc/cpuinfo", O_RDONLY));
+ if (fd < 0) {
+ SkDebugf("Could not open /proc/cpuinfo: %s\n", strerror(errno));
+ break;
+ }
+
+ // Read the file. To simplify our search, we're going to place two
+ // sentinel '\n' characters: one at the start of the buffer, and one at
+ // the end. This means we reserve the first and last buffer bytes.
+ buffer[0] = '\n';
+ int size = TEMP_FAILURE_RETRY(read(fd, buffer+1, sizeof(buffer)-2));
+ close(fd);
+
+ if (size < 0) { // should not happen
+ SkDebugf("Could not read /proc/cpuinfo: %s\n", strerror(errno));
+ break;
+ }
+
+ SkDebugf("START /proc/cpuinfo:\n%.*s\nEND /proc/cpuinfo\n",
+ size, buffer+1);
+
+ // Compute buffer limit, and place final sentinel
+ char* buffer_end = buffer + 1 + size;
+ buffer_end[0] = '\n';
+
+ // Now, find a line that starts with "Features", i.e. look for
+ // '\nFeatures ' in our buffer.
+ const char features[] = "\nFeatures\t";
+ const size_t features_len = sizeof(features)-1;
+
+ char* line = (char*) memmem(buffer, buffer_end - buffer,
+ features, features_len);
+ if (line == nullptr) { // Weird, no Features line, bad kernel?
+ SkDebugf("Could not find a line starting with 'Features'"
+ "in /proc/cpuinfo ?\n");
+ break;
+ }
+
+ line += features_len; // Skip the "\nFeatures\t" prefix
+
+ // Find the end of the current line
+ char* line_end = (char*) memchr(line, '\n', buffer_end - line);
+ if (line_end == nullptr)
+ line_end = buffer_end;
+
+ // Now find an instance of 'neon' in the flags list. We want to
+ // ensure it's only 'neon' and not something fancy like 'noneon'
+ // so check that it follows a space.
+ const char neon[] = " neon";
+ const size_t neon_len = sizeof(neon)-1;
+ const char* flag = (const char*) memmem(line, line_end - line,
+ neon, neon_len);
+ // Ensure it is followed by a space or a newline.
+ if (flag != nullptr
+ && (flag[neon_len] == ' ' || flag[neon_len] == '\n')) {
+ // Fine, we support Arm NEON !
+ have_neon = true;
+ }
+
+ // Now find an instance of 'vfpv4' in the flags list. We want to
+ // ensure it's only 'vfpv4' and not something fancy like 'novfpv4'
+ // so check that it follows a space.
+ const char vfpv4[] = " vfpv4";
+ const size_t vfpv4_len = sizeof(vfpv4)-1;
+ const char* vflag = (const char*) memmem(line, line_end - line,
+ vfpv4, vfpv4_len);
+ // Ensure it is followed by a space or a newline.
+ if (vflag != nullptr
+ && (vflag[vfpv4_len] == ' ' || vflag[vfpv4_len] == '\n')) {
+ // Fine, we support Arm VFPv4 !
+ have_vfpv4 = true;
+ }
+
+ } while (0);
+
+ if (have_neon) { features |= SkCpu::NEON ; }
+ if (have_neon && have_vfpv4) { features |= SkCpu::NEON_FMA; }
+ if (have_vfpv4) { features |= SkCpu::VFP_FP16; }
+ return features;
+ }
+
#elif defined(SK_CPU_ARM64) && __has_include(<sys/auxv.h>)
#include <sys/auxv.h>
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkOpts.cpp qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkOpts.cpp
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkOpts.cpp 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkOpts.cpp 2017-12-25 18:34:52.777632875 +0100
@@ -95,6 +95,7 @@
void Init_sse42();
void Init_avx();
void Init_crc32();
+ void Init_neon();
static void init() {
#if !defined(SK_BUILD_NO_OPTS)
@@ -104,6 +105,9 @@
if (SkCpu::Supports(SkCpu::SSE42)) { Init_sse42(); }
if (SkCpu::Supports(SkCpu::AVX )) { Init_avx(); }
+ #elif defined(SK_CPU_ARM32)
+ if (SkCpu::Supports(SkCpu::NEON)) { Init_neon(); }
+
#elif defined(SK_CPU_ARM64)
if (SkCpu::Supports(SkCpu::CRC32)) { Init_crc32(); }
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkUtilsArm.h qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkUtilsArm.h
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/core/SkUtilsArm.h 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/core/SkUtilsArm.h 2017-12-25 18:34:52.777632875 +0100
@@ -8,12 +8,75 @@
#ifndef SkUtilsArm_DEFINED
#define SkUtilsArm_DEFINED
-#include "SkTypes.h"
+#include "SkCpu.h"
+#include "SkUtils.h"
-#if defined(SK_ARM_HAS_NEON)
- #define SK_ARM_NEON_WRAP(x) (x ## _neon)
+// Define SK_ARM_NEON_MODE to one of the following values
+// corresponding respectively to:
+// - No ARM Neon support at all (not targetting ARMv7-A, or don't have NEON)
+// - Full ARM Neon support (i.e. assume the CPU always supports it)
+// - Optional ARM Neon support (i.e. probe CPU at runtime)
+//
+#define SK_ARM_NEON_MODE_NONE 0
+#define SK_ARM_NEON_MODE_ALWAYS 1
+#define SK_ARM_NEON_MODE_DYNAMIC 2
+
+#if defined(SK_ARM_HAS_OPTIONAL_NEON)
+# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_DYNAMIC
+#elif defined(SK_ARM_HAS_NEON)
+# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_ALWAYS
+#else
+# define SK_ARM_NEON_MODE SK_ARM_NEON_MODE_NONE
+#endif
+
+// Convenience test macros, always defined as 0 or 1
+#define SK_ARM_NEON_IS_NONE (SK_ARM_NEON_MODE == SK_ARM_NEON_MODE_NONE)
+#define SK_ARM_NEON_IS_ALWAYS (SK_ARM_NEON_MODE == SK_ARM_NEON_MODE_ALWAYS)
+#define SK_ARM_NEON_IS_DYNAMIC (SK_ARM_NEON_MODE == SK_ARM_NEON_MODE_DYNAMIC)
+
+// The sk_cpu_arm_has_neon() function returns true iff the target device
+// is ARMv7-A and supports Neon instructions. In DYNAMIC mode, this actually
+// probes the CPU at runtime (and caches the result).
+
+static inline bool sk_cpu_arm_has_neon(void) {
+#if SK_ARM_NEON_IS_NONE
+ return false;
#else
- #define SK_ARM_NEON_WRAP(x) (x)
+ return SkCpu::Supports(SkCpu::NEON);
+#endif
+}
+
+// Use SK_ARM_NEON_WRAP(symbol) to map 'symbol' to a NEON-specific symbol
+// when applicable. This will transform 'symbol' differently depending on
+// the current NEON configuration, i.e.:
+//
+// NONE -> 'symbol'
+// ALWAYS -> 'symbol_neon'
+// DYNAMIC -> 'symbol' or 'symbol_neon' depending on runtime check.
+//
+// The goal is to simplify user code, for example:
+//
+// return SK_ARM_NEON_WRAP(do_something)(params);
+//
+// Replaces the equivalent:
+//
+// #if SK_ARM_NEON_IS_NONE
+// return do_something(params);
+// #elif SK_ARM_NEON_IS_ALWAYS
+// return do_something_neon(params);
+// #elif SK_ARM_NEON_IS_DYNAMIC
+// if (sk_cpu_arm_has_neon())
+// return do_something_neon(params);
+// else
+// return do_something(params);
+// #endif
+//
+#if SK_ARM_NEON_IS_NONE
+# define SK_ARM_NEON_WRAP(x) (x)
+#elif SK_ARM_NEON_IS_ALWAYS
+# define SK_ARM_NEON_WRAP(x) (x ## _neon)
+#elif SK_ARM_NEON_IS_DYNAMIC
+# define SK_ARM_NEON_WRAP(x) (sk_cpu_arm_has_neon() ? x ## _neon : x)
#endif
#endif // SkUtilsArm_DEFINED
diff -Nur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_neon.cpp qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_neon.cpp
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_neon.cpp 1970-01-01 01:00:00.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-skia-neon/src/3rdparty/chromium/third_party/skia/src/opts/SkOpts_neon.cpp 2017-12-26 01:45:00.514114716 +0100
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "SkOpts.h"
+
+#define SK_OPTS_NS sk_neon
+#include "SkBlitMask_opts.h"
+#include "SkBlitRow_opts.h"
+#include "SkBlurImageFilter_opts.h"
+#include "SkMorphologyImageFilter_opts.h"
+#include "SkSwizzler_opts.h"
+#include "SkXfermode_opts.h"
+
+namespace SkOpts {
+ void Init_neon() {
+ create_xfermode = sk_neon::create_xfermode;
+
+ box_blur_xx = sk_neon::box_blur_xx;
+ box_blur_xy = sk_neon::box_blur_xy;
+ box_blur_yx = sk_neon::box_blur_yx;
+
+ dilate_x = sk_neon::dilate_x;
+ dilate_y = sk_neon::dilate_y;
+ erode_x = sk_neon::erode_x;
+ erode_y = sk_neon::erode_y;
+
+ blit_mask_d32_a8 = sk_neon::blit_mask_d32_a8;
+
+ blit_row_color32 = sk_neon::blit_row_color32;
+ blit_row_s32a_opaque = sk_neon::blit_row_s32a_opaque;
+
+ RGBA_to_BGRA = sk_neon::RGBA_to_BGRA;
+ RGBA_to_rgbA = sk_neon::RGBA_to_rgbA;
+ RGBA_to_bgrA = sk_neon::RGBA_to_bgrA;
+ RGB_to_RGB1 = sk_neon::RGB_to_RGB1;
+ RGB_to_BGR1 = sk_neon::RGB_to_BGR1;
+ gray_to_RGB1 = sk_neon::gray_to_RGB1;
+ grayA_to_RGBA = sk_neon::grayA_to_RGBA;
+ grayA_to_rgbA = sk_neon::grayA_to_rgbA;
+ inverted_CMYK_to_RGB1 = sk_neon::inverted_CMYK_to_RGB1;
+ inverted_CMYK_to_BGR1 = sk_neon::inverted_CMYK_to_BGR1;
+ }
+}

@ -1,463 +0,0 @@
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2017-12-25 12:16:23.250517752 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/BUILD.gn 2017-12-25 12:26:21.502411527 +0100
@@ -859,8 +859,6 @@
"third_party/dmg_fp/dmg_fp.h",
"third_party/dmg_fp/dtoa_wrapper.cc",
"third_party/dmg_fp/g_fmt.cc",
- "third_party/icu/icu_utf.cc",
- "third_party/icu/icu_utf.h",
"third_party/superfasthash/superfasthash.c",
"third_party/valgrind/memcheck.h",
"threading/platform_thread.h",
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/files/file_path.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/files/file_path.cc 2017-12-25 12:26:21.503411511 +0100
@@ -18,7 +18,7 @@
#if defined(OS_MACOSX)
#include "base/mac/scoped_cftyperef.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
#endif
#if defined(OS_WIN)
@@ -1163,9 +1163,9 @@
int* index) {
int codepoint = 0;
while (*index < length && codepoint == 0) {
- // CBU8_NEXT returns a value < 0 in error cases. For purposes of string
+ // U8_NEXT returns a value < 0 in error cases. For purposes of string
// comparison, we just use that value and flag it with DCHECK.
- CBU8_NEXT(string, *index, length, codepoint);
+ U8_NEXT(string, *index, length, codepoint);
DCHECK_GT(codepoint, 0);
if (codepoint > 0) {
// Check if there is a subtable for this upper byte.
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/json/json_parser.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/json/json_parser.cc 2017-12-25 12:29:56.210138445 +0100
@@ -16,7 +16,7 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
#include "base/values.h"
namespace base {
@@ -482,14 +482,14 @@
// string character and the terminating closing quote.
while (CanConsume(2)) {
int start_index = index_;
- pos_ = start_pos_ + index_; // CBU8_NEXT is postcrement.
- CBU8_NEXT(start_pos_, index_, length, next_char);
+ pos_ = start_pos_ + index_; // U8_NEXT is postcrement.
+ U8_NEXT(start_pos_, index_, length, next_char);
if (next_char < 0 || !IsValidCharacter(next_char)) {
if ((options_ & JSON_REPLACE_INVALID_CHARACTERS) == 0) {
ReportError(JSONReader::JSON_UNSUPPORTED_ENCODING, 1);
return false;
}
- CBU8_NEXT(start_pos_, start_index, length, next_char);
+ U8_NEXT(start_pos_, start_index, length, next_char);
string.Convert();
string.AppendString(kUnicodeReplacementString,
arraysize(kUnicodeReplacementString) - 1);
@@ -497,7 +497,7 @@
}
if (next_char == '"') {
- --index_; // Rewind by one because of CBU8_NEXT.
+ --index_; // Rewind by one because of U8_NEXT.
*out = std::move(string);
return true;
}
@@ -633,10 +633,10 @@
// If this is a high surrogate, consume the next code unit to get the
// low surrogate.
- if (CBU16_IS_SURROGATE(code_unit16_high)) {
+ if (U16_IS_SURROGATE(code_unit16_high)) {
// Make sure this is the high surrogate. If not, it's an encoding
// error.
- if (!CBU16_IS_SURROGATE_LEAD(code_unit16_high))
+ if (!U16_IS_SURROGATE_LEAD(code_unit16_high))
return false;
// Make sure that the token has more characters to consume the
@@ -653,20 +653,20 @@
NextNChars(3);
- if (!CBU16_IS_TRAIL(code_unit16_low)) {
+ if (!U16_IS_TRAIL(code_unit16_low)) {
return false;
}
uint32_t code_point =
- CBU16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
+ U16_GET_SUPPLEMENTARY(code_unit16_high, code_unit16_low);
if (!IsValidCharacter(code_point))
return false;
offset = 0;
- CBU8_APPEND_UNSAFE(code_unit8, offset, code_point);
+ U8_APPEND_UNSAFE(code_unit8, offset, code_point);
} else {
// Not a surrogate.
- DCHECK(CBU16_IS_SINGLE(code_unit16_high));
+ DCHECK(U16_IS_SINGLE(code_unit16_high));
if (!IsValidCharacter(code_unit16_high)) {
if ((options_ & JSON_REPLACE_INVALID_CHARACTERS) == 0) {
return false;
@@ -675,7 +675,7 @@
return true;
}
- CBU8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
+ U8_APPEND_UNSAFE(code_unit8, offset, code_unit16_high);
}
dest_string->append(code_unit8, offset);
@@ -692,9 +692,9 @@
} else {
char utf8_units[4] = { 0 };
int offset = 0;
- CBU8_APPEND_UNSAFE(utf8_units, offset, point);
+ U8_APPEND_UNSAFE(utf8_units, offset, point);
dest->Convert();
- // CBU8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
+ // U8_APPEND_UNSAFE can overwrite up to 4 bytes, so utf8_units may not be
// zero terminated at this point. |offset| contains the correct length.
dest->AppendString(utf8_units, offset);
}
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/json/string_escape.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/json/string_escape.cc 2017-12-25 12:36:34.186118210 +0100
@@ -14,7 +14,7 @@
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
namespace base {
@@ -92,7 +92,7 @@
for (int32_t i = 0; i < length; ++i) {
uint32_t code_point;
if (!ReadUnicodeCharacter(str.data(), length, &i, &code_point) ||
- code_point == static_cast<decltype(code_point)>(CBU_SENTINEL) ||
+ code_point == static_cast<decltype(code_point)>(U_SENTINEL) ||
!IsValidCharacter(code_point)) {
code_point = kReplacementCodePoint;
did_replacement = true;
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/pattern.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/pattern.cc 2017-12-25 12:26:21.545410871 +0100
@@ -4,13 +4,13 @@
#include "base/strings/pattern.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
namespace base {
namespace {
-static bool IsWildcard(base_icu::UChar32 character) {
+static bool IsWildcard(UChar32 character) {
return character == '*' || character == '?';
}
@@ -37,9 +37,9 @@
// Check if the chars match, if so, increment the ptrs.
const CHAR* pattern_next = *pattern;
const CHAR* string_next = *string;
- base_icu::UChar32 pattern_char = next(&pattern_next, pattern_end);
+ UChar32 pattern_char = next(&pattern_next, pattern_end);
if (pattern_char == next(&string_next, string_end) &&
- pattern_char != CBU_SENTINEL) {
+ pattern_char != U_SENTINEL) {
*pattern = pattern_next;
*string = string_next;
} else {
@@ -133,20 +133,20 @@
}
struct NextCharUTF8 {
- base_icu::UChar32 operator()(const char** p, const char* end) {
- base_icu::UChar32 c;
+ UChar32 operator()(const char** p, const char* end) {
+ UChar32 c;
int offset = 0;
- CBU8_NEXT(*p, offset, end - *p, c);
+ U8_NEXT(*p, offset, end - *p, c);
*p += offset;
return c;
}
};
struct NextCharUTF16 {
- base_icu::UChar32 operator()(const char16** p, const char16* end) {
- base_icu::UChar32 c;
+ UChar32 operator()(const char16** p, const char16* end) {
+ UChar32 c;
int offset = 0;
- CBU16_NEXT(*p, offset, end - *p, c);
+ U16_NEXT(*p, offset, end - *p, c);
*p += offset;
return c;
}
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_split.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_split.cc 2017-12-25 12:26:21.545410871 +0100
@@ -8,7 +8,7 @@
#include "base/logging.h"
#include "base/strings/string_util.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
namespace base {
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/string_util.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/string_util.cc 2017-12-25 12:26:21.546410856 +0100
@@ -25,7 +25,7 @@
#include "base/memory/singleton.h"
#include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
#include "build/build_config.h"
namespace base {
@@ -372,19 +372,19 @@
}
DCHECK_LE(byte_size,
static_cast<uint32_t>(std::numeric_limits<int32_t>::max()));
- // Note: This cast is necessary because CBU8_NEXT uses int32_ts.
+ // Note: This cast is necessary because U8_NEXT uses int32_ts.
int32_t truncation_length = static_cast<int32_t>(byte_size);
int32_t char_index = truncation_length - 1;
const char* data = input.data();
- // Using CBU8, we will move backwards from the truncation point
+ // Using U8, we will move backwards from the truncation point
// to the beginning of the string looking for a valid UTF8
// character. Once a full UTF8 character is found, we will
// truncate the string to the end of that character.
while (char_index >= 0) {
int32_t prev = char_index;
- base_icu::UChar32 code_point = 0;
- CBU8_NEXT(data, char_index, truncation_length, code_point);
+ UChar32 code_point = 0;
+ U8_NEXT(data, char_index, truncation_length, code_point);
if (!IsValidCharacter(code_point) ||
!IsValidCodepoint(code_point)) {
char_index = prev - 1;
@@ -537,7 +537,7 @@
while (char_index < src_len) {
int32_t code_point;
- CBU8_NEXT(src, char_index, src_len, code_point);
+ U8_NEXT(src, char_index, src_len, code_point);
if (!IsValidCharacter(code_point))
return false;
}
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/base/strings/utf_string_conversion_utils.cc 2017-12-25 12:26:21.546410856 +0100
@@ -4,7 +4,7 @@
#include "base/strings/utf_string_conversion_utils.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
namespace base {
@@ -18,7 +18,7 @@
// use a signed type for code_point. But this function returns false
// on error anyway, so code_point_out is unsigned.
int32_t code_point;
- CBU8_NEXT(src, *char_index, src_len, code_point);
+ U8_NEXT(src, *char_index, src_len, code_point);
*code_point_out = static_cast<uint32_t>(code_point);
// The ICU macro above moves to the next char, we want to point to the last
@@ -33,16 +33,16 @@
int32_t src_len,
int32_t* char_index,
uint32_t* code_point) {
- if (CBU16_IS_SURROGATE(src[*char_index])) {
- if (!CBU16_IS_SURROGATE_LEAD(src[*char_index]) ||
+ if (U16_IS_SURROGATE(src[*char_index])) {
+ if (!U16_IS_SURROGATE_LEAD(src[*char_index]) ||
*char_index + 1 >= src_len ||
- !CBU16_IS_TRAIL(src[*char_index + 1])) {
+ !U16_IS_TRAIL(src[*char_index + 1])) {
// Invalid surrogate pair.
return false;
}
// Valid surrogate pair.
- *code_point = CBU16_GET_SUPPLEMENTARY(src[*char_index],
+ *code_point = U16_GET_SUPPLEMENTARY(src[*char_index],
src[*char_index + 1]);
(*char_index)++;
} else {
@@ -76,30 +76,30 @@
}
- // CBU8_APPEND_UNSAFE can append up to 4 bytes.
+ // U8_APPEND_UNSAFE can append up to 4 bytes.
size_t char_offset = output->length();
size_t original_char_offset = char_offset;
- output->resize(char_offset + CBU8_MAX_LENGTH);
+ output->resize(char_offset + U8_MAX_LENGTH);
- CBU8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+ U8_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
- // CBU8_APPEND_UNSAFE will advance our pointer past the inserted character, so
+ // U8_APPEND_UNSAFE will advance our pointer past the inserted character, so
// it will represent the new length of the string.
output->resize(char_offset);
return char_offset - original_char_offset;
}
size_t WriteUnicodeCharacter(uint32_t code_point, string16* output) {
- if (CBU16_LENGTH(code_point) == 1) {
+ if (U16_LENGTH(code_point) == 1) {
// Thie code point is in the Basic Multilingual Plane (BMP).
output->push_back(static_cast<char16>(code_point));
return 1;
}
// Non-BMP characters use a double-character encoding.
size_t char_offset = output->length();
- output->resize(char_offset + CBU16_MAX_LENGTH);
- CBU16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
- return CBU16_MAX_LENGTH;
+ output->resize(char_offset + U16_MAX_LENGTH);
+ U16_APPEND_UNSAFE(&(*output)[0], char_offset, code_point);
+ return U16_MAX_LENGTH;
}
// Generalized Unicode converter -----------------------------------------------
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/content/browser/devtools/devtools_io_context.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/content/browser/devtools/devtools_io_context.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/content/browser/devtools/devtools_io_context.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/content/browser/devtools/devtools_io_context.cc 2017-12-25 12:37:08.791629561 +0100
@@ -10,7 +10,7 @@
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/task_scheduler/post_task.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
#include "base/threading/thread_restrictions.h"
#include "content/public/browser/browser_thread.h"
@@ -92,7 +92,7 @@
} else {
// Provided client has requested sufficient large block, make their
// life easier by not truncating in the middle of a UTF-8 character.
- if (size_got > 6 && !CBU8_IS_SINGLE(buffer[size_got - 1])) {
+ if (size_got > 6 && !U8_IS_SINGLE(buffer[size_got - 1])) {
base::TruncateUTF8ToByteSize(buffer, size_got, &buffer);
size_got = buffer.size();
} else {
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/net/cert/internal/parse_name.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/net/cert/internal/parse_name.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/net/cert/internal/parse_name.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/net/cert/internal/parse_name.cc 2017-12-25 12:34:58.610528544 +0100
@@ -9,7 +9,7 @@
#include "base/strings/utf_string_conversion_utils.h"
#include "base/strings/utf_string_conversions.h"
#include "base/sys_byteorder.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
#if !defined(OS_NACL)
#include "net/base/net_string_util.h"
@@ -38,7 +38,7 @@
// BMPString only supports codepoints in the Basic Multilingual Plane;
// surrogates are not allowed.
- if (CBU_IS_SURROGATE(c))
+ if (U_IS_SURROGATE(c))
return false;
}
return base::UTF16ToUTF8(in_16bit.data(), in_16bit.size(), out);
@@ -58,7 +58,7 @@
for (const uint32_t c : in_32bit) {
// UniversalString is UCS-4 in big-endian order.
uint32_t codepoint = base::NetToHost32(c);
- if (!CBU_IS_UNICODE_CHAR(codepoint))
+ if (!U_IS_UNICODE_CHAR(codepoint))
return false;
base::WriteUnicodeCharacter(codepoint, out);
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-12-25 12:20:43.585562853 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-12-25 12:41:57.071558915 +0100
@@ -526,7 +526,6 @@
'base/task_scheduler/task_traits.cc',
'base/third_party/dmg_fp/dtoa_wrapper.cc',
'base/third_party/dmg_fp/g_fmt.cc',
- 'base/third_party/icu/icu_utf.cc',
'base/threading/post_task_and_reply_impl.cc',
'base/threading/sequence_local_storage_map.cc',
'base/threading/sequenced_task_runner_handle.cc',
@@ -679,7 +678,7 @@
'base/allocator/allocator_shim.cc',
'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
])
- libs.extend(['-lrt', '-lnspr4'])
+ libs.extend(['-lrt', '-lnspr4', '-licuuc'])
static_libraries['libevent']['include_dirs'].extend([
os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux')
])
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/tools/gn/BUILD.gn
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-12-25 12:16:48.744131902 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-12-25 12:26:21.547410841 +0100
@@ -278,6 +278,7 @@
libs = [
"nspr4",
+ "icuuc",
]
}
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/ui/base/ime/input_method_chromeos.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/ui/base/ime/input_method_chromeos.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/ui/base/ime/input_method_chromeos.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/ui/base/ime/input_method_chromeos.cc 2017-12-25 12:40:50.356500963 +0100
@@ -17,7 +17,6 @@
#include "base/logging.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
-#include "base/third_party/icu/icu_utf.h"
#include "chromeos/system/devicemode.h"
#include "ui/base/ime/chromeos/ime_keyboard.h"
#include "ui/base/ime/chromeos/input_method_manager.h"
diff -ur qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc
--- qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-icu-utf/src/3rdparty/chromium/ui/gfx/utf16_indexing.cc 2017-12-25 12:26:21.547410841 +0100
@@ -5,13 +5,13 @@
#include "ui/gfx/utf16_indexing.h"
#include "base/logging.h"
-#include "base/third_party/icu/icu_utf.h"
+#include <unicode/utf.h>
namespace gfx {
bool IsValidCodePointIndex(const base::string16& s, size_t index) {
return index == 0 || index == s.length() ||
- !(CBU16_IS_TRAIL(s[index]) && CBU16_IS_LEAD(s[index - 1]));
+ !(U16_IS_TRAIL(s[index]) && U16_IS_LEAD(s[index - 1]));
}
ptrdiff_t UTF16IndexToOffset(const base::string16& s, size_t base, size_t pos) {

@ -1,80 +0,0 @@
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/BUILD.gn qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/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-system-nspr-prtime/src/3rdparty/chromium/base/BUILD.gn 2017-12-25 12:16:23.250517752 +0100
@@ -53,6 +53,9 @@
"-Wno-char-subscripts",
]
}
+ ldflags = [
+ "-lnspr4",
+ ]
}
config("base_implementation") {
@@ -858,8 +861,6 @@
"third_party/dmg_fp/g_fmt.cc",
"third_party/icu/icu_utf.cc",
"third_party/icu/icu_utf.h",
- "third_party/nspr/prtime.cc",
- "third_party/nspr/prtime.h",
"third_party/superfasthash/superfasthash.c",
"third_party/valgrind/memcheck.h",
"threading/platform_thread.h",
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/time/pr_time_unittest.cc qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/time/pr_time_unittest.cc 2017-12-25 12:16:23.250517752 +0100
@@ -7,7 +7,7 @@
#include "base/compiler_specific.h"
#include "base/macros.h"
-#include "base/third_party/nspr/prtime.h"
+#include <nspr4/prtime.h>
#include "base/time/time.h"
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/time/time.cc qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/base/time/time.cc 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/base/time/time.cc 2017-12-25 12:16:48.710132416 +0100
@@ -14,7 +14,7 @@
#include "base/logging.h"
#include "base/macros.h"
#include "base/strings/stringprintf.h"
-#include "base/third_party/nspr/prtime.h"
+#include <nspr4/prtime.h>
#include "build/build_config.h"
namespace base {
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/bootstrap/bootstrap.py 2017-12-25 12:20:43.585562853 +0100
@@ -527,7 +527,6 @@
'base/third_party/dmg_fp/dtoa_wrapper.cc',
'base/third_party/dmg_fp/g_fmt.cc',
'base/third_party/icu/icu_utf.cc',
- 'base/third_party/nspr/prtime.cc',
'base/threading/post_task_and_reply_impl.cc',
'base/threading/sequence_local_storage_map.cc',
'base/threading/sequenced_task_runner_handle.cc',
@@ -680,7 +679,7 @@
'base/allocator/allocator_shim.cc',
'base/allocator/allocator_shim_default_dispatch_to_glibc.cc',
])
- libs.extend(['-lrt'])
+ libs.extend(['-lrt', '-lnspr4'])
static_libraries['libevent']['include_dirs'].extend([
os.path.join(SRC_ROOT, 'base', 'third_party', 'libevent', 'linux')
])
diff -ur qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/tools/gn/BUILD.gn qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn
--- qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-11-28 14:06:53.000000000 +0100
+++ qtwebengine-everywhere-src-5.10.0-system-nspr-prtime/src/3rdparty/chromium/tools/gn/BUILD.gn 2017-12-25 12:16:48.744131902 +0100
@@ -275,6 +275,10 @@
"//build/config:exe_and_shlib_deps",
"//build/win:default_exe_manifest",
]
+
+ libs = [
+ "nspr4",
+ ]
}
test("gn_unittests") {

@ -1,18 +0,0 @@
diff -up qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h
--- qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof 2018-05-15 14:58:46.448912634 -0400
+++ qtwebengine-everywhere-src-5.10.1/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400
@@ -18,7 +18,13 @@
#endif
// Like the C++11 |alignof| operator.
-#if __cplusplus >= 201103L
+#if defined(__GNUC__) && __GNUC__ >= 8
+// GCC 8 has changed the alignof operator to return the minimal alignment
+// required by the target ABI, instead of the preferred alignment.
+// This means that on 32-bit x86, it will return 4 instead of 8.
+// Use __alignof__ instead to avoid this.
+#define MOJO_ALIGNOF(type) __alignof__(type)
+#elif __cplusplus >= 201103L
#define MOJO_ALIGNOF(type) alignof(type)
#elif defined(__GNUC__)
#define MOJO_ALIGNOF(type) __alignof__(type)

File diff suppressed because it is too large Load Diff

@ -0,0 +1,12 @@
diff -up qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro
--- qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro.gn-bootstrap-verbose 2018-12-07 09:53:18.262171677 -0600
+++ qtwebengine-everywhere-src-5.12.0/src/buildtools/gn.pro 2018-12-07 09:57:53.246646133 -0600
@@ -18,7 +18,7 @@ build_pass|!debug_and_release {
src_3rd_party_dir = $$absolute_path("$${getChromiumSrcDir()}/../", "$$QTWEBENGINE_ROOT")
gn_bootstrap = $$system_path($$absolute_path(gn/build/gen.py, $$src_3rd_party_dir))
- gn_configure = $$system_quote($$gn_bootstrap) --no-last-commit-position --out-path $$out_path
+ gn_configure = $$system_quote($$gn_bootstrap) --verbose --no-last-commit-position --out-path $$out_path
!system("$$pythonPathForSystem() $$gn_configure") {
error("GN generation error!")
}

@ -0,0 +1,11 @@
diff -up qtwebengine-everywhere-src-5.12.1/src/core/config/linux.pri.python2 qtwebengine-everywhere-src-5.12.1/src/core/config/linux.pri
--- qtwebengine-everywhere-src-5.12.1/src/core/config/linux.pri.python2 2019-02-01 09:30:19.194657298 -0600
+++ qtwebengine-everywhere-src-5.12.1/src/core/config/linux.pri 2019-02-01 10:53:16.756357279 -0600
@@ -205,5 +205,5 @@ gn_args += linux_link_libpci=true
CHROMIUM_SRC_DIR = "$$QTWEBENGINE_ROOT/$$getChromiumSrcDir()"
R_G_F_PY = "$$CHROMIUM_SRC_DIR/build/linux/unbundle/replace_gn_files.py"
R_G_F_PY_ARGS = "--system-libraries yasm"
-log("Running python $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}")
-!system("python $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")
+log("Running python2 $$R_G_F_PY $$R_G_F_PY_ARGS$${EOL}")
+!system("python2 $$R_G_F_PY $$R_G_F_PY_ARGS"): error("-- unbundling failed")

@ -0,0 +1,12 @@
diff -up qtwebengine-everywhere-src-5.12.1/mkspecs/features/functions.prf.fix-extractcflag qtwebengine-everywhere-src-5.12.1/mkspecs/features/functions.prf
--- qtwebengine-everywhere-src-5.12.1/mkspecs/features/functions.prf.fix-extractcflag 2019-02-01 09:25:44.950965875 -0600
+++ qtwebengine-everywhere-src-5.12.1/mkspecs/features/functions.prf 2019-02-01 09:28:39.290041131 -0600
@@ -11,7 +11,7 @@ defineReplace(getChromiumSrcDir) {
}
defineReplace(extractCFlag) {
- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS
+ CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS $$QMAKE_CFLAGS_RELEASE
OPTION = $$find(CFLAGS, $$1)
OPTION = $$split(OPTION, =)
PARAM = $$member(OPTION, 1)

@ -1,12 +0,0 @@
diff -ur qtwebengine-opensource-src-5.9.0/mkspecs/features/functions.prf qtwebengine-opensource-src-5.9.0-fix-extractcflag/mkspecs/features/functions.prf
--- qtwebengine-opensource-src-5.9.0/mkspecs/features/functions.prf 2017-05-19 06:22:04.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-fix-extractcflag/mkspecs/features/functions.prf 2017-06-08 00:36:16.303520106 +0200
@@ -302,7 +302,7 @@
}
defineReplace(extractCFlag) {
- CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS
+ CFLAGS = $$QMAKE_CC $$QMAKE_CFLAGS $$QMAKE_CFLAGS_RELEASE
OPTION = $$find(CFLAGS, $$1)
OPTION = $$split(OPTION, =)
return ($$member(OPTION, 1))

@ -1,14 +0,0 @@
diff -ur qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn qtwebengine-opensource-src-5.9.0-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn
--- qtwebengine-opensource-src-5.9.0/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn 2017-05-18 16:51:44.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-webrtc-neon-detect/src/3rdparty/chromium/third_party/webrtc/system_wrappers/BUILD.gn 2017-06-10 13:20:14.959007488 +0200
@@ -93,9 +93,7 @@
if (is_linux) {
defines += [ "WEBRTC_THREAD_RR" ]
- if (!build_with_chromium) {
- deps += [ ":cpu_features_linux" ]
- }
+ deps += [ ":cpu_features_linux" ]
libs += [ "rt" ]
}

@ -1,11 +0,0 @@
diff -ur qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri qtwebengine-opensource-src-5.9.0-arm-fpu-fix/src/core/config/linux.pri
--- qtwebengine-opensource-src-5.9.0/src/core/config/linux.pri 2017-05-19 06:22:04.000000000 +0200
+++ qtwebengine-opensource-src-5.9.0-arm-fpu-fix/src/core/config/linux.pri 2017-06-13 14:51:26.986633933 +0200
@@ -64,6 +64,7 @@
gn_args += arm_use_neon=true
} else {
MFPU = $$extractCFlag("-mfpu=.*")
+ !isEmpty(MFPU): gn_args += arm_fpu=\"$$MFPU\"
!isEmpty(MFPU):contains(MFPU, ".*neon.*") {
gn_args += arm_use_neon=true
} else {

@ -1 +1 @@
SHA512 (qtwebengine-everywhere-src-5.11.3-clean.tar.xz) = 02b787df5a79eaa9c30a2ecfaee899291dd5033078c356313d580d86284a78d86aa13de1dd67968b9c1e214662adbb1623ea0afb7289f0eb3c0b99d8d2a53a2e
SHA512 (qtwebengine-everywhere-src-5.12.1-clean.tar.xz) = 779d63b93849a6a5b8ecea1c1480ce80c01cc678929947ba64ea5003f9de51e76b49f06d9f0dee89afb28a7713f11d2a7412b55acb3203c548ca8ebf564b30cb

Loading…
Cancel
Save