summaryrefslogtreecommitdiff
path: root/www-client/chromium/files
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r--www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch13
-rw-r--r--www-client/chromium/files/chromium-109-minizip.patch147
-rw-r--r--www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch219
-rw-r--r--www-client/chromium/files/chromium-123-EnumTable-crash.patch76
-rw-r--r--www-client/chromium/files/chromium-123-compiler.patch317
-rw-r--r--www-client/chromium/files/chromium-125-compiler.patch317
-rw-r--r--www-client/chromium/files/chromium-125-revert-8a3bec6.patch450
-rw-r--r--www-client/chromium/files/chromium-126-EnumTable-crash.patch76
-rw-r--r--www-client/chromium/files/chromium-126-compiler-r1.patch317
-rw-r--r--www-client/chromium/files/chromium-126-compiler.patch317
-rw-r--r--www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch18
-rw-r--r--www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch18
-rw-r--r--www-client/chromium/files/chromium-127-bindgen-include-temporary.patch13
-rw-r--r--www-client/chromium/files/chromium-128-compiler-r1.patch324
-rw-r--r--www-client/chromium/files/chromium-128-compiler.patch317
-rw-r--r--www-client/chromium/files/chromium-131-EnumTable-crash.patch79
-rw-r--r--www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch22
-rw-r--r--www-client/chromium/files/chromium-138-gn-exec_script_allowlist.patch (renamed from www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch)20
-rw-r--r--www-client/chromium/files/chromium-139-compiler-r1.patch (renamed from www-client/chromium/files/chromium-131-compiler.patch)188
-rw-r--r--www-client/chromium/files/chromium-139-compiler.patch (renamed from www-client/chromium/files/chromium-132-compiler.patch)144
-rw-r--r--www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch (renamed from www-client/chromium/files/chromium-135-mv2-ungoogled.patch)60
-rw-r--r--www-client/chromium/files/chromium-139-mv2-ungoogled.patch163
-rw-r--r--www-client/chromium/files/chromium-139-protobuf-RepeatedPtrField-export.patch (renamed from www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch)10
23 files changed, 466 insertions, 3159 deletions
diff --git a/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch b/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch
deleted file mode 100644
index e20bc22..0000000
--- a/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
-index e81b2c7e4..df3811563 100644
---- a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
-+++ b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
-@@ -847,7 +847,7 @@ class StringTypeHandler {
- // RepeatedPtrField is like RepeatedField, but used for repeated strings or
- // Messages.
- template <typename Element>
--class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
-+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
-
- public:
- constexpr RepeatedPtrField();
diff --git a/www-client/chromium/files/chromium-109-minizip.patch b/www-client/chromium/files/chromium-109-minizip.patch
deleted file mode 100644
index f24595c..0000000
--- a/www-client/chromium/files/chromium-109-minizip.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
-index 1b01755e1..65550e8fd 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
-@@ -27,8 +27,8 @@ limitations under the License.
- #include "tensorflow_lite_support/cc/port/status_macros.h"
- #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h"
- #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
--#include "third_party/zlib/contrib/minizip/ioapi.h"
--#include "third_party/zlib/contrib/minizip/unzip.h"
-+#include "minizip/ioapi.h"
-+#include "minizip/unzip.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
-index 01c68515a..7a53974f2 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
-@@ -26,8 +26,8 @@ limitations under the License.
- #include "tensorflow_lite_support/cc/port/statusor.h"
- #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h"
- #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
--#include "third_party/zlib/contrib/minizip/ioapi.h"
--#include "third_party/zlib/contrib/minizip/unzip.h"
-+#include "minizip/ioapi.h"
-+#include "minizip/unzip.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
-index 525ae4a2b..80ad84900 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
-@@ -19,7 +19,7 @@ limitations under the License.
- #include <cstdio>
-
- #include "absl/strings/string_view.h" // from @com_google_absl
--#include "third_party/zlib/contrib/minizip/ioapi.h"
-+#include "minizip/ioapi.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
-index 72413a0a5..38c9278da 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
-@@ -19,7 +19,7 @@ limitations under the License.
- #include <cstdlib>
-
- #include "absl/strings/string_view.h" // from @com_google_absl
--#include "third_party/zlib/contrib/minizip/ioapi.h"
-+#include "minizip/ioapi.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
-index 3ba91b5e2..646822093 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
-@@ -19,7 +19,7 @@ limitations under the License.
- #include <cstdio>
-
- #include "absl/strings/string_view.h" // from @com_google_absl
--#include "third_party/zlib/contrib/minizip/ioapi.h"
-+#include "minizip/ioapi.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
-index 3d329925d..da6ff5ad8 100644
---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
-+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
-@@ -19,7 +19,7 @@ limitations under the License.
- #include <cstdlib>
-
- #include "absl/strings/string_view.h" // from @com_google_absl
--#include "third_party/zlib/contrib/minizip/ioapi.h"
-+#include "minizip/ioapi.h"
-
- namespace tflite {
- namespace metadata {
-diff --git a/third_party/zlib/google/zip_internal.cc b/third_party/zlib/google/zip_internal.cc
-index e65d7ce6b..1f89d931a 100644
---- a/third_party/zlib/google/zip_internal.cc
-+++ b/third_party/zlib/google/zip_internal.cc
-@@ -17,7 +17,7 @@
- #include "base/strings/string_util.h"
- #include "base/strings/utf_string_conversions.h"
-
--#if defined(USE_SYSTEM_MINIZIP)
-+#if 1//defined(USE_SYSTEM_MINIZIP)
- #include <minizip/ioapi.h>
- #include <minizip/unzip.h>
- #include <minizip/zip.h>
-diff --git a/third_party/zlib/google/zip_internal.h b/third_party/zlib/google/zip_internal.h
-index f107d7fe8..28ef2f636 100644
---- a/third_party/zlib/google/zip_internal.h
-+++ b/third_party/zlib/google/zip_internal.h
-@@ -14,7 +14,7 @@
- #include <windows.h>
- #endif
-
--#if defined(USE_SYSTEM_MINIZIP)
-+#if 1//defined(USE_SYSTEM_MINIZIP)
- #include <minizip/unzip.h>
- #include <minizip/zip.h>
- #else
-diff --git a/third_party/zlib/google/zip_reader.cc b/third_party/zlib/google/zip_reader.cc
-index e97027a0b..d6f02b1e0 100644
---- a/third_party/zlib/google/zip_reader.cc
-+++ b/third_party/zlib/google/zip_reader.cc
-@@ -23,7 +23,7 @@
- #include "third_party/zlib/google/redact.h"
- #include "third_party/zlib/google/zip_internal.h"
-
--#if defined(USE_SYSTEM_MINIZIP)
-+#if 1//defined(USE_SYSTEM_MINIZIP)
- #include <minizip/unzip.h>
- #else
- #include "third_party/zlib/contrib/minizip/unzip.h"
-diff --git a/third_party/zlib/google/zip_reader.h b/third_party/zlib/google/zip_reader.h
-index 48244c823..a5c0234fe 100644
---- a/third_party/zlib/google/zip_reader.h
-+++ b/third_party/zlib/google/zip_reader.h
-@@ -18,7 +18,7 @@
- #include "base/numerics/safe_conversions.h"
- #include "base/time/time.h"
-
--#if defined(USE_SYSTEM_MINIZIP)
-+#if 1//defined(USE_SYSTEM_MINIZIP)
- #include <minizip/unzip.h>
- #else
- #include "third_party/zlib/contrib/minizip/unzip.h"
-diff --git a/third_party/zlib/google/zip_writer.h b/third_party/zlib/google/zip_writer.h
-index dd109293d..edb1542b7 100644
---- a/third_party/zlib/google/zip_writer.h
-+++ b/third_party/zlib/google/zip_writer.h
-@@ -13,7 +13,7 @@
- #include "build/build_config.h"
- #include "third_party/zlib/google/zip.h"
-
--#if defined(USE_SYSTEM_MINIZIP)
-+#if 1//defined(USE_SYSTEM_MINIZIP)
- #include <minizip/unzip.h>
- #include <minizip/zip.h>
- #else
diff --git a/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch b/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch
deleted file mode 100644
index 5b06407..0000000
--- a/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc
-index ad985a3d7c..a013c4df17 100644
---- a/sql/recover_module/btree.cc
-+++ b/sql/recover_module/btree.cc
-@@ -136,16 +136,22 @@ static_assert(std::is_trivially_destructible<LeafPageDecoder>::value,
- "Move the destructor to the .cc file if it's non-trival");
- #endif // !DCHECK_IS_ON()
-
--LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept
-- : page_id_(db_reader->page_id()),
-- db_reader_(db_reader),
-- cell_count_(ComputeCellCount(db_reader)),
-- next_read_index_(0),
-- last_record_size_(0) {
-+LeafPageDecoder::LeafPageDecoder() noexcept = default;
-+
-+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) {
-+ page_id_ = db_reader->page_id();
-+ db_reader_ = db_reader;
-+ cell_count_ = ComputeCellCount(db_reader);
-+ next_read_index_ = 0;
-+ last_record_size_ = 0;
- DCHECK(IsOnValidPage(db_reader));
- DCHECK(DatabasePageReader::IsValidPageId(page_id_));
- }
-
-+void LeafPageDecoder::Reset() {
-+ db_reader_ = nullptr;
-+}
-+
- bool LeafPageDecoder::TryAdvance() {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(CanAdvance());
-diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h
-index 155be1ef17..ed27107804 100644
---- a/sql/recover_module/btree.h
-+++ b/sql/recover_module/btree.h
-@@ -104,9 +104,7 @@ class LeafPageDecoder {
- public:
- // Creates a decoder for a DatabasePageReader's last read page.
- //
-- // |db_reader| must have been used to read an inner page of a table B-tree.
-- // |db_reader| must outlive this instance.
-- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept;
-+ LeafPageDecoder() noexcept;
- ~LeafPageDecoder() noexcept = default;
-
- LeafPageDecoder(const LeafPageDecoder&) = delete;
-@@ -154,6 +152,17 @@ class LeafPageDecoder {
- // read as long as CanAdvance() returns true.
- bool TryAdvance();
-
-+ // Initialize with DatabasePageReader
-+ // |db_reader| must have been used to read an inner page of a table B-tree.
-+ // |db_reader| must outlive this instance.
-+ void Initialize(DatabasePageReader* db_reader);
-+
-+ // Reset internal DatabasePageReader
-+ void Reset();
-+
-+ // True if DatabasePageReader is valid
-+ bool IsValid() { return (db_reader_ != nullptr); }
-+
- // True if the given reader may point to an inner page in a table B-tree.
- //
- // The last ReadPage() call on |db_reader| must have succeeded.
-@@ -167,16 +176,16 @@ class LeafPageDecoder {
- static int ComputeCellCount(DatabasePageReader* db_reader);
-
- // The number of the B-tree page this reader is reading.
-- const int64_t page_id_;
-+ int64_t page_id_;
- // Used to read the tree page.
- //
- // Raw pointer usage is acceptable because this instance's owner is expected
- // to ensure that the DatabasePageReader outlives this.
- // This field is not a raw_ptr<> because it caused a
- // std::is_trivially_destructible static_assert failure.
-- RAW_PTR_EXCLUSION DatabasePageReader* const db_reader_;
-+ RAW_PTR_EXCLUSION DatabasePageReader* db_reader_;
- // Caches the ComputeCellCount() value for this reader's page.
-- const int cell_count_ = ComputeCellCount(db_reader_);
-+ int cell_count_;
-
- // The reader's cursor state.
- //
-diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc
-index 8983af57e5..de5157c5a8 100644
---- a/sql/recover_module/cursor.cc
-+++ b/sql/recover_module/cursor.cc
-@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() {
- int VirtualCursor::First() {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- inner_decoders_.clear();
-- leaf_decoder_ = nullptr;
-+ leaf_decoder_.Reset();
-
- AppendPageDecoder(table_->root_page_id());
- return Next();
-@@ -38,18 +38,18 @@ int VirtualCursor::Next() {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- record_reader_.Reset();
-
-- while (!inner_decoders_.empty() || leaf_decoder_.get()) {
-- if (leaf_decoder_.get()) {
-- if (!leaf_decoder_->CanAdvance()) {
-+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) {
-+ if (leaf_decoder_.IsValid()) {
-+ if (!leaf_decoder_.CanAdvance()) {
- // The leaf has been exhausted. Remove it from the DFS stack.
-- leaf_decoder_ = nullptr;
-+ leaf_decoder_.Reset();
- continue;
- }
-- if (!leaf_decoder_->TryAdvance())
-+ if (!leaf_decoder_.TryAdvance())
- continue;
-
-- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(),
-- leaf_decoder_->last_record_offset())) {
-+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(),
-+ leaf_decoder_.last_record_offset())) {
- continue;
- }
- if (!record_reader_.Initialize())
-@@ -102,13 +102,13 @@ int VirtualCursor::ReadColumn(int column_index,
- int64_t VirtualCursor::RowId() {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- DCHECK(record_reader_.IsInitialized());
-- DCHECK(leaf_decoder_.get());
-- return leaf_decoder_->last_record_rowid();
-+ DCHECK(leaf_decoder_.IsValid());
-+ return leaf_decoder_.last_record_rowid();
- }
-
- void VirtualCursor::AppendPageDecoder(int page_id) {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-- DCHECK(leaf_decoder_.get() == nullptr)
-+ DCHECK(!leaf_decoder_.IsValid())
- << __func__
- << " must only be called when the current path has no leaf decoder";
-
-@@ -116,7 +116,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) {
- return;
-
- if (LeafPageDecoder::IsOnValidPage(&db_reader_)) {
-- leaf_decoder_ = std::make_unique<LeafPageDecoder>(&db_reader_);
-+ leaf_decoder_.Initialize(&db_reader_);
- return;
- }
-
-diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h
-index 4cb0655700..4be15393e3 100644
---- a/sql/recover_module/cursor.h
-+++ b/sql/recover_module/cursor.h
-@@ -128,7 +128,7 @@ class VirtualCursor {
- std::vector<std::unique_ptr<InnerPageDecoder>> inner_decoders_;
-
- // Decodes the leaf page containing records.
-- std::unique_ptr<LeafPageDecoder> leaf_decoder_;
-+ LeafPageDecoder leaf_decoder_;
-
- SEQUENCE_CHECKER(sequence_checker_);
- };
-diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc
-index 7f5b368e51..cb7e2fda21 100644
---- a/sql/recover_module/pager.cc
-+++ b/sql/recover_module/pager.cc
-@@ -24,8 +24,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits<int>::max(),
- "ints are not appropriate for representing page IDs");
-
- DatabasePageReader::DatabasePageReader(VirtualTable* table)
-- : page_data_(std::make_unique<uint8_t[]>(table->page_size())),
-- table_(table) {
-+ : page_data_(table->page_size()), table_(table) {
- CHECK(table != nullptr);
- CHECK(IsValidPageSize(table->page_size()));
- }
-@@ -59,7 +58,7 @@ int DatabasePageReader::ReadPage(int page_id) {
- "The |read_offset| computation above may overflow");
-
- int sqlite_status =
-- RawRead(sqlite_file, read_size, read_offset, page_data_.get());
-+ RawRead(sqlite_file, read_size, read_offset, page_data_.data());
-
- // |page_id_| needs to be set to kHighestInvalidPageId if the read failed.
- // Otherwise, future ReadPage() calls with the previous |page_id_| value
-diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h
-index d60c5a4f07..f39ce84d74 100644
---- a/sql/recover_module/pager.h
-+++ b/sql/recover_module/pager.h
-@@ -6,8 +6,8 @@
- #define SQL_RECOVER_MODULE_PAGER_H_
-
- #include <cstdint>
--#include <memory>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/memory/raw_ptr.h"
-@@ -73,7 +73,7 @@ class DatabasePageReader {
- DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
- CHECK(IsValidPageId(page_id_))
- << "Successful ReadPage() required before accessing pager state";
-- return page_data_.get();
-+ return page_data_.data();
- }
-
- // The number of bytes in the page read by the last ReadPage() call.
-@@ -140,7 +140,7 @@ class DatabasePageReader {
- int page_id_ = kHighestInvalidPageId;
- // Stores the bytes of the last page successfully read by ReadPage().
- // The content is undefined if the last call to ReadPage() did not succeed.
-- const std::unique_ptr<uint8_t[]> page_data_;
-+ std::vector<uint8_t> page_data_;
- // Raw pointer usage is acceptable because this instance's owner is expected
- // to ensure that the VirtualTable outlives this.
- const raw_ptr<VirtualTable> table_;
diff --git a/www-client/chromium/files/chromium-123-EnumTable-crash.patch b/www-client/chromium/files/chromium-123-EnumTable-crash.patch
deleted file mode 100644
index 3c64789..0000000
--- a/www-client/chromium/files/chromium-123-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h
-index dd58e6cfea..a0fa270bf2 100644
---- a/components/media_router/common/providers/cast/channel/enum_table.h
-+++ b/components/media_router/common/providers/cast/channel/enum_table.h
-@@ -9,6 +9,7 @@
- #include <cstring>
- #include <optional>
- #include <ostream>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -187,7 +188,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -253,7 +253,6 @@ class EnumTable {
- constexpr Entry(E value, base::StringPiece str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -312,15 +311,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return std::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -348,8 +346,7 @@ class EnumTable {
- // enum value directly.
- std::optional<E> GetEnum(base::StringPiece str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : std::optional<E>();
- }
-
-@@ -364,7 +361,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -376,8 +373,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-123-compiler.patch b/www-client/chromium/files/chromium-123-compiler.patch
deleted file mode 100644
index 6faf9b7..0000000
--- a/www-client/chromium/files/chromium-123-compiler.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index a91928eeac..afc87ad613 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -322,9 +322,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -507,6 +504,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -598,55 +598,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && current_os != "zos") {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/1488374): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1013,17 +964,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1520,46 +1460,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
-- swiftflags += [ "-file-compilation-dir=." ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the goma cache entries.
-@@ -1578,39 +1478,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path) {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -1964,11 +1831,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -1977,24 +1840,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2373,7 +2218,8 @@ config("default_stack_frames") {
- }
-
- # Default "optimization on" config.
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- if (chrome_pgo_phase != 2) {
- # Favor size over speed, /O1 must be before the common flags.
-@@ -2432,7 +2278,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2472,7 +2319,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:
-@@ -2505,7 +2353,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:
-@@ -2531,7 +2380,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2664,7 +2514,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2813,7 +2664,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2898,7 +2750,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 9b0ee754ba..a438ed231c 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -75,7 +75,8 @@ declare_args() {
- #
- # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-125-compiler.patch b/www-client/chromium/files/chromium-125-compiler.patch
deleted file mode 100644
index f656fcf..0000000
--- a/www-client/chromium/files/chromium-125-compiler.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index 2ac26091c0..75abd9a935 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -319,9 +319,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -496,6 +493,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -587,55 +587,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && current_os != "zos") {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/1488374): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1000,17 +951,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1518,46 +1458,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
-- swiftflags += [ "-file-compilation-dir=." ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the RBE cache entries.
-@@ -1576,39 +1476,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path) {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -1981,11 +1848,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -1994,24 +1857,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2387,7 +2232,8 @@ config("default_stack_frames") {
- }
-
- # Default "optimization on" config.
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- cflags = [ "/O2" ] + common_optimize_on_cflags
-
-@@ -2428,7 +2274,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2468,7 +2315,8 @@ config("no_optimize") {
- # Turns up the optimization level. Used to explicitly enable -O2 instead of
- # -Os for select targets on platforms that use optimize_for_size. No-op
- # elsewhere.
--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:
-@@ -2501,7 +2349,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:
-@@ -2530,7 +2379,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2663,7 +2513,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2812,7 +2663,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2897,7 +2749,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 59fa14463b..ca780602b4 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -75,7 +75,8 @@ declare_args() {
- #
- # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-125-revert-8a3bec6.patch b/www-client/chromium/files/chromium-125-revert-8a3bec6.patch
deleted file mode 100644
index 0f19d49..0000000
--- a/www-client/chromium/files/chromium-125-revert-8a3bec6.patch
+++ /dev/null
@@ -1,450 +0,0 @@
-diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
-index 2c079c06c5..34a844659b 100644
---- a/third_party/blink/renderer/platform/BUILD.gn
-+++ b/third_party/blink/renderer/platform/BUILD.gn
-@@ -118,10 +118,7 @@ blink_python_runner("color_data") {
-
- compiled_action("character_data") {
- tool = ":character_data_generator"
-- outputs = [
-- "$blink_platform_output_dir/character_property_data.cc",
-- "$blink_platform_output_dir/text/break_iterator_data_inline_header.h",
-- ]
-+ outputs = [ "$blink_platform_output_dir/character_property_data.cc" ]
- args = rebase_path(outputs, root_build_dir)
- }
-
-diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-index 28d34020f7..45942f4e89 100644
---- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
-+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
-@@ -509,11 +509,6 @@
- public: true,
- status: "experimental",
- },
-- {
-- // crbug.com/41485013
-- name: "BreakIteratorDataGenerator",
-- status: "stable",
-- },
- {
- name: "BrowserVerifiedUserActivationKeyboard",
- base_feature: "none",
-diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.cc b/third_party/blink/renderer/platform/text/character_property_data_generator.cc
-index 70101dbf76..27e6852647 100644
---- a/third_party/blink/renderer/platform/text/character_property_data_generator.cc
-+++ b/third_party/blink/renderer/platform/text/character_property_data_generator.cc
-@@ -5,19 +5,13 @@
- #include "third_party/blink/renderer/platform/text/character_property_data.h"
-
- #include <stdio.h>
--#include <unicode/brkiter.h>
--#include <unicode/locid.h>
- #include <unicode/ucptrie.h>
--#include <unicode/udata.h>
--#include <unicode/ulocdata.h>
- #include <unicode/umutablecptrie.h>
- #include <unicode/uniset.h>
- #include <unicode/unistr.h>
-
- #include <cassert>
- #include <cstring>
--#include <filesystem>
--#include <fstream>
- #include <iterator>
- #include <memory>
-
-@@ -31,36 +25,6 @@
- namespace blink {
- namespace {
-
--#define CHECK_U_ERROR(error, name) \
-- CHECK(U_SUCCESS(error)) << name << ": (" << error << ")" << u_errorName(error)
--
--//
--// Load the ICU data file and set it to the ICU.
--//
--void InitializeIcu(const char* exec_path) {
-- // ICU can't load the data file by itself because ICU tries to load the
-- // versioned data file (e.g., "icudt73l.dat"), while the Chromium build system
-- // creates the unversioned data file (e.g., "icudtl.dat").
-- std::filesystem::path path{exec_path};
-- path = path.parent_path() / "icudt" U_ICUDATA_TYPE_LETTER ".dat";
--
-- std::ifstream data_ifstream(path, std::ios_base::binary);
-- CHECK(data_ifstream.is_open());
-- static std::vector<uint8_t> icu_data;
-- CHECK(icu_data.empty());
-- std::copy(std::istreambuf_iterator<char>(data_ifstream),
-- std::istreambuf_iterator<char>(), std::back_inserter(icu_data));
-- UErrorCode error = U_ZERO_ERROR;
-- udata_setCommonData(icu_data.data(), &error);
-- CHECK_U_ERROR(error, "udata_setCommonData");
--
-- // Check ICU functions that need the data resources are working.
-- // https://unicode-org.github.io/icu/userguide/icu/design.html#icu4c-initialization-and-termination
-- UVersionInfo version;
-- ulocdata_getCLDRVersion(version, &error);
-- CHECK_U_ERROR(error, "ulocdata_getCLDRVersion");
--}
--
- class CharacterPropertyValues {
- public:
- constexpr static UChar32 kMaxCodepoint = 0x10FFFF;
-@@ -255,201 +219,18 @@ static void GenerateCharacterPropertyData(FILE* fp) {
- GenerateUTrieSerialized(fp, serialized_size, serialized);
- }
-
--//
--// Generate a line break pair table in `break_iterator_data_inline_header.h`.
--//
--// See [UAX14](https://unicode.org/reports/tr14/).
--//
--class LineBreakData {
-- public:
-- LineBreakData() = default;
--
-- static void Generate(FILE* fp) {
-- LineBreakData data;
-- data.FillFromIcu();
-- data.FillAscii();
-- data.Print(fp);
-- }
--
-- private:
-- // Fill the pair table from the ICU BreakIterator.
-- void FillFromIcu() {
-- UErrorCode status = U_ZERO_ERROR;
-- const icu::Locale locale("en");
-- icu::BreakIterator* break_iterator =
-- icu::BreakIterator::createLineInstance(locale, status);
-- CHECK_U_ERROR(status, "createLineInstance");
--
-- for (UChar ch = kMinChar; ch <= kMaxChar; ++ch) {
-- const icu::UnicodeString ch_str(ch);
-- for (UChar ch_next = kMinChar; ch_next <= kMaxChar; ++ch_next) {
-- const icu::UnicodeString ch_next_str(ch_next);
-- const icu::UnicodeString str = ch_str + ch_next_str;
-- break_iterator->setText(str);
-- SetPairValue(ch, ch_next, break_iterator->isBoundary(1));
-- }
-- }
-- }
--
-- // Line breaking table for printable ASCII characters. Line breaking
-- // opportunities in this table are as below:
-- // - before opening punctuations such as '(', '<', '[', '{' after certain
-- // characters (compatible with Firefox 3.6);
-- // - after '-' and '?' (backward-compatible, and compatible with Internet
-- // Explorer).
-- // Please refer to <https://bugs.webkit.org/show_bug.cgi?id=37698> for line
-- // breaking matrixes of different browsers and the ICU standard.
-- void FillAscii() {
--#define ALL_CHAR '!', 0x7F
-- SetPairValue(ALL_CHAR, ALL_CHAR, false);
-- SetPairValue(ALL_CHAR, '(', '(', true);
-- SetPairValue(ALL_CHAR, '<', '<', true);
-- SetPairValue(ALL_CHAR, '[', '[', true);
-- SetPairValue(ALL_CHAR, '{', '{', true);
-- SetPairValue('-', '-', ALL_CHAR, true);
-- SetPairValue('?', '?', ALL_CHAR, true);
-- SetPairValue('-', '-', '$', '$', false);
-- SetPairValue(ALL_CHAR, '!', '!', false);
-- SetPairValue('?', '?', '"', '"', false);
-- SetPairValue('?', '?', '\'', '\'', false);
-- SetPairValue(ALL_CHAR, ')', ')', false);
-- SetPairValue(ALL_CHAR, ',', ',', false);
-- SetPairValue(ALL_CHAR, '.', '.', false);
-- SetPairValue(ALL_CHAR, '/', '/', false);
-- // Note: Between '-' and '[0-9]' is hard-coded in `ShouldBreakFast()`.
-- SetPairValue('-', '-', '0', '9', false);
-- SetPairValue(ALL_CHAR, ':', ':', false);
-- SetPairValue(ALL_CHAR, ';', ';', false);
-- SetPairValue(ALL_CHAR, '?', '?', false);
-- SetPairValue(ALL_CHAR, ']', ']', false);
-- SetPairValue(ALL_CHAR, '}', '}', false);
-- SetPairValue('$', '$', ALL_CHAR, false);
-- SetPairValue('\'', '\'', ALL_CHAR, false);
-- SetPairValue('(', '(', ALL_CHAR, false);
-- SetPairValue('/', '/', ALL_CHAR, false);
-- SetPairValue('0', '9', ALL_CHAR, false);
-- SetPairValue('<', '<', ALL_CHAR, false);
-- SetPairValue('@', '@', ALL_CHAR, false);
-- SetPairValue('A', 'Z', ALL_CHAR, false);
-- SetPairValue('[', '[', ALL_CHAR, false);
-- SetPairValue('^', '`', ALL_CHAR, false);
-- SetPairValue('a', 'z', ALL_CHAR, false);
-- SetPairValue('{', '{', ALL_CHAR, false);
-- SetPairValue(0x7F, 0x7F, ALL_CHAR, false);
--#undef ALL_CHAR
-- }
--
-- // Print the C++ source code.
-- void Print(FILE* fp) {
-- // Print file headers.
-- fprintf(fp,
-- "#include <cstdint>\n"
-- "#include "
-- "\"third_party/blink/renderer/platform/wtf/text/wtf_uchar.h\"\n"
-- "\nnamespace {\n\n");
--
-- fprintf(fp, "constexpr UChar kFastLineBreakMinChar = 0x%02X;\n", kMinChar);
-- fprintf(fp, "constexpr UChar kFastLineBreakMaxChar = 0x%02X;\n", kMaxChar);
--
-- // Define macros.
-- fprintf(fp,
-- "\n#define B(a, b, c, d, e, f, g, h)"
-- " ((a) | ((b) << 1) | ((c) << 2) | ((d) << 3) |"
-- " ((e) << 4) | ((f) << 5) | ((g) << 6) | ((h) << 7))\n\n");
--
-- fprintf(fp, "const uint8_t kFastLineBreakTable[%d][%d] = {\n", kNumChars,
-- kNumCharsRoundUp8 / 8);
--
-- // Print the column comment.
-- fprintf(fp, " /*");
-- for (UChar ch = kMinChar; ch <= kMaxChar; ++ch) {
-- if (ch != kMinChar && (ch - kMinChar) % 8 == 0) {
-- fprintf(fp, " ");
-- }
-- fprintf(fp, ch < 0x7F ? " %c" : "%02X", ch);
-- }
-- fprintf(fp, " */\n");
--
-- // Print the data array.
-- for (int y = 0; y < kNumChars; ++y) {
-- const UChar ch = y + kMinChar;
-- fprintf(fp, "/* %02X %c */ {B(", ch, ch < 0x7F ? ch : ' ');
-- const char* prefix = "";
-- for (int x = 0; x < kNumCharsRoundUp8; ++x) {
-- fprintf(fp, "%s%d", prefix, pair_[y][x]);
-- prefix = (x % 8 == 7) ? "),B(" : ",";
-- }
-- fprintf(fp, ")},\n");
-- }
-- fprintf(fp,
-- "};\n\n"
-- "#undef B\n\n"
-- "template <typename T>\n"
-- "inline uint8_t GetFastLineBreak(T ch1, T ch2) {\n"
-- " const T i2 = ch2 - kFastLineBreakMinChar;\n"
-- " return kFastLineBreakTable[ch1 - kFastLineBreakMinChar]"
-- "[i2 / 8] & (1 << (i2 %% 8));\n"
-- "}\n\n"
-- "} // namespace\n");
-- }
--
-- void SetPairValue(UChar ch1_min,
-- UChar ch1_max,
-- UChar ch2_min,
-- UChar ch2_max,
-- bool value) {
-- for (UChar ch1 = ch1_min; ch1 <= ch1_max; ++ch1) {
-- for (UChar ch2 = ch2_min; ch2 <= ch2_max; ++ch2) {
-- SetPairValue(ch1, ch2, value);
-- }
-- }
-- }
--
-- // Set the breakability between `ch1` and `ch2`.
-- void SetPairValue(UChar ch1, UChar ch2, bool value) {
-- CHECK_GE(ch1, kMinChar);
-- CHECK_LE(ch1, kMaxChar);
-- CHECK_GE(ch2, kMinChar);
-- CHECK_LE(ch2, kMaxChar);
-- pair_[ch1 - kMinChar][ch2 - kMinChar] = value;
-- }
--
-- constexpr static UChar kMinChar = '!';
-- constexpr static UChar kMaxChar = 0xFF;
-- constexpr static int kNumChars = kMaxChar - kMinChar + 1;
-- constexpr static int kNumCharsRoundUp8 = (kNumChars + 7) / 8 * 8;
-- bool pair_[kNumChars][kNumCharsRoundUp8]{};
--};
--
--void InvokeGenerator(int index,
-- int argc,
-- char** argv,
-- void (*generator)(FILE*)) {
-- if (index >= argc) {
-- return;
-- }
-- const char* path = argv[index];
-- if (!*path) {
-- return;
-- }
--
-- if (strcmp(path, "-") == 0) {
-- (*generator)(stdout);
-- return;
-- }
--
-- FILE* fp = fopen(path, "wb");
-- (*generator)(fp);
-- fclose(fp);
--}
--
- } // namespace
- } // namespace blink
-
- int main(int argc, char** argv) {
-- blink::InitializeIcu(argv[0]);
-- blink::InvokeGenerator(1, argc, argv, blink::GenerateCharacterPropertyData);
-- blink::InvokeGenerator(2, argc, argv, blink::LineBreakData::Generate);
-+ // Write the serialized array to the source file.
-+ if (argc <= 1) {
-+ blink::GenerateCharacterPropertyData(stdout);
-+ } else {
-+ FILE* fp = fopen(argv[1], "wb");
-+ blink::GenerateCharacterPropertyData(fp);
-+ fclose(fp);
-+ }
-
- return 0;
- }
-diff --git a/third_party/blink/renderer/platform/text/text_break_iterator.cc b/third_party/blink/renderer/platform/text/text_break_iterator.cc
-index 650eb760b2..14de47d9fe 100644
---- a/third_party/blink/renderer/platform/text/text_break_iterator.cc
-+++ b/third_party/blink/renderer/platform/text/text_break_iterator.cc
-@@ -26,8 +26,6 @@
- #include <unicode/uchar.h>
- #include <unicode/uvernum.h>
-
--#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
--#include "third_party/blink/renderer/platform/text/break_iterator_data_inline_header.h"
- #include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
- #include "third_party/blink/renderer/platform/wtf/text/ascii_ctype.h"
- #include "third_party/blink/renderer/platform/wtf/text/character_names.h"
-@@ -113,9 +111,6 @@ static const UChar kAsciiLineBreakTableLastChar = 127;
-
- #define F 0xFF
-
--// Check if the generated table match the `kAsciiLineBreakTable` table.
--#define CHECK_ASCII_LINE_BRAEK_TABLE 0
--
- // Line breaking table for printable ASCII characters. Line breaking
- // opportunities in this table are as below:
- // - before opening punctuations such as '(', '<', '[', '{' after certain
-@@ -166,24 +161,6 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar
- };
- // clang-format on
-
--#if CHECK_ASCII_LINE_BRAEK_TABLE
--void CheckAsciiLineBreakTable() {
-- for (UChar ch2 = kAsciiLineBreakTableFirstChar;
-- ch2 <= kAsciiLineBreakTableLastChar; ++ch2) {
-- for (UChar ch1 = kAsciiLineBreakTableFirstChar;
-- ch1 <= kAsciiLineBreakTableLastChar; ++ch1) {
-- const UChar i2 = ch2 - kAsciiLineBreakTableFirstChar;
-- const bool ascii =
-- kAsciiLineBreakTable[ch1 - kAsciiLineBreakTableFirstChar][i2 / 8] &
-- (1 << (i2 % 8));
-- const bool fast = GetFastLineBreak(ch1, ch2);
-- CHECK_EQ(ascii, fast)
-- << String::Format("%02X/%02X (%c/%c)", ch1, ch2, ch1, ch2);
-- }
-- }
--}
--#endif // CHECK_ASCII_LINE_BRAEK_TABLE
--
- #define BA_LB_COUNT U_LB_COUNT
- // Line breaking table for CSS word-break: break-all. This table differs from
- // asciiLineBreakTable in:
-@@ -298,13 +275,7 @@ static inline bool ShouldKeepAfterKeepAll(UChar last_ch,
- }
-
- inline bool NeedsLineBreakIterator(UChar ch) {
-- if (UNLIKELY(!RuntimeEnabledFeatures::BreakIteratorDataGeneratorEnabled())) {
-- return ch > kAsciiLineBreakTableLastChar && ch != kNoBreakSpaceCharacter;
-- }
-- static_assert(kFastLineBreakMaxChar >= kAsciiLineBreakTableLastChar);
-- static_assert(kNoBreakSpaceCharacter <= kFastLineBreakMaxChar,
-- "Include NBSP for the performance.");
-- return ch > kFastLineBreakMaxChar;
-+ return ch > kAsciiLineBreakTableLastChar && ch != kNoBreakSpaceCharacter;
- }
-
- template <typename CharacterType>
-@@ -349,61 +320,31 @@ struct LazyLineBreakIterator::Context {
- last = current;
- }
-
-- bool ShouldBreakFast(bool disable_soft_hyphen) const {
--#if CHECK_ASCII_LINE_BRAEK_TABLE
-- DEFINE_STATIC_LOCAL(bool, is_check_done, (false));
-- if (!is_check_done) {
-- is_check_done = true;
-- CheckAsciiLineBreakTable();
-- LOG(INFO) << "CheckAsciiLineBreakTable() completed.";
-- }
--#endif // CHECK_ASCII_LINE_BRAEK_TABLE
--
-+ bool ShouldBreakFast() const {
- const UChar last_ch = last.ch;
- const UChar ch = current.ch;
-- static_assert(kFastLineBreakMinChar == kAsciiLineBreakTableFirstChar);
-- if (UNLIKELY(last_ch < kFastLineBreakMinChar ||
-- ch < kFastLineBreakMinChar)) {
-+ if (UNLIKELY(last_ch < kAsciiLineBreakTableFirstChar ||
-+ ch < kAsciiLineBreakTableFirstChar)) {
- return false;
- }
-
- // Don't allow line breaking between '-' and a digit if the '-' may mean a
- // minus sign in the context, while allow breaking in 'ABCD-1234' and
- // '1234-5678' which may be in long URLs.
-- static_assert('-' >= kFastLineBreakMinChar);
-+ static_assert('-' >= kAsciiLineBreakTableFirstChar);
- if (last_ch == '-' && IsASCIIDigit(ch)) {
- return IsASCIIAlphanumeric(last_last_ch);
- }
-
-- if (UNLIKELY(
-- !RuntimeEnabledFeatures::BreakIteratorDataGeneratorEnabled())) {
-- // If both `last_ch` and `ch` are ASCII characters, use a lookup table for
-- // enhanced speed and for compatibility with other browsers (see comments
-- // for asciiLineBreakTable for details).
-- if (last_ch <= kAsciiLineBreakTableLastChar &&
-- ch <= kAsciiLineBreakTableLastChar) {
-- const unsigned char* table_row =
-- kAsciiLineBreakTable[last_ch - kAsciiLineBreakTableFirstChar];
-- int ch_index = ch - kAsciiLineBreakTableFirstChar;
-- return table_row[ch_index / 8] & (1 << (ch_index % 8));
-- }
--
-- // Otherwise defer to the Unicode algorithm by returning false.
-- return false;
-- }
--
-- // If both characters are in the fast line break table, use it for enhanced
-- // speed. For ASCII characters, it is also for compatibility. The table is
-- // generated at the build time, see the `LineBreakData` class.
-- if (last_ch <= kFastLineBreakMaxChar && ch <= kFastLineBreakMaxChar) {
-- if (!GetFastLineBreak(last_ch, ch)) {
-- return false;
-- }
-- static_assert(kSoftHyphenCharacter <= kFastLineBreakMaxChar);
-- if (UNLIKELY(disable_soft_hyphen && last_ch == kSoftHyphenCharacter)) {
-- return false;
-- }
-- return true;
-+ // If both `last_ch` and `ch` are ASCII characters, use a lookup table for
-+ // enhanced speed and for compatibility with other browsers (see comments
-+ // for asciiLineBreakTable for details).
-+ if (last_ch <= kAsciiLineBreakTableLastChar &&
-+ ch <= kAsciiLineBreakTableLastChar) {
-+ const unsigned char* table_row =
-+ kAsciiLineBreakTable[last_ch - kAsciiLineBreakTableFirstChar];
-+ int ch_index = ch - kAsciiLineBreakTableFirstChar;
-+ return table_row[ch_index / 8] & (1 << (ch_index % 8));
- }
-
- // Otherwise defer to the Unicode algorithm by returning false.
-@@ -452,7 +393,7 @@ inline int LazyLineBreakIterator::NextBreakablePosition(
- break;
- }
-
-- if (context.ShouldBreakFast(disable_soft_hyphen_)) {
-+ if (context.ShouldBreakFast()) {
- return i;
- }
-
diff --git a/www-client/chromium/files/chromium-126-EnumTable-crash.patch b/www-client/chromium/files/chromium-126-EnumTable-crash.patch
deleted file mode 100644
index 468cbf0..0000000
--- a/www-client/chromium/files/chromium-126-EnumTable-crash.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h
-index 3f2ec76729..4e9c562113 100644
---- a/components/media_router/common/providers/cast/channel/enum_table.h
-+++ b/components/media_router/common/providers/cast/channel/enum_table.h
-@@ -10,6 +10,7 @@
- #include <optional>
- #include <ostream>
- #include <string_view>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -187,7 +188,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, std::string_view str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -253,7 +253,6 @@ class EnumTable {
- constexpr Entry(E value, std::string_view str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -312,15 +311,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return std::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -348,8 +346,7 @@ class EnumTable {
- // enum value directly.
- std::optional<E> GetEnum(std::string_view str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : std::optional<E>();
- }
-
-@@ -364,7 +361,7 @@ class EnumTable {
- // Align the data on a cache line boundary.
- alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -376,8 +373,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-126-compiler-r1.patch b/www-client/chromium/files/chromium-126-compiler-r1.patch
deleted file mode 100644
index 6140453..0000000
--- a/www-client/chromium/files/chromium-126-compiler-r1.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index d39de9bc56..4b37db6c59 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -305,9 +305,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -483,6 +480,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -545,55 +545,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && current_os != "zos") {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/40283598): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/40192287): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -998,17 +949,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1516,46 +1456,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
-- swiftflags += [ "-file-compilation-dir=." ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the RBE cache entries.
-@@ -1574,39 +1474,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path) {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -1982,11 +1849,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -1995,24 +1858,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2402,7 +2247,8 @@ config("default_stack_frames") {
- # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
- # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
- # [2]: https://crrev.com/c/5447532
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- cflags = [ "/O2" ] + common_optimize_on_cflags
-
-@@ -2443,7 +2289,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2483,7 +2330,8 @@ config("no_optimize") {
- # Turns up the optimization level. Used to explicitly enable -O2 instead of
- # -Os for select targets on platforms that use optimize_for_size. No-op
- # elsewhere.
--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:
-@@ -2516,7 +2364,8 @@ config("optimize_max") {
- #
- # TODO(crbug.com/41259697) - 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:
-@@ -2545,7 +2394,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2678,7 +2528,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2828,7 +2679,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2913,7 +2765,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index e99d7d08e1..898b3e6630 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -75,7 +75,8 @@ declare_args() {
- #
- # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-126-compiler.patch b/www-client/chromium/files/chromium-126-compiler.patch
deleted file mode 100644
index d93c82a..0000000
--- a/www-client/chromium/files/chromium-126-compiler.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index 973d8bcbd2..9be41363ff 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -319,9 +319,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -496,6 +493,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -587,55 +587,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && current_os != "zos") {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/1488374): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/1235145): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1023,17 +974,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1541,46 +1481,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
-- swiftflags += [ "-file-compilation-dir=." ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the RBE cache entries.
-@@ -1599,39 +1499,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path) {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -2007,11 +1874,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -2020,24 +1883,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2427,7 +2272,8 @@ config("default_stack_frames") {
- # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
- # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
- # [2]: https://crrev.com/c/5447532
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- cflags = [ "/O2" ] + common_optimize_on_cflags
-
-@@ -2468,7 +2314,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2508,7 +2355,8 @@ config("no_optimize") {
- # Turns up the optimization level. Used to explicitly enable -O2 instead of
- # -Os for select targets on platforms that use optimize_for_size. No-op
- # elsewhere.
--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:
-@@ -2541,7 +2389,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:
-@@ -2570,7 +2419,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2703,7 +2553,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2852,7 +2703,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2937,7 +2789,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 59fa14463b..ca780602b4 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -75,7 +75,8 @@ declare_args() {
- #
- # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch b/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch
deleted file mode 100644
index cd39907..0000000
--- a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/google_apis/google_api_keys-inc.cc b/google_apis/google_api_keys-inc.cc
-index 4d13e697a5..61aac7b486 100644
---- a/google_apis/google_api_keys-inc.cc
-+++ b/google_apis/google_api_keys-inc.cc
-@@ -193,11 +193,11 @@ class APIKeyCache {
- std::string default_client_id = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_ID,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(),
-- nullptr, std::string(), environment.get(), command_line, gaia_config);
-+ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config);
- std::string default_client_secret = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_SECRET,
- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(),
-- nullptr, std::string(), environment.get(), command_line, gaia_config);
-+ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config);
-
- // We currently only allow overriding the baked-in values for the
- // default OAuth2 client ID and secret using a command-line
diff --git a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch b/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch
deleted file mode 100644
index dd7a643..0000000
--- a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/google_apis/google_api_keys-inc.cc b/google_apis/google_api_keys-inc.cc
-index 49c396d69d..9493e7e5aa 100644
---- a/google_apis/google_api_keys-inc.cc
-+++ b/google_apis/google_api_keys-inc.cc
-@@ -182,11 +182,11 @@ class APIKeyCache {
-
- std::string default_client_id = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_ID,
-- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr,
-+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID,
- std::string(), environment.get(), command_line, gaia_config);
- std::string default_client_secret = CalculateKeyValue(
- GOOGLE_DEFAULT_CLIENT_SECRET,
-- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr,
-+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret,
- std::string(), environment.get(), command_line, gaia_config);
-
- // We currently only allow overriding the baked-in values for the
diff --git a/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch b/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch
deleted file mode 100644
index 570cce8..0000000
--- a/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/build/rust/rust_bindgen.gni b/build/rust/rust_bindgen.gni
-index bf110ca93c..654ddf5f0b 100644
---- a/build/rust/rust_bindgen.gni
-+++ b/build/rust/rust_bindgen.gni
-@@ -152,6 +152,8 @@ template("rust_bindgen") {
- clang_resource_dir,
- ]
-
-+ args += [ "-I" + rebase_path(sysroot + "/usr/lib/clang/17/include/", root_build_dir) ]
-+
- # The `--sysroot` flag is not working as expected and gets ignored (we don't
- # fully understand why, see b/328510249). But we add `-isystem` to point at
- # the headers in the sysroot which are otherwise not found.
diff --git a/www-client/chromium/files/chromium-128-compiler-r1.patch b/www-client/chromium/files/chromium-128-compiler-r1.patch
deleted file mode 100644
index fa0fc5c..0000000
--- a/www-client/chromium/files/chromium-128-compiler-r1.patch
+++ /dev/null
@@ -1,324 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index eb329bc88f..145343f6ec 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -305,9 +305,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -487,6 +484,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -556,55 +556,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl) {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/40283598): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/40192287): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1012,17 +963,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1540,52 +1480,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
--
-- # Convert absolute paths to relative paths. Expands to, for example:
-- # -file-prefix-map /path/to/chromium/src=../..
-- swiftflags += [
-- "-file-prefix-map",
-- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir),
-- ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the RBE cache entries.
-@@ -1604,40 +1498,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path &&
-- current_os != "zos") {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -2034,11 +1894,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -2047,24 +1903,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2457,7 +2295,8 @@ config("default_stack_frames") {
- # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
- # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
- # [2]: https://crrev.com/c/5447532
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
- # consistency with the other platforms.
-@@ -2503,7 +2342,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2543,7 +2383,8 @@ config("no_optimize") {
- # Turns up the optimization level. Used to explicitly enable -O2 instead of
- # -Os for select targets on platforms that use optimize_for_size. No-op
- # elsewhere.
--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:
-@@ -2576,7 +2417,8 @@ config("optimize_max") {
- #
- # TODO(crbug.com/41259697) - 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:
-@@ -2605,7 +2447,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2736,7 +2579,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2886,7 +2730,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2971,7 +2816,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index fd4c683442..20c9e4c901 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -79,7 +79,8 @@ declare_args() {
- #
- # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-128-compiler.patch b/www-client/chromium/files/chromium-128-compiler.patch
deleted file mode 100644
index 688f928..0000000
--- a/www-client/chromium/files/chromium-128-compiler.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index 1d2c6e0..9d7e9c0 100644
---- a/build/config/compiler/BUILD.gn
-+++ b/build/config/compiler/BUILD.gn
-@@ -305,9 +305,6 @@ config("compiler") {
-
- configs += [
- # See the definitions below.
-- ":clang_revision",
-- ":rustc_revision",
-- ":compiler_cpu_abi",
- ":compiler_codegen",
- ":compiler_deterministic",
- ]
-@@ -487,6 +484,9 @@ config("compiler") {
- ldflags += [ "-fPIC" ]
- rustflags += [ "-Crelocation-model=pic" ]
-
-+ extra_rustflags = getenv("RUSTFLAGS")
-+ rustflags += [ extra_rustflags ]
-+
- if (!is_clang) {
- # Use pipes for communicating between sub-processes. Faster.
- # (This flag doesn't do anything with Clang.)
-@@ -556,55 +556,6 @@ config("compiler") {
- ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
- }
-
-- if (is_clang && !is_nacl && current_os != "zos") {
-- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
-- if (save_reproducers_on_lld_crash && use_lld) {
-- ldflags += [
-- "-fcrash-diagnostics=all",
-- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir,
-- ]
-- }
--
-- # TODO(hans): Remove this once Clang generates better optimized debug info
-- # by default. https://crbug.com/765793
-- cflags += [
-- "-mllvm",
-- "-instcombine-lower-dbg-declare=0",
-- ]
-- if (!is_debug && use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ]
-- }
-- }
--
-- # TODO(crbug.com/40283598): This causes binary size growth and potentially
-- # other problems.
-- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
-- if (default_toolchain != "//build/toolchain/cros:target" &&
-- !llvm_android_mainline) {
-- cflags += [
-- "-mllvm",
-- "-split-threshold-for-reg-with-hint=0",
-- ]
-- if (use_thin_lto && is_a_target_toolchain) {
-- if (is_win) {
-- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ]
-- } else {
-- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
-- }
-- }
-- }
--
-- # TODO(crbug.com/40192287): Investigate why/if this should be needed.
-- if (is_win) {
-- cflags += [ "/clang:-ffp-contract=off" ]
-- } else {
-- cflags += [ "-ffp-contract=off" ]
-- }
-- }
--
- # C11/C++11 compiler flags setup.
- # ---------------------------
- if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1014,17 +965,6 @@ config("compiler") {
- # `-nodefaultlibs` from the linker invocation from Rust, which would be used
- # to compile dylibs on Android, such as for constructing unit test APKs.
- "-Cdefault-linker-libraries",
--
-- # To make Rust .d files compatible with ninja
-- "-Zdep-info-omit-d-target",
--
-- # If a macro panics during compilation, show which macro and where it is
-- # defined.
-- "-Zmacro-backtrace",
--
-- # For deterministic builds, keep the local machine's current working
-- # directory from appearing in build outputs.
-- "-Zremap-cwd-prefix=.",
- ]
-
- if (!is_win || force_rustc_color_output) {
-@@ -1542,46 +1482,6 @@ config("compiler_deterministic") {
- }
- }
-
-- # Makes builds independent of absolute file path.
-- if (is_clang && strip_absolute_paths_from_debug_symbols) {
-- # If debug option is given, clang includes $cwd in debug info by default.
-- # For such build, this flag generates reproducible obj files even we use
-- # different build directory like "out/feature_a" and "out/feature_b" if
-- # we build same files with same compile flag.
-- # Other paths are already given in relative, no need to normalize them.
-- if (is_nacl) {
-- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
-- cflags += [
-- "-Xclang",
-- "-fdebug-compilation-dir",
-- "-Xclang",
-- ".",
-- ]
-- } else {
-- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir=
-- # and -fcoverage-compilation-dir=.
-- cflags += [ "-ffile-compilation-dir=." ]
-- swiftflags += [ "-file-compilation-dir=." ]
-- }
-- if (!is_win) {
-- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167)
-- asmflags = [ "-Wa,-fdebug-compilation-dir,." ]
-- }
--
-- if (is_win && use_lld) {
-- if (symbol_level == 2 || (is_clang && using_sanitizer)) {
-- # Absolutize source file paths for PDB. Pass the real build directory
-- # if the pdb contains source-level debug information and if linker
-- # reproducibility is not critical.
-- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ]
-- } else {
-- # Use a fake fixed base directory for paths in the pdb to make the pdb
-- # output fully deterministic and independent of the build directory.
-- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ]
-- }
-- }
-- }
--
- # Tells the compiler not to use absolute paths when passing the default
- # paths to the tools it invokes. We don't want this because we don't
- # really need it and it can mess up the RBE cache entries.
-@@ -1600,39 +1500,6 @@ config("compiler_deterministic") {
- }
- }
-
--config("clang_revision") {
-- if (is_clang && clang_base_path == default_clang_base_path) {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
-- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
-- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
--
-- # This is here so that all files get recompiled after a clang roll and
-- # when turning clang on or off. (defines are passed via the command line,
-- # and build system rebuild things when their commandline changes). Nothing
-- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
-- }
--}
--
--config("rustc_revision") {
-- if (rustc_revision != "") {
-- # Similar to the above config, this is here so that all files get recompiled
-- # after a rustc roll. Nothing should ever read this cfg. This will not be
-- # set if a custom toolchain is used.
-- rustflags = [
-- "--cfg",
-- "cr_rustc_revision=\"$rustc_revision\"",
-- ]
-- }
--}
--
- config("compiler_arm_fpu") {
- if (current_cpu == "arm" && !is_ios && !is_nacl) {
- cflags = [ "-mfpu=$arm_fpu" ]
-@@ -2008,11 +1875,7 @@ config("chromium_code") {
- defines = [ "_HAS_NODISCARD" ]
- }
- } else {
-- cflags = [ "-Wall" ]
-- if (is_clang) {
-- # Enable extra warnings for chromium_code when we control the compiler.
-- cflags += [ "-Wextra" ]
-- }
-+ cflags = [ ]
-
- # In Chromium code, we define __STDC_foo_MACROS in order to get the
- # C99 macros on Mac and Linux.
-@@ -2021,24 +1884,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" &&
-- current_cpu != "riscv64" && current_cpu != "loong64") {
-- # 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.
-- fortify_level = "2"
--
-- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3
-- # implementation with a few custom glibc patches. Use that if it's
-- # available.
-- if (is_chromeos_device && !lacros_use_chromium_toolchain) {
-- fortify_level = "3"
-- }
-- defines += [ "_FORTIFY_SOURCE=" + fortify_level ]
-- }
--
- if (is_apple) {
- cflags_objc = [ "-Wimplicit-retain-self" ]
- cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2431,7 +2276,8 @@ config("default_stack_frames") {
- # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
- # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
- # [2]: https://crrev.com/c/5447532
--config("optimize") {
-+config("optimize") { }
-+config("xoptimize") {
- if (is_win) {
- # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
- # consistency with the other platforms.
-@@ -2477,7 +2323,8 @@ config("optimize") {
- }
-
- # Turn off optimizations.
--config("no_optimize") {
-+config("no_optimize") { }
-+config("xno_optimize") {
- if (is_win) {
- cflags = [
- "/Od", # Disable optimization.
-@@ -2517,7 +2364,8 @@ config("no_optimize") {
- # Turns up the optimization level. Used to explicitly enable -O2 instead of
- # -Os for select targets on platforms that use optimize_for_size. No-op
- # elsewhere.
--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:
-@@ -2550,7 +2398,8 @@ config("optimize_max") {
- #
- # TODO(crbug.com/41259697) - 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:
-@@ -2579,7 +2428,8 @@ config("optimize_speed") {
- }
- }
-
--config("optimize_fuzzing") {
-+config("optimize_fuzzing") { }
-+config("xoptimize_fuzzing") {
- cflags = [ "-O1" ] + common_optimize_on_cflags
- rustflags = [ "-Copt-level=1" ]
- ldflags = common_optimize_on_ldflags
-@@ -2710,7 +2560,8 @@ config("win_pdbaltpath") {
- }
-
- # Full symbols.
--config("symbols") {
-+config("symbols") { }
-+config("xsymbols") {
- rustflags = []
- if (is_win) {
- if (is_clang) {
-@@ -2859,7 +2710,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") {
- rustflags = []
- if (is_win) {
- # Functions, files, and line tables only.
-@@ -2944,7 +2796,8 @@ config("minimal_symbols") {
- # This configuration contains function names only. That is, the compiler is
- # told to not generate debug information and the linker then just puts function
- # names in the final debug information.
--config("no_symbols") {
-+config("no_symbols") { }
-+config("xno_symbols") {
- if (is_win) {
- ldflags = [ "/DEBUG" ]
-
-diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 97e788a..e9bbcc0 100644
---- a/build/config/rust.gni
-+++ b/build/config/rust.gni
-@@ -79,7 +79,8 @@ declare_args() {
- #
- # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
- # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-- toolchain_supports_rust_thin_lto = !is_chromeos
-+ # toolchain_supports_rust_thin_lto = !is_chromeos
-+ toolchain_supports_rust_thin_lto = false
-
- # Any extra std rlibs in your Rust toolchain, relative to the standard
- # Rust toolchain. Typically used with 'rust_sysroot_absolute'
diff --git a/www-client/chromium/files/chromium-131-EnumTable-crash.patch b/www-client/chromium/files/chromium-131-EnumTable-crash.patch
deleted file mode 100644
index f4a6969..0000000
--- a/www-client/chromium/files/chromium-131-EnumTable-crash.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h
-index 18fd272c6a..db9d2fb18a 100644
---- a/components/media_router/common/providers/cast/channel/enum_table.h
-+++ b/components/media_router/common/providers/cast/channel/enum_table.h
-@@ -16,6 +16,7 @@
- #include <optional>
- #include <ostream>
- #include <string_view>
-+#include <vector>
-
- #include "base/check_op.h"
- #include "base/notreached.h"
-@@ -193,7 +194,6 @@ class
- inline constexpr GenericEnumTableEntry(int32_t value);
- inline constexpr GenericEnumTableEntry(int32_t value, std::string_view str);
-
-- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete;
- GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete;
-
- private:
-@@ -259,7 +259,6 @@ class EnumTable {
- constexpr Entry(E value, std::string_view str)
- : GenericEnumTableEntry(static_cast<int32_t>(value), str) {}
-
-- Entry(const Entry&) = delete;
- Entry& operator=(const Entry&) = delete;
- };
-
-@@ -318,15 +317,14 @@ class EnumTable {
- if (is_sorted_) {
- const std::size_t index = static_cast<std::size_t>(value);
- if (ANALYZER_ASSUME_TRUE(index < data_.size())) {
-- const auto& entry = data_.begin()[index];
-+ const auto& entry = data_[index];
- if (ANALYZER_ASSUME_TRUE(entry.has_str()))
- return entry.str();
- }
- return std::nullopt;
- }
- return GenericEnumTableEntry::FindByValue(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), static_cast<int32_t>(value));
-+ &data_[0], data_.size(), static_cast<int32_t>(value));
- }
-
- // This overload of GetString is designed for cases where the argument is a
-@@ -355,8 +353,7 @@ class EnumTable {
- // enum value directly.
- std::optional<E> GetEnum(std::string_view str) const {
- auto* entry = GenericEnumTableEntry::FindByString(
-- reinterpret_cast<const GenericEnumTableEntry*>(data_.begin()),
-- data_.size(), str);
-+ &data_[0], data_.size(), str);
- return entry ? static_cast<E>(entry->value) : std::optional<E>();
- }
-
-@@ -368,9 +365,9 @@ class EnumTable {
-
- private:
- #ifdef ARCH_CPU_64_BITS
-- alignas(std::hardware_destructive_interference_size)
-+ alignas(64)
- #endif
-- std::initializer_list<Entry> data_;
-+ const std::vector<Entry> data_;
- bool is_sorted_;
-
- constexpr EnumTable(std::initializer_list<Entry> data, bool is_sorted)
-@@ -382,8 +379,8 @@ class EnumTable {
-
- for (std::size_t i = 0; i < data.size(); i++) {
- for (std::size_t j = i + 1; j < data.size(); j++) {
-- const Entry& ei = data.begin()[i];
-- const Entry& ej = data.begin()[j];
-+ const Entry& ei = data[i];
-+ const Entry& ej = data[j];
- DCHECK(ei.value != ej.value)
- << "Found duplicate enum values at indices " << i << " and " << j;
- DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str()))
diff --git a/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch b/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch
deleted file mode 100644
index 50ada83..0000000
--- a/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-index dfa1cb1369..ecffa654a2 100644
---- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-+++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-@@ -323,7 +323,7 @@ void TextCodecICU::CreateICUConverter() const {
- DCHECK(!converter_icu_);
-
- #if defined(USING_SYSTEM_ICU)
-- const char* name = encoding_.GetName();
-+ const char* name = encoding_.GetName().Utf8().c_str();
- needs_gbk_fallbacks_ =
- name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3];
- #endif
-@@ -448,7 +448,7 @@ String TextCodecICU::Decode(base::span<const uint8_t> data,
- // <http://bugs.webkit.org/show_bug.cgi?id=17014>
- // Simplified Chinese pages use the code A3A0 to mean "full-width space", but
- // ICU decodes it as U+E5E5.
-- if (!strcmp(encoding_.GetName(), "GBK")) {
-+ if (!strcmp(encoding_.GetName().Utf8().c_str(), "GBK")) {
- if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030"))
- resultString.Replace(0xE5E5, kIdeographicSpaceCharacter);
- // Make GBK compliant to the encoding spec and align with GB18030
diff --git a/www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch b/www-client/chromium/files/chromium-138-gn-exec_script_allowlist.patch
index 008e149..e5d6f15 100644
--- a/www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch
+++ b/www-client/chromium/files/chromium-138-gn-exec_script_allowlist.patch
@@ -1,14 +1,14 @@
diff --git a/.gn b/.gn
-index 3f65718281..0170ef8d0f 100644
+index ae58a0b0a6..e34034d383 100644
--- a/.gn
+++ b/.gn
-@@ -145,31 +145,31 @@ no_check_targets = [
+@@ -146,25 +146,25 @@ no_check_targets = [
# this situation much easier to create. if the build always lists the
# files and passes them to a script, it will always be correct.
-exec_script_allowlist =
- build_dotfile_settings.exec_script_allowlist +
-- angle_dotfile_settings.exec_script_whitelist +
+- angle_dotfile_settings.exec_script_allowlist +
- [
- # Allowlist entries for //build should go into
- # //build/dotfile_settings.gni instead, so that they can be shared
@@ -16,14 +16,8 @@ index 3f65718281..0170ef8d0f 100644
- # in the Chromium repo outside of //build.
- "//build_overrides/build.gni",
-
-- "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
- "//chrome/version.gni",
-
-- # TODO(dgn): Layer violation but breaks the build otherwise, see
-- # https://crbug.com/474506.
-- "//clank/java/BUILD.gn",
-- "//clank/native/BUILD.gn",
--
- "//google_apis/BUILD.gn",
- "//printing/BUILD.gn",
-
@@ -36,7 +30,7 @@ index 3f65718281..0170ef8d0f 100644
- ]
+#exec_script_allowlist =
+# build_dotfile_settings.exec_script_allowlist +
-+# angle_dotfile_settings.exec_script_whitelist +
++# angle_dotfile_settings.exec_script_allowlist +
+# [
+# # Allowlist entries for //build should go into
+# # //build/dotfile_settings.gni instead, so that they can be shared
@@ -44,14 +38,8 @@ index 3f65718281..0170ef8d0f 100644
+# # in the Chromium repo outside of //build.
+# "//build_overrides/build.gni",
+#
-+# "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
+# "//chrome/version.gni",
+#
-+# # TODO(dgn): Layer violation but breaks the build otherwise, see
-+# # https://crbug.com/474506.
-+# "//clank/java/BUILD.gn",
-+# "//clank/native/BUILD.gn",
-+#
+# "//google_apis/BUILD.gn",
+# "//printing/BUILD.gn",
+#
diff --git a/www-client/chromium/files/chromium-131-compiler.patch b/www-client/chromium/files/chromium-139-compiler-r1.patch
index 1790cfd..4a1e8fe 100644
--- a/www-client/chromium/files/chromium-131-compiler.patch
+++ b/www-client/chromium/files/chromium-139-compiler-r1.patch
@@ -1,8 +1,25 @@
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index 98ae25c768..fca2469519 100644
+index 0c04c90368..6cebd33c44 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -311,9 +311,6 @@ config("compiler") {
+@@ -241,16 +241,6 @@ declare_args() {
+ assert(!(llvm_force_head_revision && use_remoteexec && host_os != "linux"),
+ "rbe with locally built clang only works on linux")
+
+-# Whether or not we should pass the warning_suppression.txt file to clang
+-# compilations. This file allows us to suppress warnings that originate from
+-# specific file paths, typically third_party headers.
+-#
+-# Since this is referenced both when passing the file and when deciding which
+-# warnings to enable, store it in a separate variable here.
+-use_clang_warning_suppression_file =
+- !is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
+- !llvm_android_mainline && is_clang && clang_warning_suppression_file != ""
+-
+ # default_include_dirs ---------------------------------------------------------
+ #
+ # This is a separate config so that third_party code (which would not use the
+@@ -320,12 +310,8 @@ config("compiler") {
configs += [
# See the definitions below.
@@ -11,8 +28,11 @@ index 98ae25c768..fca2469519 100644
- ":compiler_cpu_abi",
":compiler_codegen",
":compiler_deterministic",
+- ":clang_warning_suppression",
]
-@@ -493,6 +490,9 @@ config("compiler") {
+
+ # TODO(https://crbug.com/404297941): Disable clang_warning_suppression
+@@ -515,6 +501,9 @@ config("compiler") {
ldflags += [ "-fPIC" ]
rustflags += [ "-Crelocation-model=pic" ]
@@ -22,7 +42,7 @@ index 98ae25c768..fca2469519 100644
if (!is_clang) {
# Use pipes for communicating between sub-processes. Faster.
# (This flag doesn't do anything with Clang.)
-@@ -562,55 +562,6 @@ config("compiler") {
+@@ -602,63 +591,6 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -73,12 +93,20 @@ index 98ae25c768..fca2469519 100644
- } else {
- cflags += [ "-ffp-contract=off" ]
- }
+-
+- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
+- # (excluding toolchains that use an older version of LLVM).
+- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
+- if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" &&
+- default_toolchain != "//build/toolchain/cros:target") {
+- cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
+- }
- }
-
# C11/C++11 compiler flags setup.
# ---------------------------
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1031,17 +982,6 @@ config("compiler") {
+@@ -1083,20 +1015,6 @@ config("compiler") {
# `-nodefaultlibs` from the linker invocation from Rust, which would be used
# to compile dylibs on Android, such as for constructing unit test APKs.
"-Cdefault-linker-libraries",
@@ -93,10 +121,22 @@ index 98ae25c768..fca2469519 100644
- # For deterministic builds, keep the local machine's current working
- # directory from appearing in build outputs.
- "-Zremap-cwd-prefix=.",
+-
+- # We use clang-rt sanitizer runtimes.
+- "-Zexternal-clangrt",
]
if (!is_win || force_rustc_color_output) {
-@@ -1561,52 +1501,6 @@ config("compiler_deterministic") {
+@@ -1151,7 +1069,7 @@ config("compiler") {
+ # Don't allow unstable features to be enabled by `#![feature()]` without
+ # additional command line flags.
+ config("disallow_unstable_features") {
+- rustflags = [ "-Zallow-features=" ]
++ #rustflags = [ "-Zallow-features=" ]
+ }
+
+ config("libcxx_hardening") {
+@@ -1631,52 +1549,6 @@ config("compiler_deterministic") {
}
}
@@ -149,29 +189,108 @@ index 98ae25c768..fca2469519 100644
# Tells the compiler not to use absolute paths when passing the default
# paths to the tools it invokes. We don't want this because we don't
# really need it and it can mess up the RBE cache entries.
-@@ -1625,40 +1519,6 @@ config("compiler_deterministic") {
+@@ -1703,119 +1575,6 @@ config("compiler_deterministic") {
}
}
-config("clang_revision") {
- if (is_clang && clang_base_path == default_clang_base_path &&
- current_os != "zos") {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
+- _perform_consistency_checks = current_toolchain == default_toolchain
- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
+- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision"
+- _head_revision = ""
+- if (path_exists(_head_revision_stamp_path)) {
+- _head_revision = read_file(_head_revision_stamp_path, "trim string")
+- }
+- assert(
+- _head_revision != "",
+- "llvm_force_head_revision=true, but no locally built version was detected.")
+- _clang_revision = _head_revision
+- } else {
+- _clang_revision = read_file(
+- "//third_party/llvm-build/Release+Asserts/cr_build_revision",
+- "trim string")
+-
+- # Ensure that the synced clang version matches what's in git.
+- if (_perform_consistency_checks) {
+- # Parse the clang version from the Python script.
+- _clang_version_lines = filter_include(
+- read_file("//tools/clang/scripts/update.py", "list lines"),
+- [ "CLANG_*REVISION = *" ])
+- _py_revision =
+- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "")
+- _py_revision = string_replace(_py_revision, "'", "")
+- _py_subrevision =
+- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "")
+- _expected_clang_revision = "$_py_revision-$_py_subrevision"
+-
+- # TODO(agrieve): Change filter_include to _clang_revision ==
+- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry
+- # rather than a update.py runhook.
+- assert(
+- filter_include([ _clang_revision ],
+- [
+- _expected_clang_revision,
+- "$_expected_clang_revision,*",
+- ]) != [],
+- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?")
+- }
+- }
+-
+- if (_perform_consistency_checks) {
+- # Ensure that the revision matches the version major expected by GN.
+- _versions_match = filter_include([ _clang_revision ],
+- [ "llvmorg-$clang_version-*" ]) != []
+- assert(
+- _versions_match,
+- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.")
+- }
+-
+- if (toolchain_has_rust && _perform_consistency_checks) {
+- # Ensure that the synced rust version matches what's in git.
+- _rust_revision_lines =
+- filter_include(read_file("//tools/rust/update_rust.py", "list lines"),
+- [ "RUST_*REVISION = *" ])
+- _py_revision =
+- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "")
+- _py_revision = string_replace(_py_revision, "'", "")
+- _py_subrevision =
+- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "")
+- _expected_rust_revision = "$_py_revision-$_py_subrevision"
+-
+- # Ensure the rust version matches the clang version.
+- assert(
+- filter_include([ rustc_revision ],
+- [ "*-$_expected_rust_revision-*" ]) != [],
+- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?")
- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
-
- # This is here so that all files get recompiled after a clang roll and
- # when turning clang on or off. (defines are passed via the command line,
- # and build system rebuild things when their commandline changes). Nothing
- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
+- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ]
+- }
+-}
+-
+-# Controls the usage of a warning suppression mapping (WSM) file to suppress
+-# warnings based on the path of the file they come from. It's controlled by the
+-# `clang_warning_suppression_file` gn argument , which points to a text file
+-# defining which warnings should be suppressed where.
+-# See //build/config/warning_suppression.txt for an example file; this is the
+-# file used by Chromium.
+-#
+-# To use a different file, or to use this functionality outside of chromium,
+-# set the `clang_warning_suppression_file` argument to point to the new file,
+-# e.g. by setting in the the project's .gn file.
+-config("clang_warning_suppression") {
+- # Some build configs use older versions of clang that don't support WSMs
+- if (use_clang_warning_suppression_file) {
+- from_build_root =
+- rebase_path(clang_warning_suppression_file, root_build_dir)
+- inputs = [ clang_warning_suppression_file ]
+- cflags = [ "--warning-suppression-mappings=" + from_build_root ]
- }
-}
-
@@ -190,7 +309,7 @@ index 98ae25c768..fca2469519 100644
config("compiler_arm_fpu") {
if (current_cpu == "arm" && !is_ios && !is_nacl) {
cflags = [ "-mfpu=$arm_fpu" ]
-@@ -2059,11 +1919,7 @@ config("chromium_code") {
+@@ -2279,11 +2038,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
@@ -203,7 +322,7 @@ index 98ae25c768..fca2469519 100644
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
-@@ -2072,24 +1928,6 @@ config("chromium_code") {
+@@ -2292,24 +2047,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
@@ -228,7 +347,7 @@ index 98ae25c768..fca2469519 100644
if (is_apple) {
cflags_objc = [ "-Wimplicit-retain-self" ]
cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2487,7 +2325,8 @@ config("default_stack_frames") {
+@@ -2734,7 +2471,8 @@ config("default_stack_frames") {
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
# [2]: https://crrev.com/c/5447532
@@ -238,7 +357,7 @@ index 98ae25c768..fca2469519 100644
if (is_win) {
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
# consistency with the other platforms.
-@@ -2536,7 +2375,8 @@ config("optimize") {
+@@ -2783,7 +2521,8 @@ config("optimize") {
}
# Turn off optimizations.
@@ -248,7 +367,7 @@ index 98ae25c768..fca2469519 100644
if (is_win) {
cflags = [
"/Od", # Disable optimization.
-@@ -2576,7 +2416,8 @@ config("no_optimize") {
+@@ -2818,7 +2557,8 @@ config("no_optimize") {
# Turns up the optimization level. Used to explicitly enable -O2 instead of
# -Os for select targets on platforms that use optimize_for_size. No-op
# elsewhere.
@@ -258,7 +377,7 @@ index 98ae25c768..fca2469519 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2609,7 +2450,8 @@ config("optimize_max") {
+@@ -2851,7 +2591,8 @@ config("optimize_max") {
#
# TODO(crbug.com/41259697) - rework how all of these configs are related
# so that we don't need this disclaimer.
@@ -268,7 +387,7 @@ index 98ae25c768..fca2469519 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2638,7 +2480,8 @@ config("optimize_speed") {
+@@ -2880,7 +2621,8 @@ config("optimize_speed") {
}
}
@@ -278,7 +397,7 @@ index 98ae25c768..fca2469519 100644
cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags
-@@ -2769,7 +2612,8 @@ config("win_pdbaltpath") {
+@@ -3011,7 +2753,8 @@ config("win_pdbaltpath") {
}
# Full symbols.
@@ -288,7 +407,7 @@ index 98ae25c768..fca2469519 100644
rustflags = []
configs = []
if (is_win) {
-@@ -2931,7 +2775,8 @@ config("symbols") {
+@@ -3185,7 +2928,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.
@@ -298,7 +417,7 @@ index 98ae25c768..fca2469519 100644
rustflags = []
if (is_win) {
# Functions, files, and line tables only.
-@@ -3016,7 +2861,8 @@ config("minimal_symbols") {
+@@ -3270,7 +3014,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts function
# names in the final debug information.
@@ -308,11 +427,24 @@ index 98ae25c768..fca2469519 100644
if (is_win) {
ldflags = [ "/DEBUG" ]
+diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn
+index a659210b19..bde0e1b273 100644
+--- a/build/config/gcc/BUILD.gn
++++ b/build/config/gcc/BUILD.gn
+@@ -32,7 +32,7 @@ declare_args() {
+ # See http://gcc.gnu.org/wiki/Visibility
+ config("symbol_visibility_hidden") {
+ cflags = [ "-fvisibility=hidden" ]
+- rustflags = [ "-Zdefault-visibility=hidden" ]
++ # rustflags = [ "-Zdefault-visibility=hidden" ]
+
+ # Visibility attribute is not supported on AIX.
+ if (current_os != "aix") {
diff --git a/build/config/rust.gni b/build/config/rust.gni
-index b7e3c8881b..a2cd059ccd 100644
+index bd18d13119..6687b7cb2f 100644
--- a/build/config/rust.gni
+++ b/build/config/rust.gni
-@@ -79,7 +79,8 @@ declare_args() {
+@@ -77,7 +77,8 @@ declare_args() {
#
# TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
# TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
diff --git a/www-client/chromium/files/chromium-132-compiler.patch b/www-client/chromium/files/chromium-139-compiler.patch
index f9cd8e3..fec48c7 100644
--- a/www-client/chromium/files/chromium-132-compiler.patch
+++ b/www-client/chromium/files/chromium-139-compiler.patch
@@ -1,8 +1,8 @@
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
-index cb9bf8772d..9e36a487ba 100644
+index a17fae7220..5e763dc668 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
-@@ -309,9 +309,6 @@ config("compiler") {
+@@ -310,12 +310,8 @@ config("compiler") {
configs += [
# See the definitions below.
@@ -11,8 +11,11 @@ index cb9bf8772d..9e36a487ba 100644
- ":compiler_cpu_abi",
":compiler_codegen",
":compiler_deterministic",
+- ":clang_warning_suppression",
]
-@@ -493,6 +490,9 @@ config("compiler") {
+
+ # TODO(https://crbug.com/404297941): Disable clang_warning_suppression
+@@ -505,6 +501,9 @@ config("compiler") {
ldflags += [ "-fPIC" ]
rustflags += [ "-Crelocation-model=pic" ]
@@ -22,7 +25,7 @@ index cb9bf8772d..9e36a487ba 100644
if (!is_clang) {
# Use pipes for communicating between sub-processes. Faster.
# (This flag doesn't do anything with Clang.)
-@@ -568,63 +568,6 @@ config("compiler") {
+@@ -581,63 +580,6 @@ config("compiler") {
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
}
@@ -77,7 +80,7 @@ index cb9bf8772d..9e36a487ba 100644
- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
- # (excluding toolchains that use an older version of LLVM).
- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
-- if (is_linux && !llvm_android_mainline && current_cpu != "arm" &&
+- if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" &&
- default_toolchain != "//build/toolchain/cros:target") {
- cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
- }
@@ -86,7 +89,7 @@ index cb9bf8772d..9e36a487ba 100644
# C11/C++11 compiler flags setup.
# ---------------------------
if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) ||
-@@ -1045,20 +988,6 @@ config("compiler") {
+@@ -1062,20 +1004,6 @@ config("compiler") {
# `-nodefaultlibs` from the linker invocation from Rust, which would be used
# to compile dylibs on Android, such as for constructing unit test APKs.
"-Cdefault-linker-libraries",
@@ -107,7 +110,7 @@ index cb9bf8772d..9e36a487ba 100644
]
if (!is_win || force_rustc_color_output) {
-@@ -1107,7 +1036,7 @@ config("compiler") {
+@@ -1130,7 +1058,7 @@ config("compiler") {
# Don't allow unstable features to be enabled by `#![feature()]` without
# additional command line flags.
config("disallow_unstable_features") {
@@ -116,7 +119,7 @@ index cb9bf8772d..9e36a487ba 100644
}
config("libcxx_hardening") {
-@@ -1583,52 +1512,6 @@ config("compiler_deterministic") {
+@@ -1610,52 +1538,6 @@ config("compiler_deterministic") {
}
}
@@ -169,29 +172,110 @@ index cb9bf8772d..9e36a487ba 100644
# Tells the compiler not to use absolute paths when passing the default
# paths to the tools it invokes. We don't want this because we don't
# really need it and it can mess up the RBE cache entries.
-@@ -1647,40 +1530,6 @@ config("compiler_deterministic") {
+@@ -1682,121 +1564,6 @@ config("compiler_deterministic") {
}
}
-config("clang_revision") {
- if (is_clang && clang_base_path == default_clang_base_path &&
- current_os != "zos") {
-- update_args = [
-- "--print-revision",
-- "--verify-version=$clang_version",
-- ]
+- _perform_consistency_checks = current_toolchain == default_toolchain
- if (llvm_force_head_revision) {
-- update_args += [ "--llvm-force-head-revision" ]
+- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision"
+- _head_revision = ""
+- if (path_exists(_head_revision_stamp_path)) {
+- _head_revision = read_file(_head_revision_stamp_path, "trim string")
+- }
+- assert(
+- _head_revision != "",
+- "llvm_force_head_revision=true, but no locally built version was detected.")
+- _clang_revision = _head_revision
+- } else {
+- _clang_revision = read_file(
+- "//third_party/llvm-build/Release+Asserts/cr_build_revision",
+- "trim string")
+-
+- # Ensure that the synced clang version matches what's in git.
+- if (_perform_consistency_checks) {
+- # Parse the clang version from the Python script.
+- _clang_version_lines = filter_include(
+- read_file("//tools/clang/scripts/update.py", "list lines"),
+- [ "CLANG_*REVISION = *" ])
+- _py_revision =
+- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "")
+- _py_revision = string_replace(_py_revision, "'", "")
+- _py_subrevision =
+- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "")
+- _expected_clang_revision = "$_py_revision-$_py_subrevision"
+-
+- # TODO(agrieve): Change filter_include to _clang_revision ==
+- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry
+- # rather than a update.py runhook.
+- assert(
+- filter_include([ _clang_revision ],
+- [
+- _expected_clang_revision,
+- "$_expected_clang_revision,*",
+- ]) != [],
+- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?")
+- }
+- }
+-
+- if (_perform_consistency_checks) {
+- # Ensure that the revision matches the version major expected by GN.
+- _versions_match = filter_include([ _clang_revision ],
+- [ "llvmorg-$clang_version-*" ]) != []
+- assert(
+- _versions_match,
+- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.")
+- }
+-
+- if (toolchain_has_rust && _perform_consistency_checks) {
+- # Ensure that the synced rust version matches what's in git.
+- _rust_revision_lines =
+- filter_include(read_file("//tools/rust/update_rust.py", "list lines"),
+- [ "RUST_*REVISION = *" ])
+- _py_revision =
+- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "")
+- _py_revision = string_replace(_py_revision, "'", "")
+- _py_subrevision =
+- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "")
+- _expected_rust_revision = "$_py_revision-$_py_subrevision"
+-
+- # Ensure the rust version matches the clang version.
+- assert(
+- filter_include([ rustc_revision ],
+- [ "*-$_expected_rust_revision-*" ]) != [],
+- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?")
- }
-- clang_revision = exec_script("//tools/clang/scripts/update.py",
-- update_args,
-- "trim string")
-
- # This is here so that all files get recompiled after a clang roll and
- # when turning clang on or off. (defines are passed via the command line,
- # and build system rebuild things when their commandline changes). Nothing
- # should ever read this define.
-- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ]
+- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ]
+- }
+-}
+-
+-# Controls the usage of a warning suppression mapping (WSM) file to suppress
+-# warnings based on the path of the file they come from. It's controlled by the
+-# `clang_warning_suppression_file` gn argument , which points to a text file
+-# defining which warnings should be suppressed where.
+-# See //build/config/warning_suppression.txt for an example file; this is the
+-# file used by Chromium.
+-#
+-# To use a different file, or to use this functionality outside of chromium,
+-# set the `clang_warning_suppression_file` argument to point to the new file,
+-# e.g. by setting in the the project's .gn file.
+-config("clang_warning_suppression") {
+- # Some build configs use older versions of clang that don't support WSMs
+- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" &&
+- !llvm_android_mainline && is_clang &&
+- clang_warning_suppression_file != "") {
+- from_build_root =
+- rebase_path(clang_warning_suppression_file, root_build_dir)
+- inputs = [ clang_warning_suppression_file ]
+- cflags = [ "--warning-suppression-mappings=" + from_build_root ]
- }
-}
-
@@ -210,7 +294,7 @@ index cb9bf8772d..9e36a487ba 100644
config("compiler_arm_fpu") {
if (current_cpu == "arm" && !is_ios && !is_nacl) {
cflags = [ "-mfpu=$arm_fpu" ]
-@@ -2086,11 +1935,7 @@ config("chromium_code") {
+@@ -2248,11 +2015,7 @@ config("chromium_code") {
defines = [ "_HAS_NODISCARD" ]
}
} else {
@@ -223,7 +307,7 @@ index cb9bf8772d..9e36a487ba 100644
# In Chromium code, we define __STDC_foo_MACROS in order to get the
# C99 macros on Mac and Linux.
-@@ -2099,24 +1944,6 @@ config("chromium_code") {
+@@ -2261,24 +2024,6 @@ config("chromium_code") {
"__STDC_FORMAT_MACROS",
]
@@ -248,7 +332,7 @@ index cb9bf8772d..9e36a487ba 100644
if (is_apple) {
cflags_objc = [ "-Wimplicit-retain-self" ]
cflags_objcc = [ "-Wimplicit-retain-self" ]
-@@ -2544,7 +2371,8 @@ config("default_stack_frames") {
+@@ -2703,7 +2448,8 @@ config("default_stack_frames") {
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000
# [2]: https://crrev.com/c/5447532
@@ -258,7 +342,7 @@ index cb9bf8772d..9e36a487ba 100644
if (is_win) {
# clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for
# consistency with the other platforms.
-@@ -2593,7 +2421,8 @@ config("optimize") {
+@@ -2752,7 +2498,8 @@ config("optimize") {
}
# Turn off optimizations.
@@ -268,7 +352,7 @@ index cb9bf8772d..9e36a487ba 100644
if (is_win) {
cflags = [
"/Od", # Disable optimization.
-@@ -2633,7 +2462,8 @@ config("no_optimize") {
+@@ -2787,7 +2534,8 @@ config("no_optimize") {
# Turns up the optimization level. Used to explicitly enable -O2 instead of
# -Os for select targets on platforms that use optimize_for_size. No-op
# elsewhere.
@@ -278,7 +362,7 @@ index cb9bf8772d..9e36a487ba 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2666,7 +2496,8 @@ config("optimize_max") {
+@@ -2820,7 +2568,8 @@ config("optimize_max") {
#
# TODO(crbug.com/41259697) - rework how all of these configs are related
# so that we don't need this disclaimer.
@@ -288,7 +372,7 @@ index cb9bf8772d..9e36a487ba 100644
if (is_nacl && is_nacl_irt) {
# The NaCl IRT is a special case and always wants its own config.
# Various components do:
-@@ -2695,7 +2526,8 @@ config("optimize_speed") {
+@@ -2849,7 +2598,8 @@ config("optimize_speed") {
}
}
@@ -298,7 +382,7 @@ index cb9bf8772d..9e36a487ba 100644
cflags = [ "-O1" ] + common_optimize_on_cflags
rustflags = [ "-Copt-level=1" ]
ldflags = common_optimize_on_ldflags
-@@ -2826,7 +2658,8 @@ config("win_pdbaltpath") {
+@@ -2980,7 +2730,8 @@ config("win_pdbaltpath") {
}
# Full symbols.
@@ -308,7 +392,7 @@ index cb9bf8772d..9e36a487ba 100644
rustflags = []
configs = []
if (is_win) {
-@@ -2988,7 +2821,8 @@ config("symbols") {
+@@ -3154,7 +2905,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.
@@ -318,7 +402,7 @@ index cb9bf8772d..9e36a487ba 100644
rustflags = []
if (is_win) {
# Functions, files, and line tables only.
-@@ -3073,7 +2907,8 @@ config("minimal_symbols") {
+@@ -3239,7 +2991,8 @@ config("minimal_symbols") {
# This configuration contains function names only. That is, the compiler is
# told to not generate debug information and the linker then just puts function
# names in the final debug information.
@@ -342,10 +426,10 @@ index a659210b19..bde0e1b273 100644
# Visibility attribute is not supported on AIX.
if (current_os != "aix") {
diff --git a/build/config/rust.gni b/build/config/rust.gni
-index 5b7807a1b8..4b3acd300e 100644
+index bd18d13119..6687b7cb2f 100644
--- a/build/config/rust.gni
+++ b/build/config/rust.gni
-@@ -79,7 +79,8 @@ declare_args() {
+@@ -77,7 +77,8 @@ declare_args() {
#
# TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
# TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
diff --git a/www-client/chromium/files/chromium-135-mv2-ungoogled.patch b/www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch
index db276b3..36d3419 100644
--- a/www-client/chromium/files/chromium-135-mv2-ungoogled.patch
+++ b/www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch
@@ -1,10 +1,10 @@
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
-index e330cb7163..08da10083a 100644
+index 99e7a64fee..924592d366 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
-@@ -618,17 +618,6 @@ void ExtensionInfoGenerator::CreateExtensionInfoHelper(
- info->controlled_info.emplace();
- info->controlled_info->text =
+@@ -595,17 +595,6 @@ void ExtensionInfoGenerator::FillExtensionInfo(const Extension& extension,
+ info.controlled_info.emplace();
+ info.controlled_info->text =
l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE);
- } else {
- // Create Safety Hub information for any non-enterprise extension.
@@ -12,8 +12,8 @@ index e330cb7163..08da10083a 100644
- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension,
- profile);
- if (warning_reason != developer::SafetyCheckWarningReason::kNone) {
-- info->safety_check_warning_reason = warning_reason;
-- info->safety_check_text =
+- info.safety_check_warning_reason = warning_reason;
+- info.safety_check_text =
- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings(
- warning_reason, state);
- }
@@ -21,10 +21,10 @@ index e330cb7163..08da10083a 100644
bool is_enabled = state == developer::ExtensionState::kEnabled;
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
-index eb2350fca9..f13816a016 100644
+index 7d55128c57..1f0e2b931a 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
-@@ -318,31 +318,7 @@ bool ExtensionManagement::IsAllowedManifestVersion(
+@@ -355,31 +355,7 @@ bool ExtensionManagement::IsAllowedManifestVersion(
int manifest_version,
const std::string& extension_id,
Manifest::Type manifest_type) {
@@ -50,13 +50,13 @@ index eb2350fca9..f13816a016 100644
- auto installation_mode =
- GetInstallationMode(extension_id, /*update_url=*/std::string());
- return manifest_version >= 3 ||
-- installation_mode == INSTALLATION_FORCED ||
-- installation_mode == INSTALLATION_RECOMMENDED;
+- installation_mode == ManagedInstallationMode::kForced ||
+- installation_mode == ManagedInstallationMode::kRecommended;
- }
}
bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) {
-@@ -363,26 +339,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
+@@ -400,26 +376,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
return false;
}
@@ -75,36 +75,16 @@ index eb2350fca9..f13816a016 100644
- // installed extension only.
- auto installation_mode =
- GetInstallationMode(extension_id, /*update_url=*/std::string());
-- return installation_mode == INSTALLATION_FORCED ||
-- installation_mode == INSTALLATION_RECOMMENDED;
+- return installation_mode == ManagedInstallationMode::kForced ||
+- installation_mode == ManagedInstallationMode::kRecommended;
- }
-
- return false;
}
bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy(
-diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
-index 555fd894e8..3f042548bd 100644
---- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
-+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
-@@ -23,7 +23,6 @@
- #include "chrome/browser/extensions/extension_web_ui_override_registrar.h"
- #include "chrome/browser/extensions/install_tracker_factory.h"
- #include "chrome/browser/extensions/install_verifier_factory.h"
--#include "chrome/browser/extensions/manifest_v2_experiment_manager.h"
- #include "chrome/browser/extensions/menu_manager_factory.h"
- #include "chrome/browser/extensions/permissions/permissions_updater.h"
- #include "chrome/browser/extensions/plugin_manager.h"
-@@ -55,7 +54,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() {
- extensions::ChromeExtensionSystemFactory::GetInstance();
- extensions::InstallTrackerFactory::GetInstance();
- extensions::InstallVerifierFactory::GetInstance();
-- extensions::ManifestV2ExperimentManager::GetFactory();
- extensions::MenuManagerFactory::GetInstance();
- extensions::PermissionsUpdater::EnsureAssociatedFactoryBuilt();
- #if BUILDFLAG(ENABLE_PLUGINS)
diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
-index 2e47e928e3..81ad199a24 100644
+index 08b7de6995..47ff0885ad 100644
--- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc
+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext()
@@ -151,23 +131,23 @@ index 2e47e928e3..81ad199a24 100644
// Returns true if the given `stage` is one in which extension enablement should
diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc
-index 057dc619e9..52d0e388c9 100644
+index 7f00cde25c..64bb58da80 100644
--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc
+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc
-@@ -477,7 +477,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
+@@ -482,7 +482,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
extensions_features::kExtensionsMenuAccessControlWithPermittedSites));
source->AddBoolean(
"safetyHubThreeDotDetails",
- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails));
+ false);
- // TODO(crbug.com/392777363): Clean these up with non-placeholder values.
- #if BUILDFLAG(IS_ANDROID)
+ // MV2 deprecation.
+ auto* mv2_experiment_manager = ManifestV2ExperimentManager::Get(profile);
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
-index 833ea42681..dfd41632bd 100644
+index d92362bb78..626edc0b64 100644
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
-@@ -96,13 +96,6 @@ bool IsManifestSupported(int manifest_version,
+@@ -104,13 +104,6 @@ bool IsManifestSupported(int manifest_version,
// Supported versions are always safe.
if (manifest_version >= kMinimumSupportedManifestVersion &&
manifest_version <= kMaximumSupportedManifestVersion) {
diff --git a/www-client/chromium/files/chromium-139-mv2-ungoogled.patch b/www-client/chromium/files/chromium-139-mv2-ungoogled.patch
new file mode 100644
index 0000000..9450773
--- /dev/null
+++ b/www-client/chromium/files/chromium-139-mv2-ungoogled.patch
@@ -0,0 +1,163 @@
+diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_shared.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_shared.cc
+index 3950614ed7..fecfe19744 100644
+--- a/chrome/browser/extensions/api/developer_private/extension_info_generator_shared.cc
++++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_shared.cc
+@@ -596,17 +596,6 @@ void ExtensionInfoGeneratorShared::FillExtensionInfo(
+ info.controlled_info.emplace();
+ info.controlled_info->text =
+ l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE);
+- } else {
+- // Create Safety Hub information for any non-enterprise extension.
+- developer::SafetyCheckWarningReason warning_reason =
+- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension,
+- profile);
+- if (warning_reason != developer::SafetyCheckWarningReason::kNone) {
+- info.safety_check_warning_reason = warning_reason;
+- info.safety_check_text =
+- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings(
+- warning_reason, state);
+- }
+ }
+
+ bool is_enabled = state == developer::ExtensionState::kEnabled;
+diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
+index ae782891ad..b0b82002e2 100644
+--- a/chrome/browser/extensions/extension_management.cc
++++ b/chrome/browser/extensions/extension_management.cc
+@@ -322,31 +322,7 @@ bool ExtensionManagement::IsAllowedManifestVersion(
+ int manifest_version,
+ const std::string& extension_id,
+ Manifest::Type manifest_type) {
+- bool enabled_by_default =
+- !base::FeatureList::IsEnabled(
+- extensions_features::kExtensionsManifestV3Only) ||
+- manifest_version >= 3;
+-
+- // Manifest version policy only supports normal extensions and Chrome OS login
+- // screen extension.
+- if (manifest_type != Manifest::Type::TYPE_EXTENSION &&
+- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) {
+- return enabled_by_default;
+- }
+- switch (global_settings_->manifest_v2_setting) {
+- case internal::GlobalSettings::ManifestV2Setting::kDefault:
+- return enabled_by_default;
+- case internal::GlobalSettings::ManifestV2Setting::kDisabled:
+- return manifest_version >= 3;
+- case internal::GlobalSettings::ManifestV2Setting::kEnabled:
+ return true;
+- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled:
+- auto installation_mode =
+- GetInstallationMode(extension_id, /*update_url=*/std::string());
+- return manifest_version >= 3 ||
+- installation_mode == ManagedInstallationMode::kForced ||
+- installation_mode == ManagedInstallationMode::kRecommended;
+- }
+ }
+
+ bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) {
+@@ -367,26 +343,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
+ return false;
+ }
+
+- switch (global_settings_->manifest_v2_setting) {
+- case internal::GlobalSettings::ManifestV2Setting::kDefault:
+- // Default browser behavior. Not exempt.
+- return false;
+- case internal::GlobalSettings::ManifestV2Setting::kDisabled:
+- // All MV2 extensions are disallowed. Not exempt.
+- return false;
+- case internal::GlobalSettings::ManifestV2Setting::kEnabled:
+ // All MV2 extensions are allowed. Exempt.
+ return true;
+- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled:
+- // Force-installed MV2 extensions are allowed. Exempt if it's a force-
+- // installed extension only.
+- auto installation_mode =
+- GetInstallationMode(extension_id, /*update_url=*/std::string());
+- return installation_mode == ManagedInstallationMode::kForced ||
+- installation_mode == ManagedInstallationMode::kRecommended;
+- }
+-
+- return false;
+ }
+
+ bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy(
+diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
+index 08b7de6995..47ff0885ad 100644
+--- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc
++++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
+@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext()
+
+ // Determines the current stage of the MV2 deprecation experiments.
+ MV2ExperimentStage CalculateCurrentExperimentStage() {
+- // Return the "highest" stage that is currently active for the user.
+- if (base::FeatureList::IsEnabled(
+- extensions_features::kExtensionManifestV2Unsupported)) {
+- return MV2ExperimentStage::kUnsupported;
+- }
+-
+- if (base::FeatureList::IsEnabled(
+- extensions_features::kExtensionManifestV2Disabled)) {
+- return MV2ExperimentStage::kDisableWithReEnable;
+- }
+-
+- if (base::FeatureList::IsEnabled(
+- extensions_features::kExtensionManifestV2DeprecationWarning)) {
+- return MV2ExperimentStage::kWarning;
+- }
+-
+ return MV2ExperimentStage::kNone;
+ }
+
+@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor(
+ // Returns true if legacy extensions should be disabled, looking at both
+ // experiment stage and global state.
+ bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) {
+- if (g_allow_mv2_for_testing) {
+- // We allow legacy MV2 extensions for testing purposes.
+- return false;
+- }
+-
+- switch (stage) {
+- case MV2ExperimentStage::kNone:
+- case MV2ExperimentStage::kWarning:
+ return false;
+- case MV2ExperimentStage::kDisableWithReEnable:
+- case MV2ExperimentStage::kUnsupported:
+- return true;
+- }
+ }
+
+ // Returns true if the given `stage` is one in which extension enablement should
+diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc
+index 7a4d1338c4..9c599a5e7d 100644
+--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc
++++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc
+@@ -490,7 +490,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
+ extensions_features::kExtensionsMenuAccessControlWithPermittedSites));
+ source->AddBoolean(
+ "safetyHubThreeDotDetails",
+- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails));
++ false);
+
+ // MV2 deprecation.
+ auto* mv2_experiment_manager = ManifestV2ExperimentManager::Get(profile);
+diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
+index f82aaf92ad..48041098a8 100644
+--- a/extensions/common/extension.cc
++++ b/extensions/common/extension.cc
+@@ -104,13 +104,6 @@ bool IsManifestSupported(int manifest_version,
+ // Supported versions are always safe.
+ if (manifest_version >= kMinimumSupportedManifestVersion &&
+ manifest_version <= kMaximumSupportedManifestVersion) {
+- // Emit a warning for unpacked extensions on Manifest V2 warning that
+- // MV2 is deprecated.
+- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 &&
+- Manifest::IsUnpackedLocation(location) &&
+- !g_silence_deprecated_manifest_version_warnings) {
+- *warning = errors::kManifestV2IsDeprecatedWarning;
+- }
+ return true;
+ }
+
diff --git a/www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch b/www-client/chromium/files/chromium-139-protobuf-RepeatedPtrField-export.patch
index 5d336bd..948eede 100644
--- a/www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch
+++ b/www-client/chromium/files/chromium-139-protobuf-RepeatedPtrField-export.patch
@@ -1,13 +1,13 @@
diff --git a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
-index 36ca1c65c9..30baf169ef 100644
+index e98f8df605..6035b0b84b 100644
--- a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
+++ b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h
-@@ -926,7 +926,7 @@ class GenericTypeHandler<std::string> {
+@@ -944,7 +944,7 @@ class GenericTypeHandler<std::string> {
// RepeatedPtrField is like RepeatedField, but used for repeated strings or
// Messages.
template <typename Element>
--class RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
-+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase {
+-class ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final
++class PROTOBUF_EXPORT ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final
+ : private internal::RepeatedPtrFieldBase {
static_assert(!std::is_const<Element>::value,
"We do not support const value types.");
- static_assert(!std::is_volatile<Element>::value,