From f7d1db5b8e26b77e8b403efb6a8843378f32b8dd Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Tue, 1 Mar 2022 13:00:17 -0500 Subject: chromium-100.0.4896.12 (testing) --- ...omium-100-GLImplementationParts-constexpr.patch | 92 ++++++++++++++++++++ .../chromium-100-InMilliseconds-constexpr.patch | 97 ++++++++++++++++++++++ .../chromium-100-SCTHashdanceMetadata-move.patch | 35 ++++++++ .../chromium/files/chromium-100-macro-typo.patch | 29 +++++++ .../files/chromium-100-sandbox-include.patch | 12 +++ 5 files changed, 265 insertions(+) create mode 100644 www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch create mode 100644 www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch create mode 100644 www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch create mode 100644 www-client/chromium/files/chromium-100-macro-typo.patch create mode 100644 www-client/chromium/files/chromium-100-sandbox-include.patch (limited to 'www-client/chromium/files') diff --git a/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch b/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch new file mode 100644 index 0000000..437e672 --- /dev/null +++ b/www-client/chromium/files/chromium-100-GLImplementationParts-constexpr.patch @@ -0,0 +1,92 @@ +From d32156fd3773330eca99e9cba5e18db57aaa1a53 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Sat, 19 Feb 2022 10:14:24 +0000 +Subject: [PATCH] GCC: make GLImplementationParts constructors constexpr + +Fix build error in GCC, as the constexpr operator== requires its +invocations to be also constexpr. +--- + ui/gl/gl_implementation.cc | 23 ----------------------- + ui/gl/gl_implementation.h | 25 +++++++++++++++++++++++-- + 2 files changed, 23 insertions(+), 25 deletions(-) + +diff --git a/ui/gl/gl_implementation.cc b/ui/gl/gl_implementation.cc +index e4e5456..3e4a47c 100644 +--- a/ui/gl/gl_implementation.cc ++++ b/ui/gl/gl_implementation.cc +@@ -26,29 +26,6 @@ + + namespace gl { + +-ANGLEImplementation MakeANGLEImplementation( +- const GLImplementation gl_impl, +- const ANGLEImplementation angle_impl) { +- if (gl_impl == kGLImplementationEGLANGLE) { +- if (angle_impl == ANGLEImplementation::kNone) { +- return ANGLEImplementation::kDefault; +- } else { +- return angle_impl; +- } +- } else { +- return ANGLEImplementation::kNone; +- } +-} +- +-GLImplementationParts::GLImplementationParts( +- const ANGLEImplementation angle_impl) +- : gl(kGLImplementationEGLANGLE), +- angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} +- +-GLImplementationParts::GLImplementationParts(const GLImplementation gl_impl) +- : gl(gl_impl), +- angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) {} +- + bool GLImplementationParts::IsValid() const { + if (angle == ANGLEImplementation::kNone) { + return (gl != kGLImplementationEGLANGLE); +diff --git a/ui/gl/gl_implementation.h b/ui/gl/gl_implementation.h +index 376ed58..a2513ea 100644 +--- a/ui/gl/gl_implementation.h ++++ b/ui/gl/gl_implementation.h +@@ -59,8 +59,14 @@ enum class ANGLEImplementation { + }; + + struct GL_EXPORT GLImplementationParts { +- explicit GLImplementationParts(const ANGLEImplementation angle_impl); +- explicit GLImplementationParts(const GLImplementation gl_impl); ++ constexpr explicit GLImplementationParts(const ANGLEImplementation angle_impl) ++ : gl(kGLImplementationEGLANGLE), ++ angle(MakeANGLEImplementation(kGLImplementationEGLANGLE, angle_impl)) {} ++ ++ constexpr explicit GLImplementationParts(const GLImplementation gl_impl) ++ : gl(gl_impl), ++ angle(MakeANGLEImplementation(gl_impl, ANGLEImplementation::kDefault)) { ++ } + + GLImplementation gl = kGLImplementationNone; + ANGLEImplementation angle = ANGLEImplementation::kNone; +@@ -80,6 +86,21 @@ struct GL_EXPORT GLImplementationParts { + bool IsValid() const; + bool IsAllowed(const std::vector& allowed_impls) const; + std::string ToString() const; ++ ++ private: ++ constexpr ANGLEImplementation MakeANGLEImplementation( ++ const GLImplementation gl_impl, ++ const ANGLEImplementation angle_impl) { ++ if (gl_impl == kGLImplementationEGLANGLE) { ++ if (angle_impl == ANGLEImplementation::kNone) { ++ return ANGLEImplementation::kDefault; ++ } else { ++ return angle_impl; ++ } ++ } else { ++ return ANGLEImplementation::kNone; ++ } ++ } + }; + + struct GL_EXPORT GLWindowSystemBindingInfo { +-- +2.34.1 + diff --git a/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch b/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch new file mode 100644 index 0000000..cf4562a --- /dev/null +++ b/www-client/chromium/files/chromium-100-InMilliseconds-constexpr.patch @@ -0,0 +1,97 @@ +From da6e3f6071fdabeb96c0805626418414b4a4cea8 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann +Date: Wed, 9 Feb 2022 17:56:21 +0000 +Subject: [PATCH] GCC: make base::InMilliseconds(F,RoundedUp) constexpr + +media::DecodeTimestamp uses it in several constexpr methods. +--- + base/time/time.cc | 24 ------------------------ + base/time/time.h | 30 +++++++++++++++++++++++++++--- + 2 files changed, 27 insertions(+), 27 deletions(-) + +diff --git a/base/time/time.cc b/base/time/time.cc +index 0de273e..e0acda2 100644 +--- a/base/time/time.cc ++++ b/base/time/time.cc +@@ -74,30 +74,6 @@ int TimeDelta::InDaysFloored() const { + : std::numeric_limits::max(); + } + +-double TimeDelta::InMillisecondsF() const { +- if (!is_inf()) +- return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; +- return (delta_ < 0) ? -std::numeric_limits::infinity() +- : std::numeric_limits::infinity(); +-} +- +-int64_t TimeDelta::InMilliseconds() const { +- if (!is_inf()) +- return delta_ / Time::kMicrosecondsPerMillisecond; +- return (delta_ < 0) ? std::numeric_limits::min() +- : std::numeric_limits::max(); +-} +- +-int64_t TimeDelta::InMillisecondsRoundedUp() const { +- if (!is_inf()) { +- const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; +- // Convert |result| from truncating to ceiling. +- return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) +- : result; +- } +- return delta_; +-} +- + double TimeDelta::InMicrosecondsF() const { + if (!is_inf()) + return static_cast(delta_); +diff --git a/base/time/time.h b/base/time/time.h +index c027aab..fb1d78d 100644 +--- a/base/time/time.h ++++ b/base/time/time.h +@@ -216,9 +216,9 @@ class BASE_EXPORT TimeDelta { + constexpr int InMinutes() const; + constexpr double InSecondsF() const; + constexpr int64_t InSeconds() const; +- double InMillisecondsF() const; +- int64_t InMilliseconds() const; +- int64_t InMillisecondsRoundedUp() const; ++ constexpr double InMillisecondsF() const; ++ constexpr int64_t InMilliseconds() const; ++ constexpr int64_t InMillisecondsRoundedUp() const; + constexpr int64_t InMicroseconds() const { return delta_; } + double InMicrosecondsF() const; + constexpr int64_t InNanoseconds() const; +@@ -889,6 +889,30 @@ constexpr int64_t TimeDelta::InSeconds() const { + return is_inf() ? delta_ : (delta_ / Time::kMicrosecondsPerSecond); + } + ++constexpr double TimeDelta::InMillisecondsF() const { ++ if (!is_inf()) ++ return static_cast(delta_) / Time::kMicrosecondsPerMillisecond; ++ return (delta_ < 0) ? -std::numeric_limits::infinity() ++ : std::numeric_limits::infinity(); ++} ++ ++constexpr int64_t TimeDelta::InMilliseconds() const { ++ if (!is_inf()) ++ return delta_ / Time::kMicrosecondsPerMillisecond; ++ return (delta_ < 0) ? std::numeric_limits::min() ++ : std::numeric_limits::max(); ++} ++ ++constexpr int64_t TimeDelta::InMillisecondsRoundedUp() const { ++ if (!is_inf()) { ++ const int64_t result = delta_ / Time::kMicrosecondsPerMillisecond; ++ // Convert |result| from truncating to ceiling. ++ return (delta_ > result * Time::kMicrosecondsPerMillisecond) ? (result + 1) ++ : result; ++ } ++ return delta_; ++} ++ + constexpr int64_t TimeDelta::InNanoseconds() const { + return base::ClampMul(delta_, Time::kNanosecondsPerMicrosecond); + } +-- +2.34.1 + diff --git a/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch b/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch new file mode 100644 index 0000000..9039429 --- /dev/null +++ b/www-client/chromium/files/chromium-100-SCTHashdanceMetadata-move.patch @@ -0,0 +1,35 @@ +From 364dc0067d1c20c7a2d21277a7ec0c4419d9bc11 Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Wed, 23 Feb 2022 12:18:57 +0100 +Subject: [PATCH] GCC: explicitely move return value of SCTHashdanceMetadata::ToValue + +GCC rejects to do Return Value Optimization in +SCTHashdanceMetadata::ToValue, because the copy constructor is +deleted, and in that scenario RVO is rejected in GCC: + ../../services/network/sct_auditing/sct_auditing_reporter.cc: In member function ‘base::Value network::SCTAuditingReporter::SCTHashdanceMetadata::ToValue() const’: + ../../services/network/sct_auditing/sct_auditing_reporter.cc:191:10: error: use of deleted function ‘base::Value::Value(const base::Value&)’ + 191 | return value; + | ^~~~~ + In file included from ../../services/network/sct_auditing/sct_auditing_reporter.h:14, + from ../../services/network/sct_auditing/sct_auditing_reporter.cc:5: + ../../base/values.h:254:3: note: declared here + 254 | Value(const Value&) = delete; + | ^~~~~ + +Bug: 819294 +Change-Id: I111e51dd10eee7b909d4ac3c0911aac18a589166 +--- + +diff --git a/services/network/sct_auditing/sct_auditing_reporter.cc b/services/network/sct_auditing/sct_auditing_reporter.cc +index a057e8e..365527b 100644 +--- a/services/network/sct_auditing/sct_auditing_reporter.cc ++++ b/services/network/sct_auditing/sct_auditing_reporter.cc +@@ -188,7 +188,7 @@ + kLogIdKey, base::Base64Encode(base::as_bytes(base::make_span(log_id)))); + value.SetKey(kLogMMDKey, base::TimeDeltaToValue(log_mmd)); + value.SetKey(kCertificateExpiry, base::TimeToValue(certificate_expiry)); +- return value; ++ return std::move(value); + } + + // static diff --git a/www-client/chromium/files/chromium-100-macro-typo.patch b/www-client/chromium/files/chromium-100-macro-typo.patch new file mode 100644 index 0000000..833f869 --- /dev/null +++ b/www-client/chromium/files/chromium-100-macro-typo.patch @@ -0,0 +1,29 @@ +From 1183b14db8bd08d731ff3433c436887de00be3aa Mon Sep 17 00:00:00 2001 +From: Jose Dapena Paz +Date: Fri, 18 Feb 2022 16:28:25 +0000 +Subject: [PATCH] Fix typo in non-clang GSL_OWNER macro + +GCC build fails because GSL_OWNER is not defined (GSL_OWNER_ was +the one actually declared). + +Bug: 819294 +Change-Id: I1c3d17cb1c08b9bc0e8a888452da9868c308ddb5 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3472080 +Reviewed-by: Daniel Cheng +Commit-Queue: Daniel Cheng +Cr-Commit-Position: refs/heads/main@{#972974} +--- + +diff --git a/base/compiler_specific.h b/base/compiler_specific.h +index eec5810..1ee8074 100644 +--- a/base/compiler_specific.h ++++ b/base/compiler_specific.h +@@ -386,7 +386,7 @@ + #define GSL_OWNER [[gsl::Owner]] + #define GSL_POINTER [[gsl::Pointer]] + #else +-#define GSL_OWNER_ ++#define GSL_OWNER + #define GSL_POINTER + #endif + diff --git a/www-client/chromium/files/chromium-100-sandbox-include.patch b/www-client/chromium/files/chromium-100-sandbox-include.patch new file mode 100644 index 0000000..328d524 --- /dev/null +++ b/www-client/chromium/files/chromium-100-sandbox-include.patch @@ -0,0 +1,12 @@ +diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc +index c933eafd1..c0368e92b 100644 +--- a/sandbox/linux/services/credentials.cc ++++ b/sandbox/linux/services/credentials.cc +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + #include + #include + #include -- cgit v1.2.3