From 00ecba0032fe81d971c475b93315ca4d22f24fb8 Mon Sep 17 00:00:00 2001 From: Raphael Kubo da Costa Date: Mon, 3 Dec 2018 13:35:36 +0100 Subject: [PATCH] chromium-x11: Update to 71.0.3578.80. This is the first M71 stable release, and it includes a multitude of security fixes. Release announcement: https://chromereleases.googleblog.com/2018/12/stable-channel-update-for-desktop.html Test-built with: * rocko, GCC 7 and MACHINE="qemuarm64" * sumo, GCC 7, MACHINE="raspberrypi3" and TOOLCHAIN_pn-chromium-x11="clang" * thud, GCC 8, MACHINE="intel-core-i7-64" and MACHINE="intel-core2-32" chromium-ozone-wayland was also test-built on rocko with MACHINE="beaglebone". --- License changes Added: * tools/fuchsia/fidlgen_js/third_party/enum34/LICENSE: 3-clause BSD license. Not used in the Linux build. Changed: * third_party/d3/src/LICENSE: Minor changes, same 3-clause-BSD applies. * third_party/ffmpeg/CREDITS.chromium: Also minor updates. Removed: * third_party/android_async_task/LICENSE: Removed with the rest of the directory. * third_party/haha/LICENSE: Removed with the rest of the directory. * third_party/leakcanary/LICENSE: Removed with the rest of the directory. * third_party/molokocacao/LICENSE: Removed with the rest of the directory. Moved: * third_party/android_deps/Android_SDK_License-December_9_2016.txt: Renamed to third_party/android_deps/libs/com_google_android_play_core/LICENSE (no changes to contents). * third_party/perfetto/MODULE_LICENSE_APACHE2: Renamed to third_party/perfetto/NOTICE, same license (Apache 2.0) applies. Signed-off-by: Raphael Kubo da Costa --- recipes-browser/chromium/chromium-gn.inc | 1 + .../aarch64-skia-build-fix.patch | 48 ------- .../v8-qemu-wrapper.patch | 41 ++++++ .../chromium/chromium-upstream-tarball.inc | 16 +-- ...38.110.bb => chromium-x11_71.0.3578.80.bb} | 6 +- .../0001-Fix-build-error-for-blink.patch | 102 ------------- ...-pdfium_mem_buffer_file_write.h-for-.patch | 34 ----- ...2-target-to-a-separate-BUILD.gn-file.patch | 135 ++++++++++++++++++ ...-generate-buildfiles-to-bootstrap.py.patch | 69 --------- ...icitly-use-std-initializer_list-with.patch | 61 ++++++++ .../files/aarch64-skia-build-fix.patch | 14 +- .../chromium/files/v8-qemu-wrapper.patch | 16 ++- ....3538.110.bb => gn-native_71.0.3578.80.bb} | 1 - 13 files changed, 266 insertions(+), 278 deletions(-) delete mode 100644 recipes-browser/chromium/chromium-ozone-wayland/aarch64-skia-build-fix.patch create mode 100644 recipes-browser/chromium/chromium-ozone-wayland/v8-qemu-wrapper.patch rename recipes-browser/chromium/{chromium-x11_70.0.3538.110.bb => chromium-x11_71.0.3578.80.bb} (69%) delete mode 100644 recipes-browser/chromium/files/0001-Fix-build-error-for-blink.patch delete mode 100644 recipes-browser/chromium/files/0001-IWYU-stdint.h-in-pdfium_mem_buffer_file_write.h-for-.patch create mode 100644 recipes-browser/chromium/files/0001-Move-the-atspi2-target-to-a-separate-BUILD.gn-file.patch delete mode 100644 recipes-browser/chromium/files/0001-gn-Add-skip-generate-buildfiles-to-bootstrap.py.patch create mode 100644 recipes-browser/chromium/files/0001-google_util-Explicitly-use-std-initializer_list-with.patch rename recipes-browser/chromium/{gn-native_70.0.3538.110.bb => gn-native_71.0.3578.80.bb} (93%) diff --git a/recipes-browser/chromium/chromium-gn.inc b/recipes-browser/chromium/chromium-gn.inc index c1c3c2d0f..36dc3d055 100644 --- a/recipes-browser/chromium/chromium-gn.inc +++ b/recipes-browser/chromium/chromium-gn.inc @@ -25,6 +25,7 @@ SRC_URI += "file://0001-zlib-GCC-Disable-CRC32-optimizations-on-ARM.patch" # adds packages to DEPENDS. DEPENDS += " \ alsa-lib \ + at-spi2-core \ atk \ bison-native \ cairo \ diff --git a/recipes-browser/chromium/chromium-ozone-wayland/aarch64-skia-build-fix.patch b/recipes-browser/chromium/chromium-ozone-wayland/aarch64-skia-build-fix.patch deleted file mode 100644 index 1ba2cb443..000000000 --- a/recipes-browser/chromium/chromium-ozone-wayland/aarch64-skia-build-fix.patch +++ /dev/null @@ -1,48 +0,0 @@ -Upstream-Status: Inappropriate - -GCC (tested rocko's 7.3.0) cannot find these intrinsics and the build fails: - -../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::F neon::from_half(neon::U16)': -../../third_party/skia/src/opts/SkRasterPipeline_opts.h:657:26: error: cannot convert 'neon::U16 {aka short unsigned int}' to 'float16x4_t {aka __vector(4) __fp16}' for argument '1' to ' -float32x4_t vcvt_f32_f16(float16x4_t)' - return vcvt_f32_f16(h); - ^ -../../third_party/skia/src/opts/SkRasterPipeline_opts.h: In function 'neon::U16 neon::to_half(neon::F)': -../../third_party/skia/src/opts/SkRasterPipeline_opts.h:677:26: error: cannot convert 'neon::F {aka float}' to 'float32x4_t {aka __vector(4) float}' for argument '1' to 'float16x4_t vcvt -_f16_f32(float32x4_t)' - return vcvt_f16_f32(f); - ^ - -Upstream seems to have had similar issues according to -https://skia-review.googlesource.com/c/skia/+/84222, but there is no fix at the -moment. - -Signed-off-by: Raphael Kubo da Costa -Index: chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1/third_party/skia/src/opts/SkRasterPipeline_opts.h -=================================================================== ---- chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -658,10 +658,7 @@ SI F approx_powf(F x, F y) { - } - - SI F from_half(U16 h) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -- return vcvt_f32_f16(h); -- --#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) - return _mm256_cvtph_ps(h); - - #else -@@ -678,10 +675,7 @@ SI F from_half(U16 h) { - } - - SI U16 to_half(F f) { --#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. -- return vcvt_f16_f32(f); -- --#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) -+#if defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) - return _mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION); - - #else diff --git a/recipes-browser/chromium/chromium-ozone-wayland/v8-qemu-wrapper.patch b/recipes-browser/chromium/chromium-ozone-wayland/v8-qemu-wrapper.patch new file mode 100644 index 000000000..64822e650 --- /dev/null +++ b/recipes-browser/chromium/chromium-ozone-wayland/v8-qemu-wrapper.patch @@ -0,0 +1,41 @@ +Upstream-Status: Inappropriate [embedder specific] + +The patch below makes the V8 binaries run during the build be invoked through +QEMU, as they are built for the target. + +Signed-off-by: Raphael Kubo da Costa +Signed-off-by: Maksim Sisov + +diff --git a/tools/v8_context_snapshot/BUILD.gn b/tools/v8_context_snapshot/BUILD.gn +index 771fc0df366c..389a93fabeda 100644 +--- a/tools/v8_context_snapshot/BUILD.gn ++++ b/tools/v8_context_snapshot/BUILD.gn +@@ -62,6 +62,7 @@ if (use_v8_context_snapshot) { + output_path = rebase_path(output_file, root_build_dir) + + args = [ ++ "./v8-qemu-wrapper.sh", + "./" + rebase_path( + get_label_info( + ":v8_context_snapshot_generator($v8_snapshot_toolchain)", + +diff --git a/v8/BUILD.gn b/v8/BUILD.gn +index c6a58776cd..fa53571ae8 100644 +--- a/v8/BUILD.gn ++++ b/v8/BUILD.gn +@@ -937,6 +937,7 @@ action("run_torque") { + } + + args = [ ++ "./v8-qemu-wrapper.sh", + "./" + rebase_path(get_label_info(":torque($v8_torque_toolchain)", + "root_out_dir") + "/torque", + root_build_dir), +@@ -1020,6 +1021,7 @@ template("run_mksnapshot") { + data = [] + + args = [ ++ "./v8-qemu-wrapper.sh", + "./" + rebase_path(get_label_info(":mksnapshot($v8_snapshot_toolchain)", + "root_out_dir") + "/mksnapshot", + root_build_dir), diff --git a/recipes-browser/chromium/chromium-upstream-tarball.inc b/recipes-browser/chromium/chromium-upstream-tarball.inc index 9f8987dbb..f9f5f6cce 100644 --- a/recipes-browser/chromium/chromium-upstream-tarball.inc +++ b/recipes-browser/chromium/chromium-upstream-tarball.inc @@ -1,8 +1,8 @@ SRC_URI = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${PV}.tar.xz" S = "${WORKDIR}/chromium-${PV}" -SRC_URI[md5sum] = "f45eadcee2101b1e3f57c98765616d14" -SRC_URI[sha256sum] = "445ef88fcf283206c1eba4faeb1c186c805e053d8b4ffeac1fcb88187bc1942f" +SRC_URI[md5sum] = "2cd599a74930294cd01fa79d6ada2198" +SRC_URI[sha256sum] = "025b3520750d11f260acc4cbff5759137444ffb4c82361138dfd22f87b77ad0d" LIC_FILES_CHKSUM = "\ file://${S}/LICENSE;md5=0fca02217a5d49a14dfe2d11837bb34d \ @@ -45,10 +45,8 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/abseil-cpp/LICENSE;md5=917cc5763a741e915bf7f2cc55830c17 \ file://${S}/third_party/accessibility-audit/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/afl/src/docs/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://${S}/third_party/android_async_task/LICENSE;md5=9f3f1bd0f219307a920c8eaae218a14d \ file://${S}/third_party/android_crazy_linker/LICENSE;md5=997351b5bb1c56ca5be66be8060bb383 \ file://${S}/third_party/android_data_chart/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://${S}/third_party/android_deps/Android_SDK_License-December_9_2016.txt;md5=7f7d74108ee1b7a743cca7d9a86784d6 \ file://${S}/third_party/android_deps/libs/android_arch_core_common/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_deps/libs/android_arch_lifecycle_common/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/android_deps/libs/android_arch_lifecycle_runtime/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ @@ -119,12 +117,12 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/crashpad/crashpad/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/crc32c/src/LICENSE;md5=e9ed01b5e5ac9eae23fc2bb33701220c \ file://${S}/third_party/custom_tabs_client/LICENSE;md5=34400b68072d710fecd0a2940a0d1658 \ - file://${S}/third_party/d3/src/LICENSE;md5=5e44e63b7491ec4b18f73d1b38334a04 \ + file://${S}/third_party/d3/src/LICENSE;md5=0679931d76eb2f1dd1915249da84a722 \ file://${S}/third_party/decklink/LICENSE;md5=85b197f7b7b1ef270b01a1b6377be50e \ file://${S}/third_party/dom_distiller_js/LICENSE;md5=1399a5b89c7ed8167d261770432511e8 \ file://${S}/third_party/expat/files/COPYING;md5=5b8620d98e49772d95fc1d291c26aa79 \ file://${S}/third_party/feed/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://${S}/third_party/ffmpeg/CREDITS.chromium;md5=ccd691316e9b2fd436cd55b6347bb6c8 \ + file://${S}/third_party/ffmpeg/CREDITS.chromium;md5=c196fd5595d5ee48c87e2793f8a76cd6 \ file://${S}/third_party/fips181/COPYING;md5=da26b18c1a03a3cae0abccae554029c6 \ file://${S}/third_party/flac/COPYING.Xiph;md5=a2c4b71c0198682376d483eb5bcc9197 \ file://${S}/third_party/flatbuffers/LICENSE;md5=a873c5645c184d51e0f9b34e1d7cf559 \ @@ -138,7 +136,6 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/google_toolbox_for_mac/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/gvr-android-keyboard/LICENSE;md5=67d07a07ec29a50a3ded12b2ba952257 \ file://${S}/third_party/gvr-android-sdk/LICENSE;md5=50b9d1f02b2ee0d8a568ccf4d35216e2 \ - file://${S}/third_party/haha/LICENSE;md5=7a4d962049fded4f1b47d1e4027ace42 \ file://${S}/third_party/harfbuzz-ng/src/COPYING;md5=e021dd6dda6ff1e6b1044002fc662b9b \ file://${S}/third_party/hunspell/COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ file://${S}/third_party/iaccessible2/LICENSE;md5=43bbd0bfb581347ec10def720000a645 \ @@ -151,7 +148,6 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/jstemplate/COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://${S}/third_party/khronos/LICENSE;md5=1d2ef853a9ae7ace4e16fda0d48f597b \ file://${S}/third_party/lcov/COPYING;md5=751419260aa954499f7abaabaa882bbe \ - file://${S}/third_party/leakcanary/LICENSE;md5=175792518e4ac015ab6696d16c4f607e \ file://${S}/third_party/leveldatabase/src/LICENSE;md5=92d1b128950b11ba8495b64938fc164d \ file://${S}/third_party/libFuzzer/LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa \ file://${S}/third_party/libXNVCtrl/LICENSE;md5=9e6c209899aa4986d090320bbca2fc76 \ @@ -186,7 +182,6 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/minigbm/LICENSE;md5=fcd558ab2fd7f53408826e80eb0c11eb \ file://${S}/third_party/minizip/src/LICENSE;md5=3fb541eb8359212703e21d14eba7ac64 \ file://${S}/third_party/modp_b64/LICENSE;md5=eb7e2e0af1d4971360553aedadee8d86 \ - file://${S}/third_party/molokocacao/LICENSE;md5=2be992b97984f595666a17061e112658 \ file://${S}/third_party/mozilla/LICENSE;md5=822502c0e010ccdbb6a3e681dd47888e \ file://${S}/third_party/nvml/LICENSE;md5=b6ff880d6ecb15a69be7a4a7f8d8ef1a \ file://${S}/third_party/openh264/src/LICENSE;md5=bb6d3771da6a07d33fd50d4d9aa73bcf \ @@ -195,7 +190,7 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/opus/src/COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3 \ file://${S}/third_party/ots/LICENSE;md5=e06eff2aa65b917034a81599bea73dc4 \ file://${S}/third_party/pdfium/LICENSE;md5=defd64fe3646eb60a5d01fcbcc8b6b7c \ - file://${S}/third_party/perfetto/MODULE_LICENSE_APACHE2;md5=68b329da9893e34099c7d8ad5cb9c940 \ + file://${S}/third_party/perfetto/NOTICE;md5=aeb863d080c67bc38075748338c57a7f \ file://${S}/third_party/ply/LICENSE;md5=f298aa3b0cfe0b0ea96acabf944529c0 \ file://${S}/third_party/polymer/LICENSE.polymer;md5=324f45ce459ffd97e41d175a4e95a4be \ file://${S}/third_party/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ @@ -231,6 +226,7 @@ LIC_FILES_CHKSUM = "\ file://${S}/third_party/yara/src/COPYING;md5=541962f9dacf27c928f57e3a7ba9e1f2 \ file://${S}/third_party/yasm/source/patched-yasm/COPYING;md5=a12d8903508fb6bfd49d8d82c6170dd9 \ file://${S}/third_party/zlib/LICENSE;md5=f09575dbfb09420642318b413159496f \ + file://${S}/tools/fuchsia/fidlgen_js/third_party/enum34/LICENSE;md5=0a97a53a514564c20efd7b2e8976c87e \ file://${S}/url/third_party/mozilla/LICENSE.txt;md5=437ced1e9b232651b0912a9594da43b2 \ file://${S}/v8/LICENSE;md5=bda6d3b7be87052ff181da3ed9fd5501 \ file://${S}/v8/LICENSE.fdlibm;md5=b17367d6c97e638599071d99a3049dfe \ diff --git a/recipes-browser/chromium/chromium-x11_70.0.3538.110.bb b/recipes-browser/chromium/chromium-x11_71.0.3578.80.bb similarity index 69% rename from recipes-browser/chromium/chromium-x11_70.0.3538.110.bb rename to recipes-browser/chromium/chromium-x11_71.0.3578.80.bb index 511f96b5a..a09a367a1 100644 --- a/recipes-browser/chromium/chromium-x11_70.0.3538.110.bb +++ b/recipes-browser/chromium/chromium-x11_71.0.3578.80.bb @@ -2,10 +2,8 @@ require chromium-upstream-tarball.inc require chromium-gn.inc SRC_URI += "\ - file://0001-Fix-build-error-for-blink.patch \ - file://0001-IWYU-stdint.h-in-pdfium_mem_buffer_file_write.h-for-.patch \ - file://0001-OmniboxTextView-fix-gcc-error-for-structure-initiali.patch \ - file://0001-ScrollPaintPropertyNode-Rename-SnapContainerData-to-.patch \ + file://0001-Move-the-atspi2-target-to-a-separate-BUILD.gn-file.patch \ + file://0001-google_util-Explicitly-use-std-initializer_list-with.patch \ file://aarch64-skia-build-fix.patch \ file://oe-clang-fixes.patch \ " diff --git a/recipes-browser/chromium/files/0001-Fix-build-error-for-blink.patch b/recipes-browser/chromium/files/0001-Fix-build-error-for-blink.patch deleted file mode 100644 index 0a4e290a0..000000000 --- a/recipes-browser/chromium/files/0001-Fix-build-error-for-blink.patch +++ /dev/null @@ -1,102 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Raphael Kubo da Costa ---- -From 87902b3202f81d689dd314c17006ffc907fe12a1 Mon Sep 17 00:00:00 2001 -From: Wang Qing -Date: Mon, 3 Sep 2018 02:41:08 +0000 -Subject: [PATCH] Fix build error for blink. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This CLs fixed the error of constexpr function call to non-constexpr function. - -Bug: 878202 -Change-Id: I6ad217a687e62a9a384980d852743a56479de3a9 -Reviewed-on: https://chromium-review.googlesource.com/1192467 -Commit-Queue: 汪 清 -Reviewed-by: Eric Willigers -Cr-Commit-Position: refs/heads/master@{#588316} ---- - .../core/animation/animation_time_delta.cc | 22 ++++++++++++++++ - .../renderer/core/animation/animation_time_delta.h | 30 ++++++++-------------- - 2 files changed, 32 insertions(+), 20 deletions(-) - -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.cc b/third_party/blink/renderer/core/animation/animation_time_delta.cc -index 1b25469c7f2f..2e30a18890da 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.cc -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.cc -@@ -7,6 +7,28 @@ - namespace blink { - - #if !defined(BLINK_ANIMATION_USE_TIME_DELTA) -+// Comparison operators on AnimationTimeDelta. -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() == rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() != rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() > rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() >= rhs.InSecondsF(); -+} -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs) { -+ return lhs.InSecondsF() <= rhs.InSecondsF(); -+} -+ - std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time) { - return os << time.InSecondsF() << " s"; - } -diff --git a/third_party/blink/renderer/core/animation/animation_time_delta.h b/third_party/blink/renderer/core/animation/animation_time_delta.h -index 1903c1150d3e..95d218466d90 100644 ---- a/third_party/blink/renderer/core/animation/animation_time_delta.h -+++ b/third_party/blink/renderer/core/animation/animation_time_delta.h -@@ -90,26 +90,16 @@ AnimationTimeDelta operator*(T a, AnimationTimeDelta td) { - } - - // Comparison operators on AnimationTimeDelta. --constexpr bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() == rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() != rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() > rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() >= rhs.InSecondsF(); --} --constexpr bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -- const AnimationTimeDelta& rhs) { -- return lhs.InSecondsF() <= rhs.InSecondsF(); --} -+bool CORE_EXPORT operator==(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator!=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator>=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); -+bool CORE_EXPORT operator<=(const AnimationTimeDelta& lhs, -+ const AnimationTimeDelta& rhs); - - // Defined to allow DCHECK_EQ/etc to work with the class. - CORE_EXPORT std::ostream& operator<<(std::ostream& os, AnimationTimeDelta time); --- -2.14.4 - diff --git a/recipes-browser/chromium/files/0001-IWYU-stdint.h-in-pdfium_mem_buffer_file_write.h-for-.patch b/recipes-browser/chromium/files/0001-IWYU-stdint.h-in-pdfium_mem_buffer_file_write.h-for-.patch deleted file mode 100644 index 694926ab0..000000000 --- a/recipes-browser/chromium/files/0001-IWYU-stdint.h-in-pdfium_mem_buffer_file_write.h-for-.patch +++ /dev/null @@ -1,34 +0,0 @@ -Upstream-Status: Backport - -Signed-off-by: Raphael Kubo da Costa ---- -From e3ad3deb6a6e79284f3748fa7410311d87df91c5 Mon Sep 17 00:00:00 2001 -From: Henrique Nakashima -Date: Tue, 4 Sep 2018 16:49:51 +0000 -Subject: [PATCH] IWYU: stdint.h in pdfium_mem_buffer_file_write.h for uint8_t - -Bug: 879900 -Change-Id: I9c15d1c280a23c53d31f2d72c9d0d1db79eab886 -Reviewed-on: https://chromium-review.googlesource.com/1204410 -Reviewed-by: Lei Zhang -Commit-Queue: Henrique Nakashima -Cr-Commit-Position: refs/heads/master@{#588547} ---- - pdf/pdfium/pdfium_mem_buffer_file_write.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/pdf/pdfium/pdfium_mem_buffer_file_write.h b/pdf/pdfium/pdfium_mem_buffer_file_write.h -index 03c54bb63800..82e82d23684d 100644 ---- a/pdf/pdfium/pdfium_mem_buffer_file_write.h -+++ b/pdf/pdfium/pdfium_mem_buffer_file_write.h -@@ -6,6 +6,7 @@ - #define PDF_PDFIUM_PDFIUM_MEM_BUFFER_FILE_WRITE_H_ - - #include -+#include - - #include - --- -2.14.4 - diff --git a/recipes-browser/chromium/files/0001-Move-the-atspi2-target-to-a-separate-BUILD.gn-file.patch b/recipes-browser/chromium/files/0001-Move-the-atspi2-target-to-a-separate-BUILD.gn-file.patch new file mode 100644 index 000000000..6f50eab9b --- /dev/null +++ b/recipes-browser/chromium/files/0001-Move-the-atspi2-target-to-a-separate-BUILD.gn-file.patch @@ -0,0 +1,135 @@ +From 32c051ee1d76c33d389492b1cee23f0d1d752c55 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Fri, 30 Nov 2018 23:10:19 +0000 +Subject: [PATCH] Move the "atspi2" target to a separate BUILD.gn file + +//build/config/linux/BUILD.gn is read by //build/config/compiler/BUILD.gn, +which means it is processed by both host and target toolchains. + +Consequently, having the "atspi2" target there means "gn gen" can fail +because the host lacks atspi-2's development files even though they are only +needed by the target toolchain during the build. + +Bug: 879147 +Change-Id: I8780e6e4d3a2b3a44fdb2cbbb0862a1a669acdaa +Reviewed-on: https://chromium-review.googlesource.com/c/1356979 +Reviewed-by: Thomas Anderson +Reviewed-by: Dirk Pranke +Commit-Queue: Raphael Kubo da Costa +Cr-Commit-Position: refs/heads/master@{#612831} +--- + build/config/linux/BUILD.gn | 20 -------------------- + build/config/linux/atspi2/BUILD.gn | 29 +++++++++++++++++++++++++++++ + build/dotfile_settings.gni | 1 + + content/browser/BUILD.gn | 2 +- + content/test/BUILD.gn | 2 +- + 5 files changed, 32 insertions(+), 22 deletions(-) + create mode 100644 build/config/linux/atspi2/BUILD.gn + +diff --git a/build/config/linux/BUILD.gn b/build/config/linux/BUILD.gn +index cd3e6eede1e9..6ca9b6a9348e 100644 +--- a/build/config/linux/BUILD.gn ++++ b/build/config/linux/BUILD.gn +@@ -100,26 +100,6 @@ if (use_glib) { + } + } + +-if (use_atk) { +- pkg_config("atspi2") { +- packages = [ "atspi-2" ] +- atspi_version = exec_script(pkg_config_script, +- pkg_config_args + [ +- "atspi-2", +- "--version-as-components", +- ], +- "value") +- atspi_major_version = atspi_version[0] +- atspi_minor_version = atspi_version[1] +- atspi_micro_version = atspi_version[2] +- defines = [ +- "ATSPI_MAJOR_VERSION=$atspi_major_version", +- "ATSPI_MINOR_VERSION=$atspi_minor_version", +- "ATSPI_MICRO_VERSION=$atspi_micro_version", +- ] +- } +-} +- + # Ensures all exported symbols are added to the dynamic symbol table. This is + # necessary to expose Chrome's custom operator new() and operator delete() (and + # other memory-related symbols) to libraries. Otherwise, they might +diff --git a/build/config/linux/atspi2/BUILD.gn b/build/config/linux/atspi2/BUILD.gn +new file mode 100644 +index 000000000000..988a99568136 +--- /dev/null ++++ b/build/config/linux/atspi2/BUILD.gn +@@ -0,0 +1,29 @@ ++# Copyright 2018 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/config/ui.gni") ++ ++# These packages should _only_ be expected when building for a target. ++assert(current_toolchain == default_toolchain) ++ ++if (use_atk) { ++ pkg_config("atspi2") { ++ packages = [ "atspi-2" ] ++ atspi_version = exec_script(pkg_config_script, ++ pkg_config_args + [ ++ "atspi-2", ++ "--version-as-components", ++ ], ++ "value") ++ atspi_major_version = atspi_version[0] ++ atspi_minor_version = atspi_version[1] ++ atspi_micro_version = atspi_version[2] ++ defines = [ ++ "ATSPI_MAJOR_VERSION=$atspi_major_version", ++ "ATSPI_MINOR_VERSION=$atspi_minor_version", ++ "ATSPI_MICRO_VERSION=$atspi_micro_version", ++ ] ++ } ++} +diff --git a/build/dotfile_settings.gni b/build/dotfile_settings.gni +index 4242ec695046..407a9cd14419 100644 +--- a/build/dotfile_settings.gni ++++ b/build/dotfile_settings.gni +@@ -17,6 +17,7 @@ build_dotfile_settings = { + "//build/config/linux/BUILD.gn", + "//build/config/linux/pkg_config.gni", + "//build/config/linux/atk/BUILD.gn", ++ "//build/config/linux/atspi2/BUILD.gn", + "//build/config/linux/dri/BUILD.gn", + "//build/config/mac/mac_sdk.gni", + "//build/config/mac/rules.gni", +diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn +index df5eef63cb12..64be02314118 100644 +--- a/content/browser/BUILD.gn ++++ b/content/browser/BUILD.gn +@@ -2167,7 +2167,7 @@ jumbo_source_set("browser") { + + configs += [ + "//build/config/linux/atk", +- "//build/config/linux:atspi2", ++ "//build/config/linux/atspi2", + ] + + if (use_glib) { +diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn +index b3eef03de313..a63a7c294712 100644 +--- a/content/test/BUILD.gn ++++ b/content/test/BUILD.gn +@@ -431,7 +431,7 @@ jumbo_static_library("test_support") { + [ "../browser/accessibility/accessibility_event_recorder_auralinux.cc" ] + configs += [ + "//build/config/linux/atk", +- "//build/config/linux:atspi2", ++ "//build/config/linux/atspi2", + ] + } + +-- +2.19.2 + diff --git a/recipes-browser/chromium/files/0001-gn-Add-skip-generate-buildfiles-to-bootstrap.py.patch b/recipes-browser/chromium/files/0001-gn-Add-skip-generate-buildfiles-to-bootstrap.py.patch deleted file mode 100644 index 8cad4acc4..000000000 --- a/recipes-browser/chromium/files/0001-gn-Add-skip-generate-buildfiles-to-bootstrap.py.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Backport - -Stops trying to run 'gn gen', which is part of Chromium's -do_configure, not gn-native's, when building the latter. - -Signed-off-by: Raphael Kubo da Costa ---- -From 79c741fd88a1cab596a38afde628c52f21dbe4a2 Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Wed, 19 Sep 2018 18:16:40 +0000 -Subject: [PATCH] gn: Add --skip-generate-buildfiles to bootstrap.py - -This restores part of --no-rebuild's behavior: we only build GN but do not -run it afterwards when the option is specified. It's particularly useful -when GN is built in a different machine or sysroot than the one where -Chromium itself will be built (often with different dependencies installed -on the system). - -Bug: 885139 -Change-Id: If9f3386db8324b47b52864bccc685578fd40a689 -Reviewed-on: https://chromium-review.googlesource.com/1233708 -Reviewed-by: Thomas Anderson -Commit-Queue: Raphael Kubo da Costa (CET) -Cr-Commit-Position: refs/heads/master@{#592479} ---- - tools/gn/bootstrap/bootstrap.py | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py -index 29f10494b63d..261fddde7801 100755 ---- a/tools/gn/bootstrap/bootstrap.py -+++ b/tools/gn/bootstrap/bootstrap.py -@@ -51,6 +51,11 @@ def main(argv): - action='store_true', - help='Download and build with the Debian sysroot.') - parser.add_option('-v', '--verbose', help='ignored') -+ parser.add_option( -+ '--skip-generate-buildfiles', -+ action='store_true', -+ help='Do not run GN after building it. Causes --gn-gen-args ' -+ 'to have no effect.') - options, args = parser.parse_args(argv) - if args: - parser.error('Unrecognized command line arguments: %s.' % ', '.join(args)) -@@ -83,13 +88,14 @@ def main(argv): - ['ninja', '-C', gn_build_dir, 'gn', '-w', 'dupbuild=err']) - shutil.copy2(os.path.join(gn_build_dir, 'gn'), gn_path) - -- gn_gen_args = options.gn_gen_args or '' -- if not options.debug: -- gn_gen_args += ' is_debug=false' -- subprocess.check_call([ -- gn_path, 'gen', out_dir, -- '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT -- ]) -+ if not options.skip_generate_buildfiles: -+ gn_gen_args = options.gn_gen_args or '' -+ if not options.debug: -+ gn_gen_args += ' is_debug=false' -+ subprocess.check_call([ -+ gn_path, 'gen', out_dir, -+ '--args=%s' % gn_gen_args, "--root=" + SRC_ROOT -+ ]) - - - if __name__ == '__main__': --- -2.14.4 - diff --git a/recipes-browser/chromium/files/0001-google_util-Explicitly-use-std-initializer_list-with.patch b/recipes-browser/chromium/files/0001-google_util-Explicitly-use-std-initializer_list-with.patch new file mode 100644 index 000000000..96f123d0f --- /dev/null +++ b/recipes-browser/chromium/files/0001-google_util-Explicitly-use-std-initializer_list-with.patch @@ -0,0 +1,61 @@ +Upstream-Status: Backport + +Signed-off-by: Raphael Kubo da Costa +--- +From 65be571f6ac2f7942b4df9e50b24da517f829eec Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 15 Oct 2018 20:26:10 +0000 +Subject: [PATCH] google_util: Explicitly use std::initializer_list with + base::NoDestructor +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Follow-up to ac53c5c53 ("Remove CR_DEFINE_STATIC_LOCAL from /components"). +Due to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84849, having +base::NoDestructor> and passing an initializer list of Us does not +work if this is not done explicitly, as GCC incorrectly fails to determine +which constructor overload to use: + + ../../components/google/core/common/google_util.cc: In function ‘bool google_util::{anonymous}::IsCanonicalHostGoogleHostname(base::StringPiece, google_util::SubdomainPermission)’: + ../../components/google/core/common/google_util.cc:120:24: error: call of overloaded ‘NoDestructor()’ is ambiguous + {GOOGLE_TLD_LIST}); + +See also: https://chromium-review.googlesource.com/c/chromium/src/+/1170905 + +Bug: 819294 +Change-Id: Ie1490b6646d7998d636c485769caabf56c1cf44c +Reviewed-on: https://chromium-review.googlesource.com/c/1275854 +Reviewed-by: Peter Kasting +Commit-Queue: Raphael Kubo da Costa (CET) +Cr-Commit-Position: refs/heads/master@{#599733} +--- + components/google/core/common/google_util.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/components/google/core/common/google_util.cc b/components/google/core/common/google_util.cc +index a44c84393820..7733848a0443 100644 +--- a/components/google/core/common/google_util.cc ++++ b/components/google/core/common/google_util.cc +@@ -117,7 +117,7 @@ bool IsCanonicalHostGoogleHostname(base::StringPiece canonical_host, + StripTrailingDot(&tld); + + static base::NoDestructor> google_tlds( +- {GOOGLE_TLD_LIST}); ++ std::initializer_list({GOOGLE_TLD_LIST})); + return base::ContainsKey(*google_tlds, tld.as_string()); + } + +@@ -132,7 +132,8 @@ bool IsGoogleSearchSubdomainUrl(const GURL& url) { + StripTrailingDot(&host); + + static base::NoDestructor> google_subdomains( +- {"ipv4.google.com", "ipv6.google.com"}); ++ std::initializer_list( ++ {"ipv4.google.com", "ipv6.google.com"})); + + return base::ContainsKey(*google_subdomains, host.as_string()); + } +-- +2.19.2 + diff --git a/recipes-browser/chromium/files/aarch64-skia-build-fix.patch b/recipes-browser/chromium/files/aarch64-skia-build-fix.patch index 1055b482a..1ba2cb443 100644 --- a/recipes-browser/chromium/files/aarch64-skia-build-fix.patch +++ b/recipes-browser/chromium/files/aarch64-skia-build-fix.patch @@ -18,13 +18,15 @@ https://skia-review.googlesource.com/c/skia/+/84222, but there is no fix at the moment. Signed-off-by: Raphael Kubo da Costa ---- a/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h -@@ -653,10 +653,7 @@ SI F approx_powf(F x, F y) { +Index: chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1/third_party/skia/src/opts/SkRasterPipeline_opts.h +=================================================================== +--- chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ chromium-ozone-wayland-dev-71.0.3545.0.r589108.igalia.1/third_party/skia/src/opts/SkRasterPipeline_opts.h +@@ -658,10 +658,7 @@ SI F approx_powf(F x, F y) { } SI F from_half(U16 h) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f32_f16(h); - -#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) @@ -32,11 +34,11 @@ Signed-off-by: Raphael Kubo da Costa return _mm256_cvtph_ps(h); #else -@@ -673,10 +670,7 @@ SI F from_half(U16 h) { +@@ -678,10 +675,7 @@ SI F from_half(U16 h) { } SI U16 to_half(F f) { --#if defined(__aarch64__) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. +-#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds. - return vcvt_f16_f32(f); - -#elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512) diff --git a/recipes-browser/chromium/files/v8-qemu-wrapper.patch b/recipes-browser/chromium/files/v8-qemu-wrapper.patch index 64822e650..7d3008a31 100644 --- a/recipes-browser/chromium/files/v8-qemu-wrapper.patch +++ b/recipes-browser/chromium/files/v8-qemu-wrapper.patch @@ -20,18 +20,26 @@ index 771fc0df366c..389a93fabeda 100644 ":v8_context_snapshot_generator($v8_snapshot_toolchain)", diff --git a/v8/BUILD.gn b/v8/BUILD.gn -index c6a58776cd..fa53571ae8 100644 +index 83f1fdb0bf..1afe1d9465 100644 --- a/v8/BUILD.gn +++ b/v8/BUILD.gn -@@ -937,6 +937,7 @@ action("run_torque") { +@@ -942,6 +942,7 @@ action("run_torque") { } args = [ + "./v8-qemu-wrapper.sh", - "./" + rebase_path(get_label_info(":torque($v8_torque_toolchain)", + "./" + rebase_path(get_label_info(":torque($v8_generator_toolchain)", "root_out_dir") + "/torque", root_build_dir), -@@ -1020,6 +1021,7 @@ template("run_mksnapshot") { +@@ -1002,6 +1003,7 @@ action("generate_bytecode_builtins_list") { + ":bytecode_builtins_list_generator($v8_generator_toolchain)", + ] + args = [ ++ "./v8-qemu-wrapper.sh", + "./" + rebase_path( + get_label_info( + ":bytecode_builtins_list_generator($v8_generator_toolchain)", +@@ -1044,6 +1046,7 @@ template("run_mksnapshot") { data = [] args = [ diff --git a/recipes-browser/chromium/gn-native_70.0.3538.110.bb b/recipes-browser/chromium/gn-native_71.0.3578.80.bb similarity index 93% rename from recipes-browser/chromium/gn-native_70.0.3538.110.bb rename to recipes-browser/chromium/gn-native_71.0.3578.80.bb index 221580074..40ef8ff5b 100644 --- a/recipes-browser/chromium/gn-native_70.0.3538.110.bb +++ b/recipes-browser/chromium/gn-native_71.0.3578.80.bb @@ -17,7 +17,6 @@ B = "${S}/out_bootstrap" SRC_URI += "\ file://0001-gen-Stop-passing-static-libstdc-to-the-compiler.patch \ - file://0001-gn-Add-skip-generate-buildfiles-to-bootstrap.py.patch \ file://0001-gn-bootstrap-Remove-sysroot-related-options.patch \ "