diff options
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r-- | www-client/chromium/files/chromium-74-7685422.patch | 42 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-74-c2c467f.patch | 75 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-compiler-r8.patch | 169 | ||||
-rw-r--r-- | www-client/chromium/files/quiche-00f47df.patch | 38 |
4 files changed, 324 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-74-7685422.patch b/www-client/chromium/files/chromium-74-7685422.patch new file mode 100644 index 000000000000..19747245bd78 --- /dev/null +++ b/www-client/chromium/files/chromium-74-7685422.patch @@ -0,0 +1,42 @@ +From 7685422a90e1da829cb32d685a4b970d30738098 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz <jose.dapena@lge.com> +Date: Wed, 3 Apr 2019 18:35:04 +0000 +Subject: [PATCH] base: Value::Type enum class size should be 8-bit. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +GCC is complaining because, when base::Type is used to declare the different +variants of Type in its union, they are forced to take 8-bit, that is smaller +than the enum class default size (same as int). + +So this change sets explicitely the enum class underlying type to be unsigned +char. + +BUG=chromium:819294 + +Change-Id: I1765e2503e2c3d3675c73ecb0f7f5bc33456e6f0 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1550366 +Commit-Queue: José Dapena Paz <jose.dapena@lge.com> +Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org> +Cr-Commit-Position: refs/heads/master@{#647382} +--- + base/values.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/base/values.h b/base/values.h +index c455936d4961..14b76acec02f 100644 +--- a/base/values.h ++++ b/base/values.h +@@ -86,7 +86,7 @@ class BASE_EXPORT Value { + // See technical note below explaining why this is used. + using DoubleStorage = struct { alignas(4) char v[sizeof(double)]; }; + +- enum class Type { ++ enum class Type : unsigned char { + NONE = 0, + BOOLEAN, + INTEGER, +-- +2.21.0 + diff --git a/www-client/chromium/files/chromium-74-c2c467f.patch b/www-client/chromium/files/chromium-74-c2c467f.patch new file mode 100644 index 000000000000..e9e5d22e4a87 --- /dev/null +++ b/www-client/chromium/files/chromium-74-c2c467f.patch @@ -0,0 +1,75 @@ +From c2c467f69fc00d353879d7add5f2c04a6acabbb1 Mon Sep 17 00:00:00 2001 +From: David 'Digit' Turner <digit@google.com> +Date: Wed, 20 Mar 2019 21:41:09 +0000 +Subject: [PATCH] base: Value::FindDoubleKey() converts integers to doubles + +Ensure that FindDoubleKey() can return the value of an +INTEGER key as a double. This is consistent with the behaviour +of Value::GetDouble() which will auto-convert INTEGER values +to doubles. + +BUG=646113 +R=dcheng@chromium.org,jdoerrie@chromium.org,sdefresne@chromium.org,hidehiko@chromium.org + +Change-Id: I2c08cb91b6cfd5db268a182ffffe16682d848008 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1529017 +Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> +Reviewed-by: Daniel Cheng <dcheng@chromium.org> +Commit-Queue: David Turner <digit@chromium.org> +Cr-Commit-Position: refs/heads/master@{#642680} +--- + base/values.cc | 10 ++++++++-- + base/values.h | 2 ++ + base/values_unittest.cc | 2 +- + 3 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/base/values.cc b/base/values.cc +index 035aa2350cde..69d66ff8ab00 100644 +--- a/base/values.cc ++++ b/base/values.cc +@@ -339,8 +339,14 @@ base::Optional<int> Value::FindIntKey(StringPiece key) const { + } + + base::Optional<double> Value::FindDoubleKey(StringPiece key) const { +- const Value* result = FindKeyOfType(key, Type::DOUBLE); +- return result ? base::make_optional(result->double_value_) : base::nullopt; ++ const Value* result = FindKey(key); ++ if (result) { ++ if (result->is_int()) ++ return base::make_optional(static_cast<double>(result->int_value_)); ++ if (result->is_double()) ++ return base::make_optional(result->double_value_); ++ } ++ return base::nullopt; + } + + const std::string* Value::FindStringKey(StringPiece key) const { +diff --git a/base/values.h b/base/values.h +index e31cadd83102..6f2cd3cc3d79 100644 +--- a/base/values.h ++++ b/base/values.h +@@ -200,6 +200,8 @@ class BASE_EXPORT Value { + // function's name. + base::Optional<bool> FindBoolKey(StringPiece key) const; + base::Optional<int> FindIntKey(StringPiece key) const; ++ // Note FindDoubleKey() will auto-convert INTEGER keys to their double ++ // value, for consistency with GetDouble(). + base::Optional<double> FindDoubleKey(StringPiece key) const; + + // |FindStringKey| returns |nullptr| if value is not found or not a string. +diff --git a/base/values_unittest.cc b/base/values_unittest.cc +index b23fd8332491..7c545c09d947 100644 +--- a/base/values_unittest.cc ++++ b/base/values_unittest.cc +@@ -674,7 +674,7 @@ TEST(ValuesTest, FindDoubleKey) { + const Value dict(std::move(storage)); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("null")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("bool")); +- EXPECT_EQ(base::nullopt, dict.FindDoubleKey("int")); ++ EXPECT_NE(base::nullopt, dict.FindDoubleKey("int")); + EXPECT_NE(base::nullopt, dict.FindDoubleKey("double")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("string")); + EXPECT_EQ(base::nullopt, dict.FindDoubleKey("blob")); +-- +2.21.0 + diff --git a/www-client/chromium/files/chromium-compiler-r8.patch b/www-client/chromium/files/chromium-compiler-r8.patch new file mode 100644 index 000000000000..5d8bd0efecd5 --- /dev/null +++ b/www-client/chromium/files/chromium-compiler-r8.patch @@ -0,0 +1,169 @@ +From aff4a3a1c35dc37141a61d2c6b7e703a55f9b371 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Sat, 23 Mar 2019 12:12:37 -0400 +Subject: [PATCH] Disable various compiler configs + +--- + build/config/compiler/BUILD.gn | 55 ++++++++++++---------------------- + 1 file changed, 19 insertions(+), 36 deletions(-) + +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index ca6ff2b13809..b614709cd1db 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -240,8 +240,6 @@ config("compiler") { + + configs += [ + # See the definitions below. +- ":clang_revision", +- ":compiler_cpu_abi", + ":compiler_codegen", + ":compiler_deterministic", + ] +@@ -489,17 +487,6 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && !use_xcode_clang) { +- 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. +@@ -1540,7 +1527,7 @@ config("chromium_code") { + defines = [ "_HAS_NODISCARD" ] + } + } else { +- cflags = [ "-Wall" ] ++ cflags = [] + if (treat_warnings_as_errors) { + cflags += [ "-Werror" ] + +@@ -1549,10 +1536,6 @@ config("chromium_code") { + # well. + ldflags = [ "-Werror" ] + } +- if (is_clang) { +- # Enable extra warnings for chromium_code when we control the compiler. +- cflags += [ "-Wextra" ] +- } + + # In Chromium code, we define __STDC_foo_MACROS in order to get the + # C99 macros on Mac and Linux. +@@ -1561,15 +1544,6 @@ config("chromium_code") { + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && +- current_cpu != "s390" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64") { +- # 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) { + cflags_objc = [ "-Wobjc-missing-property-synthesis" ] + cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] +@@ -1949,7 +1923,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) { +@@ -1983,7 +1958,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. +@@ -2006,7 +1982,8 @@ config("optimize_no_wpo") { + } + + # Turn off optimizations. +-config("no_optimize") { ++config("no_optimize") { } ++config("xno_optimize") { + if (is_win) { + cflags = [ + "/Od", # Disable optimization. +@@ -2034,7 +2011,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: +@@ -2081,7 +2059,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: +@@ -2119,7 +2098,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" ] +@@ -2221,7 +2201,8 @@ config("win_pdbaltpath") { + } + + # 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. +@@ -2328,7 +2309,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 = [] +@@ -2380,7 +2362,8 @@ config("minimal_symbols") { + } + + # No symbols. +-config("no_symbols") { ++config("no_symbols") { } ++config("xno_symbols") { + if (!is_win) { + cflags = [ "-g0" ] + asmflags = cflags +-- +2.21.0 + diff --git a/www-client/chromium/files/quiche-00f47df.patch b/www-client/chromium/files/quiche-00f47df.patch new file mode 100644 index 000000000000..720edf934d30 --- /dev/null +++ b/www-client/chromium/files/quiche-00f47df.patch @@ -0,0 +1,38 @@ +From 00f47df999c9b19e80fdc01db0ae9ca1b6a12b3a Mon Sep 17 00:00:00 2001 +From: vasilvv <vasilvv@google.com> +Date: Wed, 3 Apr 2019 13:58:53 -0700 +Subject: [PATCH] GCC: do not delete move constructor of QuicStreamSendBuffer +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +QuicStreamSendBuffer constructor is implicitely required in the +initialization of the vector of substreams in QuicCryptoStream. +Though clang apparently ignores that, GCC fails to build. + +BUG=chromium:819294 + +Originally submitted by José Dapena Paz <jose.dapena@lge.com> at https://quiche-review.googlesource.com/c/quiche/+/2420 + +PiperOrigin-RevId: 241800134 +Change-Id: I4e3c97d6e5895d85340e8c1b740e6196d9104066 +--- + quic/core/quic_stream_send_buffer.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/quic/core/quic_stream_send_buffer.h b/quic/core/quic_stream_send_buffer.h +index e34514b..74e9d0d 100644 +--- a/net/third_party/quic/core/quic_stream_send_buffer.h ++++ b/net/third_party/quic/core/quic_stream_send_buffer.h +@@ -62,7 +62,7 @@ class QUIC_EXPORT_PRIVATE QuicStreamSendBuffer { + public: + explicit QuicStreamSendBuffer(QuicBufferAllocator* allocator); + QuicStreamSendBuffer(const QuicStreamSendBuffer& other) = delete; +- QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = delete; ++ QuicStreamSendBuffer(QuicStreamSendBuffer&& other) = default; + ~QuicStreamSendBuffer(); + + // Save |data_length| of data starts at |iov_offset| in |iov| to send buffer. +-- +2.21.0 + |