diff options
author | V3n3RiX <venerix@koprulu.sector> | 2021-10-20 10:22:14 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2021-10-20 10:22:14 +0100 |
commit | 46eedbedafdb0040c37884982d4c775ce277fb7b (patch) | |
tree | db33a91259730be84999e13a8d8168c799f50ac0 /www-client/chromium/files | |
parent | e23a08d0c97a0cc415aaa165da840b056f93c997 (diff) |
gentoo resync : 20.10.2021
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r-- | www-client/chromium/files/chromium-95-harfbuzz-3.patch | 31 | ||||
-rw-r--r-- | www-client/chromium/files/chromium-96-EnumTable-crash.patch | 76 |
2 files changed, 107 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-95-harfbuzz-3.patch b/www-client/chromium/files/chromium-95-harfbuzz-3.patch new file mode 100644 index 000000000000..33fe9556aaf3 --- /dev/null +++ b/www-client/chromium/files/chromium-95-harfbuzz-3.patch @@ -0,0 +1,31 @@ +From 9e00e702633c47c590a869bc66b5c2ceec09da50 Mon Sep 17 00:00:00 2001 +From: Dominik Röttsches <drott@chromium.org> +Date: Tue, 28 Sep 2021 15:31:50 +0000 +Subject: [PATCH] Roll src/third_party/harfbuzz-ng/src/ 6602cbb70..a52c6df38 (80 commits) + +Fixed: 1252284 +Change-Id: Ie2ff99da5e41ca97b8881e1bd3e158881f4d5a8e +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3190252 +Commit-Queue: Dominik Röttsches <drott@chromium.org> +Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org> +Auto-Submit: Dominik Röttsches <drott@chromium.org> +Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org> +Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org> +Cr-Commit-Position: refs/heads/main@{#925776} + +(only components/paint_preview/common/subset_font.cc) +--- + +diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc +index 45daea7b1..43a448e 100644 +--- a/components/paint_preview/common/subset_font.cc ++++ b/components/paint_preview/common/subset_font.cc +@@ -79,7 +79,7 @@ + // Retain all variation information for OpenType variation fonts. See: + // https://docs.microsoft.com/en-us/typography/opentype/spec/otvaroverview + hb_set_t* skip_subset = +- hb_subset_input_no_subset_tables_set(input.get()); // Owned by |input|. ++ hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG); + hb_set_add(skip_subset, HB_TAG('a', 'v', 'a', 'r')); + hb_set_add(skip_subset, HB_TAG('c', 'v', 'a', 'r')); + hb_set_add(skip_subset, HB_TAG('f', 'v', 'a', 'r')); diff --git a/www-client/chromium/files/chromium-96-EnumTable-crash.patch b/www-client/chromium/files/chromium-96-EnumTable-crash.patch new file mode 100644 index 000000000000..9736739c8224 --- /dev/null +++ b/www-client/chromium/files/chromium-96-EnumTable-crash.patch @@ -0,0 +1,76 @@ +diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h +index aad9e08..2f3fcad 100644 +--- a/components/cast_channel/enum_table.h ++++ b/components/cast_channel/enum_table.h +@@ -8,6 +8,7 @@ + #include <cstdint> + #include <cstring> + #include <ostream> ++#include <vector> + + #include "base/check_op.h" + #include "base/macros.h" +@@ -188,7 +189,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: +@@ -254,7 +254,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; + }; + +@@ -313,15 +312,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 absl::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 +@@ -349,8 +347,7 @@ class EnumTable { + // enum value directly. + absl::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) : absl::optional<E>(); + } + +@@ -365,7 +362,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) +@@ -377,8 +374,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())) |