chromium-browser: version bump to 77.0.3865.93 by İdris Kalp

This commit is contained in:
suvari
2019-09-24 17:57:20 +03:00
parent a4af8e005a
commit c4bba29fad
17 changed files with 332 additions and 535 deletions
+1 -1
View File
@@ -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 \
@@ -1,168 +0,0 @@
From 777d166eec22c1894108dce985498f75ac5931e8 Mon Sep 17 00:00:00 2001
From: Mike Gilbert <floppym@gentoo.org>
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
@@ -1,98 +0,0 @@
From 90e226ba50c98b5e60f74f9dce998b17117f9051 Mon Sep 17 00:00:00 2001
From: Peng Huang <penghuang@chromium.org>
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 <penghuang@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
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;
@@ -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<Delta> deltas_;
+ std::vector<Delta> deltas_;
DISALLOW_COPY_AND_ASSIGN(TabStripModelChange);
};
@@ -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.
@@ -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
@@ -1,34 +0,0 @@
From e6a0cdf0b7045e7f9029cce287bcc539052ef79a Mon Sep 17 00:00:00 2001
From: Jonathan Backer <backer@chromium.org>
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 <penghuang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Commit-Queue: Jonathan Backer <backer@chromium.org>
Auto-Submit: Jonathan Backer <backer@chromium.org>
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"
]
@@ -1,52 +0,0 @@
From db82db1b609f30d144d45477f55697818bcd363c Mon Sep 17 00:00:00 2001
From: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
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 <haraken@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
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
@@ -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 <thread>
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 {
@@ -0,0 +1,135 @@
From 74138b9febd37eac0fc26b8efb110014a83a52c6 Mon Sep 17 00:00:00 2001
From: Jeremy Roman <jbroman@chromium.org>
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 <haraken@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
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<FontCacheKey> {
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<InvalidZeroValue> : SimpleClassHashTraits<InvalidZeroValue> {
+ static const bool kEmptyValueIsZero = false;
+};
+
+template <>
+struct DefaultHash<InvalidZeroValue> {
+ struct Hash {
+ static unsigned GetHash(const InvalidZeroValue&) { return 0; }
+ static bool Equal(const InvalidZeroValue&, const InvalidZeroValue&) {
+ return true;
+ }
+ };
+};
+
+template <typename Set>
+class ListOrLinkedHashSetInvalidZeroTest : public testing::Test {};
+
+using InvalidZeroValueSetTypes =
+ testing::Types<ListHashSet<InvalidZeroValue>,
+ ListHashSet<InvalidZeroValue, 1>,
+ LinkedHashSet<InvalidZeroValue>>;
+TYPED_TEST_SUITE(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValueSetTypes);
+
+TYPED_TEST(ListOrLinkedHashSetInvalidZeroTest, InvalidZeroValue) {
+ using Set = TypeParam;
+ Set set;
+ set.insert(InvalidZeroValue());
+}
+
} // namespace WTF
@@ -0,0 +1,31 @@
From 5baf7df7f4c5971dab552897eeef94b194650ce5 Mon Sep 17 00:00:00 2001
From: Dave Tapuska <dtapuska@chromium.org>
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 <dtapuska@chromium.org>
Reviewed-by: Mostyn Bramley-Moore <mostynb@vewd.com>
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 <cmath>
+#include <limits>
namespace blink {
@@ -0,0 +1,32 @@
From 8c747a9c14ed4905f60f6680e2e09e33ea34163e Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Fri, 26 Jul 2019 16:18:17 +0000
Subject: [PATCH] IWYU: include <memory> 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 <eirage@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
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 <memory>
+
#include "low_pass_filter.h"
namespace one_euro_filter {
@@ -1,36 +0,0 @@
From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
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 <sunnyps@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
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,
@@ -0,0 +1,55 @@
From 27e25336b8316ff3ec4e464058682ed85801fd06 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
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<SkData>, 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 <raphael.kubo.da.costa@intel.com>
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
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") {
@@ -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 <stdarg.h>
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <stdint.h>
#include <drm.h>
@@ -1,34 +0,0 @@
From 20f81a066ffdf6bd30fb4b696b8b3e101368e2f6 Mon Sep 17 00:00:00 2001
From: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
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 <haraken@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
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
+33 -22
View File
@@ -13,7 +13,7 @@
<IsA>app:gui</IsA>
<Summary>A WebKit powered web browser</Summary>
<Description>Chromium-browser is an open-source web browser, powered by WebKit.</Description>
<Archive type="tarxz" sha1sum="89d022608b8c7a13752563ed3bbd9e5931b2d289">http://gsdview.appspot.com/chromium-browser-official/chromium-76.0.3809.111.tar.xz</Archive>
<Archive type="tarxz" sha1sum="9476a89dd7882d02887bdb2fc058da75523a7374">http://gsdview.appspot.com/chromium-browser-official/chromium-77.0.3865.93.tar.xz</Archive>
<BuildDependencies>
<Dependency>alsa-lib-devel</Dependency>
<Dependency>at-spi2-atk-devel</Dependency>
@@ -58,7 +58,7 @@
<Dependency>libopus-devel</Dependency>
<Dependency>libsecret-devel</Dependency>
<Dependency>libtheora-devel</Dependency>
<Dependency>libva-devel</Dependency>
<Dependency>libva-devel</Dependency>
<Dependency>libvdpau-devel</Dependency>
<Dependency>libvorbis-devel</Dependency>
<Dependency>libxcb-devel</Dependency>
@@ -88,14 +88,18 @@
<Dependency>python-devel</Dependency>
<Dependency>json-c-devel</Dependency>
<Dependency>openjpeg2-devel</Dependency>
<Dependency>re2-devel</Dependency>
<Dependency>ffmpeg-devel</Dependency>
<Dependency>freetype-devel</Dependency>
<Dependency>libopus-devel</Dependency>
<Dependency>re2-devel</Dependency>
<Dependency>ffmpeg-devel</Dependency>
<Dependency>freetype-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="0">chromium-skia-harmony.patch</Patch>
<Patch level="1">chromium-widevine.patch</Patch>
<Patch level="0">chromium-skia-harmony.patch</Patch>
<Patch level="1">chromium-widevine.patch</Patch>
<Patch level="1">fix-wrong-string-initialization-in-LinkedHashSet.patch</Patch>
<Patch level="1">include-limits-in-web_time_range.cc.patch</Patch>
<Patch level="1">include-memory-in-one_euro_filter.h.patch</Patch>
<Patch level="1">fix-missing-include.patch</Patch>
<Patch level="1">link-against-harfbuzz-subset.patch</Patch>
</Patches>
</Source>
<Package>
@@ -128,7 +132,7 @@
<Dependency>libXtst</Dependency>
<Dependency>libxcb</Dependency>
<Dependency>libxslt</Dependency>
<Dependency>libva</Dependency>
<Dependency>libva</Dependency>
<!--Dependency>minizip</Dependency-->
<!--Dependency>mit-kerberos</Dependency-->
<Dependency>nss</Dependency>
@@ -149,15 +153,15 @@
<!--Dependency>snappy</Dependency-->
<!--Dependency>freetype</Dependency-->
<Dependency>harfbuzz</Dependency>
<Dependency>re2</Dependency>
<Dependency>ffmpeg</Dependency>
<Dependency>freetype</Dependency>
<Dependency>libopus</Dependency>
<Dependency>snappy</Dependency>
<Dependency>webp</Dependency>
<Dependency>freetype</Dependency>
<Dependency>libdrm</Dependency>
<Dependency>libjpeg-turbo</Dependency>
<Dependency>re2</Dependency>
<Dependency>ffmpeg</Dependency>
<Dependency>freetype</Dependency>
<Dependency>libopus</Dependency>
<Dependency>snappy</Dependency>
<Dependency>webp</Dependency>
<Dependency>freetype</Dependency>
<Dependency>libdrm</Dependency>
<Dependency>libjpeg-turbo</Dependency>
<!--Dependency>glibc</Dependency-->
</RuntimeDependencies>
<Files>
@@ -177,14 +181,21 @@
</Package>
<History>
<Update release="15">
<Update release="16">
<Date>2019-09-24</Date>
<Version>77.0.3865.93</Version>
<Comment>Version Bump.</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="15">
<Date>2019-08-16</Date>
<Version>76.0.3809.111</Version>
<Comment>Version Bump.</Comment>
<Name>Idris Kalp</Name>
<Email>idriskalp@gmail.com</Email>
</Update>
<Update release="14">
<Update release="14">
<Date>2019-07-22</Date>
<Version>75.0.3770.144</Version>
<Comment>Version Bump.</Comment>
@@ -239,7 +250,7 @@
<Comment>Version Bump.</Comment>
<Name>Ergün Salman</Name>
<Email>poyraz76@pisilinux.org</Email>
</Update>
</Update>3
<Update release="7">
<Date>2016-09-10</Date>
<Version>53.0.2785.101</Version>
@@ -290,4 +301,4 @@
<Email>admin@pisilinux.org</Email>
</Update>
</History>
</PISI>
</PISI>