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;