- fix bz#2282246, update to 125.0.6422.76

* High CVE-2024-5157: Use after free in Scheduling
 * High CVE-2024-5158: Type Confusion in V8
 * High CVE-2024-5159: Heap buffer overflow in ANGLE
 * High CVE-2024-5160: Heap buffer overflow in Dawn
- cleanup
- remove unneeded BRs
- workarounds for el7 build
i9e
Arkady L. Shane 7 months ago
parent 8dc3c72c06
commit 455fa75027
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,12 +0,0 @@
diff -up chromium-119.0.6045.59/v8/src/base/small-vector.h.than chromium-119.0.6045.59/v8/src/base/small-vector.h
--- chromium-119.0.6045.59/v8/src/base/small-vector.h.than 2023-11-01 16:13:12.645301345 +0100
+++ chromium-119.0.6045.59/v8/src/base/small-vector.h 2023-11-01 16:13:29.660610182 +0100
@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
class SmallVector {
// Currently only support trivially copyable and trivially destructible data
// types, as it uses memcpy to copy elements and never calls destructors.
- ASSERT_TRIVIALLY_COPYABLE(T);
+ //ASSERT_TRIVIALLY_COPYABLE(T);
static_assert(std::is_trivially_destructible<T>::value);
public:

@ -1,18 +0,0 @@
diff -up chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc
--- chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2023-11-29 22:40:44.000000000 +0100
+++ chromium-120.0.6099.56/ui/gfx/linux/drm_util_linux.cc 2023-12-03 10:33:35.468492298 +0100
@@ -6,6 +6,14 @@
#include <drm_fourcc.h>
+// the libdrm in EL-7 is too old to have this define
+#ifndef DRM_FORMAT_P010
+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
+#endif
+#ifndef DRM_FORMAT_ABGR16161616F
+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H')
+#endif
+
#include "base/notreached.h"
namespace ui {

@ -1,74 +0,0 @@
diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
--- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +0200
@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
// Country code that represents autofill's legacy address hierarchy model as
// stored `kAutofillModelRules`. As a workaround for GCC we declare the
// std::string constexpr first.
-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
+const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
+const AddressCountryCode kLegacyHierarchyCountryCode =
AddressCountryCode(kLegacyHierarchyCountryCodeString);
// Creates an instance of the address hierarchy model corresponding to the
diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
--- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +0200
@@ -57,7 +57,7 @@ struct IsRequired {
// This function is not defined and consteval. Therefore, any evaluation will
// fail and fail at compile time.
template <typename T>
- consteval operator T(); // NOLINT
+ operator T(); // NOLINT
};
} // namespace internal
diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
+++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200
@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
typedef std::map<VisitID, VisitSource> VisitSourceMap;
// Constant used to represent that no app_id is used for matching.
-inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
+inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
// VisitRow -------------------------------------------------------------------
diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
+++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200
@@ -28,17 +28,17 @@ namespace network {
namespace {
// https://urlpattern.spec.whatwg.org/#default-options
-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#hostname-options
-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#pathname-options
-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
.prefix_list = "/",
.sensitive = true,
.strict = true};
diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
yield '// Checks if all the matching patterns for the given PatternSources'
yield '// and language are the same - meaning that computing predictions for'
yield '// both is unnecessary, since it will yield the same result.'
- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
+ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
yield ' PatternSource b,'
yield ' LanguageCode lang_code) {'
yield ' if (a == b) {'

@ -1,48 +0,0 @@
diff -up chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc
--- chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union 2024-02-22 22:43:05.000000000 +0100
+++ chromium-122.0.6261.69/components/variations/service/ui_string_overrider.cc 2024-02-25 10:52:16.071602503 +0100
@@ -12,7 +12,7 @@
namespace variations {
-UIStringOverrider::UIStringOverrider() = default;
+UIStringOverrider::UIStringOverrider() {}
UIStringOverrider::UIStringOverrider(base::span<const uint32_t> resource_hashes,
base::span<const int> resource_indices)
diff -up chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc
--- chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-02-25 10:52:16.070602478 +0100
+++ chromium-122.0.6261.69/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-02-25 11:20:36.583148226 +0100
@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi
} // namespace
-HeaderDirectFromSellerSignals::Result::Result() = default;
+HeaderDirectFromSellerSignals::Result::Result() {}
HeaderDirectFromSellerSignals::Result::Result(
std::optional<std::string> seller_signals,
diff -up chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp.me chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp
--- chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp.me 2024-03-18 16:11:19.550329592 +0100
+++ chromium-123.0.6312.46/third_party/pdfium/core/fpdfdoc/cpdf_defaultappearance.cpp 2024-03-18 16:12:51.124472676 +0100
@@ -54,7 +54,7 @@ bool FindTagParamFromStart(CPDF_SimplePa
} // namespace
-CPDF_DefaultAppearance::CPDF_DefaultAppearance() = default;
+CPDF_DefaultAppearance::CPDF_DefaultAppearance() {}
CPDF_DefaultAppearance::CPDF_DefaultAppearance(const ByteString& csDA)
: m_csDA(csDA) {}
diff -up chromium-124.0.6367.201/components/manta/base_provider.cc.me chromium-124.0.6367.201/components/manta/base_provider.cc
--- chromium-124.0.6367.201/components/manta/base_provider.cc.me 2024-05-11 21:32:47.108964074 +0200
+++ chromium-124.0.6367.201/components/manta/base_provider.cc 2024-05-11 21:34:42.758918367 +0200
@@ -13,7 +13,7 @@ constexpr base::TimeDelta kTimeout = bas
} // namespace
-BaseProvider::BaseProvider() = default;
+BaseProvider::BaseProvider() {}
BaseProvider::BaseProvider(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
signin::IdentityManager* identity_manager)

@ -0,0 +1,27 @@
commit a976cb05b4024b7a6452d1541378d718cdfe33e6
Author: Takuto Ikuta <tikuta@chromium.org>
Date: Thu Apr 25 07:25:32 2024 +0000
[devtools] fix a missing build dependency to a generated file
Bug: 336911498
Change-Id: I6e6d3afaf33ace53a68271b70165b8c3ab596340
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5487538
Auto-Submit: Takuto Ikuta <tikuta@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: Danil Somsikov <dsv@chromium.org>
Commit-Queue: Danil Somsikov <dsv@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1292300}
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
index f0c07cad8cfb4..053199e462f55 100644
--- a/chrome/browser/devtools/BUILD.gn
+++ b/chrome/browser/devtools/BUILD.gn
@@ -117,6 +117,7 @@ static_library("devtools") {
"//chrome/browser/autofill:autofill",
"//components/autofill/content/browser:browser",
"//components/autofill/core/browser:browser",
+ "//components/enterprise/buildflags",
"//components/paint_preview/buildflags:buildflags",
"//components/variations/service:service",
"//components/webapps/common:common",

@ -0,0 +1,24 @@
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h.assert 2024-05-18 19:33:37.165243577 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h 2024-05-18 19:45:51.224995489 +0200
@@ -185,7 +185,7 @@ class WebUIContentsWrapperT : public Web
supports_draggable_regions,
T::GetWebUIName()),
webui_url_(webui_url) {
- static_assert(
+ assert(
views_metrics::IsValidWebUINameVariant("." + T::GetWebUIName()));
if (is_ready_to_show()) {
CHECK(GetWebUIController());
diff -up chromium-125.0.6422.60/v8/src/base/small-vector.h.assert chromium-125.0.6422.60/v8/src/base/small-vector.h
--- chromium-125.0.6422.60/v8/src/base/small-vector.h.assert 2024-05-15 23:48:18.000000000 +0200
+++ chromium-125.0.6422.60/v8/src/base/small-vector.h 2024-05-17 12:33:58.745651173 +0200
@@ -22,7 +22,7 @@ template <typename T, size_t kSize, type
class SmallVector {
// Currently only support trivially copyable and trivially destructible data
// types, as it uses memcpy to copy elements and never calls destructors.
- ASSERT_TRIVIALLY_COPYABLE(T);
+ //ASSERT_TRIVIALLY_COPYABLE(T);
static_assert(std::is_trivially_destructible<T>::value);
public:

@ -0,0 +1,242 @@
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h.const 2024-05-18 18:57:37.099203314 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h 2024-05-18 22:16:52.879603051 +0200
@@ -42,7 +42,7 @@ class ShoppingInsightsSidePanelUI
mojo::PendingReceiver<
shopping_service::mojom::ShoppingServiceHandlerFactory> receiver);
- static constexpr std::string GetWebUIName() {
+ static const std::string GetWebUIName() {
return "ShoppingInsightsSidePanel";
}
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h.const 2024-05-18 19:03:13.999255471 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/compose/compose_untrusted_ui.h 2024-05-18 22:16:52.883603124 +0200
@@ -58,7 +58,7 @@ class ComposeUntrustedUI
triggering_web_contents_ = web_contents->GetWeakPtr();
}
- static constexpr std::string GetWebUIName() { return "Compose"; }
+ static const std::string GetWebUIName() { return "Compose"; }
private:
void CreateComposeSessionUntrustedPageHandler(
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h.const 2024-05-18 18:59:16.859995432 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/lens_untrusted_ui.h 2024-05-18 22:16:52.883603124 +0200
@@ -47,7 +47,7 @@ class LensUntrustedUI : public Untrusted
mojo::PendingReceiver<color_change_listener::mojom::PageHandler>
receiver);
- static constexpr std::string GetWebUIName() { return "LensUntrusted"; }
+ static const std::string GetWebUIName() { return "LensUntrusted"; }
private:
// lens::mojom::LensPageHandlerFactory:
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h.const 2024-05-18 18:59:49.020573177 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/lens/search_bubble_ui.h 2024-05-18 22:16:52.883603124 +0200
@@ -26,7 +26,7 @@ class SearchBubbleUI : public TopChromeW
mojo::PendingReceiver<lens::mojom::SearchBubblePageHandlerFactory>
receiver);
- static constexpr std::string GetWebUIName() { return "LensSearchBubble"; }
+ static const std::string GetWebUIName() { return "LensSearchBubble"; }
private:
// lens::mojom::SearchBubblePageHandlerFactory
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h.const 2024-05-18 19:00:08.686926471 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/bookmarks/bookmarks_side_panel_ui.h 2024-05-18 22:16:52.883603124 +0200
@@ -63,7 +63,7 @@ class BookmarksSidePanelUI
commerce::ShoppingListContextMenuController*
GetShoppingListContextMenuController();
- static constexpr std::string GetWebUIName() { return "BookmarksSidePanel"; }
+ static const std::string GetWebUIName() { return "BookmarksSidePanel"; }
private:
// side_panel::mojom::BookmarksPageHandlerFactory:
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h.const 2024-05-18 19:00:36.351423440 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/companion/companion_side_panel_untrusted_ui.h 2024-05-18 22:16:52.884603143 +0200
@@ -34,7 +34,7 @@ class CompanionSidePanelUntrustedUI
// Gets a weak pointer to this object.
base::WeakPtr<CompanionSidePanelUntrustedUI> GetWeakPtr();
- static constexpr std::string GetWebUIName() {
+ static const std::string GetWebUIName() {
return "CompanionSidePanelUntrusted";
}
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h.const 2024-05-18 19:00:56.088778012 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h 2024-05-18 22:16:52.884603143 +0200
@@ -102,7 +102,7 @@ class CustomizeChromeUI
side_panel::customize_chrome::mojom::WallpaperSearchHandlerFactory>
pending_receiver);
- static constexpr std::string GetWebUIName() { return "CustomizeChrome"; }
+ static const std::string GetWebUIName() { return "CustomizeChrome"; }
private:
// side_panel::mojom::CustomizeChromePageHandlerFactory
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h.const 2024-05-18 19:01:15.986135446 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/history_clusters/history_clusters_side_panel_ui.h 2024-05-18 22:16:52.884603143 +0200
@@ -70,7 +70,7 @@ class HistoryClustersSidePanelUI : publi
void DidFinishNavigation(
content::NavigationHandle* navigation_handle) override;
- static constexpr std::string GetWebUIName() {
+ static const std::string GetWebUIName() {
return "HistoryClustersSidePanel";
}
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h.const 2024-05-18 19:01:34.274463982 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/performance_controls/performance_side_panel_ui.h 2024-05-18 22:16:52.884603143 +0200
@@ -41,7 +41,7 @@ class PerformanceSidePanelUI
mojo::PendingReceiver<color_change_listener::mojom::PageHandler>
pending_receiver);
- static constexpr std::string GetWebUIName() { return "PerformanceSidePanel"; }
+ static const std::string GetWebUIName() { return "PerformanceSidePanel"; }
private:
// side_panel::mojom::PerformancePageHandlerFactory:
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h.const 2024-05-18 19:01:52.842797556 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/read_anything/read_anything_untrusted_ui.h 2024-05-18 22:16:52.884603143 +0200
@@ -55,7 +55,7 @@ class ReadAnythingUntrustedUI
mojo::PendingReceiver<read_anything::mojom::UntrustedPageHandlerFactory>
receiver);
- static constexpr std::string GetWebUIName() {
+ static const std::string GetWebUIName() {
return "ReadAnythingUntrusted";
}
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h.const 2024-05-18 19:02:17.381238375 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/reading_list/reading_list_ui.h 2024-05-18 22:16:52.885603162 +0200
@@ -47,7 +47,7 @@ class ReadingListUI : public TopChromeWe
void SetActiveTabURL(const GURL& url);
- static constexpr std::string GetWebUIName() { return "ReadingList"; }
+ static const std::string GetWebUIName() { return "ReadingList"; }
private:
// reading_list::mojom::PageHandlerFactory:
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h.const 2024-05-18 19:02:34.413544341 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/side_panel/user_notes/user_notes_side_panel_ui.h 2024-05-18 22:16:52.885603162 +0200
@@ -35,7 +35,7 @@ class UserNotesSidePanelUI
void set_browser(Browser* browser) { browser_ = browser; }
- static constexpr std::string GetWebUIName() { return "UserNotesSidePanel"; }
+ static const std::string GetWebUIName() { return "UserNotesSidePanel"; }
private:
// user_notes::mojom::UserNotesPageHandlerFactory
diff -up chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h
--- chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h.const 2024-05-18 19:02:52.261864965 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/webui/tab_search/tab_search_ui.h 2024-05-18 22:16:52.885603162 +0200
@@ -46,7 +46,7 @@ class TabSearchUI : public TopChromeWebU
return page_handler_.get();
}
- static constexpr std::string GetWebUIName() { return "TabSearch"; }
+ static const std::string GetWebUIName() { return "TabSearch"; }
private:
// tab_search::mojom::PageHandlerFactory
diff -up chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc
--- chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc.const 2024-05-18 23:06:22.071586909 +0200
+++ chromium-125.0.6422.60/components/omnibox/browser/on_device_tail_model_service.cc 2024-05-18 23:06:44.827133461 +0200
@@ -30,7 +30,7 @@ namespace {
// The maximum idle time before the model executor is unloaded from memory.
constexpr base::TimeDelta kMaxExecutorIdleSeconds = base::Seconds(60);
// Constants for TFlite model validation.
-constexpr std::string kTestPrefix = "face";
+const std::string kTestPrefix = "face";
constexpr std::string_view kModelValidationSwitchName =
"omnibox-on-device-tail-model-validation";
diff -up chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h
--- chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h.me 2024-05-07 07:58:10.202960298 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/data_model/autofill_i18n_api.h 2024-05-07 07:59:29.413411767 +0200
@@ -16,8 +16,8 @@ namespace autofill::i18n_model_definitio
// Country code that represents autofill's legacy address hierarchy model as
// stored `kAutofillModelRules`. As a workaround for GCC we declare the
// std::string constexpr first.
-constexpr inline std::string kLegacyHierarchyCountryCodeString{"XX"};
-constexpr AddressCountryCode kLegacyHierarchyCountryCode =
+const inline std::string kLegacyHierarchyCountryCodeString{"XX"};
+const AddressCountryCode kLegacyHierarchyCountryCode =
AddressCountryCode(kLegacyHierarchyCountryCodeString);
// Creates an instance of the address hierarchy model corresponding to the
diff -up chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h
--- chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h.me 2024-05-07 07:59:38.239573497 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/metrics/log_event.h 2024-05-07 08:00:55.578990659 +0200
@@ -57,7 +57,7 @@ struct IsRequired {
// This function is not defined and consteval. Therefore, any evaluation will
// fail and fail at compile time.
template <typename T>
- consteval operator T(); // NOLINT
+ operator T(); // NOLINT
};
} // namespace internal
diff -up chromium-124.0.6367.118/components/history/core/browser/history_types.h.me chromium-124.0.6367.118/components/history/core/browser/history_types.h
--- chromium-124.0.6367.118/components/history/core/browser/history_types.h.me 2024-05-06 18:01:28.606845554 +0200
+++ chromium-124.0.6367.118/components/history/core/browser/history_types.h 2024-05-06 18:06:15.492751252 +0200
@@ -70,7 +70,7 @@ constexpr VisitedLinkID kInvalidVisitedL
typedef std::map<VisitID, VisitSource> VisitSourceMap;
// Constant used to represent that no app_id is used for matching.
-inline constexpr std::optional<std::string> kNoAppIdFilter = std::nullopt;
+inline const std::optional<std::string> kNoAppIdFilter = std::nullopt;
// VisitRow -------------------------------------------------------------------
diff -up chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc
--- chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc.me 2024-05-07 00:07:15.720573794 +0200
+++ chromium-124.0.6367.118/services/network/shared_dictionary/simple_url_pattern_matcher.cc 2024-05-07 00:08:07.633519604 +0200
@@ -28,17 +28,17 @@ namespace network {
namespace {
// https://urlpattern.spec.whatwg.org/#default-options
-constexpr liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
+const liburlpattern::Options kDefaultOptions = {.delimiter_list = "",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#hostname-options
-constexpr liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
+const liburlpattern::Options kHostnameOptions = {.delimiter_list = ".",
.prefix_list = "",
.sensitive = true,
.strict = true};
// https://urlpattern.spec.whatwg.org/#pathname-options
-constexpr liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
+const liburlpattern::Options kPathnameOptions = {.delimiter_list = "/",
.prefix_list = "/",
.sensitive = true,
.strict = true};
diff -up chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py
--- chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py.me1 2024-05-07 10:58:13.316756926 +0200
+++ chromium-124.0.6367.118/components/autofill/core/browser/form_parsing/transpile_regex_patterns.py 2024-05-07 10:58:30.821083061 +0200
@@ -54,7 +54,7 @@ def generate_matching_pattern_equals(nam
yield '// Checks if all the matching patterns for the given PatternSources'
yield '// and language are the same - meaning that computing predictions for'
yield '// both is unnecessary, since it will yield the same result.'
- yield 'constexpr bool AreMatchingPatternsEqualImpl(PatternSource a,'
+ yield 'const bool AreMatchingPatternsEqualImpl(PatternSource a,'
yield ' PatternSource b,'
yield ' LanguageCode lang_code) {'
yield ' if (a == b) {'

@ -0,0 +1,36 @@
diff -up chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc
--- chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200
+++ chromium-125.0.6422.60/components/variations/service/ui_string_overrider.cc 2024-05-17 12:33:58.684649909 +0200
@@ -12,7 +12,7 @@
namespace variations {
-UIStringOverrider::UIStringOverrider() = default;
+UIStringOverrider::UIStringOverrider() {}
UIStringOverrider::UIStringOverrider(base::span<const uint32_t> resource_hashes,
base::span<const int> resource_indices)
diff -up chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc
--- chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc.default-constructor-involving-anonymous-union 2024-05-15 23:46:17.000000000 +0200
+++ chromium-125.0.6422.60/content/browser/interest_group/header_direct_from_seller_signals.cc 2024-05-17 12:33:58.685649929 +0200
@@ -46,7 +46,7 @@ size_t GetResultSizeBytes(const HeaderDi
} // namespace
-HeaderDirectFromSellerSignals::Result::Result() = default;
+HeaderDirectFromSellerSignals::Result::Result() {}
HeaderDirectFromSellerSignals::Result::Result(
std::optional<std::string> seller_signals,
diff -up chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h
--- chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h.default-constructor-involving-anonymous-union 2024-05-18 09:52:22.385330304 +0200
+++ chromium-125.0.6422.60/third_party/blink/renderer/bindings/core/v8/frozen_array.h 2024-05-18 09:52:51.023891525 +0200
@@ -36,7 +36,7 @@ class FrozenArray final : public binding
using const_iterator = typename VectorType::const_iterator;
using const_reverse_iterator = typename VectorType::const_reverse_iterator;
- FrozenArray() = default;
+ FrozenArray() {}
explicit FrozenArray(VectorType array) : array_(std::move(array)) {}
~FrozenArray() override = default;

@ -0,0 +1,18 @@
diff -up chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc
--- chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc.el7-old-libdrm 2024-05-16 20:43:26.619455300 +0200
+++ chromium-125.0.6422.60/ui/gfx/linux/drm_util_linux.cc 2024-05-16 20:45:18.120716278 +0200
@@ -9,6 +9,14 @@
#include "base/logging.h"
#include "base/notreached.h"
+// the libdrm in EL-7 is too old to have this define
+#ifndef DRM_FORMAT_P010
+#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
+#endif
+#ifndef DRM_FORMAT_ABGR16161616F
+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H')
+#endif
+
namespace ui {
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format) {

@ -0,0 +1,11 @@
--- chromium-125.0.6422.60/optional.orig 2024-05-20 00:12:50.152306289 +0200
+++ chromium-125.0.6422.60/optional 2024-05-20 00:12:28.041823631 +0200
@@ -474,7 +474,7 @@
constexpr _Tp&
_M_get() noexcept
{
- __glibcxx_assert(this->_M_is_engaged());
+ //__glibcxx_assert(this->_M_is_engaged());
return static_cast<_Dp*>(this)->_M_payload._M_get();
}

@ -0,0 +1,747 @@
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/build.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/build.rs 2024-05-15 23:47:24.000000000 +0200
@@ -36,10 +36,10 @@
use std::env;
use std::ffi::OsString;
+use std::iter;
use std::path::Path;
use std::process::{self, Command, Stdio};
use std::str;
-use std::u32;
fn main() {
let rustc = rustc_minor_version().unwrap_or(u32::MAX);
@@ -63,6 +63,11 @@
println!("cargo:rustc-cfg=no_source_text");
}
+ if rustc < 79 {
+ println!("cargo:rustc-cfg=no_literal_byte_character");
+ println!("cargo:rustc-cfg=no_literal_c_string");
+ }
+
if !cfg!(feature = "proc-macro") {
println!("cargo:rerun-if-changed=build.rs");
return;
@@ -138,15 +143,15 @@
let out_dir = cargo_env_var("OUT_DIR");
let probefile = Path::new("build").join("probe.rs");
- // Make sure to pick up Cargo rustc configuration.
- let mut cmd = if let Some(wrapper) = env::var_os("RUSTC_WRAPPER") {
- let mut cmd = Command::new(wrapper);
- // The wrapper's first argument is supposed to be the path to rustc.
- cmd.arg(rustc);
- cmd
- } else {
- Command::new(rustc)
- };
+ let rustc_wrapper = env::var_os("RUSTC_WRAPPER").filter(|wrapper| !wrapper.is_empty());
+ let rustc_workspace_wrapper =
+ env::var_os("RUSTC_WORKSPACE_WRAPPER").filter(|wrapper| !wrapper.is_empty());
+ let mut rustc = rustc_wrapper
+ .into_iter()
+ .chain(rustc_workspace_wrapper)
+ .chain(iter::once(rustc));
+ let mut cmd = Command::new(rustc.next().unwrap());
+ cmd.args(rustc);
if !rustc_bootstrap {
cmd.env_remove("RUSTC_BOOTSTRAP");
@@ -156,6 +161,7 @@
.arg("--edition=2021")
.arg("--crate-name=proc_macro2")
.arg("--crate-type=lib")
+ .arg("--cap-lints=allow")
.arg("--emit=dep-info,metadata")
.arg("--out-dir")
.arg(out_dir)
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml 2024-05-15 23:47:24.000000000 +0200
@@ -13,7 +13,7 @@
edition = "2021"
rust-version = "1.56"
name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.80"
authors = [
"David Tolnay <dtolnay@gmail.com>",
"Alex Crichton <alex@alexcrichton.com>",
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/Cargo.toml.orig 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/Cargo.toml.orig 2024-05-15 23:47:24.000000000 +0200
@@ -1,6 +1,6 @@
[package]
name = "proc-macro2"
-version = "1.0.78"
+version = "1.0.80"
authors = ["David Tolnay <dtolnay@gmail.com>", "Alex Crichton <alex@alexcrichton.com>"]
autobenches = false
categories = ["development-tools::procedural-macro-helpers"]
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.cargo_vcs_info.json 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.cargo_vcs_info.json 2024-05-15 23:47:24.000000000 +0200
@@ -1,6 +1,6 @@
{
"git": {
- "sha1": "d850a1db5e3fe7732d62cacbfc4145e496c2a80e"
+ "sha1": "da51f8d005cc5d8299c1872fad9bbe63b07c31c7"
},
"path_in_vcs": ""
}
\ Kein Zeilenumbruch am Dateiende.
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/.github/workflows/ci.yml 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/.github/workflows/ci.yml 2024-05-15 23:47:24.000000000 +0200
@@ -198,6 +198,7 @@
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
- uses: dtolnay/install@cargo-outdated
- run: cargo outdated --workspace --exit-code 1
- run: cargo outdated --manifest-path fuzz/Cargo.toml --exit-code 1
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/fallback.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/fallback.rs 2024-05-15 23:47:24.000000000 +0200
@@ -15,7 +15,9 @@
use core::ops::Range;
use core::ops::RangeBounds;
use core::ptr;
-use core::str::FromStr;
+use core::str::{self, FromStr};
+use std::ffi::CStr;
+#[cfg(procmacro2_semver_exempt)]
use std::path::PathBuf;
/// Force use of proc-macro2's fallback implementation of the API for now, even
@@ -297,11 +299,13 @@
}
}
+#[cfg(procmacro2_semver_exempt)]
#[derive(Clone, PartialEq, Eq)]
pub(crate) struct SourceFile {
path: PathBuf,
}
+#[cfg(procmacro2_semver_exempt)]
impl SourceFile {
/// Get the path to this source file as a string.
pub fn path(&self) -> PathBuf {
@@ -313,6 +317,7 @@
}
}
+#[cfg(procmacro2_semver_exempt)]
impl Debug for SourceFile {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
f.debug_struct("SourceFile")
@@ -922,7 +927,7 @@
#[derive(Clone)]
pub(crate) struct Literal {
- repr: String,
+ pub(crate) repr: String,
span: Span,
}
@@ -1003,71 +1008,98 @@
Literal::_new(s)
}
- pub fn string(t: &str) -> Literal {
- let mut repr = String::with_capacity(t.len() + 2);
+ pub fn string(string: &str) -> Literal {
+ let mut repr = String::with_capacity(string.len() + 2);
repr.push('"');
- let mut chars = t.chars();
- while let Some(ch) = chars.next() {
- if ch == '\0' {
- repr.push_str(
- if chars
- .as_str()
- .starts_with(|next| '0' <= next && next <= '7')
- {
- // circumvent clippy::octal_escapes lint
- "\\x00"
- } else {
- "\\0"
- },
- );
- } else if ch == '\'' {
- // escape_debug turns this into "\'" which is unnecessary.
- repr.push(ch);
- } else {
- repr.extend(ch.escape_debug());
- }
- }
+ escape_utf8(string, &mut repr);
repr.push('"');
Literal::_new(repr)
}
- pub fn character(t: char) -> Literal {
+ pub fn character(ch: char) -> Literal {
let mut repr = String::new();
repr.push('\'');
- if t == '"' {
+ if ch == '"' {
// escape_debug turns this into '\"' which is unnecessary.
- repr.push(t);
+ repr.push(ch);
} else {
- repr.extend(t.escape_debug());
+ repr.extend(ch.escape_debug());
+ }
+ repr.push('\'');
+ Literal::_new(repr)
+ }
+
+ pub fn byte_character(byte: u8) -> Literal {
+ let mut repr = "b'".to_string();
+ #[allow(clippy::match_overlapping_arm)]
+ match byte {
+ b'\0' => repr.push_str(r"\0"),
+ b'\t' => repr.push_str(r"\t"),
+ b'\n' => repr.push_str(r"\n"),
+ b'\r' => repr.push_str(r"\r"),
+ b'\'' => repr.push_str(r"\'"),
+ b'\\' => repr.push_str(r"\\"),
+ b'\x20'..=b'\x7E' => repr.push(byte as char),
+ _ => {
+ let _ = write!(repr, r"\x{:02X}", byte);
+ }
}
repr.push('\'');
Literal::_new(repr)
}
pub fn byte_string(bytes: &[u8]) -> Literal {
- let mut escaped = "b\"".to_string();
+ let mut repr = "b\"".to_string();
let mut bytes = bytes.iter();
while let Some(&b) = bytes.next() {
#[allow(clippy::match_overlapping_arm)]
match b {
- b'\0' => escaped.push_str(match bytes.as_slice().first() {
+ b'\0' => repr.push_str(match bytes.as_slice().first() {
// circumvent clippy::octal_escapes lint
Some(b'0'..=b'7') => r"\x00",
_ => r"\0",
}),
- b'\t' => escaped.push_str(r"\t"),
- b'\n' => escaped.push_str(r"\n"),
- b'\r' => escaped.push_str(r"\r"),
- b'"' => escaped.push_str("\\\""),
- b'\\' => escaped.push_str("\\\\"),
- b'\x20'..=b'\x7E' => escaped.push(b as char),
+ b'\t' => repr.push_str(r"\t"),
+ b'\n' => repr.push_str(r"\n"),
+ b'\r' => repr.push_str(r"\r"),
+ b'"' => repr.push_str("\\\""),
+ b'\\' => repr.push_str(r"\\"),
+ b'\x20'..=b'\x7E' => repr.push(b as char),
_ => {
- let _ = write!(escaped, "\\x{:02X}", b);
+ let _ = write!(repr, r"\x{:02X}", b);
}
}
}
- escaped.push('"');
- Literal::_new(escaped)
+ repr.push('"');
+ Literal::_new(repr)
+ }
+
+ pub fn c_string(string: &CStr) -> Literal {
+ let mut repr = "c\"".to_string();
+ let mut bytes = string.to_bytes();
+ while !bytes.is_empty() {
+ let (valid, invalid) = match str::from_utf8(bytes) {
+ Ok(all_valid) => {
+ bytes = b"";
+ (all_valid, bytes)
+ }
+ Err(utf8_error) => {
+ let (valid, rest) = bytes.split_at(utf8_error.valid_up_to());
+ let valid = str::from_utf8(valid).unwrap();
+ let invalid = utf8_error
+ .error_len()
+ .map_or(rest, |error_len| &rest[..error_len]);
+ bytes = &bytes[valid.len() + invalid.len()..];
+ (valid, invalid)
+ }
+ };
+ escape_utf8(valid, &mut repr);
+ for &byte in invalid {
+ let _ = write!(repr, r"\x{:02X}", byte);
+ }
+ }
+ repr.push('"');
+ Literal::_new(repr)
}
pub fn span(&self) -> Span {
@@ -1168,3 +1200,27 @@
debug.finish()
}
}
+
+fn escape_utf8(string: &str, repr: &mut String) {
+ let mut chars = string.chars();
+ while let Some(ch) = chars.next() {
+ if ch == '\0' {
+ repr.push_str(
+ if chars
+ .as_str()
+ .starts_with(|next| '0' <= next && next <= '7')
+ {
+ // circumvent clippy::octal_escapes lint
+ r"\x00"
+ } else {
+ r"\0"
+ },
+ );
+ } else if ch == '\'' {
+ // escape_debug turns this into "\'" which is unnecessary.
+ repr.push(ch);
+ } else {
+ repr.extend(ch.escape_debug());
+ }
+ }
+}
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/lib.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/lib.rs 2024-05-15 23:47:24.000000000 +0200
@@ -86,7 +86,7 @@
//! a different thread.
// Proc-macro2 types in rustdoc of other crates get linked to here.
-#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.78")]
+#![doc(html_root_url = "https://docs.rs/proc-macro2/1.0.80")]
#![cfg_attr(any(proc_macro_span, super_unstable), feature(proc_macro_span))]
#![cfg_attr(super_unstable, feature(proc_macro_def_site))]
#![cfg_attr(doc_cfg, feature(doc_cfg))]
@@ -96,6 +96,7 @@
clippy::cast_possible_truncation,
clippy::checked_conversions,
clippy::doc_markdown,
+ clippy::incompatible_msrv,
clippy::items_after_statements,
clippy::iter_without_into_iter,
clippy::let_underscore_untyped,
@@ -169,6 +170,7 @@
use core::ops::RangeBounds;
use core::str::FromStr;
use std::error::Error;
+use std::ffi::CStr;
#[cfg(procmacro2_semver_exempt)]
use std::path::PathBuf;
@@ -1233,9 +1235,19 @@
Literal::_new(imp::Literal::character(ch))
}
+ /// Byte character literal.
+ pub fn byte_character(byte: u8) -> Literal {
+ Literal::_new(imp::Literal::byte_character(byte))
+ }
+
/// Byte string literal.
- pub fn byte_string(s: &[u8]) -> Literal {
- Literal::_new(imp::Literal::byte_string(s))
+ pub fn byte_string(bytes: &[u8]) -> Literal {
+ Literal::_new(imp::Literal::byte_string(bytes))
+ }
+
+ /// C string literal.
+ pub fn c_string(string: &CStr) -> Literal {
+ Literal::_new(imp::Literal::c_string(string))
}
/// Returns the span encompassing this literal.
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/src/wrapper.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/src/wrapper.rs 2024-05-15 23:47:24.000000000 +0200
@@ -7,6 +7,7 @@
use core::ops::Range;
use core::ops::RangeBounds;
use core::str::FromStr;
+use std::ffi::CStr;
use std::panic;
#[cfg(super_unstable)]
use std::path::PathBuf;
@@ -846,19 +847,38 @@
}
}
- pub fn string(t: &str) -> Literal {
+ pub fn string(string: &str) -> Literal {
if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::string(t))
+ Literal::Compiler(proc_macro::Literal::string(string))
} else {
- Literal::Fallback(fallback::Literal::string(t))
+ Literal::Fallback(fallback::Literal::string(string))
}
}
- pub fn character(t: char) -> Literal {
+ pub fn character(ch: char) -> Literal {
if inside_proc_macro() {
- Literal::Compiler(proc_macro::Literal::character(t))
+ Literal::Compiler(proc_macro::Literal::character(ch))
} else {
- Literal::Fallback(fallback::Literal::character(t))
+ Literal::Fallback(fallback::Literal::character(ch))
+ }
+ }
+
+ pub fn byte_character(byte: u8) -> Literal {
+ if inside_proc_macro() {
+ Literal::Compiler({
+ #[cfg(not(no_literal_byte_character))]
+ {
+ proc_macro::Literal::byte_character(byte)
+ }
+
+ #[cfg(no_literal_byte_character)]
+ {
+ let fallback = fallback::Literal::byte_character(byte);
+ fallback.repr.parse::<proc_macro::Literal>().unwrap()
+ }
+ })
+ } else {
+ Literal::Fallback(fallback::Literal::byte_character(byte))
}
}
@@ -870,6 +890,25 @@
}
}
+ pub fn c_string(string: &CStr) -> Literal {
+ if inside_proc_macro() {
+ Literal::Compiler({
+ #[cfg(not(no_literal_c_string))]
+ {
+ proc_macro::Literal::c_string(string)
+ }
+
+ #[cfg(no_literal_c_string)]
+ {
+ let fallback = fallback::Literal::c_string(string);
+ fallback.repr.parse::<proc_macro::Literal>().unwrap()
+ }
+ })
+ } else {
+ Literal::Fallback(fallback::Literal::c_string(string))
+ }
+ }
+
pub fn span(&self) -> Span {
match self {
Literal::Compiler(lit) => Span::Compiler(lit.span()),
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/marker.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/marker.rs 2024-05-15 23:47:24.000000000 +0200
@@ -21,6 +21,7 @@
$(
{
// Implemented for types that implement $marker.
+ #[allow(dead_code)]
trait IsNotImplemented {
fn assert_not_implemented() {}
}
diff -Nur chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs
--- chromium-123.0.6312.122/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.78/tests/test.rs 2024-04-10 23:25:21.000000000 +0200
+++ chromium-125.0.6422.60/third_party/rust/chromium_crates_io/vendor/proc-macro2-1.0.80/tests/test.rs 2024-05-15 23:47:24.000000000 +0200
@@ -1,11 +1,14 @@
#![allow(
clippy::assertions_on_result_states,
clippy::items_after_statements,
+ clippy::needless_pass_by_value,
+ clippy::needless_raw_string_hashes,
clippy::non_ascii_literal,
clippy::octal_escapes
)]
use proc_macro2::{Ident, Literal, Punct, Spacing, Span, TokenStream, TokenTree};
+use std::ffi::CStr;
use std::iter;
use std::str::{self, FromStr};
@@ -96,12 +99,22 @@
#[test]
fn literal_string() {
- assert_eq!(Literal::string("foo").to_string(), "\"foo\"");
- assert_eq!(Literal::string("\"").to_string(), "\"\\\"\"");
- assert_eq!(Literal::string("didn't").to_string(), "\"didn't\"");
- assert_eq!(
- Literal::string("a\00b\07c\08d\0e\0").to_string(),
- "\"a\\x000b\\x007c\\08d\\0e\\0\"",
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected.trim());
+ }
+
+ assert(Literal::string(""), r#" "" "#);
+ assert(Literal::string("aA"), r#" "aA" "#);
+ assert(Literal::string("\t"), r#" "\t" "#);
+ assert(Literal::string("❤"), r#" "❤" "#);
+ assert(Literal::string("'"), r#" "'" "#);
+ assert(Literal::string("\""), r#" "\"" "#);
+ assert(Literal::string("\0"), r#" "\0" "#);
+ assert(Literal::string("\u{1}"), r#" "\u{1}" "#);
+ assert(
+ Literal::string("a\00b\07c\08d\0e\0"),
+ r#" "a\x000b\x007c\08d\0e\0" "#,
);
"\"\\\r\n x\"".parse::<TokenStream>().unwrap();
@@ -133,15 +146,42 @@
}
#[test]
+fn literal_byte_character() {
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected.trim());
+ }
+
+ assert(Literal::byte_character(b'a'), r#" b'a' "#);
+ assert(Literal::byte_character(b'\0'), r#" b'\0' "#);
+ assert(Literal::byte_character(b'\t'), r#" b'\t' "#);
+ assert(Literal::byte_character(b'\n'), r#" b'\n' "#);
+ assert(Literal::byte_character(b'\r'), r#" b'\r' "#);
+ assert(Literal::byte_character(b'\''), r#" b'\'' "#);
+ assert(Literal::byte_character(b'\\'), r#" b'\\' "#);
+ assert(Literal::byte_character(b'\x1f'), r#" b'\x1F' "#);
+ assert(Literal::byte_character(b'"'), r#" b'"' "#);
+}
+
+#[test]
fn literal_byte_string() {
- assert_eq!(Literal::byte_string(b"").to_string(), "b\"\"");
- assert_eq!(
- Literal::byte_string(b"\0\t\n\r\"\\2\x10").to_string(),
- "b\"\\0\\t\\n\\r\\\"\\\\2\\x10\"",
- );
- assert_eq!(
- Literal::byte_string(b"a\00b\07c\08d\0e\0").to_string(),
- "b\"a\\x000b\\x007c\\08d\\0e\\0\"",
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected.trim());
+ }
+
+ assert(Literal::byte_string(b""), r#" b"" "#);
+ assert(Literal::byte_string(b"\0"), r#" b"\0" "#);
+ assert(Literal::byte_string(b"\t"), r#" b"\t" "#);
+ assert(Literal::byte_string(b"\n"), r#" b"\n" "#);
+ assert(Literal::byte_string(b"\r"), r#" b"\r" "#);
+ assert(Literal::byte_string(b"\""), r#" b"\"" "#);
+ assert(Literal::byte_string(b"\\"), r#" b"\\" "#);
+ assert(Literal::byte_string(b"\x1f"), r#" b"\x1F" "#);
+ assert(Literal::byte_string(b"'"), r#" b"'" "#);
+ assert(
+ Literal::byte_string(b"a\00b\07c\08d\0e\0"),
+ r#" b"a\x000b\x007c\08d\0e\0" "#,
);
"b\"\\\r\n x\"".parse::<TokenStream>().unwrap();
@@ -152,6 +192,41 @@
#[test]
fn literal_c_string() {
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected.trim());
+ }
+
+ assert(Literal::c_string(<&CStr>::default()), r#" c"" "#);
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()),
+ r#" c"aA" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"aA\0").unwrap()),
+ r#" c"aA" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"\t\0").unwrap()),
+ r#" c"\t" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"\xE2\x9D\xA4\0").unwrap()),
+ r#" c"❤" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"'\0").unwrap()),
+ r#" c"'" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"\"\0").unwrap()),
+ r#" c"\"" "#,
+ );
+ assert(
+ Literal::c_string(CStr::from_bytes_with_nul(b"\x7F\xFF\xFE\xCC\xB3\0").unwrap()),
+ r#" c"\u{7f}\xFF\xFE\u{333}" "#,
+ );
+
let strings = r###"
c"hello\x80我叫\u{1F980}" // from the RFC
cr"\"
@@ -188,49 +263,80 @@
#[test]
fn literal_character() {
- assert_eq!(Literal::character('x').to_string(), "'x'");
- assert_eq!(Literal::character('\'').to_string(), "'\\''");
- assert_eq!(Literal::character('"').to_string(), "'\"'");
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected.trim());
+ }
+
+ assert(Literal::character('a'), r#" 'a' "#);
+ assert(Literal::character('\t'), r#" '\t' "#);
+ assert(Literal::character('❤'), r#" '❤' "#);
+ assert(Literal::character('\''), r#" '\'' "#);
+ assert(Literal::character('"'), r#" '"' "#);
+ assert(Literal::character('\0'), r#" '\0' "#);
+ assert(Literal::character('\u{1}'), r#" '\u{1}' "#);
}
#[test]
fn literal_integer() {
- assert_eq!(Literal::u8_suffixed(10).to_string(), "10u8");
- assert_eq!(Literal::u16_suffixed(10).to_string(), "10u16");
- assert_eq!(Literal::u32_suffixed(10).to_string(), "10u32");
- assert_eq!(Literal::u64_suffixed(10).to_string(), "10u64");
- assert_eq!(Literal::u128_suffixed(10).to_string(), "10u128");
- assert_eq!(Literal::usize_suffixed(10).to_string(), "10usize");
-
- assert_eq!(Literal::i8_suffixed(10).to_string(), "10i8");
- assert_eq!(Literal::i16_suffixed(10).to_string(), "10i16");
- assert_eq!(Literal::i32_suffixed(10).to_string(), "10i32");
- assert_eq!(Literal::i64_suffixed(10).to_string(), "10i64");
- assert_eq!(Literal::i128_suffixed(10).to_string(), "10i128");
- assert_eq!(Literal::isize_suffixed(10).to_string(), "10isize");
-
- assert_eq!(Literal::u8_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::u16_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::u32_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::u64_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::u128_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::usize_unsuffixed(10).to_string(), "10");
-
- assert_eq!(Literal::i8_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::i16_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::i32_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::i64_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::i128_unsuffixed(10).to_string(), "10");
- assert_eq!(Literal::isize_unsuffixed(10).to_string(), "10");
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected);
+ }
+
+ assert(Literal::u8_suffixed(10), "10u8");
+ assert(Literal::u16_suffixed(10), "10u16");
+ assert(Literal::u32_suffixed(10), "10u32");
+ assert(Literal::u64_suffixed(10), "10u64");
+ assert(Literal::u128_suffixed(10), "10u128");
+ assert(Literal::usize_suffixed(10), "10usize");
+
+ assert(Literal::i8_suffixed(10), "10i8");
+ assert(Literal::i16_suffixed(10), "10i16");
+ assert(Literal::i32_suffixed(10), "10i32");
+ assert(Literal::i64_suffixed(10), "10i64");
+ assert(Literal::i128_suffixed(10), "10i128");
+ assert(Literal::isize_suffixed(10), "10isize");
+
+ assert(Literal::u8_unsuffixed(10), "10");
+ assert(Literal::u16_unsuffixed(10), "10");
+ assert(Literal::u32_unsuffixed(10), "10");
+ assert(Literal::u64_unsuffixed(10), "10");
+ assert(Literal::u128_unsuffixed(10), "10");
+ assert(Literal::usize_unsuffixed(10), "10");
+
+ assert(Literal::i8_unsuffixed(10), "10");
+ assert(Literal::i16_unsuffixed(10), "10");
+ assert(Literal::i32_unsuffixed(10), "10");
+ assert(Literal::i64_unsuffixed(10), "10");
+ assert(Literal::i128_unsuffixed(10), "10");
+ assert(Literal::isize_unsuffixed(10), "10");
+
+ assert(Literal::i32_suffixed(-10), "-10i32");
+ assert(Literal::i32_unsuffixed(-10), "-10");
}
#[test]
fn literal_float() {
- assert_eq!(Literal::f32_suffixed(10.0).to_string(), "10f32");
- assert_eq!(Literal::f64_suffixed(10.0).to_string(), "10f64");
-
- assert_eq!(Literal::f32_unsuffixed(10.0).to_string(), "10.0");
- assert_eq!(Literal::f64_unsuffixed(10.0).to_string(), "10.0");
+ #[track_caller]
+ fn assert(literal: Literal, expected: &str) {
+ assert_eq!(literal.to_string(), expected);
+ }
+
+ assert(Literal::f32_suffixed(10.0), "10f32");
+ assert(Literal::f32_suffixed(-10.0), "-10f32");
+ assert(Literal::f64_suffixed(10.0), "10f64");
+ assert(Literal::f64_suffixed(-10.0), "-10f64");
+
+ assert(Literal::f32_unsuffixed(10.0), "10.0");
+ assert(Literal::f32_unsuffixed(-10.0), "-10.0");
+ assert(Literal::f64_unsuffixed(10.0), "10.0");
+ assert(Literal::f64_unsuffixed(-10.0), "-10.0");
+
+ assert(
+ Literal::f64_unsuffixed(1e100),
+ "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0",
+ );
}
#[test]
@@ -248,9 +354,13 @@
assert_eq!(token_count("1._m"), 3);
assert_eq!(token_count("\"\"s"), 1);
assert_eq!(token_count("r\"\"r"), 1);
+ assert_eq!(token_count("r#\"\"#r"), 1);
assert_eq!(token_count("b\"\"b"), 1);
assert_eq!(token_count("br\"\"br"), 1);
- assert_eq!(token_count("r#\"\"#r"), 1);
+ assert_eq!(token_count("br#\"\"#br"), 1);
+ assert_eq!(token_count("c\"\"c"), 1);
+ assert_eq!(token_count("cr\"\"cr"), 1);
+ assert_eq!(token_count("cr#\"\"#cr"), 1);
assert_eq!(token_count("'c'c"), 1);
assert_eq!(token_count("b'b'b"), 1);
assert_eq!(token_count("0E"), 1);
@@ -378,7 +488,7 @@
roundtrip("'a");
roundtrip("'_");
roundtrip("'static");
- roundtrip("'\\u{10__FFFF}'");
+ roundtrip(r"'\u{10__FFFF}'");
roundtrip("\"\\u{10_F0FF__}foo\\u{1_0_0_0__}\"");
}
@@ -401,6 +511,7 @@
fail("\"\\\r \""); // backslash carriage return
fail("'aa'aa");
fail("br##\"\"#");
+ fail("cr##\"\"#");
fail("\"\\\n\u{85}\r\"");
}

@ -0,0 +1,30 @@
diff -up chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc
--- chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc.el7 2024-05-18 14:12:06.510863456 +0200
+++ chromium-125.0.6422.60/components/plus_addresses/plus_address_service.cc 2024-05-18 14:13:39.670666352 +0200
@@ -165,7 +165,7 @@ std::vector<Suggestion> PlusAddressServi
bool is_off_the_record,
std::u16string_view focused_field_value,
autofill::AutofillSuggestionTriggerSource trigger_source) {
- using enum autofill::AutofillSuggestionTriggerSource;
+ using autofill::AutofillSuggestionTriggerSource;
if (!SupportsPlusAddresses(last_committed_primary_main_frame_origin,
is_off_the_record)) {
return {};
@@ -176,7 +176,7 @@ std::vector<Suggestion> PlusAddressServi
std::optional<std::string> maybe_address =
GetPlusAddress(last_committed_primary_main_frame_origin);
if (maybe_address == std::nullopt) {
- if (trigger_source != kManualFallbackPlusAddresses &&
+ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses &&
!normalized_field_value.empty()) {
return {};
}
@@ -191,7 +191,7 @@ std::vector<Suggestion> PlusAddressServi
// Only suggest filling a plus address whose prefix matches the field's value.
std::u16string address = base::UTF8ToUTF16(*maybe_address);
- if (trigger_source != kManualFallbackPlusAddresses &&
+ if (trigger_source != AutofillSuggestionTriggerSource::kManualFallbackPlusAddresses &&
!address.starts_with(normalized_field_value)) {
return {};
}

@ -0,0 +1,32 @@
commit aa53c3ab8df7f7c1d42c30d4b184a8f8b0a8e50d
Author: Jose Dapena Paz <jdapena@igalia.com>
Date: Tue Apr 16 12:14:15 2024 +0000
IWYU: add missing include for usage of FieldDataManager in autofill_agent.h
Change-Id: I70575d1dd72b9334e3b8d4805779a7e45788989e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5392840
Reviewed-by: Florian Leimgruber <fleimgruber@google.com>
Commit-Queue: José Dapena Paz <jdapena@igalia.com>
Cr-Commit-Position: refs/heads/main@{#1287967}
diff --git a/components/autofill/content/renderer/autofill_agent.h b/components/autofill/content/renderer/autofill_agent.h
index 76a25d72c87cc..01462aefdaae6 100644
--- a/components/autofill/content/renderer/autofill_agent.h
+++ b/components/autofill/content/renderer/autofill_agent.h
@@ -25,6 +25,7 @@
#include "components/autofill/content/renderer/form_autofill_util.h"
#include "components/autofill/content/renderer/form_tracker.h"
#include "components/autofill/core/common/autofill_features.h"
+#include "components/autofill/core/common/field_data_manager.h"
#include "components/autofill/core/common/mojom/autofill_types.mojom-shared.h"
#include "components/autofill/core/common/unique_ids.h"
#include "content/public/renderer/render_frame_observer.h"
@@ -51,7 +52,6 @@ namespace autofill {
class FormCache;
class PasswordAutofillAgent;
class PasswordGenerationAgent;
-class FieldDataManager;
// AutofillAgent deals with Autofill related communications between Blink and
// the browser.

@ -0,0 +1,896 @@
diff -up chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h
--- chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h.system-libstdc++ 2024-05-15 23:45:49.000000000 +0200
+++ chromium-125.0.6422.60/base/allocator/partition_allocator/src/partition_alloc/starscan/stats_collector.h 2024-05-19 09:07:38.199437617 +0200
@@ -14,7 +14,7 @@
#include <unordered_map>
#include <utility>
-#include "partition_alloc/internal_allocator_forward.h"
+#include "partition_alloc/internal_allocator.h"
#include "partition_alloc/partition_alloc_base/threading/platform_thread.h"
#include "partition_alloc/partition_alloc_base/time/time.h"
#include "partition_alloc/partition_alloc_check.h"
diff -up chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h
--- chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h.system-libstdc++ 2024-05-15 23:46:01.000000000 +0200
+++ chromium-125.0.6422.60/chrome/browser/lens/lens_overlay/lens_overlay_url_builder.h 2024-05-19 09:07:38.200437638 +0200
@@ -5,6 +5,7 @@
#ifndef CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_
#define CHROME_BROWSER_LENS_LENS_OVERLAY_LENS_OVERLAY_URL_BUILDER_H_
+#include <optional>
#include <string>
#include "third_party/lens_server_proto/lens_overlay_cluster_info.pb.h"
diff -up chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc
--- chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc.system-libstdc++ 2024-05-19 13:16:01.140442423 +0200
+++ chromium-125.0.6422.60/chrome/browser/sync/test/integration/product_specifications_helper.cc 2024-05-19 13:16:38.029246015 +0200
@@ -41,9 +41,9 @@ bool ProductSpecificationsChecker::IsExi
bool ProductSpecificationsChecker::IsSpecificsAvailableAndEqual() {
for (const ProductSpecificationsSet& product_specifications_set :
service_->GetAllProductSpecifications()) {
- std::vector<const GURL> specifics_urls;
+ std::vector<GURL> specifics_urls;
for (sync_pb::ComparisonData data : compare_specifics_->data()) {
- specifics_urls.push_back(GURL(data.url()));
+ specifics_urls.emplace_back(data.url());
}
if (product_specifications_set.uuid().AsLowercaseString() ==
compare_specifics_->uuid() &&
diff -up chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h
--- chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h.system-libstdc++ 2024-05-15 23:46:05.000000000 +0200
+++ chromium-125.0.6422.60/chrome/browser/ui/tabs/tab_strip_model.h 2024-05-19 09:07:38.200437638 +0200
@@ -12,6 +12,7 @@
#include <memory>
#include <optional>
#include <string>
+#include <variant>
#include <vector>
#include "base/containers/span.h"
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc.system-libstdc++ 2024-05-19 13:08:44.920571765 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.cc 2024-05-19 13:11:08.451775188 +0200
@@ -24,11 +24,11 @@ ProductSpecificationsService::GetSyncCon
return bridge_->change_processor()->GetControllerDelegate();
}
-const std::vector<const ProductSpecificationsSet>
+const std::vector<ProductSpecificationsSet>
ProductSpecificationsService::GetAllProductSpecifications() {
- std::vector<const ProductSpecificationsSet> product_specifications;
+ std::vector<ProductSpecificationsSet> product_specifications;
for (auto& entry : bridge_->entries()) {
- std::vector<const GURL> urls;
+ std::vector<GURL> urls;
for (auto& data : entry.second.data()) {
urls.emplace_back(data.url());
}
@@ -43,7 +43,7 @@ ProductSpecificationsService::GetAllProd
const std::optional<const ProductSpecificationsSet>
ProductSpecificationsService::AddProductSpecificationsSet(
const std::string& name,
- const std::vector<const GURL>& urls) {
+ const std::vector<GURL>& urls) {
// TODO(crbug.com/332545064) add for a product specification set being added.
std::optional<sync_pb::CompareSpecifics> specifics =
bridge_->AddProductSpecifications(name, urls);
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service.h 2024-05-19 09:07:38.201437659 +0200
@@ -26,14 +26,13 @@ class ProductSpecificationsService : pub
base::WeakPtr<syncer::ModelTypeControllerDelegate>
GetSyncControllerDelegate();
- const std::vector<const ProductSpecificationsSet>
- GetAllProductSpecifications();
+ const std::vector<ProductSpecificationsSet> GetAllProductSpecifications();
// Add new product specifications set called |name| with product pages
// corresponding to |urls|.
const std::optional<const ProductSpecificationsSet>
AddProductSpecificationsSet(const std::string& name,
- const std::vector<const GURL>& urls);
+ const std::vector<GURL>& urls);
// Deletes product specification set corresponding to identifier |uuid|.
void DeleteProductSpecificationsSet(const std::string& uuid);
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc.system-libstdc++ 2024-05-19 13:12:01.840028873 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_service_unittest.cc 2024-05-19 13:13:44.363473948 +0200
@@ -82,9 +82,9 @@ void AddTestSpecifics(commerce::ProductS
}
MATCHER_P(HasAllProductSpecs, compare_specifics, "") {
- std::vector<const GURL> specifics_urls;
+ std::vector<GURL> specifics_urls;
for (const sync_pb::ComparisonData& data : compare_specifics.data()) {
- specifics_urls.push_back(GURL(data.url()));
+ specifics_urls.emplace_back(data.url());
}
return arg.uuid().AsLowercaseString() == compare_specifics.uuid() &&
arg.creation_time() ==
@@ -217,7 +217,7 @@ class ProductSpecificationsServiceTest :
specifics.update_time_unix_epoch_micros()),
specifications.update_time());
EXPECT_EQ(specifics.name(), specifications.name());
- std::vector<const GURL> urls;
+ std::vector<GURL> urls;
for (const sync_pb::ComparisonData& data : specifics.data()) {
urls.emplace_back(data.url());
}
@@ -243,7 +243,7 @@ TEST_F(ProductSpecificationsServiceTest,
for (const sync_pb::CompareSpecifics& specifics : kCompareSpecifics) {
bridge()->AddCompareSpecifics(specifics);
}
- const std::vector<const ProductSpecificationsSet> specifications =
+ const std::vector<ProductSpecificationsSet> specifications =
service()->GetAllProductSpecifications();
EXPECT_EQ(2u, specifications.size());
for (uint64_t i = 0; i < specifications.size(); i++) {
@@ -252,7 +252,7 @@ TEST_F(ProductSpecificationsServiceTest,
}
TEST_F(ProductSpecificationsServiceTest, TestAddProductSpecificationsSuccess) {
- std::vector<const GURL> expected_product_urls{GURL(kProductOneUrl),
+ std::vector<GURL> expected_product_urls{GURL(kProductOneUrl),
GURL(kProductTwoUrl)};
EXPECT_CALL(*observer(),
OnProductSpecificationsSetAdded(HasProductSpecsNameUrl(
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc.system-libstdc++ 2024-05-19 13:06:20.870445163 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.cc 2024-05-19 13:07:44.385278233 +0200
@@ -12,7 +12,7 @@ ProductSpecificationsSet::ProductSpecifi
const std::string& uuid,
const int64_t creation_time_usec_since_epoch,
const int64_t update_time_usec_since_epoch,
- const std::vector<const GURL>& urls,
+ const std::vector<GURL>& urls,
const std::string& name)
: uuid_(base::Uuid::ParseLowercase(uuid)),
creation_time_(base::Time::FromMillisecondsSinceUnixEpoch(
@@ -34,9 +34,9 @@ ProductSpecificationsSet::~ProductSpecif
ProductSpecificationsSet ProductSpecificationsSet::FromProto(
const sync_pb::CompareSpecifics& specifics) {
- std::vector<const GURL> urls;
+ std::vector<GURL> urls;
for (const sync_pb::ComparisonData& data : specifics.data()) {
- urls.push_back(GURL(data.url()));
+ urls.emplace_back(data.url());
}
return ProductSpecificationsSet(
specifics.uuid(), specifics.creation_time_unix_epoch_micros(),
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_set.h 2024-05-19 09:07:38.201437659 +0200
@@ -43,7 +43,7 @@ class ProductSpecificationsSet {
ProductSpecificationsSet(const std::string& uuid,
const int64_t creation_time_usec_since_epoch,
const int64_t update_time_usec_since_epoch,
- const std::vector<const GURL>& urls,
+ const std::vector<GURL>& urls,
const std::string& name);
ProductSpecificationsSet(const ProductSpecificationsSet&);
@@ -61,7 +61,7 @@ class ProductSpecificationsSet {
const base::Time& update_time() const { return update_time_; }
// Product urls for each item in the set
- const std::vector<const GURL>& urls() const { return urls_; }
+ const std::vector<GURL>& urls() const { return urls_; }
// Name of the set
const std::string& name() const { return name_; }
@@ -76,7 +76,7 @@ class ProductSpecificationsSet {
const base::Uuid uuid_;
const base::Time creation_time_;
const base::Time update_time_;
- const std::vector<const GURL> urls_;
+ const std::vector<GURL> urls_;
const std::string name_;
};
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.cc 2024-05-19 09:07:38.201437659 +0200
@@ -131,7 +131,7 @@ void ProductSpecificationsSyncBridge::Ge
const std::optional<sync_pb::CompareSpecifics>
ProductSpecificationsSyncBridge::AddProductSpecifications(
const std::string& name,
- const std::vector<const GURL>& urls) {
+ const std::vector<GURL>& urls) {
if (!change_processor()->IsTrackingMetadata()) {
return std::nullopt;
}
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge.h 2024-05-19 09:07:38.201437659 +0200
@@ -64,7 +64,7 @@ class ProductSpecificationsSyncBridge :
virtual const std::optional<sync_pb::CompareSpecifics>
AddProductSpecifications(const std::string& name,
- const std::vector<const GURL>& urls);
+ const std::vector<GURL>& urls);
void DeleteProductSpecificationsSet(const std::string& uuid);
diff -up chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc
--- chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/product_specifications/product_specifications_sync_bridge_unittest.cc 2024-05-19 09:07:38.201437659 +0200
@@ -178,7 +178,7 @@ class ProductSpecificationsSyncBridgeTes
std::optional<sync_pb::CompareSpecifics> AddProductSpecifications(
const std::string& name,
- const std::vector<const GURL> urls) {
+ const std::vector<GURL> urls) {
return bridge().AddProductSpecifications(name, urls);
}
diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc
--- chromium-125.0.6422.60/components/commerce/core/shopping_service.cc.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/shopping_service.cc 2024-05-19 09:07:38.201437659 +0200
@@ -1734,7 +1734,7 @@ void ShoppingService::GetProductIdentifi
std::move(callback)));
}
-const std::vector<const ProductSpecificationsSet>
+const std::vector<ProductSpecificationsSet>
ShoppingService::GetAllProductSpecificationSets() {
return product_specifications_service_->GetAllProductSpecifications();
}
diff -up chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h
--- chromium-125.0.6422.60/components/commerce/core/shopping_service.h.system-libstdc++ 2024-05-15 23:46:11.000000000 +0200
+++ chromium-125.0.6422.60/components/commerce/core/shopping_service.h 2024-05-19 09:07:38.201437659 +0200
@@ -624,7 +624,7 @@ class ShoppingService : public KeyedServ
UrlProductIdentifierTupleCallback callback);
// Return all ProductSpecificationsSets from ProductSpecificationsService.
- virtual const std::vector<const ProductSpecificationsSet>
+ virtual const std::vector<ProductSpecificationsSet>
GetAllProductSpecificationSets();
// Updates the bookmark model used for sync (and shopping) if needed. Invoked
diff -up chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h
--- chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h.system-libstdc++ 2024-05-15 23:46:14.000000000 +0200
+++ chromium-125.0.6422.60/components/services/app_service/public/cpp/app_types.h 2024-05-19 09:07:38.202437679 +0200
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_
#define COMPONENTS_SERVICES_APP_SERVICE_PUBLIC_CPP_APP_TYPES_H_
+#include <optional>
#include "base/component_export.h"
#include "components/services/app_service/public/cpp/macros.h"
#include "components/services/app_service/public/protos/app_types.pb.h"
diff -up chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc
--- chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200
+++ chromium-125.0.6422.60/components/viz/service/display/surface_aggregator.cc 2024-05-19 09:07:38.202437679 +0200
@@ -2275,7 +2275,7 @@ AggregatedFrame SurfaceAggregator::Aggre
root_surface_id_ = surface_id;
// Start recording new stats for this aggregation.
- stats_.emplace();
+ stats_ = AggregateStatistics{};
base::ElapsedTimer prewalk_timer;
ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id);
diff -up chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc
--- chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc.system-libstdc++ 2024-05-15 23:46:17.000000000 +0200
+++ chromium-125.0.6422.60/content/browser/first_party_sets/first_party_sets_handler_database_helper.cc 2024-05-19 09:07:38.202437679 +0200
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <optional>
#include "content/browser/first_party_sets/first_party_sets_handler_database_helper.h"
#include "base/containers/contains.h"
diff -up chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h
--- chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h.system-libstdc++ 2024-05-15 23:46:22.000000000 +0200
+++ chromium-125.0.6422.60/gpu/command_buffer/service/shared_image/shared_image_backing.h 2024-05-19 09:07:38.202437679 +0200
@@ -111,6 +111,25 @@ using VideoDecodeDevice = Microsoft::WRL
using VideoDecodeDevice = void*;
#endif // BUILDFLAG(IS_WIN)
+class ScopedWriteUMA {
+ public:
+ ScopedWriteUMA() = default;
+
+ ScopedWriteUMA(const ScopedWriteUMA&) = delete;
+ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
+
+ ~ScopedWriteUMA() {
+ UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
+ content_consumed_);
+ }
+
+ bool content_consumed() const { return content_consumed_; }
+ void SetConsumed() { content_consumed_ = true; }
+
+ private:
+ bool content_consumed_ = false;
+};
+
// Represents the actual storage (GL texture, VkImage, GMB) for a SharedImage.
// Should not be accessed directly, instead is accessed through a
// SharedImageRepresentation.
@@ -370,25 +389,6 @@ class GPU_GLES2_EXPORT SharedImageBackin
mutable std::optional<base::Lock> lock_;
private:
- class ScopedWriteUMA {
- public:
- ScopedWriteUMA() = default;
-
- ScopedWriteUMA(const ScopedWriteUMA&) = delete;
- ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
-
- ~ScopedWriteUMA() {
- UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
- content_consumed_);
- }
-
- bool content_consumed() const { return content_consumed_; }
- void SetConsumed() { content_consumed_ = true; }
-
- private:
- bool content_consumed_ = false;
- };
-
const Mailbox mailbox_;
const viz::SharedImageFormat format_;
const gfx::Size size_;
diff -up chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc
--- chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
+++ chromium-125.0.6422.60/mojo/public/cpp/base/proto_wrapper.cc 2024-05-19 09:07:38.203437700 +0200
@@ -57,7 +57,7 @@ bool ProtoWrapper::DeserializeToMessage(
// Make an in-process copy here as protobuf is not designed to
// safely parse data that might be changing underneath it.
auto as_span = base::make_span(bytes_->data(), bytes_->size());
- const std::vector<const uint8_t> copy(as_span.begin(), as_span.end());
+ const std::vector<uint8_t> copy(as_span.begin(), as_span.end());
return message.ParseFromArray(copy.data(), copy.size());
}
}
diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h
--- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/bindings_internal.h 2024-05-19 09:07:38.203437700 +0200
@@ -8,6 +8,7 @@
#include <stdint.h>
#include <functional>
+#include <optional>
#include <type_traits>
#include <utility>
diff -up chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc
--- chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc.system-libstdc++ 2024-05-15 23:46:29.000000000 +0200
+++ chromium-125.0.6422.60/mojo/public/cpp/bindings/lib/multiplex_router.cc 2024-05-19 09:07:38.203437700 +0200
@@ -892,7 +892,7 @@ bool MultiplexRouter::ExclusiveSyncWaitF
DCHECK(!exclusive_sync_wait_);
scoped_refptr<MultiplexRouter> keep_alive(this);
- exclusive_sync_wait_.emplace();
+ exclusive_sync_wait_ = ExclusiveSyncWaitInfo{};
exclusive_sync_wait_->interface_id = interface_id;
exclusive_sync_wait_->request_id = request_id;
while (!exclusive_sync_wait_->finished) {
diff -up chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
--- chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc.system-libstdc++ 2024-05-15 23:46:38.000000000 +0200
+++ chromium-125.0.6422.60/third_party/blink/common/interest_group/auction_config_mojom_traits.cc 2024-05-19 09:07:38.206437763 +0200
@@ -218,8 +218,6 @@ bool StructTraits<blink::mojom::AuctionA
!data.ReadAllBuyersPrioritySignals(&out->all_buyers_priority_signals) ||
!data.ReadAuctionReportBuyerKeys(&out->auction_report_buyer_keys) ||
!data.ReadAuctionReportBuyers(&out->auction_report_buyers) ||
- !data.ReadAuctionReportBuyerDebugModeConfig(
- &out->auction_report_buyer_debug_mode_config) ||
!data.ReadRequiredSellerCapabilities(
&out->required_seller_capabilities) ||
!data.ReadRequestedSize(&out->requested_size) ||
diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc
--- chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200
+++ chromium-125.0.6422.60/third_party/blink/renderer/core/loader/history_item.cc 2024-05-19 09:07:38.209437825 +0200
@@ -182,26 +182,26 @@ void HistoryItem::SetReferrerPolicy(netw
void HistoryItem::SetVisualViewportScrollOffset(const ScrollOffset& offset) {
if (!view_state_)
- view_state_ = std::make_optional<ViewState>();
+ view_state_ = blink::HistoryItem::ViewState{};
view_state_->visual_viewport_scroll_offset_ = offset;
}
void HistoryItem::SetScrollOffset(const ScrollOffset& offset) {
if (!view_state_)
- view_state_ = std::make_optional<ViewState>();
+ view_state_ = blink::HistoryItem::ViewState{};
view_state_->scroll_offset_ = offset;
}
void HistoryItem::SetPageScaleFactor(float scale_factor) {
if (!view_state_)
- view_state_ = std::make_optional<ViewState>();
+ view_state_ = blink::HistoryItem::ViewState{};
view_state_->page_scale_factor_ = scale_factor;
}
void HistoryItem::SetScrollAnchorData(
const ScrollAnchorData& scroll_anchor_data) {
if (!view_state_)
- view_state_ = std::make_optional<ViewState>();
+ view_state_ = blink::HistoryItem::ViewState{};
view_state_->scroll_anchor_data_ = scroll_anchor_data;
}
diff -up chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h
--- chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h.system-libstdc++ 2024-05-15 23:46:41.000000000 +0200
+++ chromium-125.0.6422.60/third_party/blink/renderer/core/paint/fragment_data_iterator.h 2024-05-19 09:07:38.209437825 +0200
@@ -22,7 +22,7 @@ class FragmentDataIteratorBase {
public:
explicit FragmentDataIteratorBase(Head& head) : fragment_head_(head) {}
- explicit FragmentDataIteratorBase(nullptr_t) {}
+ explicit FragmentDataIteratorBase(std::nullptr_t) {}
Data* GetFragmentData() const {
return !IsDone() ? &fragment_head_.at(idx_) : nullptr;
diff -up chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc
--- chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200
+++ chromium-125.0.6422.60/third_party/blink/renderer/modules/media_controls/elements/media_control_timeline_element.cc 2024-05-19 09:07:38.210437846 +0200
@@ -101,7 +101,7 @@ void MediaControlTimelineElement::Update
void MediaControlTimelineElement::SetPosition(double current_time,
bool suppress_aria) {
if (is_live_ && !live_anchor_time_ && current_time != 0) {
- live_anchor_time_.emplace();
+ live_anchor_time_ = LiveAnchorTime{};
live_anchor_time_->clock_time_ = base::TimeTicks::Now();
live_anchor_time_->media_time_ = MediaElement().currentTime();
}
diff -up chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc
--- chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc.system-libstdc++ 2024-05-15 23:46:42.000000000 +0200
+++ chromium-125.0.6422.60/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.cc 2024-05-19 09:07:38.210437846 +0200
@@ -70,7 +70,7 @@ void GeometryMapperTransformCache::Updat
to_2d_translation_root_ += translation;
if (parent.plane_root_transform_) {
- plane_root_transform_.emplace();
+ plane_root_transform_ = PlaneRootTransform{};
plane_root_transform_->plane_root = parent.plane_root();
plane_root_transform_->to_plane_root = parent.to_plane_root();
plane_root_transform_->to_plane_root.Translate(translation.x(),
@@ -98,7 +98,7 @@ void GeometryMapperTransformCache::Updat
// as the 2d translation root.
plane_root_transform_ = std::nullopt;
} else {
- plane_root_transform_.emplace();
+ plane_root_transform_ = PlaneRootTransform{};
plane_root_transform_->plane_root = parent.plane_root();
plane_root_transform_->to_plane_root.MakeIdentity();
parent.ApplyToPlaneRoot(plane_root_transform_->to_plane_root);
@@ -140,7 +140,7 @@ void GeometryMapperTransformCache::Updat
parent_node->UpdateScreenTransform();
const auto& parent = parent_node->GetTransformCache();
- screen_transform_.emplace();
+ screen_transform_ = ScreenTransform{};
parent.ApplyToScreen(screen_transform_->to_screen);
if (node.FlattensInheritedTransform())
screen_transform_->to_screen.Flatten();
diff -up chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h
--- chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h.system-libstdc++ 2024-05-15 23:47:49.000000000 +0200
+++ chromium-125.0.6422.60/third_party/ruy/src/ruy/profiler/instrumentation.h 2024-05-19 09:07:38.211437867 +0200
@@ -19,6 +19,7 @@ limitations under the License.
#ifdef RUY_PROFILER
#include <cstdio>
#include <mutex>
+#include <string>
#include <vector>
#endif
diff -up chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp
--- chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp.system-libstdc++ 2024-05-15 23:48:05.000000000 +0200
+++ chromium-125.0.6422.60/third_party/vulkan-deps/vulkan-utility-libraries/src/include/vulkan/utility/vk_small_containers.hpp 2024-05-19 09:07:38.211437867 +0200
@@ -8,6 +8,7 @@
#pragma once
+#include <memory>
#include <cassert>
#include <unordered_map>
#include <unordered_set>
diff -up chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc
--- chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc.system-libstdc++ 2024-05-15 23:48:09.000000000 +0200
+++ chromium-125.0.6422.60/third_party/webrtc/modules/congestion_controller/goog_cc/loss_based_bwe_v2.cc 2024-05-19 09:07:38.212437888 +0200
@@ -549,7 +549,7 @@ absl::optional<LossBasedBweV2::Config> L
if (!enabled.Get()) {
return config;
}
- config.emplace();
+ config = Config{};
config->bandwidth_rampup_upper_bound_factor =
bandwidth_rampup_upper_bound_factor.Get();
config->bandwidth_rampup_upper_bound_factor_in_hold =
diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc
--- chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/randr.cc 2024-05-19 09:07:38.212437888 +0200
@@ -305,7 +305,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
// data
auto data_expr = subCode;
if (CaseEq(data_expr, RandR::Notify::CrtcChange)) {
- data.cc.emplace();
+ data.cc = RandR::NotifyEvent::Cc{};
auto& timestamp = (*data.cc).timestamp;
auto& window = (*data.cc).window;
auto& crtc = (*data.cc).crtc;
@@ -349,7 +349,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
Read(&height, &buf);
}
if (CaseEq(data_expr, RandR::Notify::OutputChange)) {
- data.oc.emplace();
+ data.oc = RandR::NotifyEvent::Oc{};
auto& timestamp = (*data.oc).timestamp;
auto& config_timestamp = (*data.oc).config_timestamp;
auto& window = (*data.oc).window;
@@ -394,7 +394,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
subpixel_order = static_cast<Render::SubPixel>(tmp6);
}
if (CaseEq(data_expr, RandR::Notify::OutputProperty)) {
- data.op.emplace();
+ data.op = RandR::NotifyEvent::Op{};
auto& window = (*data.op).window;
auto& output = (*data.op).output;
auto& atom = (*data.op).atom;
@@ -422,7 +422,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
Pad(&buf, 11);
}
if (CaseEq(data_expr, RandR::Notify::ProviderChange)) {
- data.pc.emplace();
+ data.pc = RandR::NotifyEvent::Pc{};
auto& timestamp = (*data.pc).timestamp;
auto& window = (*data.pc).window;
auto& provider = (*data.pc).provider;
@@ -440,7 +440,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
Pad(&buf, 16);
}
if (CaseEq(data_expr, RandR::Notify::ProviderProperty)) {
- data.pp.emplace();
+ data.pp = RandR::NotifyEvent::Pp{};
auto& window = (*data.pp).window;
auto& provider = (*data.pp).provider;
auto& atom = (*data.pp).atom;
@@ -466,7 +466,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
Pad(&buf, 11);
}
if (CaseEq(data_expr, RandR::Notify::ResourceChange)) {
- data.rc.emplace();
+ data.rc = RandR::NotifyEvent::Rc{};
auto& timestamp = (*data.rc).timestamp;
auto& window = (*data.rc).window;
@@ -480,7 +480,7 @@ void ReadEvent<RandR::NotifyEvent>(RandR
Pad(&buf, 20);
}
if (CaseEq(data_expr, RandR::Notify::Lease)) {
- data.lc.emplace();
+ data.lc = RandR::NotifyEvent::Lc{};
auto& timestamp = (*data.lc).timestamp;
auto& window = (*data.lc).window;
auto& lease = (*data.lc).lease;
diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc
--- chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xinput.cc 2024-05-19 09:07:38.216437971 +0200
@@ -567,7 +567,7 @@ void ReadEvent<Input::DeviceChangedEvent
// data
auto data_expr = type;
if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
- data.key.emplace();
+ data.key = Input::DeviceClass::Key{};
uint16_t num_keys{};
auto& keys = (*data.key).keys;
size_t keys_len = keys.size();
@@ -583,7 +583,7 @@ void ReadEvent<Input::DeviceChangedEvent
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
- data.button.emplace();
+ data.button = Input::DeviceClass::Button{};
uint16_t num_buttons{};
auto& state = (*data.button).state;
size_t state_len = state.size();
@@ -608,7 +608,7 @@ void ReadEvent<Input::DeviceChangedEvent
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
- data.valuator.emplace();
+ data.valuator = Input::DeviceClass::Valuator{};
auto& number = (*data.valuator).number;
auto& label = (*data.valuator).label;
auto& min = (*data.valuator).min;
@@ -671,7 +671,7 @@ void ReadEvent<Input::DeviceChangedEvent
Pad(&buf, 3);
}
if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
- data.scroll.emplace();
+ data.scroll = Input::DeviceClass::Scroll{};
auto& number = (*data.scroll).number;
auto& scroll_type = (*data.scroll).scroll_type;
auto& flags = (*data.scroll).flags;
@@ -706,7 +706,7 @@ void ReadEvent<Input::DeviceChangedEvent
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
- data.touch.emplace();
+ data.touch = Input::DeviceClass::Touch{};
auto& mode = (*data.touch).mode;
auto& num_touches = (*data.touch).num_touches;
@@ -719,7 +719,7 @@ void ReadEvent<Input::DeviceChangedEvent
Read(&num_touches, &buf);
}
if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
- data.gesture.emplace();
+ data.gesture = Input::DeviceClass::Gesture{};
auto& num_touches = (*data.gesture).num_touches;
// num_touches
@@ -2206,7 +2206,7 @@ std::unique_ptr<Input::ListInputDevicesR
// info
auto info_expr = class_id;
if (CaseEq(info_expr, Input::InputClass::Key)) {
- info.key.emplace();
+ info.key = Input::InputInfo::Key{};
auto& min_keycode = (*info.key).min_keycode;
auto& max_keycode = (*info.key).max_keycode;
auto& num_keys = (*info.key).num_keys;
@@ -2224,14 +2224,14 @@ std::unique_ptr<Input::ListInputDevicesR
Pad(&buf, 2);
}
if (CaseEq(info_expr, Input::InputClass::Button)) {
- info.button.emplace();
+ info.button = Input::InputInfo::Button{};
auto& num_buttons = (*info.button).num_buttons;
// num_buttons
Read(&num_buttons, &buf);
}
if (CaseEq(info_expr, Input::InputClass::Valuator)) {
- info.valuator.emplace();
+ info.valuator = Input::InputInfo::Valuator{};
uint8_t axes_len{};
auto& mode = (*info.valuator).mode;
auto& motion_size = (*info.valuator).motion_size;
@@ -3844,7 +3844,7 @@ std::unique_ptr<Input::GetFeedbackContro
// data
auto data_expr = class_id;
if (CaseEq(data_expr, Input::FeedbackClass::Keyboard)) {
- data.keyboard.emplace();
+ data.keyboard = x11::Input::FeedbackState::Keyboard{};
auto& pitch = (*data.keyboard).pitch;
auto& duration = (*data.keyboard).duration;
auto& led_mask = (*data.keyboard).led_mask;
@@ -3886,7 +3886,7 @@ std::unique_ptr<Input::GetFeedbackContro
}
}
if (CaseEq(data_expr, Input::FeedbackClass::Pointer)) {
- data.pointer.emplace();
+ data.pointer = x11::Input::FeedbackState::Pointer{};
auto& accel_num = (*data.pointer).accel_num;
auto& accel_denom = (*data.pointer).accel_denom;
auto& threshold = (*data.pointer).threshold;
@@ -3904,7 +3904,7 @@ std::unique_ptr<Input::GetFeedbackContro
Read(&threshold, &buf);
}
if (CaseEq(data_expr, Input::FeedbackClass::String)) {
- data.string.emplace();
+ data.string = x11::Input::FeedbackState::String{};
auto& max_symbols = (*data.string).max_symbols;
uint16_t num_keysyms{};
auto& keysyms = (*data.string).keysyms;
@@ -3924,7 +3924,7 @@ std::unique_ptr<Input::GetFeedbackContro
}
}
if (CaseEq(data_expr, Input::FeedbackClass::Integer)) {
- data.integer.emplace();
+ data.integer = x11::Input::FeedbackState::Integer{};
auto& resolution = (*data.integer).resolution;
auto& min_value = (*data.integer).min_value;
auto& max_value = (*data.integer).max_value;
@@ -3939,7 +3939,7 @@ std::unique_ptr<Input::GetFeedbackContro
Read(&max_value, &buf);
}
if (CaseEq(data_expr, Input::FeedbackClass::Led)) {
- data.led.emplace();
+ data.led = x11::Input::FeedbackState::Led{};
auto& led_mask = (*data.led).led_mask;
auto& led_values = (*data.led).led_values;
@@ -3950,7 +3950,7 @@ std::unique_ptr<Input::GetFeedbackContro
Read(&led_values, &buf);
}
if (CaseEq(data_expr, Input::FeedbackClass::Bell)) {
- data.bell.emplace();
+ data.bell = x11::Input::FeedbackState::Bell{};
auto& percent = (*data.bell).percent;
auto& pitch = (*data.bell).pitch;
auto& duration = (*data.bell).duration;
@@ -4768,7 +4768,7 @@ std::unique_ptr<Input::QueryDeviceStateR
// data
auto data_expr = class_id;
if (CaseEq(data_expr, Input::InputClass::Key)) {
- data.key.emplace();
+ data.key = x11::Input::InputState::Key{};
auto& num_keys = (*data.key).num_keys;
auto& keys = (*data.key).keys;
size_t keys_len = keys.size();
@@ -4786,7 +4786,7 @@ std::unique_ptr<Input::QueryDeviceStateR
}
}
if (CaseEq(data_expr, Input::InputClass::Button)) {
- data.button.emplace();
+ data.button = x11::Input::InputState::Button{};
auto& num_buttons = (*data.button).num_buttons;
auto& buttons = (*data.button).buttons;
size_t buttons_len = buttons.size();
@@ -4804,7 +4804,7 @@ std::unique_ptr<Input::QueryDeviceStateR
}
}
if (CaseEq(data_expr, Input::InputClass::Valuator)) {
- data.valuator.emplace();
+ data.valuator = x11::Input::InputState::Valuator{};
uint8_t num_valuators{};
auto& mode = (*data.valuator).mode;
auto& valuators = (*data.valuator).valuators;
@@ -5075,7 +5075,7 @@ std::unique_ptr<Input::GetDeviceControlR
// data
auto data_expr = control_id;
if (CaseEq(data_expr, Input::DeviceControl::resolution)) {
- data.resolution.emplace();
+ data.resolution = x11::Input::DeviceState::Resolution{};
uint32_t num_valuators{};
auto& resolution_values = (*data.resolution).resolution_values;
size_t resolution_values_len = resolution_values.size();
@@ -5109,7 +5109,7 @@ std::unique_ptr<Input::GetDeviceControlR
}
}
if (CaseEq(data_expr, Input::DeviceControl::abs_calib)) {
- data.abs_calib.emplace();
+ data.abs_calib = x11::Input::DeviceState::AbsCalib{};
auto& min_x = (*data.abs_calib).min_x;
auto& max_x = (*data.abs_calib).max_x;
auto& min_y = (*data.abs_calib).min_y;
@@ -5144,7 +5144,7 @@ std::unique_ptr<Input::GetDeviceControlR
Read(&button_threshold, &buf);
}
if (CaseEq(data_expr, Input::DeviceControl::core)) {
- data.core.emplace();
+ data.core = x11::Input::DeviceState::Core{};
auto& status = (*data.core).status;
auto& iscore = (*data.core).iscore;
@@ -5158,7 +5158,7 @@ std::unique_ptr<Input::GetDeviceControlR
Pad(&buf, 2);
}
if (CaseEq(data_expr, Input::DeviceControl::enable)) {
- data.enable.emplace();
+ data.enable = x11::Input::DeviceState::Enable{};
auto& enable = (*data.enable).enable;
// enable
@@ -5168,7 +5168,7 @@ std::unique_ptr<Input::GetDeviceControlR
Pad(&buf, 3);
}
if (CaseEq(data_expr, Input::DeviceControl::abs_area)) {
- data.abs_area.emplace();
+ data.abs_area = x11::Input::DeviceState::AbsArea{};
auto& offset_x = (*data.abs_area).offset_x;
auto& offset_y = (*data.abs_area).offset_y;
auto& width = (*data.abs_area).width;
@@ -6659,7 +6659,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
// data
auto data_expr = type;
if (CaseEq(data_expr, Input::DeviceClassType::Key)) {
- data.key.emplace();
+ data.key = Input::DeviceClass::Key{};
uint16_t num_keys{};
auto& keys = (*data.key).keys;
size_t keys_len = keys.size();
@@ -6675,7 +6675,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Button)) {
- data.button.emplace();
+ data.button = Input::DeviceClass::Button{};
uint16_t num_buttons{};
auto& state = (*data.button).state;
size_t state_len = state.size();
@@ -6700,7 +6700,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Valuator)) {
- data.valuator.emplace();
+ data.valuator = Input::DeviceClass::Valuator{};
auto& number = (*data.valuator).number;
auto& label = (*data.valuator).label;
auto& min = (*data.valuator).min;
@@ -6763,7 +6763,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
Pad(&buf, 3);
}
if (CaseEq(data_expr, Input::DeviceClassType::Scroll)) {
- data.scroll.emplace();
+ data.scroll = Input::DeviceClass::Scroll{};
auto& number = (*data.scroll).number;
auto& scroll_type = (*data.scroll).scroll_type;
auto& flags = (*data.scroll).flags;
@@ -6798,7 +6798,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
}
}
if (CaseEq(data_expr, Input::DeviceClassType::Touch)) {
- data.touch.emplace();
+ data.touch = Input::DeviceClass::Touch{};
auto& mode = (*data.touch).mode;
auto& num_touches = (*data.touch).num_touches;
@@ -6811,7 +6811,7 @@ std::unique_ptr<Input::XIQueryDeviceRepl
Read(&num_touches, &buf);
}
if (CaseEq(data_expr, Input::DeviceClassType::Gesture)) {
- data.gesture.emplace();
+ data.gesture = Input::DeviceClass::Gesture{};
auto& num_touches = (*data.gesture).num_touches;
// num_touches
diff -up chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc
--- chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc.system-libstdc++ 2024-05-15 23:47:33.000000000 +0200
+++ chromium-125.0.6422.60/ui/gfx/x/generated_protos/xkb.cc 2024-05-19 09:07:38.220438054 +0200
@@ -2346,7 +2346,7 @@ std::unique_ptr<Xkb::GetMapReply> detail
// map
auto map_expr = present;
if (CaseAnd(map_expr, Xkb::MapPart::KeyTypes)) {
- map.types_rtrn.emplace();
+ map.types_rtrn = std::vector<Xkb::KeyType>{};
auto& types_rtrn = *map.types_rtrn;
size_t types_rtrn_len = types_rtrn.size();
@@ -5276,7 +5276,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
if (CaseAnd(replies_expr, Xkb::GBNDetail::Types) ||
CaseAnd(replies_expr, Xkb::GBNDetail::ClientSymbols) ||
CaseAnd(replies_expr, Xkb::GBNDetail::ServerSymbols)) {
- replies.types.emplace();
+ replies.types = Xkb::GetKbdByNameReply::Types{};
auto& getmap_type = (*replies.types).getmap_type;
auto& typeDeviceID = (*replies.types).typeDeviceID;
auto& getmap_sequence = (*replies.types).getmap_sequence;
@@ -5708,7 +5708,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
}
}
if (CaseAnd(replies_expr, Xkb::GBNDetail::CompatMap)) {
- replies.compat_map.emplace();
+ replies.compat_map = Xkb::GetKbdByNameReply::CompatMap{};
auto& compatmap_type = (*replies.compat_map).compatmap_type;
auto& compatDeviceID = (*replies.compat_map).compatDeviceID;
auto& compatmap_sequence = (*replies.compat_map).compatmap_sequence;
@@ -5832,7 +5832,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
}
}
if (CaseAnd(replies_expr, Xkb::GBNDetail::IndicatorMaps)) {
- replies.indicator_maps.emplace();
+ replies.indicator_maps = Xkb::GetKbdByNameReply::IndicatorMaps{};
auto& indicatormap_type = (*replies.indicator_maps).indicatormap_type;
auto& indicatorDeviceID = (*replies.indicator_maps).indicatorDeviceID;
auto& indicatormap_sequence =
@@ -5926,7 +5926,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
}
if (CaseAnd(replies_expr, Xkb::GBNDetail::KeyNames) ||
CaseAnd(replies_expr, Xkb::GBNDetail::OtherNames)) {
- replies.key_names.emplace();
+ replies.key_names = Xkb::GetKbdByNameReply::KeyNames{};
auto& keyname_type = (*replies.key_names).keyname_type;
auto& keyDeviceID = (*replies.key_names).keyDeviceID;
auto& keyname_sequence = (*replies.key_names).keyname_sequence;
@@ -6185,7 +6185,7 @@ std::unique_ptr<Xkb::GetKbdByNameReply>
}
}
if (CaseAnd(replies_expr, Xkb::GBNDetail::Geometry)) {
- replies.geometry.emplace();
+ replies.geometry = Xkb::GetKbdByNameReply::Geometry{};
auto& geometry_type = (*replies.geometry).geometry_type;
auto& geometryDeviceID = (*replies.geometry).geometryDeviceID;
auto& geometry_sequence = (*replies.geometry).geometry_sequence;

@ -184,6 +184,9 @@
# enable|disable use_custom_libcxx
%global use_custom_libcxx 1
%if 0%{?rhel} == 7
%global use_custom_libcxx 0
%endif
# enable clang by default
%global clang 1
@ -228,12 +231,17 @@
%global bundlelibaom 1
%global bundlelibavif 1
%global bundlesnappy 1
# Fedora's Python 2 stack is being removed, we use the bundled Python libraries
# This can be revisited once we upgrade to Python 3
%global bundlepylibs 0
%global bundlelibxslt 0
%global bundleflac 0
%global bundledoubleconversion 0
%global bundlelibXNVCtrl 0
%global bundlehighway 0
%global bundlelibusbx 0
%global bundlelibevent 0
%global bundlelibsecret 0
%global bundleopus 0
%global bundlelcms2 0
# RHEL 7.9 dropped minizip.
# enable bundleminizip for Fedora > 39 due to switch to minizip-ng
@ -247,45 +255,35 @@
%global bundleffmpegfree 0
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
%global bundlehighway 1
%global bundledav1d 1
%global bundleopus 1
%global bundlelibusbx 1
%global bundleharfbuzz 1
%global bundlelibpng 1
%global bundlelibwebp 1
%global bundlelibpng 1
%global bundlelibjpeg 1
%global bundlefreetype 1
%global bundlelibdrm 1
%global bundlefontconfig 1
%global bundleffmpegfree 1
%global bundlebrotli 1
%global bundlelibopenjpeg2 1
%global bundlelcms2 1
%global bundlelibtiff 1
%global bundlecrc32c 1
%global bundledoubleconversion 1
%global bundlelibsecret 1
%global bundlelibXNVCtrl 1
%global bundlelibxml 1
%global bundlelibevent 1
%global bundledav1d 1
%else
%if 0%{?fedora} > 38 || 0%{?rhel} > 9
%global bundlebrotli 0
%else
%global bundlebrotli 1
%endif
%global bundlehighway 0
%global bundledav1d 0
%global bundleopus 0
%global bundlelibusbx 0
%global bundlelibwebp 0
%global bundlelibpng 0
%global bundlelibjpeg 0
%global bundlelibdrm 0
%global bundlefontconfig 0
%global bundleffmpegfree 0
%global bundlefreetype 0
%global bundlelibopenjpeg2 0
%global bundlelcms2 0
%global bundlelibtiff 0
%if 0%{?rhel} == 9
%global bundlecrc32c 1
@ -294,11 +292,7 @@
%global bundlecrc32c 0
%global bundleharfbuzz 0
%endif
%global bundledoubleconversion 0
%global bundlelibsecret 0
%global bundlelibXNVCtrl 0
%global bundlelibxml 0
%global bundlelibevent 0
%endif
%if %{with gost}
@ -344,7 +338,7 @@
%endif
Name: chromium%{chromium_channel}
Version: 125.0.6422.60
Version: 125.0.6422.76
Release: 1%{?dist}.inferit
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@ -410,7 +404,7 @@ Patch101: chromium-108-el7-wayland-strndup-error.patch
# Workaround for old clang 14
# error: defaulting this default constructor would delete it after its first declaration
Patch102: chromium-124-el7-default-constructor-involving-anonymous-union.patch
Patch102: chromium-125-el7-default-constructor-involving-anonymous-union.patch
# Work around old and missing headers on EPEL7
Patch103: chromium-110-epel7-old-headers-workarounds.patch
@ -421,7 +415,7 @@ Patch104: chromium-99.0.4844.51-epel7-old-cups.patch
# libdrm on EL7 is rather old and chromium assumes newer
# This gets us by for now
Patch105: chromium-120-el7-old-libdrm.patch
Patch105: chromium-125-el7-old-libdrm.patch
# error: no matching function for call to 'std::basic_string<char>::erase(std::basic_string<char>::const_iterator, __gnu_cxx::__normal_iterator<const char*, std::basic_string<char> >&)'
# 33 | property_name.erase(property_name.cbegin(), cur);
@ -436,25 +430,28 @@ Patch108: chromium-118-el7_v4l2_quantization.patch
Patch109: chromium-114-wireless-el7.patch
Patch110: chromium-115-buildflag-el7.patch
Patch111: chromium-116-constexpr.patch
Patch112: chromium-125-el7-rust-proc-macro2.patch
Patch113: chromium-121-el7-clang-version-warning.patch
Patch114: chromium-123-el7-clang-build-failure.patch
Patch115: chromium-124-el7-size_t.patch
# fixes for old clang version in el7 (clang <= 15)
# compiler build errors, no matching constructor for initialization
Patch116: chromium-124-no_matching_constructor.patch
Patch117: chromium-115-compiler-SkColor4f.patch
# fixes for old clang version in el7 (clang <= 15)
# compiler build errors, no matching constructor for initialization
Patch116: chromium-125-el7-no_matching_constructor.patch
Patch117: chromium-115-el7-compiler-SkColor4f.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
Patch118: chromium-124-workaround_clang_bug-structured_binding.patch
# workaround for clang bug, https://github.com/llvm/llvm-project/issues/57826
Patch118: chromium-124-el7-workaround_clang_bug-structured_binding.patch
# missing typename
# missing typename
Patch119: chromium-124-typename.patch
# error: invalid operands to binary expression
Patch120: chromium-117-string-convert.patch
Patch121: chromium-119-assert.patch
Patch122: chromium-124-el7-constexpr.patch
Patch120: chromium-117-el7-string-convert.patch
Patch121: chromium-125-el7-assert.patch
Patch122: chromium-125-el7-constexpr.patch
Patch123: chromium-125-el7-type-alias.patch
Patch124: chromium-125-el7-optional-workaround-assert.patch
# system ffmpeg
# need for old ffmpeg 5.x on epel9
@ -466,6 +463,8 @@ Patch131: chromium-107-proprietary-codecs.patch
Patch132: chromium-118-sigtrap_system_ffmpeg.patch
# need for old ffmpeg 6.0/5.x on epel9 and fedora < 40
Patch133: chromium-121-system-old-ffmpeg.patch
# disable FFmpegAllowLists by default to allow external ffmpeg
Patch134: chromium-125-disable-FFmpegAllowLists.patch
# revert AV1 VAAPI video encode due to old libva on el9
Patch140: chromium-122-revert-av1enc-el9.patch
@ -509,8 +508,8 @@ Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
# remove flag split-threshold-for-reg-with-hint, it' not supported in clang <= 17
Patch354: chromium-120-split-threshold-for-reg-with-hint.patch
# disable FFmpegAllowLists by default to allow external ffmpeg
patch356: chromium-125-disable-FFmpegAllowLists.patch
# use system libstdc++
Patch355: chromium-125-system-libstdc++.patch
# set clang_lib path
Patch358: chromium-124-rust-clang_lib.patch
@ -589,6 +588,10 @@ Patch413: fix-unknown-warning-option-messages.diff
# upstream patches
# 64kpage support on el8
Patch500: chromium-124-el8-support-64kpage.patch
# add missing include for usage of FieldDataManager in autofill_agent.h
Patch501: chromium-125-missing-include-FieldDataManager.patch
# [devtools] fix a missing build dependency to a generated file
Patch502: chromium-125-devtools-build-dependency.patch
# Old Yandex patch
Patch600: 0001-Yandex-as-default-search-engine.patch
@ -918,30 +921,13 @@ BuildRequires: mesa-libGL-devel
BuildRequires: opus-devel
%endif
BuildRequires: perl(Switch)
BuildRequires: %{chromium_pybin}
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: python3-devel
BuildRequires: python3-zipp
BuildRequires: python3-simplejson
BuildRequires: python3-importlib-metadata
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
BuildRequires: python3-dataclasses
%endif
%if ! %{bundlepylibs}
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: python3-beautifulsoup4
BuildRequires: python3-html5lib
BuildRequires: python3-markupsafe
BuildRequires: python3-ply
BuildRequires: python3-jinja2
%else
BuildRequires: python-beautifulsoup4
BuildRequires: python-html5lib
BuildRequires: python-markupsafe
BuildRequires: python-ply
BuildRequires: python-jinja2
%endif
%endif
@ -1284,6 +1270,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
# EPEL specific patches
%if 0%{?rhel} == 7
cp /opt/rh/%{toolset}-%{dts_version}/root/usr/include/c++/%{dts_version}/optional .
%patch -P100 -p1 -b .el7-memfd-fcntl-include
%patch -P101 -p1 -b .wayland-strndup-error
%patch -P102 -p1 -b .default-constructor-involving-anonymous-union
@ -1296,7 +1283,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P109 -p1 -b .wireless
%patch -P110 -p1 -b .buildflag-el7
%patch -P111 -p1 -b .inline-function-el7
%patch -P112 -p1 -b .el7-powf
%patch -P112 -p1 -R -b .rust-proc-macro2
%patch -P113 -p1 -b .el7-clang-version-warning
%patch -P114 -p1 -b .clang-build-failure
%patch -P115 -p1 -b .el7-size_t
@ -1307,6 +1294,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P120 -p1 -b .string-convert
%patch -P121 -p1 -b .assert
%patch -P122 -p1 -b .constexpr
%patch -P123 -p1 -b .el7-type-alias
%patch -P124 -p1 -b .el7-workaround-assert
%endif
%if 0%{?rhel} == 9
@ -1321,6 +1310,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%if %{bundleffmpegfree}
%patch -P129 -p1 -R -b .ffmpeg-5.x-reordered_opaque
%patch -P130 -p1 -b .revert-av1enc
%patch -P133 -p1 -b .system-old-ffmpeg
%patch -P134 -p1 -b .disable-FFmpegAllowLists
%endif
%endif
@ -1357,7 +1348,9 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%endif
%patch -P354 -p1 -b .revert-split-threshold-for-reg-with-hint
%patch -P356 -p1 -b .disable-FFmpegAllowLists
%if ! %{use_custom_libcxx}
%patch -P355 -p1 -b .system-libstdc++
%endif
%patch -P358 -p1 -b .rust-clang_lib
%patch -P359 -p1 -b .libavif-deps
@ -1429,6 +1422,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P500 -p1 -b .el8-support-64kpage.patch
%endif
%endif
%patch -P501 -p1 -b .missing-include-FieldDataManage
%patch -P502 -p1 -b .devtools-build-dependency
%patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft
%if ! %{with gost}
@ -1518,8 +1513,7 @@ cp -a third_party/dav1d/version/version.h third_party/dav1d/libdav1d/include/dav
%if %{clang}
FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable'
FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes'
FLAGS+=' -Wno-unknown-pragmas'
FLAGS+=' -Wno-unused-const-variable -Wno-unneeded-internal-declaration -Wno-unknown-attributes -Wno-unknown-pragmas'
%endif
%if %{system_build_flags}
@ -1660,7 +1654,7 @@ CHROMIUM_CORE_GN_DEFINES+=' enable_iterator_debugging=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_vr=false'
CHROMIUM_CORE_GN_DEFINES+=' build_dawn_tests=false enable_perfetto_unittests=false'
CHROMIUM_CORE_GN_DEFINES+=' disable_fieldtrial_testing_config=true'
CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level}'
CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level} blink_symbol_level=%{debug_level}'
CHROMIUM_CORE_GN_DEFINES+=' angle_has_histograms=false'
export CHROMIUM_CORE_GN_DEFINES
@ -2246,6 +2240,16 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%changelog
* Fri May 24 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 125.0.6422.76-1.inferit
- fix bz#2282246, update to 125.0.6422.76
* High CVE-2024-5157: Use after free in Scheduling
* High CVE-2024-5158: Type Confusion in V8
* High CVE-2024-5159: Heap buffer overflow in ANGLE
* High CVE-2024-5160: Heap buffer overflow in Dawn
- cleanup
- remove unneeded BRs
- workarounds for el7 build
* Fri May 17 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 125.0.6422.60-1.inferit
- update to 125.0.6422.60
* High CVE-2024-4947: Type Confusion in V8

Loading…
Cancel
Save