diff --git a/network/web/chromium-browser/actions.py b/network/web/chromium-browser/actions.py index 6765317f46..c4579e580b 100644 --- a/network/web/chromium-browser/actions.py +++ b/network/web/chromium-browser/actions.py @@ -34,7 +34,7 @@ def setup(): opt = 'use_sysroot=false \ enable_nacl=true \ enable_nacl_nonsfi=true \ - use_custom_libcxx=false \ + use_custom_libcxx=true \ clang_use_chrome_plugins=false \ is_official_build=true \ fieldtrial_testing_like_official_build=true \ diff --git a/network/web/chromium-browser/files/chromium-compiler-r4.patch b/network/web/chromium-browser/files/chromium-compiler-r4.patch deleted file mode 100755 index 3fe73ef7fe..0000000000 --- a/network/web/chromium-browser/files/chromium-compiler-r4.patch +++ /dev/null @@ -1,168 +0,0 @@ -From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Wed, 25 Apr 2018 13:22:49 -0400 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 61 ++++++++++------------------------ - 1 file changed, 18 insertions(+), 43 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 6e38ad782d38..87bbd423f67f 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -225,8 +225,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -488,18 +486,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && current_toolchain == host_toolchain && -- target_os != "chromeos") { -- cflags += [ -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- "-Xclang", -- "-mllvm", -- "-Xclang", -- "-instcombine-lower-dbg-declare=0", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1473,10 +1459,6 @@ config("default_warnings") { - cflags += [ - # TODO(thakis): https://crbug.com/753973 - "-Wno-enum-compare-switch", -- -- # Ignore warnings about MSVC optimization pragmas. -- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 -- "-Wno-ignored-pragma-optimize", - ] - } - } -@@ -1518,22 +1500,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac || is_ios) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1863,7 +1829,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # TODO(thakis): Remove is_clang here, https://crbug.com/598772 - if (is_official_build && full_wpo_on_official && !is_clang) { -@@ -1897,7 +1864,8 @@ config("optimize") { - } - - # Same config as 'optimize' but without the WPO flag. --config("optimize_no_wpo") { -+config("optimize_no_wpo") { } -+config("xoptimize_no_wpo") { - if (is_win) { - # Favor size over speed, /O1 must be before the common flags. The GYP - # build also specifies /Os and /GF but these are implied by /O1. -@@ -1920,7 +1888,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -1944,7 +1913,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -1991,7 +1961,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2029,7 +2000,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - ldflags = common_optimize_on_ldflags - visibility = [ ":default_optimization" ] -@@ -2115,7 +2087,8 @@ config("afdo") { - # configs += [ "//build/config/compiler:symbols" ] - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (use_goma || is_clang) { - # Note that with VC++ this requires is_win_fastlink, enforced elsewhere. -@@ -2213,7 +2186,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Linker symbols for backtraces only. - cflags = [] -@@ -2244,7 +2218,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.18.0 - diff --git a/network/web/chromium-browser/files/chromium-fix-window-flash-for-some-WMs.patch b/network/web/chromium-browser/files/chromium-fix-window-flash-for-some-WMs.patch deleted file mode 100644 index f977cbf38c..0000000000 --- a/network/web/chromium-browser/files/chromium-fix-window-flash-for-some-WMs.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 90e226ba50c98b5e60f74f9dce998b17117f9051 Mon Sep 17 00:00:00 2001 -From: Peng Huang -Date: Tue, 7 May 2019 13:16:21 +0000 -Subject: [PATCH] Fix window flash for some WMs - -Bug: 956061 -Change-Id: I0d8d196395e70006a8fdc770f1e4a5ba6f93dd57 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1597388 -Commit-Queue: Peng Huang -Reviewed-by: Antoine Labour -Cr-Commit-Position: refs/heads/master@{#657215} ---- - ui/gl/BUILD.gn | 5 ++++- - ui/gl/gl_surface_glx.cc | 41 ++++++++++++++++++++++++++++------------- - 2 files changed, 32 insertions(+), 14 deletions(-) - -diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn -index 50df0e4085..1753dd480b 100644 ---- a/ui/gl/BUILD.gn -+++ b/ui/gl/BUILD.gn -@@ -274,7 +274,10 @@ jumbo_component("gl") { - "//build/config/linux:xext", - ] - -- deps += [ "//ui/gfx/x" ] -+ deps += [ -+ "//ui/base/x", -+ "//ui/gfx/x", -+ ] - } - if (is_win) { - sources += [ -diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc -index f4c13bed18..777bf767cb 100644 ---- a/ui/gl/gl_surface_glx.cc -+++ b/ui/gl/gl_surface_glx.cc -@@ -21,6 +21,7 @@ - #include "base/time/time.h" - #include "base/trace_event/trace_event.h" - #include "build/build_config.h" -+#include "ui/base/x/x11_util.h" - #include "ui/events/platform/platform_event_source.h" - #include "ui/gfx/x/x11.h" - #include "ui/gfx/x/x11_connection.h" -@@ -431,7 +432,9 @@ bool GLSurfaceGLX::InitializeOneOff() { - } - - const XVisualInfo& visual_info = -- gl::GLVisualPickerGLX::GetInstance()->rgba_visual(); -+ ui::IsCompositingManagerPresent() -+ ? gl::GLVisualPickerGLX::GetInstance()->rgba_visual() -+ : gl::GLVisualPickerGLX::GetInstance()->system_visual(); - g_visual = visual_info.visual; - g_depth = visual_info.depth; - g_colormap = -@@ -581,18 +584,30 @@ bool NativeViewGLSurfaceGLX::Initialize(GLSurfaceFormat format) { - } - size_ = gfx::Size(attributes.width, attributes.height); - -- XSetWindowAttributes swa; -- memset(&swa, 0, sizeof(swa)); -- swa.background_pixmap = 0; -- swa.bit_gravity = NorthWestGravity; -- swa.colormap = g_colormap; -- swa.background_pixel = 0; -- swa.border_pixel = 0; -- window_ = XCreateWindow( -- gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, size_.width(), -- size_.height(), 0 /* border_width */, g_depth, InputOutput, g_visual, -- CWBackPixmap | CWBitGravity | CWColormap | CWBackPixel | CWBorderPixel, -- &swa); -+ XSetWindowAttributes swa = { -+ .background_pixmap = 0, -+ .bit_gravity = NorthWestGravity, -+ .colormap = g_colormap, -+ .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM -+ .border_pixel = 0, -+ }; -+ auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel; -+ if (ui::IsCompositingManagerPresent() && -+ XVisualIDFromVisual(attributes.visual) == XVisualIDFromVisual(g_visual)) { -+ // When parent and child are using the same visual, the back buffer will be -+ // shared between parent and child. If WM compositing is enabled, we set -+ // child's background pixel to ARGB(0,0,0,0), so ARGB(0,0,0,0) will be -+ // filled to the shared buffer, when the child window is mapped. It can -+ // avoid an annoying flash when the child window is mapped below. -+ // If WM compositing is disabled, we don't set the background pixel, so -+ // nothing will be draw when the child window is mapped. -+ value_mask |= CWBackPixel; -+ } -+ -+ window_ = -+ XCreateWindow(gfx::GetXDisplay(), parent_window_, 0 /* x */, 0 /* y */, -+ size_.width(), size_.height(), 0 /* border_width */, -+ g_depth, InputOutput, g_visual, value_mask, &swa); - if (!window_) { - LOG(ERROR) << "XCreateWindow failed"; - return false; diff --git a/network/web/chromium-browser/files/chromium-non-const-deltas.patch b/network/web/chromium-browser/files/chromium-non-const-deltas.patch deleted file mode 100644 index 646cfd0f38..0000000000 --- a/network/web/chromium-browser/files/chromium-non-const-deltas.patch +++ /dev/null @@ -1,21 +0,0 @@ -Bug: https://bugs.gentoo.org/686982 - -TabStripModelChange has a defaulted default constructor and a const data member -without a user-defined default constructor. This leads to a bug: - -error: defaulting this default constructor would delete it after -its first declaration - -We declare the data member as non-const instead. - ---- a/chrome/browser/ui/tabs/tab_strip_model_observer.h -+++ b/chrome/browser/ui/tabs/tab_strip_model_observer.h -@@ -103,7 +103,7 @@ class TabStripModelChange { - - private: - const Type type_ = kSelectionOnly; -- const std::vector deltas_; -+ std::vector deltas_; - - DISALLOW_COPY_AND_ASSIGN(TabStripModelChange); - }; diff --git a/network/web/chromium-browser/files/chromium-system-icu.patch b/network/web/chromium-browser/files/chromium-system-icu.patch deleted file mode 100644 index 23dde5d712..0000000000 --- a/network/web/chromium-browser/files/chromium-system-icu.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/text/character_property_data.h b/third_party/blink/renderer/platform/text/character_property_data.h -index 28fb6a9..bb4dbd7 100644 ---- a/third_party/blink/renderer/platform/text/character_property_data.h -+++ b/third_party/blink/renderer/platform/text/character_property_data.h -@@ -244,10 +244,12 @@ static const UChar32 kIsHangulRanges[] = { - 0xD7B0, 0xD7FF, - // Halfwidth Hangul Jamo - // https://www.unicode.org/charts/nameslist/c_FF00.html -- 0xFFA0, 0xFFDC, -+ 0xFFA0, 0xFFDB, - }; - --static const UChar32 kIsHangulArray[] = {}; -+static const UChar32 kIsHangulArray[] = { -+ 0xFFDC, -+}; - - #if !defined(USING_SYSTEM_ICU) - // Freezed trie tree, see character_property_data_generator.cc. diff --git a/network/web/chromium-browser/files/chromium-widevine-r2.patch b/network/web/chromium-browser/files/chromium-widevine-r2.patch deleted file mode 100755 index 5527f7f293..0000000000 --- a/network/web/chromium-browser/files/chromium-widevine-r2.patch +++ /dev/null @@ -1,39 +0,0 @@ -Minimal patch to get chromium to compile with widevine support. - -Exactly the same as -r1, but we now need to patch -ninja to pretty please not terminate our build. - -caveat emptor: it's in no way clear that building chromium this -way is safer, from a security perspective, than whatever Google -Chrome does. - -Upstream appears to be cooking up a code-signing trust-chain -which may protect users against malicious cdm blobs; I doubt -we benefit from these using this kludge. Ideally, someone -would look into this more carefully than I have ... tbh as -soon as I got my "stories" back, I pretty much lost interest :) - --gmt - --- ---- a/third_party/widevine/cdm/stub/widevine_cdm_version.h -+++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h -@@ -10,6 +10,7 @@ - - #include "third_party/widevine/cdm/widevine_cdm_common.h" - -+#define WIDEVINE_CDM_VERSION_STRING "unknown" - #define WIDEVINE_CDM_AVAILABLE - - #endif // WIDEVINE_CDM_VERSION_H_ ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -11,7 +11,7 @@ import("//third_party/widevine/cdm/widev - # Internal Cast builds set enable_widevine=true to bring in Widevine support. - # TODO(xhwang): Support component updated CDM on other platforms and remove this - # assert. --assert(!enable_widevine || is_win || is_mac || is_chromecast, -+assert(!enable_widevine || is_win || is_mac || is_chromecast || is_linux, - "Component updated CDM only supported on Windows and Mac for now.") - - widevine_arch = current_cpu diff --git a/network/web/chromium-browser/files/disallow-partial-swaps-for-linux-based-on-gl_version.patch b/network/web/chromium-browser/files/disallow-partial-swaps-for-linux-based-on-gl_version.patch deleted file mode 100644 index 879cccf92a..0000000000 --- a/network/web/chromium-browser/files/disallow-partial-swaps-for-linux-based-on-gl_version.patch +++ /dev/null @@ -1,34 +0,0 @@ -From e6a0cdf0b7045e7f9029cce287bcc539052ef79a Mon Sep 17 00:00:00 2001 -From: Jonathan Backer -Date: Mon, 17 Jun 2019 16:46:37 +0000 -Subject: [PATCH] Disallow partial swaps for linux based on gl_version_string - -This was missed in https://chromium-review.googlesource.com/c/chromium/src/+/1601182 - -Bug: 973216,941670,957541,948640 -Change-Id: I3d2002c38fe09d87c9a3db951dfc2ab112319caf -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1662528 -Reviewed-by: Peng Huang -Commit-Queue: Peng Huang -Commit-Queue: Jonathan Backer -Auto-Submit: Jonathan Backer -Cr-Commit-Position: refs/heads/master@{#669701} ---- - gpu/config/gpu_driver_bug_list.json | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json -index 591a0642e8..e4a123ccd0 100644 ---- a/gpu/config/gpu_driver_bug_list.json -+++ b/gpu/config/gpu_driver_bug_list.json -@@ -1865,10 +1865,6 @@ - }, - "gl_type": "gl", - "gl_version_string": ".*Mesa.*", -- "direct_rendering_version": { -- "op" : "<", -- "value": "2.3" -- }, - "features": [ - "disable_post_sub_buffers_for_onscreen_surfaces" - ] diff --git a/network/web/chromium-browser/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch b/network/web/chromium-browser/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch deleted file mode 100755 index 3c27898ed2..0000000000 --- a/network/web/chromium-browser/files/fix-cfi-icall-failure-with-use_system_libjpeg-true.patch +++ /dev/null @@ -1,52 +0,0 @@ -From db82db1b609f30d144d45477f55697818bcd363c Mon Sep 17 00:00:00 2001 -From: Vlad Tsyrklevich -Date: Tue, 31 Jul 2018 01:03:22 +0000 -Subject: [PATCH] Fix cfi-icall failure with use_system_libjpeg=true - -JPEGImageReader::AllocateSampleArray() can call the function pointer -(*info_.mem->alloc_sarray) which can be set by the systems non-CFI -enabled libjpeg DSO when chromium is built with use_system_libjpeg=true. -Disable cfi-icall for that method. - -Bug: 866290 -Change-Id: I6d9bbf08c514d6d5f48ad34c3802c63419ed1223 -Reviewed-on: https://chromium-review.googlesource.com/1155927 -Reviewed-by: Kentaro Hara -Commit-Queue: Vlad Tsyrklevich -Cr-Commit-Position: refs/heads/master@{#579270} ---- - .../renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc | 2 +- - third_party/blink/renderer/platform/wtf/compiler.h | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -index a1e440f6eed5..fd4e72ba053c 100644 ---- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -+++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -@@ -643,7 +643,7 @@ class JPEGImageReader final { - IntSize UvSize() const { return uv_size_; } - - private: -- JSAMPARRAY AllocateSampleArray() { -+ NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { - // Some output color spaces don't need the sample array: don't allocate in that - // case. - #if defined(TURBO_JPEG_RGB_SWIZZLE) -diff --git a/third_party/blink/renderer/platform/wtf/compiler.h b/third_party/blink/renderer/platform/wtf/compiler.h -index 51595afdc955..5225a70309d6 100644 ---- a/third_party/blink/renderer/platform/wtf/compiler.h -+++ b/third_party/blink/renderer/platform/wtf/compiler.h -@@ -57,8 +57,10 @@ - #if defined(__clang__) - #define NO_SANITIZE_UNRELATED_CAST \ - __attribute__((no_sanitize("cfi-unrelated-cast", "vptr"))) -+#define NO_SANITIZE_CFI_ICALL __attribute__((no_sanitize("cfi-icall"))) - #else - #define NO_SANITIZE_UNRELATED_CAST -+#define NO_SANITIZE_CFI_ICALL - #endif - - #endif /* WTF_Compiler_h */ --- -2.18.0 - diff --git a/network/web/chromium-browser/files/fix-missing-include.patch b/network/web/chromium-browser/files/fix-missing-include.patch new file mode 100644 index 0000000000..44b891389b --- /dev/null +++ b/network/web/chromium-browser/files/fix-missing-include.patch @@ -0,0 +1,45 @@ +diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc +--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc 2019-09-20 01:18:30.000000000 +0300 ++++ chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.cc 2019-09-23 03:44:32.589602845 +0300 +@@ -24,6 +24,7 @@ + */ + + #include "third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.h" ++#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h" + + #include + +diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc +--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc 2019-09-20 01:18:30.000000000 +0300 ++++ chromium-77.0.3865.93/third_party/blink/renderer/modules/webgl/oes_element_index_uint.cc 2019-09-22 21:07:19.163921146 +0300 +@@ -24,6 +24,7 @@ + */ + + #include "third_party/blink/renderer/modules/webgl/oes_element_index_uint.h" ++#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h" + + namespace blink { + +diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/navigator_vr.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/navigator_vr.cc +--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/navigator_vr.cc 2019-09-20 01:18:30.000000000 +0300 ++++ chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/navigator_vr.cc 2019-09-22 16:29:52.676841915 +0300 +@@ -18,6 +18,7 @@ + #include "third_party/blink/renderer/modules/xr/navigator_xr.h" + #include "third_party/blink/renderer/platform/heap/heap.h" + #include "third_party/blink/renderer/platform/instrumentation/use_counter.h" ++#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h" + + namespace blink { + +diff -Nru chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/vr_controller.cc chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/vr_controller.cc +--- chromium-77.0.3865.93.orig/third_party/blink/renderer/modules/vr/vr_controller.cc 2019-09-20 01:18:30.000000000 +0300 ++++ chromium-77.0.3865.93/third_party/blink/renderer/modules/vr/vr_controller.cc 2019-09-21 20:59:54.174954333 +0300 +@@ -12,6 +12,7 @@ + #include "third_party/blink/renderer/core/frame/local_frame.h" + #include "third_party/blink/renderer/modules/vr/navigator_vr.h" + #include "third_party/blink/renderer/platform/wtf/assertions.h" ++#include "third_party/blink/renderer/platform/graphics/canvas_2d_layer_bridge.h" + + namespace blink { + + diff --git a/network/web/chromium-browser/files/fix-wrong-string-initialization-in-LinkedHashSet.patch b/network/web/chromium-browser/files/fix-wrong-string-initialization-in-LinkedHashSet.patch new file mode 100644 index 0000000000..0047c99f04 --- /dev/null +++ b/network/web/chromium-browser/files/fix-wrong-string-initialization-in-LinkedHashSet.patch @@ -0,0 +1,135 @@ +From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001 +From: Jeremy Roman +Date: Wed, 7 Aug 2019 13:26:48 +0000 +Subject: [PATCH] WTF: Make LinkedHashSet understand values for which memset + initialization would be bad. + +Includes a unit test which fails before, and uses this to fix FontCacheKeyTraits. + +Bug: 980025 +Change-Id: If41f97444c7fd37b9b95d6dadaf3da5689079e9e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1739948 +Reviewed-by: Kentaro Hara +Reviewed-by: Yutaka Hirano +Commit-Queue: Jeremy Roman +Cr-Commit-Position: refs/heads/master@{#684731} +--- + .../renderer/platform/fonts/font_cache_key.h | 4 ++ + .../renderer/platform/wtf/linked_hash_set.h | 10 ++++- + .../platform/wtf/list_hash_set_test.cc | 45 +++++++++++++++++-- + 3 files changed, 55 insertions(+), 4 deletions(-) + +diff --git a/third_party/blink/renderer/platform/fonts/font_cache_key.h b/third_party/blink/renderer/platform/fonts/font_cache_key.h +index 0efc8fb909..90063cb2ea 100644 +--- a/third_party/blink/renderer/platform/fonts/font_cache_key.h ++++ b/third_party/blink/renderer/platform/fonts/font_cache_key.h +@@ -133,6 +133,10 @@ struct FontCacheKeyHash { + + struct FontCacheKeyTraits : WTF::SimpleClassHashTraits { + STATIC_ONLY(FontCacheKeyTraits); ++ ++ // std::string's empty state need not be zero in all implementations, ++ // and it is held within FontFaceCreationParams. ++ static const bool kEmptyValueIsZero = false; + }; + + } // namespace blink +diff --git a/third_party/blink/renderer/platform/wtf/linked_hash_set.h b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +index b35b6e95f1..77e524c084 100644 +--- a/third_party/blink/renderer/platform/wtf/linked_hash_set.h ++++ b/third_party/blink/renderer/platform/wtf/linked_hash_set.h +@@ -146,6 +146,11 @@ class LinkedHashSetNode : public LinkedHashSetNodeBase { + LinkedHashSetNodeBase* next) + : LinkedHashSetNodeBase(prev, next), value_(value) {} + ++ LinkedHashSetNode(ValueArg&& value, ++ LinkedHashSetNodeBase* prev, ++ LinkedHashSetNodeBase* next) ++ : LinkedHashSetNodeBase(prev, next), value_(std::move(value)) {} ++ + LinkedHashSetNode(LinkedHashSetNode&& other) + : LinkedHashSetNodeBase(std::move(other)), + value_(std::move(other.value_)) {} +@@ -445,10 +450,13 @@ struct LinkedHashSetTraits + + // The slot is empty when the next_ field is zero so it's safe to zero + // the backing. +- static const bool kEmptyValueIsZero = true; ++ static const bool kEmptyValueIsZero = ValueTraits::kEmptyValueIsZero; + + static const bool kHasIsEmptyValueFunction = true; + static bool IsEmptyValue(const Node& node) { return !node.next_; } ++ static Node EmptyValue() { ++ return Node(ValueTraits::EmptyValue(), nullptr, nullptr); ++ } + + static const int kDeletedValue = -1; + +diff --git a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +index 4c3f8990b0..cd1be0089b 100644 +--- a/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc ++++ b/third_party/blink/renderer/platform/wtf/list_hash_set_test.cc +@@ -487,6 +487,7 @@ struct Simple { + }; + + struct Complicated { ++ Complicated() : Complicated(0) {} + Complicated(int value) : simple_(value) { objects_constructed_++; } + + Complicated(const Complicated& other) : simple_(other.simple_) { +@@ -495,9 +496,6 @@ struct Complicated { + + Simple simple_; + static int objects_constructed_; +- +- private: +- Complicated() = delete; + }; + + int Complicated::objects_constructed_ = 0; +@@ -731,4 +729,45 @@ TYPED_TEST(ListOrLinkedHashSetMoveOnlyTest, MoveOnlyValue) { + + } // anonymous namespace + ++// A unit type which objects to its state being initialized wrong. ++struct InvalidZeroValue { ++ InvalidZeroValue() = default; ++ InvalidZeroValue(WTF::HashTableDeletedValueType) : deleted_(true) {} ++ ~InvalidZeroValue() { CHECK(ok_); } ++ bool IsHashTableDeletedValue() const { return deleted_; } ++ ++ bool ok_ = true; ++ bool deleted_ = false; ++}; ++ ++template <> ++struct HashTraits : SimpleClassHashTraits { ++ static const bool kEmptyValueIsZero = false; ++}; ++ ++template <> ++struct DefaultHash { ++ struct Hash { ++ static unsigned GetHash(const InvalidZeroValue&) { return 0; } ++ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) { ++ return true; ++ } ++ }; ++}; ++ ++template ++class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {}; ++ ++using InvalidZeroValueSetTypes = ++ testing::Types, ++ ListHashSet, ++ LinkedHashSet>; ++TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes); ++ ++TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) { ++ using Set = TypeParam; ++ Set set; ++ set.insert(InvalidZeroValue()); ++} ++ + } // namespace WTF diff --git a/network/web/chromium-browser/files/include-limits-in-web_time_range.cc.patch b/network/web/chromium-browser/files/include-limits-in-web_time_range.cc.patch new file mode 100644 index 0000000000..8ef9c77bcf --- /dev/null +++ b/network/web/chromium-browser/files/include-limits-in-web_time_range.cc.patch @@ -0,0 +1,31 @@ +From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001 +From: Dave Tapuska +Date: Mon, 12 Aug 2019 22:30:13 +0000 +Subject: [PATCH] Fix build failure due to missing include for + std::numeric_limits usage. + +Some configurations fail to build, limits should have been included. + +BUG=992832 + +Change-Id: I894ba0543bfcef101c93259e39a31d12ae6d035c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1747981 +Commit-Queue: Dave Tapuska +Reviewed-by: Mostyn Bramley-Moore +Cr-Commit-Position: refs/heads/master@{#686214} +--- + third_party/blink/renderer/platform/exported/web_time_range.cc | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/third_party/blink/renderer/platform/exported/web_time_range.cc b/third_party/blink/renderer/platform/exported/web_time_range.cc +index 384566a13e..68d83e14fe 100644 +--- a/third_party/blink/renderer/platform/exported/web_time_range.cc ++++ b/third_party/blink/renderer/platform/exported/web_time_range.cc +@@ -31,6 +31,7 @@ + #include "third_party/blink/public/platform/web_time_range.h" + + #include ++#include + + namespace blink { + diff --git a/network/web/chromium-browser/files/include-memory-in-one_euro_filter.h.patch b/network/web/chromium-browser/files/include-memory-in-one_euro_filter.h.patch new file mode 100644 index 0000000000..d4a323f536 --- /dev/null +++ b/network/web/chromium-browser/files/include-memory-in-one_euro_filter.h.patch @@ -0,0 +1,32 @@ +From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 26 Jul 2019 16:18:17 +0000 +Subject: [PATCH] IWYU: include in one_euro_filter.h as it uses + std::unique_ptr +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug: 819294 +Change-Id: Ie1530f7046b0c8eb76e26adca530fa57c67ed876 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1720637 +Reviewed-by: Ella Ge +Commit-Queue: José Dapena Paz +Cr-Commit-Position: refs/heads/master@{#681321} +--- + third_party/one_euro_filter/src/one_euro_filter.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/third_party/one_euro_filter/src/one_euro_filter.h b/third_party/one_euro_filter/src/one_euro_filter.h +index 7f8d15b62a..a8cd0ab9a2 100644 +--- a/third_party/one_euro_filter/src/one_euro_filter.h ++++ b/third_party/one_euro_filter/src/one_euro_filter.h +@@ -1,6 +1,8 @@ + #ifndef ONE_EURO_ONE_EURO_FILTER_H_ + #define ONE_EURO_ONE_EURO_FILTER_H_ + ++#include ++ + #include "low_pass_filter.h" + + namespace one_euro_filter { diff --git a/network/web/chromium-browser/files/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch b/network/web/chromium-browser/files/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch deleted file mode 100644 index 2a2cad0db4..0000000000 --- a/network/web/chromium-browser/files/libstdc-do-not-assume-unique_ptr-has-ostream-operator.patch +++ /dev/null @@ -1,36 +0,0 @@ -From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Fri, 26 Apr 2019 20:07:05 +0000 -Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -CompositorFrameReportingController is using DCHECK_NE to compare -several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr -does not have an ostream operator. - -Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292 -Reviewed-by: Sunny Sachanandani -Commit-Queue: José Dapena Paz -Cr-Commit-Position: refs/heads/master@{#654570} ---- - cc/scheduler/compositor_frame_reporting_controller.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc -index f1587ed158..1b17021fd2 100644 ---- a/cc/scheduler/compositor_frame_reporting_controller.cc -+++ b/cc/scheduler/compositor_frame_reporting_controller.cc -@@ -31,8 +31,8 @@ void CompositorFrameReportingController::WillBeginImplFrame() { - - void CompositorFrameReportingController::WillBeginMainFrame() { - DCHECK(reporters_[PipelineStage::kBeginImplFrame]); -- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame], -- reporters_[PipelineStage::kBeginImplFrame]); -+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] != -+ reporters_[PipelineStage::kBeginImplFrame]); - reporters_[PipelineStage::kBeginImplFrame]->StartStage( - "SendBeginMainFrameToCommit"); - AdvanceReporterStage(PipelineStage::kBeginImplFrame, diff --git a/network/web/chromium-browser/files/link-against-harfbuzz-subset.patch b/network/web/chromium-browser/files/link-against-harfbuzz-subset.patch new file mode 100644 index 0000000000..05731a55b2 --- /dev/null +++ b/network/web/chromium-browser/files/link-against-harfbuzz-subset.patch @@ -0,0 +1,55 @@ +From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001 +From: Raphael Kubo da Costa +Date: Mon, 29 Jul 2019 10:54:28 +0000 +Subject: [PATCH] Also link against libharfbuzz-subset when use_system_harfbuzz + is true +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When building HarfBuzz as part of Chromium, there is a single source set +with all the files we need in the build. + +Upstream HarfBuzz, on the other hand, produces a few different libraries: +harfbuzz, harfbuzz-icu and harfbuzz-subset. When |use_system_harfbuzz| is +true, we were only looking for (and using) harfbuzz.pc with pkg-config even +though we also use symbols from libharfbuzz-subset.so. This resulted in +errors when linking: + + ld: obj/skia/skia/SkPDFSubsetFont.o: in function `SkPDFSubsetFont(sk_sp, SkPDFGlyphUse const&, SkPDF::Metadata::Subsetter, char const*, int)': + SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x48a): undefined reference to `hb_subset_input_create_or_fail' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x4af): undefined reference to `hb_subset_input_glyph_set' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5d7): undefined reference to `hb_subset_input_set_retain_gids' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5e4): undefined reference to `hb_subset_input_set_drop_hints' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x5f3): undefined reference to `hb_subset' + ld: SkPDFSubsetFont.cpp:(.text._Z15SkPDFSubsetFont5sk_spI6SkDataERK13SkPDFGlyphUseN5SkPDF8Metadata9SubsetterEPKci+0x66f): undefined reference to `hb_subset_input_destroy' + +as reported in +https://groups.google.com/a/chromium.org/d/msg/chromium-packagers/UyJsVJ5QqWo/jSv5z7-rEQAJ + +Change-Id: I997af075c7b7263cd7cc71a63db5b0f93bd1ab59 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715288 +Auto-Submit: Raphael Kubo da Costa +Commit-Queue: Dominik Röttsches +Reviewed-by: Dominik Röttsches +Cr-Commit-Position: refs/heads/master@{#681760} +--- + third_party/harfbuzz-ng/BUILD.gn | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn +index 37d8e334c2..72013eb1db 100644 +--- a/third_party/harfbuzz-ng/BUILD.gn ++++ b/third_party/harfbuzz-ng/BUILD.gn +@@ -16,7 +16,10 @@ if (use_system_harfbuzz) { + "//third_party:freetype_harfbuzz", + "//third_party/freetype:freetype_source", + ] +- packages = [ "harfbuzz" ] ++ packages = [ ++ "harfbuzz", ++ "harfbuzz-subset", ++ ] + } + } else { + config("harfbuzz_config") { diff --git a/network/web/chromium-browser/files/marcos.patch b/network/web/chromium-browser/files/marcos.patch deleted file mode 100755 index dc4be5ebd6..0000000000 --- a/network/web/chromium-browser/files/marcos.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nuar a/third_party/libdrm/src/xf86drm.h b/third_party/libdrm/src/xf86drm.h ---- a/third_party/libdrm/src/xf86drm.h 2018-09-12 11:32:38.000000000 +0300 -+++ b/third_party/libdrm/src/xf86drm.h 2018-09-12 13:53:15.815152841 +0300 -@@ -35,6 +35,7 @@ - #define _XF86DRM_H_ - - #include -+#include - #include - #include - #include diff --git a/network/web/chromium-browser/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch b/network/web/chromium-browser/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch deleted file mode 100755 index 3a71f8c057..0000000000 --- a/network/web/chromium-browser/files/only-disable-cfi-icall-when-use_system_libjpeg-true.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 20f81a066ffdf6bd30fb4b696b8b3e101368e2f6 Mon Sep 17 00:00:00 2001 -From: Vlad Tsyrklevich -Date: Tue, 31 Jul 2018 23:21:09 +0000 -Subject: [PATCH] Only disable cfi-icall when use_system_libjpeg=true - -Bug: 866290 -Change-Id: Ic5d175b3b854665f50781650406d599d09ee9849 -Reviewed-on: https://chromium-review.googlesource.com/1157136 -Reviewed-by: Kentaro Hara -Commit-Queue: Vlad Tsyrklevich -Cr-Commit-Position: refs/heads/master@{#579614} ---- - .../platform/image-decoders/jpeg/jpeg_image_decoder.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -index fd4e72ba053c..afa90d83efee 100644 ---- a/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -+++ b/third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc -@@ -643,7 +643,10 @@ class JPEGImageReader final { - IntSize UvSize() const { return uv_size_; } - - private: -- NO_SANITIZE_CFI_ICALL JSAMPARRAY AllocateSampleArray() { -+#if defined(USE_SYSTEM_LIBJPEG) -+ NO_SANITIZE_CFI_ICALL -+#endif -+ JSAMPARRAY AllocateSampleArray() { - // Some output color spaces don't need the sample array: don't allocate in that - // case. - #if defined(TURBO_JPEG_RGB_SWIZZLE) --- -2.18.0 - diff --git a/network/web/chromium-browser/pspec.xml b/network/web/chromium-browser/pspec.xml index dcb6b6e54d..4b09bdbc36 100644 --- a/network/web/chromium-browser/pspec.xml +++ b/network/web/chromium-browser/pspec.xml @@ -13,7 +13,7 @@ app:gui A WebKit powered web browser Chromium-browser is an open-source web browser, powered by WebKit. - http://gsdview.appspot.com/chromium-browser-official/chromium-76.0.3809.111.tar.xz + http://gsdview.appspot.com/chromium-browser-official/chromium-77.0.3865.93.tar.xz alsa-lib-devel at-spi2-atk-devel @@ -58,7 +58,7 @@ libopus-devel libsecret-devel libtheora-devel - libva-devel + libva-devel libvdpau-devel libvorbis-devel libxcb-devel @@ -88,14 +88,18 @@ python-devel json-c-devel openjpeg2-devel - re2-devel - ffmpeg-devel - freetype-devel - libopus-devel + re2-devel + ffmpeg-devel + freetype-devel - chromium-skia-harmony.patch - chromium-widevine.patch + chromium-skia-harmony.patch + chromium-widevine.patch + fix-wrong-string-initialization-in-LinkedHashSet.patch + include-limits-in-web_time_range.cc.patch + include-memory-in-one_euro_filter.h.patch + fix-missing-include.patch + link-against-harfbuzz-subset.patch @@ -128,7 +132,7 @@ libXtst libxcb libxslt - libva + libva nss @@ -149,15 +153,15 @@ harfbuzz - re2 - ffmpeg - freetype - libopus - snappy - webp - freetype - libdrm - libjpeg-turbo + re2 + ffmpeg + freetype + libopus + snappy + webp + freetype + libdrm + libjpeg-turbo @@ -177,14 +181,21 @@ - + + 2019-09-24 + 77.0.3865.93 + Version Bump. + Idris Kalp + idriskalp@gmail.com + + 2019-08-16 76.0.3809.111 Version Bump. Idris Kalp idriskalp@gmail.com - + 2019-07-22 75.0.3770.144 Version Bump. @@ -239,7 +250,7 @@ Version Bump. Ergün Salman poyraz76@pisilinux.org - + 3 2016-09-10 53.0.2785.101 @@ -290,4 +301,4 @@ admin@pisilinux.org - + \ No newline at end of file