diff --git a/DEPS b/DEPS
index e356cfb..83ad0533 100644
--- a/DEPS
+++ b/DEPS
@@ -305,11 +305,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'src_internal_revision': 'b3c73087b949eb0d705bf204aa086bd622154ea1',
+  'src_internal_revision': '66261da8b16ee204eb6f8a7ee932b3f6d6616e35',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '90dadc349e3e79acf7ac572023cde99ac5dfc2e9',
+  'skia_revision': '3d2b08a88e89061d290f31311de779feedb64b29',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
@@ -329,7 +329,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
-  'boringssl_revision': '91f3df0a20f6d3dd3e2f749b4a2730b68c3d585e',
+  'boringssl_revision': '42d9a13df20d7b005ca0e9d646a47c14cae7ad85',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Fuchsia sdk
   # and whatever else without interference from each other.
@@ -397,7 +397,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': 'b0339c61ce77755b1971077dd1ffe32391833ddd',
+  'devtools_frontend_revision': '2d93a8fa7d129b21a8356ddb5499302b150ad901',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libprotobuf-mutator
   # and whatever else without interference from each other.
@@ -421,7 +421,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': 'c2dcfa0865c515144dbb14312c3f18eb50b2e9f6',
+  'dawn_revision': '69d8ce6372ba5e221f8504986f44f2633d847fad',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -1190,7 +1190,7 @@
       'packages': [
           {
               'package': 'chromium/chrome/android/orderfiles/arm',
-              'version': 'Ky9v12bPMHT6ktCfaPt77BXAqhTfOGSjXDogIaY8bZEC',
+              'version': 'oAE2CvVU-T1GkxpokASBpT-ekwcd2hb51k36c40xKOMC',
           },
       ],
       'condition': 'checkout_android',
@@ -1201,7 +1201,7 @@
       'packages': [
           {
               'package': 'chromium/chrome/android/orderfiles/arm64',
-              'version': 'o-m-lzDoYs_HMF7EKILuPeH_XeQzMsTiAss7Lzw1TxEC',
+              'version': 'q11gkKhzV-WIG9SD-GV2a982LPU0Y5aV-vRW8PQBYxUC',
           },
       ],
       'condition': 'checkout_android',
@@ -1212,7 +1212,7 @@
       'packages': [
           {
               'package': 'chromium/android_webview/tools/orderfiles/arm64',
-              'version': 'd1ijvi2vD4wI7G4TCuPR203QtBtCwLogg8MEHmUvKKEC',
+              'version': 'I1DcSiWvc8RTB5nLQiRn7KANYqVvcYDvZFebEh2y1UkC',
           },
       ],
       'condition': 'checkout_android',
@@ -1608,12 +1608,12 @@
 
   'src/clank': {
     'url': Var('chrome_git') + '/clank/internal/apps.git' + '@' +
-    'a81377cd5d18f043055acb314c600dc7db751984',
+    'acd4c2ab7b4cf36d68f3d25be4701482d229574f',
     'condition': 'checkout_android and checkout_src_internal',
   },
 
   'src/docs/website': {
-    'url': Var('chromium_git') + '/website.git' + '@' + '3913dbd6fdde06b914d0e1119fcc884f8115e4f8',
+    'url': Var('chromium_git') + '/website.git' + '@' + 'df93358bf8ac45b0fcb8518b7984695ac1317650',
   },
 
   'src/ios/third_party/earl_grey2/src': {
@@ -2913,11 +2913,11 @@
       'dep_type': 'cipd',
   },
 
-  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@02470a3c2773a9fa236c7e8dacd72deb4b5131e3',
+  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@82483a042ab3f6847ffc571f84ebd0ebfaef9785',
   'src/third_party/glslang/src': '{chromium_git}/external/github.com/KhronosGroup/glslang@a57276bf558f5cf94d3a9854ebdf5a2236849a5a',
   'src/third_party/spirv-cross/src': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Cross@b8fcf307f1f347089e3c46eb4451d27f32ebc8d3',
   'src/third_party/spirv-headers/src': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@01e0577914a75a2569c846778c2f93aa8e6feddd',
-  'src/third_party/spirv-tools/src': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@d5d5b61e2d5ae9b98ef403b3f3f922711812888a',
+  'src/third_party/spirv-tools/src': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@5a047db98ae0ad0b0be027ced9a6afbc7f6c50e4',
   'src/third_party/vulkan-headers/src': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@a4f8ada9f4f97c45b8c89c57997be9cebaae65d2',
   'src/third_party/vulkan-loader/src': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@f703f919c30c5b67958d35d40a4297cb3823ed78',
   'src/third_party/vulkan-tools/src': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@d643b80d6ba8c191bc289fdda52867c3bb3c190b',
@@ -2965,7 +2965,7 @@
     Var('chromium_git') + '/webpagereplay.git' + '@' + Var('webpagereplay_revision'),
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + 'ed3bdab5d22d501aedf70d2ca8a6e9eab2b0ba5d',
+    Var('webrtc_git') + '/src.git' + '@' + '012486e91af958b686e4ecc7be243d2300131516',
 
   # Wuffs' canonical repository is at github.com/google/wuffs, but we use
   # Skia's mirror of Wuffs, the same as in upstream Skia's DEPS file.
@@ -3153,7 +3153,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/projector_app/app',
-        'version': 'rUTCmEf_AUepZRyzLAeG3rRQDYv1_qe-ZzqMrI8pPuwC',
+        'version': 'nqzwb5-5oOY-3S7UxP1KhBtn4T49s9j6fKLXztwDBlMC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -3746,7 +3746,7 @@
 
   'src/ios_internal':  {
       'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' +
-        'c2bcb443c61cbb7d59f64a7b49db28a580c69da0',
+        '44e85e6e4b546c8211544be6cc351647d8ae88ff',
       'condition': 'checkout_ios and checkout_src_internal',
   },
 
diff --git a/android_webview/browser/aw_client_hints_controller_delegate.cc b/android_webview/browser/aw_client_hints_controller_delegate.cc
index bc295cc1..ec653b0 100644
--- a/android_webview/browser/aw_client_hints_controller_delegate.cc
+++ b/android_webview/browser/aw_client_hints_controller_delegate.cc
@@ -42,9 +42,6 @@
 blink::UserAgentMetadata
 AwClientHintsControllerDelegate::GetUserAgentMetadataOverrideBrand(
     bool only_low_entropy_ch) {
-  // embedder_support::GetUserAgentMetadata() can accept a browser local_state
-  // PrefService argument, but doesn't need one. Either way, it shouldn't be the
-  // context_pref_service_ that this class holds.
   auto metadata = embedder_support::GetUserAgentMetadata(only_low_entropy_ch);
   std::string major_version = version_info::GetMajorVersionNumber();
 
diff --git a/android_webview/browser/aw_client_hints_controller_delegate_unittest.cc b/android_webview/browser/aw_client_hints_controller_delegate_unittest.cc
index f94df8d..3314975 100644
--- a/android_webview/browser/aw_client_hints_controller_delegate_unittest.cc
+++ b/android_webview/browser/aw_client_hints_controller_delegate_unittest.cc
@@ -107,7 +107,7 @@
   auto metadata = client_hints_controller_delegate_->GetUserAgentMetadata();
 
   // Most fields should match those from the embedder_support util function.
-  auto from_embedder = embedder_support::GetUserAgentMetadata(prefs_.get());
+  auto from_embedder = embedder_support::GetUserAgentMetadata();
 
   EXPECT_EQ(metadata.architecture, from_embedder.architecture);
   EXPECT_EQ(metadata.bitness, from_embedder.bitness);
diff --git a/base/android/linker/ashmem-dev.c b/base/android/linker/ashmem-dev.c
index 0cac8af..272f722 100644
--- a/base/android/linker/ashmem-dev.c
+++ b/base/android/linker/ashmem-dev.c
@@ -78,10 +78,10 @@
   return s_api_level;
 }
 
-static int board_api_level() {
+static int vendor_api_level() {
   static int v_api_level = -1;
   if (v_api_level < 0)
-    v_api_level = system_property_get_int("ro.board.api_level");
+    v_api_level = system_property_get_int("ro.vendor.api_level");
   return v_api_level;
 }
 
@@ -148,8 +148,9 @@
 
 // Starting with API level 26, the following functions from
 // libandroid.so should be used to create shared memory regions,
-// unless the device's SDK version is 37 or newer, in which case,
-// use memfd directly instead of the ASharedMemory API.
+// unless the device's vendor.api_level is 202604 (Android 17)
+// or newer, in which case, use memfd directly instead of
+// the ASharedMemory API.
 typedef int(*ASharedMemory_createFunc)(const char*, size_t);
 // ASharedMemory_setProtFunc() is typically invoked in conjunction with ASharedMemory_createFunc(),
 // so it's okay for setProt to implicitly assume the type of fd it needs to work with.
@@ -231,61 +232,19 @@
   return prot;
 }
 
-static bool write_seal_breaks_ro_shared_mmap() {
-  /*
-   * Until Linux kernel version 6.7, there was a bug that prevented memfds sealed with F_SEAL_WRITE
-   * from being mapped as shared and read-only:
-   *
-   * https://lore.kernel.org/all/cover.1697116581.git.lstoakes@gmail.com/T/#m28fbfb0d5727e5693e54a7fb2e0c9ac30e95eca5
-   *
-   * This bug was fixed for kernels 5.4-6.6, and this check can be removed once the SDK is
-   * finalized, since the kernels will have the fix by then.
-   */
-   bool ret = true;
-   const size_t page_size = getpagesize();
-   int fd = memfd_create_region("test-chromium-buf", page_size);
-   if (fd == -1) {
-    return true;
-   }
-
-   if (fcntl(fd, F_ADD_SEALS, F_SEAL_WRITE) == -1) {
-    LOG_E("Cannot apply F_SEAL_WRITE to memfd: %m");
-    goto out;
-   }
-
-   void *buf = mmap(NULL, page_size, PROT_READ, MAP_SHARED, fd, 0);
-   if (buf == MAP_FAILED) {
-    goto out;
-   }
-
-   ret = false;
-   munmap(buf, page_size);
-out:
-   close(fd);
-   return ret;
-}
-
-static bool use_memfd() {
-  /*
-   * When a device is using SDK version 37, ASharedMemory will allocate memfds and attempt to
-   * relabel them by using fsetxattr() to work around how SELinux handles memfds as well as
-   * compatibility issues with sepolicy for upgrading devices.
-   *
-   * fsetxattr() is not allowlisted in our seccomp filter, and allowlisting it may be unsafe.
-   * Since memfds from Chromium should be accessible with the existing sepolicy for appdomain_tmpfs
-   * files, just allocate memfds directly if the device is running Android 17.
-   *
-   * While we should just care about the device SDK version, the SDK version is not bumped up until
-   * late in the development cycle, so consider the board_api_level() as well, which is updated
-   * earlier. The board_api_level() check can be removed after SDK version 37 has been finalized.
-   */
-   return (device_api_level() >= 37 || board_api_level() >= 202604) &&
-          !write_seal_breaks_ro_shared_mmap();
-}
-
 static void ashmem_init_funcs() {
   ASharedMemoryFuncs* funcs = &s_ashmem_funcs;
-  if (use_memfd()) {
+  /*
+   * When a device conforms to the VSR for API level 202604 (Android 17),
+   * ASharedMemory will allocate memfds and attempt to relabel them by using
+   * fsetxattr() to workaround how SELinux handles memfds.
+   *
+   * fsetxattr() is not allowlisted in our seccomp filter, and allowlisting
+   * it may be unsafe. Since memfds from Chromium should be accessible with
+   * the existing sepolicy for appdomain_tmpfs files, just allocate memfds
+   * directly if the device conforms to the VSR for API level 202604.
+   */
+  if (vendor_api_level() >= 202604) {
     funcs->create = &memfd_create_region;
     funcs->setProt = &memfd_set_prot_region;
   } else {
diff --git a/base/memory_coordinator/async_memory_consumer_registration.cc b/base/memory_coordinator/async_memory_consumer_registration.cc
index 467e1b5a..da275b57 100644
--- a/base/memory_coordinator/async_memory_consumer_registration.cc
+++ b/base/memory_coordinator/async_memory_consumer_registration.cc
@@ -20,13 +20,17 @@
 
 class AsyncMemoryConsumerRegistration::MainThread : public MemoryConsumer {
  public:
-  MainThread(std::string observer_id,
-             MemoryConsumerTraits traits,
-             WeakPtr<AsyncMemoryConsumerRegistration> parent,
-             scoped_refptr<SequencedTaskRunner> consumer_task_runner)
-      : consumer_task_runner_(std::move(consumer_task_runner)),
-        parent_(std::move(parent)),
-        registration_(std::move(observer_id), traits, this) {}
+  MainThread() { DETACH_FROM_THREAD(thread_checker_); }
+
+  void Init(std::string consumer_id,
+            MemoryConsumerTraits traits,
+            WeakPtr<AsyncMemoryConsumerRegistration> parent,
+            scoped_refptr<SequencedTaskRunner> consumer_task_runner) {
+    DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+    consumer_task_runner_ = std::move(consumer_task_runner);
+    parent_ = std::move(parent);
+    registration_.emplace(consumer_id, traits, this);
+  }
 
  private:
   // MemoryConsumer:
@@ -54,7 +58,7 @@
       GUARDED_BY_CONTEXT(thread_checker_);
 
   // The registration with the MemoryConsumerRegistry.
-  ScopedMemoryConsumerRegistration registration_
+  std::optional<ScopedMemoryConsumerRegistration> registration_
       GUARDED_BY_CONTEXT(thread_checker_);
 
   THREAD_CHECKER(thread_checker_);
@@ -63,19 +67,29 @@
 // AsyncMemoryConsumerRegistration ---------------------------------------------
 
 AsyncMemoryConsumerRegistration::AsyncMemoryConsumerRegistration(
-    scoped_refptr<SingleThreadTaskRunner> main_task_runner,
     std::string_view consumer_id,
     MemoryConsumerTraits traits,
     MemoryConsumer* consumer)
     : consumer_(consumer) {
-  DCHECK(!main_task_runner->BelongsToCurrentThread());
-  main_thread_.emplace(std::move(main_task_runner), std::string(consumer_id),
-                       traits, weak_ptr_factory_.GetWeakPtr(),
-                       SequencedTaskRunner::GetCurrentDefault());
+  main_thread_task_runner_ = SingleThreadTaskRunner::GetMainThreadDefault();
+  main_thread_ = std::make_unique<MainThread>();
+  main_thread_task_runner_->PostTask(
+      FROM_HERE,
+      BindOnce(&MainThread::Init, Unretained(main_thread_.get()),
+               std::string(consumer_id), traits, weak_ptr_factory_.GetWeakPtr(),
+               SequencedTaskRunner::GetCurrentDefault()));
 }
 
 AsyncMemoryConsumerRegistration::~AsyncMemoryConsumerRegistration() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  if (main_thread_) {
+    // To ensure |main_thread_| is deleted on the correct thread, we transfer
+    // ownership to a no-op task. The object is deleted with the task, even
+    // if it's cancelled before it can run.
+    main_thread_task_runner_->PostTask(
+        FROM_HERE, BindOnce([](std::unique_ptr<MainThread> main_thread) {},
+                            std::move(main_thread_)));
+  }
 }
 
 void AsyncMemoryConsumerRegistration::NotifyUpdateMemoryLimit(int percentage) {
diff --git a/base/memory_coordinator/async_memory_consumer_registration.h b/base/memory_coordinator/async_memory_consumer_registration.h
index 4fa33b78..8e5820f0 100644
--- a/base/memory_coordinator/async_memory_consumer_registration.h
+++ b/base/memory_coordinator/async_memory_consumer_registration.h
@@ -5,6 +5,7 @@
 #ifndef BASE_MEMORY_COORDINATOR_ASYNC_MEMORY_CONSUMER_REGISTRATION_H_
 #define BASE_MEMORY_COORDINATOR_ASYNC_MEMORY_CONSUMER_REGISTRATION_H_
 
+#include <memory>
 #include <string_view>
 
 #include "base/base_export.h"
@@ -12,7 +13,6 @@
 #include "base/memory/weak_ptr.h"
 #include "base/memory_coordinator/traits.h"
 #include "base/sequence_checker.h"
-#include "base/threading/sequence_bound.h"
 
 namespace base {
 
@@ -24,7 +24,6 @@
 class BASE_EXPORT AsyncMemoryConsumerRegistration {
  public:
   AsyncMemoryConsumerRegistration(
-      scoped_refptr<SingleThreadTaskRunner> main_thread_task_runner,
       std::string_view consumer_id,
       MemoryConsumerTraits traits,
       MemoryConsumer* consumer);
@@ -39,8 +38,13 @@
   // A pointer to the actual consumer. Must outlive `this`.
   raw_ptr<MemoryConsumer> consumer_ GUARDED_BY_CONTEXT(sequence_checker_);
 
+  // Handle to the main thread's task runner. This is cached because it might no
+  // longer be registered at the time this instance is destroyed.
+  scoped_refptr<SingleThreadTaskRunner> main_thread_task_runner_;
+
   // Parts of this class that lives on the main thread.
-  SequenceBound<MainThread> main_thread_ GUARDED_BY_CONTEXT(sequence_checker_);
+  std::unique_ptr<MainThread> main_thread_
+      GUARDED_BY_CONTEXT(sequence_checker_);
 
   SEQUENCE_CHECKER(sequence_checker_);
 
diff --git a/base/memory_coordinator/async_memory_consumer_registration_unittest.cc b/base/memory_coordinator/async_memory_consumer_registration_unittest.cc
index 61bfb3f..52e165f 100644
--- a/base/memory_coordinator/async_memory_consumer_registration_unittest.cc
+++ b/base/memory_coordinator/async_memory_consumer_registration_unittest.cc
@@ -15,6 +15,7 @@
 #include "base/test/gmock_callback_support.h"
 #include "base/test/run_until.h"
 #include "base/test/task_environment.h"
+#include "base/threading/sequence_bound.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -24,14 +25,9 @@
 
 class TestAsyncMemoryConsumer : public MemoryConsumer {
  public:
-  explicit TestAsyncMemoryConsumer(
-      scoped_refptr<SingleThreadTaskRunner> main_task_runner,
-      std::string_view consumer_id,
-      MemoryConsumerTraits traits)
-      : async_memory_consumer_registration_(std::move(main_task_runner),
-                                            consumer_id,
-                                            traits,
-                                            this) {}
+  explicit TestAsyncMemoryConsumer(std::string_view consumer_id,
+                                   MemoryConsumerTraits traits)
+      : async_memory_consumer_registration_(consumer_id, traits, this) {}
 
   MOCK_METHOD(void, OnUpdateMemoryLimit, (), (override));
   MOCK_METHOD(void, OnReleaseMemory, (), (override));
@@ -61,10 +57,9 @@
   TestMemoryConsumerRegistry registry;
 
   auto async_task_runner = ThreadPool::CreateSequencedTaskRunner({});
-  auto main_task_runner = SingleThreadTaskRunner::GetCurrentDefault();
 
-  SequenceBound<TestAsyncMemoryConsumer> consumer(
-      async_task_runner, main_task_runner, "consumer", MemoryConsumerTraits{});
+  SequenceBound<TestAsyncMemoryConsumer> consumer(async_task_runner, "consumer",
+                                                  MemoryConsumerTraits{});
 
   ASSERT_TRUE(test::RunUntil([&]() { return registry.size() == 1u; }));
 
diff --git a/base/memory_coordinator/memory_consumer.cc b/base/memory_coordinator/memory_consumer.cc
index b0b0e6fc..66ac91e 100644
--- a/base/memory_coordinator/memory_consumer.cc
+++ b/base/memory_coordinator/memory_consumer.cc
@@ -11,6 +11,10 @@
 
 // MemoryConsumer ---------------------------------------------------
 
+MemoryConsumer::MemoryConsumer() {
+  DETACH_FROM_SEQUENCE(sequence_checker_);
+}
+
 void MemoryConsumer::ReleaseMemory() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   OnReleaseMemory();
diff --git a/base/memory_coordinator/memory_consumer.h b/base/memory_coordinator/memory_consumer.h
index 136d4b80..c46f086 100644
--- a/base/memory_coordinator/memory_consumer.h
+++ b/base/memory_coordinator/memory_consumer.h
@@ -69,6 +69,7 @@
 //
 class BASE_EXPORT MemoryConsumer {
  public:
+  MemoryConsumer();
   virtual ~MemoryConsumer() = default;
 
   // The memory limit, expressed as a percentage.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/TabStateStore.java b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/TabStateStore.java
index 5ee8fcf..58eaed09 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/TabStateStore.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/tabmodel/TabStateStore.java
@@ -12,7 +12,6 @@
 import org.chromium.base.Token;
 import org.chromium.build.annotations.NullMarked;
 import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.browser.tab.TabAssociatedApp;
 import org.chromium.chrome.browser.tab.TabState;
 import org.chromium.chrome.browser.tab.TabStateAttributes;
 import org.chromium.chrome.browser.tab.TabStateAttributes.DirtinessState;
@@ -100,22 +99,7 @@
     }
 
     private void saveTab(Tab tab) {
-        WebContentsState state = tab.getWebContentsState();
-        mTabStateStorageService.saveTabData(
-                tab.getId(),
-                tab.getParentId(),
-                tab.getRootId(),
-                tab.getTimestampMillis(),
-                state == null ? null : state.buffer(),
-                state == null ? 0 : state.version(),
-                assumeNonNull(TabAssociatedApp.getAppId(tab)),
-                tab.getThemeColor(),
-                tab.getTabLaunchTypeAtCreation(),
-                tab.getUserAgent(),
-                tab.getLastNavigationCommittedTimestampMillis(),
-                tab.getTabGroupId(),
-                tab.getTabHasSensitiveContent(),
-                tab.getIsPinned());
+        mTabStateStorageService.saveTabData(tab);
     }
 
     private void onTabRegistered(Tab tab) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
index 58e3e242..0fd6e64 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
@@ -785,8 +785,8 @@
                                 IntentUtils.addTrustedIntentExtras(fullHistoryIntent);
                                 mActivity.startActivity(fullHistoryIntent);
                             },
-                            this::setHeaderAsOverlay);
-            mBrowserControlsManager.addObserver(mWebAppHeaderLayoutCoordinator);
+                            this::setHeaderAsOverlay,
+                            mBrowserControlsManager);
         }
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCollectionTabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCollectionTabModelImpl.java
index 95fccf1d..4b72e7cb 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCollectionTabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabCollectionTabModelImpl.java
@@ -1729,6 +1729,12 @@
         int currentIndex = indexOf(tab);
         if (currentIndex == TabList.INVALID_TAB_INDEX) return;
 
+        if (isPinned) {
+            recordPinTimestamp(tab);
+        } else {
+            recordPinnedDuration(tab);
+        }
+
         // The C++ side will adjust to a valid index.
         moveTabInternal(
                 tab,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
index 23059505..ba8cba5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelImpl.java
@@ -422,6 +422,7 @@
         // miscount groups, and hit an out-of-bounds.
         notifyWillChangeInPinState(tab);
         tab.setIsPinned(true);
+        recordPinTimestamp(tab);
         moveTab(tab.getId(), availableIndex);
         notifyDidChangeInPinState(tab);
     }
@@ -441,6 +442,7 @@
 
         notifyWillChangeInPinState(tab);
         tab.setIsPinned(false);
+        recordPinnedDuration(tab);
         notifyDidChangeInPinState(tab);
     }
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelImplTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelImplTest.java
index 2fc78c9..98c5c30 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelImplTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/TabModelImplTest.java
@@ -41,6 +41,7 @@
 import org.chromium.base.test.util.DisabledTest;
 import org.chromium.base.test.util.Features.DisableFeatures;
 import org.chromium.base.test.util.Features.EnableFeatures;
+import org.chromium.base.test.util.HistogramWatcher;
 import org.chromium.base.test.util.RequiresRestart;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
@@ -786,6 +787,7 @@
     @Test
     @SmallTest
     @DisabledTest(message = "crbug.com/447152102")
+    @EnableFeatures(ChromeFeatureList.ANDROID_PINNED_TABS)
     public void testAddTab_CurrentTabPinned() {
         createTabs(4);
 
@@ -1770,6 +1772,75 @@
                 });
     }
 
+    @Test
+    @SmallTest
+    @EnableFeatures(ChromeFeatureList.ANDROID_PINNED_TABS)
+    public void restoreMultiplePinnedTabs_OrderIsPreserved() {
+        createTabs(4); // Creates 5 tabs in total (including the initial one)
+
+        ThreadUtils.runOnUiThreadBlocking(
+                () -> {
+                    TabModel tabModel =
+                            mActivityTestRule.getActivity().getTabModelSelector().getModel(false);
+                    assertEquals(5, tabModel.getCount());
+
+                    Tab tab1 = tabModel.getTabAt(1);
+                    Tab tab2 = tabModel.getTabAt(2);
+                    Tab tab3 = tabModel.getTabAt(3);
+
+                    tabModel.pinTab(tab1.getId());
+                    tabModel.pinTab(tab2.getId());
+                    tabModel.pinTab(tab3.getId());
+
+                    assertEquals(0, tabModel.indexOf(tab1));
+                    assertEquals(1, tabModel.indexOf(tab2));
+                    assertEquals(2, tabModel.indexOf(tab3));
+
+                    // Remove the pinned tabs
+                    tabModel.getTabRemover().removeTab(tab1, false);
+                    tabModel.getTabRemover().removeTab(tab2, false);
+                    tabModel.getTabRemover().removeTab(tab3, false);
+
+                    assertEquals(2, tabModel.getCount());
+
+                    // Restore the tabs in the same order
+                    tabModel.addTab(
+                            tab1,
+                            0,
+                            TabLaunchType.FROM_RESTORE,
+                            TabCreationState.FROZEN_ON_RESTORE);
+                    tabModel.addTab(
+                            tab2,
+                            1,
+                            TabLaunchType.FROM_RESTORE,
+                            TabCreationState.FROZEN_ON_RESTORE);
+                    tabModel.addTab(
+                            tab3,
+                            2,
+                            TabLaunchType.FROM_RESTORE,
+                            TabCreationState.FROZEN_ON_RESTORE);
+
+                    assertEquals(5, tabModel.getCount());
+                    assertEquals(
+                            "Tab 1 should be restored to its original pinned index.",
+                            0,
+                            tabModel.indexOf(tab1));
+                    assertEquals(
+                            "Tab 2 should be restored to its original pinned index.",
+                            1,
+                            tabModel.indexOf(tab2));
+                    assertEquals(
+                            "Tab 3 should be restored to its original pinned index.",
+                            2,
+                            tabModel.indexOf(tab3));
+
+                    // Cleanup
+                    tabModel.unpinTab(tab1.getId());
+                    tabModel.unpinTab(tab2.getId());
+                    tabModel.unpinTab(tab3.getId());
+                });
+    }
+
     private void assertMoveTabToIndex(
             int oldIndex, int newIndex, int expectedIndex, boolean movingInsideGroup) {
         Tab oldIndexTab = mTabModelJni.getTabAt(oldIndex);
@@ -1893,4 +1964,33 @@
     private void printTab(StringBuilder sb, Tab tab, int index) {
         sb.append(index).append(": ").append(tab.getId()).append(",\n");
     }
+
+    @Test
+    @SmallTest
+    @EnableFeatures({
+        ChromeFeatureList.ANDROID_PINNED_TABS,
+        ChromeFeatureList.ANDROID_PINNED_TABS_TABLET_TAB_STRIP
+    })
+    public void testPinUnpinTab_RecordsHistogram() {
+        createTabs(2);
+
+        ThreadUtils.runOnUiThreadBlocking(
+                () -> {
+                    TabModel tabModel =
+                            mActivityTestRule.getActivity().getTabModelSelector().getModel(false);
+                    Tab tabUnderInvestigation = tabModel.getTabAt(0);
+
+                    HistogramWatcher histogram =
+                            HistogramWatcher.newBuilder()
+                                    .expectAnyRecord("Tab.PinnedDuration")
+                                    .build();
+
+                    // Pin and unpin the tab.
+                    tabModel.pinTab(tabUnderInvestigation.getId());
+                    tabModel.unpinTab(tabUnderInvestigation.getId());
+
+                    // Verify that the histogram was recorded.
+                    histogram.assertExpected();
+                });
+    }
 }
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
index 1c7e33c..18bed72d 100644
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -504,15 +504,9 @@
   <message name="IDS_SETTINGS_PAYMENTS_MANAGE_CREDIT_CARDS" desc="Shown in the payments section of settings. Descriptive text to inform the user that credit cards can be accessed online. Has a link.">
    To add or manage Google Pay payment methods, visit your <ph name="BEGIN_LINK">&lt;a href="$1" target="_blank"&gt;</ph>Google Account<ph name="END_LINK">&lt;/a&gt;</ph>
   </message>
-  <message name="IDS_SETTINGS_GOOGLE_WALLET" desc="Label used to differentiate when an Autofill AI entity (such as vehicle information) is stored in Google Wallet.">
-    Google Wallet
-  </message>
   <message name="IDS_SETTINGS_PAYMENTS_MANAGE_LOYALTY_CARDS_AND_PAYMENT_METHODS" desc="Shown in the payments section of settings. Descriptive text to inform the user that payment methods and loyalty cards can be accessed via link. Google Wallet should not be translated because it is the product name. Has two links that opens different pages on Google Wallet.">
    Visit Google Wallet to add or manage <ph name="BEGIN_LINK_LOYALTY_CARDS">&lt;a href="$1" target="_blank"&gt;</ph>loyalty cards<ph name="END_LINK_LOYALTY_CARDS">&lt;/a&gt;</ph> or Google Pay <ph name="BEGIN_LINK_PAYMENT_METHODS">&lt;a href="$2" target="_blank"&gt;</ph>payment methods<ph name="END_LINK_PAYMENT_METHODS">&lt;/a&gt;</ph>
   </message>
-  <message name="IDS_SETTINGS_REMOTE_WALLET_PASSES_LINK_LABEL" desc="The title and ARIA (accessibility) label for a link in Chrome settings that opens the payment methods settings on https://wallet.google.com/wallet/passes. Note that the ARIA role and the link icon already convey that this is a link that will be opened when you click on it. Therefore, the message does not contain a verb.">
-    Your Google Wallet passes
-  </message>
   <message name="IDS_SETTINGS_PAYMENTS_SAVED_TO_THIS_DEVICE_ONLY" desc="Shown in the payments section of settings. Descriptive text to inform the user that this credit card will be saved to local device only.">
    This card will be saved to this device only
   </message>
diff --git a/chrome/app/settings_strings_grdp/IDS_SETTINGS_GOOGLE_WALLET.png.sha1 b/chrome/app/settings_strings_grdp/IDS_SETTINGS_GOOGLE_WALLET.png.sha1
deleted file mode 100644
index 1492f91e..0000000
--- a/chrome/app/settings_strings_grdp/IDS_SETTINGS_GOOGLE_WALLET.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-0a26d42c172f4174e4f7ee1515f703b616e58e9a
\ No newline at end of file
diff --git a/chrome/app/settings_strings_grdp/IDS_SETTINGS_REMOTE_WALLET_PASSES_LINK_LABEL.png.sha1 b/chrome/app/settings_strings_grdp/IDS_SETTINGS_REMOTE_WALLET_PASSES_LINK_LABEL.png.sha1
deleted file mode 100644
index 90ae565..0000000
--- a/chrome/app/settings_strings_grdp/IDS_SETTINGS_REMOTE_WALLET_PASSES_LINK_LABEL.png.sha1
+++ /dev/null
@@ -1 +0,0 @@
-a194615ac3759288cc57034d970319618ddead68
\ No newline at end of file
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 41c976f7..0155220a 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -7775,6 +7775,11 @@
         FEATURE_VALUE_TYPE(blink::features::kZeroCopyTabCapture),
     },
 
+    {"exclude-pip-from-screen-capture",
+     flag_descriptions::kExcludePipFromScreenCaptureName,
+     flag_descriptions::kExcludePipFromScreenCaptureDescription, kOsAll,
+     FEATURE_VALUE_TYPE(features::kExcludePipFromScreenCapture)},
+
 #if BUILDFLAG(ENABLE_PDF)
     {"accessible-pdf-form", flag_descriptions::kAccessiblePDFFormName,
      flag_descriptions::kAccessiblePDFFormDescription, kOsDesktop,
diff --git a/chrome/browser/actor/tools/attempt_login_tool.cc b/chrome/browser/actor/tools/attempt_login_tool.cc
index 68772a1..47acb5b2 100644
--- a/chrome/browser/actor/tools/attempt_login_tool.cc
+++ b/chrome/browser/actor/tools/attempt_login_tool.cc
@@ -58,8 +58,7 @@
     case actor_login::LoginStatusResult::kErrorNoFillableFields:
       return mojom::ActionResultCode::kLoginNoFillableFields;
     case actor_login::LoginStatusResult::kErrorFillingNotAllowed:
-      // TODO(crbug.com/427817201): Replace with a specific error code.
-      return mojom::ActionResultCode::kError;
+      return mojom::ActionResultCode::kLoginFillingNotAllowed;
   }
 }
 
@@ -90,12 +89,15 @@
     return;
   }
 
+  content::RenderFrameHost* main_rfh =
+      tab->GetContents()->GetPrimaryMainFrame();
+  main_rfh_token_ = main_rfh->GetGlobalFrameToken();
+
   invoke_callback_ = std::move(callback);
 
   // First check if there is a user selected credential for the current request
   // origin. If so, use it immediately.
-  const url::Origin& current_origin =
-      tab->GetContents()->GetPrimaryMainFrame()->GetLastCommittedOrigin();
+  const url::Origin& current_origin = main_rfh->GetLastCommittedOrigin();
   const std::optional<actor_login::Credential> user_selected_credential =
       tool_delegate().GetUserSelectedCredential(current_origin);
   if (user_selected_credential.has_value()) {
@@ -257,6 +259,17 @@
                      MakeResult(mojom::ActionResultCode::kTabWentAway));
     return;
   }
+
+  if (main_rfh_token_ !=
+      tab->GetContents()->GetPrimaryMainFrame()->GetGlobalFrameToken()) {
+    // Don't proceed with the login attempt, if the page changed while we were
+    // waiting for credential selection.
+    PostResponseTask(
+        std::move(invoke_callback_),
+        MakeResult(mojom::ActionResultCode::kLoginPageChangedDuringSelection));
+    return;
+  }
+
   GetActorLoginService().AttemptLogin(
       tab, *selected_credential,
       base::BindOnce(&AttemptLoginTool::OnAttemptLogin,
diff --git a/chrome/browser/actor/tools/attempt_login_tool.h b/chrome/browser/actor/tools/attempt_login_tool.h
index 7a3d2bf..aa3b3c6 100644
--- a/chrome/browser/actor/tools/attempt_login_tool.h
+++ b/chrome/browser/actor/tools/attempt_login_tool.h
@@ -72,6 +72,10 @@
 
   tabs::TabHandle tab_handle_;
 
+  // Set on invocation. Used to check if the document changed during credential
+  // selection.
+  content::GlobalRenderFrameHostToken main_rfh_token_;
+
   InvokeCallback invoke_callback_;
 
   base::WeakPtrFactory<AttemptLoginTool> weak_ptr_factory_{this};
diff --git a/chrome/browser/actor/tools/attempt_login_tool_browsertest.cc b/chrome/browser/actor/tools/attempt_login_tool_browsertest.cc
index f5f78c47..03a30e2 100644
--- a/chrome/browser/actor/tools/attempt_login_tool_browsertest.cc
+++ b/chrome/browser/actor/tools/attempt_login_tool_browsertest.cc
@@ -347,7 +347,7 @@
   std::unique_ptr<ToolRequest> action = MakeAttemptLoginRequest(*active_tab());
   ActResultFuture result;
   actor_task().Act(ToRequestList(action), result.GetCallback());
-  ExpectErrorResult(result, mojom::ActionResultCode::kError);
+  ExpectErrorResult(result, mojom::ActionResultCode::kLoginFillingNotAllowed);
 }
 
 IN_PROC_BROWSER_TEST_P(ActorAttemptLoginToolTest, FailedAttemptLogin) {
@@ -464,6 +464,44 @@
             mock_login_service().last_credential_used()->username);
 }
 
+// If a navigation occurs during credential selection, do not proceed with the
+// login attempt and return an error instead.
+IN_PROC_BROWSER_TEST_P(ActorAttemptLoginToolTest,
+                       NavigationWhileRequestingCredential) {
+  const GURL url =
+      embedded_https_test_server().GetURL("example.com", "/actor/blank.html");
+  const GURL url2 = embedded_https_test_server().GetURL("other.example.com",
+                                                        "/actor/blank.html");
+  ASSERT_TRUE(content::NavigateToURL(web_contents(), url));
+
+  mock_login_service().SetCredential(MakeTestCredential(
+      u"username", url, /*immediately_available_to_login=*/true));
+  mock_login_service().SetLoginStatus(
+      actor_login::LoginStatusResult::kSuccessUsernameAndPasswordFilled);
+
+  base::test::TestFuture<base::OnceClosure> select_creds;
+  EXPECT_CALL(mock_execution_engine(), PromptToSelectCredential(_, _, _))
+      .WillOnce([this, &select_creds](
+                    const std::vector<actor_login::Credential>& credentials,
+                    const MockExecutionEngine::IconMap&,
+                    ToolDelegate::CredentialSelectedCallback callback) {
+        select_creds.SetValue(base::BindOnce(
+            std::move(callback), MakeSelectCredentialDialogResponse(
+                                     actor_task().id(), credentials[0].id)));
+      });
+
+  std::unique_ptr<ToolRequest> action = MakeAttemptLoginRequest(*active_tab());
+  ActResultFuture result;
+  actor_task().Act(ToRequestList(action), result.GetCallback());
+
+  ASSERT_TRUE(select_creds.Wait());
+  ASSERT_TRUE(content::NavigateToURL(web_contents(), url2));
+
+  select_creds.Take().Run();
+  ExpectErrorResult(result,
+                    mojom::ActionResultCode::kLoginPageChangedDuringSelection);
+}
+
 class ActorAttemptLoginToolTestWithFaviconService
     : public ActorAttemptLoginToolTest {
  public:
diff --git a/chrome/browser/ash/accessibility/accessibility_manager.cc b/chrome/browser/ash/accessibility/accessibility_manager.cc
index aaea4ae..03f9b13 100644
--- a/chrome/browser/ash/accessibility/accessibility_manager.cc
+++ b/chrome/browser/ash/accessibility/accessibility_manager.cc
@@ -25,6 +25,7 @@
 #include "ash/root_window_controller.h"
 #include "ash/shell.h"
 #include "ash/webui/settings/public/constants/routes_util.h"
+#include "base/check_deref.h"
 #include "base/command_line.h"
 #include "base/containers/flat_map.h"
 #include "base/files/file_util.h"
@@ -422,9 +423,9 @@
 // AccessibilityManager
 
 // static
-void AccessibilityManager::Initialize() {
+void AccessibilityManager::Initialize(PrefService* local_state) {
   CHECK(g_accessibility_manager == nullptr);
-  g_accessibility_manager = new AccessibilityManager();
+  g_accessibility_manager = new AccessibilityManager(local_state);
 }
 
 // static
@@ -445,7 +446,8 @@
                    GURL(chrome::kChromeAccessibilityHelpURL));
 }
 
-AccessibilityManager::AccessibilityManager() {
+AccessibilityManager::AccessibilityManager(PrefService* local_state)
+    : local_state_(CHECK_DEREF(local_state)) {
   session_observation_.Observe(session_manager::SessionManager::Get());
 
   on_app_terminating_subscription_ =
@@ -798,7 +800,7 @@
       prefs::kAccessibilitySpokenFeedbackEnabled);
 
   if (IsUserBrowserContext(profile_)) {
-    user_manager::KnownUser known_user(g_browser_process->local_state());
+    user_manager::KnownUser known_user(&local_state_.get());
     known_user.SetBooleanPref(
         multi_user_util::GetAccountIdFromProfile(profile_),
         kUserSpokenFeedbackEnabled, enabled);
@@ -1326,7 +1328,7 @@
     // push back SODA deletion each time start-up occurs with dictation
     // disabled.
     speech::SodaInstaller::GetInstance()->SetUninstallTimer(
-        g_browser_process->local_state(),
+        &local_state_.get(),
         pref_service->GetString(prefs::kAccessibilityDictationLocale));
   }
 
@@ -1696,7 +1698,7 @@
     return;
   }
 
-  user_manager::KnownUser known_user(g_browser_process->local_state());
+  user_manager::KnownUser known_user(&local_state_.get());
   const auto account_ids = known_user.GetKnownAccountIds();
   for (const auto& account_id : account_ids) {
     if (known_user.FindBoolPath(account_id, kUserSpokenFeedbackEnabled)
@@ -1826,7 +1828,7 @@
 
     local_state_pref_change_registrar_ =
         std::make_unique<PrefChangeRegistrar>();
-    local_state_pref_change_registrar_->Init(g_browser_process->local_state());
+    local_state_pref_change_registrar_->Init(&local_state_.get());
     local_state_pref_change_registrar_->Add(
         language::prefs::kApplicationLocale,
         base::BindRepeating(&AccessibilityManager::OnLocaleChanged,
@@ -2514,7 +2516,7 @@
   if (user_list.empty())
     return false;
 
-  user_manager::KnownUser known_user(g_browser_process->local_state());
+  user_manager::KnownUser known_user(&local_state_.get());
   // |user_list| is sorted by last log in date. Take the most recent user to
   // log in.
   return known_user
@@ -2526,7 +2528,7 @@
   if (!profile_)
     return;
 
-  user_manager::KnownUser known_user(g_browser_process->local_state());
+  user_manager::KnownUser known_user(&local_state_.get());
   known_user.SetBooleanPref(multi_user_util::GetAccountIdFromProfile(profile_),
                             kUserStartupSoundEnabled, value);
 }
@@ -2542,7 +2544,7 @@
   if (user_list.empty())
     return std::string();
 
-  user_manager::KnownUser known_user(g_browser_process->local_state());
+  user_manager::KnownUser known_user(&local_state_.get());
   // |user_list| is sorted by last log in date. Take the most recent user to
   // log in.
   const std::string* val = known_user.FindStringPath(
@@ -2556,7 +2558,7 @@
   if (!profile_)
     return;
 
-  user_manager::KnownUser known_user(g_browser_process->local_state());
+  user_manager::KnownUser known_user(&local_state_.get());
   known_user.SetStringPref(multi_user_util::GetAccountIdFromProfile(profile_),
                            kUserBluetoothBrailleDisplayAddress, address);
   RestartBrltty(address);
@@ -2821,12 +2823,12 @@
 
   if (!soda_observation_.IsObservingSource(soda_installer))
     soda_observation_.Observe(soda_installer);
-  soda_installer->Init(profile_->GetPrefs(), g_browser_process->local_state());
+  soda_installer->Init(profile_->GetPrefs(), &local_state_.get());
 
   // If the installer was already initialized the language code might not have
   // started installing. Try again.
   if (!soda_installer->IsSodaDownloading(language_code))
-    soda_installer->InstallLanguage(locale, g_browser_process->local_state());
+    soda_installer->InstallLanguage(locale, &local_state_.get());
 
   // Reset whether failed notification was shown. This ensures it is only shown
   // at most once per download attempt.
diff --git a/chrome/browser/ash/accessibility/accessibility_manager.h b/chrome/browser/ash/accessibility/accessibility_manager.h
index 2e6662d..2626569 100644
--- a/chrome/browser/ash/accessibility/accessibility_manager.h
+++ b/chrome/browser/ash/accessibility/accessibility_manager.h
@@ -48,6 +48,8 @@
 #include "ui/events/keycodes/keyboard_codes.h"
 #include "ui/wm/core/coordinate_conversion.h"
 
+class PrefService;
+
 namespace content {
 struct FocusedNodeDetails;
 }  // namespace content
@@ -146,7 +148,7 @@
 
   // Creates an instance of AccessibilityManager, this should be called once,
   // because only one instance should exist at the same time.
-  static void Initialize();
+  static void Initialize(PrefService* local_state);
   // Deletes the existing instance of AccessibilityManager.
   static void Shutdown();
   // Returns the existing instance. If there is no instance, returns NULL.
@@ -539,7 +541,8 @@
   void LoadEnhancedNetworkTtsForTest();
 
  protected:
-  AccessibilityManager();
+  // `local_state` must be non-null, and must outlive `this`.
+  explicit AccessibilityManager(PrefService* local_state);
   ~AccessibilityManager() override;
 
  private:
@@ -678,6 +681,8 @@
 
   bool spoken_feedback_enabled() const { return bool(screen_reader_mode_); }
 
+  const raw_ref<PrefService> local_state_;
+
   // Profile which has the current a11y context.
   raw_ptr<Profile> profile_ = nullptr;
   base::ScopedObservation<Profile, ProfileObserver> profile_observation_{this};
diff --git a/chrome/browser/ash/accessibility/spoken_feedback_browsertest.cc b/chrome/browser/ash/accessibility/spoken_feedback_browsertest.cc
index 046b4f0..f276c22d 100644
--- a/chrome/browser/ash/accessibility/spoken_feedback_browsertest.cc
+++ b/chrome/browser/ash/accessibility/spoken_feedback_browsertest.cc
@@ -789,6 +789,18 @@
     ::testing::Values(SpokenFeedbackTestConfig(ManifestVersion::kTwo,
                                                kTestAsGuestUser)));
 
+INSTANTIATE_TEST_SUITE_P(
+    ManifestV3NormalUser,
+    SpokenFeedbackTest,
+    ::testing::Values(SpokenFeedbackTestConfig(ManifestVersion::kThree,
+                                               kTestAsNormalUser)));
+
+INSTANTIATE_TEST_SUITE_P(
+    ManifestV3GuestUser,
+    SpokenFeedbackTest,
+    ::testing::Values(SpokenFeedbackTestConfig(ManifestVersion::kThree,
+                                               kTestAsGuestUser)));
+
 IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, EnableSpokenFeedback) {
   chromevox_test_utils()->EnableChromeVox();
   sm()->Replay();
diff --git a/chrome/browser/ash/arc/arc_util.cc b/chrome/browser/ash/arc/arc_util.cc
index 4fea2284..b547e9c 100644
--- a/chrome/browser/ash/arc/arc_util.cc
+++ b/chrome/browser/ash/arc/arc_util.cc
@@ -856,8 +856,7 @@
       embedder_support::BuildUserAgentFromOSAndProduct(kOsOverrideForTabletSite,
                                                        product);
 
-  ua_override.ua_metadata_override =
-      embedder_support::GetUserAgentMetadata(g_browser_process->local_state());
+  ua_override.ua_metadata_override = embedder_support::GetUserAgentMetadata();
   ua_override.ua_metadata_override->platform = "Android";
   ua_override.ua_metadata_override->platform_version = "9";
   ua_override.ua_metadata_override->model = "Chrome tablet";
diff --git a/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc b/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
index f7772c3..b616a02e 100644
--- a/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
+++ b/chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.cc
@@ -988,7 +988,7 @@
   // |arc_service_launcher_| must be initialized before NoteTakingHelper.
   NoteTakingHelper::Initialize();
 
-  AccessibilityManager::Initialize();
+  AccessibilityManager::Initialize(g_browser_process->local_state());
 
   // Initialize magnification manager before ash tray is created. And this
   // must be placed after UserManager initialization.
diff --git a/chrome/browser/autofill/autofill_across_iframes_browsertest.cc b/chrome/browser/autofill/autofill_across_iframes_browsertest.cc
index 23c9770..7ea93e04 100644
--- a/chrome/browser/autofill/autofill_across_iframes_browsertest.cc
+++ b/chrome/browser/autofill/autofill_across_iframes_browsertest.cc
@@ -904,74 +904,5 @@
                                     HasValue(kExp), HasValue(kCvc)))));
 }
 
-// Test fixture for a case where on load each iframe contains a full credit card
-// form (cc-name, cc-number, cc-exp, cc-csc), but then after load the fields are
-// removed such that the remaining form contains a credit card form in which
-// each field type exists only once.
-// This is an integration test for b:245749889.
-class AutofillAcrossIframesTest_FullIframes
-    : public AutofillAcrossIframesTest_SubmissionBase {
- public:
-  [[nodiscard]] const FormStructure* LoadForm() {
-    SetUrlContent("/iframe.html", R"(
-        <div>
-        <form>
-        <input autocomplete=cc-name>
-        <input autocomplete=cc-number>
-        <input autocomplete=cc-exp>
-        <input autocomplete=cc-csc>
-        </form>
-        <div>
-        <script>
-          function deleteAllInputsButIndex(idx) {
-            const fields = [...document.getElementsByTagName('INPUT')];
-            for (let i = 0; i < fields.length; ++i) {
-              if (i != idx) {
-                fields[i].parentNode.removeChild(fields[i]);
-              }
-            }
-          }
-          function deleteForm() {
-            document.getElementsByTagName('FORM')[0].remove();
-          }
-          function deleteParentOfForm() {
-            document.getElementsByTagName('DIV')[0].remove();
-          }
-        </script>)");
-    SetUrlContent("/submit.html", "<h1>Submitted</h1>");
-    SetUrlContent("/", R"(
-        <script>
-          function removeFields() {
-            for (let i = 0; i < 4; ++i) {
-              document.getElementsByTagName("IFRAME")[i]
-                  .contentWindow
-                  .deleteAllInputsButIndex(i);
-            }
-          }
-        </script>
-        <form method=GET action=submit.html>
-        <iframe src="iframe.html"></iframe>
-        <iframe src="iframe.html"></iframe>
-        <iframe src="iframe.html"></iframe>
-        <iframe src="iframe.html"></iframe>
-        </form>)");
-    return NavigateToUrl("/", /*num_fields=*/4 * 4);
-  }
-
-  [[nodiscard]] const FormStructure* FormAfterRemovalOfExtraFields() {
-    // A core part of this test is in the following lines: We check that after
-    // removing fields, the BrowserAutofillAgent learns about that.
-    if (!content::ExecJs(web_contents(), "removeFields();")) {
-      ADD_FAILURE() << "Failed to call removeFields();";
-      return nullptr;
-    }
-    return GetOrWaitForFormWithFocusableFields(
-        /*num_fields=*/4);
-  }
-
- private:
-  base::test::ScopedFeatureList feature_list_;
-};
-
 }  // namespace
 }  // namespace autofill
diff --git a/chrome/browser/chrome_browser_field_trials.cc b/chrome/browser/chrome_browser_field_trials.cc
index a846508..247eeacc 100644
--- a/chrome/browser/chrome_browser_field_trials.cc
+++ b/chrome/browser/chrome_browser_field_trials.cc
@@ -222,6 +222,9 @@
   // TODO(crbug.com/427242080): Remove when tablet rollout is complete.
   feature_overrides.EnableFeature(
       chrome::android::kAndroidPinnedTabsTabletTabStrip);
+  // TODO(crbug.com/433879656): Remove when this feature on LFF device is
+  // stable.
+  feature_overrides.EnableFeature(features::kFluidResize);
 #endif  // BUILDFLAG(IS_DESKTOP_ANDROID)
   // Desktop-first features which are past incubation should either end up here,
   // or to a finch trial that enables it for all form factors.
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 8ff652b..d9d5119 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -212,6 +212,7 @@
 #include "chrome/common/webui_url_constants.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/installer/util/google_update_settings.h"
+#include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_switches.h"
 #include "components/blocked_content/popup_blocker.h"
 #include "components/browsing_topics/browsing_topics_service.h"
@@ -7032,6 +7033,23 @@
                                  chrome::kChromeUIHelpHost);
   }
 
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+    BUILDFLAG(IS_CHROMEOS)
+
+  // Rewrite chrome://settings/autofill to chrome://settings/yourSavedInfo.
+  if (url->SchemeIs(content::kChromeUIScheme) &&
+      url->host() == chrome::kChromeUISettingsHost &&
+      url->path() == chrome::kChromeUIAutofillPath &&
+      base::FeatureList::IsEnabled(
+          autofill::features::kYourSavedInfoSettingsPage)) {
+    GURL::Replacements replacements;
+    replacements.SetPathStr(chrome::kChromeUIYourSavedInfoPath);
+    *url = url->ReplaceComponents(replacements);
+  }
+
+#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+        // BUILDFLAG(IS_CHROMEOS)
+
 #if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI)
   if (url->SchemeIs(content::kChromeUIScheme) &&
       url->host() == chrome::kChromeUISettingsHost &&
@@ -7355,8 +7373,7 @@
 
 blink::UserAgentMetadata ChromeContentBrowserClient::GetUserAgentMetadata() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  return embedder_support::GetUserAgentMetadata(
-      g_browser_process->local_state());
+  return embedder_support::GetUserAgentMetadata();
 }
 
 std::optional<gfx::ImageSkia> ChromeContentBrowserClient::GetProductLogo() {
diff --git a/chrome/browser/chrome_content_browser_client_unittest.cc b/chrome/browser/chrome_content_browser_client_unittest.cc
index f85713a..371ab4a 100644
--- a/chrome/browser/chrome_content_browser_client_unittest.cc
+++ b/chrome/browser/chrome_content_browser_client_unittest.cc
@@ -49,6 +49,7 @@
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
+#include "components/autofill/core/common/autofill_features.h"
 #include "components/browsing_data/content/browsing_data_helper.h"
 #include "components/captive_portal/core/buildflags.h"
 #include "components/content_settings/core/browser/cookie_settings.h"
@@ -1135,6 +1136,24 @@
 }
 #endif  // BUILDFLAG(IS_CHROMEOS)
 
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
+    BUILDFLAG(IS_CHROMEOS)
+
+TEST_F(ChromeContentSettingsRedirectTest, RedirectAutofillURL) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      autofill::features::kYourSavedInfoSettingsPage);
+
+  TestChromeContentBrowserClient test_content_browser_client;
+  const GURL help_url("chrome://settings/autofill");
+  GURL dest_url = help_url;
+  test_content_browser_client.HandleWebUI(&dest_url, &profile_);
+  EXPECT_EQ(GURL("chrome://settings/yourSavedInfo"), dest_url);
+}
+
+#endif  // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ||
+        // BUILDFLAG(IS_CHROMEOS)
+
 class CaptivePortalCheckNetworkContext final
     : public network::TestNetworkContext {
  public:
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc b/chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc
index 6adb517..7292f139 100644
--- a/chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_ai_util.cc
@@ -88,9 +88,6 @@
         base::UTF16ToUTF8(entity_instance.type().GetNameForI18n());
     entity_instance_with_labels.entity_instance_sub_label = base::UTF16ToUTF8(
         base::JoinString(labels_for_entities[i], autofill::kLabelSeparator));
-    entity_instance_with_labels.stored_in_wallet =
-        entity_instance.record_type() ==
-        EntityInstance::RecordType::kServerWallet;
   }
 }
 
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index ee1ddf7..82693e7 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -4927,6 +4927,16 @@
     "expiry_milestone": 137
   },
   {
+    "name": "exclude-pip-from-screen-capture",
+    "owners": [
+      "tovep@chromium.org",
+      "agpalak@chromium.org",
+      "ilnik@chromium.org",
+      "kron@chromium.org"
+    ],
+    "expiry_milestone": 160
+  },
+  {
     "name": "exo-gamepad-vibration",
     "owners": [ "prabirmsp@chromium.org" ],
     "expiry_milestone": 90
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 7da083b..7b3678d 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1968,6 +1968,12 @@
 const char kEnableZeroCopyTabCaptureDescription[] =
     "Enable zero-copy content tab for getDisplayMedia() APIs.";
 
+const char kExcludePipFromScreenCaptureName[] =
+    "Exclude Picture-in-Picture windows from screen capture";
+const char kExcludePipFromScreenCaptureDescription[] =
+    "When enabled, Picture-in-Picture windows will be excluded from screen "
+    "captures.";
+
 const char kExperimentalWebAssemblyFeaturesName[] = "Experimental WebAssembly";
 const char kExperimentalWebAssemblyFeaturesDescription[] =
     "Enable web pages to use experimental WebAssembly features.";
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index abe488f..a9d6cdd 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1146,6 +1146,9 @@
 extern const char kEnableZeroCopyTabCaptureName[];
 extern const char kEnableZeroCopyTabCaptureDescription[];
 
+extern const char kExcludePipFromScreenCaptureName[];
+extern const char kExcludePipFromScreenCaptureDescription[];
+
 extern const char kExperimentalWebAssemblyFeaturesName[];
 extern const char kExperimentalWebAssemblyFeaturesDescription[];
 
diff --git a/chrome/browser/keyboard_accessory/android/internal/BUILD.gn b/chrome/browser/keyboard_accessory/android/internal/BUILD.gn
index 7741585..1f94cfc 100644
--- a/chrome/browser/keyboard_accessory/android/internal/BUILD.gn
+++ b/chrome/browser/keyboard_accessory/android/internal/BUILD.gn
@@ -104,9 +104,7 @@
     "java/res/layout/all_passwords_bottom_sheet.xml",
     "java/res/layout/credit_card_accessory_sheet.xml",
     "java/res/layout/keyboard_accessory.xml",
-    "java/res/layout/keyboard_accessory_action.xml",
     "java/res/layout/keyboard_accessory_buttons.xml",
-    "java/res/layout/keyboard_accessory_dismiss.xml",
     "java/res/layout/keyboard_accessory_image_button.xml",
     "java/res/layout/keyboard_accessory_sheet.xml",
     "java/res/layout/keyboard_accessory_sheet_tab_address_info.xml",
diff --git a/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_action.xml b/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_action.xml
deleted file mode 100644
index d9fffdef..0000000
--- a/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_action.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright 2019 The Chromium Authors
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
--->
-
-<org.chromium.ui.widget.ButtonCompat
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:gravity="center"
-    android:layout_height="wrap_content"
-    android:layout_width="wrap_content"
-    android:minWidth="0dp"
-    android:paddingEnd="@dimen/keyboard_accessory_suggestion_padding"
-    android:paddingStart="@dimen/keyboard_accessory_suggestion_padding"
-    android:layout_marginEnd="@dimen/keyboard_accessory_bar_item_padding"
-    android:textAlignment="center"
-    style="@style/FilledButton" />
diff --git a/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_dismiss.xml b/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_dismiss.xml
deleted file mode 100644
index 3f3acc52..0000000
--- a/chrome/browser/keyboard_accessory/android/internal/java/res/layout/keyboard_accessory_dismiss.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright 2025 The Chromium Authors
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
--->
-
-<org.chromium.ui.widget.ButtonCompat
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:gravity="center"
-    android:layout_height="wrap_content"
-    android:layout_width="wrap_content"
-    android:paddingStart="@dimen/keyboard_accessory_dismiss_button_padding_horizontal"
-    android:paddingEnd="@dimen/keyboard_accessory_dismiss_button_padding_horizontal"
-    android:layout_marginEnd="@dimen/keyboard_accessory_dismiss_button_margin_end"
-    android:textAlignment="center"
-    style="@style/TextButton" />
diff --git a/chrome/browser/keyboard_accessory/android/internal/java/res/values/styles.xml b/chrome/browser/keyboard_accessory/android/internal/java/res/values/styles.xml
index 5f27131..1a79d83 100644
--- a/chrome/browser/keyboard_accessory/android/internal/java/res/values/styles.xml
+++ b/chrome/browser/keyboard_accessory/android/internal/java/res/values/styles.xml
@@ -9,6 +9,25 @@
     <style name="TextAppearance.DividerText" parent="TextAppearance.TextLarge.Secondary">
         <item name="android:textColor">@color/baseline_neutral_70</item>
     </style>
+    <style name="KeyboardAccessoryActionButton" parent="FilledButton">
+        <item name="android:gravity">center</item>
+        <item name="android:minWidth">0dp</item>
+        <item name="android:paddingEnd">@dimen/keyboard_accessory_suggestion_padding</item>
+        <item name="android:paddingStart">@dimen/keyboard_accessory_suggestion_padding</item>
+        <item name="android:textAlignment">center</item>
+    </style>
+    <style name="KeyboardAccessoryActionButtonThemeOverlay">
+        <item name="android:buttonStyle">@style/KeyboardAccessoryActionButton</item>
+    </style>
+    <style name="KeyboardAccessoryDismissButton" parent="TextButton">
+        <item name="android:gravity">center</item>
+        <item name="android:paddingEnd">@dimen/keyboard_accessory_dismiss_button_padding_horizontal</item>
+        <item name="android:paddingStart">@dimen/keyboard_accessory_dismiss_button_padding_horizontal</item>
+        <item name="android:textAlignment">center</item>
+    </style>
+    <style name="KeyboardAccessoryDismissButtonThemeOverlay">
+        <item name="android:buttonStyle">@style/KeyboardAccessoryDismissButton</item>
+    </style>
     <style name="KeyboardAccessoryChip" parent="AssistiveChip">
         <item name="iconWidth">
             @dimen/keyboard_accessory_bar_item_icon_width
diff --git a/chrome/browser/keyboard_accessory/android/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java b/chrome/browser/keyboard_accessory/android/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java
index 5d92a8ec..9178c15 100644
--- a/chrome/browser/keyboard_accessory/android/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java
+++ b/chrome/browser/keyboard_accessory/android/internal/java/src/org/chromium/chrome/browser/keyboard_accessory/bar_component/KeyboardAccessoryViewBinder.java
@@ -23,10 +23,13 @@
 import static org.chromium.chrome.browser.keyboard_accessory.bar_component.KeyboardAccessoryProperties.VISIBLE;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewGroup.LayoutParams;
+import android.view.ViewGroup.MarginLayoutParams;
 import android.widget.TextView;
 
 import androidx.annotation.LayoutRes;
@@ -52,6 +55,7 @@
 import org.chromium.components.feature_engagement.FeatureConstants;
 import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
+import org.chromium.ui.widget.ButtonCompat;
 import org.chromium.ui.widget.RectProvider;
 
 import java.util.function.Function;
@@ -82,11 +86,10 @@
             case BarItem.Type.TAB_LAYOUT:
                 return new SheetOpenerViewHolder(parent);
             case BarItem.Type.ACTION_BUTTON:
-                return new BarItemTextViewHolder(parent, R.layout.keyboard_accessory_action);
+            case BarItem.Type.DISMISS_CHIP:
+                return new BarItemTextViewHolder(parent, viewType);
             case BarItem.Type.ACTION_CHIP:
                 return new BarItemActionChipViewHolder(parent);
-            case BarItem.Type.DISMISS_CHIP:
-                return new BarItemTextViewHolder(parent, R.layout.keyboard_accessory_dismiss);
             default:
                 throw new IllegalStateException("Action type " + viewType + " was not handled!");
         }
@@ -308,8 +311,11 @@
     }
 
     static class BarItemTextViewHolder extends BarItemViewHolder<BarItem, TextView> {
-        BarItemTextViewHolder(ViewGroup parent, @LayoutRes int layout) {
-            super(parent, layout);
+        private final @BarItem.Type int mBarItemType;
+
+        BarItemTextViewHolder(ViewGroup parent, @BarItem.Type int barItemType) {
+            super(new ButtonCompat(parent.getContext(), selectStyleForSuggestion(barItemType)));
+            mBarItemType = barItemType;
         }
 
         @Override
@@ -318,6 +324,43 @@
             assert action != null : "Tried to bind item without action. Chose a wrong ViewHolder?";
             textView.setText(barItem.getCaptionId());
             textView.setOnClickListener(view -> action.getCallback().onResult(action));
+            // Margins can be either set in XML layouts or programmatically, they can't be part of
+            // the KeyboardAccessory* styles.
+            applyMargins(textView);
+        }
+
+        private void applyMargins(TextView textView) {
+            MarginLayoutParams params =
+                    new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
+            Resources resources = textView.getContext().getResources();
+            switch (mBarItemType) {
+                case BarItem.Type.ACTION_BUTTON:
+                    params.setMarginEnd(
+                            resources.getDimensionPixelSize(
+                                    R.dimen.keyboard_accessory_bar_item_padding));
+                    break;
+                case BarItem.Type.DISMISS_CHIP:
+                    params.setMarginEnd(
+                            resources.getDimensionPixelSize(
+                                    R.dimen.keyboard_accessory_dismiss_button_margin_end));
+                    break;
+                default:
+                    assert false : "Not a button item type: " + mBarItemType;
+            }
+            textView.setLayoutParams(params);
+        }
+
+        @StyleRes
+        private static int selectStyleForSuggestion(@BarItem.Type int barItemType) {
+            switch (barItemType) {
+                case BarItem.Type.ACTION_BUTTON:
+                    return R.style.KeyboardAccessoryActionButtonThemeOverlay;
+                case BarItem.Type.DISMISS_CHIP:
+                    return R.style.KeyboardAccessoryDismissButtonThemeOverlay;
+                default:
+                    assert false : "Not a button item type: " + barItemType;
+                    return 0;
+            }
         }
     }
 
diff --git a/chrome/browser/ntp_customization/BUILD.gn b/chrome/browser/ntp_customization/BUILD.gn
index aa09967..f7b83ff 100644
--- a/chrome/browser/ntp_customization/BUILD.gn
+++ b/chrome/browser/ntp_customization/BUILD.gn
@@ -94,6 +94,7 @@
     "//components/user_prefs/android:java",
     "//content/public/android:content_full_java",
     "//third_party/android_deps:com_android_support_support_annotations_java",
+    "//third_party/android_deps:material_design_java",
     "//third_party/androidx:androidx_activity_activity_java",
     "//third_party/androidx:androidx_annotation_annotation_java",
     "//third_party/androidx:androidx_appcompat_appcompat_java",
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationConfigManager.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationConfigManager.java
index 8a10fb87..5da53acf 100644
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationConfigManager.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationConfigManager.java
@@ -211,6 +211,12 @@
 
         NtpCustomizationUtils.updateBackgroundImageMatrices(backgroundImageInfo);
         NtpCustomizationUtils.updateBackgroundImageFile(bitmap);
+
+        // Picks the primary color for the bitmap and saves it to the SharedPreference.
+        @ColorInt Integer primaryColor = NtpCustomizationUtils.getContentBasedSeedColor(bitmap);
+        if (primaryColor != null) {
+            NtpCustomizationUtils.setCustomizedPrimaryColor(primaryColor.intValue());
+        }
     }
 
     /**
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
index d4d06a2..35023a9 100644
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtils.java
@@ -31,6 +31,8 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.browser.customtabs.CustomTabsIntent;
 
+import com.google.android.material.color.DynamicColorsOptions;
+
 import org.chromium.base.Callback;
 import org.chromium.base.ContextUtils;
 import org.chromium.base.IntentUtils;
@@ -187,7 +189,7 @@
     /** Returns the customized primary color if set, null otherwise. */
     public @Nullable static @ColorInt Integer getPrimaryColorFromCustomizedThemeColor() {
         if (!ChromeFeatureList.sNewTabPageCustomizationV2.isEnabled()
-                || (getNtpBackgroundImageType() != NtpBackgroundImageType.CHROME_COLOR)) {
+                || (getNtpBackgroundImageType() == NtpBackgroundImageType.DEFAULT)) {
             return null;
         }
 
@@ -198,6 +200,14 @@
         return color;
     }
 
+    // Gets the content based primary color for a bitmap.
+    public @Nullable static @ColorInt Integer getContentBasedSeedColor(Bitmap bitmap) {
+        DynamicColorsOptions.Builder builder = new DynamicColorsOptions.Builder();
+        builder.setContentBasedSource(bitmap);
+        DynamicColorsOptions dynamicColorsOptions = builder.build();
+        return dynamicColorsOptions.getContentBasedSeedColor();
+    }
+
     // Launch a new activity in the same task with the given uri as a CCT.
     public static void launchUriActivity(Context context, String uri) {
         CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinator.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinator.java
index fded965..0bb43b1e 100644
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinator.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinator.java
@@ -14,6 +14,7 @@
 import android.view.LayoutInflater;
 
 import androidx.activity.ComponentActivity;
+import androidx.annotation.VisibleForTesting;
 
 import org.chromium.build.annotations.NullMarked;
 import org.chromium.build.annotations.Nullable;
@@ -51,6 +52,7 @@
     }
 
     private final Context mContext;
+    private final BottomSheetDelegate mBottomSheetDelegate;
     private final Runnable mDismissBottomSheetRunnable;
     private NtpThemeMediator mMediator;
     private NtpThemeBottomSheetView mNtpThemeBottomSheetView;
@@ -62,6 +64,7 @@
             Profile profile,
             Runnable dismissBottomSheet) {
         mContext = context;
+        mBottomSheetDelegate = delegate;
         mDismissBottomSheetRunnable = dismissBottomSheet;
         mNtpThemeBottomSheetView =
                 (NtpThemeBottomSheetView)
@@ -114,7 +117,7 @@
 
         mUploadPreviewCoordinator =
                 new UploadImagePreviewCoordinator(
-                        (Activity) mContext, bitmap, mDismissBottomSheetRunnable);
+                        (Activity) mContext, bitmap, this::onPreviewClosed);
     }
 
     public void destroy() {
@@ -125,6 +128,14 @@
         }
     }
 
+    @VisibleForTesting
+    void onPreviewClosed(boolean isImageSelected) {
+        if (isImageSelected) {
+            mBottomSheetDelegate.onNewColorSelected(/* isDifferentColor */ true);
+        }
+        mDismissBottomSheetRunnable.run();
+    }
+
     NtpThemeMediator getMediatorForTesting() {
         return mMediator;
     }
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediator.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediator.java
index 0333edd..48fe24b 100644
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediator.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediator.java
@@ -186,7 +186,7 @@
 
         @NtpBackgroundImageType
         int currentBackgroundType = mNtpCustomizationConfigManager.getBackgroundImageType();
-        if (currentBackgroundType == NtpBackgroundImageType.CHROME_COLOR) {
+        if (currentBackgroundType != NtpBackgroundImageType.DEFAULT) {
             // We need to update the app's theme when a customized background color is removed.
             mBottomSheetDelegate.onNewColorSelected(/* isDifferentColor= */ true);
         }
diff --git a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinator.java b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinator.java
index dd208be..1b20388 100644
--- a/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinator.java
+++ b/chrome/browser/ntp_customization/java/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinator.java
@@ -18,9 +18,11 @@
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.view.ViewCompat;
 import androidx.core.view.WindowInsetsCompat;
 
+import org.chromium.base.Callback;
 import org.chromium.build.annotations.NullMarked;
 import org.chromium.chrome.browser.ntp_customization.NtpCustomizationConfigManager;
 import org.chromium.chrome.browser.ntp_customization.R;
@@ -41,7 +43,7 @@
      * @param bitmap The bitmap to be previewed.
      */
     public UploadImagePreviewCoordinator(
-            Activity activity, Bitmap bitmap, Runnable dismissBottomSheetRunnable) {
+            Activity activity, Bitmap bitmap, Callback<Boolean> onBottomSheetClickedCallback) {
         mPreviewPropertyModel = new PropertyModel(PREVIEW_KEYS);
         View contentView =
                 LayoutInflater.from(activity)
@@ -63,21 +65,13 @@
         mPreviewPropertyModel.set(
                 NtpThemeProperty.PREVIEW_SAVE_CLICK_LISTENER,
                 v -> {
-                    Matrix portraitMatrix = mCropImageView.getPortraitMatrix();
-                    Matrix landscapeMatrix = mCropImageView.getLandscapeMatrix();
-                    NtpCustomizationConfigManager.getInstance()
-                            .onBackgroundChanged(
-                                    bitmap,
-                                    new BackgroundImageInfo(portraitMatrix, landscapeMatrix));
-
-                    dismissBottomSheetRunnable.run();
-                    dialog.dismiss();
+                    onSaveButtonClicked(bitmap, onBottomSheetClickedCallback, dialog);
                 });
 
         mPreviewPropertyModel.set(
                 NtpThemeProperty.PREVIEW_CANCEL_CLICK_LISTENER,
                 v -> {
-                    dismissBottomSheetRunnable.run();
+                    onBottomSheetClickedCallback.onResult(false);
                     dialog.dismiss();
                 });
 
@@ -128,4 +122,25 @@
             }
         }
     }
+
+    /**
+     * Called when the save button is clicked.
+     *
+     * @param bitmap The selected bitmap.
+     * @param onBottomSheetClickedCallback The callback to be notified when a bottom sheet button is
+     *     clicked.
+     * @param dialog The current preview dialog.
+     */
+    @VisibleForTesting
+    void onSaveButtonClicked(
+            Bitmap bitmap, Callback<Boolean> onBottomSheetClickedCallback, ChromeDialog dialog) {
+        Matrix portraitMatrix = mCropImageView.getPortraitMatrix();
+        Matrix landscapeMatrix = mCropImageView.getLandscapeMatrix();
+        NtpCustomizationConfigManager.getInstance()
+                .onBackgroundChanged(
+                        bitmap, new BackgroundImageInfo(portraitMatrix, landscapeMatrix));
+
+        onBottomSheetClickedCallback.onResult(true);
+        dialog.dismiss();
+    }
 }
diff --git a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtilsUnitTest.java b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtilsUnitTest.java
index c25ed0f..a8d4b0c 100644
--- a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtilsUnitTest.java
+++ b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/NtpCustomizationUtilsUnitTest.java
@@ -228,12 +228,7 @@
     @EnableFeatures(ChromeFeatureList.NEW_TAB_PAGE_CUSTOMIZATION_V2)
     public void testGetPrimaryColorFromCustomizedThemeColor_wrongImageType() {
         NtpCustomizationUtils.setNtpBackgroundImageType(NtpBackgroundImageType.DEFAULT);
-        assertNull(NtpCustomizationUtils.getPrimaryColorFromCustomizedThemeColor());
-
-        NtpCustomizationUtils.setNtpBackgroundImageType(NtpBackgroundImageType.IMAGE_FROM_DISK);
-        assertNull(NtpCustomizationUtils.getPrimaryColorFromCustomizedThemeColor());
-
-        NtpCustomizationUtils.setNtpBackgroundImageType(NtpBackgroundImageType.CHROME_THEME);
+        NtpCustomizationUtils.setCustomizedPrimaryColor(Color.RED);
         assertNull(NtpCustomizationUtils.getPrimaryColorFromCustomizedThemeColor());
     }
 
@@ -258,6 +253,16 @@
     }
 
     @Test
+    @EnableFeatures(ChromeFeatureList.NEW_TAB_PAGE_CUSTOMIZATION_V2)
+    public void testGetPrimaryColorFromCustomizedThemeColor_colorSetWithImage() {
+        NtpCustomizationUtils.setNtpBackgroundImageType(NtpBackgroundImageType.IMAGE_FROM_DISK);
+        NtpCustomizationUtils.setCustomizedPrimaryColor(Color.BLUE);
+
+        assertEquals(
+                Color.BLUE, (int) NtpCustomizationUtils.getPrimaryColorFromCustomizedThemeColor());
+    }
+
+    @Test
     public void testMatrixToString_identityMatrix_returnsCorrectString() {
         // Creates an identity matrix.
         Matrix matrix = new Matrix();
diff --git a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinatorUnitTest.java b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinatorUnitTest.java
index ce38124..cff27875 100644
--- a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinatorUnitTest.java
+++ b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeCoordinatorUnitTest.java
@@ -6,8 +6,11 @@
 
 import static org.junit.Assert.assertNotNull;
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
@@ -76,4 +79,19 @@
         mCoordinator.destroy();
         verify(ntpThemeBottomSheetView).destroy();
     }
+
+    @Test
+    public void testOnPreviewClosed() {
+        boolean isImageSelected = false;
+        mCoordinator.onPreviewClosed(isImageSelected);
+
+        verify(mBottomSheetDelegate, never()).onNewColorSelected(anyBoolean());
+        verify(mDismissBottomSheet).run();
+
+        isImageSelected = true;
+        mCoordinator.onPreviewClosed(isImageSelected);
+
+        verify(mBottomSheetDelegate).onNewColorSelected(eq(true));
+        verify(mDismissBottomSheet, times(2)).run();
+    }
 }
diff --git a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediatorUnitTest.java b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediatorUnitTest.java
index 6bbd2afd..f0a00086 100644
--- a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediatorUnitTest.java
+++ b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/NtpThemeMediatorUnitTest.java
@@ -13,6 +13,7 @@
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -241,13 +242,13 @@
         when(mNtpCustomizationConfigManager.getBackgroundImageType())
                 .thenReturn(NtpBackgroundImageType.IMAGE_FROM_DISK);
         mMediator.handleChromeDefaultSectionClick(mView);
-        verify(mBottomSheetDelegate, never()).onNewColorSelected(anyBoolean());
+        verify(mBottomSheetDelegate).onNewColorSelected(eq(true));
 
         // Verifies the case of background type from chrome-color to default.
         when(mNtpCustomizationConfigManager.getBackgroundImageType())
                 .thenReturn(NtpBackgroundImageType.CHROME_COLOR);
         mMediator.handleChromeDefaultSectionClick(mView);
-        verify(mBottomSheetDelegate).onNewColorSelected(eq(true));
+        verify(mBottomSheetDelegate, times(2)).onNewColorSelected(eq(true));
     }
 
     private void createMediator(boolean shouldShowAlone) {
diff --git a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinatorUnitTest.java b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinatorUnitTest.java
index 72eaab4e..87fee33 100644
--- a/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinatorUnitTest.java
+++ b/chrome/browser/ntp_customization/junit/src/org/chromium/chrome/browser/ntp_customization/theme/UploadImagePreviewCoordinatorUnitTest.java
@@ -9,6 +9,7 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.verify;
 
 import android.app.Activity;
@@ -27,6 +28,7 @@
 import org.robolectric.Robolectric;
 import org.robolectric.shadows.ShadowDialog;
 
+import org.chromium.base.Callback;
 import org.chromium.base.test.BaseRobolectricTestRule;
 import org.chromium.base.test.BaseRobolectricTestRunner;
 import org.chromium.chrome.browser.ntp_customization.NtpCustomizationConfigManager;
@@ -41,7 +43,7 @@
 
     @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
 
-    @Mock private Runnable mDismissRunnable;
+    @Mock private Callback<Boolean> mOnClickedCallback;
 
     private Dialog mDialog;
     private UploadImagePreviewCoordinator mUploadImagePreviewCoordinator;
@@ -55,7 +57,7 @@
         activity.setTheme(R.style.Theme_BrowserUI_DayNight);
         Bitmap bitmap = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
         mUploadImagePreviewCoordinator =
-                new UploadImagePreviewCoordinator(activity, bitmap, mDismissRunnable);
+                new UploadImagePreviewCoordinator(activity, bitmap, mOnClickedCallback);
         mDialog = ShadowDialog.getLatestDialog();
         View contentView = mDialog.findViewById(android.R.id.content);
         mSaveButton = contentView.findViewById(R.id.save_button);
@@ -101,8 +103,8 @@
                 "The landscape matrix should have been saved.",
                 NtpCustomizationUtils.readNtpBackgroundImageMatrices().landscapeMatrix);
 
-        // Verify the dismiss callback was invoked.
-        verify(mDismissRunnable).run();
+        // Verify the on clicked callback was invoked.
+        verify(mOnClickedCallback).onResult(eq(true));
 
         // Verify the dialog was dismissed.
         assertFalse("Dialog should be dismissed after clicking save.", mDialog.isShowing());
@@ -112,8 +114,8 @@
     public void testClickCancelButton() {
         mCancelButton.performClick();
 
-        // Verify the dismiss callback was invoked.
-        verify(mDismissRunnable).run();
+        // Verify the on clicked callback was invoked.
+        verify(mOnClickedCallback).onResult(eq(false));
         assertFalse(
                 "The background image file should not have been saved.",
                 NtpCustomizationUtils.getBackgroundImageFile().exists());
diff --git a/chrome/browser/predictors/perform_network_context_prefetch.cc b/chrome/browser/predictors/perform_network_context_prefetch.cc
index 5fd4d5b1..84af9a4 100644
--- a/chrome/browser/predictors/perform_network_context_prefetch.cc
+++ b/chrome/browser/predictors/perform_network_context_prefetch.cc
@@ -17,6 +17,7 @@
 #include "components/embedder_support/user_agent_utils.h"
 #include "components/language/core/browser/language_prefs.h"
 #include "components/language/core/browser/pref_names.h"
+#include "components/prefs/pref_service.h"
 #include "components/variations/net/variations_http_headers.h"
 #include "content/public/browser/global_request_id.h"
 #include "content/public/browser/reduce_accept_language_utils.h"
@@ -273,7 +274,7 @@
   // TODO(crbug.com/342445996): Make it const once the blink::UserAgentMetadata
   // methods have been made const.
   blink::UserAgentMetadata ua_metadata =
-      embedder_support::GetUserAgentMetadata(g_browser_process->local_state());
+      embedder_support::GetUserAgentMetadata();
 
   // When generating the User-Agent header, we need to take into account user
   // agent reduction enterprise policy. Nothing is ever simple. This code
diff --git a/chrome/browser/resources/history/constants.ts b/chrome/browser/resources/history/constants.ts
index f892f82..1dfad59 100644
--- a/chrome/browser/resources/history/constants.ts
+++ b/chrome/browser/resources/history/constants.ts
@@ -20,6 +20,8 @@
   WEB_ONLY_SIGNED_IN = 1,
   SIGNED_IN_NOT_SYNCING_TABS = 2,
   SIGNED_IN_SYNCING_TABS = 3,
+  SIGN_IN_PENDING_NOT_SYNCING_TABS = 4,
+  SIGN_IN_PENDING_SYNCING_TABS = 5,
 }
 // LINT.ThenChange(/chrome/browser/ui/webui/history/history_sign_in_state_watcher.h:HistorySignInState)
 
diff --git a/chrome/browser/resources/history/synced_device_manager.css b/chrome/browser/resources/history/synced_device_manager.css
index fdaabd5..320790d6 100644
--- a/chrome/browser/resources/history/synced_device_manager.css
+++ b/chrome/browser/resources/history/synced_device_manager.css
@@ -107,7 +107,7 @@
   line-height: 24px;
 }
 
-#avatar {
+.avatar {
   /** The user avatar may be transparent, add a background */
   background-color: var(--md-background-color);
   border: solid var(--md-background-color);
diff --git a/chrome/browser/resources/history/synced_device_manager.html.ts b/chrome/browser/resources/history/synced_device_manager.html.ts
index 1fd8789..edfad390f 100644
--- a/chrome/browser/resources/history/synced_device_manager.html.ts
+++ b/chrome/browser/resources/history/synced_device_manager.html.ts
@@ -52,7 +52,8 @@
           <img class="sync-history-illustration" alt="">
         </div>
         <div class="sync-history-promo">$i18n{turnOnSyncHistoryPromo}</div>
-        <div class="sync-history-promo-desc">
+        <div id="signed-out-sync-history-promo-desc"
+            class="sync-history-promo-desc">
           $i18n{syncHistoryPromoBodySignedOut}
         </div>
       ` : ''}
@@ -71,25 +72,59 @@
         </div>
       ` : ''}
 
+      ${this.isSignInStatePending_() && this.accountInfo_ ? html`
+        <div class="image-container">
+          <img class="sync-history-promo-avatar-illustration" alt="">
+          <img id="sign-in-pending-avatar" class="avatar"
+              src="${this.accountInfo_.accountImageSrc.url}" alt="">
+        </div>
+        <div class="sync-history-promo">
+          $i18n{turnOnSyncHistoryPromo}
+        </div>
+
+        ${this.isSignInState_(
+          HistorySignInState.SIGN_IN_PENDING_NOT_SYNCING_TABS) ? html`
+          <div id="sign-in-pending-sync-history-promo-desc"
+              class="sync-history-promo-desc">
+            $i18n{syncHistoryPromoBodyPendingSignIn}
+          </div>
+        ` : ''}
+
+        ${this.isSignInState_(
+          HistorySignInState.SIGN_IN_PENDING_SYNCING_TABS) ? html`
+          <div id="sign-in-pending-sync-history-promo-desc-sync-history-on"
+            class="sync-history-promo-desc">
+          $i18n{syncHistoryPromoBodyPendingSignInSyncHistoryOn}
+          </div>
+        ` : ''}
+      ` : ''}
+
       ${this.isSignInState_(HistorySignInState.SIGNED_IN_NOT_SYNCING_TABS)
         && this.accountInfo_ ? html`
           <div class="image-container">
             <img class="sync-history-promo-avatar-illustration" alt="">
-            <img id="avatar" src="${this.accountInfo_.accountImageSrc.url}"
-                alt="">
+            <img id="signed-in-avatar" class="avatar"
+                src="${this.accountInfo_.accountImageSrc.url}" alt="">
           </div>
           <div class="sync-history-promo">
             $i18n{turnOnSyncHistoryPromo}
           </div>
-          <div class="sync-history-promo-desc">
+          <div id="signed-in-sync-history-promo-desc"
+              class="sync-history-promo-desc">
             $i18n{turnOnSignedInSyncHistoryPromoBodySignInSyncOff}
           </div>
         ` : ''}
 
-      <cr-button id="sync-history-button" class="action-button"
-          @click="${this.onTurnOnHistorySyncClick_}">
-        $i18n{turnOnSyncHistoryButton}
-      </cr-button>
+      <!-- Button -->
+      ${this.isSignInState_(HistorySignInState.SIGN_IN_PENDING_SYNCING_TABS)
+        ? html`
+          <cr-button id="verify-its-you-button" class="action-button"
+              @click="${this.onTurnOnHistorySyncClick_}">$i18n{verifyItsYou}
+          </cr-button>` : html`
+          <cr-button id="sync-history-button" class="action-button"
+              @click="${this.onTurnOnHistorySyncClick_}">
+            $i18n{turnOnSyncHistoryButton}
+          </cr-button>`}
     </div>
   ` : ''}
 </if>
diff --git a/chrome/browser/resources/history/synced_device_manager.ts b/chrome/browser/resources/history/synced_device_manager.ts
index cb92d3d..7a28b1f 100644
--- a/chrome/browser/resources/history/synced_device_manager.ts
+++ b/chrome/browser/resources/history/synced_device_manager.ts
@@ -310,6 +310,12 @@
         !this.isSignInState_(HistorySignInState.SIGNED_IN_SYNCING_TABS);
   }
 
+  protected isSignInStatePending_(): boolean {
+    return this.isSignInState_(
+               HistorySignInState.SIGN_IN_PENDING_NOT_SYNCING_TABS) ||
+        this.isSignInState_(HistorySignInState.SIGN_IN_PENDING_SYNCING_TABS);
+  }
+
   /**
    * Decide whether or not should display no synced tabs message.
    */
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
index c364fbf..d7313665 100644
--- a/chrome/browser/resources/settings/BUILD.gn
+++ b/chrome/browser/resources/settings/BUILD.gn
@@ -370,6 +370,7 @@
     "site_settings/website_usage_browser_proxy.ts",
     "time.ts",
     "tooltip_mixin.ts",
+    "your_saved_info_page/saved_info_handler_proxy.ts",
   ]
 
   if (is_chromeos) {
diff --git a/chrome/browser/resources/settings/autofill_page/autofill_ai_section.html b/chrome/browser/resources/settings/autofill_page/autofill_ai_section.html
index b4457ce..5670cae 100644
--- a/chrome/browser/resources/settings/autofill_page/autofill_ai_section.html
+++ b/chrome/browser/resources/settings/autofill_page/autofill_ai_section.html
@@ -1,5 +1,4 @@
-<style include="cr-shared-style settings-shared cr-icons
-    settings-columned-section
+<style include="cr-shared-style settings-shared settings-columned-section
     passwords-shared">
   .flex {
     flex: 1;
@@ -103,30 +102,11 @@
           [[item.entityInstanceSubLabel]]
         </div>
       </div>
-      <div id="walletIndicator" hidden$="[[!item.storedInWallet]]">
-<if expr="_google_chrome">
-        <cr-icon aria-hidden="true"
-            icon="settings-internal:google-wallet">
-        </cr-icon>
-</if>
-<if expr="not _google_chrome">
-        <span class="sub-label">$i18n{googleWallet}</span>
-</if>
-      </div>
-      <template is="dom-if" if="[[item.storedInWallet]]" restamp>
-        <cr-icon-button class="icon-external" id="remoteWalletPassesLink"
-            title="$i18n{remoteWalletPassesLinkLabel}" role="link"
-            on-click="onGoToWalletClick_"
-            aria-description="$i18n{opensInNewTab}">
-        </cr-icon-button>
-      </template>
-      <template is="dom-if" if="[[!item.storedInWallet]]" restamp>
-        <cr-icon-button id="moreButton" class="icon-more-vert"
-            on-click="onMoreButtonClick_"
-            title="[[i18n('autofillAiMoreActionsForEntityInstance',
-                item.entityInstanceLabel, item.entityInstanceSubLabel)]]">
-        </cr-icon-button>
-      </template>
+      <cr-icon-button id="moreButton" class="icon-more-vert"
+          on-click="onMoreButtonClick_"
+          title="[[i18n('autofillAiMoreActionsForEntityInstance',
+              item.entityInstanceLabel, item.entityInstanceSubLabel)]]">
+      </cr-icon-button>
     </li>
   </template>
   <li id="entriesNone" class="list-item" hidden="[[entityInstances_.length]]">
diff --git a/chrome/browser/resources/settings/autofill_page/autofill_ai_section.ts b/chrome/browser/resources/settings/autofill_page/autofill_ai_section.ts
index 95f8e9e..a5a1a4c5 100644
--- a/chrome/browser/resources/settings/autofill_page/autofill_ai_section.ts
+++ b/chrome/browser/resources/settings/autofill_page/autofill_ai_section.ts
@@ -10,7 +10,6 @@
 import 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.js';
 import 'chrome://resources/cr_elements/cr_button/cr_button.js';
 import 'chrome://resources/cr_elements/cr_icon/cr_icon.js';
-import 'chrome://resources/cr_elements/cr_icons.css.js';
 import 'chrome://resources/cr_elements/cr_icon_button/cr_icon_button.js';
 import 'chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.js';
 import 'chrome://resources/cr_elements/cr_shared_style.css.js';
@@ -23,9 +22,6 @@
 import '../settings_shared.css.js';
 import '../simple_confirmation_dialog.js';
 import './autofill_ai_add_or_edit_dialog.js';
-// <if expr="_google_chrome">
-import '../internal/icons.html.js';
-// </if>
 
 import {PrefsMixin} from '/shared/settings/prefs/prefs_mixin.js';
 import {AnchorAlignment} from 'chrome://resources/cr_elements/cr_action_menu/cr_action_menu.js';
@@ -33,7 +29,6 @@
 import type {CrLazyRenderElement} from 'chrome://resources/cr_elements/cr_lazy_render/cr_lazy_render.js';
 import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
 import {assert} from 'chrome://resources/js/assert.js';
-import {OpenWindowProxyImpl} from 'chrome://resources/js/open_window_proxy.js';
 import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import type {DomRepeatEvent} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
@@ -356,11 +351,6 @@
   override focusBackButton() {
     this.shadowRoot!.querySelector('settings-subpage')!.focusBackButton();
   }
-
-  private onGoToWalletClick_() {
-    OpenWindowProxyImpl.getInstance().openUrl(
-        loadTimeData.getString('walletPassesPageUrl'));
-  }
 }
 
 declare global {
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
index 1fd9c83..a9ebe5f6 100644
--- a/chrome/browser/resources/settings/route.ts
+++ b/chrome/browser/resources/settings/route.ts
@@ -224,7 +224,23 @@
     r.FONTS = r.APPEARANCE.createChild('/fonts');
   }
 
-  if (visibility.autofill !== false) {
+  if (loadTimeData.getBoolean('enableYourSavedInfoSettingsPage')) {
+    if (visibility.yourSavedInfo !== false) {
+      r.YOUR_SAVED_INFO = r.BASIC.createSection(
+          '/yourSavedInfo', 'yourSavedInfo',
+          loadTimeData.getString('yourSavedInfoPageTitle'));
+
+      r.PAYMENTS = r.YOUR_SAVED_INFO.createChild('/payments');
+      r.ADDRESSES = r.YOUR_SAVED_INFO.createChild('/addresses');
+
+      // TODO(crbug.com/438666322): add routing for "Identity docs"
+      // TODO(crbug.com/438667363): add routing for "Travel"
+
+      // <if expr="is_win or is_macosx">
+      r.PASSKEYS = r.YOUR_SAVED_INFO.createChild('/passkeys');
+      // </if>
+    }
+  } else if (visibility.autofill !== false) {
     r.AUTOFILL = r.BASIC.createSection(
         '/autofill', 'autofill', loadTimeData.getString('autofillPageTitle'));
     r.PAYMENTS = r.AUTOFILL.createChild('/payments');
@@ -239,13 +255,6 @@
     // </if>
   }
 
-  if (visibility.yourSavedInfo !== false &&
-      loadTimeData.getBoolean('enableYourSavedInfoSettingsPage')) {
-    r.YOUR_SAVED_INFO = r.BASIC.createSection(
-        '/yourSavedInfo', 'yourSavedInfo',
-        loadTimeData.getString('yourSavedInfoPageTitle'));
-  }
-
   if (visibility.privacy !== false) {
     r.PRIVACY = r.BASIC.createSection(
         '/privacy', 'privacy', loadTimeData.getString('privacyPageTitle'));
diff --git a/chrome/browser/resources/settings/settings_main/settings_main.html b/chrome/browser/resources/settings/settings_main/settings_main.html
index e91a426..881db6c 100644
--- a/chrome/browser/resources/settings/settings_main/settings_main.html
+++ b/chrome/browser/resources/settings/settings_main/settings_main.html
@@ -78,7 +78,7 @@
     </div>
   </template>
 
-  <template is="dom-if" if="[[showPage_(pageVisibility_.autofill)]]">
+  <template is="dom-if" if="[[showAutofillPage_(pageVisibility_.autofill)]]">
     <div slot="view" id="autofill">
       <template is="dom-if" if="[[renderPlugin_(
           routes_.AUTOFILL, lastRoute_, inSearchMode_)]]">
diff --git a/chrome/browser/resources/settings/settings_main/settings_main.ts b/chrome/browser/resources/settings/settings_main/settings_main.ts
index 3781087..a4011f2 100644
--- a/chrome/browser/resources/settings/settings_main/settings_main.ts
+++ b/chrome/browser/resources/settings/settings_main/settings_main.ts
@@ -272,6 +272,11 @@
     return loadTimeData.getBoolean('showAiPage') && this.showPage_(visibility);
   }
 
+  private showAutofillPage_(visibility?: boolean): boolean {
+    return !loadTimeData.getBoolean('enableYourSavedInfoSettingsPage') &&
+        this.showPage_(visibility);
+  }
+
   private showYourSavedInfoPage_(visibility?: boolean): boolean {
     return loadTimeData.getBoolean('enableYourSavedInfoSettingsPage') &&
         this.showPage_(visibility);
diff --git a/chrome/browser/resources/settings/your_saved_info_page/saved_info_handler_proxy.ts b/chrome/browser/resources/settings/your_saved_info_page/saved_info_handler_proxy.ts
new file mode 100644
index 0000000..0cbc1cc
--- /dev/null
+++ b/chrome/browser/resources/settings/your_saved_info_page/saved_info_handler_proxy.ts
@@ -0,0 +1,38 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import {sendWithPromise} from 'chrome://resources/js/cr.js';
+
+/**
+ * @fileoverview A helper object used by the "Your saved info" page
+ * to interact with the browser to obtain data types counters
+ */
+
+export interface PasswordCount {
+  passwordCount: number;
+  passkeyCount: number;
+}
+
+export interface SavedInfoHandlerProxy {
+  /**
+   * Get the number of passwords and passkeys.
+   */
+  getPasswordCount(): Promise<PasswordCount>;
+}
+
+export class SavedInfoHandlerImpl implements SavedInfoHandlerProxy {
+  getPasswordCount() {
+    return sendWithPromise('getPasswordCount');
+  }
+
+  static getInstance(): SavedInfoHandlerProxy {
+    return instance || (instance = new SavedInfoHandlerImpl());
+  }
+
+  static setInstance(obj: SavedInfoHandlerProxy) {
+    instance = obj;
+  }
+}
+
+let instance: SavedInfoHandlerProxy|null = null;
diff --git a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page.ts b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page.ts
index d9747d3..bf996a0 100644
--- a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page.ts
+++ b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page.ts
@@ -9,15 +9,17 @@
  */
 
 import {PrefsMixin} from '/shared/settings/prefs/prefs_mixin.js';
+import {WebUiListenerMixin} from 'chrome://resources/cr_elements/web_ui_listener_mixin.js';
 import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {SettingsViewMixin} from '../settings_page/settings_view_mixin.js';
 
+import {SavedInfoHandlerImpl} from './saved_info_handler_proxy.js';
 import {getTemplate} from './your_saved_info_page.html.js';
 
 
 const SettingsYourSavedInfoPageElementBase =
-    SettingsViewMixin(PrefsMixin(PolymerElement));
+    WebUiListenerMixin(SettingsViewMixin(PrefsMixin(PolymerElement)));
 
 export class SettingsYourSavedInfoPageElement extends
     SettingsYourSavedInfoPageElementBase {
@@ -28,6 +30,36 @@
   static get template() {
     return getTemplate();
   }
+
+  static get properties() {
+    return {
+      prefs: Object,
+
+      passwordsCount: Number,
+      passkeysCount: Number,
+    };
+  }
+
+  declare prefs: {[key: string]: any};
+  declare passwordsCount: number|undefined;
+  declare passkeysCount: number|undefined;
+
+  override connectedCallback() {
+    super.connectedCallback();
+    this.setupDataTypeCounters();
+  }
+
+  private setupDataTypeCounters() {
+    // Password and passkey counts.
+    const setPasswordCount =
+      (count: { passwordCount: number, passkeyCount: number }) => {
+        this.passwordsCount = count.passwordCount;
+        this.passkeysCount = count.passkeyCount;
+      };
+    this.addWebUiListener('password-count-changed', setPasswordCount);
+    SavedInfoHandlerImpl.getInstance().getPasswordCount().then(
+      setPasswordCount);
+  }
 }
 
 declare global {
diff --git a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.html b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.html
index 224c546..b9e98ed7 100644
--- a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.html
+++ b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.html
@@ -7,6 +7,22 @@
 
 <cr-view-manager id="viewManager" class="cr-centered-card-container"
     show-all$="[[shouldShowAll]]">
+
   <settings-your-saved-info-page slot="view" id="parent" prefs="{{prefs}}">
   </settings-your-saved-info-page>
+
+  <settings-autofill-section slot="view" id="addresses" prefs="{{prefs}}"
+      data-parent-view-id="parent">
+  </settings-autofill-section>
+
+<if expr="is_win or is_macosx">
+  <settings-passkeys-subpage slot="view" id="passkeys"
+      data-parent-view-id="parent">
+  </settings-passkeys-subpage>
+</if>
+
+  <settings-payments-section slot="view" id="payments" prefs="{{prefs}}"
+      data-parent-view-id="parent">
+  </settings-payments-section>
+
 </cr-view-manager>
diff --git a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.ts b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.ts
index 5211a44..709019d 100644
--- a/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.ts
+++ b/chrome/browser/resources/settings/your_saved_info_page/your_saved_info_page_index.ts
@@ -68,6 +68,20 @@
           this.$.viewManager.switchView(
               'parent', 'no-animation', 'no-animation');
           break;
+        case routes.ADDRESSES:
+          this.$.viewManager.switchView(
+              'addresses', 'no-animation', 'no-animation');
+          break;
+        // <if expr="is_win or is_macosx">
+        case routes.PASSKEYS:
+          this.$.viewManager.switchView(
+              'passkeys', 'no-animation', 'no-animation');
+          break;
+        // </if>
+        case routes.PAYMENTS:
+          this.$.viewManager.switchView(
+              'payments', 'no-animation', 'no-animation');
+          break;
         default:
           // Nothing to do. Other parent elements are responsible for updating
           // the displayed contents.
diff --git a/chrome/browser/resources/watermark/app.html.ts b/chrome/browser/resources/watermark/app.html.ts
index 04baab5..79156bb 100644
--- a/chrome/browser/resources/watermark/app.html.ts
+++ b/chrome/browser/resources/watermark/app.html.ts
@@ -24,7 +24,7 @@
       <div class="control-row">
         <span>Font size</span>
         <cr-input id="fontSizeInput" class="font-size-input
-            stroked" type="number"
+            stroked" type="number" aria-label="Font size"
             min="1" .value="${this.fontSize_.toString()}"
             @value-changed="${this.onFontSizeChanged_}">
         </cr-input>
@@ -32,7 +32,8 @@
 
       <div class="control-row">
         <span>White outline opacity</span>
-        <cr-slider id="outlineOpacitySlider" min="0" max="100"
+        <cr-slider id="outlineOpacitySlider" aria-label="White outline opacity"
+            min="0" max="100"
             .value="${this.outlineOpacity_}"
             .ticks="${this.opacityTicks_}"
             @cr-slider-value-changed="${this.onOutlineOpacityChanged_}">
@@ -41,7 +42,8 @@
 
       <div class="control-row">
         <span>Dark fill opacity</span>
-        <cr-slider id="fillOpacitySlider" min="0" max="100"
+        <cr-slider id="fillOpacitySlider" aria-label="Dark fill opacity"
+            min="0" max="100"
             .value="${this.fillOpacity_}"
             .ticks="${this.opacityTicks_}"
             @cr-slider-value-changed="${this.onFillOpacityChanged_}">
diff --git a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
index c357bc7..87d3b87 100644
--- a/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
+++ b/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc
@@ -67,6 +67,7 @@
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/security_interstitials/core/unsafe_resource.h"
 #include "components/signin/public/identity_manager/identity_test_environment.h"
+#include "components/site_engagement/content/site_engagement_service.h"
 #include "content/public/browser/back_forward_cache.h"
 #include "content/public/browser/browser_task_traits.h"
 #include "content/public/browser/browser_thread.h"
@@ -86,6 +87,7 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
+#include "third_party/blink/public/mojom/site_engagement/site_engagement.mojom.h"
 #include "url/gurl.h"
 
 using base::test::RunOnceClosure;
@@ -123,6 +125,12 @@
   return navigation;
 }
 
+void WaitUntilHighConfidenceAllowlistCheckDone() {
+  base::StatisticsRecorder::HistogramWaiter(
+      "SBClientPhishing.MatchHighConfidenceAllowlist")
+      .Wait();
+}
+
 }  // namespace
 
 namespace safe_browsing {
@@ -2144,6 +2152,13 @@
     return autofill_manager_injector_[web_contents()->GetPrimaryMainFrame()];
   }
 
+  site_engagement::SiteEngagementService* site_engagement_service() {
+    site_engagement::SiteEngagementService* service =
+        site_engagement::SiteEngagementService::Get(profile());
+    DCHECK(service);
+    return service;
+  }
+
  private:
   // All of these are needed in this order to get an AutofillManager that is
   // properly associated with web_contents().
@@ -2229,12 +2244,6 @@
   database_manager_->SetAllowlistLookupDetailsForUrl(url, /*match=*/true);
   NavigateAndCommit(url);
 
-  // Check that histograms haven't been recorded yet.
-  histogram_tester.ExpectTotalCount(
-      "SBClientPhishing.MatchHighConfidenceAllowlist.CreditCardForm", 0);
-  histogram_tester.ExpectTotalCount(
-      "SBClientPhishing.MatchCSDAllowlistOnCreditCardForm", 0);
-
   // This registers to listen for Autofill events since ESB is enabled.
   csd_host_->RegisterAutofillManager();
 
@@ -2274,6 +2283,8 @@
   histogram_tester.ExpectTotalCount(
       "SBClientPhishing.MatchHighConfidenceAllowlist.CreditCardForm", 0);
   histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.PreClassificationCheckResult.CreditCardForm", 0);
+  histogram_tester.ExpectTotalCount(
       "SBClientPhishing.MatchCSDAllowlistOnCreditCardForm", 0);
 
   csd_host_->RegisterAutofillManager();
@@ -2283,6 +2294,7 @@
   auto form_data = autofill::test::CreateTestCreditCardFormData(
       /*is_https=*/true, /*use_month_type=*/true);
   autofill_manager()->OnFormsSeen({form_data}, {});
+  WaitUntilHighConfidenceAllowlistCheckDone();
   WaitAndCheckPreClassificationChecks();
 
   // The feature to send CSP pings is enabled, but the host is included in the
@@ -2319,6 +2331,8 @@
 
   // Check that histograms haven't been recorded yet.
   histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.MatchHighConfidenceAllowlist.CreditCardForm", 0);
+  histogram_tester.ExpectTotalCount(
       "SBClientPhishing.PreClassificationCheckResult.CreditCardForm", 0);
   histogram_tester.ExpectTotalCount(
       "SBClientPhishing.MatchCSDAllowlistOnCreditCardForm", 0);
@@ -2330,6 +2344,7 @@
   auto form_data = autofill::test::CreateTestCreditCardFormData(
       /*is_https=*/true, /*use_month_type=*/true);
   autofill_manager()->OnFormsSeen({form_data}, {});
+  WaitUntilHighConfidenceAllowlistCheckDone();
   WaitAndCheckPreClassificationChecks();
 
   // The feature to send CSP pings is enabled, but because the sample rate
@@ -2366,6 +2381,8 @@
 
   // Check that histograms haven't been recorded yet.
   histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.MatchHighConfidenceAllowlist.CreditCardForm", 0);
+  histogram_tester.ExpectTotalCount(
       "SBClientPhishing.PreClassificationCheckResult.CreditCardForm", 0);
   histogram_tester.ExpectTotalCount(
       "SBClientPhishing.MatchCSDAllowlistOnCreditCardForm", 0);
@@ -2377,6 +2394,7 @@
   auto form_data = autofill::test::CreateTestCreditCardFormData(
       /*is_https=*/true, /*use_month_type=*/true);
   autofill_manager()->OnFormsSeen({form_data}, {});
+  WaitUntilHighConfidenceAllowlistCheckDone();
   WaitAndCheckPreClassificationChecks();
 
   // Pre-classification should have proceeded to classification.
@@ -2391,6 +2409,115 @@
       "SBClientPhishing.MatchCSDAllowlistOnCreditCardForm", false, 1);
 }
 
+TEST_F(ClientSideDetectionHostCreditCardFormTest,
+       CreditCardFormProceedsWithClassificationOnLowSiteEngagement) {
+  if (base::FeatureList::IsEnabled(kClientSideDetectionKillswitch)) {
+    GTEST_SKIP();
+  }
+
+  // Feature enabled, 0% HC allowlist acceptance, 100% sample rate,
+  // max site engagement = LOW:
+  blink::mojom::EngagementLevel maxSiteEngagement =
+      blink::mojom::EngagementLevel::LOW;
+  feature_list_.InitAndEnableFeatureWithParameters(
+      kClientSideDetectionCreditCardForm,
+      {
+          {kCsdCreditCardFormHCAcceptanceRate.name, "0.0"},
+          {kCsdCreditCardFormSampleRate.name, "1.0"},
+          {kCsdCreditCardFormMaxSiteEngagement.name,
+           base::NumberToString(static_cast<int>(maxSiteEngagement))},
+      });
+  SetEnhancedProtectionPrefForTests(profile()->GetPrefs(), true);
+
+  base::HistogramTester histogram_tester;
+
+  GURL url("http://host.com/");
+  database_manager_->SetAllowlistLookupDetailsForUrl(url, /*match=*/true);
+
+  // This should result in a reported site engagement level of LOW.
+  site_engagement_service()->ResetBaseScoreForURL(url, 1.0);
+
+  NavigateAndCommit(url);
+
+  // Check that histograms haven't been recorded yet.
+  histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.SiteEngagement.CreditCardForm", 0);
+  histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.PreClassificationCheckResult.CreditCardForm", 0);
+
+  csd_host_->RegisterAutofillManager();
+
+  ExpectPreClassificationChecks(url, &kFalse, &kFalse, nullptr, nullptr,
+                                nullptr);
+  auto form_data = autofill::test::CreateTestCreditCardFormData(
+      /*is_https=*/true, /*use_month_type=*/true);
+  autofill_manager()->OnFormsSeen({form_data}, {});
+  WaitAndCheckPreClassificationChecks();
+
+  // Pre-classification should have proceeded to classification.
+  histogram_tester.ExpectBucketCount(
+      "SBClientPhishing.SiteEngagement.CreditCardForm",
+      blink::mojom::EngagementLevel::LOW, 1);
+  histogram_tester.ExpectBucketCount(
+      "SBClientPhishing.PreClassificationCheckResult.CreditCardForm",
+      PreClassificationCheckResult::CLASSIFY, 1);
+}
+
+TEST_F(ClientSideDetectionHostCreditCardFormTest,
+       CreditCardFormDoesNotStartPreclassificationOnHighSiteEngagement) {
+  if (base::FeatureList::IsEnabled(kClientSideDetectionKillswitch)) {
+    GTEST_SKIP();
+  }
+
+  // Feature enabled, 0% HC allowlist acceptance, 100% sample rate,
+  // max site engagement = MINIMAL:
+  blink::mojom::EngagementLevel maxSiteEngagement =
+      blink::mojom::EngagementLevel::MINIMAL;
+  feature_list_.InitAndEnableFeatureWithParameters(
+      kClientSideDetectionCreditCardForm,
+      {
+          {kCsdCreditCardFormHCAcceptanceRate.name, "0.0"},
+          {kCsdCreditCardFormSampleRate.name, "1.0"},
+          {kCsdCreditCardFormMaxSiteEngagement.name,
+           base::NumberToString(static_cast<int>(maxSiteEngagement))},
+      });
+  SetEnhancedProtectionPrefForTests(profile()->GetPrefs(), true);
+
+  base::HistogramTester histogram_tester;
+
+  GURL url("http://host.com/");
+  database_manager_->SetAllowlistLookupDetailsForUrl(url, /*match=*/true);
+
+  // This should result in a reported site engagement level of LOW.
+  site_engagement_service()->ResetBaseScoreForURL(url, 1.0);
+
+  NavigateAndCommit(url);
+
+  // Check that histograms haven't been recorded yet.
+  histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.SiteEngagement.CreditCardForm", 0);
+  histogram_tester.ExpectTotalCount(
+      "SBClientPhishing.PreClassificationCheckResult.CreditCardForm", 0);
+
+  csd_host_->RegisterAutofillManager();
+
+  TestFuture<ClientSideDetectionType> future;
+  csd_host_->set_preclassification_started_callback_for_testing(
+      future.GetRepeatingCallback());
+
+  auto form_data = autofill::test::CreateTestCreditCardFormData(
+      /*is_https=*/true, /*use_month_type=*/true);
+  autofill_manager()->OnFormsSeen({form_data}, {});
+
+  // The Autofill field detection event should not have resulted in
+  // triggering preclassification.
+  EXPECT_FALSE(future.IsReady());
+
+  histogram_tester.ExpectBucketCount(
+      "SBClientPhishing.SiteEngagement.CreditCardForm",
+      blink::mojom::EngagementLevel::LOW, 1);
+}
+
 class ClientSideDetectionHostNotificationTest
     : public ClientSideDetectionHostTest {
  public:
diff --git a/chrome/browser/signin/dice_response_handler.cc b/chrome/browser/signin/dice_response_handler.cc
index 2774c527..95e5c21 100644
--- a/chrome/browser/signin/dice_response_handler.cc
+++ b/chrome/browser/signin/dice_response_handler.cc
@@ -185,8 +185,7 @@
   // generated.
   gaia_auth_fetcher_->StartAuthCodeForOAuth2TokenExchange(
       authorization_code_,
-      embedder_support::GetUserAgentMetadata(g_browser_process->local_state())
-          .SerializeBrandFullVersionList(),
+      embedder_support::GetUserAgentMetadata().SerializeBrandFullVersionList(),
       binding_registration_token_);
   base::SingleThreadTaskRunner::GetCurrentDefault()->PostDelayedTask(
       FROM_HERE, timeout_closure_.callback(),
diff --git a/chrome/browser/sync/test/integration/single_client_valuables_sync_test.cc b/chrome/browser/sync/test/integration/single_client_valuables_sync_test.cc
index fe699b9..e89b5e0 100644
--- a/chrome/browser/sync/test/integration/single_client_valuables_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_valuables_sync_test.cc
@@ -4,14 +4,18 @@
 
 #include <vector>
 
+#include "chrome/browser/autofill/autofill_entity_data_manager_factory.h"
 #include "chrome/browser/autofill/valuables_data_manager_factory.h"
 #include "chrome/browser/sync/test/integration/sync_datatype_helper.h"
 #include "chrome/browser/sync/test/integration/sync_service_impl_harness.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
+#include "components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager_test_utils.h"
 #include "components/autofill/core/browser/data_manager/valuables/valuables_data_manager.h"
 #include "components/autofill/core/browser/data_manager/valuables/valuables_data_manager_test_utils.h"
 #include "components/autofill/core/browser/data_model/valuables/loyalty_card.h"
+#include "components/autofill/core/browser/test_utils/autofill_test_utils.h"
 #include "components/autofill/core/browser/test_utils/valuables_data_test_utils.h"
+#include "components/autofill/core/browser/webdata/autofill_ai/entity_sync_util.h"
 #include "components/autofill/core/browser/webdata/valuables/valuables_sync_util.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/sync/base/features.h"
@@ -19,6 +23,10 @@
 #include "content/public/test/browser_test.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
+using autofill::AutofillEntityDataManagerFactory;
+using autofill::EntityDataChangedWaiter;
+using autofill::EntityDataManager;
+using autofill::EntityInstance;
 using autofill::LoyaltyCard;
 using autofill::ValuablesDataChangedWaiter;
 using autofill::ValuablesDataManager;
@@ -31,6 +39,25 @@
 
 namespace {
 
+EntityInstance GetServerVehicleEntityInstanceWithRandomGuid() {
+  return autofill::test::GetVehicleEntityInstanceWithRandomGuid(
+      {.nickname = "",
+       .date_modified = {},
+       .record_type = EntityInstance::RecordType::kServerWallet,
+       .are_attributes_read_only =
+           EntityInstance::AreAttributesReadOnly(false)});
+}
+
+EntityInstance GetFlightReservationEntityInstanceWithRandomGuid() {
+  return autofill::test::GetFlightReservationEntityInstanceWithRandomGuid(
+      {.nickname = "",
+       .date_modified = {},
+       .record_type = EntityInstance::RecordType::kServerWallet,
+       // Flight reservations are read-only.
+       .are_attributes_read_only =
+           EntityInstance::AreAttributesReadOnly(true)});
+}
+
 sync_pb::SyncEntity LoyaltyCardToSyncEntity(const LoyaltyCard& loyalty_card) {
   sync_pb::SyncEntity entity;
   entity.set_name(std::string(loyalty_card.id()));
@@ -55,6 +82,21 @@
   return entity;
 }
 
+sync_pb::SyncEntity EntityInstanceToSyncEntity(
+    const EntityInstance& entity_instance) {
+  sync_pb::SyncEntity entity;
+  entity.set_name(std::string(entity_instance.guid()));
+  entity.set_id_string(std::string(entity_instance.guid()));
+  entity.set_version(0);  // Will be overridden by the fake server.
+  entity.set_ctime(12345);
+  entity.set_mtime(12345);
+  sync_pb::AutofillValuableSpecifics* valuable_specifics =
+      entity.mutable_specifics()->mutable_autofill_valuable();
+  *valuable_specifics =
+      autofill::CreateSpecificsFromEntityInstance(entity_instance);
+  return entity;
+}
+
 class SingleClientValuableSyncTestBase : public SyncTest {
  public:
   SingleClientValuableSyncTestBase() : SyncTest(SINGLE_CLIENT) {}
@@ -71,7 +113,8 @@
   }
 
  protected:
-  void WaitForNumberOfCards(size_t expected_count, ValuablesDataManager* vdm) {
+  void WaitForNumberOfLoyaltyCards(size_t expected_count,
+                                   ValuablesDataManager* vdm) {
     while (vdm->GetLoyaltyCards().size() != expected_count ||
            vdm->HasPendingQueries()) {
       ValuablesDataChangedWaiter(vdm).Wait();
@@ -125,7 +168,7 @@
 
   // Signout, the data & metadata should be gone.
   GetClient(0)->SignOutPrimaryAccount();
-  WaitForNumberOfCards(0, vdm);
+  WaitForNumberOfLoyaltyCards(0, vdm);
 
   EXPECT_EQ(0uL, vdm->GetLoyaltyCards().size());
 }
@@ -144,12 +187,12 @@
 
   // Enter sync paused state, the data & metadata should be gone.
   GetClient(0)->EnterSyncPausedStateForPrimaryAccount();
-  WaitForNumberOfCards(0, vdm);
+  WaitForNumberOfLoyaltyCards(0, vdm);
   EXPECT_EQ(0uL, vdm->GetLoyaltyCards().size());
 
   // When exiting the sync paused state, the data should be redownloaded.
   GetClient(0)->ExitSyncPausedStateForPrimaryAccount();
-  WaitForNumberOfCards(1, vdm);
+  WaitForNumberOfLoyaltyCards(1, vdm);
   EXPECT_EQ(1uL, vdm->GetLoyaltyCards().size());
 }
 
@@ -185,7 +228,7 @@
   ASSERT_TRUE(
       GetClient(0)->DisableSyncForType(syncer::UserSelectableType::kPayments));
 
-  WaitForNumberOfCards(0, vdm);
+  WaitForNumberOfLoyaltyCards(0, vdm);
   EXPECT_THAT(vdm->GetLoyaltyCards(), testing::IsEmpty());
 }
 
@@ -203,7 +246,7 @@
   GetSyncService(0)->GetUserSettings()->SetSelectedTypes(
       /*sync_everything=*/false, /*types=*/{});
 
-  WaitForNumberOfCards(0, vdm);
+  WaitForNumberOfLoyaltyCards(0, vdm);
   EXPECT_THAT(vdm->GetLoyaltyCards(), testing::IsEmpty());
 }
 
@@ -256,7 +299,7 @@
   ValuablesDataManager* vdm = GetValuablesDataManager(0);
   ASSERT_NE(nullptr, vdm);
   // Make sure the data & metadata is in the DB.
-  WaitForNumberOfCards(2, vdm);
+  WaitForNumberOfLoyaltyCards(2, vdm);
   EXPECT_THAT(vdm->GetLoyaltyCards(),
               UnorderedElementsAre(loyalty_card1_, loyalty_card2_));
 }
@@ -269,7 +312,7 @@
   ASSERT_TRUE(SetupClients());
   ValuablesDataManager* vdm = GetValuablesDataManager(0);
   ASSERT_NE(nullptr, vdm);
-  WaitForNumberOfCards(2, vdm);
+  WaitForNumberOfLoyaltyCards(2, vdm);
   // Make sure the data & metadata is in the DB.
   EXPECT_THAT(vdm->GetLoyaltyCards(),
               UnorderedElementsAre(loyalty_card1_, loyalty_card2_));
@@ -281,10 +324,149 @@
   ASSERT_TRUE(SetupClients());
   ValuablesDataManager* vdm = GetValuablesDataManager(0);
   ASSERT_NE(nullptr, vdm);
-  WaitForNumberOfCards(2, vdm);
+  WaitForNumberOfLoyaltyCards(2, vdm);
   // Make sure the data & metadata is in the DB.
   EXPECT_THAT(vdm->GetLoyaltyCards(),
               UnorderedElementsAre(loyalty_card1_, loyalty_card2_));
 }
 
+class SingleClientEntityValuablesSyncTest
+    : public SingleClientValuableSyncTestBase {
+ public:
+  SingleClientEntityValuablesSyncTest() {
+    std::vector<base::test::FeatureRef> enabled_features = {
+        syncer::kSyncAutofillLoyaltyCard, syncer::kSyncMoveValuablesToProfileDb,
+        syncer::kSyncWalletFlightReservations,
+        syncer::kSyncWalletVehicleRegistrations};
+    feature_list_.InitWithFeatures(enabled_features, {});
+  }
+
+  ~SingleClientEntityValuablesSyncTest() override = default;
+  EntityDataManager* GetEntityDataManager(int index) {
+    return AutofillEntityDataManagerFactory::GetForProfile(
+        test()->GetProfile(index));
+  }
+
+ protected:
+  void WaitForNumberOfEntityInstancesCards(size_t expected_count,
+                                           EntityDataManager* edm) {
+    while (edm->GetEntityInstances().size() != expected_count ||
+           edm->HasPendingQueries()) {
+      EntityDataChangedWaiter(edm).Wait();
+    }
+  }
+};
+
+// Entities data should get loaded on initial sync.
+IN_PROC_BROWSER_TEST_F(SingleClientEntityValuablesSyncTest, InitialSync) {
+  const EntityInstance vehicle = GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle),
+                                    EntityInstanceToSyncEntity(flight)});
+  ASSERT_TRUE(SetupSync());
+  EntityDataManager* edm = GetEntityDataManager(0);
+  ASSERT_NE(nullptr, edm);
+  // Make sure the data & metadata is in the DB.
+  EXPECT_THAT(edm->GetEntityInstances(), UnorderedElementsAre(vehicle, flight));
+}
+
+// ChromeOS does not support late signin after profile creation, so the test
+// below does not apply, at least in the current form.
+#if !BUILDFLAG(IS_CHROMEOS)
+// Wallet entities should get cleared from the entity database when the user
+// signs out.
+IN_PROC_BROWSER_TEST_F(SingleClientEntityValuablesSyncTest, ClearOnSignOut) {
+  const EntityInstance vehicle = GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle),
+                                    EntityInstanceToSyncEntity(flight)});
+  ASSERT_TRUE(SetupSync());
+  EntityDataManager* edm = GetEntityDataManager(0);
+  ASSERT_NE(nullptr, edm);
+  // Make sure the data & metadata is in the DB.
+  EXPECT_THAT(edm->GetEntityInstances(), UnorderedElementsAre(vehicle, flight));
+
+  // Signout, the data & metadata should be gone.
+  GetClient(0)->SignOutPrimaryAccount();
+  WaitForNumberOfEntityInstancesCards(0, edm);
+  EXPECT_EQ(0uL, edm->GetEntityInstances().size());
+}
+#endif  // !BUILDFLAG(IS_CHROMEOS)
+
+// Wallet should get cleared from the database when the user enters the
+// sync paused state (e.g. persistent auth error).
+IN_PROC_BROWSER_TEST_F(SingleClientEntityValuablesSyncTest, ClearOnSyncPaused) {
+  const EntityInstance vehicle = GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle),
+                                    EntityInstanceToSyncEntity(flight)});
+  ASSERT_TRUE(SetupSync());
+  EntityDataManager* edm = GetEntityDataManager(0);
+  ASSERT_NE(nullptr, edm);
+  // Make sure the data & metadata is in the DB.
+  EXPECT_THAT(edm->GetEntityInstances(), UnorderedElementsAre(vehicle, flight));
+
+  // Enter sync paused state, the data & metadata should be gone.
+  GetClient(0)->EnterSyncPausedStateForPrimaryAccount();
+  WaitForNumberOfEntityInstancesCards(0, edm);
+  EXPECT_EQ(0uL, edm->GetEntityInstances().size());
+
+  // When exiting the sync paused state, the data should be redownloaded.
+  GetClient(0)->ExitSyncPausedStateForPrimaryAccount();
+  WaitForNumberOfEntityInstancesCards(2, edm);
+  EXPECT_EQ(2uL, edm->GetEntityInstances().size());
+}
+
+// Valuables are not using incremental updates. Make sure existing entities gets
+// replaced when synced down.
+IN_PROC_BROWSER_TEST_F(SingleClientEntityValuablesSyncTest,
+                       NewSyncDataShouldReplaceExistingData) {
+  const EntityInstance vehicle = GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle),
+                                    EntityInstanceToSyncEntity(flight)});
+  ASSERT_TRUE(SetupSync());
+  EntityDataManager* edm = GetEntityDataManager(0);
+  ASSERT_NE(nullptr, edm);
+  EXPECT_THAT(edm->GetEntityInstances(), UnorderedElementsAre(vehicle, flight));
+
+  // Put some completely new data in the sync server.
+  const EntityInstance vehicle2 =
+      GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight2 =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle2),
+                                    EntityInstanceToSyncEntity(flight2)});
+  EntityDataChangedWaiter(edm).Wait();
+  EXPECT_THAT(edm->GetEntityInstances(),
+              UnorderedElementsAre(vehicle2, flight2));
+}
+
+// Wallet entities should get cleared from the entity database when the user
+// disables payments sync.
+IN_PROC_BROWSER_TEST_F(SingleClientEntityValuablesSyncTest,
+                       ClearOnDisablePaymentsSync) {
+  const EntityInstance vehicle = GetServerVehicleEntityInstanceWithRandomGuid();
+  const EntityInstance flight =
+      GetFlightReservationEntityInstanceWithRandomGuid();
+  GetFakeServer()->SetValuableData({EntityInstanceToSyncEntity(vehicle),
+                                    EntityInstanceToSyncEntity(flight)});
+  ASSERT_TRUE(SetupSync());
+  EntityDataManager* edm = GetEntityDataManager(0);
+  ASSERT_NE(nullptr, edm);
+  // Make sure the data & metadata is in the DB.
+  EXPECT_THAT(edm->GetEntityInstances(), UnorderedElementsAre(vehicle, flight));
+
+  // Turn off payments sync, the data & metadata should be gone.
+  ASSERT_TRUE(
+      GetClient(0)->DisableSyncForType(syncer::UserSelectableType::kPayments));
+
+  WaitForNumberOfEntityInstancesCards(0, edm);
+  EXPECT_EQ(0uL, edm->GetEntityInstances().size());
+}
+
 }  // namespace
diff --git a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java
index 001a3bd1..7c1f397 100644
--- a/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java
+++ b/chrome/browser/tab/java/src/org/chromium/chrome/browser/tab/TabStateStorageService.java
@@ -32,56 +32,12 @@
     }
 
     /**
-     * Saves the tab state to persistent storage. This approach takes raw fields instead of an
-     * object.
+     * Saves the tab state to persistent storage.
      *
-     * @param id The id of the tab.
-     * @param parentTabId The tab id of the tab that spawned this tab, optional.
-     * @param rootId If the tab is part of a tab group, the owner tab id.
-     * @param timestampMillis The last time it was shown.
-     * @param webContentsStateBuffer Holds serialized web contents data.
-     * @param webContentsStateVersion The version of the web contents state.
-     * @param openerAppId If associated with another app, its id. Optional.
-     * @param themeColor The toolbar color specified by the page. Optional.
-     * @param launchTypeAtCreation How the tab was created.
-     * @param userAgent What user agent should be passed in the HTTP requests.
-     * @param lastNavigationCommittedTimestampMillis The time the last navigation was made.
-     * @param tabGroupId The group id if the tab is in a group. Optional.
-     * @param tabHasSensitiveContent If there is sensitive content.
-     * @param isPinned Whether the tab is pinned.
+     * @param tab The tab to save to storage.
      */
-    public void saveTabData(
-            int id,
-            int parentTabId,
-            int rootId,
-            long timestampMillis,
-            @Nullable ByteBuffer webContentsStateBuffer,
-            int webContentsStateVersion,
-            String openerAppId,
-            int themeColor,
-            int launchTypeAtCreation,
-            @TabUserAgent int userAgent,
-            long lastNavigationCommittedTimestampMillis,
-            @Nullable Token tabGroupId,
-            boolean tabHasSensitiveContent,
-            boolean isPinned) {
-        TabStateStorageServiceJni.get()
-                .saveTab(
-                        mNativeTabStateStorageService,
-                        id,
-                        parentTabId,
-                        rootId,
-                        timestampMillis,
-                        webContentsStateBuffer,
-                        webContentsStateVersion,
-                        openerAppId,
-                        themeColor,
-                        launchTypeAtCreation,
-                        userAgent,
-                        lastNavigationCommittedTimestampMillis,
-                        tabGroupId,
-                        tabHasSensitiveContent,
-                        isPinned);
+    public void saveTabData(Tab tab) {
+        TabStateStorageServiceJni.get().saveTab(mNativeTabStateStorageService, tab);
     }
 
     /**
@@ -132,22 +88,7 @@
 
     @NativeMethods
     interface Natives {
-        void saveTab(
-                long nativeTabStateStorageServiceAndroid,
-                int id,
-                int parentTabId,
-                int rootId,
-                long timestampMillis,
-                @Nullable ByteBuffer webContentsStateBuffer,
-                int webContentsStateVersion,
-                @Nullable @JniType("std::string") String openerAppId,
-                int themeColor,
-                int launchTypeAtCreation,
-                int userAgent,
-                long lastNavigationCommittedTimestampMillis,
-                @Nullable Token tabGroupId,
-                boolean tabHasSensitiveContent,
-                boolean isPinned);
+        void saveTab(long nativeTabStateStorageServiceAndroid, @JniType("TabAndroid*") Tab tab);
 
         void loadAllTabs(long nativeTabStateStorageServiceAndroid, Callback<TabState[]> callback);
     }
diff --git a/chrome/browser/tab/tab_state_storage_backend.cc b/chrome/browser/tab/tab_state_storage_backend.cc
index ee6b577..6ded38b 100644
--- a/chrome/browser/tab/tab_state_storage_backend.cc
+++ b/chrome/browser/tab/tab_state_storage_backend.cc
@@ -16,6 +16,35 @@
     base::TaskShutdownBehavior::BLOCK_SHUTDOWN};
 }  // namespace
 
+void TabStateStorageBackend::PopulateTabState(
+    tabs_pb::TabState* tab_state,
+    const TabStoragePackage& package) {
+  const auto& android_package = package.android_tab_package_;
+  if (android_package) {
+    tab_state->set_parent_id(android_package->parent_id_);
+    tab_state->set_timestamp_millis(android_package->timestamp_millis_);
+    if (android_package->web_contents_state_bytes_) {
+      tab_state->set_web_contents_state_bytes(
+          *android_package->web_contents_state_bytes_);
+    }
+    tab_state->set_web_contents_state_version(android_package->version_);
+    if (android_package->opener_app_id_) {
+      tab_state->set_opener_app_id(*android_package->opener_app_id_);
+    }
+    tab_state->set_theme_color(android_package->theme_color_);
+    tab_state->set_launch_type_at_creation(
+        android_package->launch_type_at_creation_);
+    tab_state->set_last_navigation_committed_timestamp_millis(
+        android_package->last_navigation_committed_timestamp_millis_);
+    tab_state->set_tab_has_sensitive_content(
+        android_package->tab_has_sensitive_content_);
+  }
+  tab_state->set_user_agent(package.user_agent_);
+  tab_state->set_tab_group_id_high(package.tab_group_id_.high());
+  tab_state->set_tab_group_id_low(package.tab_group_id_.low());
+  tab_state->set_is_pinned(package.is_pinned_);
+}
+
 TabStateStorageBackend::TabStateStorageBackend(
     const base::FilePath& profile_path)
     : profile_path_(profile_path),
@@ -38,15 +67,19 @@
                      weak_ptr_factory_.GetWeakPtr()));
 }
 
-void TabStateStorageBackend::SaveNode(int id,
-                                      int type,
-                                      std::string payload,
-                                      std::string children) {
+void TabStateStorageBackend::Save(std::unique_ptr<TabStoragePackage> package) {
+  tabs_pb::TabState tab_state;
+  PopulateTabState(&tab_state, *package);
+  std::string payload;
+  tab_state.SerializeToString(&payload);
+  // TODO(crbug.com/448151025): Use the storage id and a type enum.
+  int id =
+      package->android_tab_package_ ? package->android_tab_package_->id_ : 0;
   db_task_runner_->PostTaskAndReplyWithResult(
       FROM_HERE,
       base::BindOnce(&TabStateStorageDatabase::SaveNode,
-                     base::Unretained(database_.get()), id, type,
-                     std::move(payload), std::move(children)),
+                     base::Unretained(database_.get()), id, 1,
+                     std::move(payload), ""),
       base::BindOnce(&TabStateStorageBackend::OnWrite,
                      weak_ptr_factory_.GetWeakPtr()));
 }
diff --git a/chrome/browser/tab/tab_state_storage_backend.h b/chrome/browser/tab/tab_state_storage_backend.h
index d9960ae3..df84a38 100644
--- a/chrome/browser/tab/tab_state_storage_backend.h
+++ b/chrome/browser/tab/tab_state_storage_backend.h
@@ -14,6 +14,7 @@
 #include "base/task/sequenced_task_runner.h"
 #include "chrome/browser/tab/protocol/tab_state.pb.h"
 #include "chrome/browser/tab/tab_state_storage_database.h"
+#include "chrome/browser/tab/tab_storage_package.h"
 
 namespace tabs {
 
@@ -28,11 +29,13 @@
 
   void Initialize();
 
-  void SaveNode(int id, int type, std::string payload, std::string children);
+  void Save(std::unique_ptr<TabStoragePackage> package);
 
   void LoadAllNodes(base::OnceCallback<void(std::vector<NodeState>)> callback);
 
  private:
+  void PopulateTabState(tabs_pb::TabState* tab_state,
+                        const TabStoragePackage& package);
   void OnDBReady(bool success);
   void OnWrite(bool success);
   void OnAllTabsRead(base::OnceCallback<void(std::vector<NodeState>)> callback,
diff --git a/chrome/browser/tab/tab_state_storage_service.cc b/chrome/browser/tab/tab_state_storage_service.cc
index 0954f611..44ecf74 100644
--- a/chrome/browser/tab/tab_state_storage_service.cc
+++ b/chrome/browser/tab/tab_state_storage_service.cc
@@ -4,60 +4,33 @@
 
 #include "chrome/browser/tab/tab_state_storage_service.h"
 
+#include <memory>
+
 #include "base/token.h"
+#include "chrome/browser/tab/tab_storage_packager.h"
+#include "chrome/browser/tab/tab_storage_packager_android.h"
+#include "components/tabs/public/tab_interface.h"
 
 namespace tabs {
 
 TabStateStorageService::TabStateStorageService(
-    std::unique_ptr<TabStateStorageBackend> tab_backend)
-    : tab_backend_(std::move(tab_backend)) {
+    std::unique_ptr<TabStateStorageBackend> tab_backend,
+    std::unique_ptr<TabStoragePackager> packager)
+    : tab_backend_(std::move(tab_backend)), packager_(std::move(packager)) {
   tab_backend_->Initialize();
 }
 
 TabStateStorageService::~TabStateStorageService() = default;
 
-void TabStateStorageService::SaveTab(
-    int id,
-    int parent_tab_id,
-    int root_id,
-    long timestamp_millis,
-    const std::string* web_content_state_string,
-    int web_content_state_version,
-    std::string_view opener_app_id,
-    int theme_color,
-    int launch_type_at_creation,
-    int user_agent,
-    long last_navigation_committed_timestamp_millis,
-    const base::Token* tab_group_id,
-    bool tab_has_sensitive_content,
-    bool is_pinned) {
-  tabs_pb::TabState tab_state;
-  tab_state.set_parent_id(parent_tab_id);
-  tab_state.set_root_id(root_id);
-  tab_state.set_timestamp_millis(timestamp_millis);
+void TabStateStorageService::SaveTab(TabInterface* tab) {
+  std::unique_ptr<TabStoragePackage> package;
+  if (packager_) {
+    packager_->Package(tab);
+    package = packager_->ReleasePackage();
 
-  if (web_content_state_string) {
-    tab_state.set_web_contents_state_bytes(*web_content_state_string);
+    DCHECK(package) << "Packager should return a package";
+    tab_backend_->Save(std::move(package));
   }
-  tab_state.set_web_contents_state_version(web_content_state_version);
-
-  tab_state.set_opener_app_id(opener_app_id);
-  tab_state.set_theme_color(theme_color);
-  tab_state.set_launch_type_at_creation(launch_type_at_creation);
-  tab_state.set_user_agent(user_agent);
-  tab_state.set_last_navigation_committed_timestamp_millis(
-      last_navigation_committed_timestamp_millis);
-
-  if (tab_group_id) {
-    tab_state.set_tab_group_id_high(tab_group_id->high());
-    tab_state.set_tab_group_id_low(tab_group_id->low());
-  }
-
-  tab_state.set_tab_has_sensitive_content(tab_has_sensitive_content);
-  tab_state.set_is_pinned(is_pinned);
-  std::string payload;
-  tab_state.SerializeToString(&payload);
-  tab_backend_->SaveNode(id, 1, std::move(payload), "");
 }
 
 void TabStateStorageService::LoadAllTabs(LoadAllTabsCallback callback) {
diff --git a/chrome/browser/tab/tab_state_storage_service.h b/chrome/browser/tab/tab_state_storage_service.h
index 7a73939..dd81de9 100644
--- a/chrome/browser/tab/tab_state_storage_service.h
+++ b/chrome/browser/tab/tab_state_storage_service.h
@@ -15,7 +15,9 @@
 #include "base/supports_user_data.h"
 #include "chrome/browser/tab/tab_state_storage_backend.h"
 #include "chrome/browser/tab/tab_state_storage_database.h"
+#include "chrome/browser/tab/tab_storage_packager.h"
 #include "components/keyed_service/core/keyed_service.h"
+#include "components/tabs/public/tab_interface.h"
 
 namespace tabs {
 
@@ -26,23 +28,11 @@
       base::OnceCallback<void(std::vector<tabs_pb::TabState>)>;
 
   explicit TabStateStorageService(
-      std::unique_ptr<TabStateStorageBackend> tab_backend);
+      std::unique_ptr<TabStateStorageBackend> tab_backend,
+      std::unique_ptr<TabStoragePackager>);
   ~TabStateStorageService() override;
 
-  void SaveTab(int id,
-               int parent_tab_id,
-               int root_id,
-               long timestamp_millis,
-               const std::string* web_content_state_string,
-               int web_content_state_version,
-               std::string_view opener_app_id,
-               int theme_color,
-               int launch_type_at_creation,
-               int user_agent,
-               long last_navigation_committed_timestamp_millis,
-               const base::Token* tab_group_id,
-               bool tab_has_sensitive_content,
-               bool is_pinned);
+  void SaveTab(TabInterface* tab);
 
   void LoadAllTabs(LoadAllTabsCallback callback);
 
@@ -55,6 +45,7 @@
   void OnAllTabsLoaded(LoadAllTabsCallback callback,
                        std::vector<NodeState> entries);
   std::unique_ptr<TabStateStorageBackend> tab_backend_;
+  std::unique_ptr<TabStoragePackager> packager_;
 };
 
 }  // namespace tabs
diff --git a/chrome/browser/tab/tab_state_storage_service_android.cc b/chrome/browser/tab/tab_state_storage_service_android.cc
index efc58cbc..711fabc 100644
--- a/chrome/browser/tab/tab_state_storage_service_android.cc
+++ b/chrome/browser/tab/tab_state_storage_service_android.cc
@@ -17,6 +17,7 @@
 #include "base/memory/ptr_util.h"
 #include "base/memory/raw_ptr.h"
 #include "base/token.h"
+#include "chrome/browser/android/tab_android.h"
 #include "chrome/browser/tab/tab_state_storage_backend.h"
 #include "chrome/browser/tab/tab_state_storage_service.h"
 
@@ -86,42 +87,8 @@
 
 TabStateStorageServiceAndroid::~TabStateStorageServiceAndroid() = default;
 
-void TabStateStorageServiceAndroid::SaveTab(
-    JNIEnv* env,
-    int id,
-    int parent_tab_id,
-    int root_id,
-    long timestamp_millis,
-    const jni_zero::JavaParamRef<jobject>& web_contents_state_buffer,
-    int web_contents_state_version,
-    std::string opener_app_id,
-    int theme_color,
-    int launch_type_at_creation,
-    int user_agent,
-    long last_navigation_committed_timestamp_millis,
-    const jni_zero::JavaParamRef<jobject>& j_tab_group_id,
-    bool tab_has_sensitive_content,
-    bool is_pinned) {
-  std::unique_ptr<std::string> web_content_state_string;
-  if (web_contents_state_buffer) {
-    base::span<const uint8_t> span =
-        base::android::JavaByteBufferToSpan(env, web_contents_state_buffer);
-    web_content_state_string =
-        std::make_unique<std::string>(span.begin(), span.end());
-  }
-
-  std::unique_ptr<base::Token> tab_group_id;
-  if (j_tab_group_id) {
-    tab_group_id = std::make_unique<base::Token>(
-        base::android::TokenAndroid::FromJavaToken(env, j_tab_group_id));
-  }
-
-  tab_state_storage_service_->SaveTab(
-      id, parent_tab_id, root_id, timestamp_millis,
-      web_content_state_string.get(), web_contents_state_version, opener_app_id,
-      theme_color, launch_type_at_creation, user_agent,
-      last_navigation_committed_timestamp_millis, tab_group_id.get(),
-      tab_has_sensitive_content, is_pinned);
+void TabStateStorageServiceAndroid::SaveTab(JNIEnv* env, TabAndroid* tab) {
+  tab_state_storage_service_->SaveTab(tab);
 }
 
 void TabStateStorageServiceAndroid::LoadAllTabs(
diff --git a/chrome/browser/tab/tab_state_storage_service_android.h b/chrome/browser/tab/tab_state_storage_service_android.h
index 6fa7c2e..93a930f7 100644
--- a/chrome/browser/tab/tab_state_storage_service_android.h
+++ b/chrome/browser/tab/tab_state_storage_service_android.h
@@ -5,11 +5,11 @@
 #ifndef CHROME_BROWSER_TAB_TAB_STATE_STORAGE_SERVICE_ANDROID_H_
 #define CHROME_BROWSER_TAB_TAB_STATE_STORAGE_SERVICE_ANDROID_H_
 
-#include <memory>
-
 #include "base/android/scoped_java_ref.h"
+#include "chrome/browser/android/tab_android.h"
 #include "chrome/browser/tab/tab_state_storage_backend.h"
 #include "chrome/browser/tab/tab_state_storage_service.h"
+#include "chrome/browser/tab/tab_storage_packager.h"
 #include "components/keyed_service/core/keyed_service.h"
 
 namespace tabs {
@@ -23,21 +23,7 @@
       TabStateStorageService* tab_state_storage_service);
   ~TabStateStorageServiceAndroid() override;
 
-  void SaveTab(JNIEnv* env,
-               int id,
-               int parent_tab_id,
-               int root_id,
-               long timestamp_millis,
-               const jni_zero::JavaParamRef<jobject>& web_contents_state_buffer,
-               int web_contents_state_version,
-               std::string opener_app_id,
-               int theme_color,
-               int launch_type_at_creation,
-               int user_agent,
-               long last_navigation_committed_timestamp_millis,
-               const jni_zero::JavaParamRef<jobject>& j_tab_group_id,
-               bool tab_has_sensitive_content,
-               bool is_pinned);
+  void SaveTab(JNIEnv* env, TabAndroid* tab);
 
   void LoadAllTabs(JNIEnv* env,
                    const jni_zero::JavaParamRef<jobject>& j_callback);
diff --git a/chrome/browser/tab/tab_state_storage_service_factory.cc b/chrome/browser/tab/tab_state_storage_service_factory.cc
index f7747df..3591fe4 100644
--- a/chrome/browser/tab/tab_state_storage_service_factory.cc
+++ b/chrome/browser/tab/tab_state_storage_service_factory.cc
@@ -10,6 +10,8 @@
 #include "chrome/browser/flags/android/chrome_feature_list.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/tab/jni_headers/TabStateStorageServiceFactory_jni.h"
+#include "chrome/browser/tab/tab_storage_packager.h"
+#include "chrome/browser/tab/tab_storage_packager_android.h"
 
 namespace tabs {
 
@@ -58,7 +60,12 @@
   Profile* profile = static_cast<Profile*>(context);
   std::unique_ptr<TabStateStorageBackend> tab_backend =
       std::make_unique<TabStateStorageBackend>(profile->GetPath());
-  return std::make_unique<TabStateStorageService>(std::move(tab_backend));
+  std::unique_ptr<TabStoragePackager> packager;
+#if BUILDFLAG(IS_ANDROID)
+  packager = std::make_unique<TabStoragePackagerAndroid>();
+#endif
+  return std::make_unique<TabStateStorageService>(std::move(tab_backend),
+                                                  std::move(packager));
 }
 
 }  // namespace tabs
diff --git a/chrome/browser/tab/tab_storage_packager.h b/chrome/browser/tab/tab_storage_packager.h
index 59dddda..37c14f2 100644
--- a/chrome/browser/tab/tab_storage_packager.h
+++ b/chrome/browser/tab/tab_storage_packager.h
@@ -18,8 +18,8 @@
 // This class is used to package tab data for use in the background thread.
 class TabStoragePackager {
  public:
-  TabStoragePackager();
-  ~TabStoragePackager();
+  TabStoragePackager() = default;
+  virtual ~TabStoragePackager() = default;
 
   TabStoragePackager(const TabStoragePackager&) = delete;
   TabStoragePackager& operator=(const TabStoragePackager&) = delete;
@@ -32,9 +32,6 @@
   // transferred out of the packager. After this call, the stored package will
   // be null.
   virtual std::unique_ptr<TabStoragePackage> ReleasePackage() = 0;
-
- protected:
-  std::unique_ptr<TabStoragePackage> package_;
 };
 
 }  // namespace tabs
diff --git a/chrome/browser/tab/tab_storage_packager_android.h b/chrome/browser/tab/tab_storage_packager_android.h
index f41eb7a1..f5aa4bd 100644
--- a/chrome/browser/tab/tab_storage_packager_android.h
+++ b/chrome/browser/tab/tab_storage_packager_android.h
@@ -21,7 +21,7 @@
 class TabStoragePackagerAndroid : public TabStoragePackager {
  public:
   TabStoragePackagerAndroid();
-  ~TabStoragePackagerAndroid();
+  ~TabStoragePackagerAndroid() override;
 
   TabStoragePackagerAndroid(const TabStoragePackagerAndroid&) = delete;
   TabStoragePackagerAndroid& operator=(const TabStoragePackagerAndroid&) =
@@ -43,6 +43,7 @@
   base::android::ScopedJavaLocalRef<jobject> GetJavaObject();
 
  private:
+  std::unique_ptr<TabStoragePackage> package_;
   // A reference to the Java version of this class.
   base::android::ScopedJavaGlobalRef<jobject> java_obj_;
 };
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModel.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModel.java
index 128219b..2b98cb0 100644
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModel.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModel.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.tabmodel;
 
+import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.build.annotations.NullMarked;
 import org.chromium.build.annotations.Nullable;
@@ -14,7 +15,9 @@
 import org.chromium.chrome.browser.tab.TabLaunchType;
 import org.chromium.chrome.browser.tab.TabSelectionType;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.OptionalInt;
 import java.util.Set;
 
@@ -24,6 +27,8 @@
  */
 @NullMarked
 public interface TabModel extends SupportsTabModelObserver, TabList {
+    Map<Integer, Long> sTabPinTimestampMap = new HashMap<>();
+
     /** Returns the profile associated with the current model. */
     @Nullable Profile getProfile();
 
@@ -229,4 +234,33 @@
      * @param tab The {@link Tab} to check.
      */
     boolean isMuted(Tab tab);
+
+    private static long getCurrentTimeMillis() {
+        return System.currentTimeMillis();
+    }
+
+    /**
+     * Records the timestamp when a tab is pinned.
+     *
+     * @param tab The tab that was pinned.
+     */
+    default void recordPinTimestamp(Tab tab) {
+        sTabPinTimestampMap.put(tab.getId(), getCurrentTimeMillis());
+    }
+
+    /**
+     * Records the duration for which a tab was pinned. This is called when a tab is unpinned. If a
+     * timestamp for the tab's pinning exists, it calculates the duration and records it to a
+     * histogram.
+     *
+     * @param tab The tab that was unpinned.
+     */
+    default void recordPinnedDuration(Tab tab) {
+        if (sTabPinTimestampMap.containsKey(tab.getId())) {
+            long pinTimestamp = sTabPinTimestampMap.get(tab.getId());
+            long duration = getCurrentTimeMillis() - pinTimestamp;
+            RecordHistogram.recordLongTimesHistogram100("Tab.PinnedDuration", duration);
+            sTabPinTimestampMap.remove(tab.getId());
+        }
+    }
 }
diff --git a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelOrderControllerImpl.java b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelOrderControllerImpl.java
index be1ea65c..a104089e 100644
--- a/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelOrderControllerImpl.java
+++ b/chrome/browser/tabmodel/android/java/src/org/chromium/chrome/browser/tabmodel/TabModelOrderControllerImpl.java
@@ -35,7 +35,7 @@
         if (type == TabLaunchType.FROM_BROWSER_ACTIONS || type == TabLaunchType.FROM_RECENT_TABS) {
             return TabList.INVALID_TAB_INDEX;
         }
-        if (newTab.getIsPinned()) {
+        if (newTab.getIsPinned() && type != TabLaunchType.FROM_RESTORE) {
             TabModel tabModel = mTabModelSelector.getCurrentModel();
 
             if (type == TabLaunchType.FROM_TAB_LIST_INTERFACE) {
@@ -43,9 +43,10 @@
                 @Nullable Tab parentTab = tabModel.getTabById(parentId);
                 int index = tabModel.indexOf(parentTab);
                 if (parentTab != null
-                    && index != TabList.INVALID_TAB_INDEX
-                    && parentTab.getIsPinned())
-                return index + 1;
+                        && index != TabList.INVALID_TAB_INDEX
+                        && parentTab.getIsPinned()) {
+                    return index + 1;
+                }
             }
 
             // Use the `position` when its in valid range; otherwise defer to TabModel
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 5a753e3..bcf718d6 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -1273,6 +1273,8 @@
       "webui/settings/recent_site_settings_helper.h",
       "webui/settings/reset_settings_handler.cc",
       "webui/settings/reset_settings_handler.h",
+      "webui/settings/saved_info_handler.cc",
+      "webui/settings/saved_info_handler.h",
       "webui/settings/search_engines_handler.cc",
       "webui/settings/search_engines_handler.h",
       "webui/settings/settings_clear_browsing_data_handler.cc",
diff --git a/chrome/browser/ui/android/web_app_header/BUILD.gn b/chrome/browser/ui/android/web_app_header/BUILD.gn
index 084b623d..abff159 100644
--- a/chrome/browser/ui/android/web_app_header/BUILD.gn
+++ b/chrome/browser/ui/android/web_app_header/BUILD.gn
@@ -74,6 +74,7 @@
     "//base:base_java_test_support",
     "//base:base_junit_test_support",
     "//chrome/browser/android/browserservices/intents:java",
+    "//chrome/browser/browser_controls/android:java",
     "//chrome/browser/flags:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/tab:java",
diff --git a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinator.java b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinator.java
index a2e8b0fe..b75fc30 100644
--- a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinator.java
+++ b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinator.java
@@ -80,6 +80,7 @@
     private boolean mShowButtons;
     private long mLastButtonVisibilityChangeTime;
     private final Callback<Boolean> mSetHeaderAsOverlayCallback;
+    private final BrowserControlsStateProvider mBrowserControlsStateProvider;
 
     /**
      * Creates an instance of {@link WebAppHeaderLayoutCoordinator}.
@@ -95,7 +96,8 @@
             BrowserServicesIntentDataProvider browserServicesIntentDataProvider,
             ScrimManager scrimManager,
             NavigationPopup.HistoryDelegate historyDelegate,
-            Callback<Boolean> setHeaderAsOverlayCallback) {
+            Callback<Boolean> setHeaderAsOverlayCallback,
+            BrowserControlsStateProvider browserControlsStateProvider) {
         assert browserServicesIntentDataProvider.isWebApkActivity()
                 || browserServicesIntentDataProvider.isTrustedWebActivity();
 
@@ -106,6 +108,9 @@
         mScrimManager = scrimManager;
         mSetHeaderAsOverlayCallback = setHeaderAsOverlayCallback;
 
+        mBrowserControlsStateProvider = browserControlsStateProvider;
+        mBrowserControlsStateProvider.addObserver(this);
+
         mViewStub = viewStub;
         mViewStub.setLayoutResource(R.layout.web_app_header_layout);
 
@@ -160,6 +165,10 @@
                         mSetHeaderAsOverlayCallback);
         PropertyModelChangeProcessor.create(model, mView, WebAppHeaderLayoutViewBinder::bind);
 
+        // Initial visibility state must be initialized after mediator is initialized.
+        onAndroidControlsVisibilityChanged(
+                mBrowserControlsStateProvider.getAndroidControlsVisibility());
+
         mMediator.getUnoccludedWidthSupplier().addObserver(mOnUnoccludedWidthCallback);
         if (mDisplayMode == DisplayMode.MINIMAL_UI) {
             initMinUiControls();
@@ -298,6 +307,7 @@
         logControlsVisibilityChange(mAppHeaderUnoccludedWidthPx >= mMinUIControlsMinWidthPx);
 
         mDesktopWindowStateManager.removeObserver(this);
+        mBrowserControlsStateProvider.removeObserver(this);
 
         if (mView != null) {
             mView.destroy();
diff --git a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinatorTest.java b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinatorTest.java
index 34e06455..d1b6b26 100644
--- a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinatorTest.java
+++ b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutCoordinatorTest.java
@@ -44,6 +44,7 @@
 import org.chromium.base.test.util.Features.EnableFeatures;
 import org.chromium.base.test.util.HistogramWatcher;
 import org.chromium.blink.mojom.DisplayMode;
+import org.chromium.chrome.browser.browser_controls.BrowserControlsStateProvider;
 import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider;
 import org.chromium.chrome.browser.browserservices.intents.WebappExtras;
 import org.chromium.chrome.browser.browserservices.intents.WebappIcon;
@@ -92,6 +93,7 @@
     @Mock public WebappExtras mWebAppExtras;
     @Mock public Tab mTab;
     @Mock public Callback<Boolean> mSetHeaderAsOverlayCallback;
+    @Mock public BrowserControlsStateProvider mBrowserControlsStateProvider;
 
     private WebAppHeaderLayoutCoordinator mCoordinator;
     private Activity mActivity;
@@ -131,7 +133,8 @@
                         mIntentDataProvider,
                         mScrimManager,
                         mHistoryDelegate,
-                        mSetHeaderAsOverlayCallback);
+                        mSetHeaderAsOverlayCallback,
+                        mBrowserControlsStateProvider);
     }
 
     private void setupDesktopWindowing(boolean isInDesktopWindow) {
diff --git a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutMediator.java b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutMediator.java
index 4b42765..58a3c7c 100644
--- a/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutMediator.java
+++ b/chrome/browser/ui/android/web_app_header/java/src/org/chromium/chrome/browser/ui/web_app_header/WebAppHeaderLayoutMediator.java
@@ -141,7 +141,10 @@
 
     private void updateHeaderAsOverlay() {
         mHeaderAsOverlay =
-                mDisplayMode == DisplayMode.WINDOW_CONTROLS_OVERLAY && !mBrowserControlsVisible;
+                mCurrentHeaderState != null
+                        && mCurrentHeaderState.isInDesktopWindow()
+                        && mDisplayMode == DisplayMode.WINDOW_CONTROLS_OVERLAY
+                        && !mBrowserControlsVisible;
         mSetHeaderAsOverlayCallback.onResult(mHeaderAsOverlay);
         updateBackgroundBars();
         updateNonDraggableAreas();
diff --git a/chrome/browser/ui/ash/graduation/graduation_manager_impl.cc b/chrome/browser/ui/ash/graduation/graduation_manager_impl.cc
index e344c4ef..72bb6a48 100644
--- a/chrome/browser/ui/ash/graduation/graduation_manager_impl.cc
+++ b/chrome/browser/ui/ash/graduation/graduation_manager_impl.cc
@@ -112,6 +112,7 @@
 void GraduationManagerImpl::OnUserSessionStarted(bool is_primary) {
   profile_ = ProfileManager::GetActiveUserProfile();
   CHECK(profile_);
+  pref_change_registrar_.Reset();
   if (!profile_->GetProfilePolicyConnector()->IsManaged()) {
     return;
   }
diff --git a/chrome/browser/ui/autofill/autofill_ai/save_or_update_autofill_ai_data_controller_impl.cc b/chrome/browser/ui/autofill/autofill_ai/save_or_update_autofill_ai_data_controller_impl.cc
index 25186d9..d4464d8c 100644
--- a/chrome/browser/ui/autofill/autofill_ai/save_or_update_autofill_ai_data_controller_impl.cc
+++ b/chrome/browser/ui/autofill/autofill_ai/save_or_update_autofill_ai_data_controller_impl.cc
@@ -24,7 +24,6 @@
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/singleton_tabs.h"
-#include "chrome/common/url_constants.h"
 #include "chrome/grit/browser_resources.h"
 #include "components/autofill/core/browser/data_model/autofill_ai/entity_instance.h"
 #include "components/autofill/core/browser/data_model/autofill_ai/entity_type.h"
@@ -306,7 +305,9 @@
 void SaveOrUpdateAutofillAiDataControllerImpl::OnGoToWalletLinkClicked() {
   if (Browser* browser = chrome::FindBrowserWithTab(web_contents())) {
     reopen_bubble_when_web_contents_becomes_visible_ = true;
-    ShowSingletonTab(browser, GURL(chrome::kWalletPassesPageURL));
+    static constexpr std::string_view kWalletPassesUrl =
+        "https://wallet.google.com/wallet/passes";
+    ShowSingletonTab(browser, GURL(kWalletPassesUrl));
   }
 }
 
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
index 62ec1ab8..0940aac 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
@@ -85,6 +85,8 @@
 #include "components/autofill/core/browser/data_manager/personal_data_manager.h"
 #include "components/autofill/core/browser/data_manager/valuables/valuables_data_manager.h"
 #include "components/autofill/core/browser/data_model/addresses/autofill_profile.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type_names.h"
 #include "components/autofill/core/browser/filling/filling_product.h"
 #include "components/autofill/core/browser/form_import/form_data_importer.h"
 #include "components/autofill/core/browser/foundations/autofill_client.h"
@@ -972,6 +974,72 @@
 #endif
 }
 
+void ChromeAutofillClient::TriggerAutofillAiFillingJourneySurvey(
+    bool suggestion_accepted,
+    EntityType entity_type) {
+#if !BUILDFLAG(IS_ANDROID)
+  Profile* profile =
+      Profile::FromBrowserContext(web_contents()->GetBrowserContext());
+  auto* hats_service =
+      HatsServiceFactory::GetForProfile(profile, /*create_if_necessary=*/true);
+  CHECK(hats_service);
+
+  const std::string trigger_id = [&]() {
+    switch (entity_type.name()) {
+      case EntityTypeName::kPassport:
+        return features::kAutofillAiFillingSurveyPassportTriggerId.Get();
+      case EntityTypeName::kDriversLicense:
+        return features::kAutofillAiFillingSurveyDriversLicenseTriggerId.Get();
+      case EntityTypeName::kFlightReservation:
+        return features::kAutofillAiFillingSurveyFlightReservationTriggerId
+            .Get();
+      case EntityTypeName::kKnownTravelerNumber:
+        return features::kAutofillAiFillingSurveyKTNTriggerId.Get();
+      case EntityTypeName::kVehicle:
+        return features::kAutofillAiFillingSurveyVehicleInfoTriggerId.Get();
+      case EntityTypeName::kNationalIdCard:
+        return features::kAutofillAiFillingSurveyNationalIDTriggerId.Get();
+      case EntityTypeName::kRedressNumber:
+        return features::kAutofillAiFillingSurveyRedressNumberTriggerId.Get();
+    }
+    return std::string();
+  }();
+  if (!trigger_id.empty()) {
+    hats_service->LaunchDelayedSurveyForWebContents(
+        kHatsSurveyTriggerAutofillAiFilling, web_contents(),
+        /*timeout_ms=*/5000,
+        {{"User accepted suggestion", suggestion_accepted}},
+        /*product_specific_string_data=*/{},
+        HatsService::NavigationBehavior::ALLOW_ANY, base::DoNothing(),
+        base::DoNothing(), trigger_id);
+  }
+#endif
+}
+
+void ChromeAutofillClient::TriggerAutofillAiSavePromptSurvey(
+    bool prompt_accepted) {
+#if !BUILDFLAG(IS_ANDROID)
+  Profile* profile =
+      Profile::FromBrowserContext(web_contents()->GetBrowserContext());
+  auto* hats_service =
+      HatsServiceFactory::GetForProfile(profile, /*create_if_necessary=*/true);
+  CHECK(hats_service);
+
+  const std::string trigger_id =
+      prompt_accepted
+          ? features::kAutofillAiSavePromptSurveyAcceptedTriggerId.Get()
+          : features::kAutofillAiSavePromptSurveyDeclinedTriggerId.Get();
+  if (!trigger_id.empty()) {
+    hats_service->LaunchDelayedSurveyForWebContents(
+        kHatsSurveyTriggerAutofillAiSavePrompt, web_contents(),
+        /*timeout_ms=*/5000,
+        /*product_specific_bits_data=*/{}, /*product_specific_string_data=*/{},
+        HatsService::NavigationBehavior::ALLOW_ANY, base::DoNothing(),
+        base::DoNothing(), trigger_id);
+  }
+#endif
+}
+
 bool ChromeAutofillClient::IsAutofillEnabled() const {
   return IsAutofillProfileEnabled() || IsAutofillPaymentMethodsEnabled();
 }
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.h b/chrome/browser/ui/autofill/chrome_autofill_client.h
index 5cb15a41..2a8fc3bb 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client.h
+++ b/chrome/browser/ui/autofill/chrome_autofill_client.h
@@ -27,6 +27,7 @@
 #include "components/autofill/core/browser/country_type.h"
 #include "components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_manager.h"
 #include "components/autofill/core/browser/crowdsourcing/votes_uploader.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type.h"
 #include "components/autofill/core/browser/filling/filling_product.h"
 #include "components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager.h"
 #include "components/autofill/core/browser/integrators/identity_credential/identity_credential_delegate.h"
@@ -191,6 +192,9 @@
       FillingProduct filling_product,
       const std::map<std::string, std::string>& field_filling_stats_data) final;
   void TriggerDeclinedSaveAddressReasonSurvey() final;
+  void TriggerAutofillAiFillingJourneySurvey(bool suggestion_accepted,
+                                             EntityType entity_type) final;
+  void TriggerAutofillAiSavePromptSurvey(bool prompt_accepted) final;
   bool IsAutofillEnabled() const final;
   bool IsAutofillProfileEnabled() const final;
   bool IsAutofillPaymentMethodsEnabled() const final;
diff --git a/chrome/browser/ui/autofill/chrome_autofill_client_unittest.cc b/chrome/browser/ui/autofill/chrome_autofill_client_unittest.cc
index bdc4bdc..bace91c1 100644
--- a/chrome/browser/ui/autofill/chrome_autofill_client_unittest.cc
+++ b/chrome/browser/ui/autofill/chrome_autofill_client_unittest.cc
@@ -21,6 +21,7 @@
 #include "chrome/browser/ui/autofill/autofill_field_promo_controller.h"
 #include "chrome/browser/ui/autofill/edit_address_profile_dialog_controller_impl.h"
 #include "chrome/browser/ui/browser_window/public/browser_window_features.h"
+#include "chrome/browser/ui/hats/hats_service.h"
 #include "chrome/browser/ui/user_education/browser_user_education_interface.h"
 #include "chrome/browser/user_education/user_education_service.h"
 #include "chrome/browser/user_education/user_education_service_factory.h"
@@ -35,6 +36,8 @@
 #include "components/autofill/core/browser/data_manager/test_personal_data_manager.h"
 #include "components/autofill/core/browser/data_model/addresses/autofill_profile.h"
 #include "components/autofill/core/browser/data_model/addresses/autofill_profile_test_api.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type_names.h"
 #include "components/autofill/core/browser/foundations/test_autofill_manager_waiter.h"
 #include "components/autofill/core/browser/foundations/test_browser_autofill_manager.h"
 #include "components/autofill/core/browser/integrators/fast_checkout/mock_fast_checkout_client.h"
@@ -42,6 +45,7 @@
 #include "components/autofill/core/browser/payments/payments_autofill_client.h"
 #include "components/autofill/core/browser/test_utils/autofill_test_utils.h"
 #include "components/autofill/core/browser/ui/mock_autofill_suggestion_delegate.h"
+#include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/autofill_test_utils.h"
 #include "components/autofill/core/common/form_field_data.h"
@@ -503,6 +507,106 @@
                                                   field_filling_stats_data);
 }
 
+// Test that the Autofill AI filling journey survey calls the hats service with
+// the expected params.
+TEST_F(ChromeAutofillClientTest,
+       TriggerUserAutofillAiFillingJourneySurvey_Passport_SuggestionAccepted) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitWithFeaturesAndParameters(
+      /*enabled_features=*/{{features::kAutofillAiFillingSurvey,
+                             {{"autofill_ai_filling_survey_passport_trigger_id",
+                               "12345"}}}},
+      /*disabled_features=*/{});
+  MockHatsService* mock_hats_service = static_cast<MockHatsService*>(
+      HatsServiceFactory::GetInstance()->SetTestingFactoryAndUse(
+          profile(), base::BindRepeating(&BuildMockHatsService)));
+  EXPECT_CALL(*mock_hats_service, CanShowAnySurvey)
+      .WillRepeatedly(Return(true));
+
+  EXPECT_CALL(*mock_hats_service,
+              LaunchDelayedSurveyForWebContents(
+                  kHatsSurveyTriggerAutofillAiFilling, _, _,
+                  Eq(SurveyBitsData({{"User accepted suggestion", true}})), _,
+                  _, _, _, Eq("12345"), _));
+
+  client()->TriggerAutofillAiFillingJourneySurvey(
+      /*suggestion_accepted=*/true, EntityType(EntityTypeName::kPassport));
+}
+
+TEST_F(
+    ChromeAutofillClientTest,
+    TriggerUserAutofillAiFillingJourneySurvey_NationalId_SuggestionDeclined) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitWithFeaturesAndParameters(
+      /*enabled_features=*/
+      {{features::kAutofillAiFillingSurvey,
+        {{"autofill_ai_filling_survey_national_id_trigger_id", "12345"}}}},
+      /*disabled_features=*/{});
+  MockHatsService* mock_hats_service = static_cast<MockHatsService*>(
+      HatsServiceFactory::GetInstance()->SetTestingFactoryAndUse(
+          profile(), base::BindRepeating(&BuildMockHatsService)));
+  EXPECT_CALL(*mock_hats_service, CanShowAnySurvey)
+      .WillRepeatedly(Return(true));
+
+  EXPECT_CALL(*mock_hats_service,
+              LaunchDelayedSurveyForWebContents(
+                  kHatsSurveyTriggerAutofillAiFilling, _, _,
+                  Eq(SurveyBitsData({{"User accepted suggestion", false}})), _,
+                  _, _, _, Eq("12345"), _));
+
+  client()->TriggerAutofillAiFillingJourneySurvey(
+      /*suggestion_accepted=*/false,
+      EntityType(EntityTypeName::kNationalIdCard));
+}
+
+// Test that the Autofill AI save prompt survey calls the hats service with
+// the expected params.
+TEST_F(ChromeAutofillClientTest,
+       TriggerUserAutofillAiSavePromptSurvey_Accepted) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitWithFeaturesAndParameters(
+      /*enabled_features=*/{{features::kAutofillAiSavePromptSurvey,
+                             {{"autofill_ai_walletable_entity_save_prompt_"
+                               "survey_accepted_trigger_id",
+                               "12345"}}}},
+      /*disabled_features=*/{});
+  MockHatsService* mock_hats_service = static_cast<MockHatsService*>(
+      HatsServiceFactory::GetInstance()->SetTestingFactoryAndUse(
+          profile(), base::BindRepeating(&BuildMockHatsService)));
+  EXPECT_CALL(*mock_hats_service, CanShowAnySurvey)
+      .WillRepeatedly(Return(true));
+
+  EXPECT_CALL(*mock_hats_service, LaunchDelayedSurveyForWebContents(
+                                      kHatsSurveyTriggerAutofillAiSavePrompt, _,
+                                      _, _, _, _, _, _, Eq("12345"), _));
+
+  client()->TriggerAutofillAiSavePromptSurvey(
+      /*prompt_accepted=*/true);
+}
+
+TEST_F(ChromeAutofillClientTest,
+       TriggerUserAutofillAiSavePromptSurvey_Declined) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitWithFeaturesAndParameters(
+      /*enabled_features=*/{{features::kAutofillAiSavePromptSurvey,
+                             {{"autofill_ai_walletable_entity_save_prompt_"
+                               "survey_declined_trigger_id",
+                               "12345"}}}},
+      /*disabled_features=*/{});
+  MockHatsService* mock_hats_service = static_cast<MockHatsService*>(
+      HatsServiceFactory::GetInstance()->SetTestingFactoryAndUse(
+          profile(), base::BindRepeating(&BuildMockHatsService)));
+  EXPECT_CALL(*mock_hats_service, CanShowAnySurvey)
+      .WillRepeatedly(Return(true));
+
+  EXPECT_CALL(*mock_hats_service, LaunchDelayedSurveyForWebContents(
+                                      kHatsSurveyTriggerAutofillAiSavePrompt, _,
+                                      _, _, _, _, _, _, Eq("12345"), _));
+
+  client()->TriggerAutofillAiSavePromptSurvey(
+      /*prompt_accepted=*/false);
+}
+
 TEST_F(ChromeAutofillClientTest,
        TriggerUserPerceptionOfAutofillCreditCardSurvey) {
   MockHatsService* mock_hats_service = static_cast<MockHatsService*>(
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc
index 94593b9..f396495f 100644
--- a/chrome/browser/ui/browser_commands.cc
+++ b/chrome/browser/ui/browser_commands.cc
@@ -2355,8 +2355,7 @@
     ua_override.ua_string_override =
         embedder_support::BuildUserAgentFromOSAndProduct(
             kOsOverrideForTabletSite, product);
-    ua_override.ua_metadata_override = embedder_support::GetUserAgentMetadata(
-        g_browser_process->local_state());
+    ua_override.ua_metadata_override = embedder_support::GetUserAgentMetadata();
     ua_override.ua_metadata_override->mobile = true;
     ua_override.ua_metadata_override->form_factors = {blink::kTabletFormFactor};
     ua_override.ua_metadata_override->platform =
diff --git a/chrome/browser/ui/hats/survey_config.h b/chrome/browser/ui/hats/survey_config.h
index 49cf7a6c..e52281f 100644
--- a/chrome/browser/ui/hats/survey_config.h
+++ b/chrome/browser/ui/hats/survey_config.h
@@ -19,6 +19,8 @@
 // Trigger identifiers currently used; duplicates not allowed.
 extern const char kHatsSurveyTriggerAutofillAddress[];
 extern const char kHatsSurveyTriggerAutofillAddressUserPerception[];
+extern const char kHatsSurveyTriggerAutofillAiFilling[];
+extern const char kHatsSurveyTriggerAutofillAiSavePrompt[];
 extern const char kHatsSurveyTriggerAutofillAddressUserDeclinedSuggestion[];
 extern const char kHatsSurveyTriggerAutofillAddressUserDeclinedSave[];
 extern const char kHatsSurveyTriggerAutofillCreditCardUserPerception[];
diff --git a/chrome/browser/ui/omnibox/omnibox_edit_model.cc b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
index d19de643f..1b2e665 100644
--- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc
@@ -309,24 +309,11 @@
   //
   // The only reason we need to separately save and restore our focus state is
   // to preserve our special "invisible focus" state used for the fakebox.
-  //
-  // However, in some circumstances (if the last-focused control was destroyed),
-  // the Omnibox will be focused by default, and the edit model's saved state
-  // may be invalid. We make a check to guard against that.
-  //
-  // The experiment with `features::kOmniboxRestoreInvisibleFocusOnly` explores
-  // only restoring focus when needed due to one of the states being the
-  // "invisible focus" state.
-  const bool saved_focus_state_invalid =
-      focus_state_ == OMNIBOX_FOCUS_VISIBLE &&
-      state->focus_state == OMNIBOX_FOCUS_NONE;
   const bool invisible_focus_changed =
       focus_state_ == OMNIBOX_FOCUS_INVISIBLE ||
       state->focus_state == OMNIBOX_FOCUS_INVISIBLE;
 
-  if (base::FeatureList::IsEnabled(omnibox::kOmniboxRestoreInvisibleFocusOnly)
-          ? invisible_focus_changed
-          : !saved_focus_state_invalid) {
+  if (invisible_focus_changed) {
     SetFocusState(state->focus_state, OMNIBOX_FOCUS_CHANGE_TAB_SWITCH);
   }
 
diff --git a/chrome/browser/ui/omnibox/omnibox_edit_model_unittest.cc b/chrome/browser/ui/omnibox/omnibox_edit_model_unittest.cc
index 6eb1ec5b..09d71a1 100644
--- a/chrome/browser/ui/omnibox/omnibox_edit_model_unittest.cc
+++ b/chrome/browser/ui/omnibox/omnibox_edit_model_unittest.cc
@@ -345,32 +345,7 @@
   EXPECT_TRUE(model()->ShouldShowCurrentPageIcon());
 }
 
-// The tab-switching system sometimes focuses the Omnibox even if it was not
-// previously focused. In those cases, ignore the saved focus state.
-TEST_F(OmniboxEditModelTest, IgnoreInvalidSavedFocusStates) {
-  base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitWithFeatures(
-      {}, {omnibox::kOmniboxRestoreInvisibleFocusOnly});
-
-  // The Omnibox starts out unfocused. Save that state.
-  ASSERT_FALSE(model()->has_focus());
-  OmniboxEditModel::State state = model()->GetStateForTabSwitch();
-  ASSERT_EQ(OMNIBOX_FOCUS_NONE, state.focus_state);
-
-  // Simulate the tab-switching system focusing the Omnibox.
-  model()->OnSetFocus(false);
-
-  // Restoring the old saved state should not clobber the model's focus state.
-  model()->RestoreState(&state);
-  EXPECT_TRUE(model()->has_focus());
-  EXPECT_TRUE(model()->is_caret_visible());
-}
-
 TEST_F(OmniboxEditModelTest, RestoreInvisibleFocusOnlyForVisibleState) {
-  base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitWithFeatures(
-      {omnibox::kOmniboxRestoreInvisibleFocusOnly}, {});
-
   // The Omnibox starts out focused. Save that state.
   model()->OnSetFocus(false);
   ASSERT_TRUE(model()->has_focus());
@@ -387,10 +362,6 @@
 }
 
 TEST_F(OmniboxEditModelTest, RestoreInvisibleFocusOnlyForInvisibleState) {
-  base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitWithFeatures(
-      {omnibox::kOmniboxRestoreInvisibleFocusOnly}, {});
-
   // The Omnibox starts out invisibly focused. Save that state.
   model()->OnSetFocus(false);
   model()->SetCaretVisibility(false);
diff --git a/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.cc b/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.cc
index f84a94cb..ffc0098f 100644
--- a/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.cc
+++ b/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.cc
@@ -11,14 +11,31 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/signin/signin_util.h"
 #include "chrome/browser/ui/autofill/popup_controller_common.h"
+#include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/views/profiles/profile_management_flow_controller.h"
 #include "chrome/browser/ui/views/profiles/profile_management_step_controller.h"
 #include "chrome/browser/ui/views/profiles/profile_management_types.h"
 #include "chrome/browser/ui/views/profiles/profile_picker_post_sign_in_adapter.h"
 #include "chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h"
+#include "chrome/browser/ui/webui/signin/login_ui_service.h"
+#include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
 #include "content/public/browser/web_contents.h"
 #include "google_apis/gaia/core_account_id.h"
 
+namespace {
+
+void ShowLoginErrorForBrowser(const SigninUIError& error, Browser* browser) {
+  if (!browser) {
+    // TODO(crbug.com/40242414): Make sure we do something or log an error if
+    // opening a browser window was not possible.
+    return;
+  }
+  LoginUIServiceFactory::GetForProfile(browser->profile())
+      ->DisplayLoginResult(browser, error, /*from_profile_picker=*/false);
+}
+
+}  // namespace
+
 ProfileManagementFlowControllerImpl::ProfileManagementFlowControllerImpl(
     ProfilePickerWebContentsHost* host,
     ClearHostClosure clear_host_callback,
@@ -51,6 +68,9 @@
                 &ProfileManagementFlowControllerImpl::HandleSignInCompleted,
                 // Binding as Unretained as `this`
                 // outlives the step controllers.
+                base::Unretained(this)),
+            base::BindOnce(
+                &ProfileManagementFlowControllerImpl::HandleSigninError,
                 base::Unretained(this))));
   }
 
@@ -126,6 +146,27 @@
   UnregisterStep(Step::kAccountSelection);
 }
 
+void ProfileManagementFlowControllerImpl::HandleSigninError(
+    Profile* profile,
+    content::WebContents* contents,
+    const SigninUIError& error) {
+  CHECK_EQ(Step::kAccountSelection, current_step());
+  CHECK(!error.IsOk());
+
+  RegisterStep(
+      Step::kFinishFlow,
+      ProfileManagementStepController::CreateForFinishFlowAndRunInBrowser(
+          host(),
+          base::BindOnce(
+              &ProfileManagementFlowControllerImpl::FinishFlowAndRunInBrowser,
+              base::Unretained(this), profile,
+              PostHostClearedCallback(
+                  base::BindOnce(&ShowLoginErrorForBrowser,
+                                 error)))));
+  SwitchToStep(Step::kFinishFlow, /*reset_state=*/true);
+  return;
+}
+
 void ProfileManagementFlowControllerImpl::SwitchToPostIdentitySteps(
     PostHostClearedCallback post_host_cleared_callback) {
   post_identity_steps_ =
diff --git a/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.h b/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.h
index 63a7dd5..0f685aea 100644
--- a/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.h
+++ b/chrome/browser/ui/views/profiles/profile_management_flow_controller_impl.h
@@ -17,6 +17,7 @@
 class ProfilePickerWebContentsHost;
 class ProfileManagementStepController;
 class ProfilePickerPostSignInAdapter;
+class SigninUIError;
 
 namespace content {
 class WebContents;
@@ -96,6 +97,10 @@
       std::unique_ptr<content::WebContents> contents,
       StepSwitchFinishedCallback step_switch_finished_callback);
 
+  void HandleSigninError(Profile* profile,
+                         content::WebContents* contents,
+                         const SigninUIError& error);
+
   // The list of steps that are added to the flow.
   // It is populated by the return value of `RegisterPostIdentitySteps` that
   // should be overridden by the derived class.
diff --git a/chrome/browser/ui/views/profiles/profile_management_step_controller.cc b/chrome/browser/ui/views/profiles/profile_management_step_controller.cc
index f8fa548..27998ab 100644
--- a/chrome/browser/ui/views/profiles/profile_management_step_controller.cc
+++ b/chrome/browser/ui/views/profiles/profile_management_step_controller.cc
@@ -25,6 +25,7 @@
 #include "chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h"
 #include "chrome/browser/ui/views/profiles/profile_picker_web_contents_host.h"
 #include "chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui.h"
+#include "chrome/browser/ui/webui/signin/signin_ui_error.h"
 #include "components/search_engines/search_engine_choice/search_engine_choice_utils.h"
 #include "google_apis/gaia/core_account_id.h"
 
@@ -74,11 +75,14 @@
   explicit SignInStepController(
       ProfilePickerWebContentsHost* host,
       std::unique_ptr<ProfilePickerSignInProvider> sign_in_provider,
-      SignInStepFinishedCallback signed_in_callback)
+      SignInStepFinishedCallback signed_in_callback,
+      SigninErrorCallback signin_error_callback)
       : ProfileManagementStepController(host),
         signed_in_callback_(std::move(signed_in_callback)),
+        signin_error_callback_(std::move(signin_error_callback)),
         sign_in_provider_(std::move(sign_in_provider)) {
-    DCHECK(signed_in_callback_);
+    CHECK(signed_in_callback_);
+    CHECK(signin_error_callback_);
   }
 
   ~SignInStepController() override = default;
@@ -123,15 +127,23 @@
  private:
   void OnStepFinished(Profile* profile,
                       const CoreAccountInfo& account_info,
-                      std::unique_ptr<content::WebContents> contents) {
+                      std::unique_ptr<content::WebContents> contents,
+                      const SigninUIError& error) {
+    if (!error.IsOk()) {
+      std::move(signin_error_callback_).Run(profile, contents.get(), error);
+      return;
+    }
+
     std::move(signed_in_callback_)
         .Run(profile, account_info, std::move(contents),
              StepSwitchFinishedCallback());
-    // The step controller can be destroyed when `signed_in_callback_` runs.
-    // Don't interact with members below.
+
+    // The step controller can be destroyed when `signed_in_callback_`
+    // or `signin_error_callback_` runs. Don't interact with members below.
   }
 
   SignInStepFinishedCallback signed_in_callback_;
+  SigninErrorCallback signin_error_callback_;
 
   std::unique_ptr<ProfilePickerSignInProvider> sign_in_provider_;
 };
@@ -379,9 +391,11 @@
 ProfileManagementStepController::CreateForSignIn(
     ProfilePickerWebContentsHost* host,
     std::unique_ptr<ProfilePickerSignInProvider> sign_in_provider,
-    SignInStepFinishedCallback signed_in_callback) {
+    SignInStepFinishedCallback signed_in_callback,
+    SigninErrorCallback signin_error_callback) {
   return std::make_unique<SignInStepController>(
-      host, std::move(sign_in_provider), std::move(signed_in_callback));
+      host, std::move(sign_in_provider), std::move(signed_in_callback),
+      std::move(signin_error_callback));
 }
 
 // static
diff --git a/chrome/browser/ui/views/profiles/profile_management_step_controller.h b/chrome/browser/ui/views/profiles/profile_management_step_controller.h
index 90781b7f..2f74efb 100644
--- a/chrome/browser/ui/views/profiles/profile_management_step_controller.h
+++ b/chrome/browser/ui/views/profiles/profile_management_step_controller.h
@@ -44,10 +44,14 @@
       std::unique_ptr<content::WebContents>,
       StepSwitchFinishedCallback step_switch_finished_callback)>;
 
+  using SigninErrorCallback = base::OnceCallback<
+      void(Profile*, content::WebContents*, const SigninUIError&)>;
+
   static std::unique_ptr<ProfileManagementStepController> CreateForSignIn(
       ProfilePickerWebContentsHost* host,
       std::unique_ptr<ProfilePickerSignInProvider> sign_in_provider,
-      SignInStepFinishedCallback signed_in_callback);
+      SignInStepFinishedCallback signed_in_callback,
+      SigninErrorCallback signin_error_callback);
 
   // Creates a step controller that will take over from the sign-in step during
   // a SAML sign-in flow, and transition the flow into a browser window where it
diff --git a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.cc b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.cc
index e5cde3e..8f18c57a 100644
--- a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.cc
+++ b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.cc
@@ -355,7 +355,8 @@
   DCHECK(IsInitialized());
   host_->SetNativeToolbarVisible(false);
   ResetWebContentsDelegates();
-  std::move(callback_).Run(profile_.get(), account_info, std::move(contents_));
+  std::move(callback_).Run(profile_.get(), account_info, std::move(contents_),
+                           SigninUIError::Ok());
 }
 
 void ProfilePickerSignInProvider::FinishFlowInPickerWithSyncConfirmation(
@@ -398,6 +399,7 @@
         base::Unretained(host_),
         ForceSigninUIError::SigninPatternNotMatching(
             base::UTF16ToUTF8(error.email())))));
+    return;
   }
 
   if (error.type() ==
@@ -410,9 +412,11 @@
                                   base::ToString(error.another_profile_path()));
 
     host_->ShowScreenInPickerContents(profile_switch_url, base::OnceClosure());
+    return;
   }
 
-  // TODO(crbug.com/40276801): Handle other errors in the profile picker.
+  std::move(callback_).Run(profile_.get(), CoreAccountInfo(),
+                           std::move(contents_), error);
 }
 
 void ProfilePickerSignInProvider::ResetWebContentsDelegates() {
diff --git a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h
index 2b4305d5..f817f08e 100644
--- a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h
+++ b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider.h
@@ -47,7 +47,8 @@
   using SignedInCallback =
       base::OnceCallback<void(Profile*,
                               const CoreAccountInfo&,
-                              std::unique_ptr<content::WebContents>)>;
+                              std::unique_ptr<content::WebContents>,
+                              const SigninUIError&)>;
 
   // Creates a new provider that will render the Gaia sign-in flow in `host` for
   // a profile at `profile_path`.
diff --git a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider_browsertest.cc b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider_browsertest.cc
index faafed2..17c33f9 100644
--- a/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/profile_picker_sign_in_provider_browsertest.cc
@@ -61,7 +61,7 @@
       signin_finished_callback;
 
   // Sign-in is exited, the callback should never run.
-  EXPECT_CALL(signin_finished_callback, Run(_, _, _)).Times(0);
+  EXPECT_CALL(signin_finished_callback, Run(_, _, _, _)).Times(0);
 
   {
     ProfilePickerSignInProvider provider{
@@ -105,7 +105,7 @@
       signin_finished_callback;
 
   // Sign-in is exited, the callback should never run.
-  EXPECT_CALL(signin_finished_callback, Run(_, _, _)).Times(0);
+  EXPECT_CALL(signin_finished_callback, Run(_, _, _, _)).Times(0);
 
   {
     ProfilePickerSignInProvider provider{
diff --git a/chrome/browser/ui/views/profiles/profile_picker_view_browsertest.cc b/chrome/browser/ui/views/profiles/profile_picker_view_browsertest.cc
index 63289e90..e762255d 100644
--- a/chrome/browser/ui/views/profiles/profile_picker_view_browsertest.cc
+++ b/chrome/browser/ui/views/profiles/profile_picker_view_browsertest.cc
@@ -31,6 +31,7 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/chrome_browser_main.h"
 #include "chrome/browser/chrome_browser_main_extra_parts.h"
+#include "chrome/browser/content_settings/cookie_settings_factory.h"
 #include "chrome/browser/enterprise/util/managed_browser_utils.h"
 #include "chrome/browser/feature_engagement/tracker_factory.h"
 #include "chrome/browser/interstitials/chrome_settings_page_helper.h"
@@ -102,6 +103,7 @@
 #include "chrome/test/base/profile_waiter.h"
 #include "chrome/test/base/ui_test_utils.h"
 #include "chrome/test/user_education/interactive_feature_promo_test.h"
+#include "components/content_settings/core/browser/cookie_settings.h"
 #include "components/feature_engagement/public/feature_constants.h"
 #include "components/feature_engagement/public/tracker.h"
 #include "components/keep_alive_registry/keep_alive_types.h"
@@ -144,6 +146,7 @@
 #include "services/network/test/test_url_loader_factory.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/base/accelerators/accelerator.h"
+#include "ui/base/ozone_buildflags.h"
 #include "ui/events/event_constants.h"
 #include "ui/views/accessibility/view_accessibility.h"
 #include "ui/views/widget/widget_delegate.h"
@@ -992,9 +995,16 @@
                   ->UsingAutogeneratedTheme());
 }
 
+// TODO(https://crbug.com/447636989): Flaky on Linux Wayland
+#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_WAYLAND)
+#define MAYBE_CreateSignedInProfileClosePicker \
+  DISABLED_CreateSignedInProfileClosePicker
+#else
+#define MAYBE_CreateSignedInProfileClosePicker CreateSignedInProfileClosePicker
+#endif  // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_WAYLAND)
 // Regression test for https://crbug.com/1431342
 IN_PROC_BROWSER_TEST_F(ProfilePickerCreationFlowBrowserTest,
-                       CreateSignedInProfileClosePicker) {
+                       MAYBE_CreateSignedInProfileClosePicker) {
   // Closes the picker at the same time the new browser is created.
   class ClosePickerOnBrowserAddedObserver : public BrowserListObserver {
    public:
@@ -3173,6 +3183,35 @@
 }
 
 IN_PROC_BROWSER_TEST_F(ProfilePickerEnterpriseCreationFlowBrowserTest,
+                       LoginErrorWhenProfileNotAllowsCookies) {
+  ASSERT_EQ(1u, BrowserList::GetInstance()->size());
+
+  Profile* profile_being_created = StartDiceSignIn(false);
+
+  // Profile does not allow cookies so sign-in would fail.
+  content_settings::CookieSettings* cookie_settings =
+      CookieSettingsFactory::GetForProfile(profile_being_created).get();
+  cookie_settings->SetDefaultCookieSetting(CONTENT_SETTING_BLOCK);
+
+  BrowserAddedWaiter browser_waiter = BrowserAddedWaiter(2u);
+
+  bool should_have_primary_account =
+      !base::FeatureList::IsEnabled(syncer::kReplaceSyncPromosWithSignInPromos);
+  FinishDiceSignIn(profile_being_created, "joe.consumer@gmail.com", "Joe",
+                   kNoHostedDomainFound, false, should_have_primary_account);
+
+  BrowserWindowInterface* const new_browser = browser_waiter.Wait();
+  WaitForLoadStop(GURL("chrome://newtab/"),
+                  new_browser->GetTabStripModel()->GetActiveWebContents());
+
+  const SigninUIError& error =
+      LoginUIServiceFactory::GetForProfile(profile_being_created)
+          ->GetLastLoginError();
+  EXPECT_EQ(error.type(), SigninUIError::Type::kOther);
+  EXPECT_EQ(base::UTF16ToUTF8(error.email()), "joe.consumer@gmail.com");
+}
+
+IN_PROC_BROWSER_TEST_F(ProfilePickerEnterpriseCreationFlowBrowserTest,
                        CreateSignedInProfileSigninAlreadyExists_ConfirmSwitch) {
   ASSERT_EQ(1u, BrowserList::GetInstance()->size());
   const GaiaId test_gaia_id =
diff --git a/chrome/browser/ui/webui/history/history_sign_in_state_watcher.cc b/chrome/browser/ui/webui/history/history_sign_in_state_watcher.cc
index 0216d20c..96325d48 100644
--- a/chrome/browser/ui/webui/history/history_sign_in_state_watcher.cc
+++ b/chrome/browser/ui/webui/history/history_sign_in_state_watcher.cc
@@ -28,8 +28,14 @@
       case signin_util::SignedInState::kWebOnlySignedIn:
         return HistorySignInState::kWebOnlySignedIn;
 
-      case signin_util::SignedInState::kSignedIn:
       case signin_util::SignedInState::kSignInPending:
+        return sync_service &&
+                       sync_service->GetUserSettings()->GetSelectedTypes().Has(
+                           syncer::UserSelectableType::kTabs)
+                   ? HistorySignInState::kSignInPendingSyncingTabs
+                   : HistorySignInState::kSignInPendingNotSyncingTabs;
+
+      case signin_util::SignedInState::kSignedIn:
       case signin_util::SignedInState::kSyncing:
       case signin_util::SignedInState::kSyncPaused:
         return sync_service &&
diff --git a/chrome/browser/ui/webui/history/history_sign_in_state_watcher.h b/chrome/browser/ui/webui/history/history_sign_in_state_watcher.h
index 56efe45..7bc4519 100644
--- a/chrome/browser/ui/webui/history/history_sign_in_state_watcher.h
+++ b/chrome/browser/ui/webui/history/history_sign_in_state_watcher.h
@@ -30,6 +30,10 @@
   kSignedInNotSyncingTabs = 2,
   // The user is signed in and syncing their tabs.
   kSignedInSyncingTabs = 3,
+  // The user is pending sign-in, but not opted in to history/tabs sync before.
+  kSignInPendingNotSyncingTabs = 4,
+  // The user is pending sign-in and opted in to history/tabs sync before.
+  kSignInPendingSyncingTabs = 5,
 };
 // LINT.ThenChange(/chrome/browser/resources/history/constants.ts:HistorySignInState)
 
diff --git a/chrome/browser/ui/webui/history/history_sign_in_state_watcher_unittest.cc b/chrome/browser/ui/webui/history/history_sign_in_state_watcher_unittest.cc
index ff7d13f..49eb58a 100644
--- a/chrome/browser/ui/webui/history/history_sign_in_state_watcher_unittest.cc
+++ b/chrome/browser/ui/webui/history/history_sign_in_state_watcher_unittest.cc
@@ -118,15 +118,13 @@
   sync_service_.GetUserSettings()->SetSelectedType(
       syncer::UserSelectableType::kTabs, false);
 
-  StrictMock<base::MockCallback<base::RepeatingClosure>> callback;
   HistorySignInStateWatcher watcher(identity_test_env_.identity_manager(),
-                                    &sync_service_, callback.Get());
+                                    &sync_service_, base::DoNothing());
   ASSERT_EQ(HistorySignInState::kSignedInNotSyncingTabs,
             watcher.GetSignInState());
 
   sync_service_.GetUserSettings()->SetSelectedType(
       syncer::UserSelectableType::kHistory, true);
-  sync_service_.FireStateChanged();
   EXPECT_EQ(HistorySignInState::kSignedInNotSyncingTabs,
             watcher.GetSignInState());
 }
@@ -155,8 +153,9 @@
   EXPECT_EQ(HistorySignInState::kSignedInSyncingTabs, watcher.GetSignInState());
 }
 
-// Users with pending sign-in should be treated as signed-in.
-TEST_F(HistorySignInStateWatcherSyncToSigninTest, SignInPendingMapsToSignedIn) {
+// Users with pending sign-in have a separate state.
+TEST_F(HistorySignInStateWatcherSyncToSigninTest,
+       SignInPendingCanOptInToTabsSync) {
   const CoreAccountInfo account_info =
       identity_test_env_.MakePrimaryAccountAvailable(
           "test@example.com", signin::ConsentLevel::kSignin);
@@ -167,15 +166,15 @@
       syncer::UserSelectableType::kTabs, false);
   identity_test_env_.SetInvalidRefreshTokenForPrimaryAccount();
 
-  StrictMock<base::MockCallback<base::RepeatingClosure>> callback;
   HistorySignInStateWatcher watcher(identity_test_env_.identity_manager(),
-                                    &sync_service_, callback.Get());
-  EXPECT_EQ(HistorySignInState::kSignedInNotSyncingTabs,
+                                    &sync_service_, base::DoNothing());
+  EXPECT_EQ(HistorySignInState::kSignInPendingNotSyncingTabs,
             watcher.GetSignInState());
 
   sync_service_.GetUserSettings()->SetSelectedType(
       syncer::UserSelectableType::kTabs, true);
-  EXPECT_EQ(HistorySignInState::kSignedInSyncingTabs, watcher.GetSignInState());
+  EXPECT_EQ(HistorySignInState::kSignInPendingSyncingTabs,
+            watcher.GetSignInState());
 }
 
 #if !BUILDFLAG(IS_CHROMEOS)
diff --git a/chrome/browser/ui/webui/history/history_ui.cc b/chrome/browser/ui/webui/history/history_ui.cc
index 6204e42e..24d39b8 100644
--- a/chrome/browser/ui/webui/history/history_ui.cc
+++ b/chrome/browser/ui/webui/history/history_ui.cc
@@ -99,10 +99,12 @@
       {"turnOnSyncPromoDesc", IDS_HISTORY_TURN_ON_SYNC_PROMO_DESC},
       {"turnOnSyncHistoryPromo", IDS_HISTORY_SYNC_HISTORY_PROMO},
       {"syncHistoryPromoBodySignedOut",
-        IDS_RECENT_TABS_SYNC_HISTORY_PROMO_BODY_SIGNED_OUT},
+       IDS_RECENT_TABS_SYNC_HISTORY_PROMO_BODY_SIGNED_OUT},
       {"syncHistoryPromoBodyPendingSignIn",
        IDS_RECENT_TABS_SYNC_HISTORY_PROMO_BODY_PENDING_SIGN_IN},
-  };
+      {"syncHistoryPromoBodyPendingSignInSyncHistoryOn",
+       IDS_RECENT_TABS_SYNC_HISTORY_PROMO_BODY_PENDING_SIGN_IN_SYNC_HISTORY_ON},
+      {"verifyItsYou", IDS_VERIFY_IT_IS_YOU}};
   source->AddLocalizedStrings(kStrings);
 
   source->AddLocalizedString("turnOnSyncHistoryButton",
diff --git a/chrome/browser/ui/webui/settings/saved_info_handler.cc b/chrome/browser/ui/webui/settings/saved_info_handler.cc
new file mode 100644
index 0000000..894038f
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/saved_info_handler.cc
@@ -0,0 +1,98 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/webui/settings/saved_info_handler.h"
+
+#include "base/functional/bind.h"
+#include "chrome/browser/affiliations/affiliation_service_factory.h"
+#include "chrome/browser/password_manager/account_password_store_factory.h"
+#include "chrome/browser/password_manager/profile_password_store_factory.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/sync/sync_service_factory.h"
+#include "components/password_manager/core/browser/password_manager_util.h"
+#include "components/password_manager/core/browser/password_store/password_store_interface.h"
+#include "components/sync/service/sync_service.h"
+#include "content/public/browser/web_ui.h"
+
+namespace settings {
+
+SavedInfoHandler::SavedInfoHandler(Profile* profile) : profile_(profile) {}
+
+SavedInfoHandler::SavedInfoHandler(
+    Profile* profile,
+    std::unique_ptr<password_manager::SavedPasswordsPresenter> presenter)
+    : profile_(profile), saved_passwords_presenter_(std::move(presenter)) {}
+
+SavedInfoHandler::~SavedInfoHandler() = default;
+
+void SavedInfoHandler::RegisterMessages() {
+  if (profile_->IsOffTheRecord()) {
+    return;
+  }
+
+  web_ui()->RegisterMessageCallback(
+      "getPasswordCount",
+      base::BindRepeating(&SavedInfoHandler::HandleGetPasswordCount,
+                          base::Unretained(this)));
+}
+
+void SavedInfoHandler::OnJavascriptAllowed() {
+  if (!saved_passwords_presenter_) {
+    auto* affiliation_service =
+        AffiliationServiceFactory::GetForProfile(profile_);
+    if (!affiliation_service) {
+      return;
+    }
+    saved_passwords_presenter_ =
+        std::make_unique<password_manager::SavedPasswordsPresenter>(
+            affiliation_service,
+            ProfilePasswordStoreFactory::GetForProfile(
+                profile_, ServiceAccessType::EXPLICIT_ACCESS),
+            AccountPasswordStoreFactory::GetForProfile(
+                profile_, ServiceAccessType::EXPLICIT_ACCESS));
+    saved_passwords_presenter_->Init();
+  }
+
+  observation_.Reset();
+  observation_.Observe(saved_passwords_presenter_.get());
+}
+
+void SavedInfoHandler::OnJavascriptDisallowed() {
+  observation_.Reset();
+  if (saved_passwords_presenter_) {
+    saved_passwords_presenter_.reset();
+  }
+}
+
+void SavedInfoHandler::OnSavedPasswordsChanged(
+    const password_manager::PasswordStoreChangeList& changes) {
+  FireWebUIListener("password-count-changed", GetPasswordCounts());
+}
+
+base::Value::Dict SavedInfoHandler::GetPasswordCounts() {
+  base::Value::Dict dict;
+  if (saved_passwords_presenter_) {
+    size_t password_count = 0;
+    size_t passkey_count = 0;
+    for (const auto& credential :
+         saved_passwords_presenter_->GetSavedCredentials()) {
+      if (!credential.passkey_credential_id.empty()) {
+        passkey_count++;
+      } else {
+        password_count++;
+      }
+    }
+    dict.Set("passwordCount", static_cast<int>(password_count));
+    dict.Set("passkeyCount", static_cast<int>(passkey_count));
+  }
+  return dict;
+}
+
+void SavedInfoHandler::HandleGetPasswordCount(const base::Value::List& args) {
+  AllowJavascript();
+  const base::Value& callback_id = args[0];
+  ResolveJavascriptCallback(callback_id, GetPasswordCounts());
+}
+
+}  // namespace settings
diff --git a/chrome/browser/ui/webui/settings/saved_info_handler.h b/chrome/browser/ui/webui/settings/saved_info_handler.h
new file mode 100644
index 0000000..5f4af61
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/saved_info_handler.h
@@ -0,0 +1,58 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_SAVED_INFO_HANDLER_H_
+#define CHROME_BROWSER_UI_WEBUI_SETTINGS_SAVED_INFO_HANDLER_H_
+
+#include "base/memory/raw_ptr.h"
+#include "base/scoped_observation.h"
+#include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h"
+#include "components/password_manager/core/browser/ui/saved_passwords_presenter.h"
+
+class Profile;
+
+namespace settings {
+
+class SavedInfoHandler
+    : public SettingsPageUIHandler,
+      public password_manager::SavedPasswordsPresenter::Observer {
+ public:
+  explicit SavedInfoHandler(Profile* profile);
+  explicit SavedInfoHandler(
+      Profile* profile,
+      std::unique_ptr<password_manager::SavedPasswordsPresenter> presenter);
+  ~SavedInfoHandler() override;
+
+  SavedInfoHandler(const SavedInfoHandler&) = delete;
+  SavedInfoHandler& operator=(const SavedInfoHandler&) = delete;
+
+  // SettingsPageUIHandler:
+  void RegisterMessages() override;
+  void OnJavascriptAllowed() override;
+  void OnJavascriptDisallowed() override;
+
+ private:
+  friend class TestSavedInfoHandler;
+  FRIEND_TEST_ALL_PREFIXES(SavedInfoHandlerTest, HandleGetPasswordCount);
+
+  // password_manager::SavedPasswordsPresenter::Observer:
+  void OnSavedPasswordsChanged(
+      const password_manager::PasswordStoreChangeList& changes) override;
+
+  void HandleGetPasswordCount(const base::Value::List& args);
+  base::Value::Dict GetPasswordCounts();
+
+  raw_ptr<Profile> profile_;
+
+  std::unique_ptr<password_manager::SavedPasswordsPresenter>
+      saved_passwords_presenter_;
+
+  base::ScopedObservation<password_manager::SavedPasswordsPresenter,
+                          password_manager::SavedPasswordsPresenter::Observer>
+      observation_{this};
+};
+
+}  // namespace settings
+
+#endif  // CHROME_BROWSER_UI_WEBUI_SETTINGS_SAVED_INFO_HANDLER_H_
diff --git a/chrome/browser/ui/webui/settings/saved_info_handler_unittest.cc b/chrome/browser/ui/webui/settings/saved_info_handler_unittest.cc
new file mode 100644
index 0000000..8eff470
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/saved_info_handler_unittest.cc
@@ -0,0 +1,113 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/ui/webui/settings/saved_info_handler.h"
+
+#include "chrome/browser/password_manager/password_manager_test_util.h"
+#include "chrome/test/base/testing_profile.h"
+#include "components/affiliations/core/browser/fake_affiliation_service.h"
+#include "components/password_manager/core/browser/password_form.h"
+#include "components/password_manager/core/browser/password_store/test_password_store.h"
+#include "components/webauthn/core/browser/test_passkey_model.h"
+#include "content/public/test/browser_task_environment.h"
+#include "content/public/test/test_web_ui.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace settings {
+
+using password_manager::PasswordForm;
+using password_manager::TestPasswordStore;
+
+class TestSavedInfoHandler : public SavedInfoHandler {
+ public:
+  explicit TestSavedInfoHandler(
+      Profile* profile,
+      std::unique_ptr<password_manager::SavedPasswordsPresenter> presenter)
+      : SavedInfoHandler(profile, std::move(presenter)) {}
+  ~TestSavedInfoHandler() override = default;
+
+  // Make public for testing.
+  using SavedInfoHandler::set_web_ui;
+};
+
+class SavedInfoHandlerTest : public testing::Test {
+ public:
+  SavedInfoHandlerTest() = default;
+  ~SavedInfoHandlerTest() override = default;
+
+  void SetUp() override {
+    profile_ = std::make_unique<TestingProfile>();
+    profile_store_ = CreateAndUseTestPasswordStore(profile_.get());
+  }
+
+  void TearDown() override { profile_store_->ShutdownOnUIThread(); }
+
+  content::TestWebUI* web_ui() { return &web_ui_; }
+  TestingProfile* profile() { return profile_.get(); }
+  TestPasswordStore* profile_store() { return profile_store_.get(); }
+  webauthn::TestPasskeyModel* passkey_model() { return &passkey_model_; }
+  affiliations::FakeAffiliationService* affiliation_service() {
+    return &affiliation_service_;
+  }
+
+  void RunUntilIdle() { task_environment_.RunUntilIdle(); }
+
+ private:
+  content::BrowserTaskEnvironment task_environment_;
+  std::unique_ptr<TestingProfile> profile_;
+  content::TestWebUI web_ui_;
+  scoped_refptr<TestPasswordStore> profile_store_;
+  webauthn::TestPasskeyModel passkey_model_;
+  affiliations::FakeAffiliationService affiliation_service_;
+};
+
+TEST_F(SavedInfoHandlerTest, HandleGetPasswordCount) {
+  // Add 2 passwords.
+  PasswordForm form;
+  form.url = GURL("https://example.com");
+  form.signon_realm = form.url.spec();
+  form.username_value = u"username";
+  form.password_value = u"password";
+  form.in_store = PasswordForm::Store::kProfileStore;
+  profile_store()->AddLogin(form);
+  form.username_value = u"admin";
+  form.password_value = u"hunter2";
+  form.in_store = PasswordForm::Store::kProfileStore;
+  profile_store()->AddLogin(form);
+
+  // Add 1 passkey.
+  sync_pb::WebauthnCredentialSpecifics passkey;
+  passkey.set_credential_id("credential_id");
+  passkey.set_rp_id("rp_id");
+  passkey.set_user_id("user_id");
+  passkey_model()->AddNewPasskeyForTesting(passkey);
+
+  auto presenter = std::make_unique<password_manager::SavedPasswordsPresenter>(
+      affiliation_service(), profile_store(), nullptr, passkey_model());
+  presenter->Init();
+  auto handler =
+      std::make_unique<TestSavedInfoHandler>(profile(), std::move(presenter));
+  handler->set_web_ui(web_ui());
+  handler->RegisterMessages();
+  handler->AllowJavascriptForTesting();
+  handler->OnJavascriptAllowed();  // Re-initialize the observer.
+  RunUntilIdle();
+  web_ui()->ClearTrackedCalls();
+
+  base::Value::List args;
+  args.Append("test_callback_id");
+  handler->HandleGetPasswordCount(args);
+
+  EXPECT_EQ(1U, web_ui()->call_data().size());
+  const content::TestWebUI::CallData& data = *web_ui()->call_data().back();
+  EXPECT_EQ("cr.webUIResponse", data.function_name());
+  EXPECT_EQ("test_callback_id", data.arg1()->GetString());
+  EXPECT_TRUE(data.arg2()->GetBool());
+
+  const base::Value::Dict& dict = data.arg3()->GetDict();
+  EXPECT_EQ(2, dict.FindInt("passwordCount"));
+  EXPECT_EQ(1, dict.FindInt("passkeyCount"));
+}
+
+}  // namespace settings
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
index 3f1d533..0490e6c6 100644
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1075,7 +1075,6 @@
                          chrome::kPreloadingLearnMoreUrl);
   html_source->AddString("performanceInterventionLearnMoreUrl",
                          chrome::kPerformanceInterventionLearnMoreUrl);
-  html_source->AddString("walletPassesPageUrl", chrome::kWalletPassesPageURL);
 
 #if BUILDFLAG(IS_CHROMEOS)
   html_source->AddString(
@@ -1236,7 +1235,6 @@
        IDS_AUTOFILL_PAYMENT_METHODS_TABLE_ARIA_LABEL},
       {"noPaymentMethodsFound", IDS_SETTINGS_PAYMENT_METHODS_NONE},
       {"googlePayments", IDS_SETTINGS_GOOGLE_PAYMENTS},
-      {"googleWallet", IDS_SETTINGS_GOOGLE_WALLET},
       {"enableProfilesLabel", IDS_AUTOFILL_ENABLE_PROFILES_TOGGLE_LABEL},
       {"autofillSyncToggleLabel", IDS_AUTOFILL_SYNC_TOGGLE_LABEL},
       {"enableProfilesSublabel", IDS_AUTOFILL_ENABLE_PROFILES_TOGGLE_SUBLABEL},
@@ -1334,8 +1332,6 @@
        IDS_SETTINGS_LOCAL_IBAN_REMOVE_CONFIRMATION_TITLE},
       {"remotePaymentMethodsLinkLabel",
        IDS_SETTINGS_REMOTE_PAYMENT_METHODS_LINK_LABEL},
-      {"remoteWalletPassesLinkLabel",
-       IDS_SETTINGS_REMOTE_WALLET_PASSES_LINK_LABEL},
       {"canMakePaymentToggleLabel", IDS_SETTINGS_CAN_MAKE_PAYMENT_TOGGLE_LABEL},
       {"autofillDetail", IDS_SETTINGS_AUTOFILL_DETAIL},
       {"autofillDropdownNoOptionSelected",
diff --git a/chrome/browser/ui/webui/settings/settings_ui.cc b/chrome/browser/ui/webui/settings/settings_ui.cc
index 07f60181..d24cf7ba 100644
--- a/chrome/browser/ui/webui/settings/settings_ui.cc
+++ b/chrome/browser/ui/webui/settings/settings_ui.cc
@@ -72,6 +72,7 @@
 #include "chrome/browser/ui/webui/settings/protocol_handlers_handler.h"
 #include "chrome/browser/ui/webui/settings/reset_settings_handler.h"
 #include "chrome/browser/ui/webui/settings/safety_hub_handler.h"
+#include "chrome/browser/ui/webui/settings/saved_info_handler.h"
 #include "chrome/browser/ui/webui/settings/search_engines_handler.h"
 #include "chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.h"
 #include "chrome/browser/ui/webui/settings/settings_localized_strings_provider.h"
@@ -258,6 +259,7 @@
   AddSettingsPageUIHandler(
       std::make_unique<SecurityKeysBioEnrollmentHandler>());
   AddSettingsPageUIHandler(std::make_unique<PasswordManagerHandler>());
+  AddSettingsPageUIHandler(std::make_unique<SavedInfoHandler>(profile));
 #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
   AddSettingsPageUIHandler(std::make_unique<PasskeysHandler>());
 #endif
diff --git a/chrome/build/android-arm32.pgo.txt b/chrome/build/android-arm32.pgo.txt
index 9133e70f..a645e530 100644
--- a/chrome/build/android-arm32.pgo.txt
+++ b/chrome/build/android-arm32.pgo.txt
@@ -1 +1 @@
-chrome-android32-main-1759211717-3434f3473ffca3786c7beb2102e99e6716d34409-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
+chrome-android32-main-1759233555-ee7e0b290c7982083c29c4b7d42a67b431eedbf2-8112cffb8945bee95e48b12b644b3cf2e0570655.profdata
diff --git a/chrome/build/android-arm64.pgo.txt b/chrome/build/android-arm64.pgo.txt
index 68cac5a..2ace06d4 100644
--- a/chrome/build/android-arm64.pgo.txt
+++ b/chrome/build/android-arm64.pgo.txt
@@ -1 +1 @@
-chrome-android64-main-1759208862-646ccb2c71ebcc0b96ee58baaa0205d78109d7d6-fec4ecb14cb66c1367fa687acf80b8774913e677.profdata
+chrome-android64-main-1759238060-bc7007ce9facca078625d11c3031766953d9b2a9-d89fc0162db6e6e2e26834591f0bc3536fe117bc.profdata
diff --git a/chrome/build/android-desktop-x64.pgo.txt b/chrome/build/android-desktop-x64.pgo.txt
index 7a19a1c..ae84d1f 100644
--- a/chrome/build/android-desktop-x64.pgo.txt
+++ b/chrome/build/android-desktop-x64.pgo.txt
@@ -1 +1 @@
-chrome-android-desktop-x64-main-1759211717-f63ec798daacf906624d59d18cfe3f85767f6fdb-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
+chrome-android-desktop-x64-main-1759233555-806da294a5eb247db52c8c1a2dac8b4ff8a25b65-8112cffb8945bee95e48b12b644b3cf2e0570655.profdata
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 43aeb6e..10aa51bb 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1759211717-f3b590ee6e84c6086c3e093f0628fca89d69156f-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
+chrome-linux-main-1759233555-fa6d34f25254d3a8b03094aa88183b033157c04d-8112cffb8945bee95e48b12b644b3cf2e0570655.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index 25b7314..08fc911e 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1759219083-d1867743c5ddd8170edcc840e9b84bf80af64139-4c42c99ad9f4061b107bc918a55e5b0f3bdcc296.profdata
+chrome-mac-arm-main-1759240742-4b3d67df1a438a3814e5536db2c21604fca6c9bc-a78c260df3c2c47bf1448de1fd082bc990dac87b.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index 2c137303..a0be7e3 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1759211717-d547bcd39da67cfcaadec6c0446a1622087241ba-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
+chrome-mac-main-1759233555-c6fc233e4ae67b192569721dee0418d9fc48eb44-8112cffb8945bee95e48b12b644b3cf2e0570655.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index 1e986dc..88364791 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1759200609-4fd66d244ac56d8f5167837a519ecb2f881d8e91-96355533f902846c8a39733794d26e3c733d2526.profdata
+chrome-win32-main-1759211717-7d4251e01b99391fa54a59b6c10d670581bff795-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 8d5a488f..2a1bcdb8 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1759200609-a90a15bce007ca70903ba40dd40ed1e6e11af1bd-96355533f902846c8a39733794d26e3c733d2526.profdata
+chrome-win64-main-1759211717-e07f5db7f2be14f8caeb279ff24d0cc5a0920075-048676d403fbccf89a9dc381799a3ab3f0cf37e3.profdata
diff --git a/chrome/common/actor.mojom b/chrome/common/actor.mojom
index 55f029d..fe92f36 100644
--- a/chrome/common/actor.mojom
+++ b/chrome/common/actor.mojom
@@ -372,6 +372,13 @@
   // Neither the username, nor the password field could be filled.
   kLoginNoFillableFields = 903,
 
+  // The use of the password manager is not allowed on the page (e.g. blocked
+  // by enterprise policy).
+  kLoginFillingNotAllowed = 904,
+
+  // The page changed before the credential selected by the user was filled.
+  kLoginPageChangedDuringSelection = 905,
+
   // Please see the comment above about adding new values.
 };
 
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 2d62c4f..7cd50b9 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -299,6 +299,8 @@
 const char kGlicActorUiHandoffButtonName[] = "glic-actor-ui-handoff-button";
 const char kGlicActorUiTabIndicatorName[] = "glic-actor-ui-tab-indicator";
 const char kGlicActorUiBorderGlowName[] = "glic-actor-ui-border-glow";
+const char kGlicActorUiStandaloneBorderGlowName[] =
+    "glic-actor-ui-standalone-border-glow";
 const char kGlicActorUiCompletedTaskExpiryDelaySecondsName[] =
     "glic-actor-completed-task-expiry-delay-seconds";
 
@@ -327,6 +329,10 @@
 // Controls whether the actor border glow in the actor ui is enabled.
 const base::FeatureParam<bool> kGlicActorUiBorderGlow{
     &kGlicActorUi, kGlicActorUiBorderGlowName, true};
+// Controls whether the actor border glow uses a standalone implementation or a
+// shared implementation with context sharing glow.
+const base::FeatureParam<bool> kGlicActorUiStandaloneBorderGlow{
+    &kGlicActorUi, kGlicActorUiStandaloneBorderGlowName, false};
 // Controls the expiry delay for completed tasks in the actor ui.
 const base::FeatureParam<int> kGlicActorUiCompletedTaskExpiryDelaySeconds{
     &kGlicActorUi, kGlicActorUiCompletedTaskExpiryDelaySecondsName, 10};
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 8abe22a..cd719f2c 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -258,6 +258,8 @@
 COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::FeatureParam<bool>(kGlicActorUiBorderGlow);
 COMPONENT_EXPORT(CHROME_FEATURES)
+extern const base::FeatureParam<bool>(kGlicActorUiStandaloneBorderGlow);
+COMPONENT_EXPORT(CHROME_FEATURES)
 extern const base::FeatureParam<int>(
     kGlicActorUiCompletedTaskExpiryDelaySeconds);
 
diff --git a/chrome/common/extensions/api/autofill_private.idl b/chrome/common/extensions/api/autofill_private.idl
index 1ee1f96..0b11218 100644
--- a/chrome/common/extensions/api/autofill_private.idl
+++ b/chrome/common/extensions/api/autofill_private.idl
@@ -419,12 +419,10 @@
   dictionary EntityInstanceWithLabels {
     // The guid of the entity instance.
     DOMString guid;
-    // The entity instance label.
+    // The enitity instance label.
     DOMString entityInstanceLabel;
-    // The entity instance sublabel.
+    // The enitity instance sublabel.
     DOMString entityInstanceSubLabel;
-    // Whether the entity is stored on Google Wallet servers.
-    boolean stored_in_wallet;
   };
 
   // A Pay Over Time Issuer entry which can be displayed in the autofill
diff --git a/chrome/common/url_constants.h b/chrome/common/url_constants.h
index 784e2b0d..3af5585e 100644
--- a/chrome/common/url_constants.h
+++ b/chrome/common/url_constants.h
@@ -606,10 +606,6 @@
 inline constexpr char kWallpaperSearchLearnMorePageURL[] =
     "https://support.google.com/chrome?p=create_themes_with_ai";
 
-// The URL for the passed in Google Wallet.
-inline constexpr char kWalletPassesPageURL[] =
-    "https://wallet.google.com/wallet/passes";
-
 // The URL for the "Learn more" page for Tab Organization.
 inline constexpr char kTabOrganizationLearnMorePageURL[] =
     "https://support.google.com/chrome?p=auto_tab_group";
diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h
index de9e782..c98aa09 100644
--- a/chrome/common/webui_url_constants.h
+++ b/chrome/common/webui_url_constants.h
@@ -54,6 +54,7 @@
     "chrome://apps?showDeletionDialog=";
 inline constexpr char kChromeUIAppsWithForceInstalledDeprecationDialogURL[] =
     "chrome://apps?showForceInstallDialog=";
+inline constexpr char kChromeUIAutofillPath[] = "/autofill";
 inline constexpr char kChromeUIAutofillInternalsHost[] = "autofill-internals";
 #if BUILDFLAG(ENABLE_DICE_SUPPORT)
 inline constexpr char kChromeUIBatchUploadHost[] = "batch-upload";
@@ -407,6 +408,7 @@
 inline constexpr char kChromeUIWebuiBrowserURL[] = "chrome://webui-browser/";
 inline constexpr char kChromeUIWebUIJsErrorHost[] = "webuijserror";
 inline constexpr char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/";
+inline constexpr char kChromeUIYourSavedInfoPath[] = "/yourSavedInfo";
 inline constexpr char kCookiesSubPagePath[] = "/cookies";
 inline constexpr char kTrackingProtectionSubPagePath[] = "/trackingProtection";
 #endif  // BUILDFLAG(IS_ANDROID)
diff --git a/chrome/renderer/actor/page_stability_monitor.cc b/chrome/renderer/actor/page_stability_monitor.cc
index da99278..f69a4cb 100644
--- a/chrome/renderer/actor/page_stability_monitor.cc
+++ b/chrome/renderer/actor/page_stability_monitor.cc
@@ -243,24 +243,11 @@
           [](base::OnceClosure callback, base::TimeTicks unused_deadline) {
             std::move(callback).Run();
           },
-          MoveToStateClosure(State::kWaitForVisualStateRequest)));
+          MoveToStateClosure(State::kMaybeDelayCallback)));
       render_frame()->GetWebFrame()->PostIdleTask(
           FROM_HERE, main_thread_idle_callback_.callback());
       break;
     }
-    case State::kWaitForVisualStateRequest: {
-      WebFrameWidget* widget = render_frame()->GetWebFrame()->FrameWidget();
-      if (!widget->InsertVisualStateRequest(
-              MoveToStateClosure(State::kMaybeDelayCallback))) {
-        journal_entry_->EndEntry(
-            JournalDetailsBuilder()
-                .AddError("Failed to wait for new frame presentation due to no "
-                          "compositor.")
-                .Build());
-        MoveToState(State::kMaybeDelayCallback);
-      }
-      break;
-    }
     case State::kTimeoutGlobal: {
       journal_entry_->EndEntry(
           JournalDetailsBuilder()
@@ -421,15 +408,8 @@
               State::kTimeoutGlobal,
               State::kRenderFrameGoingAway}},
           {State::kWaitForMainThreadIdle, {
-              State::kWaitForVisualStateRequest,
-              State::kPaintStabilityReached,
-              State::kTimeoutMainThread,
-              State::kTimeoutGlobal,
-              State::kRenderFrameGoingAway}},
-          {State::kWaitForVisualStateRequest, {
-              State::kPaintStabilityReached,
               State::kMaybeDelayCallback,
-              State::kInvokeCallback,
+              State::kPaintStabilityReached,
               State::kTimeoutMainThread,
               State::kTimeoutGlobal,
               State::kRenderFrameGoingAway}},
diff --git a/chrome/renderer/actor/page_stability_monitor.h b/chrome/renderer/actor/page_stability_monitor.h
index 9429f1a..74d1ea62 100644
--- a/chrome/renderer/actor/page_stability_monitor.h
+++ b/chrome/renderer/actor/page_stability_monitor.h
@@ -82,10 +82,6 @@
     // Wait until the main thread is settled.
     kWaitForMainThreadIdle,
 
-    // Wait until a new frame has been submitted to and presented by the display
-    // compositor.
-    kWaitForVisualStateRequest,
-
     // Timeout states - these just log and and move to invoke callback state.
     kTimeoutGlobal,
     kTimeoutMainThread,
diff --git a/chrome/renderer/actor/type_tool.cc b/chrome/renderer/actor/type_tool.cc
index 45f5eeb..6126548 100644
--- a/chrome/renderer/actor/type_tool.cc
+++ b/chrome/renderer/actor/type_tool.cc
@@ -22,6 +22,7 @@
 #include "chrome/renderer/actor/click_tool.h"
 #include "chrome/renderer/actor/tool_utils.h"
 #include "content/public/renderer/render_frame.h"
+#include "third_party/abseil-cpp/absl/container/flat_hash_map.h"
 #include "third_party/abseil-cpp/absl/strings/str_format.h"
 #include "third_party/blink/public/common/input/web_coalesced_input_event.h"
 #include "third_party/blink/public/common/input/web_input_event.h"
@@ -70,13 +71,13 @@
 
 // Function to provide access to the key info map.
 // Initialization happens thread-safely on the first call.
-const std::unordered_map<char, KeyInfo>& GetKeyInfoMap() {
+const absl::flat_hash_map<char, KeyInfo>& GetKeyInfoMap() {
   // TODO(crbug.com/402082693): This map is a temporary solution in converting
   // between dom code and key code. We should find a central solution to this
   // that aligns with ui/events/keycodes/ data and functions.
-  static const base::NoDestructor<std::unordered_map<char, KeyInfo>>
+  static const base::NoDestructor<absl::flat_hash_map<char, KeyInfo>>
       key_info_map([] {
-        std::unordered_map<char, KeyInfo> map_data = {
+        absl::flat_hash_map<char, KeyInfo> map_data = {
             {' ', {ui::VKEY_SPACE, "Space"}},
             {')', {ui::VKEY_0, "Digit0", u'0'}},
             {'!', {ui::VKEY_1, "Digit1", u'1'}},
@@ -195,7 +196,7 @@
     params.dom_code = base::StrCat({"Digit", {c}});
   } else {
     // Symbols and Punctuation (US QWERTY layout assumed)
-    const std::unordered_map<char, KeyInfo>& key_info_map = GetKeyInfoMap();
+    const absl::flat_hash_map<char, KeyInfo>& key_info_map = GetKeyInfoMap();
     auto it = key_info_map.find(c);
     if (it == key_info_map.end()) {
       ACTOR_LOG() << "Character cannot be mapped directly to key event: " << c;
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 52d105da..2d70f7a 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -8292,6 +8292,7 @@
       "../browser/ui/webui/settings/recent_site_settings_helper_unittest.cc",
       "../browser/ui/webui/settings/reset_settings_handler_unittest.cc",
       "../browser/ui/webui/settings/safety_hub_handler_unittest.cc",
+      "../browser/ui/webui/settings/saved_info_handler_unittest.cc",
       "../browser/ui/webui/settings/search_engines_handler_unittest.cc",
       "../browser/ui/webui/settings/settings_clear_browsing_data_handler_unittest.cc",
       "../browser/ui/webui/settings/settings_manage_profile_handler_unittest.cc",
@@ -11151,7 +11152,7 @@
         "//testing/gtest",
         "//third_party/hunspell",
         "//third_party/icu",
-        "//third_party/libpng",
+        "//third_party/libpng:libpng_for_testonly",
         "//ui/base:test_support",
         "//ui/events:test_support",
         "//ui/ozone",
@@ -11511,7 +11512,7 @@
       "//testing/gtest",
       "//third_party/hunspell",
       "//third_party/icu",
-      "//third_party/libpng",
+      "//third_party/libpng:libpng_for_testonly",
       "//ui/base:base_interactive_ui_tests",
       "//ui/base:ozone_buildflags",
       "//ui/base:test_support",
@@ -12469,7 +12470,7 @@
       "//testing/gtest",
       "//third_party/hunspell",
       "//third_party/icu",
-      "//third_party/libpng",
+      "//third_party/libpng:libpng_for_testonly",
       "//ui/base:test_support",
       "//ui/resources:ui_test_pak",
       "//ui/views",
diff --git a/chrome/test/base/chrome_test_suite.cc b/chrome/test/base/chrome_test_suite.cc
index 8637c35..5a87284 100644
--- a/chrome/test/base/chrome_test_suite.cc
+++ b/chrome/test/base/chrome_test_suite.cc
@@ -27,6 +27,7 @@
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/url_constants.h"
 #include "components/content_settings/core/common/content_settings_pattern.h"
+#include "components/signin/public/identity_manager/identity_test_utils.h"
 #include "content/public/test/test_launcher.h"
 #include "extensions/common/constants.h"
 #include "media/base/media.h"
@@ -97,6 +98,9 @@
   // Ignore this requiement for unit and browser tests to make sure that the
   // DICE feature gets the right test coverage.
   AccountConsistencyModeManager::SetIgnoreMissingOAuthClientForTesting();
+  // Some features in //components/signin only work in builds with official
+  // Chrome API keys. Ignore this requirement to get a better test coverage.
+  signin::SetIgnoreNonOfficialApiKeys();
 
 #if BUILDFLAG(IS_MAC)
   // Look in the framework bundle for resources.
diff --git a/chrome/test/data/extensions/api_test/autofill_private/test.js b/chrome/test/data/extensions/api_test/autofill_private/test.js
index 21d4424..8e14498 100644
--- a/chrome/test/data/extensions/api_test/autofill_private/test.js
+++ b/chrome/test/data/extensions/api_test/autofill_private/test.js
@@ -213,7 +213,6 @@
     guid: entityInstance.guid,
     entityInstanceLabel: entityInstance.type.typeNameAsString,
     entityInstanceSubLabel: sublabel,
-    stored_in_wallet: false,
   });
 };
 
diff --git a/chrome/test/data/webui/history/history_synced_tabs_test.ts b/chrome/test/data/webui/history/history_synced_tabs_test.ts
index bdf82a8..7c7f6fba 100644
--- a/chrome/test/data/webui/history/history_synced_tabs_test.ts
+++ b/chrome/test/data/webui/history/history_synced_tabs_test.ts
@@ -406,6 +406,51 @@
     assertTrue(isChildVisible(element, '#profile-icon'));
   });
 
+  test('check elements in pending signin without tabs sync state', async () => {
+    element.configureSignInForTest({
+      signInState: HistorySignInState.SIGN_IN_PENDING_NOT_SYNCING_TABS,
+      signInAllowed: true,
+      guestSession: false,
+    });
+    await microtasksFinished();
+
+    // The other states promo elements should not be visible.
+    assertFalse(isChildVisible(element, '#signed-out-sync-history-promo-desc'));
+    assertFalse(isChildVisible(element, '#signed-in-sync-history-promo-desc'));
+    assertFalse(isChildVisible(element, '#verify-its-you-button'));
+    assertFalse(isChildVisible(
+        element, '#sign-in-pending-sync-history-promo-desc-sync-history-on'));
+
+    // The promo elements for SIGN_IN_PENDING_NOT_SYNCING_TABS state are
+    // shown correctly.
+    assertTrue(isChildVisible(element, '#sign-in-pending-avatar'));
+    assertTrue(
+        isChildVisible(element, '#sign-in-pending-sync-history-promo-desc'));
+    assertTrue(isChildVisible(element, '#sync-history-button'));
+  });
+
+  test('check elements in pending signin with tabs sync state', async () => {
+    element.configureSignInForTest({
+      signInState: HistorySignInState.SIGN_IN_PENDING_SYNCING_TABS,
+      signInAllowed: true,
+      guestSession: false,
+    });
+    await microtasksFinished();
+
+    // The other states promo elements should not be visible.
+    assertFalse(isChildVisible(element, '#sync-history-button'));
+    assertFalse(
+        isChildVisible(element, '#sign-in-pending-sync-history-promo-desc'));
+
+    // The promo elements for SIGN_IN_PENDING_SYNCING_TABS state are
+    // shown correctly.
+    assertTrue(isChildVisible(element, '#sign-in-pending-avatar'));
+    assertTrue(isChildVisible(
+        element, '#sign-in-pending-sync-history-promo-desc-sync-history-on'));
+    assertTrue(isChildVisible(element, '#verify-its-you-button'));
+  });
+
+
   test('initializes account info', async () => {
     await testService.handler.whenCalled('requestAccountInfo');
     await microtasksFinished();
diff --git a/chrome/test/data/webui/settings/autofill_ai_section_test.ts b/chrome/test/data/webui/settings/autofill_ai_section_test.ts
index 2e36677..1730b6d 100644
--- a/chrome/test/data/webui/settings/autofill_ai_section_test.ts
+++ b/chrome/test/data/webui/settings/autofill_ai_section_test.ts
@@ -43,13 +43,11 @@
         guid: 'e4bbe384-ee63-45a4-8df3-713a58fdc181',
         entityInstanceLabel: 'Toyota',
         entityInstanceSubLabel: 'Car',
-        storedInWallet: false,
       },
       {
         guid: '1fd09cdc-35b8-4367-8f1a-18c8c0733af0',
         entityInstanceLabel: 'John Doe',
         entityInstanceSubLabel: 'Passport',
-        storedInWallet: false,
       },
     ];
     entityDataManager.setLoadEntityInstancesResponse(
@@ -222,20 +220,16 @@
         guid: 'e4bbe384-ee63-45a4-8df3-713a58fdc181',
         entityInstanceLabel: 'Toyota',
         entityInstanceSubLabel: 'Car',
-        storedInWallet: true,
       },
       {
         guid: '1fd09cdc-35b8-4367-8f1a-18c8c0733af0',
         entityInstanceLabel: 'John Doe',
         entityInstanceSubLabel: 'Passport',
-        storedInWallet: false,
       },
       {
-        // Note that this is the `testEntityInstance` guid.
         guid: 'd70b5bb7-49a6-4276-b4b7-b014dacdc9e6',
         entityInstanceLabel: 'John Doe',
         entityInstanceSubLabel: 'Driver\'s license',
-        storedInWallet: false,
       },
     ];
     entityDataManager.setGetOptInStatusResponse(true);
@@ -272,23 +266,6 @@
     assertTrue(!!section.shadowRoot!.querySelector('#entriesHeader'));
   }
 
-  test('AutofillAiWalletEntitiesDisplayWalletText', async function() {
-      await createPage();
-
-      const listItems =
-        entityInstancesListElement.querySelectorAll<HTMLElement>('.list-item');
-      assertEquals(
-        4, listItems.length,
-        '3 entity instances and a hidden element were loaded.');
-
-      for(const item of listItems) {
-        const googleWalletText = item.querySelector('span')!;
-        // Only the Vehicle entity (Toyota) is stored in Wallet.
-        assertEquals(item.textContent!.includes('Toyota'),
-          isVisible(googleWalletText));
-      }
-  });
-
   test(
       'AutofillAiEnterpriseUserLoggingAllowedAndNonEnterpriseUserHaveNoLoggingInfoBullet',
       async function() {
@@ -531,19 +508,16 @@
             guid: 'a521fc41-d672-4947-ab39-8bc9d49b08d2',
             entityInstanceLabel: 'Tom Clark',
             entityInstanceSubLabel: 'Passport',
-            storedInWallet: false,
           },
           {
             guid: 'db56681d-9598-4e37-825c-7977f52fbcee',
             entityInstanceLabel: 'Honda',
             entityInstanceSubLabel: 'Car',
-            storedInWallet: false,
           },
           {
             guid: '1a89869f-dff2-461a-8ef8-769e0e1c66f7',
             entityInstanceLabel: 'Tom Clark',
             entityInstanceSubLabel: 'Driver\'s license',
-            storedInWallet: false,
           },
         ];
 
@@ -630,19 +604,16 @@
         guid: 'e4bbe384-ee63-45a4-8df3-713a58fdc181',
         entityInstanceLabel: 'A label'.repeat(100),
         entityInstanceSubLabel: 'Car',
-        storedInWallet: false,
       },
       {
         guid: '1fd09cdc-35b8-4367-8f1a-18c8c0733af0',
         entityInstanceLabel: 'John Doe',
         entityInstanceSubLabel: 'Sublabel'.repeat(100),
-        storedInWallet: false,
       },
       {
         guid: '1fd09cdc-35b8-4367-8f1a-18c8c0733af0',
         entityInstanceLabel: 'Mark Donald',
         entityInstanceSubLabel: 'Passport',
-        storedInWallet: false,
       },
     ];
     entityDataManager.setLoadEntityInstancesResponse(
diff --git a/chrome/test/data/webui/settings/settings_main_plugins_test.ts b/chrome/test/data/webui/settings/settings_main_plugins_test.ts
index 6633aee..75cac9f 100644
--- a/chrome/test/data/webui/settings/settings_main_plugins_test.ts
+++ b/chrome/test/data/webui/settings/settings_main_plugins_test.ts
@@ -27,6 +27,7 @@
 
     loadTimeData.overrideValues(Object.assign(
         {
+          enableYourSavedInfoSettingsPage: false,
           isGuest: false,
           showAiPage: false,
           showResetProfileBanner: false,
@@ -194,4 +195,20 @@
     assertTrue(!!settingsMain.shadowRoot!.querySelector(
         'settings-reset-profile-banner'));
   });
+
+    test('shows either autofill or yourSavedInfo page', function() {
+    // Reset tested element and set yourSavedInfo experiment to false
+    createSettingsMain();
+
+    // Only autofill page should be visible
+    assertTrue(!!settingsMain.shadowRoot!.querySelector(`#autofill`));
+    assertFalse(!!settingsMain.shadowRoot!.querySelector(`#yourSavedInfo`));
+
+    // Reset tested element and set yourSavedInfo experiment to true
+    createSettingsMain({enableYourSavedInfoSettingsPage: true});
+
+    // Only yourSavedInfo page should be visible
+    assertFalse(!!settingsMain.shadowRoot!.querySelector(`#autofill`));
+    assertTrue(!!settingsMain.shadowRoot!.querySelector(`#yourSavedInfo`));
+  });
 });
diff --git a/chrome/test/data/webui/settings/your_saved_info_page_index_test.ts b/chrome/test/data/webui/settings/your_saved_info_page_index_test.ts
index 9207755d..8f94977 100644
--- a/chrome/test/data/webui/settings/your_saved_info_page_index_test.ts
+++ b/chrome/test/data/webui/settings/your_saved_info_page_index_test.ts
@@ -40,5 +40,19 @@
     Router.getInstance().navigateTo(routes.YOUR_SAVED_INFO);
     await microtasksFinished();
     assertActiveView('parent');
+
+    Router.getInstance().navigateTo(routes.PAYMENTS);
+    await microtasksFinished();
+    assertActiveView('payments');
+
+    Router.getInstance().navigateTo(routes.ADDRESSES);
+    await microtasksFinished();
+    assertActiveView('addresses');
+
+    // <if expr="is_win or is_macosx">
+    Router.getInstance().navigateTo(routes.PASSKEYS);
+    await microtasksFinished();
+    assertActiveView('passkeys');
+    // </if>
   });
 });
diff --git a/chrome/updater/util/win_util.cc b/chrome/updater/util/win_util.cc
index 6e3bfd3..62b199f 100644
--- a/chrome/updater/util/win_util.cc
+++ b/chrome/updater/util/win_util.cc
@@ -30,6 +30,7 @@
 #include "base/compiler_specific.h"
 #include "base/containers/flat_map.h"
 #include "base/containers/flat_set.h"
+#include "base/containers/span.h"
 #include "base/debug/alias.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
@@ -120,8 +121,8 @@
   }
   static constexpr SID_IDENTIFIER_AUTHORITY kMandatoryLabelAuth =
       SECURITY_MANDATORY_LABEL_AUTHORITY;
-  if (UNSAFE_TODO(std::memcmp(authority, &kMandatoryLabelAuth,
-                              sizeof(SID_IDENTIFIER_AUTHORITY)))) {
+  if (base::byte_span_from_ref(*authority) !=
+      base::byte_span_from_ref(kMandatoryLabelAuth)) {
     return E_FAIL;
   }
   PUCHAR count = ::GetSidSubAuthorityCount(sid);
diff --git a/clank b/clank
index a81377c..acd4c2a 160000
--- a/clank
+++ b/clank
@@ -1 +1 @@
-Subproject commit a81377cd5d18f043055acb314c600dc7db751984
+Subproject commit acd4c2ab7b4cf36d68f3d25be4701482d229574f
diff --git a/components/android_autofill/browser/android_autofill_provider.cc b/components/android_autofill/browser/android_autofill_provider.cc
index ebf1050..128a031 100644
--- a/components/android_autofill/browser/android_autofill_provider.cc
+++ b/components/android_autofill/browser/android_autofill_provider.cc
@@ -157,28 +157,30 @@
   // actually be shown by the AutofillExternalDelegate of an ancestor frame,
   // which is not notified about `rfh`'s destruction and therefore won't close
   // the popup.
-  if (manager_ && last_queried_field_rfh_id_ == rfh->GetGlobalId()) {
-    OnHidePopup(manager_.get());
-    last_queried_field_rfh_id_ = {};
+  if (session_state_ && session_state_->manager &&
+      session_state_->last_queried_field_rfh_id == rfh->GetGlobalId()) {
+    OnHidePopup(session_state_->manager.get());
+    session_state_->last_queried_field_rfh_id = {};
   }
 }
 
 void AndroidAutofillProvider::DidFinishNavigation(
     content::NavigationHandle* navigation_handle) {
-  if (manager_ &&
-      last_queried_field_rfh_id_ ==
+  if (session_state_ && session_state_->manager &&
+      session_state_->last_queried_field_rfh_id ==
           navigation_handle->GetPreviousRenderFrameHostId() &&
       !navigation_handle->IsSameDocument()) {
-    OnHidePopup(manager_.get());
-    last_queried_field_rfh_id_ = {};
+    OnHidePopup(session_state_->manager.get());
+    session_state_->last_queried_field_rfh_id = {};
     credman_sheet_status_ = CredManBottomSheetLifecycle::kNotShown;
   }
 }
 
 void AndroidAutofillProvider::OnVisibilityChanged(
     content::Visibility visibility) {
-  if (visibility == content::Visibility::HIDDEN && manager_) {
-    OnHidePopup(manager_.get());
+  if (visibility == content::Visibility::HIDDEN && session_state_ &&
+      session_state_->manager) {
+    OnHidePopup(session_state_->manager.get());
   }
 }
 
@@ -192,18 +194,26 @@
   // in response, see OnAutofillAvailable.
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
+  // We need to create session state here outside of StartNewSession because
+  // StartNewSession is called when the form is focused or the field value is
+  // changed, and we need to set the current_field and last_queried_field_rfh_id
+  // before StartNewSession is called.
+  if (!session_state_) {
+    session_state_.emplace();
+  }
+
   GetRenderFrameHost(manager)->ForEachRenderFrameHost(
       [this, &field](content::RenderFrameHost* rfh) {
         LocalFrameToken frame_token(rfh->GetFrameToken().value());
         if (frame_token == field.host_frame()) {
-          last_queried_field_rfh_id_ = rfh->GetGlobalId();
+          session_state_->last_queried_field_rfh_id = rfh->GetGlobalId();
         }
       });
 
-  current_field_ = {field.global_id(),
-                    manager->ComputeFieldTypeGroupForField(form.global_id(),
-                                                           field.global_id()),
-                    field.origin()};
+  session_state_->current_field = {field.global_id(),
+                                   manager->ComputeFieldTypeGroupForField(
+                                       form.global_id(), field.global_id()),
+                                   field.origin()};
 
   if (credman_sheet_status_ == CredManBottomSheetLifecycle::kIsShowing) {
     return;  // CredMan prevents 3P autofill UI. Start the session on refocus!
@@ -247,6 +257,11 @@
 void AndroidAutofillProvider::StartNewSession(AndroidAutofillManager* manager,
                                               const FormData& form,
                                               const FormFieldData& field) {
+  // Create session state if it doesn't exist
+  if (!session_state_) {
+    session_state_.emplace();
+  }
+
   FormStructure* form_structure = manager->FindCachedFormById(form.global_id());
   FormDataAndroid* cached_form =
       cached_data_ ? cached_data_->cached_form.get() : nullptr;
@@ -261,24 +276,24 @@
   // - The cached form is similar to the current form.
   const bool use_cached_form =
       is_similar_to_cached_form && !has_used_cached_form_;
-  form_ = std::make_unique<FormDataAndroid>(
+  session_state_->form = std::make_unique<FormDataAndroid>(
       form, use_cached_form ? cached_form->session_id() : CreateSessionId());
   FieldInfo field_info;
-  if (!form_->GetFieldIndex(field, &field_info.index)) {
+  if (!session_state_->form->GetFieldIndex(field, &field_info.index)) {
     Reset();
     return;
   }
 
-  manager_ = manager->GetWeakPtrToLeafClass();
+  session_state_->manager = manager->GetWeakPtrToLeafClass();
 
-  // Set the field type predictions in `form_`.
+  // Set the field type predictions in `session_state_->form`.
   if (form_structure) {
-    form_->UpdateFieldTypes(*form_structure);
+    session_state_->form->UpdateFieldTypes(*form_structure);
     // If there a non-trivial overrides from `FormDataParse` in the cached form,
     // apply them to the new form as well.
     if (use_cached_form &&
         cached_data_->password_parser_overrides != PasswordParserOverrides()) {
-      form_->UpdateFieldTypes(
+      session_state_->form->UpdateFieldTypes(
           cached_data_->password_parser_overrides.ToFieldTypeMap());
     }
   }
@@ -328,25 +343,30 @@
 
   has_used_cached_form_ = true;
   bridge_->StartAutofillSession(
-      *form_, field_info, manager->has_server_prediction(form.global_id()));
+      *session_state_->form, field_info,
+      manager->has_server_prediction(form.global_id()));
 }
 
 void AndroidAutofillProvider::OnAutofillAvailable() {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
+
   was_bottom_sheet_just_shown_ = false;
-  if (manager_ && form_) {
-    form_->UpdateFromJava();
-    FillOrPreviewForm(manager_.get(), form_->form(), current_field_.group,
-                      current_field_.origin);
+
+  if (session_state_ && session_state_->manager && session_state_->form) {
+    session_state_->form->UpdateFromJava();
+    FillOrPreviewForm(session_state_->manager.get(),
+                      session_state_->form->form(),
+                      session_state_->current_field.group,
+                      session_state_->current_field.origin);
   }
 }
 
 void AndroidAutofillProvider::OnAcceptDatalistSuggestion(
     const std::u16string& value) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (manager_) {
-    RendererShouldAcceptDataListSuggestion(manager_.get(), current_field_.id,
-                                           value);
+  if (session_state_ && session_state_->manager) {
+    RendererShouldAcceptDataListSuggestion(
+        session_state_->manager.get(), session_state_->current_field.id, value);
   }
 }
 
@@ -387,18 +407,19 @@
 }
 
 bool AndroidAutofillProvider::HasPasskeyRequest() {
-  if (!manager_ || !form_ ||
-      !GetCredManDelegate(GetRenderFrameHost(manager_.get()))) {
+  if (!session_state_ || !session_state_->manager || !session_state_->form ||
+      !GetCredManDelegate(GetRenderFrameHost(session_state_->manager.get()))) {
     return false;
   }
-  const FormFieldData* field =
-      form_->form().FindFieldByGlobalId(current_field_.id);
+  const FormFieldData* field = session_state_->form->form().FindFieldByGlobalId(
+      session_state_->current_field.id);
   return field && AllowCredManOnField(*field);
 }
 
 void AndroidAutofillProvider::OnTriggerPasskeyRequest() {
-  if (manager_) {
-    if (content::RenderFrameHost* rfh = GetRenderFrameHost(manager_.get())) {
+  if (session_state_ && session_state_->manager) {
+    if (content::RenderFrameHost* rfh =
+            GetRenderFrameHost(session_state_->manager.get())) {
       if (WebAuthnCredManDelegate* delegate = GetCredManDelegate(rfh)) {
         delegate->TriggerCredManUi(RequestPasswords(false));
       }
@@ -420,14 +441,19 @@
     const FormFieldData& field) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   FieldInfo field_info;
-  if (!IsLinkedForm(form) ||
-      !form_->GetSimilarFieldIndex(field, &field_info.index)) {
+  if (!IsLinkedForm(form)) {
+    return;
+  }
+  CHECK(session_state_ && session_state_->form);
+
+  // IsLinkedForm ensures session_state_ and session_state_->form exist.
+  if (!session_state_->form->GetSimilarFieldIndex(field, &field_info.index)) {
     return;
   }
 
   // TODO(crbug.com/40929724): Investigate whether the update of the value
   // is needed - why would it have changed?
-  form_->OnFormFieldDidChange(field_info.index, field.value());
+  session_state_->form->OnFormFieldDidChange(field_info.index, field.value());
 
   field_info.bounds = ToClientAreaBound(field.bounds());
   bridge_->OnTextFieldDidScroll(field_info);
@@ -466,9 +492,10 @@
   if (!IsIdOfLinkedForm(form.global_id())) {
     return;
   }
+  CHECK(session_state_ && session_state_->manager);
 
   if (FormStructure* form_structure =
-          manager_->FindCachedFormById(form.global_id());
+          session_state_->manager->FindCachedFormById(form.global_id());
       source == mojom::SubmissionSource::DOM_MUTATION_AFTER_AUTOFILL &&
       (!form_structure ||
        !base::FeatureList::IsEnabled(
@@ -512,12 +539,15 @@
   if (!IsLinkedForm(form)) {
     return std::nullopt;  // Form may have changed or was unfocused meanwhile.
   }
+  CHECK(session_state_ && session_state_->form);
   FieldInfo field_to_focus;
-  if (!form_->GetSimilarFieldIndex(field, &field_to_focus.index)) {
+  if (!session_state_->form->GetSimilarFieldIndex(field,
+                                                  &field_to_focus.index)) {
     return std::nullopt;
   }
   field_to_focus.bounds = ToClientAreaBound(field.bounds());
-  std::vector<int> indices_with_change = form_->UpdateFieldVisibilities(form);
+  std::vector<int> indices_with_change =
+      session_state_->form->UpdateFieldVisibilities(form);
   if (!indices_with_change.empty()) {
     bridge_->OnFormFieldVisibilitiesDidChange(std::move(indices_with_change));
   }
@@ -530,12 +560,15 @@
     const FormFieldData& field) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   FieldInfo field_info;
-  if (!IsLinkedForm(form) ||
-      !form_->GetSimilarFieldIndex(field, &field_info.index)) {
+  if (!IsLinkedForm(form)) {
+    return;
+  }
+  CHECK(session_state_ && session_state_->form);
+  if (!session_state_->form->GetSimilarFieldIndex(field, &field_info.index)) {
     return;
   }
   // Propagate the changed values to Java.
-  form_->OnFormFieldDidChange(field_info.index, field.value());
+  session_state_->form->OnFormFieldDidChange(field_info.index, field.value());
   field_info.bounds = ToClientAreaBound(field.bounds());
   bridge_->OnFormFieldDidChange(field_info);
 }
@@ -544,7 +577,8 @@
                                                 const FormData& form,
                                                 base::TimeTicks timestamp) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (manager != manager_.get() || !IsIdOfLinkedForm(form.global_id())) {
+  if (!session_state_ || manager != session_state_->manager.get() ||
+      !IsIdOfLinkedForm(form.global_id())) {
     return;
   }
   // TODO(crbug.com/40760916): Investigate passing the actually filled fields,
@@ -555,7 +589,7 @@
 
 void AndroidAutofillProvider::OnHidePopup(AndroidAutofillManager* manager) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
-  if (manager == manager_.get()) {
+  if (session_state_ && manager == session_state_->manager.get()) {
     bridge_->HideDatalistPopup();
   }
 }
@@ -570,12 +604,13 @@
     return;
   }
 
-  CHECK(manager_);
-  const FormStructure* form_structure = manager_->FindCachedFormById(form_id);
+  CHECK(session_state_ && session_state_->manager);
+  const FormStructure* form_structure =
+      session_state_->manager->FindCachedFormById(form_id);
   if (!form_structure) {
     return;
   }
-  form_->UpdateFieldTypes(*form_structure);
+  session_state_->form->UpdateFieldTypes(*form_structure);
   bridge_->OnServerPredictionsAvailable();
 }
 
@@ -591,8 +626,9 @@
 bool AndroidAutofillProvider::GetCachedIsAutofilled(
     const FormFieldData& field) const {
   size_t field_index = 0u;
-  return form_ && form_->GetFieldIndex(field, &field_index) &&
-         form_->form().fields()[field_index].is_autofilled();
+  return session_state_ && session_state_->form &&
+         session_state_->form->GetFieldIndex(field, &field_index) &&
+         session_state_->form->form().fields()[field_index].is_autofilled();
 }
 
 bool AndroidAutofillProvider::IntendsToShowBottomSheet(
@@ -695,15 +731,17 @@
 
 bool AndroidAutofillProvider::IsLinkedManager(
     AndroidAutofillManager* manager) const {
-  return manager == manager_.get();
+  return session_state_ && manager == session_state_->manager.get();
 }
 
 bool AndroidAutofillProvider::IsIdOfLinkedForm(FormGlobalId form_id) const {
-  return form_ && form_->form().global_id() == form_id;
+  return session_state_ && session_state_->form &&
+         session_state_->form->form().global_id() == form_id;
 }
 
 bool AndroidAutofillProvider::IsLinkedForm(const FormData& form) const {
-  return form_ && form_->SimilarFormAs(form);
+  return session_state_ && session_state_->form &&
+         session_state_->form->SimilarFormAs(form);
 }
 
 gfx::RectF AndroidAutofillProvider::ToClientAreaBound(
@@ -713,16 +751,17 @@
 }
 
 void AndroidAutofillProvider::Reset() {
-  if (manager_) {
+  if (session_state_ && session_state_->manager) {
     if (WebAuthnCredManDelegate* delegate =
-            GetCredManDelegate(manager_.get())) {
+            GetCredManDelegate(session_state_->manager.get())) {
       delegate->SetRequestCompletionCallback(base::DoNothing());
     }
   }
-  manager_ = nullptr;
-  form_.reset();
+
+  // Clear all session-specific state.
+  session_state_.reset();
+
   credman_sheet_status_ = CredManBottomSheetLifecycle::kNotShown;
-  current_field_ = {};
   was_shown_bottom_sheet_timer_.Stop();
   was_bottom_sheet_just_shown_ = false;
 
@@ -763,7 +802,7 @@
 
   // Return if there has already been a cache request or if there is already
   // an ongoing Autofill session.
-  if (cached_data_ || form_) {
+  if (cached_data_ || (session_state_ && session_state_->form)) {
     return;
   }
 
@@ -831,6 +870,15 @@
   return result;
 }
 
+AndroidAutofillProvider::SessionState::SessionState() = default;
+
+AndroidAutofillProvider::SessionState::SessionState(SessionState&&) = default;
+
+AndroidAutofillProvider::SessionState&
+AndroidAutofillProvider::SessionState::operator=(SessionState&&) = default;
+
+AndroidAutofillProvider::SessionState::~SessionState() = default;
+
 AndroidAutofillProvider::CachedData::CachedData() = default;
 
 AndroidAutofillProvider::CachedData::CachedData(CachedData&&) = default;
diff --git a/components/android_autofill/browser/android_autofill_provider.h b/components/android_autofill/browser/android_autofill_provider.h
index faf0eaa..5a02761 100644
--- a/components/android_autofill/browser/android_autofill_provider.h
+++ b/components/android_autofill/browser/android_autofill_provider.h
@@ -287,6 +287,50 @@
     kClosed,     // The sheet was dismissed and shouldn't be shown again.
   };
 
+  // Groups all state that is specific to the current autofill session.
+  // A session starts when StartNewSession() is called and ends when Reset() is
+  // called.
+  struct SessionState {
+    SessionState();
+    SessionState(SessionState&&);
+    SessionState& operator=(SessionState&&);
+    ~SessionState();
+
+    // The form of the current session (queried input or changed select box).
+    std::unique_ptr<FormDataAndroid> form;
+
+    // The autofill manager for the current session.
+    base::WeakPtr<AndroidAutofillManager> manager;
+
+    // Information about a field in an autofill session.
+    struct CurrentFieldInfo {
+      FieldGlobalId id;
+      FieldTypeGroup group = {FieldTypeGroup::kNoGroup};
+      url::Origin origin;
+    };
+
+    // Properties of the last-focused field of the current session for `form`
+    // (queried input or changed select box).
+    CurrentFieldInfo current_field;
+
+    // The frame of the field for which the last OnAskForValuesToFill()
+    // happened.
+    //
+    // It is not necessarily the same frame as the current session's
+    // `last_focused_field_id_.host_frame` because the session may survive
+    // OnAskForValuesToFill().
+    //
+    // It's not necessarily the same frame as `manager`'s for the same reason as
+    // `last_focused_field_id_`, and also because `manager` may refer to an
+    // ancestor frame of the queried field.
+    content::GlobalRenderFrameHostId last_queried_field_rfh_id;
+  };
+
+  // Current autofill session state. Empty when no session is active.
+  std::optional<SessionState> session_state_;
+
+  // CredMan bottom sheet lifecycle state. This is independent of autofill
+  // sessions because passkey authentication can happen without autofill.
   CredManBottomSheetLifecycle credman_sheet_status_ =
       CredManBottomSheetLifecycle::kNotShown;
 
@@ -296,9 +340,10 @@
   // shortly after `WasBottomSheetJustShown()` is called. The timer's function
   // is to handle multiple calls related to the same user event correctly, which
   // can currently happen (crbug.com/1490581).
+  // This tracks bottom sheets from both autofill sessions AND prefill requests.
   bool was_bottom_sheet_just_shown_ = false;
 
-  // Sets `was_bottom_sheet_just_shown` to false after a timeout.
+  // Sets `was_bottom_sheet_just_shown_` to false after a timeout.
   base::OneShotTimer was_shown_bottom_sheet_timer_;
 
   // Helper struct that contains cache data used in prefill requests.
@@ -321,30 +366,6 @@
   // (cached) form a second time.
   bool has_used_cached_form_ = false;
 
-  // The form of the current session (queried input or changed select box).
-  std::unique_ptr<FormDataAndroid> form_;
-
-  // Properties of the last-focused field of the current session for `form_`
-  // (queried input or changed select box).
-  struct {
-    FieldGlobalId id;
-    FieldTypeGroup group = {FieldTypeGroup::kNoGroup};
-    url::Origin origin;
-  } current_field_;
-
-  // The frame of the field for which the last OnAskForValuesToFill() happened.
-  //
-  // It is not necessarily the same frame as the current session's
-  // `last_focused_field_id_.host_frame` because the session may survive
-  // OnAskForValuesToFill().
-  //
-  // It's not necessarily the same frame as `manager_`'s for the same reason as
-  // `last_focused_field_id_`, and also because `manager_` may refer to an
-  // ancestor frame of the queried field.
-  content::GlobalRenderFrameHostId last_queried_field_rfh_id_;
-
-  base::WeakPtr<AndroidAutofillManager> manager_;
-
   static constexpr SessionId kMinimumSessionId = SessionId(1);
   static constexpr SessionId kMaximumSessionId = SessionId(0xffff);
   // The last assigned session id.
diff --git a/components/android_autofill/browser/android_autofill_provider_test_api.h b/components/android_autofill/browser/android_autofill_provider_test_api.h
index daf658b..d909122 100644
--- a/components/android_autofill/browser/android_autofill_provider_test_api.h
+++ b/components/android_autofill/browser/android_autofill_provider_test_api.h
@@ -14,9 +14,14 @@
   explicit AndroidAutofillProviderTestApi(AndroidAutofillProvider* provider)
       : provider_(*provider) {}
 
-  const FormDataAndroid* form() && { return provider_->form_.get(); }
+  const FormDataAndroid* form() && {
+    return provider_->session_state_ ? provider_->session_state_->form.get()
+                                     : nullptr;
+  }
   const FieldGlobalId last_focused_field_id() && {
-    return provider_->current_field_.id;
+    return provider_->session_state_
+               ? provider_->session_state_->current_field.id
+               : FieldGlobalId{};
   }
 
   TouchToFillKeyboardSuppressor& keyboard_suppressor() {
diff --git a/components/autofill/core/browser/autofill_field.cc b/components/autofill/core/browser/autofill_field.cc
index a2496d2..21e6c9ab 100644
--- a/components/autofill/core/browser/autofill_field.cc
+++ b/components/autofill/core/browser/autofill_field.cc
@@ -419,7 +419,17 @@
 AutofillFormatString::AutofillFormatString(std::u16string v,
                                            FormatString_Type type)
     : value(std::move(v)), type(type) {
-  // TODO(crbug.com/446883719): Add a DCHECK that the format is valid.
+  DCHECK([&]() {
+    switch (type) {
+      case FormatString_Type_DATE:
+        return data_util::IsValidDateFormat(value);
+      case FormatString_Type_AFFIX:
+        return data_util::IsValidAffixFormat(value);
+      case FormatString_Type_FLIGHT_NUMBER:
+        return data_util::IsValidFlightNumberFormat(value);
+    }
+    return false;
+  }());
 }
 
 AutofillFormatString::AutofillFormatString(const AutofillFormatString&) =
diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding.cc
index c781288..828c57c 100644
--- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding.cc
+++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding.cc
@@ -80,6 +80,19 @@
   return result;
 }
 
+[[nodiscard]] bool IsValidFormatString(FormatString_Type type,
+                                       std::u16string_view value) {
+  switch (type) {
+    case FormatString_Type_DATE:
+      return data_util::IsValidDateFormat(value);
+    case FormatString_Type_AFFIX:
+      return data_util::IsValidAffixFormat(value);
+    case FormatString_Type_FLIGHT_NUMBER:
+      return data_util::IsValidFlightNumberFormat(value);
+  }
+  return false;
+}
+
 #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS)
 // Merges manual and server type predictions.
 //
@@ -468,17 +481,7 @@
 
     if (field_options) {
       for (const auto& [type, string] : field_options->format_strings) {
-        DCHECK([&]() {
-          switch (type) {
-            case FormatString_Type_AFFIX:
-              return data_util::IsValidAffixFormat(string);
-            case FormatString_Type_DATE:
-              return data_util::IsValidDateFormat(string);
-            case FormatString_Type_FLIGHT_NUMBER:
-              return data_util::IsValidFlightNumberFormat(string);
-          }
-          return false;
-        }());
+        DCHECK(IsValidFormatString(type, string));
         auto* added_format_string = added_field->add_format_string();
         added_format_string->set_type(type);
         added_format_string->set_format_string(base::UTF16ToUTF8(string));
@@ -1054,17 +1057,14 @@
             field_suggestion->password_requirements());
       }
       if (field_suggestion->has_format_string()) {
-        switch (field_suggestion->format_string().type()) {
-          case FormatString_Type_AFFIX:
-          case FormatString_Type_DATE:
-          case FormatString_Type_FLIGHT_NUMBER:
-            field->set_format_string_unless_overruled(
-                AutofillFormatString(
-                    base::UTF8ToUTF16(
-                        field_suggestion->format_string().format_string()),
-                    field_suggestion->format_string().type()),
-                AutofillFormatStringSource::kServer);
-            break;
+        std::u16string format_string_value = base::UTF8ToUTF16(
+            field_suggestion->format_string().format_string());
+        if (IsValidFormatString(field_suggestion->format_string().type(),
+                                format_string_value)) {
+          field->set_format_string_unless_overruled(
+              AutofillFormatString(format_string_value,
+                                   field_suggestion->format_string().type()),
+              AutofillFormatStringSource::kServer);
         }
       }
       ++field_rank_map[field->GetFieldSignature()];
diff --git a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding_unittest.cc b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding_unittest.cc
index 4466bf5..8fd8da91 100644
--- a/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding_unittest.cc
+++ b/components/autofill/core/browser/crowdsourcing/autofill_crowdsourcing_encoding_unittest.cc
@@ -67,6 +67,7 @@
 using ::testing::IsEmpty;
 using ::testing::Matcher;
 using ::testing::Not;
+using ::testing::Optional;
 using ::testing::Pointee;
 using ::testing::Property;
 using ::testing::ResultOf;
@@ -235,6 +236,14 @@
 }
 #endif
 
+void ParseRationalizeAndSection(FormStructure& form) {
+  const RegexPredictions regex_predictions = DetermineRegexTypes(
+      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
+  regex_predictions.ApplyTo(form.fields());
+  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
+                                    nullptr);
+}
+
 class AutofillCrowdsourcingEncoding : public testing::Test {
  public:
   AutofillCrowdsourcingEncoding() = default;
@@ -1989,12 +1998,7 @@
   // Form structure containing the state on submit.
   FormStructure form_structure(form);
 
-  const RegexPredictions regex_predictions =
-      DetermineRegexTypes(GeoIpCountryCode(""), LanguageCode(""),
-                          cached_form_structure.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(cached_form_structure.fields());
-  cached_form_structure.RationalizeAndAssignSections(GeoIpCountryCode(""),
-                                                     LanguageCode(""), nullptr);
+  ParseRationalizeAndSection(cached_form_structure);
 
   // Simulate user changed non-pre-filled field value.
   form_structure.field(0)->set_value(u"John");
@@ -2446,18 +2450,14 @@
   AddFieldOverrideToForm(form_data.fields()[0], NAME_FIRST, form_suggestion);
   AddFieldPredictionToForm(form_data.fields()[1], NAME_LAST, form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
+
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 2U);
 
   // Validate the type predictions.
@@ -2504,11 +2504,7 @@
        .url = "http://foo.com"});
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2518,12 +2514,11 @@
   AddFieldPredictionToForm(form_data.fields()[1], NAME_LAST, form_suggestion);
   AddFieldPredictionToForm(form_data.fields()[2], NAME_LAST, form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 3U);
 
   // Validate the heuristic and server predictions.
@@ -2555,11 +2550,7 @@
        .url = "http://foo.com"});
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2571,12 +2562,11 @@
   AddFieldPredictionToForm(form_data.fields()[2], ADDRESS_HOME_LINE2,
                            form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 4U);
 
   // Validate the heuristic and server predictions.
@@ -2608,11 +2598,7 @@
              .form_control_type = FormControlType::kInputPassword}},
        .url = "http://foo.com"});
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2624,10 +2610,10 @@
   AddFieldPredictionToForm(form_data.fields()[1], PASSWORD, form_suggestion);
 
   // Parse the response and update the field type predictions.
-  std::string response_string = SerializeAndEncode(response);
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 2U);
 
   // Validate the heuristic and server predictions.
@@ -2655,11 +2641,7 @@
              .form_control_type = FormControlType::kInputPassword}},
        .url = "http://foo.com"});
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2671,10 +2653,10 @@
   AddFieldPredictionToForm(form_data.fields()[1], PASSWORD, form_suggestion);
 
   // Parse the response and update the field type predictions.
-  std::string response_string = SerializeAndEncode(response);
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 2U);
 
   // Validate the heuristic and server predictions.
@@ -2699,11 +2681,7 @@
        CreateTestFormField("email", "email", "", FormControlType::kInputText,
                            "address-level2")});
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2747,7 +2725,7 @@
   FormStructure empty_form{FormData()};
   std::vector<raw_ptr<FormStructure, VectorExperimental>> empty_forms{
       &empty_form};
-  ParseServerPredictionsQueryResponse(response_string, empty_forms,
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), empty_forms,
                                       test::GetEncodedSignatures(empty_forms),
                                       nullptr);
   ASSERT_EQ(empty_form.field_count(), 0U);
@@ -2766,11 +2744,7 @@
        CreateTestFormField("email", "email", "", FormControlType::kInputText,
                            "address-level2")});
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2782,12 +2756,11 @@
   AddFieldPredictionToForm(form_data.fields()[2], ADDRESS_HOME_LINE1,
                            form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 3U);
 
   // Validate field 0.
@@ -2875,10 +2848,8 @@
                             iframe_form_suggestion);
 
   // Serialize API response.
-  std::string response_string;
-  ASSERT_TRUE(api_response.SerializeToString(&response_string));
-  ParseServerPredictionsQueryResponse(base::Base64Encode(response_string),
-                                      forms, encoded_signatures, nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(api_response), forms,
+                                      encoded_signatures, nullptr);
 
   ASSERT_EQ(forms.front()->field_count(), 1U);
   EXPECT_EQ(forms.front()->field(0)->server_type(), GetParam().expected_type);
@@ -2946,11 +2917,7 @@
            {.host_form_signature = FormSignature(12345), .name = u"name"}}});
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -2967,10 +2934,8 @@
   AddFieldPredictionToForm(form_data.fields()[0], SINGLE_USERNAME,
                            iframe_form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
-  ParseServerPredictionsQueryResponse(response_string, forms,
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
                                       encoded_signatures, nullptr);
   ASSERT_EQ(form.field_count(), 1U);
 
@@ -3054,12 +3019,8 @@
                              form_suggestion);
   }
 
-  // Serialize API response.
-  std::string response_string;
-  ASSERT_TRUE(api_response.SerializeToString(&response_string));
-
-  ParseServerPredictionsQueryResponse(base::Base64Encode(response_string),
-                                      forms, encoded_signatures, nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(api_response), forms,
+                                      encoded_signatures, nullptr);
 
   // Check expected field types.
   ASSERT_GE(forms[0]->field_count(), 6U);
@@ -3113,12 +3074,8 @@
   form_suggestion = api_response.add_form_suggestions();
   AddFieldPredictionToForm(form2.fields()[0], EMAIL_ADDRESS, form_suggestion);
   AddFieldPredictionToForm(form2.fields()[1], NO_SERVER_DATA, form_suggestion);
-  // Serialize API response.
-  std::string response_string;
-  ASSERT_TRUE(api_response.SerializeToString(&response_string));
-
-  ParseServerPredictionsQueryResponse(base::Base64Encode(response_string),
-                                      forms, test::GetEncodedSignatures(forms),
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(api_response), forms,
+                                      test::GetEncodedSignatures(forms),
                                       nullptr);
 
   // Verify that the form fields are properly filled with data retrieved from
@@ -3671,14 +3628,10 @@
        CreateTestFormField("password", "password", "",
                            FormControlType::kInputPassword, "new-password")});
   FormStructure form_structure(form);
-  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms;
-  forms.push_back(&form_structure);
-  const RegexPredictions regex_predictions =
-      DetermineRegexTypes(GeoIpCountryCode(""), LanguageCode(""),
-                          forms.front()->ToFormData(), nullptr);
-  regex_predictions.ApplyTo(forms.front()->fields());
-  forms.front()->RationalizeAndAssignSections(GeoIpCountryCode(""),
-                                              LanguageCode(""), nullptr);
+  ParseRationalizeAndSection(form_structure);
+
+  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms = {
+      &form_structure};
 
   AutofillQueryResponse response;
   auto* form_suggestion = response.add_form_suggestions();
@@ -3686,9 +3639,9 @@
   AddFieldPredictionToForm(form.fields()[1], ACCOUNT_CREATION_PASSWORD,
                            form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
 
   ASSERT_GE(forms[0]->field_count(), 2U);
   // Server type is parsed from the response and is the end result type.
@@ -3726,23 +3679,15 @@
   AddFieldPredictionToForm(form.fields()[2], NO_SERVER_DATA, form_suggestion);
   AddFieldPredictionToForm(form.fields()[3], NO_SERVER_DATA, form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   FormStructure form_structure(form);
-  // Will identify the sections based on the heuristics types.
-  const RegexPredictions regex_predictions =
-      DetermineRegexTypes(GeoIpCountryCode(""), LanguageCode(""),
-                          form_structure.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form_structure.fields());
-  form_structure.RationalizeAndAssignSections(GeoIpCountryCode(""),
-                                              LanguageCode(""), nullptr);
-
-  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms;
-  forms.push_back(&form_structure);
+  ParseRationalizeAndSection(form_structure);
 
   // Will call RationalizeFieldTypePredictions
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms = {
+      &form_structure};
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
 
   ASSERT_EQ(1U, forms.size());
   ASSERT_EQ(4U, forms[0]->field_count());
@@ -3781,24 +3726,15 @@
   AddFieldPredictionToForm(form.fields()[2], NO_SERVER_DATA, form_suggestion);
   AddFieldPredictionToForm(form.fields()[3], NO_SERVER_DATA, form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   FormStructure form_structure(form);
-
-  // Will identify the sections based on the heuristics types.
-  const RegexPredictions regex_predictions =
-      DetermineRegexTypes(GeoIpCountryCode(""), LanguageCode(""),
-                          form_structure.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form_structure.fields());
-  form_structure.RationalizeAndAssignSections(GeoIpCountryCode(""),
-                                              LanguageCode(""), nullptr);
-
-  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms;
-  forms.push_back(&form_structure);
+  ParseRationalizeAndSection(form_structure);
 
   // Will call RationalizeFieldTypePredictions
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms = {
+      &form_structure};
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
 
   ASSERT_EQ(1U, forms.size());
   ASSERT_EQ(4U, forms[0]->field_count());
@@ -3841,24 +3777,15 @@
                            form_suggestion);
   AddFieldPredictionToForm(form.fields()[3], NO_SERVER_DATA, form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   FormStructure form_structure(form);
-
-  // Will identify the sections based on the heuristics types.
-  const RegexPredictions regex_predictions =
-      DetermineRegexTypes(GeoIpCountryCode(""), LanguageCode(""),
-                          form_structure.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form_structure.fields());
-  form_structure.RationalizeAndAssignSections(GeoIpCountryCode(""),
-                                              LanguageCode(""), nullptr);
-
-  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms;
-  forms.push_back(&form_structure);
+  ParseRationalizeAndSection(form_structure);
 
   // Will call RationalizeFieldTypePredictions
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms = {
+      &form_structure};
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
 
   ASSERT_EQ(1U, forms.size());
   ASSERT_EQ(4U, forms[0]->field_count());
@@ -3894,11 +3821,7 @@
             CalculateFieldSignatureForField(form_data.fields()[1]));
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -3908,12 +3831,11 @@
   AddFieldPredictionToForm(form_data.fields()[2], EMAIL_ADDRESS,
                            form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 3U);
 
   EXPECT_EQ(form.field(0)->server_type(), NAME_FIRST);
@@ -3939,11 +3861,7 @@
             CalculateFieldSignatureForField(form_data.fields()[1]));
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   // Setup the query response.
   AutofillQueryResponse response;
@@ -3952,12 +3870,11 @@
   AddFieldPredictionToForm(form_data.fields()[2], EMAIL_ADDRESS,
                            form_suggestion);
 
-  std::string response_string = SerializeAndEncode(response);
-
   // Parse the response and update the field type predictions.
   std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
-  ParseServerPredictionsQueryResponse(
-      response_string, forms, test::GetEncodedSignatures(forms), nullptr);
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
   ASSERT_EQ(form.field_count(), 3U);
 
   EXPECT_EQ(form.field(0)->server_type(), NAME_FIRST);
@@ -3984,11 +3901,7 @@
   }
 
   FormStructure form(form_data);
-  const RegexPredictions regex_predictions = DetermineRegexTypes(
-      GeoIpCountryCode(""), LanguageCode(""), form.ToFormData(), nullptr);
-  regex_predictions.ApplyTo(form.fields());
-  form.RationalizeAndAssignSections(GeoIpCountryCode(""), LanguageCode(""),
-                                    nullptr);
+  ParseRationalizeAndSection(form);
 
   const auto default_autofill_prediction = CreateFieldPrediction(
       NAME_FIRST, FieldPrediction::SOURCE_AUTOFILL_DEFAULT);
@@ -4086,15 +3999,70 @@
   AutofillQueryResponse response;
   auto* form_suggestion = response.add_form_suggestions();
   form_suggestion->set_run_autofill_ai_model(true);
-  std::string response_string = SerializeAndEncode(response);
 
   FormStructure form_structure(form);
   EXPECT_FALSE(form_structure.may_run_autofill_ai_model());
   ParseServerPredictionsQueryResponse(
-      response_string, {&form_structure},
+      SerializeAndEncode(response), {&form_structure},
       test::GetEncodedSignatures({&form_structure}), nullptr);
   EXPECT_TRUE(form_structure.may_run_autofill_ai_model());
 }
 
+// Tests that valid format strings are accepted and invalid ones are ignored.
+TEST_F(AutofillCrowdsourcingEncoding, ParseFormatString) {
+  base::test::ScopedFeatureList features{features::kAutofillAiWithDataSchema};
+  FormData form_data;
+  form_data.set_url(GURL("https://foo.com"));
+  form_data.set_fields(
+      {CreateTestFormField("Name", "name", "", FormControlType::kInputText),
+       CreateTestFormField("Driver's license number", "dl_number", "",
+                           FormControlType::kInputText),
+       CreateTestFormField("Passport number", "passport_number", "",
+                           FormControlType::kInputText, "")});
+
+  FormStructure form(form_data);
+  ParseRationalizeAndSection(form);
+
+  auto add_autofill_ai_prediction =
+      [](const FormFieldData& field, FieldType field_type,
+         FormatString_Type format_string_type,
+         std::string_view format_string_value,
+         AutofillQueryResponse_FormSuggestion* form_suggestion) {
+        AutofillQueryResponse_FormSuggestion_FieldSuggestion* field_suggestion =
+            form_suggestion->add_field_suggestions();
+        field_suggestion->set_field_signature(
+            *CalculateFieldSignatureForField(field));
+        AutofillQueryResponse_FormSuggestion_FieldSuggestion_FieldPrediction*
+            prediction = field_suggestion->add_predictions();
+        prediction->set_type(field_type);
+        prediction->set_source(FieldPrediction::SOURCE_AUTOFILL_AI);
+        field_suggestion->mutable_format_string()->set_format_string(
+            format_string_value);
+        field_suggestion->mutable_format_string()->set_type(format_string_type);
+      };
+
+  // Setup the query response.
+  AutofillQueryResponse response;
+  auto* form_suggestion = response.add_form_suggestions();
+  add_autofill_ai_prediction(form_data.fields()[1], DRIVERS_LICENSE_NUMBER,
+                             FormatString_Type_AFFIX, "-4", form_suggestion);
+  add_autofill_ai_prediction(form_data.fields()[2], PASSPORT_NUMBER,
+                             FormatString_Type_AFFIX, "asd", form_suggestion);
+
+  // Parse the response.
+  std::vector<raw_ptr<FormStructure, VectorExperimental>> forms{&form};
+  ParseServerPredictionsQueryResponse(SerializeAndEncode(response), forms,
+                                      test::GetEncodedSignatures(forms),
+                                      nullptr);
+  ASSERT_EQ(form.field_count(), 3U);
+
+  EXPECT_THAT(form.field(1)->Type().GetTypes(),
+              ElementsAre(DRIVERS_LICENSE_NUMBER));
+  EXPECT_THAT(form.field(1)->format_string(),
+              Optional(AutofillFormatString(u"-4", FormatString_Type_AFFIX)));
+  EXPECT_THAT(form.field(2)->Type().GetTypes(), ElementsAre(PASSPORT_NUMBER));
+  EXPECT_EQ(form.field(2)->format_string(), std::nullopt);
+}
+
 }  // namespace
 }  // namespace autofill
diff --git a/components/autofill/core/browser/data_manager/addresses/account_name_email_store.cc b/components/autofill/core/browser/data_manager/addresses/account_name_email_store.cc
index aadaaaa9..74a2716 100644
--- a/components/autofill/core/browser/data_manager/addresses/account_name_email_store.cc
+++ b/components/autofill/core/browser/data_manager/addresses/account_name_email_store.cc
@@ -9,6 +9,7 @@
 #include "base/hash/hash.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
+#include "base/strings/utf_string_conversions.h"
 #include "components/autofill/core/common/autofill_features.h"
 #include "components/autofill/core/common/autofill_prefs.h"
 #include "components/signin/public/base/consent_level.h"
@@ -24,6 +25,14 @@
 
 constexpr std::string_view kSeparator = "|";
 
+// Returns true if `profile` has the same full name and email address as `info`,
+// false otherwise.
+bool AutofillProfileMatchesAccountInfo(const AutofillProfile& profile,
+                                       const AccountInfo& info) {
+  return profile.GetRawInfo(NAME_FULL) == base::UTF8ToUTF16(info.full_name) &&
+         profile.GetRawInfo(EMAIL_ADDRESS) == base::UTF8ToUTF16(info.email);
+}
+
 }  // namespace
 
 AccountNameEmailStore::AccountNameEmailStore(
@@ -186,9 +195,10 @@
       address_data_manager_->GetProfilesByRecordType(
           AutofillProfile::RecordType::kAccountNameEmail);
   const bool account_name_email_exists = !account_name_email_profiles.empty();
-  if (!hashes_different && account_name_email_exists) {
-    // Hashes are the same and the kAccountNameEmail profile exists.
-    // This function was called as a side effect of the other, unrelated flow.
+  if (account_name_email_exists && AutofillProfileMatchesAccountInfo(
+                                       *account_name_email_profiles[0], info)) {
+    // A valid kAccountNameEmail profile already exists. This function was
+    // called as a side effect of the other, unrelated flow.
     return;
   }
 
diff --git a/components/autofill/core/browser/data_manager/addresses/account_name_email_store_unittest.cc b/components/autofill/core/browser/data_manager/addresses/account_name_email_store_unittest.cc
index e2b247f3..2831c65f 100644
--- a/components/autofill/core/browser/data_manager/addresses/account_name_email_store_unittest.cc
+++ b/components/autofill/core/browser/data_manager/addresses/account_name_email_store_unittest.cc
@@ -559,6 +559,40 @@
             features::kAutofillNameAndEmailProfileNotSelectedThreshold.Get());
 }
 
+// Tests that the kAccountNameEmail profile will be recreated even if the stored
+// hash matches the account info, if the actual profile has outdated data.
+// It is a regression for the following bug:
+// If there were two devices A,B and the account info got updated on the
+// device A, the profile will correctly be recreated there, however since
+// the hash of the account info is synced, the device B will download the
+// updated hash and detect that its stored hash already matches the account info
+// and thus won't update the profile.
+TEST_F(AccountNameEmailStoreTest,
+       ProfileRecreatedIfNameUpdatedOnDifferentDevice) {
+  CreatePrimaryAccount(kTestName1, kTestEmailAddress1);
+  ASSERT_THAT(
+      address_data_manager().GetProfiles(),
+      ElementsAre(Property(&AutofillProfile::record_type,
+                           AutofillProfile::RecordType::kAccountNameEmail)));
+
+  AccountInfo info = GetPrimaryAccountInfo();
+  info.full_name = kTestName2;
+
+  // Set the hash pref to the updated value before the actual autofill profile
+  // data changes.
+  pref_service().SetString(
+      prefs::kAutofillNameAndEmailProfileSignature,
+      test_api(&account_name_email_store()).HashAccountInfo(info));
+
+  // Try recreating the profile.
+  OnAccountUpdated(info);
+
+  EXPECT_THAT(
+      address_data_manager().GetProfiles(),
+      ElementsAre(IsCorrectAccountNameEmail(base::UTF8ToUTF16(info.full_name),
+                                            base::UTF8ToUTF16(info.email))));
+}
+
 }  // namespace
 
 }  // namespace autofill
diff --git a/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.cc b/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.cc
index b1579ff..d5d7e438 100644
--- a/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.cc
+++ b/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.cc
@@ -152,6 +152,10 @@
   return *it;
 }
 
+bool EntityDataManager::HasPendingQueries() const {
+  return pending_query_ != 0;
+}
+
 void EntityDataManager::OnAutofillChangedBySync(syncer::DataType data_type) {
   if (data_type == syncer::AUTOFILL_VALUABLE && WalletPublicPassesEnabled()) {
     LoadEntities();
diff --git a/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.h b/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.h
index ce3b7c7..c23004d5 100644
--- a/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.h
+++ b/components/autofill/core/browser/data_manager/autofill_ai/entity_data_manager.h
@@ -97,6 +97,9 @@
   base::optional_ref<const EntityInstance> GetEntityInstance(
       const EntityInstance::EntityId& guid) const LIFETIME_BOUND;
 
+  // Returns if there are any pending queries to the web database.
+  bool HasPendingQueries() const;
+
   // AutofillWebDataServiceObserver:
   void OnAutofillChangedBySync(syncer::DataType data_type) override;
 
diff --git a/components/autofill/core/browser/data_model/autofill_ai/entity_instance.cc b/components/autofill/core/browser/data_model/autofill_ai/entity_instance.cc
index de7cdf9..0bf8139 100644
--- a/components/autofill/core/browser/data_model/autofill_ai/entity_instance.cc
+++ b/components/autofill/core/browser/data_model/autofill_ai/entity_instance.cc
@@ -125,7 +125,7 @@
 
 std::u16string AttributeInstance::GetInfo(
     FieldType field_type,
-    const std::string& app_locale,
+    std::string_view app_locale,
     base::optional_ref<const AutofillFormatString> format_string) const {
   field_type = GetNormalizedFieldType(field_type);
   return std::visit(
@@ -187,7 +187,7 @@
 void AttributeInstance::SetInfo(
     FieldType field_type,
     const std::u16string& value,
-    const std::string& app_locale,
+    std::string_view app_locale,
     base::optional_ref<const AutofillFormatString> format_string,
     VerificationStatus status) {
   field_type = GetNormalizedFieldType(field_type);
diff --git a/components/autofill/core/browser/data_model/autofill_ai/entity_instance.h b/components/autofill/core/browser/data_model/autofill_ai/entity_instance.h
index 6b3ce93e..180cc24 100644
--- a/components/autofill/core/browser/data_model/autofill_ai/entity_instance.h
+++ b/components/autofill/core/browser/data_model/autofill_ai/entity_instance.h
@@ -7,6 +7,7 @@
 
 #include <ostream>
 #include <string>
+#include <string_view>
 #include <variant>
 
 #include "base/compiler_specific.h"
@@ -71,7 +72,7 @@
   // instance, formatted according to the given `app_locale`.
   //
   // For more control over the return value, see GetInfo().
-  std::u16string GetCompleteInfo(const std::string& app_locale) const {
+  std::u16string GetCompleteInfo(std::string_view app_locale) const {
     return GetInfo(type_.field_type(), app_locale, std::nullopt);
   }
 
@@ -94,7 +95,7 @@
   // grammar of format strings.
   std::u16string GetInfo(
       FieldType field_type,
-      const std::string& app_locale,
+      std::string_view app_locale,
       base::optional_ref<const AutofillFormatString> format_string) const;
 
   // Same as `GetInfo` but returns the value as stored with no formatting
@@ -126,7 +127,7 @@
   // See AutofillField::format_string() for the grammar of format strings.
   void SetInfo(FieldType field_type,
                const std::u16string& value,
-               const std::string& app_locale,
+               std::string_view app_locale,
                base::optional_ref<const AutofillFormatString> format_string,
                VerificationStatus status);
 
diff --git a/components/autofill/core/browser/data_model/autofill_ai/entity_instance_unittest.cc b/components/autofill/core/browser/data_model/autofill_ai/entity_instance_unittest.cc
index ab8f6be..bf01b39 100644
--- a/components/autofill/core/browser/data_model/autofill_ai/entity_instance_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_ai/entity_instance_unittest.cc
@@ -139,10 +139,6 @@
   EXPECT_EQ(GetInfo(passport_number, PASSPORT_NUMBER,
                     {.format_string = from_affix(u"-4")}),
             u"3456");
-  EXPECT_EQ(GetInfo(passport_number, PASSPORT_NUMBER,
-                    {.format_string = from_affix(base::NumberToString16(
-                         std::numeric_limits<int>::min()))}),
-            u"LR0123456");
 }
 
 // Tests that AttributeInstance appropriately manages dates.
@@ -185,9 +181,6 @@
     EXPECT_EQ(GetInfo(flight_number, FLIGHT_RESERVATION_FLIGHT_NUMBER,
                       {.format_string = from_flight_number(u"F")}),
               u"LH89");
-    EXPECT_EQ(GetInfo(flight_number, FLIGHT_RESERVATION_FLIGHT_NUMBER,
-                      {.format_string = from_flight_number(u"")}),
-              u"LH89");
   }
 
   {
diff --git a/components/autofill/core/browser/foundations/autofill_client.cc b/components/autofill/core/browser/foundations/autofill_client.cc
index 0eda105..055cc15 100644
--- a/components/autofill/core/browser/foundations/autofill_client.cc
+++ b/components/autofill/core/browser/foundations/autofill_client.cc
@@ -227,6 +227,16 @@
   NOTIMPLEMENTED();
 }
 
+void AutofillClient::TriggerAutofillAiFillingJourneySurvey(
+    bool suggestion_accepted,
+    EntityType entity_type) {
+  NOTIMPLEMENTED();
+}
+
+void AutofillClient::TriggerAutofillAiSavePromptSurvey(bool prompt_accepted) {
+  NOTIMPLEMENTED();
+}
+
 std::unique_ptr<device_reauth::DeviceAuthenticator>
 AutofillClient::GetDeviceAuthenticator() {
   return nullptr;
diff --git a/components/autofill/core/browser/foundations/autofill_client.h b/components/autofill/core/browser/foundations/autofill_client.h
index 499601a..3f45637c 100644
--- a/components/autofill/core/browser/foundations/autofill_client.h
+++ b/components/autofill/core/browser/foundations/autofill_client.h
@@ -19,6 +19,7 @@
 #include "build/build_config.h"
 #include "components/autofill/core/browser/country_type.h"
 #include "components/autofill/core/browser/data_model/autofill_ai/entity_instance.h"
+#include "components/autofill/core/browser/data_model/autofill_ai/entity_type.h"
 #include "components/autofill/core/browser/ui/popup_open_enums.h"
 #include "components/autofill/core/common/aliases.h"
 #include "components/autofill/core/common/unique_ids.h"
@@ -588,6 +589,18 @@
   // Triggers a survey to ask the user why they declined saving an address.
   virtual void TriggerDeclinedSaveAddressReasonSurvey();
 
+  // Triggers a survey after the user sees an Autofill AI suggestion and submits
+  // a form. The triggering happens only if the uses sees an Autofill AI
+  // suggestion, regardless of whether they accepted it or not.
+  // `suggestion_accepted` defines whether the suggestion seen by the user was
+  // accepted. `entity_type` defines the type of entity used to generate the
+  // suggestion.
+  virtual void TriggerAutofillAiFillingJourneySurvey(bool suggestion_accepted,
+                                                     EntityType entity_type);
+
+  // Triggers a survey after the user sees an Autofill AI save prompt.
+  virtual void TriggerAutofillAiSavePromptSurvey(bool prompt_accepted);
+
   // Returns true if either Profile or CreditCard Autofill is enabled.
   virtual bool IsAutofillEnabled() const = 0;
 
diff --git a/components/autofill/core/browser/foundations/autofill_manager.cc b/components/autofill/core/browser/foundations/autofill_manager.cc
index 34f34f29..9bc0d12 100644
--- a/components/autofill/core/browser/foundations/autofill_manager.cc
+++ b/components/autofill/core/browser/foundations/autofill_manager.cc
@@ -187,7 +187,8 @@
 
   // Wait for ongoing parsing operations to finish, so `form_structures_` is
   // up to date.
-  AfterParsingFinishes(base::BindOnce([](base::WeakPtr<AutofillManager> self) {
+  AfterParsingFinishesDeprecated(base::BindOnce([](base::WeakPtr<
+                                                    AutofillManager> self) {
     if (!self) {
       return;
     }
@@ -308,7 +309,7 @@
     // server response is processed, to ensure server predictions are not lost.
     client().GetCrowdsourcingManager().StartQueryRequest(
         queryable_forms, driver().GetIsolationInfo(),
-        AfterParsingFinishes(base::BindOnce(
+        AfterParsingFinishesDeprecated(base::BindOnce(
             &AutofillManager::OnLoadedServerPredictions, GetWeakPtr())));
   }
 }
@@ -866,6 +867,28 @@
 }
 #endif  // BUILDFLAG(BUILD_WITH_TFLITE_LIB)
 
+// TODO(crbug.com/448144129): Remove once `kAutofillSynchronousAfterParsing`
+// can be cleaned up.
+template <typename... Args>
+base::OnceCallback<void(Args...)>
+AutofillManager::AfterParsingFinishesDeprecated(
+    base::OnceCallback<void(Args...)> callback) {
+  if (base::FeatureList::IsEnabled(
+          features::kAutofillSynchronousAfterParsing)) {
+    return callback;
+  }
+  return base::BindOnce(
+      [](base::WeakPtr<AutofillManager> self,
+         base::OnceCallback<void(Args...)> callback, Args... args) {
+        if (self) {
+          self->parsing_task_runner_->PostTaskAndReply(
+              FROM_HERE, base::DoNothing(),
+              base::BindOnce(std::move(callback), std::forward<Args>(args)...));
+        }
+      },
+      GetWeakPtr(), std::move(callback));
+}
+
 void AutofillManager::OnLoadedServerPredictions(
     std::optional<AutofillCrowdsourcingManager::QueryResponse> response) {
   absl::Cleanup on_after_loaded_server_predictions = [this] {
diff --git a/components/autofill/core/browser/foundations/autofill_manager.h b/components/autofill/core/browser/foundations/autofill_manager.h
index cc86f6df..61dafc5 100644
--- a/components/autofill/core/browser/foundations/autofill_manager.h
+++ b/components/autofill/core/browser/foundations/autofill_manager.h
@@ -503,23 +503,18 @@
   std::unique_ptr<autofill_metrics::FormInteractionsUkmLogger>
   CreateFormInteractionsUkmLogger();
 
+  // If `kAutofillSynchronousAfterParsing` is disabled:
   // Returns a callback that runs `callback` on the main thread after all
   // ongoing async parsing operations have finished.
+  //
+  // If `kAutofillSynchronousAfterParsing` is enabled (default behavior):
+  // Just returns callback; enforces no asynchronicity.
+  //
+  // TODO(crbug.com/448144129): Remove once `kAutofillSynchronousAfterParsing`
+  // can be cleaned up.
   template <typename... Args>
-  base::OnceCallback<void(Args...)> AfterParsingFinishes(
-      base::OnceCallback<void(Args...)> callback) {
-    return base::BindOnce(
-        [](base::WeakPtr<AutofillManager> self,
-           base::OnceCallback<void(Args...)> callback, Args... args) {
-          if (self) {
-            self->parsing_task_runner_->PostTaskAndReply(
-                FROM_HERE, base::DoNothing(),
-                base::BindOnce(std::move(callback),
-                               std::forward<Args>(args)...));
-          }
-        },
-        GetWeakPtr(), std::move(callback));
-  }
+  base::OnceCallback<void(Args...)> AfterParsingFinishesDeprecated(
+      base::OnceCallback<void(Args...)> callback);
 
   // Provides driver-level context to the shared code of the component.
   // `*driver_` owns this object.
diff --git a/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager.cc b/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager.cc
index d74d091..e3e8a5d 100644
--- a/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager.cc
+++ b/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager.cc
@@ -260,6 +260,8 @@
   logger_.OnSaveOrUpdatePromptResult(
       AutofillClient::AutofillAiPromptTypes::kSave, entity.type(),
       entity.record_type(), form_session_id, domain, result, ukm_source_id);
+  client_->TriggerAutofillAiSavePromptSurvey(
+      /*prompt_accepted=*/result.entity.has_value());
   if (!result.entity) {
     if (result.did_user_decline) {
       AddStrikeForSaveAttempt(form_url, entity);
diff --git a/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager_unittest.cc b/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager_unittest.cc
index bcfa370c..0ebfaeb 100644
--- a/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager_unittest.cc
+++ b/components/autofill/core/browser/integrators/autofill_ai/autofill_ai_manager_unittest.cc
@@ -124,6 +124,10 @@
        std::optional<EntityInstance> old_entity,
        EntitySaveOrUpdatePromptResultCallback prompt_acceptance_callback),
       (override));
+  MOCK_METHOD(void,
+              TriggerAutofillAiSavePromptSurvey,
+              (bool prompt_accepted),
+              (override));
 };
 
 class AutofillAiManagerTest : public testing::Test {
@@ -688,6 +692,9 @@
   EXPECT_CALL(autofill_client(), ShowEntitySaveOrUpdateBubble)
       .WillOnce(DoAll(SaveArg<0>(&new_entity), SaveArg<1>(&old_entity),
                       MoveArg<2>(&save_callback)));
+  // Save prompts lead to a hats survey being triggered.
+  EXPECT_CALL(autofill_client(),
+              TriggerAutofillAiSavePromptSurvey(/*prompt_accepted=*/true));
   EXPECT_TRUE(manager().OnFormSubmitted(*form, /*ukm_source_id=*/{}));
   // This is a save bubble, `old_entity` should not exist.
   EXPECT_FALSE(old_entity.has_value());
@@ -722,6 +729,9 @@
   AutofillClient::EntitySaveOrUpdatePromptResultCallback save_callback;
   EXPECT_CALL(autofill_client(), ShowEntitySaveOrUpdateBubble)
       .WillOnce(MoveArg<2>(&save_callback));
+  // Save prompts lead to a hats survey being triggered.
+  EXPECT_CALL(autofill_client(),
+              TriggerAutofillAiSavePromptSurvey(/*prompt_accepted=*/false));
   EXPECT_TRUE(manager().OnFormSubmitted(*form, /*ukm_source_id=*/{}));
 
   // Decline the bubble.
diff --git a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.cc b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.cc
index a2e5248c..b149636 100644
--- a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.cc
+++ b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.cc
@@ -20,6 +20,15 @@
     const std::vector<one_time_tokens::OneTimeToken>& otp_values) {
   return base::ToVector(otp_values, &one_time_tokens::OneTimeToken::value);
 }
+
+// Filters out OTPs that are older than 5 minutes.
+void FilterExpiredOtps(std::vector<one_time_tokens::OneTimeToken>& otps) {
+  const base::Time five_minutes_ago = base::Time::Now() - base::Minutes(5);
+  std::erase_if(otps, [five_minutes_ago](const auto& otp) {
+    return otp.on_device_arrival_time() < five_minutes_ago;
+  });
+}
+
 }  // namespace
 
 OtpManagerImpl::OtpManagerImpl(BrowserAutofillManager* owner,
@@ -48,6 +57,7 @@
 void OtpManagerImpl::GetOtpSuggestions(
     OtpManagerImpl::GetOtpSuggestionsCallback callback) {
   if (!sms_otp_retrieval_in_progress_) {
+    FilterExpiredOtps(otp_suggestions_);
     std::move(callback).Run(OtpsToSuggestionStrings(otp_suggestions_));
   } else {
     last_pending_get_suggestions_callback_ = std::move(callback);
diff --git a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.h b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.h
index 0827a9c2..18885df 100644
--- a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.h
+++ b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl.h
@@ -68,7 +68,6 @@
   bool sms_otp_retrieval_in_progress_ = false;
 
   // Fetched OTP values. Most recent entry last.
-  // TODO(crbug.com/415273270) Expire old tokens after some time.
   std::vector<one_time_tokens::OneTimeToken> otp_suggestions_;
 
   // Only the last call from the UI to generate suggestions is retained as such
diff --git a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl_unittest.cc b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl_unittest.cc
index 52c7f2a..19ab66c8 100644
--- a/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl_unittest.cc
+++ b/components/autofill/core/browser/integrators/one_time_tokens/otp_manager_impl_unittest.cc
@@ -7,6 +7,7 @@
 #include "base/test/gmock_callback_support.h"
 #include "base/test/task_environment.h"
 #include "base/test/test_future.h"
+#include "base/time/clock.h"
 #include "base/time/time.h"
 #include "components/autofill/core/browser/form_structure_test_api.h"
 #include "components/autofill/core/browser/foundations/test_autofill_client.h"
@@ -93,7 +94,8 @@
   }
 
  protected:
-  base::test::TaskEnvironment task_environment_;
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
   test::AutofillUnitTestEnvironment autofill_test_environment_;
   MockSmsOtpBackend sms_otp_backend_;
 };
@@ -279,4 +281,46 @@
   EXPECT_TRUE(future.Get().empty());
 }
 
+// Tests that `GetOtpSuggestions` filters out expired OTPs.
+TEST_F(OtpManagerImplTest, GetOtpSuggestions_FiltersExpiredOtps) {
+  OtpManagerImpl otp_manager(&autofill_manager(), &sms_otp_backend_);
+
+  // Prepare the reply from the SMS backend.
+  one_time_tokens::OtpFetchReply reply = one_time_tokens::OtpFetchReply(
+      one_time_tokens::OneTimeToken(one_time_tokens::OneTimeTokenType::kSmsOtp,
+                                    "123456",
+                                    task_environment_.GetMockClock()->Now()),
+      /*request_complete=*/true);
+  base::OnceCallback<void(const one_time_tokens::OtpFetchReply&)>
+      sms_backend_callback;
+  EXPECT_CALL(sms_otp_backend_, RetrieveSmsOtp)
+      .WillOnce(
+          [&](base::OnceCallback<void(const one_time_tokens::OtpFetchReply&)>
+                  callback) { sms_backend_callback = std::move(callback); });
+
+  // Observing an OTP field is supposed to trigger an SMS OTP request.
+  AddFormWithOtpField();
+
+  // Request suggestions. The future should not be ready yet, as the SMS
+  // backend has not responded.
+  base::test::TestFuture<const std::vector<std::string>> future1;
+  otp_manager.GetOtpSuggestions(future1.GetCallback());
+  EXPECT_FALSE(future1.IsReady());
+
+  // Now, let the SMS backend respond.
+  std::move(sms_backend_callback).Run(reply);
+
+  // The future should now be ready, and contain the fresh OTP.
+  ASSERT_EQ(future1.Get().size(), 1u);
+  EXPECT_EQ(future1.Get()[0], reply.otp_value->value());
+
+  // Advance the clock by 6 minutes to make the OTP expire.
+  task_environment_.AdvanceClock(base::Minutes(6));
+
+  // Verify that the OTP is now expired and not returned.
+  base::test::TestFuture<const std::vector<std::string>> future2;
+  otp_manager.GetOtpSuggestions(future2.GetCallback());
+  EXPECT_TRUE(future2.Get().empty());
+}
+
 }  // namespace autofill
diff --git a/components/autofill/core/browser/ml_model/field_classification_model_executor.cc b/components/autofill/core/browser/ml_model/field_classification_model_executor.cc
index 0e929c1..03f5e28 100644
--- a/components/autofill/core/browser/ml_model/field_classification_model_executor.cc
+++ b/components/autofill/core/browser/ml_model/field_classification_model_executor.cc
@@ -8,9 +8,7 @@
 #include <vector>
 
 #include "base/compiler_specific.h"
-#include "base/task/task_traits.h"
 #include "components/autofill/core/browser/ml_model/field_classification_model_encoder.h"
-#include "components/autofill/core/common/autofill_features.h"
 #include "third_party/tflite/src/tensorflow/lite/kernels/internal/tensor_ctypes.h"
 
 namespace autofill {
@@ -18,14 +16,6 @@
 FieldClassificationModelExecutor::FieldClassificationModelExecutor() = default;
 FieldClassificationModelExecutor::~FieldClassificationModelExecutor() = default;
 
-base::TaskPriority
-FieldClassificationModelExecutor::GetModelLoadingTaskPriority() const {
-  return base::FeatureList::IsEnabled(
-             features::kAutofillLoadModelWithHigherPriority)
-             ? base::TaskPriority::USER_VISIBLE
-             : base::TaskPriority::BEST_EFFORT;
-}
-
 bool FieldClassificationModelExecutor::Preprocess(
     const std::vector<TfLiteTensor*>& input_tensors,
     const FieldClassificationModelEncoder::ModelInput& input) {
diff --git a/components/autofill/core/browser/ml_model/field_classification_model_executor.h b/components/autofill/core/browser/ml_model/field_classification_model_executor.h
index 3fdab95..bf11a6c 100644
--- a/components/autofill/core/browser/ml_model/field_classification_model_executor.h
+++ b/components/autofill/core/browser/ml_model/field_classification_model_executor.h
@@ -8,7 +8,6 @@
 #include <optional>
 #include <vector>
 
-#include "base/task/task_traits.h"
 #include "components/autofill/core/browser/ml_model/field_classification_model_encoder.h"
 #include "components/optimization_guide/core/inference/base_model_executor.h"
 
@@ -26,9 +25,6 @@
   ~FieldClassificationModelExecutor() override;
 
  protected:
-  // optimization_guide::TFLiteModelExecutor:
-  base::TaskPriority GetModelLoadingTaskPriority() const override;
-
   // optimization_guide::BaseModelExecutor:
   bool Preprocess(
       const std::vector<TfLiteTensor*>& input_tensors,
diff --git a/components/autofill/core/browser/payments/test/mock_bnpl_manager.h b/components/autofill/core/browser/payments/test/mock_bnpl_manager.h
index 9d9e3f2..cce5bee 100644
--- a/components/autofill/core/browser/payments/test/mock_bnpl_manager.h
+++ b/components/autofill/core/browser/payments/test/mock_bnpl_manager.h
@@ -40,8 +40,6 @@
               (std::optional<uint64_t> final_checkout_amount,
                OnBnplVcnFetchedCallback on_bnpl_vcn_fetched_callback),
               (override));
-
-  MOCK_METHOD(bool, IsEligibleForBnpl, (const AutofillClient& client), (const));
 };
 
 }  // namespace autofill
diff --git a/components/autofill/core/browser/test_utils/autofill_form_test_utils.cc b/components/autofill/core/browser/test_utils/autofill_form_test_utils.cc
index b0d2abd..119dd11 100644
--- a/components/autofill/core/browser/test_utils/autofill_form_test_utils.cc
+++ b/components/autofill/core/browser/test_utils/autofill_form_test_utils.cc
@@ -95,23 +95,13 @@
       field.set_label(u"Email or Frequent Flyer Number");
       field.set_name(u"email_or_frequentflyer");
       break;
-    case FieldType::FLIGHT_RESERVATION_FLIGHT_NUMBER:
-      field.set_label(u"Flight Number");
-      field.set_name(u"flightNumber");
-      break;
-    case FieldType::FLIGHT_RESERVATION_TICKET_NUMBER:
-      field.set_label(u"Ticket Number");
-      field.set_name(u"ticketNumber");
-      break;
-    case FieldType::FLIGHT_RESERVATION_CONFIRMATION_CODE:
-      field.set_label(u"Confirmation Code");
-      field.set_name(u"confirmationCode");
-      break;
     case FieldType::EMPTY_TYPE:
       break;
     default:
-      LOG(ERROR) << __func__ << "() does not know the role "
-                 << FieldTypeToStringView(role) << "!";
+      LOG(WARNING) << "The field created by " << __func__ << "("
+                   << FieldTypeToStringView(role)
+                   << ") will probably not be assigned the the expected "
+                      "FieldType by the local heuristics!";
       break;
   }
   return field;
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
index 960d3b8..3d010f1c 100644
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -516,6 +516,13 @@
 // TODO(crbug.com/369503318): Clean up when launched.
 BASE_FEATURE(kAutofillSupportSplitZipCode, base::FEATURE_DISABLED_BY_DEFAULT);
 
+// Kill switch: If true, AutofillManager::AfterParsingFinishesDeprecated()
+// becomes the identity function. That is, it does not delay the callback until
+// after parsing has finished.
+// TODO(crbug.com/448144129): Clean up after M144 branch point (Dec 1, 2025).
+BASE_FEATURE(kAutofillSynchronousAfterParsing,
+             base::FEATURE_ENABLED_BY_DEFAULT);
+
 // Enables extended zip code validation
 // and new zip code merging logic.
 // TODO(crbug.com/434140055): Clean up when launched.
@@ -547,10 +554,11 @@
 // special cases. See
 // `FormFieldParser::ClearCandidatesIfHeuristicsDidNotFindEnoughFields`.
 BASE_FEATURE_PARAM(bool,
-                   kAutofillModelPredictionsSmallFormRules,
-                   &kAutofillModelPredictions,
-                   "small_form_rules",
-                   false);
+    kAutofillModelPredictionsSmallFormRules,
+    &kAutofillModelPredictions,
+    "small_form_rules",
+    false);
+
 
 // If enabled, a pre-filled field will not be filled.
 BASE_FEATURE(kAutofillSkipPreFilledFields, base::FEATURE_ENABLED_BY_DEFAULT);
@@ -846,11 +854,6 @@
 // settings.
 BASE_FEATURE(kYourSavedInfoSettingsPage, base::FEATURE_DISABLED_BY_DEFAULT);
 
-// When enabled, the FieldClassificationModelHandler loads models with priority
-// USER_VISIBLE instead of BEST_EFFORT.
-BASE_FEATURE(kAutofillLoadModelWithHigherPriority,
-             base::FEATURE_DISABLED_BY_DEFAULT);
-
 namespace test {
 
 // If enabled, forces the deduplication pipeline to run on every startup,
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
index 6524fc5..b7d00930 100644
--- a/components/autofill/core/common/autofill_features.h
+++ b/components/autofill/core/common/autofill_features.h
@@ -192,6 +192,8 @@
 COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillSupportSplitZipCode);
 COMPONENT_EXPORT(AUTOFILL)
+BASE_DECLARE_FEATURE(kAutofillSynchronousAfterParsing);
+COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillZipCodeValidationAndMerging);
 COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillAcceptDomMutationAfterAutofillSubmission);
@@ -368,8 +370,6 @@
 #endif  // BUILDFLAG(IS_APPLE)
 
 COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kYourSavedInfoSettingsPage);
-COMPONENT_EXPORT(AUTOFILL)
-BASE_DECLARE_FEATURE(kAutofillLoadModelWithHigherPriority);
 
 // The features in this namespace contains are not meant to be rolled out. They
 // are are only intended for manual testing purposes.
diff --git a/components/autofill/ios/form_util/fill_js_unittest.mm b/components/autofill/ios/form_util/fill_js_unittest.mm
index 3b94743..77b40da3 100644
--- a/components/autofill/ios/form_util/fill_js_unittest.mm
+++ b/components/autofill/ios/form_util/fill_js_unittest.mm
@@ -171,7 +171,8 @@
   LoadHtml(@"<input id='input' type='text' aria-label='the label'/>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"the label";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -198,7 +199,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"Name";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -214,7 +216,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"Billing Name";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -231,7 +234,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"Name";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -248,7 +252,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -265,7 +270,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaLabel(document.getElementById('input'));");
+      @"__gCrWeb.getRegisteredApi('fill_test_api')."
+      @"getFunction('getAriaLabel')(document.getElementById('input'));");
   NSString* expected_result = @"valid";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -278,7 +284,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaDescription(document.getElementById('input'));");
+    @"__gCrWeb.getRegisteredApi('fill_test_api')."
+    @"getFunction('getAriaDescription')(document.getElementById('input'));");
   NSString* expected_result = @"aria description";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -292,7 +299,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaDescription(document.getElementById('input'));");
+    @"__gCrWeb.getRegisteredApi('fill_test_api')."
+    @"getFunction('getAriaDescription')(document.getElementById('input'));");
   NSString* expected_result = @"aria description";
   EXPECT_NSEQ(result, expected_result);
 }
@@ -304,7 +312,8 @@
             "</body></html>");
 
   id result = ExecuteJavaScriptInAutofillContentWorld(
-      @"__gCrWeb.fill.getAriaDescription(document.getElementById('input'));");
+    @"__gCrWeb.getRegisteredApi('fill_test_api')."
+    @"getFunction('getAriaDescription')(document.getElementById('input'));");
   NSString* expected_result = @"";
   EXPECT_NSEQ(result, expected_result);
 }
diff --git a/components/autofill/ios/form_util/resources/fill.ts b/components/autofill/ios/form_util/resources/fill.ts
index 0f0dc337..c82763b 100644
--- a/components/autofill/ios/form_util/resources/fill.ts
+++ b/components/autofill/ios/form_util/resources/fill.ts
@@ -515,8 +515,8 @@
     field.placeholder_attribute = 'x-max-data-length-exceeded';
   }
 
-  field.aria_label = gCrWebLegacy.fill.getAriaLabel(element);
-  field.aria_description = gCrWebLegacy.fill.getAriaDescription(element);
+  field.aria_label = fillUtil.getAriaLabel(element);
+  field.aria_description = fillUtil.getAriaDescription(element);
 
   if (!gCrWebLegacy.fill.isAutofillableElement(element)) {
     return;
diff --git a/components/autofill/ios/form_util/resources/fill_element_inference.ts b/components/autofill/ios/form_util/resources/fill_element_inference.ts
index cdf9bbe..a223819 100644
--- a/components/autofill/ios/form_util/resources/fill_element_inference.ts
+++ b/components/autofill/ios/form_util/resources/fill_element_inference.ts
@@ -5,6 +5,7 @@
 import type {FormControlElement} from '//components/autofill/ios/form_util/resources/fill_constants.js';
 import type {InferredLabel} from '//components/autofill/ios/form_util/resources/fill_element_inference_util.js';
 import {ancestorTagNames, buildInferredLabelIfValid, findChildText, findChildTextWithIgnoreList, isTraversableContainerElement} from '//components/autofill/ios/form_util/resources/fill_element_inference_util.js';
+import * as fillUtil from '//components/autofill/ios/form_util/resources/fill_util.js';
 import {gCrWebLegacy} from '//ios/web/public/js_messaging/resources/gcrweb.js';
 
 /**
@@ -168,7 +169,7 @@
     return null;
   }
 
-  return buildInferredLabelIfValid(gCrWebLegacy.fill.getAriaLabel(element));
+  return buildInferredLabelIfValid(fillUtil.getAriaLabel(element));
 }
 
 /**
diff --git a/components/autofill/ios/form_util/resources/fill_util.ts b/components/autofill/ios/form_util/resources/fill_util.ts
index 335f6a7..dac094e 100644
--- a/components/autofill/ios/form_util/resources/fill_util.ts
+++ b/components/autofill/ios/form_util/resources/fill_util.ts
@@ -622,20 +622,20 @@
  * or the value of the aria-label attribute, with priority given to the
  * aria-labelledby text.
  */
-gCrWebLegacy.fill.getAriaLabel = function(element: Element): string {
+function getAriaLabel(element: Element): string {
   let label = coalesceTextByIdList(element, 'aria-labelledby');
   if (!label) {
     label = element.getAttribute('aria-label') || '';
   }
   return label.trim();
-};
+}
 
 /**
  * Returns the coalesced text referenced by the aria-describedby attribute.
  */
-gCrWebLegacy.fill.getAriaDescription = function(element: Element): string {
+function getAriaDescription(element: Element): string {
   return coalesceTextByIdList(element, 'aria-describedby');
-};
+}
 
 /**
  * Searches an element's ancestors to see if the element is inside a <form> or
@@ -775,4 +775,6 @@
   isVisibleNode,
   getUniqueID,
   shouldAutocomplete,
+  getAriaLabel,
+  getAriaDescription,
 };
diff --git a/components/autofill/ios/form_util/resources/fill_util_test.ts b/components/autofill/ios/form_util/resources/fill_util_test.ts
index aa440482..8710ccb 100644
--- a/components/autofill/ios/form_util/resources/fill_util_test.ts
+++ b/components/autofill/ios/form_util/resources/fill_util_test.ts
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 import {CrWebApi, gCrWeb} from '//ios/web/public/js_messaging/resources/gcrweb.js';
-import {getUniqueID, shouldAutocomplete} from '//components/autofill/ios/form_util/resources/fill_util.js';
+import {getAriaDescription, getAriaLabel, getUniqueID, shouldAutocomplete} from '//components/autofill/ios/form_util/resources/fill_util.js';
 
 /**
 * @fileoverview Registers a testing-only `CrWebApi` to expose fill utils
@@ -14,5 +14,7 @@
 
 fillApi.addFunction('getUniqueID', getUniqueID);
 fillApi.addFunction('shouldAutocomplete', shouldAutocomplete);
+fillApi.addFunction('getAriaLabel', getAriaLabel);
+fillApi.addFunction('getAriaDescription', getAriaDescription);
 
 gCrWeb.registerApi('fill_test_api', fillApi);
\ No newline at end of file
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json
index 10b680b..c30d187 100644
--- a/components/certificate_transparency/data/log_list.json
+++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@
 {
-  "version": "69.12",
-  "log_list_timestamp": "2025-09-29T12:53:32Z",
+  "version": "69.13",
+  "log_list_timestamp": "2025-09-30T12:53:53Z",
   "operators": [
     {
       "name": "Google",
diff --git a/components/client_hints/browser/client_hints.cc b/components/client_hints/browser/client_hints.cc
index 5856d74..a6b3da9 100644
--- a/components/client_hints/browser/client_hints.cc
+++ b/components/client_hints/browser/client_hints.cc
@@ -150,7 +150,7 @@
 }
 
 blink::UserAgentMetadata ClientHints::GetUserAgentMetadata() {
-  return embedder_support::GetUserAgentMetadata(pref_service_);
+  return embedder_support::GetUserAgentMetadata();
 }
 
 void ClientHints::PersistClientHints(
diff --git a/components/cronet/android/BUILD.gn b/components/cronet/android/BUILD.gn
index 54484757..03a9c28 100644
--- a/components/cronet/android/BUILD.gn
+++ b/components/cronet/android/BUILD.gn
@@ -1994,9 +1994,9 @@
   outputs = [ "$_package_dir/res/raw/{{source_file_part}}" ]
 }
 
-# Enforce that ARM Neon is not used when building for ARMv7
-if (target_cpu == "arm" && arm_version == 7 && !arm_use_neon) {
-  action("enforce_no_neon") {
+# Enforce that ARM Neon is not used when building for ARMv7.
+if (target_cpu == "arm" && arm_version == 7) {
+  action("enforce_no_neon_on_armv7") {
     script = "//components/cronet/tools/check_no_neon.py"
     outputs = [ "$target_gen_dir/$target_name.stamp" ]
     args = [
@@ -2012,6 +2012,9 @@
     ]
     deps = [ "//base" ]
   }
+} else {
+  group("enforce_no_neon_on_armv7") {
+  }
 }
 
 # Enforce restrictions for API<->impl boundary.
@@ -2142,36 +2145,29 @@
 }
 
 group("cronet_non_test_package") {
-  # Target containing all of cronet's non-test targets.
-  # Enforce that arm_use_neon==false when building for ARMv7 by
-  # not including any deps in cronet_package target otherwise.
-  if (!(target_cpu == "arm" && arm_version == 7) || !arm_use_neon) {
-    deps = [
-      ":cronet_package_copy",
-      ":cronet_package_copy_native_headers",
-      ":cronet_package_copy_native_lib",
-      ":cronet_package_copy_native_lib_unstripped",
-      ":cronet_package_copy_resources",
-      ":jar_cronet_api_source",
-      ":jar_cronet_impl_common_java_source",
-      ":jar_cronet_impl_fake_java_source",
-      ":jar_cronet_impl_native_java_source",
-      ":jar_cronet_impl_platform_java_source",
-      ":jar_cronet_sample_source",
-      ":jar_cronet_shared_source",
-      ":jar_httpengine_native_provider_java_source",
-      ":repackage_api",
-      ":repackage_fake",
-      ":repackage_httpengine_native_provider",
-      ":repackage_impl_common",
-      ":repackage_native",
-      ":repackage_platform",
-      ":repackage_shared",
-    ]
-    if (current_cpu == "arm" && arm_version == 7) {
-      deps += [ ":enforce_no_neon" ]
-    }
-  }
+  deps = [
+    ":cronet_package_copy",
+    ":cronet_package_copy_native_headers",
+    ":cronet_package_copy_native_lib",
+    ":cronet_package_copy_native_lib_unstripped",
+    ":cronet_package_copy_resources",
+    ":enforce_no_neon_on_armv7",
+    ":jar_cronet_api_source",
+    ":jar_cronet_impl_common_java_source",
+    ":jar_cronet_impl_fake_java_source",
+    ":jar_cronet_impl_native_java_source",
+    ":jar_cronet_impl_platform_java_source",
+    ":jar_cronet_sample_source",
+    ":jar_cronet_shared_source",
+    ":jar_httpengine_native_provider_java_source",
+    ":repackage_api",
+    ":repackage_fake",
+    ":repackage_httpengine_native_provider",
+    ":repackage_impl_common",
+    ":repackage_native",
+    ":repackage_platform",
+    ":repackage_shared",
+  ]
 }
 
 group("cronet_test_package") {
diff --git a/components/embedder_support/user_agent_utils.cc b/components/embedder_support/user_agent_utils.cc
index 8c44d22..eb4a065 100644
--- a/components/embedder_support/user_agent_utils.cc
+++ b/components/embedder_support/user_agent_utils.cc
@@ -667,11 +667,6 @@
 }
 
 blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) {
-  return GetUserAgentMetadata(nullptr, only_low_entropy_ch);
-}
-
-blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service,
-                                              bool only_low_entropy_ch) {
   blink::UserAgentMetadata metadata;
 
   // Low entropy client hints.
diff --git a/components/embedder_support/user_agent_utils.h b/components/embedder_support/user_agent_utils.h
index 1c15de2..da603471 100644
--- a/components/embedder_support/user_agent_utils.h
+++ b/components/embedder_support/user_agent_utils.h
@@ -9,10 +9,11 @@
 #include <string>
 
 #include "build/build_config.h"
-#include "components/prefs/pref_service.h"
 #include "third_party/blink/public/common/user_agent/user_agent_brand_version_type.h"
 #include "third_party/blink/public/common/user_agent/user_agent_metadata.h"
 
+class PrefService;
+
 namespace blink {
 struct UserAgentMetadata;
 }
@@ -49,21 +50,10 @@
     UserAgentReductionEnterprisePolicyState user_agent_reduction =
         UserAgentReductionEnterprisePolicyState::kDefault);
 
-// Returns UserAgentMetadata per the default policy. This override is currently
-// used in fuchsia and headless_shell, where the enterprise policy is not
-// relevant.
-// `only_low_entropy_ch` indicates whether only populate the low entropy client
-// hints, the default is false.
+// Return UserAgentMetadata, `only_low_entropy_ch` indicates whether only
+// populate the low entropy client hints.
 blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch = false);
 
-// Return UserAgentMetadata, potentially overridden by policy.
-// Note that this override is likely to be removed once an enterprise
-// escape hatch is no longer needed. See https://crbug.com/1261908.
-// `only_low_entropy_ch` indicates whether only populate the low entropy client
-// hints.
-blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* local_state,
-                                              bool only_low_entropy_ch = false);
-
 // Returns a list of form-factors compliant with
 // https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors.
 std::vector<std::string> GetFormFactorsClientHint(
diff --git a/components/enterprise/connectors/core/reporting_constants.cc b/components/enterprise/connectors/core/reporting_constants.cc
index 72b32a8..7daea133 100644
--- a/components/enterprise/connectors/core/reporting_constants.cc
+++ b/components/enterprise/connectors/core/reporting_constants.cc
@@ -23,4 +23,11 @@
                      : base::StrCat({kUnknownUmaMetricName, "UploadSize"});
 }
 
+std::string GetEventName(EventCase event_case) {
+  const std::string_view* event_name =
+      base::FindOrNull(kEventCaseToEventNameMap, event_case);
+
+  return event_name ? std::string(*event_name) : std::string("UNKNOWN");
+}
+
 }  // namespace enterprise_connectors
diff --git a/components/enterprise/connectors/core/reporting_constants.h b/components/enterprise/connectors/core/reporting_constants.h
index 7895038d..a2132b56 100644
--- a/components/enterprise/connectors/core/reporting_constants.h
+++ b/components/enterprise/connectors/core/reporting_constants.h
@@ -175,10 +175,29 @@
          {EventCase::kExtensionTelemetryEvent,
           kExtensionTelemetryUmaMetricName}});
 
+// Mapping from event case to UMA metric name.
+inline constexpr auto kEventCaseToEventNameMap =
+    base::MakeFixedFlatMap<EventCase, std::string_view>(
+        {{EventCase::kPasswordReuseEvent, kKeyPasswordReuseEvent},
+         {EventCase::kPasswordChangedEvent, kKeyPasswordChangedEvent},
+         {EventCase::kDangerousDownloadEvent, kKeyDangerousDownloadEvent},
+         {EventCase::kInterstitialEvent, kKeyInterstitialEvent},
+         {EventCase::kSensitiveDataEvent, kKeySensitiveDataEvent},
+         {EventCase::kUnscannedFileEvent, kKeyUnscannedFileEvent},
+         {EventCase::kLoginEvent, kKeyLoginEvent},
+         {EventCase::kPasswordBreachEvent, kKeyPasswordBreachEvent},
+         {EventCase::kUrlFilteringInterstitialEvent,
+          kKeyUrlFilteringInterstitialEvent},
+         {EventCase::kBrowserExtensionInstallEvent, kExtensionInstallEvent},
+         {EventCase::kBrowserCrashEvent, kBrowserCrashEvent},
+         {EventCase::kExtensionTelemetryEvent, kExtensionTelemetryEvent}});
+
 std::string GetPayloadSizeUmaMetricName(std::string_view event_name);
 
 std::string GetPayloadSizeUmaMetricName(EventCase event_case);
 
+std::string GetEventName(EventCase event_case);
+
 // Key names used with when building the dictionary to pass to the real-time
 // reporting API. Should be removed once the proto synced migration is complete.
 inline constexpr char kKeyTrigger[] = "trigger";
diff --git a/components/history/core/browser/browsing_history_service.cc b/components/history/core/browser/browsing_history_service.cc
index 9b8d539..ad1a6a4d 100644
--- a/components/history/core/browser/browsing_history_service.cc
+++ b/components/history/core/browser/browsing_history_service.cc
@@ -355,7 +355,8 @@
     base::OnceCallback<void(base::Time)> callback) {
   base::Time now = base::Time::Now();
   local_history_->GetLastVisitToHost(
-      host_name, base::Time() /* before_time */, now /* end_time */,
+      host_name, /*begin_time=*/base::Time(), /*end_time=*/now,
+      VisitQuery404sPolicy::kExclude404s,
       base::BindOnce(
           &BrowsingHistoryService::OnLastVisitBeforeRecentNavigationsComplete,
           weak_factory_.GetWeakPtr(), host_name, now, std::move(callback)),
@@ -377,7 +378,8 @@
           ? result.last_visit
           : query_start_time - base::Minutes(1);
   local_history_->GetLastVisitToHost(
-      host_name, base::Time() /* before_time */, end_time /* end_time */,
+      host_name, /*begin_time=*/base::Time(), end_time,
+      VisitQuery404sPolicy::kExclude404s,
       base::BindOnce(
           &BrowsingHistoryService::OnLastVisitBeforeRecentNavigationsComplete2,
           weak_factory_.GetWeakPtr(), std::move(callback)),
diff --git a/components/history/core/browser/history_backend.cc b/components/history/core/browser/history_backend.cc
index ab13997..6380e19 100644
--- a/components/history/core/browser/history_backend.cc
+++ b/components/history/core/browser/history_backend.cc
@@ -2145,11 +2145,12 @@
 HistoryLastVisitResult HistoryBackend::GetLastVisitToHost(
     const std::string& host,
     base::Time begin_time,
-    base::Time end_time) {
+    base::Time end_time,
+    VisitQuery404sPolicy policy_for_404_visits) {
   base::Time last_visit;
-  return {
-      db_ && db_->GetLastVisitToHost(host, begin_time, end_time, &last_visit),
-      last_visit};
+  return {db_ && db_->GetLastVisitToHost(host, begin_time, end_time,
+                                         policy_for_404_visits, &last_visit),
+          last_visit};
 }
 
 HistoryLastVisitResult HistoryBackend::GetLastVisitToOrigin(
diff --git a/components/history/core/browser/history_backend.h b/components/history/core/browser/history_backend.h
index 32adee2..d0128a9 100644
--- a/components/history/core/browser/history_backend.h
+++ b/components/history/core/browser/history_backend.h
@@ -413,9 +413,11 @@
   // time range [`begin_time`, `end_time`). If the given host has not been
   // visited in the given time range, the result will have a null base::Time,
   // but still report success. Only queries http and https hosts.
-  HistoryLastVisitResult GetLastVisitToHost(const std::string& host,
-                                            base::Time begin_time,
-                                            base::Time end_time);
+  HistoryLastVisitResult GetLastVisitToHost(
+      const std::string& host,
+      base::Time begin_time,
+      base::Time end_time,
+      VisitQuery404sPolicy policy_for_404_visits);
 
   // Same as the above, but for the given origin instead of host.
   HistoryLastVisitResult GetLastVisitToOrigin(
diff --git a/components/history/core/browser/history_service.cc b/components/history/core/browser/history_service.cc
index 17329af..0ea9ec07 100644
--- a/components/history/core/browser/history_service.cc
+++ b/components/history/core/browser/history_service.cc
@@ -1211,6 +1211,7 @@
     const std::string& host,
     base::Time begin_time,
     base::Time end_time,
+    VisitQuery404sPolicy policy_for_404_visits,
     GetLastVisitCallback callback,
     base::CancelableTaskTracker* tracker) {
   DCHECK(backend_task_runner_) << "History service being called after cleanup";
@@ -1219,7 +1220,7 @@
   return tracker->PostTaskAndReplyWithResult(
       backend_task_runner_.get(), FROM_HERE,
       base::BindOnce(&HistoryBackend::GetLastVisitToHost, history_backend_,
-                     host, begin_time, end_time),
+                     host, begin_time, end_time, policy_for_404_visits),
       std::move(callback));
 }
 
diff --git a/components/history/core/browser/history_service.h b/components/history/core/browser/history_service.h
index 79138cd3..3a24a405 100644
--- a/components/history/core/browser/history_service.h
+++ b/components/history/core/browser/history_service.h
@@ -454,11 +454,15 @@
   // Gets the last time any webpage on the given host was visited within the
   // time range [`begin_time`, `end_time`). If the given host has not been
   // visited in the given time range, the callback will be called with a null
-  // base::Time.
+  // `base::Time`. `policy_for_404_visits` determines whether a visit with an
+  // HTTP response code of 404 is counted as a visit; if set to `kExclude404s`,
+  // the callback will be called with the time of the most recent non-404 in the
+  // specified time range, or a null `base::Time` if there was none.
   virtual base::CancelableTaskTracker::TaskId GetLastVisitToHost(
       const std::string& host,
       base::Time begin_time,
       base::Time end_time,
+      VisitQuery404sPolicy policy_for_404_visits,
       GetLastVisitCallback callback,
       base::CancelableTaskTracker* tracker);
 
diff --git a/components/history/core/browser/visit_database.cc b/components/history/core/browser/visit_database.cc
index aebe93e..d881021ec 100644
--- a/components/history/core/browser/visit_database.cc
+++ b/components/history/core/browser/visit_database.cc
@@ -776,22 +776,6 @@
   return FillVisitVector(statement, visits);
 }
 
-bool VisitDatabase::GetAllURLIDsForTransition(ui::PageTransition transition,
-                                              std::vector<URLID>* urls) {
-  DCHECK(urls);
-  urls->clear();
-  sql::Statement statement(
-      GetDB().GetUniqueStatement("SELECT DISTINCT url FROM visits "
-                                 "WHERE (transition & ?) == ?"));
-  statement.BindInt64(0, ui::PAGE_TRANSITION_CORE_MASK);
-  statement.BindInt64(1, transition);
-
-  while (statement.Step()) {
-    urls->push_back(statement.ColumnInt64(0));
-  }
-  return statement.Succeeded();
-}
-
 GetAllAppIdsResult VisitDatabase::GetAllAppIds() {
   sql::Statement statement(GetDB().GetUniqueStatement(
       "SELECT DISTINCT app_id FROM visits "
@@ -1104,10 +1088,12 @@
   return true;
 }
 
-bool VisitDatabase::GetLastVisitToHost(const std::string& host,
-                                       base::Time begin_time,
-                                       base::Time end_time,
-                                       base::Time* last_visit) {
+bool VisitDatabase::GetLastVisitToHost(
+    const std::string& host,
+    base::Time begin_time,
+    base::Time end_time,
+    VisitQuery404sPolicy policy_for_404_visits,
+    base::Time* last_visit) {
   const GURL http("http://" + host);
   const GURL https("https://" + host);
   if (!http.is_valid() || !https.is_valid()) {
@@ -1119,19 +1105,37 @@
   std::array<std::pair<std::string, std::string>, 4> bounds =
       GetHostSearchBounds(host);
 
-  sql::Statement statement(GetDB().GetCachedStatement(
-      SQL_FROM_HERE,
-      "SELECT "
-      "  v.visit_time, v.transition "
-      "FROM visits v INNER JOIN urls u ON v.url = u.id "
-      "WHERE "
-      "  ( (u.url >= ? AND u.url < ?) OR "
-      "    (u.url >= ? AND u.url < ?) OR "
-      "    (u.url >= ? AND u.url < ?) OR "
-      "    (u.url >= ? AND u.url < ?) ) AND "
-      "  v.visit_time >= ? AND "
-      "  v.visit_time < ? "
-      "ORDER BY v.visit_time DESC "));
+  sql::Statement statement;
+  switch (policy_for_404_visits) {
+    case VisitQuery404sPolicy::kInclude404s:
+      statement.Assign(GetDB().GetCachedStatement(
+          SQL_FROM_HERE,
+          "SELECT v.visit_time,v.transition "
+          "FROM visits v INNER JOIN urls u ON v.url=u.id "
+          "WHERE "
+          "  ( (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) ) AND "
+          "  v.visit_time>=? AND v.visit_time<? "
+          "ORDER BY v.visit_time DESC"));
+      break;
+    case VisitQuery404sPolicy::kExclude404s:
+      statement.Assign(GetDB().GetCachedStatement(
+          SQL_FROM_HERE,
+          "SELECT v.visit_time,v.transition "
+          "FROM visits v INNER JOIN urls u ON v.url=u.id "
+          "LEFT OUTER JOIN context_annotations ca ON v.id=ca.visit_id "
+          "WHERE "
+          "  ( (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) OR "
+          "    (u.url>=? AND u.url<?) ) AND "
+          "  v.visit_time>=? AND v.visit_time<? AND "
+          "  (ca.response_code IS NULL OR ca.response_code!=404) "
+          "ORDER BY v.visit_time DESC"));
+      break;
+  }
   statement.BindString(0, bounds.at(0).first);
   statement.BindString(1, bounds.at(0).second);
   statement.BindString(2, bounds.at(1).first);
diff --git a/components/history/core/browser/visit_database.h b/components/history/core/browser/visit_database.h
index e1bbf71..eb9f7c0 100644
--- a/components/history/core/browser/visit_database.h
+++ b/components/history/core/browser/visit_database.h
@@ -153,11 +153,6 @@
                             int max_results,
                             VisitVector* visits);
 
-  // Looks up URLIDs for all visits with specified transition. Returns true on
-  // success and false otherwise.
-  bool GetAllURLIDsForTransition(ui::PageTransition transition,
-                                 std::vector<URLID>* urls);
-
   // Looks up all the app IDs found in the database entries. Returns a struct
   // containing the list of the IDs.
   GetAllAppIdsResult GetAllAppIds();
@@ -246,6 +241,7 @@
   bool GetLastVisitToHost(const std::string& host,
                           base::Time begin_time,
                           base::Time end_time,
+                          VisitQuery404sPolicy policy_for_404_visits,
                           base::Time* last_visit);
 
   // Same as the above, but for the given origin instead of host.
diff --git a/components/history/core/browser/visit_database_unittest.cc b/components/history/core/browser/visit_database_unittest.cc
index ab9d803f..70508b0a 100644
--- a/components/history/core/browser/visit_database_unittest.cc
+++ b/components/history/core/browser/visit_database_unittest.cc
@@ -715,18 +715,6 @@
   EXPECT_THAT(results[0], MatchesVisitInfo(test_visit_rows[3]));
 }
 
-TEST_F(VisitDatabaseTest, GetAllURLIDsForTransition) {
-  std::vector<VisitRow> test_visit_rows = GetTestVisitRows();
-
-  for (size_t i = 0; i < test_visit_rows.size(); ++i) {
-    EXPECT_TRUE(AddVisit(&test_visit_rows[i], SOURCE_BROWSED));
-  }
-  std::vector<URLID> url_ids;
-  GetAllURLIDsForTransition(ui::PAGE_TRANSITION_TYPED, &url_ids);
-  EXPECT_EQ(1U, url_ids.size());
-  EXPECT_EQ(test_visit_rows[0].url_id, url_ids[0]);
-}
-
 TEST_F(VisitDatabaseTest, VisitSource) {
   // Add visits.
   VisitRow visit_info1(111, Time::Now(), 0, ui::PAGE_TRANSITION_LINK, 0, false,
@@ -1355,8 +1343,9 @@
 
   base::Time last_visit;
   VisitRow row;
-  EXPECT_TRUE(GetLastVisitToHost(GURL("https://www.chromium.org").host(),
-                                 begin_time, end_time, &last_visit));
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kInclude404s, &last_visit));
   EXPECT_EQ(last_visit, begin_time + base::Minutes(1));
 }
 
@@ -1386,8 +1375,9 @@
   AddVisit(&row2, SOURCE_BROWSED);
 
   base::Time last_visit;
-  EXPECT_TRUE(GetLastVisitToHost(GURL("https://www.chromium.org").host(),
-                                 begin_time, end_time, &last_visit));
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kInclude404s, &last_visit));
   EXPECT_EQ(last_visit, begin_time + base::Minutes(1));
 }
 
@@ -1417,11 +1407,68 @@
   AddVisit(&row2, SOURCE_BROWSED);
 
   base::Time last_visit;
-  EXPECT_TRUE(GetLastVisitToHost(GURL("https://www.chromium.org:8080").host(),
-                                 begin_time, end_time, &last_visit));
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org:8080").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kInclude404s, &last_visit));
   EXPECT_EQ(last_visit, begin_time + base::Minutes(1));
 }
 
+TEST_F(VisitDatabaseTest, GetLastVisitToHost_404) {
+  base::Time begin_time = base::Time::Now();
+  base::Time end_time = begin_time + base::Hours(1);
+
+  // Add a 404 visit.
+  VisitRow row1{AddURL(URLRow(GURL("https://www.chromium.org"))),
+                begin_time + base::Minutes(1),
+                0,
+                ui::PageTransitionFromInt(ui::PAGE_TRANSITION_TYPED |
+                                          ui::PAGE_TRANSITION_CHAIN_START |
+                                          ui::PAGE_TRANSITION_CHAIN_END),
+                0,
+                false,
+                0};
+  row1.visit_id = AddVisit(&row1, SOURCE_BROWSED);
+  VisitContextAnnotations context_annotations_404;
+  context_annotations_404.on_visit = {.response_code = 404};
+  AddContextAnnotationsForVisit(row1.visit_id, context_annotations_404);
+
+  // That visit should appear as the most recent visit when including 404s.
+  base::Time last_visit_time;
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kInclude404s, &last_visit_time));
+  EXPECT_EQ(last_visit_time, begin_time + base::Minutes(1));
+
+  // No visit should appear when excluding 404s, but the call should succeed.
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kExclude404s, &last_visit_time));
+  EXPECT_EQ(last_visit_time, base::Time());
+
+  // Add an earlier visit for the same host, this time not a 404 visit.
+  VisitRow row2{AddURL(URLRow(GURL("https://www.chromium.org/path?query=foo"))),
+                begin_time,
+                0,
+                ui::PageTransitionFromInt(0),
+                0,
+                false,
+                0};
+  row2.visit_id = AddVisit(&row2, SOURCE_BROWSED);
+
+  // The 404 visit should still appear as the most recent visit when including
+  // 404s.
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kInclude404s, &last_visit_time));
+  EXPECT_EQ(last_visit_time, begin_time + base::Minutes(1));
+
+  // The older, non-404 should now appear when excluding 404s.
+  EXPECT_TRUE(GetLastVisitToHost(
+      GURL("https://www.chromium.org").host(), begin_time, end_time,
+      VisitQuery404sPolicy::kExclude404s, &last_visit_time));
+  EXPECT_EQ(last_visit_time, begin_time);
+}
+
 TEST_F(VisitDatabaseTest, GetDailyVisitsToOrigin_WithVisits) {
   base::Time begin_time = base::Time::Now();
   base::Time end_time = begin_time + base::Days(10);
@@ -1489,9 +1536,9 @@
   EXPECT_EQ(0, result.total_visits);
 }
 
-// TODO(crbug.com/448019671): This test is flaky and has been disabled.
-TEST_F(VisitDatabaseTest, DISABLED_GetDailyVisitsToOrigin_404s) {
-  base::Time begin_time = base::Time::Now();
+TEST_F(VisitDatabaseTest, GetDailyVisitsToOrigin_404s) {
+  // Use a fixed time of day to prevent flakes when run near day boundaries.
+  base::Time begin_time = base::Time::Now().LocalMidnight();
   base::Time end_time = begin_time + base::Days(10);
 
   auto add_visit = [&](const GURL& url, base::Time visit_time,
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
index 6dd87e8..333e81a 100644
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -338,10 +338,6 @@
 // Enables preconnecting to omnibox suggestions that are not only Search types.
 BASE_FEATURE(kPreconnectNonSearchOmniboxSuggestions, DISABLED);
 
-// Enables restricting omnibox focus restoration to only situations that involve
-// "invisible focus".
-BASE_FEATURE(kOmniboxRestoreInvisibleFocusOnly, ENABLED);
-
 // Enabls adding an aim shortcut in the typed state.
 BASE_FEATURE(kOmniboxAimShortcutTypedState, DISABLED);
 
diff --git a/components/omnibox/common/omnibox_features.h b/components/omnibox/common/omnibox_features.h
index 79f0080..be1b931 100644
--- a/components/omnibox/common/omnibox_features.h
+++ b/components/omnibox/common/omnibox_features.h
@@ -140,9 +140,6 @@
 // Preconnect/prerender behavior for suggestions
 BASE_DECLARE_FEATURE(kPreconnectNonSearchOmniboxSuggestions);
 
-// Only restore focus when invisible.
-BASE_DECLARE_FEATURE(kOmniboxRestoreInvisibleFocusOnly);
-
 // Adds an aim shortcut shortcut in the typed state.
 BASE_DECLARE_FEATURE(kOmniboxAimShortcutTypedState);
 
diff --git a/components/page_info/core/page_info_history_data_source.cc b/components/page_info/core/page_info_history_data_source.cc
index 46ef400..82d1c61a 100644
--- a/components/page_info/core/page_info_history_data_source.cc
+++ b/components/page_info/core/page_info_history_data_source.cc
@@ -62,7 +62,8 @@
     base::OnceCallback<void(std::optional<base::Time>)> callback) {
   base::Time now = base::Time::Now();
   history_service_->GetLastVisitToHost(
-      site_url_.host(), base::Time() /* before_time */, now /* end_time */,
+      site_url_.host(), /*begin_time=*/base::Time(), /*end_time=*/now,
+      history::VisitQuery404sPolicy::kExclude404s,
       base::BindOnce(&PageInfoHistoryDataSource::
                          OnLastVisitBeforeRecentNavigationsComplete,
                      weak_factory_.GetWeakPtr(), site_url_.host(), now,
@@ -85,7 +86,8 @@
           ? result.last_visit
           : query_start_time - base::Minutes(1);
   history_service_->GetLastVisitToHost(
-      host_name, base::Time() /* before_time */, end_time /* end_time */,
+      host_name, /*begin_time=*/base::Time(), end_time,
+      history::VisitQuery404sPolicy::kExclude404s,
       base::BindOnce(&PageInfoHistoryDataSource::
                          OnLastVisitBeforeRecentNavigationsComplete2,
                      weak_factory_.GetWeakPtr(), std::move(callback)),
diff --git a/components/page_info/core/page_info_history_data_source_unittest.cc b/components/page_info/core/page_info_history_data_source_unittest.cc
index 618fd8a..11aae952 100644
--- a/components/page_info/core/page_info_history_data_source_unittest.cc
+++ b/components/page_info/core/page_info_history_data_source_unittest.cc
@@ -26,6 +26,7 @@
               (const std::string& host,
                base::Time begin_time,
                base::Time end_time,
+               history::VisitQuery404sPolicy policy_for_404_visits,
                GetLastVisitCallback callback,
                base::CancelableTaskTracker* tracker),
               (override));
@@ -44,6 +45,7 @@
     const std::string& host,
     base::Time begin_time,
     base::Time end_time,
+    history::VisitQuery404sPolicy policy_for_404_visits,
     history::HistoryService::GetLastVisitCallback callback,
     base::CancelableTaskTracker* tracker) {
   history::HistoryLastVisitResult result;
@@ -57,6 +59,7 @@
     const std::string& host,
     base::Time begin_time,
     base::Time end_time,
+    history::VisitQuery404sPolicy policy_for_404_visits,
     history::HistoryService::GetLastVisitCallback callback,
     base::CancelableTaskTracker* tracker) {
   history::HistoryLastVisitResult result;
@@ -70,6 +73,7 @@
     const std::string& host,
     base::Time begin_time,
     base::Time end_time,
+    history::VisitQuery404sPolicy policy_for_404_visits,
     history::HistoryService::GetLastVisitCallback callback,
     base::CancelableTaskTracker* tracker) {
   history::HistoryLastVisitResult result;
@@ -179,7 +183,7 @@
 
 TEST_F(PageInfoHistoryDataSourceTest, NoHistory) {
   // GetLastVisitToHost is called only once.
-  EXPECT_CALL(*history_service(), GetLastVisitToHost(_, _, _, _, _))
+  EXPECT_CALL(*history_service(), GetLastVisitToHost(_, _, _, _, _, _))
       .WillOnce(&ReturnVisitedNever);
   data_source()->GetLastVisitedTimestamp(base::BindOnce(
       [](std::optional<base::Time> time) { EXPECT_FALSE(time.has_value()); }));
@@ -188,7 +192,7 @@
 TEST_F(PageInfoHistoryDataSourceTest, LastVisitedTimestamp) {
   // GetLastVisitToHost is called twice, once to get the latest visit (base) and
   // the second to get the visit before it (last visit).
-  EXPECT_CALL(*history_service(), GetLastVisitToHost(_, _, _, _, _))
+  EXPECT_CALL(*history_service(), GetLastVisitToHost(_, _, _, _, _, _))
       .WillOnce(&ReturnVisitedBase)
       .WillOnce(&ReturnLastVisited);
   data_source()->GetLastVisitedTimestamp(
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
index 4345669..decb86af0 100644
--- a/components/password_manager/core/browser/password_manager.cc
+++ b/components/password_manager/core/browser/password_manager.cc
@@ -524,11 +524,6 @@
   registry->RegisterBooleanPref(
       prefs::kCredentialsEnableService, true,
       user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
-#if BUILDFLAG(IS_IOS)
-  // Deprecated pref in profile prefs.
-  registry->RegisterBooleanPref(prefs::kCredentialProviderEnabledOnStartup,
-                                false);
-#endif  // BUILDFLAG(IS_IOS)
   registry->RegisterBooleanPref(
       prefs::kCredentialsEnableAutosignin, true,
       user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF);
diff --git a/components/policy/core/common/management/management_service.cc b/components/policy/core/common/management/management_service.cc
index 626f56ac..f916a43 100644
--- a/components/policy/core/common/management/management_service.cc
+++ b/components/policy/core/common/management/management_service.cc
@@ -107,11 +107,12 @@
     if (provider->RequiresCache()) {
       provider->UpdateCache(provider->FetchAuthority());
     }
+  }
 
-    ManagementAuthorityTrustworthiness next =
-        GetManagementAuthorityTrustworthiness();
-    if (callback)
-      std::move(callback).Run(previous, next);
+  ManagementAuthorityTrustworthiness next =
+      GetManagementAuthorityTrustworthiness();
+  if (callback) {
+    std::move(callback).Run(previous, next);
   }
 }
 
diff --git a/components/policy/proto/device_management_backend.proto b/components/policy/proto/device_management_backend.proto
index d9188ea..0dc2755 100644
--- a/components/policy/proto/device_management_backend.proto
+++ b/components/policy/proto/device_management_backend.proto
@@ -3640,7 +3640,9 @@
   // This field represents the tpm device id and vendor id
   // which is a combined value as declared in the TPM spec.
   optional string did_vid = 8;
-  optional string kernel_version = 9;
+  // This field represents the kernel key version stored in tpm
+  // which is used to prevent OS rollback to less secure versions.
+  optional string kernel_key_version = 9;
 }
 
 // Contains status of the TPM unit.
diff --git a/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml b/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
index f9f38ac..53ac0ed 100644
--- a/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
+++ b/components/policy/resources/templates/policy_definitions/Miscellaneous/CacheEncryptionEnabled.yaml
@@ -1,12 +1,11 @@
 caption: This policy allows administrators to encrypt http cache on disk.
 desc: |-
   This policy allows the administrators to encrypt browser http cache on disk.
-  http cache on supported platforms.
+  Currently only supported on Windows.
 
   When this policy is Enabled, browser cache will be encrypted.
 
-  When this policy is Disabled or not set, browser cache
-  will not be encrypted.
+  When this policy is Disabled or not set, browser cache will not be encrypted.
 
   Browser cache encryption may result in a performance impact.
 owners:
diff --git a/components/privacy_sandbox/privacy_sandbox_features.cc b/components/privacy_sandbox/privacy_sandbox_features.cc
index 82f471de..9e5667a 100644
--- a/components/privacy_sandbox/privacy_sandbox_features.cc
+++ b/components/privacy_sandbox/privacy_sandbox_features.cc
@@ -119,6 +119,10 @@
 
 BASE_FEATURE(kRollBackModeB, base::FEATURE_DISABLED_BY_DEFAULT);
 
+const char kRollBackModeBForcedName[] = "force";
+const base::FeatureParam<bool> kRollBackModeBForced{
+    &kRollBackModeB, kRollBackModeBForcedName, false};
+
 #if BUILDFLAG(IS_ANDROID)
 BASE_FEATURE(kTrackingProtectionUserBypassPwa,
              base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/components/privacy_sandbox/privacy_sandbox_features.h b/components/privacy_sandbox/privacy_sandbox_features.h
index 3cfb85b..8245583 100644
--- a/components/privacy_sandbox/privacy_sandbox_features.h
+++ b/components/privacy_sandbox/privacy_sandbox_features.h
@@ -174,6 +174,10 @@
 COMPONENT_EXPORT(PRIVACY_SANDBOX_FEATURES)
 BASE_DECLARE_FEATURE(kRollBackModeB);
 
+// Forces Mode B rollback without checking the 3pcd onboarding pref.
+COMPONENT_EXPORT(PRIVACY_SANDBOX_FEATURES)
+extern const base::FeatureParam<bool> kRollBackModeBForced;
+
 // Privacy UX features end
 
 #if BUILDFLAG(IS_ANDROID)
diff --git a/components/privacy_sandbox/tracking_protection_settings.cc b/components/privacy_sandbox/tracking_protection_settings.cc
index c048102..2fde76a 100644
--- a/components/privacy_sandbox/tracking_protection_settings.cc
+++ b/components/privacy_sandbox/tracking_protection_settings.cc
@@ -82,8 +82,9 @@
   // It's possible enterprise status changed while profile was shut down.
   OnEnterpriseControlForPrefsChanged();
 
-  if (pref_service_->GetBoolean(prefs::kTrackingProtection3pcdEnabled) &&
-      base::FeatureList::IsEnabled(kRollBackModeB)) {
+  if ((pref_service_->GetBoolean(prefs::kTrackingProtection3pcdEnabled) &&
+       base::FeatureList::IsEnabled(kRollBackModeB)) ||
+      privacy_sandbox::kRollBackModeBForced.Get()) {
     // Hardcode this as using CookieControlsMode creates a circular dependency.
     const int kBlockThirdParty = 1;
     // Preserve the choice to block all 3PCs upon offboarding.
diff --git a/components/safe_browsing/content/browser/BUILD.gn b/components/safe_browsing/content/browser/BUILD.gn
index 33dca51e..f6ef2ed 100644
--- a/components/safe_browsing/content/browser/BUILD.gn
+++ b/components/safe_browsing/content/browser/BUILD.gn
@@ -309,6 +309,7 @@
       "//components/safe_browsing/core/common/proto:csd_proto",
       "//components/security_interstitials/content:security_interstitial_page",
       "//components/security_interstitials/core:unsafe_resource",
+      "//components/site_engagement/content",
       "//components/variations",
       "//components/zoom",
       "//content/public/browser",
diff --git a/components/safe_browsing/content/browser/DEPS b/components/safe_browsing/content/browser/DEPS
index 7582da8..d4e1ed1 100644
--- a/components/safe_browsing/content/browser/DEPS
+++ b/components/safe_browsing/content/browser/DEPS
@@ -15,6 +15,7 @@
   "+components/security_interstitials/core",
   "+components/sessions/content",
   "+components/sessions/core/session_id.h",
+  "+components/site_engagement/content",
   "+components/version_info",
   "+components/zoom",
   "+content/public/browser",
@@ -35,5 +36,6 @@
   "+services/service_manager/public/cpp",
   "+third_party/blink/public/common/loader/url_loader_throttle.h",
   "+third_party/blink/public/mojom/loader",
+  "+third_party/blink/public/mojom/site_engagement",
   "+ui/base",
 ]
diff --git a/components/safe_browsing/content/browser/client_side_detection_host.cc b/components/safe_browsing/content/browser/client_side_detection_host.cc
index 6feb8dd18..5f79c9e 100644
--- a/components/safe_browsing/content/browser/client_side_detection_host.cc
+++ b/components/safe_browsing/content/browser/client_side_detection_host.cc
@@ -5,6 +5,7 @@
 #include "components/safe_browsing/content/browser/client_side_detection_host.h"
 
 #include <memory>
+#include <optional>
 #include <utility>
 
 #include "base/check_op.h"
@@ -42,6 +43,7 @@
 #include "components/safe_browsing/core/common/safe_browsing_prefs.h"
 #include "components/safe_browsing/core/common/safebrowsing_switches.h"
 #include "components/security_interstitials/core/unsafe_resource_locator.h"
+#include "components/site_engagement/content/site_engagement_service.h"
 #include "components/zoom/zoom_controller.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_task_traits.h"
@@ -61,6 +63,7 @@
 #include "services/service_manager/public/cpp/interface_provider.h"
 #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
 #include "third_party/blink/public/mojom/loader/referrer.mojom.h"
+#include "third_party/blink/public/mojom/site_engagement/site_engagement.mojom.h"
 #include "third_party/perfetto/include/perfetto/tracing/track.h"
 #include "url/gurl.h"
 #include "url/origin.h"
@@ -914,14 +917,36 @@
     return;
   }
 
-  // If the form is a credit card form, then trigger pre-classification.
+  // If the form is not a credit card form, then do not trigger
+  // pre-classification.
   if (auto it = manager.form_structures().find(formId);
-      it != manager.form_structures().end()) {
-    if (it->second.get()->GetFormTypes().contains(
-            autofill::FormType::kCreditCardForm)) {
-      MaybeStartPreClassification(csd_type);
-    }
+      it != manager.form_structures().end() &&
+      !it->second.get()->GetFormTypes().contains(
+          autofill::FormType::kCreditCardForm)) {
+    return;
   }
+
+  // Report metric that breaks down preclassification volume by site engagement
+  // level. This is reported before any preemptive filtering below to provide
+  // full telemetry.
+  site_engagement::SiteEngagementService* site_engagement_service =
+      site_engagement::SiteEngagementService::Get(
+          web_contents()->GetBrowserContext());
+  if (site_engagement_service) {
+    base::UmaHistogramEnumeration(
+        "SBClientPhishing.SiteEngagement.CreditCardForm",
+        site_engagement_service->GetEngagementLevel(current_url_));
+  }
+
+  // Early exit from starting preclassification if site engagement is high
+  // (user has visited this same site a lot before).
+  if (site_engagement_service &&
+      static_cast<int>(site_engagement_service->GetEngagementLevel(
+          current_url_)) > kCsdCreditCardFormMaxSiteEngagement.Get()) {
+    return;
+  }
+
+  MaybeStartPreClassification(csd_type);
 }
 
 void ClientSideDetectionHost::KeyboardLockRequested() {
diff --git a/components/safe_browsing/content/browser/client_side_detection_host.h b/components/safe_browsing/content/browser/client_side_detection_host.h
index f76bf11..605105c 100644
--- a/components/safe_browsing/content/browser/client_side_detection_host.h
+++ b/components/safe_browsing/content/browser/client_side_detection_host.h
@@ -286,6 +286,9 @@
   FRIEND_TEST_ALL_PREFIXES(
       ClientSideDetectionHostCreditCardFormTest,
       EventDoesNotTriggerPreclassificationChecksWhenESBDisabled);
+  FRIEND_TEST_ALL_PREFIXES(
+      ClientSideDetectionHostCreditCardFormTest,
+      CreditCardFormDoesNotStartPreclassificationOnHighSiteEngagement);
   FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionHostCreditCardFormTest,
                            CreditCardFormTriggersPreclassificationCheck);
   FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionHostCreditCardFormTest,
diff --git a/components/safe_browsing/core/browser/web_ui/BUILD.gn b/components/safe_browsing/core/browser/web_ui/BUILD.gn
index d84e3862..82aeb60 100644
--- a/components/safe_browsing/core/browser/web_ui/BUILD.gn
+++ b/components/safe_browsing/core/browser/web_ui/BUILD.gn
@@ -18,6 +18,7 @@
     "//components/enterprise/common/proto:connectors_proto",
     "//components/enterprise/common/proto:connectors_proto_extras",
     "//components/enterprise/common/proto:upload_request_response",
+    "//components/enterprise/connectors/core:constants",
     "//components/safe_browsing:buildflags",
     "//components/safe_browsing/core/browser:referring_app_info",
     "//components/safe_browsing/core/browser/db:hit_report",
diff --git a/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc b/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc
index 6cc9eda2..779d643 100644
--- a/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc
+++ b/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc
@@ -10,6 +10,7 @@
 #include "base/i18n/time_formatting.h"
 #include "base/json/json_writer.h"
 #include "base/strings/utf_string_conversions.h"
+#include "components/enterprise/connectors/core/reporting_constants.h"
 #include "components/safe_browsing/core/browser/referring_app_info.h"
 #include "components/safe_browsing/core/common/proto/csd.to_value.h"
 #include "components/safe_browsing/core/common/proto/realtimeapi.to_value.h"
@@ -512,8 +513,18 @@
                              upload_events_request));
 #endif
   message.Set("response", result.Clone());
+
   base::Value::Dict wrapper;
   wrapper.Set("message", SerializeJson(message));
+  auto& event = upload_events_request.events()[0];
+  wrapper.Set("timeMillis",
+              event.time().seconds() * 1000 + event.time().nanos() / 1000000.0);
+  wrapper.Set("event_type",
+              enterprise_connectors::GetEventName(event.event_case()));
+  wrapper.Set("profile", upload_events_request.has_profile());
+  wrapper.Set("device", upload_events_request.has_device());
+  wrapper.Set("success",
+              result.FindBool("uploaded_successfully").value_or(false));
   return wrapper;
 }
 
diff --git a/components/safe_browsing/core/common/features.cc b/components/safe_browsing/core/common/features.cc
index 3dc1af9..2ea0f14 100644
--- a/components/safe_browsing/core/common/features.cc
+++ b/components/safe_browsing/core/common/features.cc
@@ -71,6 +71,9 @@
 const base::FeatureParam<double> kCsdCreditCardFormSampleRate{
     &kClientSideDetectionCreditCardForm, "SampleRate",
     /*default_value=*/0.0};
+const base::FeatureParam<int> kCsdCreditCardFormMaxSiteEngagement{
+    &kClientSideDetectionCreditCardForm, "MaxSiteEngagement",
+    /*default_value=*/1000};
 
 BASE_FEATURE(kClientSideDetectionForcedLlamaRedirectChainKillswitch,
              base::FEATURE_DISABLED_BY_DEFAULT);
diff --git a/components/safe_browsing/core/common/features.h b/components/safe_browsing/core/common/features.h
index 6dbb24f..c91f13e4 100644
--- a/components/safe_browsing/core/common/features.h
+++ b/components/safe_browsing/core/common/features.h
@@ -57,6 +57,10 @@
 extern const base::FeatureParam<double> kCsdCreditCardFormHCAcceptanceRate;
 // Sets the percentage of credit card forms that trigger a CSD ping.
 extern const base::FeatureParam<double> kCsdCreditCardFormSampleRate;
+// Sets the maximum site engagement allowed when sending a CSD ping.
+// The int value corresponds to the value of blink::mojom::EngagementLevel
+// (//third_party/blink/public/mojom/site_engagement/site_engagement.mojom).
+extern const base::FeatureParam<int> kCsdCreditCardFormMaxSiteEngagement;
 
 // Killswitch for Llama forced trigger info redirect chain check.
 BASE_DECLARE_FEATURE(kClientSideDetectionForcedLlamaRedirectChainKillswitch);
diff --git a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.cc b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.cc
index ddae027..7d03c26 100644
--- a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.cc
+++ b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.cc
@@ -11,6 +11,7 @@
 #include <optional>
 #include <string>
 
+#include "base/check_is_test.h"
 #include "base/feature_list.h"
 #include "base/functional/bind.h"
 #include "base/memory/raw_ptr.h"
@@ -46,10 +47,13 @@
 #include "google_apis/gaia/oauth2_access_token_fetcher.h"
 #include "google_apis/gaia/oauth2_access_token_fetcher_immediate_error.h"
 #include "google_apis/gaia/oauth2_mint_access_token_fetcher_adapter.h"
+#include "google_apis/google_api_keys.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 
 namespace {
 
+bool g_ignore_non_official_api_keys_for_testing = false;
+
 const char kAccountIdPrefix[] = "AccountId-";
 
 // Temporary kill-switch in case the unreadable tokens clearing logic needs to
@@ -181,6 +185,17 @@
   return true;
 }
 
+bool ShouldUseIssueTokenForUnboundTokens() {
+  // IssueToken can be used only with official Google API keys.
+  if (!google_apis::IsGoogleChromeAPIKeyUsed() &&
+      !g_ignore_non_official_api_keys_for_testing) {
+    return false;
+  }
+
+  return base::FeatureList::IsEnabled(
+      switches::kUseIssueTokenToFetchAccessTokens);
+}
+
 }  // namespace
 
 // This class sends a request to GAIA to revoke the given refresh token from
@@ -339,9 +354,7 @@
   std::string refresh_token = GetRefreshToken(account_id);
   DCHECK(!refresh_token.empty());
   bool is_refresh_token_bound = IsRefreshTokenBound(account_id);
-  if (base::FeatureList::IsEnabled(
-          switches::kUseIssueTokenToFetchAccessTokens) ||
-      is_refresh_token_bound) {
+  if (is_refresh_token_bound || ShouldUseIssueTokenForUnboundTokens()) {
     // `CoreAccountId` is always equal to Gaia ID on DICE platforms.
     // We cannot get Gaia ID from `account_tracker_service_` as it's sometimes
     // unknown and the only way of getting it requires an access token, which
@@ -451,6 +464,12 @@
   return GetRefreshToken(account_id);
 }
 
+void MutableProfileOAuth2TokenServiceDelegate::
+    SetIgnoreNonOfficialApiKeysForTesting() {
+  CHECK_IS_TEST();
+  g_ignore_non_official_api_keys_for_testing = true;
+}
+
 std::vector<CoreAccountId>
 MutableProfileOAuth2TokenServiceDelegate::GetAccounts() const {
   std::vector<CoreAccountId> account_ids;
diff --git a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h
index 79c9903..0ef5c67 100644
--- a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h
+++ b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h
@@ -119,6 +119,11 @@
   // Returns the account's refresh token used for testing purposes.
   std::string GetRefreshTokenForTest(const CoreAccountId& account_id) const;
 
+  // The use of the IssueToken endpoint for fetching access tokens is gated by
+  // the presence of official Google Chrome API keys.
+  // This function removes the official API keys check for testing.
+  static void SetIgnoreNonOfficialApiKeysForTesting();
+
  private:
   friend class MutableProfileOAuth2TokenServiceDelegateTest;
 
diff --git a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate_unittest.cc b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate_unittest.cc
index b50d1cb..5f21cc2 100644
--- a/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate_unittest.cc
+++ b/components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate_unittest.cc
@@ -2106,6 +2106,8 @@
        UseIssueTokenToFetchAccessTokensFeature) {
   base::test::ScopedFeatureList scoped_feature_list{
       switches::kUseIssueTokenToFetchAccessTokens};
+  MutableProfileOAuth2TokenServiceDelegate::
+      SetIgnoreNonOfficialApiKeysForTesting();
 
   ProfileOAuth2TokenService::RegisterProfilePrefs(pref_service_.registry());
   // Initialize the delegate without the token binding support.
diff --git a/components/signin/public/identity_manager/identity_test_utils.cc b/components/signin/public/identity_manager/identity_test_utils.cc
index 0630d36..2b6324e5 100644
--- a/components/signin/public/identity_manager/identity_test_utils.cc
+++ b/components/signin/public/identity_manager/identity_test_utils.cc
@@ -41,6 +41,10 @@
 #include "components/signin/public/android/test_support_jni_headers/AccountManagerFacadeUtil_jni.h"
 #endif
 
+#if BUILDFLAG(ENABLE_DICE_SUPPORT)
+#include "components/signin/internal/identity_manager/mutable_profile_oauth2_token_service_delegate.h"
+#endif
+
 using signin::constants::kNoHostedDomainFound;
 
 namespace signin {
@@ -725,4 +729,11 @@
 }
 #endif
 
+void SetIgnoreNonOfficialApiKeys() {
+#if BUILDFLAG(ENABLE_DICE_SUPPORT)
+  MutableProfileOAuth2TokenServiceDelegate::
+      SetIgnoreNonOfficialApiKeysForTesting();
+#endif
+}
+
 }  // namespace signin
diff --git a/components/signin/public/identity_manager/identity_test_utils.h b/components/signin/public/identity_manager/identity_test_utils.h
index b4f9cf6..aca5d17f 100644
--- a/components/signin/public/identity_manager/identity_test_utils.h
+++ b/components/signin/public/identity_manager/identity_test_utils.h
@@ -393,6 +393,10 @@
 account_manager::AccountManagerFacade* GetAccountManagerFacade(
     IdentityManager* identity_manager);
 #endif
+
+// Allows testing some features gated by the official Chrome API keys and OAuth
+// client IDs in builds lacking those keys.
+void SetIgnoreNonOfficialApiKeys();
 }  // namespace signin
 
 #endif  // COMPONENTS_SIGNIN_PUBLIC_IDENTITY_MANAGER_IDENTITY_TEST_UTILS_H_
diff --git a/components/sync_device_info/device_count_metrics_provider.cc b/components/sync_device_info/device_count_metrics_provider.cc
index eaf0012..acf309e 100644
--- a/components/sync_device_info/device_count_metrics_provider.cc
+++ b/components/sync_device_info/device_count_metrics_provider.cc
@@ -19,6 +19,13 @@
 
 namespace {
 
+struct MaxDeviceCounts {
+  int total = 0;
+  int desktop = 0;
+  int phone = 0;
+  int tablet = 0;
+};
+
 // Returns the count for the given |form_factor|, or 0 if not found.
 int GetCount(const absl::flat_hash_map<DeviceInfo::FormFactor, int>& counts,
              DeviceInfo::FormFactor form_factor) {
@@ -42,32 +49,33 @@
     metrics::ChromeUserMetricsExtension* uma_proto) {
   std::vector<const DeviceInfoTracker*> trackers;
   provide_trackers_.Run(&trackers);
-  int max_total = 0;
-  int max_desktop_count = 0;
-  int max_phone_count = 0;
-  int max_tablet_count = 0;
-  for (auto* tracker : trackers) {
+
+  MaxDeviceCounts max_counts;
+
+  for (const DeviceInfoTracker* tracker : trackers) {
     absl::flat_hash_map<DeviceType, int> count_by_type =
         tracker->CountActiveDevicesByType();
+
     const int total_devices = std::accumulate(
         count_by_type.begin(), count_by_type.end(), 0,
         [](int sum, const auto& pair) { return sum + pair.second; });
 
-    max_total = std::max(max_total, total_devices);
-    max_desktop_count = std::max(
-        max_desktop_count,
-        GetCount(count_by_type, DeviceInfo::FormFactor::kDesktop));
-    max_phone_count = std::max(
-        max_phone_count, GetCount(count_by_type, DeviceInfo::FormFactor::kPhone));
-    max_tablet_count = std::max(
-        max_tablet_count,
-        GetCount(count_by_type, DeviceInfo::FormFactor::kTablet));
+    max_counts.total = std::max(max_counts.total, total_devices);
+    max_counts.desktop =
+        std::max(max_counts.desktop,
+                 GetCount(count_by_type, DeviceInfo::FormFactor::kDesktop));
+    max_counts.phone =
+        std::max(max_counts.phone,
+                 GetCount(count_by_type, DeviceInfo::FormFactor::kPhone));
+    max_counts.tablet =
+        std::max(max_counts.tablet,
+                 GetCount(count_by_type, DeviceInfo::FormFactor::kTablet));
   }
 
-  RecordDeviceCountMetric("Sync.DeviceCount2", max_total);
-  RecordDeviceCountMetric("Sync.DeviceCount2.Desktop", max_desktop_count);
-  RecordDeviceCountMetric("Sync.DeviceCount2.Phone", max_phone_count);
-  RecordDeviceCountMetric("Sync.DeviceCount2.Tablet", max_tablet_count);
+  RecordDeviceCountMetric("Sync.DeviceCount2", max_counts.total);
+  RecordDeviceCountMetric("Sync.DeviceCount2.Desktop", max_counts.desktop);
+  RecordDeviceCountMetric("Sync.DeviceCount2.Phone", max_counts.phone);
+  RecordDeviceCountMetric("Sync.DeviceCount2.Tablet", max_counts.tablet);
 }
 
 }  // namespace syncer
diff --git a/components/sync_device_info/device_info_sync_bridge.cc b/components/sync_device_info/device_info_sync_bridge.cc
index f76ecf00..20a58f23e 100644
--- a/components/sync_device_info/device_info_sync_bridge.cc
+++ b/components/sync_device_info/device_info_sync_bridge.cc
@@ -329,6 +329,18 @@
              stored->auto_sign_out_last_signin_timestamp();
 }
 
+int CalculateMaxConcurrentEvents(const std::multimap<base::Time, int>& events) {
+  int max_overlapping = 0;
+  int overlapping = 0;
+  for (const auto& [time, value] : events) {
+    overlapping += value;
+    DCHECK_LE(0, overlapping);
+    max_overlapping = std::max(max_overlapping, overlapping);
+  }
+  DCHECK_EQ(overlapping, 0);
+  return max_overlapping;
+}
+
 }  // namespace
 
 DeviceInfoSyncBridge::ImmutableDeviceInfoAndSpecifics::
@@ -957,7 +969,7 @@
   const base::Time now = base::Time::Now();
   absl::flat_hash_map<std::pair<DeviceInfo::FormFactor, DeviceInfo::OsType>,
                       std::multimap<base::Time, int>>
-      relevant_events;
+      events_by_type;
 
   for (const auto& [cache_guid, device_info_and_specifics] : all_data_) {
     if (!IsChromeClient(device_info_and_specifics.specifics())) {
@@ -980,22 +992,15 @@
           device_info_and_specifics.device_info().os_type();
       DeviceInfo::FormFactor form_factor =
           device_info_and_specifics.device_info().form_factor();
-      relevant_events[{form_factor, os_type}].emplace(begin, 1);
-      relevant_events[{form_factor, os_type}].emplace(end, -1);
+      events_by_type[{form_factor, os_type}].emplace(begin, 1);
+      events_by_type[{form_factor, os_type}].emplace(end, -1);
     }
   }
 
   absl::flat_hash_map<DeviceInfo::FormFactor, int> device_count_by_form_factor;
-  for (const auto& [type, events] : relevant_events) {
-    int max_overlapping = 0;
-    int overlapping = 0;
-    for (const auto& [time, value] : events) {
-      overlapping += value;
-      DCHECK_LE(0, overlapping);
-      max_overlapping = std::max(max_overlapping, overlapping);
-    }
-    DCHECK_EQ(overlapping, 0);
-    device_count_by_form_factor[type.first] += max_overlapping;
+  for (const auto& [type, events] : events_by_type) {
+    device_count_by_form_factor[type.first] +=
+        CalculateMaxConcurrentEvents(events);
   }
 
   return device_count_by_form_factor;
diff --git a/components/webui/safe_browsing/resources/safe_browsing.css b/components/webui/safe_browsing/resources/safe_browsing.css
index ce68e81d..1aeb1fe 100644
--- a/components/webui/safe_browsing/resources/safe_browsing.css
+++ b/components/webui/safe_browsing/resources/safe_browsing.css
@@ -31,7 +31,7 @@
 cr-tab-box {
   font-size: 1.3rem;
 }
-table.request-response {
+table.expandable-events {
   border: 1px solid #cecece;
   border-radius: 3px;
   table-layout: fixed;
@@ -39,9 +39,66 @@
   width: 100%;
   word-break: break-all;
 }
-table.request-response td {
-  width: 50%;
+
+table.expandable-events th {
+  background-color: #f2f2f2;
+  border-bottom: #ddd;
+  padding: 8px;
+  text-align: left;
+  vertical-align: top;
 }
+
+table.expandable-events td {
+  background-color: #ffffff;
+  padding: 5px;
+  text-align: left;
+  vertical-align: top;
+}
+
+.expander::before {
+  content: 'â–¶';
+  cursor: pointer;
+  display: inline-block;
+  transition: transform 0.1s;
+}
+
+.expander.expanded::before {
+  transform: rotate(90deg);
+}
+
+.details-row {
+  display: none;
+}
+
+.details-row.visible {
+  display: table-row;
+}
+
+.details-cell {
+  background-color: #f0f0f0;
+  padding: 10px;
+  white-space: pre-wrap;
+}
+
+.expander-cell {
+  display: flex;
+  white-space: nowrap;
+}
+
+.copy-button {
+  background-color: #eee;
+  border: 1px solid #ccc;
+  border-radius: 3px;
+  cursor: pointer;
+  font-size: 0.9em;
+  margin-inline-start: 10px;
+  padding: 2px 6px;
+}
+
+.copy-button:hover {
+  background-color: #e0e0e0;
+}
+
 .bold-span {
   font-weight: bold;
 }
diff --git a/components/webui/safe_browsing/resources/safe_browsing.html b/components/webui/safe_browsing/resources/safe_browsing.html
index 1352171..205fa0d 100644
--- a/components/webui/safe_browsing/resources/safe_browsing.html
+++ b/components/webui/safe_browsing/resources/safe_browsing.html
@@ -110,6 +110,36 @@
         <h2>Reporting Events</h2>
         <div class="content">
           <p id="reporting-events"></p>
+          <table id="reporting-events-table" class="expandable-events" hidden>
+            <thead>
+              <tr>
+                <th>Time</th>
+                <th>Event Type</th>
+                <th>Profile</th>
+                <th>Device</th>
+                <th>Successfully Uploaded</th>
+                <th></th>
+              </tr>
+            </thead>
+            <tbody>
+            </tbody>
+          </table>
+          <template id="resultRowTemplate">
+            <tr class="main-row">
+              <td class="time-cell"></td>
+              <td class="event-type-cell"></td>
+              <td class="profile-cell"></td>
+              <td class="device-cell"></td>
+              <td class="success-cell"></td>
+              <td class="expander-cell">
+                <span class="expander" role="button" tabindex="0"></span>
+                <button class="copy-button">Copy</button>
+              </td>
+            </tr>
+            <tr class="details-row">
+              <td class="details-cell" colspan="6"></td>
+            </tr>
+          </template>
         </div>
       </div>
 <if expr="not is_android">
diff --git a/components/webui/safe_browsing/resources/safe_browsing.ts b/components/webui/safe_browsing/resources/safe_browsing.ts
index d8081ca..1d076771 100644
--- a/components/webui/safe_browsing/resources/safe_browsing.ts
+++ b/components/webui/safe_browsing/resources/safe_browsing.ts
@@ -17,6 +17,14 @@
   message: string;
   time: string;
 }
+interface RealtimeReportingResult {
+  message: string;
+  timeMillis: number;
+  event_type: string;
+  profile: boolean;
+  device: boolean;
+  success: boolean;
+}
 interface DeepScanResult {
   request: string;
   request_time: string;
@@ -207,13 +215,14 @@
   });
 
   sendWithPromise('getReportingEvents', [])
-      .then((reportingEvents: ReportingResult[]) => {
+      .then((reportingEvents: RealtimeReportingResult[]) => {
         reportingEvents.forEach(function(reportingEvent) {
           addReportingEvent(reportingEvent);
         });
       });
   addWebUiListener(
-      'reporting-events-update', function(reportingEvent: ReportingResult) {
+      'reporting-events-update',
+      function(reportingEvent: RealtimeReportingResult) {
         addReportingEvent(reportingEvent);
       });
 
@@ -531,10 +540,63 @@
   appendChildWithInnerText(logDiv, eventFormatted);
 }
 
-function addReportingEvent(result: ReportingResult) {
-  const logDiv = $('reporting-events');
-  const eventFormatted = result.message;
-  appendChildWithInnerText(logDiv, eventFormatted);
+function addReportingEvent(result: RealtimeReportingResult) {
+  // If the event doesn't have a timestamp, fall back to the old display format.
+  if (!result.timeMillis) {
+    const logDiv = $('reporting-events');
+    const eventFormatted = result.message;
+    appendChildWithInnerText(logDiv, eventFormatted);
+    return;
+  }
+
+  const table = $<HTMLTableElement>('reporting-events-table')!;
+  // Unhide the table if it's the first event.
+  if (table.hidden) {
+    table.hidden = false;
+  }
+
+  const tableBody = table.querySelector('tbody')!;
+  const template = $<HTMLTemplateElement>('resultRowTemplate')!;
+
+  // Clone the new row and insert it into the table
+  const reportingEventRow =
+      template.content.cloneNode(true) as DocumentFragment;
+  const mainRow = reportingEventRow.querySelector('.main-row')!;
+  const detailsRow = reportingEventRow.querySelector('.details-row')!;
+
+  mainRow.querySelector('.time-cell')!.textContent =
+      new Date(result.timeMillis).toLocaleString();
+  mainRow.querySelector('.event-type-cell')!.textContent = result.event_type;
+  mainRow.querySelector('.profile-cell')!.textContent =
+      result.profile ? 'Yes' : 'No';
+  mainRow.querySelector('.device-cell')!.textContent =
+      result.device ? 'Yes' : 'No';
+  mainRow.querySelector('.success-cell')!.textContent =
+      result.success ? 'Yes' : 'No';
+  detailsRow.querySelector('.details-cell')!.textContent = result.message;
+
+  const expander = mainRow.querySelector('.expander')!;
+  const copyButton = mainRow.querySelector('.copy-button')!;
+
+  // Add click listener to copy the message.
+  copyButton.addEventListener('click', (e) => {
+    e.stopPropagation();
+    navigator.clipboard.writeText(result.message).then(() => {
+      const originalText = copyButton.textContent;
+      copyButton.textContent = 'Copied!';
+      setTimeout(() => {
+        copyButton.textContent = originalText;
+      }, 2000);
+    });
+  });
+
+  // Add click listener to toggle the details row.
+  expander.addEventListener('click', () => {
+    expander.classList.toggle('expanded');
+    detailsRow.classList.toggle('visible');
+  });
+
+  tableBody.appendChild(reportingEventRow);
 }
 
 function appendChildWithInnerText(logDiv: Element|null, text: string) {
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 5a1b57d..fbcca47 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -2980,6 +2980,8 @@
     sources += [
       "media/capture/frame_sink_video_capture_device.cc",
       "media/capture/frame_sink_video_capture_device.h",
+      "media/capture/pip_screen_capture_coordinator.cc",
+      "media/capture/pip_screen_capture_coordinator.h",
       "media/capture/sub_capture_target_id_web_contents_helper.cc",
       "media/capture/sub_capture_target_id_web_contents_helper.h",
       "media/capture/web_contents_auto_scaler.cc",
@@ -3023,6 +3025,8 @@
         "media/capture/mouse_cursor_overlay_controller_mac.mm",
         "media/capture/native_screen_capture_picker_mac.h",
         "media/capture/native_screen_capture_picker_mac.mm",
+        "media/capture/pip_screen_capture_coordinator_impl.cc",
+        "media/capture/pip_screen_capture_coordinator_impl.h",
         "media/capture/screen_capture_kit_device_mac.h",
         "media/capture/screen_capture_kit_device_mac.mm",
         "media/capture/screen_capture_kit_device_utils_mac.h",
diff --git a/content/browser/browser_thread_browsertest.cc b/content/browser/browser_thread_browsertest.cc
index 6f3bda55..80f2256 100644
--- a/content/browser/browser_thread_browsertest.cc
+++ b/content/browser/browser_thread_browsertest.cc
@@ -53,8 +53,15 @@
       FROM_HERE,
       base::BindOnce(
           [](base::ThreadPriorityForTest expected_priority) {
-            EXPECT_EQ(base::PlatformThread::GetCurrentThreadPriorityForTest(),
-                      expected_priority);
+            // Under IOThreadInteractiveThreadType, the IO thread will have a
+            // higher priority on Windows.
+            // TODO(crbug.com/423313079): Update expectation once
+            // IOThreadInteractiveThreadType is enabled by default.
+            EXPECT_TRUE(
+                base::PlatformThread::GetCurrentThreadPriorityForTest() ==
+                    expected_priority ||
+                base::PlatformThread::GetCurrentThreadPriorityForTest() ==
+                    base::ThreadPriorityForTest::kInteractive);
           },
           expected_priority));
   BrowserThread::RunAllPendingTasksOnThreadForTesting(BrowserThread::IO);
diff --git a/content/browser/media/capture/pip_screen_capture_coordinator.cc b/content/browser/media/capture/pip_screen_capture_coordinator.cc
new file mode 100644
index 0000000..39b98a24
--- /dev/null
+++ b/content/browser/media/capture/pip_screen_capture_coordinator.cc
@@ -0,0 +1,63 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/browser/media/capture/pip_screen_capture_coordinator.h"
+
+#include "base/feature_list.h"
+#include "build/build_config.h"
+#include "content/public/browser/web_contents.h"
+#include "media/capture/capture_switches.h"
+
+namespace content {
+
+WEB_CONTENTS_USER_DATA_KEY_IMPL(PipScreenCaptureCoordinator);
+
+PipScreenCaptureCoordinator*
+PipScreenCaptureCoordinator::GetOrCreateForWebContents(
+    WebContents* web_contents) {
+  CHECK(web_contents);
+
+  return WebContentsUserData<
+      PipScreenCaptureCoordinator>::GetOrCreateForWebContents(web_contents);
+}
+
+PipScreenCaptureCoordinator*
+PipScreenCaptureCoordinator::GetOrCreateForRenderFrameHost(
+    RenderFrameHost* render_frame_host) {
+  WebContents* web_contents =
+      WebContents::FromRenderFrameHost(render_frame_host);
+  return GetOrCreateForWebContents(web_contents);
+}
+
+PipScreenCaptureCoordinator::PipScreenCaptureCoordinator(
+    WebContents* web_contents)
+    : WebContentsUserData<PipScreenCaptureCoordinator>(*web_contents)
+#if BUILDFLAG(IS_MAC)
+      ,
+      impl_(base::FeatureList::IsEnabled(features::kExcludePipFromScreenCapture)
+                ? std::make_unique<PipScreenCaptureCoordinatorImpl>()
+                : nullptr)
+#endif
+{
+}
+
+PipScreenCaptureCoordinator::~PipScreenCaptureCoordinator() = default;
+
+void PipScreenCaptureCoordinator::OnPipShown(WebContents& pip_web_contents) {
+#if BUILDFLAG(IS_MAC)
+  if (impl_) {
+    impl_->OnPipShown(pip_web_contents);
+  }
+#endif
+}
+
+void PipScreenCaptureCoordinator::OnPipClosed() {
+#if BUILDFLAG(IS_MAC)
+  if (impl_) {
+    impl_->OnPipClosed();
+  }
+#endif
+}
+
+}  // namespace content
diff --git a/content/browser/media/capture/pip_screen_capture_coordinator.h b/content/browser/media/capture/pip_screen_capture_coordinator.h
new file mode 100644
index 0000000..93e742ae
--- /dev/null
+++ b/content/browser/media/capture/pip_screen_capture_coordinator.h
@@ -0,0 +1,70 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_H_
+#define CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_H_
+
+#include <cstdint>
+
+#include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/web_contents_user_data.h"
+
+#if BUILDFLAG(IS_MAC)
+#include "content/browser/media/capture/pip_screen_capture_coordinator_impl.h"
+#endif
+
+namespace content {
+
+class WebContents;
+
+// Manages information about the visibility and identity of
+// Picture-in-Picture (PiP) windows associated with a
+// WebContents. This is used for excluding the PiP window from screen
+// captures of the originating tab.
+class CONTENT_EXPORT PipScreenCaptureCoordinator
+    : public WebContentsUserData<PipScreenCaptureCoordinator> {
+ public:
+  // Retrieves the PipScreenCaptureCoordinator for |web_contents| if
+  // enabled, creating one if it does not already exist. The returned
+  // pointer is owned by |web_contents|. |web_contents| must not be
+  // null.
+  //
+  // Returns nullptr if ExcludePipFromScreenCapture is disabled.
+  static PipScreenCaptureCoordinator* GetOrCreateForWebContents(
+      WebContents* web_contents);
+  // Retrieves the PipScreenCaptureCoordinator for |render_frame_host|
+  // if enabled, creating one if it does not already exist. The
+  // returned pointer is owned by the associated
+  // web_contents. |render_frame_host| must not be null.
+  //
+  // Returns nullptr if ExcludePipFromScreenCapture is disabled.
+  static PipScreenCaptureCoordinator* GetOrCreateForRenderFrameHost(
+      RenderFrameHost* render_frame_host);
+
+  ~PipScreenCaptureCoordinator() override;
+
+  PipScreenCaptureCoordinator(const PipScreenCaptureCoordinator&) = delete;
+  PipScreenCaptureCoordinator& operator=(const PipScreenCaptureCoordinator&) =
+      delete;
+
+  // Called when a document PiP window is shown from the WebContents
+  // which this coordinator belongs to.
+  void OnPipShown(WebContents& pip_web_contents);
+  // Called when the PiP window is closed.
+  void OnPipClosed();
+
+ private:
+  explicit PipScreenCaptureCoordinator(WebContents* web_contents);
+
+  friend class WebContentsUserData<PipScreenCaptureCoordinator>;
+  WEB_CONTENTS_USER_DATA_KEY_DECL();
+
+#if BUILDFLAG(IS_MAC)
+  std::unique_ptr<PipScreenCaptureCoordinatorImpl> impl_;
+#endif
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_H_
diff --git a/content/browser/media/capture/pip_screen_capture_coordinator_impl.cc b/content/browser/media/capture/pip_screen_capture_coordinator_impl.cc
new file mode 100644
index 0000000..2d494247
--- /dev/null
+++ b/content/browser/media/capture/pip_screen_capture_coordinator_impl.cc
@@ -0,0 +1,60 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/browser/media/capture/pip_screen_capture_coordinator_impl.h"
+
+#include "build/build_config.h"
+#include "content/public/browser/web_contents.h"
+
+namespace content {
+
+PipScreenCaptureCoordinatorImpl::PipScreenCaptureCoordinatorImpl() {}
+
+PipScreenCaptureCoordinatorImpl::~PipScreenCaptureCoordinatorImpl() = default;
+
+void PipScreenCaptureCoordinatorImpl::OnPipShown(
+    WebContents& pip_web_contents) {
+  std::optional<NativeWindowId> new_pip_window_id;
+  new_pip_window_id = GetNativeWindowIdMac(pip_web_contents);
+  if (new_pip_window_id) {
+    OnPipShown(*new_pip_window_id);
+  }
+}
+
+void PipScreenCaptureCoordinatorImpl::OnPipShown(
+    NativeWindowId new_pip_window_id) {
+  if (pip_window_id_ == new_pip_window_id) {
+    return;
+  }
+
+  pip_window_id_ = new_pip_window_id;
+  for (Observer& obs : observers_) {
+    obs.OnPipWindowIdChanged(pip_window_id_);
+  }
+}
+
+void PipScreenCaptureCoordinatorImpl::OnPipClosed() {
+  if (!pip_window_id_) {
+    return;
+  }
+  pip_window_id_ = std::nullopt;
+  for (Observer& obs : observers_) {
+    obs.OnPipWindowIdChanged(pip_window_id_);
+  }
+}
+
+std::optional<PipScreenCaptureCoordinatorImpl::NativeWindowId>
+PipScreenCaptureCoordinatorImpl::PipWindowId() const {
+  return pip_window_id_;
+}
+
+void PipScreenCaptureCoordinatorImpl::AddObserver(Observer* observer) {
+  observers_.AddObserver(observer);
+}
+
+void PipScreenCaptureCoordinatorImpl::RemoveObserver(Observer* observer) {
+  observers_.RemoveObserver(observer);
+}
+
+}  // namespace content
diff --git a/content/browser/media/capture/pip_screen_capture_coordinator_impl.h b/content/browser/media/capture/pip_screen_capture_coordinator_impl.h
new file mode 100644
index 0000000..fbbe6bc
--- /dev/null
+++ b/content/browser/media/capture/pip_screen_capture_coordinator_impl.h
@@ -0,0 +1,53 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_IMPL_H_
+#define CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_IMPL_H_
+
+#include <cstdint>
+
+#include "base/observer_list.h"
+#include "content/browser/media/capture/screen_capture_kit_device_utils_mac.h"
+
+namespace content {
+
+class WebContents;
+
+class CONTENT_EXPORT PipScreenCaptureCoordinatorImpl {
+ public:
+  using NativeWindowId = NativeWindowIdMac;
+
+  class Observer : public base::CheckedObserver {
+   public:
+    // Called with the NativeWindowId of the PiP window when it is
+    // shown, or nullopt when it is closed.
+    virtual void OnPipWindowIdChanged(
+        std::optional<NativeWindowId> new_pip_window_id) = 0;
+  };
+
+  explicit PipScreenCaptureCoordinatorImpl();
+  virtual ~PipScreenCaptureCoordinatorImpl();
+
+  PipScreenCaptureCoordinatorImpl(const PipScreenCaptureCoordinatorImpl&) =
+      delete;
+  PipScreenCaptureCoordinatorImpl& operator=(
+      const PipScreenCaptureCoordinatorImpl&) = delete;
+
+  void OnPipShown(WebContents& pip_web_contents);
+  void OnPipShown(NativeWindowId pip_window_id);
+  void OnPipClosed();
+
+  std::optional<NativeWindowId> PipWindowId() const;
+
+  void AddObserver(Observer* observer);
+  void RemoveObserver(Observer* observer);
+
+ private:
+  std::optional<NativeWindowId> pip_window_id_;
+  base::ObserverList<Observer> observers_;
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_MEDIA_CAPTURE_PIP_SCREEN_CAPTURE_COORDINATOR_IMPL_H_
diff --git a/content/browser/media/capture/pip_screen_capture_coordinator_impl_unittest.cc b/content/browser/media/capture/pip_screen_capture_coordinator_impl_unittest.cc
new file mode 100644
index 0000000..580cec50
--- /dev/null
+++ b/content/browser/media/capture/pip_screen_capture_coordinator_impl_unittest.cc
@@ -0,0 +1,116 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/browser/media/capture/pip_screen_capture_coordinator_impl.h"
+
+#include "base/test/mock_callback.h"
+#include "base/test/scoped_feature_list.h"
+#include "media/capture/capture_switches.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+using NativeWindowId = content::PipScreenCaptureCoordinatorImpl::NativeWindowId;
+using testing::_;
+
+namespace content {
+
+namespace {
+
+class MockObserver : public PipScreenCaptureCoordinatorImpl::Observer {
+ public:
+  MockObserver() = default;
+  ~MockObserver() override = default;
+
+  MOCK_METHOD(void,
+              OnPipWindowIdChanged,
+              (std::optional<NativeWindowId>),
+              (override));
+};
+
+}  // namespace
+
+class PipScreenCaptureCoordinatorImplTest : public testing::Test {
+ public:
+  PipScreenCaptureCoordinatorImplTest() {
+    feature_list_.InitAndEnableFeature(features::kExcludePipFromScreenCapture);
+  }
+
+ protected:
+  base::test::ScopedFeatureList feature_list_;
+  PipScreenCaptureCoordinatorImpl coordinator_;
+};
+
+TEST_F(PipScreenCaptureCoordinatorImplTest, PipWindowId) {
+  EXPECT_EQ(coordinator_.PipWindowId(), std::nullopt);
+
+  const NativeWindowId pip_window_id = 123;
+  coordinator_.OnPipShown(pip_window_id);
+  EXPECT_EQ(coordinator_.PipWindowId(), pip_window_id);
+
+  coordinator_.OnPipClosed();
+  EXPECT_EQ(coordinator_.PipWindowId(), std::nullopt);
+}
+
+TEST_F(PipScreenCaptureCoordinatorImplTest, OnPipShownNotifiesObservers) {
+  MockObserver observer;
+  coordinator_.AddObserver(&observer);
+
+  const NativeWindowId pip_window_id = 123;
+  EXPECT_CALL(observer,
+              OnPipWindowIdChanged(std::make_optional(pip_window_id)));
+  coordinator_.OnPipShown(pip_window_id);
+
+  EXPECT_EQ(coordinator_.PipWindowId(), pip_window_id);
+
+  // Calling again with the same ID should not notify.
+  EXPECT_CALL(observer, OnPipWindowIdChanged(_)).Times(0);
+  coordinator_.OnPipShown(pip_window_id);
+
+  coordinator_.RemoveObserver(&observer);
+}
+
+TEST_F(PipScreenCaptureCoordinatorImplTest, OnPipClosedNotifiesObservers) {
+  MockObserver observer;
+  coordinator_.AddObserver(&observer);
+
+  const NativeWindowId pip_window_id = 123;
+  EXPECT_CALL(observer,
+              OnPipWindowIdChanged(std::make_optional(pip_window_id)));
+  coordinator_.OnPipShown(pip_window_id);
+  testing::Mock::VerifyAndClearExpectations(&observer);
+
+  EXPECT_CALL(observer, OnPipWindowIdChanged(testing::Eq(std::nullopt)));
+  coordinator_.OnPipClosed();
+
+  coordinator_.RemoveObserver(&observer);
+}
+
+TEST_F(PipScreenCaptureCoordinatorImplTest, AddAndRemoveObserver) {
+  MockObserver observer1;
+  MockObserver observer2;
+
+  coordinator_.AddObserver(&observer1);
+  coordinator_.AddObserver(&observer2);
+
+  const NativeWindowId pip_window_id = 123;
+  EXPECT_CALL(observer1,
+              OnPipWindowIdChanged(std::make_optional(pip_window_id)));
+  EXPECT_CALL(observer2,
+              OnPipWindowIdChanged(std::make_optional(pip_window_id)));
+  coordinator_.OnPipShown(pip_window_id);
+  testing::Mock::VerifyAndClearExpectations(&observer1);
+  testing::Mock::VerifyAndClearExpectations(&observer2);
+
+  coordinator_.RemoveObserver(&observer1);
+
+  const NativeWindowId new_pip_window_id = 456;
+  EXPECT_CALL(observer1, OnPipWindowIdChanged(_)).Times(0);
+  EXPECT_CALL(observer2,
+              OnPipWindowIdChanged(std::make_optional(new_pip_window_id)));
+  coordinator_.OnPipShown(new_pip_window_id);
+
+  coordinator_.RemoveObserver(&observer2);
+}
+
+}  // namespace content
diff --git a/content/browser/media/capture/screen_capture_kit_device_utils_mac.h b/content/browser/media/capture/screen_capture_kit_device_utils_mac.h
index 1dec622..890249c 100644
--- a/content/browser/media/capture/screen_capture_kit_device_utils_mac.h
+++ b/content/browser/media/capture/screen_capture_kit_device_utils_mac.h
@@ -13,10 +13,18 @@
 }  // namespace media
 
 namespace content {
+class WebContents;
 
 std::unique_ptr<media::VideoCaptureDevice> CONTENT_EXPORT
 CreateScreenCaptureKitDeviceMac(const DesktopMediaID& source);
 
+using NativeWindowIdMac = int64_t;
+// Returns the windowNumber prorperty of the window associated to
+// |web_contents| if there is an associated window with a positive
+// windowNumber, or nullopt otherwise.
+std::optional<NativeWindowIdMac> GetNativeWindowIdMac(
+    WebContents& web_contents);
+
 }  // namespace content
 
 #endif  // CONTENT_BROWSER_MEDIA_CAPTURE_SCREEN_CAPTURE_KIT_DEVICE_UTILS_MAC_H_
diff --git a/content/browser/media/capture/screen_capture_kit_device_utils_mac.mm b/content/browser/media/capture/screen_capture_kit_device_utils_mac.mm
index 5a61aa4..454b915 100644
--- a/content/browser/media/capture/screen_capture_kit_device_utils_mac.mm
+++ b/content/browser/media/capture/screen_capture_kit_device_utils_mac.mm
@@ -4,7 +4,12 @@
 
 #include "content/browser/media/capture/screen_capture_kit_device_utils_mac.h"
 
+#include <AppKit/AppKit.h>
+
+#include <optional>
+
 #include "content/browser/media/capture/screen_capture_kit_device_mac.h"
+#include "content/public/browser/web_contents.h"
 #include "media/capture/video/video_capture_device.h"
 
 namespace content {
@@ -21,4 +26,21 @@
   }
 }
 
+std::optional<NativeWindowIdMac> GetNativeWindowIdMac(
+    WebContents& web_contents) {
+  gfx::NativeView native_view = web_contents.GetNativeView();
+  NSView* ns_view = native_view.GetNativeNSView();
+  if (!ns_view) {
+    return std::nullopt;
+  }
+
+  NSWindow* ns_window = [ns_view window];
+  if (!ns_window) {
+    return std::nullopt;
+  }
+
+  int64_t window_number = [ns_window windowNumber];
+  return window_number > 0 ? std::make_optional(window_number) : std::nullopt;
+}
+
 }  // namespace content
diff --git a/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc b/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
index af279a70..d2972ef0 100644
--- a/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
+++ b/content/browser/renderer_host/input/compositor_event_ack_browsertest.cc
@@ -103,6 +103,42 @@
 
 namespace content {
 
+class FlingStartObserver
+    : public content::RenderWidgetHost::InputEventObserver {
+ public:
+  FlingStartObserver(content::RenderWidgetHost* host,
+                     base::OnceClosure quit_closure)
+      : host_(host), quit_closure_(std::move(quit_closure)) {
+    host_->AddInputEventObserver(this);
+  }
+
+  ~FlingStartObserver() override { host_->RemoveInputEventObserver(this); }
+
+  void OnInputEventAck(const RenderWidgetHost&,
+                       blink::mojom::InputEventResultSource source,
+                       blink::mojom::InputEventResultState state,
+                       const blink::WebInputEvent& event) override {
+    if (event.GetType() != blink::WebInputEvent::Type::kGestureScrollUpdate) {
+      return;
+    }
+    const auto& gesture_event =
+        static_cast<const blink::WebGestureEvent&>(event);
+
+    if (gesture_event.data.scroll_update.inertial_phase !=
+        blink::WebGestureEvent::InertialPhaseState::kMomentum) {
+      return;
+    }
+
+    if (quit_closure_) {
+      std::move(quit_closure_).Run();
+    }
+  }
+
+ private:
+  raw_ptr<content::RenderWidgetHost> host_;
+  base::OnceClosure quit_closure_;
+};
+
 // This test will used event listeners which block the renderer's main thread.
 // This test verifies that the compositor sends back an event ack that is not
 // blocked by the main thread. Then that subsequently the compositor will
@@ -298,6 +334,11 @@
              .y() <= 0)
     observer.WaitForMetadataChange();
 
+  // Wait for the fling to start on the compositor thread.
+  base::RunLoop run_loop;
+  FlingStartObserver fling_observer(GetWidgetHost(), run_loop.QuitClosure());
+  run_loop.Run();
+
   touch_event.ReleasePoint(0);
   //  TODO(wjmaclean): Figure out why we can send two touch events with the same
   //  id, and not only does it work, it fails to work if we give the second
diff --git a/content/public/browser/global_routing_id.h b/content/public/browser/global_routing_id.h
index ac88f947..df2ff72 100644
--- a/content/public/browser/global_routing_id.h
+++ b/content/public/browser/global_routing_id.h
@@ -93,6 +93,19 @@
   void WriteIntoTrace(perfetto::TracedProto<TraceProto> proto) const;
 };
 
+inline std::ostream& operator<<(std::ostream& os,
+                                const GlobalRenderFrameHostId& id) {
+  os << "GlobalRenderFrameHostId(" << id.child_id << ", " << id.frame_routing_id
+     << ")";
+  return os;
+}
+
+struct GlobalRenderFrameHostIdHasher {
+  std::size_t operator()(const GlobalRenderFrameHostId& id) const {
+    return base::HashInts(id.child_id, id.frame_routing_id);
+  }
+};
+
 // Similar to GlobalRenderFrameHostId except that it uses FrameTokens instead
 // of routing ids.
 //
@@ -131,18 +144,12 @@
 };
 
 inline std::ostream& operator<<(std::ostream& os,
-                                const GlobalRenderFrameHostId& id) {
-  os << "GlobalRenderFrameHostId(" << id.child_id << ", " << id.frame_routing_id
+                                const GlobalRenderFrameHostToken& id) {
+  os << "GlobalRenderFrameHostToken(" << id.child_id << ", " << id.frame_token
      << ")";
   return os;
 }
 
-struct GlobalRenderFrameHostIdHasher {
-  std::size_t operator()(const GlobalRenderFrameHostId& id) const {
-    return base::HashInts(id.child_id, id.frame_routing_id);
-  }
-};
-
 }  // namespace content
 
 #endif  // CONTENT_PUBLIC_BROWSER_GLOBAL_ROUTING_ID_H_
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 0cb62bf47..aa4e864b 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -3458,7 +3458,9 @@
       "../browser/media/capture/web_contents_frame_tracker_unittest.cc",
       "../browser/renderer_host/media/sub_capture_target_id_web_contents_helper_unittest.cc",
     ]
-
+    if (is_mac) {
+      sources += [ "../browser/media/capture/pip_screen_capture_coordinator_impl_unittest.cc" ]
+    }
     if (!is_android && !is_ios) {
       deps += [
         "//content/common:buildflags",
diff --git a/docs/website b/docs/website
index 3913dbd..df93358 160000
--- a/docs/website
+++ b/docs/website
@@ -1 +1 @@
-Subproject commit 3913dbd6fdde06b914d0e1119fcc884f8115e4f8
+Subproject commit df93358bf8ac45b0fcb8518b7984695ac1317650
diff --git a/gin/public/gin_embedders.h b/gin/public/gin_embedders.h
index 6d11f44..92a24bc 100644
--- a/gin/public/gin_embedders.h
+++ b/gin/public/gin_embedders.h
@@ -23,16 +23,15 @@
 };
 
 enum EmbedderDataTag : uint16_t {
-  kBlinkScriptState,
-  kGinPerContextData,
   // kDeprecatedData is used for data that is already not used anymore but still
   // exists for legacy reasons, e.g. in the implementation of
   // gin::DeprecatedWrappable.
   kDeprecatedData,
-  kPdfiumFXJSEClassDescriptor,
-  kPdfiumFXJSEHostObjectTag,
-  kPdfiumCFXJSEHostObject,
-  kPdfiumCFXJSPerObjectData,
+  // kDefaultTag can be used by embedders that don't use V8 type tagging, e.g.
+  // because they have their own type tagging system, like PDFium.
+  kDefaultEmbedderDataTag = kDeprecatedData,
+  kBlinkScriptState,
+  kGinPerContextData,
 };
 
 }  // namespace gin
diff --git a/gpu/command_buffer/service/shared_image/shared_image_manager.cc b/gpu/command_buffer/service/shared_image/shared_image_manager.cc
index 65f042fe..e07dabf 100644
--- a/gpu/command_buffer/service/shared_image/shared_image_manager.cc
+++ b/gpu/command_buffer/service/shared_image/shared_image_manager.cc
@@ -250,7 +250,7 @@
       dxgi_shared_handle_manager_(
           base::MakeRefCounted<DXGISharedHandleManager>())
 #endif
-#if !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_APPLE)
       ,
       gpu_memory_buffer_factory_(
           gpu::GpuMemoryBufferFactory::CreateNativeType(vulkan_context_provider,
diff --git a/gpu/command_buffer/service/shared_image/shared_image_manager.h b/gpu/command_buffer/service/shared_image/shared_image_manager.h
index 4a89979b..47cbc4b9 100644
--- a/gpu/command_buffer/service/shared_image/shared_image_manager.h
+++ b/gpu/command_buffer/service/shared_image/shared_image_manager.h
@@ -157,7 +157,7 @@
     return display_context_on_another_thread_;
   }
 
-#if !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_APPLE)
   GpuMemoryBufferFactory* gpu_memory_buffer_factory() {
     return gpu_memory_buffer_factory_.get();
   }
@@ -203,7 +203,7 @@
   bool supports_overlays_on_ozone_ = false;
 #endif
 
-#if !BUILDFLAG(IS_MAC)
+#if !BUILDFLAG(IS_APPLE)
   std::unique_ptr<GpuMemoryBufferFactory> gpu_memory_buffer_factory_;
 #endif
 
diff --git a/headless/lib/browser/headless_browser_impl.cc b/headless/lib/browser/headless_browser_impl.cc
index 5ef3b84..679015e 100644
--- a/headless/lib/browser/headless_browser_impl.cc
+++ b/headless/lib/browser/headless_browser_impl.cc
@@ -90,7 +90,7 @@
 
 /// static
 blink::UserAgentMetadata HeadlessBrowser::GetUserAgentMetadata() {
-  auto metadata = embedder_support::GetUserAgentMetadata(nullptr);
+  auto metadata = embedder_support::GetUserAgentMetadata();
   // Skip override brand version information if components' API returns a blank
   // UserAgentMetadata.
   if (metadata == blink::UserAgentMetadata()) {
diff --git a/infra/config/generated/builders/ci/ios-asan/targets/chromium.memory.json b/infra/config/generated/builders/ci/ios-asan/targets/chromium.memory.json
index 66941388..1ba8a20 100644
--- a/infra/config/generated/builders/ci/ios-asan/targets/chromium.memory.json
+++ b/infra/config/generated/builders/ci/ios-asan/targets/chromium.memory.json
@@ -3201,7 +3201,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3233,7 +3233,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3251,7 +3251,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -3283,7 +3283,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3301,7 +3301,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3333,7 +3333,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3351,7 +3351,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -3383,7 +3383,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-blink-rel-fyi/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios-blink-rel-fyi/targets/chromium.fyi.json
index 2298f058..c5fee14 100644
--- a/infra/config/generated/builders/ci/ios-blink-rel-fyi/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios-blink-rel-fyi/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 15 26.0",
+        "name": "absl_hardening_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/angle/src/tests:angle_unittests",
         "module_scheme": "gtest",
-        "name": "angle_unittests iPhone 15 26.0",
+        "name": "angle_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -103,7 +103,7 @@
         "test": "angle_unittests",
         "test_id_prefix": "ninja://third_party/angle/src/tests:angle_unittests/",
         "use_isolated_scripts_api": true,
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -112,7 +112,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -124,7 +124,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 15 26.0",
+        "name": "base_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -143,8 +143,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -155,14 +155,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -174,7 +174,7 @@
         },
         "module_name": "//third_party/blink/common:blink_common_unittests",
         "module_scheme": "gtest",
-        "name": "blink_common_unittests iPhone 15 26.0",
+        "name": "blink_common_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -193,8 +193,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -205,14 +205,14 @@
         },
         "test": "blink_common_unittests",
         "test_id_prefix": "ninja://third_party/blink/common:blink_common_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -224,7 +224,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform:blink_fuzzer_unittests",
         "module_scheme": "gtest",
-        "name": "blink_fuzzer_unittests iPhone 15 26.0",
+        "name": "blink_fuzzer_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -243,8 +243,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -255,14 +255,14 @@
         },
         "test": "blink_fuzzer_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_fuzzer_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -274,7 +274,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform/heap:blink_heap_unittests",
         "module_scheme": "gtest",
-        "name": "blink_heap_unittests iPhone 15 26.0",
+        "name": "blink_heap_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -293,8 +293,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -305,7 +305,7 @@
         },
         "test": "blink_heap_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform/heap:blink_heap_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -315,7 +315,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -327,7 +327,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform:blink_platform_unittests",
         "module_scheme": "gtest",
-        "name": "blink_platform_unittests iPhone 15 26.0",
+        "name": "blink_platform_unittests iPhone 15 26.1",
         "precommit_args": [
           "--gerrit-issue=${patch_issue}",
           "--gerrit-patchset=${patch_set}",
@@ -351,8 +351,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -363,14 +363,14 @@
         },
         "test": "blink_platform_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_platform_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -382,7 +382,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 15 26.0",
+        "name": "boringssl_crypto_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -401,8 +401,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -413,14 +413,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -432,7 +432,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 15 26.0",
+        "name": "boringssl_ssl_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -451,8 +451,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -463,14 +463,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -482,7 +482,7 @@
         },
         "module_name": "//media/capture:capture_unittests",
         "module_scheme": "gtest",
-        "name": "capture_unittests iPhone 15 26.0",
+        "name": "capture_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -501,8 +501,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -513,14 +513,14 @@
         },
         "test": "capture_unittests",
         "test_id_prefix": "ninja://media/capture:capture_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -532,7 +532,7 @@
         },
         "module_name": "//media/cast:cast_unittests",
         "module_scheme": "gtest",
-        "name": "cast_unittests iPhone 15 26.0",
+        "name": "cast_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -551,8 +551,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -563,7 +563,7 @@
         },
         "test": "cast_unittests",
         "test_id_prefix": "ninja://media/cast:cast_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -573,7 +573,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -585,7 +585,7 @@
         },
         "module_name": "//cc:cc_unittests",
         "module_scheme": "gtest",
-        "name": "cc_unittests iPhone 15 26.0",
+        "name": "cc_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -604,8 +604,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -616,7 +616,7 @@
         },
         "test": "cc_unittests",
         "test_id_prefix": "ninja://cc:cc_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -625,7 +625,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -637,7 +637,7 @@
         },
         "module_name": "//components:components_browsertests",
         "module_scheme": "gtest",
-        "name": "components_browsertests iPhone 15 26.0",
+        "name": "components_browsertests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -656,8 +656,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -668,7 +668,7 @@
         },
         "test": "components_browsertests",
         "test_id_prefix": "ninja://components:components_browsertests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -677,7 +677,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -689,7 +689,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 15 26.0",
+        "name": "components_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -708,8 +708,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -720,7 +720,7 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -729,7 +729,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -741,7 +741,7 @@
         },
         "module_name": "//ui/compositor:compositor_unittests",
         "module_scheme": "gtest",
-        "name": "compositor_unittests iPhone 15 26.0",
+        "name": "compositor_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -760,8 +760,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -772,7 +772,7 @@
         },
         "test": "compositor_unittests",
         "test_id_prefix": "ninja://ui/compositor:compositor_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -781,7 +781,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -793,7 +793,7 @@
         },
         "module_name": "//content/test:content_browsertests",
         "module_scheme": "gtest",
-        "name": "content_browsertests iPhone 15 26.0",
+        "name": "content_browsertests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -812,8 +812,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -825,7 +825,7 @@
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -834,7 +834,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -846,7 +846,7 @@
         },
         "module_name": "//content/test:content_unittests",
         "module_scheme": "gtest",
-        "name": "content_unittests iPhone 15 26.0",
+        "name": "content_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -865,8 +865,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -877,14 +877,14 @@
         },
         "test": "content_unittests",
         "test_id_prefix": "ninja://content/test:content_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -896,7 +896,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad:crashpad_tests",
         "module_scheme": "gtest",
-        "name": "crashpad_tests iPhone 15 26.0",
+        "name": "crashpad_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -915,8 +915,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -927,14 +927,14 @@
         },
         "test": "crashpad_tests",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad:crashpad_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -946,7 +946,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 15 26.0",
+        "name": "crypto_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -965,8 +965,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -977,14 +977,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -996,7 +996,7 @@
         },
         "module_name": "//device:device_unittests",
         "module_scheme": "gtest",
-        "name": "device_unittests iPhone 15 26.0",
+        "name": "device_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1015,8 +1015,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1027,14 +1027,14 @@
         },
         "test": "device_unittests",
         "test_id_prefix": "ninja://device:device_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1046,7 +1046,7 @@
         },
         "module_name": "//ui/display:display_unittests",
         "module_scheme": "gtest",
-        "name": "display_unittests iPhone 15 26.0",
+        "name": "display_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1065,8 +1065,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1077,14 +1077,14 @@
         },
         "test": "display_unittests",
         "test_id_prefix": "ninja://ui/display:display_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1096,7 +1096,7 @@
         },
         "module_name": "//third_party/leveldatabase:env_chromium_unittests",
         "module_scheme": "gtest",
-        "name": "env_chromium_unittests iPhone 15 26.0",
+        "name": "env_chromium_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1115,8 +1115,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1127,14 +1127,14 @@
         },
         "test": "env_chromium_unittests",
         "test_id_prefix": "ninja://third_party/leveldatabase:env_chromium_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1146,7 +1146,7 @@
         },
         "module_name": "//ui/events:events_unittests",
         "module_scheme": "gtest",
-        "name": "events_unittests iPhone 15 26.0",
+        "name": "events_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1165,8 +1165,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1177,14 +1177,14 @@
         },
         "test": "events_unittests",
         "test_id_prefix": "ninja://ui/events:events_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1196,7 +1196,7 @@
         },
         "module_name": "//google_apis/gcm:gcm_unit_tests",
         "module_scheme": "gtest",
-        "name": "gcm_unit_tests iPhone 15 26.0",
+        "name": "gcm_unit_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1215,8 +1215,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1227,7 +1227,7 @@
         },
         "test": "gcm_unit_tests",
         "test_id_prefix": "ninja://google_apis/gcm:gcm_unit_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1236,7 +1236,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1248,7 +1248,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 15 26.0",
+        "name": "gfx_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1267,8 +1267,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1279,14 +1279,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1298,7 +1298,7 @@
         },
         "module_name": "//gin:gin_unittests",
         "module_scheme": "gtest",
-        "name": "gin_unittests iPhone 15 26.0",
+        "name": "gin_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1317,8 +1317,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1329,14 +1329,14 @@
         },
         "test": "gin_unittests",
         "test_id_prefix": "ninja://gin:gin_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1348,7 +1348,7 @@
         },
         "module_name": "//ui/gl:gl_unittests",
         "module_scheme": "gtest",
-        "name": "gl_unittests iPhone 15 26.0",
+        "name": "gl_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1367,8 +1367,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1379,14 +1379,14 @@
         },
         "test": "gl_unittests",
         "test_id_prefix": "ninja://ui/gl:gl_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1398,7 +1398,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 15 26.0",
+        "name": "google_apis_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1417,8 +1417,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1429,7 +1429,7 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1438,7 +1438,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1450,7 +1450,7 @@
         },
         "module_name": "//gpu:gpu_unittests",
         "module_scheme": "gtest",
-        "name": "gpu_unittests iPhone 15 26.0",
+        "name": "gpu_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1469,8 +1469,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1481,14 +1481,14 @@
         },
         "test": "gpu_unittests",
         "test_id_prefix": "ninja://gpu:gpu_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1500,7 +1500,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 15 26.0",
+        "name": "gwp_asan_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1519,8 +1519,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1531,14 +1531,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1550,7 +1550,7 @@
         },
         "module_name": "//ui/latency:latency_unittests",
         "module_scheme": "gtest",
-        "name": "latency_unittests iPhone 15 26.0",
+        "name": "latency_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1569,8 +1569,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1581,14 +1581,14 @@
         },
         "test": "latency_unittests",
         "test_id_prefix": "ninja://ui/latency:latency_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1600,7 +1600,7 @@
         },
         "module_name": "//third_party/leveldatabase:leveldb_unittests",
         "module_scheme": "gtest",
-        "name": "leveldb_unittests iPhone 15 26.0",
+        "name": "leveldb_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1619,8 +1619,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1631,14 +1631,14 @@
         },
         "test": "leveldb_unittests",
         "test_id_prefix": "ninja://third_party/leveldatabase:leveldb_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1650,7 +1650,7 @@
         },
         "module_name": "//third_party/libjingle_xmpp:libjingle_xmpp_unittests",
         "module_scheme": "gtest",
-        "name": "libjingle_xmpp_unittests iPhone 15 26.0",
+        "name": "libjingle_xmpp_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1669,8 +1669,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1681,14 +1681,14 @@
         },
         "test": "libjingle_xmpp_unittests",
         "test_id_prefix": "ninja://third_party/libjingle_xmpp:libjingle_xmpp_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1700,7 +1700,7 @@
         },
         "module_name": "//third_party/liburlpattern:liburlpattern_unittests",
         "module_scheme": "gtest",
-        "name": "liburlpattern_unittests iPhone 15 26.0",
+        "name": "liburlpattern_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1719,8 +1719,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1731,7 +1731,7 @@
         },
         "test": "liburlpattern_unittests",
         "test_id_prefix": "ninja://third_party/liburlpattern:liburlpattern_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1740,7 +1740,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1752,7 +1752,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests iPhone 15 26.0",
+        "name": "media_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1771,8 +1771,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1783,7 +1783,7 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1796,7 +1796,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1808,7 +1808,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests_skia_graphite_dawn iPhone 15 26.0",
+        "name": "media_unittests_skia_graphite_dawn iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1827,8 +1827,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1839,7 +1839,7 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1852,7 +1852,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1864,7 +1864,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests_skia_graphite_metal iPhone 15 26.0",
+        "name": "media_unittests_skia_graphite_metal iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1883,8 +1883,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1895,14 +1895,14 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1914,7 +1914,7 @@
         },
         "module_name": "//media/midi:midi_unittests",
         "module_scheme": "gtest",
-        "name": "midi_unittests iPhone 15 26.0",
+        "name": "midi_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1933,8 +1933,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1945,7 +1945,7 @@
         },
         "test": "midi_unittests",
         "test_id_prefix": "ninja://media/midi:midi_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1954,7 +1954,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1966,7 +1966,7 @@
         },
         "module_name": "//mojo:mojo_unittests",
         "module_scheme": "gtest",
-        "name": "mojo_unittests iPhone 15 26.0",
+        "name": "mojo_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1985,8 +1985,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1997,14 +1997,14 @@
         },
         "test": "mojo_unittests",
         "test_id_prefix": "ninja://mojo:mojo_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2016,7 +2016,7 @@
         },
         "module_name": "//ui/native_theme:native_theme_unittests",
         "module_scheme": "gtest",
-        "name": "native_theme_unittests iPhone 15 26.0",
+        "name": "native_theme_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2035,8 +2035,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2047,14 +2047,14 @@
         },
         "test": "native_theme_unittests",
         "test_id_prefix": "ninja://ui/native_theme:native_theme_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2066,7 +2066,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 15 26.0",
+        "name": "net_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2085,8 +2085,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2097,14 +2097,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2116,7 +2116,7 @@
         },
         "module_name": "//third_party/perfetto:perfetto_unittests",
         "module_scheme": "gtest",
-        "name": "perfetto_unittests iPhone 15 26.0",
+        "name": "perfetto_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2135,8 +2135,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2147,14 +2147,14 @@
         },
         "test": "perfetto_unittests",
         "test_id_prefix": "ninja://third_party/perfetto:perfetto_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2166,7 +2166,7 @@
         },
         "module_name": "//printing:printing_unittests",
         "module_scheme": "gtest",
-        "name": "printing_unittests iPhone 15 26.0",
+        "name": "printing_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2185,8 +2185,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2197,14 +2197,14 @@
         },
         "test": "printing_unittests",
         "test_id_prefix": "ninja://printing:printing_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2216,7 +2216,7 @@
         },
         "module_name": "//sandbox:sandbox_unittests",
         "module_scheme": "gtest",
-        "name": "sandbox_unittests iPhone 15 26.0",
+        "name": "sandbox_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2235,8 +2235,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2247,7 +2247,7 @@
         },
         "test": "sandbox_unittests",
         "test_id_prefix": "ninja://sandbox:sandbox_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2255,7 +2255,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2267,7 +2267,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 15 26.0",
+        "name": "services_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2286,8 +2286,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2298,14 +2298,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2317,7 +2317,7 @@
         },
         "module_name": "//ui/shell_dialogs:shell_dialogs_unittests",
         "module_scheme": "gtest",
-        "name": "shell_dialogs_unittests iPhone 15 26.0",
+        "name": "shell_dialogs_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2336,8 +2336,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2348,14 +2348,14 @@
         },
         "test": "shell_dialogs_unittests",
         "test_id_prefix": "ninja://ui/shell_dialogs:shell_dialogs_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2367,7 +2367,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 15 26.0",
+        "name": "skia_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2386,8 +2386,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2398,14 +2398,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2417,7 +2417,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 15 26.0",
+        "name": "sql_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2436,8 +2436,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2448,14 +2448,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2467,7 +2467,7 @@
         },
         "module_name": "//storage:storage_unittests",
         "module_scheme": "gtest",
-        "name": "storage_unittests iPhone 15 26.0",
+        "name": "storage_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2486,8 +2486,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2498,7 +2498,7 @@
         },
         "test": "storage_unittests",
         "test_id_prefix": "ninja://storage:storage_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2506,7 +2506,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2518,7 +2518,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 15 26.0",
+        "name": "ui_base_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2537,8 +2537,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2549,14 +2549,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2568,7 +2568,7 @@
         },
         "module_name": "//ui/touch_selection:ui_touch_selection_unittests",
         "module_scheme": "gtest",
-        "name": "ui_touch_selection_unittests iPhone 15 26.0",
+        "name": "ui_touch_selection_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2587,8 +2587,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2599,14 +2599,14 @@
         },
         "test": "ui_touch_selection_unittests",
         "test_id_prefix": "ninja://ui/touch_selection:ui_touch_selection_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2618,7 +2618,7 @@
         },
         "module_name": "//ui/tests:ui_unittests",
         "module_scheme": "gtest",
-        "name": "ui_unittests iPhone 15 26.0",
+        "name": "ui_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2637,8 +2637,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2649,14 +2649,14 @@
         },
         "test": "ui_unittests",
         "test_id_prefix": "ninja://ui/tests:ui_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2668,7 +2668,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 15 26.0",
+        "name": "url_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2687,8 +2687,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2699,7 +2699,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2709,7 +2709,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2721,7 +2721,7 @@
         },
         "module_name": "//components/viz:viz_unittests",
         "module_scheme": "gtest",
-        "name": "viz_unittests iPhone 15 26.0",
+        "name": "viz_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2740,8 +2740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2752,14 +2752,14 @@
         },
         "test": "viz_unittests",
         "test_id_prefix": "ninja://components/viz:viz_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2771,7 +2771,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform/wtf:wtf_unittests",
         "module_scheme": "gtest",
-        "name": "wtf_unittests iPhone 15 26.0",
+        "name": "wtf_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2790,8 +2790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2802,14 +2802,14 @@
         },
         "test": "wtf_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform/wtf:wtf_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2821,7 +2821,7 @@
         },
         "module_name": "//third_party/zlib:zlib_unittests",
         "module_scheme": "gtest",
-        "name": "zlib_unittests iPhone 15 26.0",
+        "name": "zlib_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2840,8 +2840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2852,7 +2852,7 @@
         },
         "test": "zlib_unittests",
         "test_id_prefix": "ninja://third_party/zlib:zlib_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/ci/ios-simulator-code-coverage/targets/chromium.coverage.json b/infra/config/generated/builders/ci/ios-simulator-code-coverage/targets/chromium.coverage.json
index d22e29e..ff8e887 100644
--- a/infra/config/generated/builders/ci/ios-simulator-code-coverage/targets/chromium.coverage.json
+++ b/infra/config/generated/builders/ci/ios-simulator-code-coverage/targets/chromium.coverage.json
@@ -3948,7 +3948,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro (12.9-inch) (6th generation) 17.5",
         "resultdb": {
@@ -3980,7 +3980,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro (12.9-inch) (6th generation) 17.5"
       },
       {
@@ -4000,7 +4000,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4032,7 +4032,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4052,7 +4052,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 14 17.5",
         "resultdb": {
@@ -4084,7 +4084,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 14 17.5"
       },
       {
@@ -4104,7 +4104,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -4136,7 +4136,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -4156,7 +4156,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro (12.9-inch) (6th generation) 17.5",
         "resultdb": {
@@ -4188,7 +4188,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro (12.9-inch) (6th generation) 17.5"
       },
       {
@@ -4208,7 +4208,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4240,7 +4240,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4260,7 +4260,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 14 17.5",
         "resultdb": {
@@ -4292,7 +4292,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 14 17.5"
       },
       {
@@ -4312,7 +4312,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -4344,7 +4344,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-simulator-full-configs/targets/chromium.mac.json b/infra/config/generated/builders/ci/ios-simulator-full-configs/targets/chromium.mac.json
index 74983f87..5ec8d74 100644
--- a/infra/config/generated/builders/ci/ios-simulator-full-configs/targets/chromium.mac.json
+++ b/infra/config/generated/builders/ci/ios-simulator-full-configs/targets/chromium.mac.json
@@ -3506,7 +3506,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -3543,7 +3543,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -3562,7 +3562,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -3594,7 +3594,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -3613,7 +3613,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -3650,7 +3650,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3669,7 +3669,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -3701,7 +3701,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -3720,7 +3720,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -3757,7 +3757,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -3776,7 +3776,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -3808,7 +3808,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -3827,7 +3827,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -3864,7 +3864,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3883,7 +3883,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -3915,7 +3915,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-simulator-noncq/targets/chromium.mac.json b/infra/config/generated/builders/ci/ios-simulator-noncq/targets/chromium.mac.json
index a9b60c0b..004c12a3 100644
--- a/infra/config/generated/builders/ci/ios-simulator-noncq/targets/chromium.mac.json
+++ b/infra/config/generated/builders/ci/ios-simulator-noncq/targets/chromium.mac.json
@@ -3900,7 +3900,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3932,7 +3932,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3950,7 +3950,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -3982,7 +3982,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -4000,7 +4000,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4032,7 +4032,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4050,7 +4050,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -4082,7 +4082,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -4100,7 +4100,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 14 Plus 18.2",
         "resultdb": {
@@ -4132,7 +4132,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 14 Plus 18.2"
       },
       {
@@ -4150,7 +4150,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -4182,7 +4182,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -4200,7 +4200,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone SE (3rd generation) 18.2",
         "resultdb": {
@@ -4232,7 +4232,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone SE (3rd generation) 18.2"
       },
       {
@@ -4250,7 +4250,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
         "resultdb": {
@@ -4282,7 +4282,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone SE (3rd generation) 26.0"
       },
       {
@@ -4300,7 +4300,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -4332,7 +4332,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -4350,7 +4350,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -4382,7 +4382,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -4400,7 +4400,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4432,7 +4432,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4450,7 +4450,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -4482,7 +4482,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -4500,7 +4500,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 14 Plus 18.2",
         "resultdb": {
@@ -4532,7 +4532,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 14 Plus 18.2"
       },
       {
@@ -4550,7 +4550,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -4582,7 +4582,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -4600,7 +4600,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone SE (3rd generation) 18.2",
         "resultdb": {
@@ -4632,7 +4632,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone SE (3rd generation) 18.2"
       },
       {
@@ -4650,7 +4650,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
         "resultdb": {
@@ -4682,7 +4682,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone SE (3rd generation) 26.0"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-simulator/targets/chromium.mac.json b/infra/config/generated/builders/ci/ios-simulator/targets/chromium.mac.json
index 0a8954df..4dc272d 100644
--- a/infra/config/generated/builders/ci/ios-simulator/targets/chromium.mac.json
+++ b/infra/config/generated/builders/ci/ios-simulator/targets/chromium.mac.json
@@ -2187,7 +2187,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2224,7 +2224,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2243,7 +2243,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -2280,7 +2280,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2299,7 +2299,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -2331,7 +2331,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -2350,7 +2350,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2387,7 +2387,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2406,7 +2406,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -2443,7 +2443,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2462,7 +2462,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -2494,7 +2494,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
index ec1bb86..eee4bb6 100644
--- a/infra/config/generated/builders/ci/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
@@ -2184,7 +2184,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2221,7 +2221,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2240,7 +2240,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -2277,7 +2277,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2296,7 +2296,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -2328,7 +2328,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -2347,7 +2347,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2384,7 +2384,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2403,7 +2403,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -2440,7 +2440,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2459,7 +2459,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -2491,7 +2491,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios-webkit-tot/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios-webkit-tot/targets/chromium.fyi.json
index f5e37b5..a8f5788 100644
--- a/infra/config/generated/builders/ci/ios-webkit-tot/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios-webkit-tot/targets/chromium.fyi.json
@@ -4886,7 +4886,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -4918,7 +4918,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -4938,7 +4938,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -4970,7 +4970,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -4990,7 +4990,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -5022,7 +5022,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -5042,7 +5042,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -5074,7 +5074,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -5094,7 +5094,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -5126,7 +5126,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -5146,7 +5146,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -5178,7 +5178,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -5198,7 +5198,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -5230,7 +5230,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -5250,7 +5250,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -5282,7 +5282,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios18-beta-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios18-beta-simulator/targets/chromium.fyi.json
index f28ca07..9bd5705 100644
--- a/infra/config/generated/builders/ci/ios18-beta-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios18-beta-simulator/targets/chromium.fyi.json
@@ -2729,7 +2729,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.5",
         "resultdb": {
@@ -2761,7 +2761,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.5"
       },
       {
@@ -2779,7 +2779,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.5",
         "resultdb": {
@@ -2811,7 +2811,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.5"
       },
       {
@@ -2829,7 +2829,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 Pro Max 18.5",
         "resultdb": {
@@ -2861,7 +2861,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 Pro Max 18.5"
       },
       {
@@ -2879,7 +2879,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.5",
         "resultdb": {
@@ -2911,7 +2911,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.5"
       },
       {
@@ -2929,7 +2929,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.5",
         "resultdb": {
@@ -2961,7 +2961,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.5"
       },
       {
@@ -2979,7 +2979,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 Pro Max 18.5",
         "resultdb": {
@@ -3011,7 +3011,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 Pro Max 18.5"
       },
       {
diff --git a/infra/config/generated/builders/ci/ios18-sdk-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios18-sdk-simulator/targets/chromium.fyi.json
index 7f1144d5..8d346771 100644
--- a/infra/config/generated/builders/ci/ios18-sdk-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios18-sdk-simulator/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPad Air (6th generation) 26.0",
+        "name": "absl_hardening_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 16 26.0",
+        "name": "absl_hardening_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -102,14 +102,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -121,7 +121,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPad Air (6th generation) 26.0",
+        "name": "base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -140,8 +140,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -152,14 +152,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -171,7 +171,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 16 26.0",
+        "name": "base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -190,8 +190,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -202,14 +202,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -221,7 +221,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -240,8 +240,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -252,14 +252,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -271,7 +271,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -290,8 +290,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -302,14 +302,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -321,7 +321,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 16 26.0",
+        "name": "boringssl_crypto_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -340,8 +340,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -352,14 +352,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -371,7 +371,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -390,8 +390,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -402,14 +402,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -421,7 +421,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 16 26.0",
+        "name": "boringssl_ssl_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -440,8 +440,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -452,14 +452,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -471,7 +471,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPad Air (6th generation) 26.0",
+        "name": "components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -490,8 +490,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -502,14 +502,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -521,7 +521,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 16 26.0",
+        "name": "components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -540,8 +540,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -552,14 +552,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -571,7 +571,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone SE (3rd generation) 26.0",
+        "name": "components_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -590,8 +590,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -602,14 +602,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -621,7 +621,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPad Air (6th generation) 26.0",
+        "name": "crypto_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -640,8 +640,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -652,14 +652,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -671,7 +671,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 16 26.0",
+        "name": "crypto_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -690,8 +690,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -702,14 +702,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -721,7 +721,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPad Air (6th generation) 26.0",
+        "name": "gfx_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -740,8 +740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -752,14 +752,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -771,7 +771,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 16 26.0",
+        "name": "gfx_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -790,8 +790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -802,14 +802,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -821,7 +821,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone SE (3rd generation) 26.0",
+        "name": "gfx_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -840,8 +840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -852,14 +852,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -871,7 +871,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPad Air (6th generation) 26.0",
+        "name": "google_apis_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -890,8 +890,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -902,14 +902,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -921,7 +921,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 16 26.0",
+        "name": "google_apis_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -940,8 +940,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -952,14 +952,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -971,7 +971,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPad Air (6th generation) 26.0",
+        "name": "gwp_asan_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -990,8 +990,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1002,14 +1002,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1021,7 +1021,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 16 26.0",
+        "name": "gwp_asan_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1040,8 +1040,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1052,14 +1052,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1074,7 +1074,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1093,8 +1093,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1106,14 +1106,14 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1128,7 +1128,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1147,8 +1147,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1160,7 +1160,7 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1169,7 +1169,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1184,7 +1184,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1203,8 +1203,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1216,7 +1216,7 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1225,7 +1225,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1240,7 +1240,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1259,8 +1259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1272,14 +1272,14 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1294,7 +1294,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1313,8 +1313,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1326,14 +1326,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1348,7 +1348,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1367,8 +1367,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1380,14 +1380,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1402,7 +1402,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1421,8 +1421,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1433,14 +1433,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1455,7 +1455,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1474,8 +1474,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1486,14 +1486,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1505,7 +1505,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1524,8 +1524,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1536,14 +1536,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1555,7 +1555,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone 16 26.0",
+        "name": "ios_chrome_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1574,8 +1574,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1586,14 +1586,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1605,7 +1605,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1624,8 +1624,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1636,14 +1636,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1658,7 +1658,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1677,8 +1677,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1690,14 +1690,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1712,7 +1712,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1731,8 +1731,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1744,14 +1744,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1763,7 +1763,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1782,8 +1782,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1794,14 +1794,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1813,7 +1813,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPhone 16 26.0",
+        "name": "ios_components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1832,8 +1832,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1844,14 +1844,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -1864,7 +1864,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.0",
+        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1883,8 +1883,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1895,14 +1895,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -1915,7 +1915,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPhone 16 26.0",
+        "name": "ios_crash_xcuitests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1934,8 +1934,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1946,14 +1946,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1965,7 +1965,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1984,8 +1984,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1997,14 +1997,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2016,7 +2016,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPhone 16 26.0",
+        "name": "ios_net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2035,8 +2035,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2048,14 +2048,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2067,7 +2067,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_testing_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2086,8 +2086,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2098,14 +2098,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2117,7 +2117,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPhone 16 26.0",
+        "name": "ios_testing_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2136,8 +2136,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2148,14 +2148,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2168,7 +2168,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2187,8 +2187,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2199,14 +2199,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2219,7 +2219,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPhone 16 26.0",
+        "name": "ios_web_shell_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2238,8 +2238,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2250,14 +2250,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2269,7 +2269,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2288,8 +2288,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2300,14 +2300,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2319,7 +2319,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone 16 26.0",
+        "name": "ios_web_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2338,8 +2338,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2350,14 +2350,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2369,7 +2369,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2388,8 +2388,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2400,14 +2400,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2417,9 +2417,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2438,8 +2438,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2449,15 +2449,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2467,9 +2467,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone 16 26.0",
+        "name": "ios_web_view_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2488,8 +2488,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2499,15 +2499,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2517,9 +2517,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2538,8 +2538,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2549,15 +2549,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2567,9 +2567,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2588,8 +2588,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2599,15 +2599,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2617,9 +2617,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone 16 26.0",
+        "name": "ios_web_view_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2638,8 +2638,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2649,15 +2649,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2667,9 +2667,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2688,8 +2688,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2699,15 +2699,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2719,7 +2719,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPad Air (6th generation) 26.0",
+        "name": "net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2738,8 +2738,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2750,14 +2750,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2769,7 +2769,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 16 26.0",
+        "name": "net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2788,8 +2788,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2800,14 +2800,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2819,7 +2819,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPad Air (6th generation) 26.0",
+        "name": "services_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2838,8 +2838,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2850,14 +2850,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2869,7 +2869,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 16 26.0",
+        "name": "services_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2888,8 +2888,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2900,14 +2900,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2919,7 +2919,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPad Air (6th generation) 26.0",
+        "name": "skia_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2938,8 +2938,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2950,14 +2950,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2969,7 +2969,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 16 26.0",
+        "name": "skia_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2988,8 +2988,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3000,14 +3000,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3019,7 +3019,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone SE (3rd generation) 26.0",
+        "name": "skia_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3038,8 +3038,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3050,14 +3050,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3069,7 +3069,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPad Air (6th generation) 26.0",
+        "name": "sql_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3088,8 +3088,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3100,14 +3100,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3119,7 +3119,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 16 26.0",
+        "name": "sql_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3138,8 +3138,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3150,14 +3150,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3169,7 +3169,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPad Air (6th generation) 26.0",
+        "name": "ui_base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3188,8 +3188,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3200,14 +3200,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3219,7 +3219,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 16 26.0",
+        "name": "ui_base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3238,8 +3238,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3250,14 +3250,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3269,7 +3269,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ui_base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3288,8 +3288,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3300,14 +3300,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3319,7 +3319,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPad Air (6th generation) 26.0",
+        "name": "url_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3338,8 +3338,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3350,14 +3350,14 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3369,7 +3369,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 16 26.0",
+        "name": "url_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3388,8 +3388,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3400,7 +3400,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/ci/ios26-beta-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios26-beta-simulator/targets/chromium.fyi.json
index 8fde4614b..c2d38ef 100644
--- a/infra/config/generated/builders/ci/ios26-beta-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios26-beta-simulator/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPad Air (6th generation) 26.0",
+        "name": "absl_hardening_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 16 26.0",
+        "name": "absl_hardening_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -102,14 +102,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -121,7 +121,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPad Air (6th generation) 26.0",
+        "name": "base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -140,8 +140,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -152,14 +152,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -171,7 +171,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 16 26.0",
+        "name": "base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -190,8 +190,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -202,14 +202,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -221,7 +221,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -240,8 +240,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -252,14 +252,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -271,7 +271,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -290,8 +290,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -302,14 +302,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -321,7 +321,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 16 26.0",
+        "name": "boringssl_crypto_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -340,8 +340,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -352,14 +352,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -371,7 +371,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -390,8 +390,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -402,14 +402,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -421,7 +421,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 16 26.0",
+        "name": "boringssl_ssl_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -440,8 +440,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -452,14 +452,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -471,7 +471,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPad Air (6th generation) 26.0",
+        "name": "components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -490,8 +490,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -502,14 +502,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -521,7 +521,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 16 26.0",
+        "name": "components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -540,8 +540,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -552,14 +552,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -571,7 +571,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone SE (3rd generation) 26.0",
+        "name": "components_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -590,8 +590,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -602,14 +602,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -621,7 +621,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPad Air (6th generation) 26.0",
+        "name": "crypto_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -640,8 +640,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -652,14 +652,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -671,7 +671,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 16 26.0",
+        "name": "crypto_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -690,8 +690,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -702,14 +702,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -721,7 +721,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPad Air (6th generation) 26.0",
+        "name": "gfx_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -740,8 +740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -752,14 +752,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -771,7 +771,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 16 26.0",
+        "name": "gfx_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -790,8 +790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -802,14 +802,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -821,7 +821,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone SE (3rd generation) 26.0",
+        "name": "gfx_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -840,8 +840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -852,14 +852,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -871,7 +871,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPad Air (6th generation) 26.0",
+        "name": "google_apis_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -890,8 +890,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -902,14 +902,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -921,7 +921,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 16 26.0",
+        "name": "google_apis_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -940,8 +940,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -952,14 +952,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -971,7 +971,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPad Air (6th generation) 26.0",
+        "name": "gwp_asan_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -990,8 +990,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1002,14 +1002,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1021,7 +1021,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 16 26.0",
+        "name": "gwp_asan_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1040,8 +1040,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1052,14 +1052,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1074,7 +1074,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1093,8 +1093,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1106,14 +1106,14 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1128,7 +1128,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1147,8 +1147,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1160,7 +1160,7 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1169,7 +1169,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1184,7 +1184,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1203,8 +1203,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1216,7 +1216,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1225,7 +1225,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1240,7 +1240,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1259,8 +1259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1272,7 +1272,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1281,7 +1281,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1296,7 +1296,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1315,8 +1315,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1328,7 +1328,7 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1337,7 +1337,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1352,7 +1352,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1371,8 +1371,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1384,14 +1384,14 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1406,7 +1406,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1425,8 +1425,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1438,14 +1438,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1460,7 +1460,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1479,8 +1479,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1492,14 +1492,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1514,7 +1514,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1533,8 +1533,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1545,14 +1545,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1567,7 +1567,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1586,8 +1586,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1598,7 +1598,7 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1607,7 +1607,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1622,7 +1622,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1641,8 +1641,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1654,7 +1654,7 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1663,7 +1663,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1678,7 +1678,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1697,8 +1697,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1710,14 +1710,14 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1729,7 +1729,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1748,8 +1748,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1760,14 +1760,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1779,7 +1779,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone 16 26.0",
+        "name": "ios_chrome_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1798,8 +1798,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1810,14 +1810,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1829,7 +1829,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1848,8 +1848,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1860,14 +1860,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1882,7 +1882,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1901,8 +1901,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1914,14 +1914,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1936,7 +1936,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1955,8 +1955,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1968,14 +1968,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1987,7 +1987,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2006,8 +2006,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2018,14 +2018,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2037,7 +2037,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPhone 16 26.0",
+        "name": "ios_components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2056,8 +2056,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2068,14 +2068,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2088,7 +2088,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.0",
+        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2107,8 +2107,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2119,14 +2119,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2139,7 +2139,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPhone 16 26.0",
+        "name": "ios_crash_xcuitests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2158,8 +2158,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2170,14 +2170,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2189,7 +2189,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2208,8 +2208,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2221,14 +2221,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2240,7 +2240,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPhone 16 26.0",
+        "name": "ios_net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2259,8 +2259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2272,14 +2272,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2291,7 +2291,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_testing_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2310,8 +2310,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2322,14 +2322,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2341,7 +2341,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPhone 16 26.0",
+        "name": "ios_testing_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2360,8 +2360,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2372,14 +2372,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2391,7 +2391,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2410,8 +2410,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2422,14 +2422,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2441,7 +2441,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone 16 26.0",
+        "name": "ios_web_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2460,8 +2460,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2472,14 +2472,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2491,7 +2491,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2510,8 +2510,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2522,14 +2522,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -2544,7 +2544,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2563,8 +2563,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2575,14 +2575,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -2597,7 +2597,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPhone 16 26.0",
+        "name": "ios_web_shell_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2616,8 +2616,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2628,14 +2628,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2647,7 +2647,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2666,8 +2666,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2678,14 +2678,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2697,7 +2697,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone 16 26.0",
+        "name": "ios_web_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2716,8 +2716,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2728,14 +2728,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2747,7 +2747,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2766,8 +2766,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2778,14 +2778,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2795,9 +2795,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2816,8 +2816,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2827,15 +2827,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2845,9 +2845,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone 16 26.0",
+        "name": "ios_web_view_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2866,8 +2866,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2877,15 +2877,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2895,9 +2895,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2916,8 +2916,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2927,15 +2927,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2945,9 +2945,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2966,8 +2966,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2977,15 +2977,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2995,9 +2995,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone 16 26.0",
+        "name": "ios_web_view_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3016,8 +3016,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3027,15 +3027,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3045,9 +3045,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3066,8 +3066,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3077,15 +3077,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3097,7 +3097,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPad Air (6th generation) 26.0",
+        "name": "net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3116,8 +3116,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3128,14 +3128,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3147,7 +3147,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 16 26.0",
+        "name": "net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3166,8 +3166,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3178,14 +3178,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3197,7 +3197,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPad Air (6th generation) 26.0",
+        "name": "services_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3216,8 +3216,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3228,14 +3228,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3247,7 +3247,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 16 26.0",
+        "name": "services_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3266,8 +3266,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3278,14 +3278,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3297,7 +3297,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPad Air (6th generation) 26.0",
+        "name": "skia_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3316,8 +3316,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3328,14 +3328,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3347,7 +3347,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 16 26.0",
+        "name": "skia_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3366,8 +3366,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3378,14 +3378,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3397,7 +3397,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone SE (3rd generation) 26.0",
+        "name": "skia_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3416,8 +3416,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3428,14 +3428,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3447,7 +3447,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPad Air (6th generation) 26.0",
+        "name": "sql_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3466,8 +3466,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3478,14 +3478,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3497,7 +3497,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 16 26.0",
+        "name": "sql_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3516,8 +3516,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3528,14 +3528,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3547,7 +3547,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPad Air (6th generation) 26.0",
+        "name": "ui_base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3566,8 +3566,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3578,14 +3578,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3597,7 +3597,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 16 26.0",
+        "name": "ui_base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3616,8 +3616,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3628,14 +3628,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3647,7 +3647,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ui_base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3666,8 +3666,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3678,14 +3678,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3697,7 +3697,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPad Air (6th generation) 26.0",
+        "name": "url_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3716,8 +3716,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3728,14 +3728,14 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3747,7 +3747,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 16 26.0",
+        "name": "url_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3766,8 +3766,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3778,7 +3778,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/ci/ios26-sdk-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/ci/ios26-sdk-simulator/targets/chromium.fyi.json
index ade45bf..662a6eb 100644
--- a/infra/config/generated/builders/ci/ios26-sdk-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/ci/ios26-sdk-simulator/targets/chromium.fyi.json
@@ -11,7 +11,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -24,7 +24,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -43,8 +43,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -56,7 +56,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -65,7 +65,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -78,7 +78,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -97,8 +97,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -110,7 +110,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -119,7 +119,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -132,7 +132,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -151,8 +151,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -164,7 +164,7 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -173,7 +173,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -186,7 +186,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -205,8 +205,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -218,14 +218,14 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -237,7 +237,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -256,8 +256,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -268,14 +268,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -287,7 +287,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone 16 26.0",
+        "name": "ios_web_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -306,8 +306,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -318,14 +318,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -337,7 +337,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -356,8 +356,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -368,7 +368,7 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/try/ios-asan/targets/chromium.memory.json b/infra/config/generated/builders/try/ios-asan/targets/chromium.memory.json
index 66941388..1ba8a20 100644
--- a/infra/config/generated/builders/try/ios-asan/targets/chromium.memory.json
+++ b/infra/config/generated/builders/try/ios-asan/targets/chromium.memory.json
@@ -3201,7 +3201,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3233,7 +3233,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3251,7 +3251,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -3283,7 +3283,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3301,7 +3301,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3333,7 +3333,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3351,7 +3351,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -3383,7 +3383,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-blink-rel-fyi/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios-blink-rel-fyi/targets/chromium.fyi.json
index 2298f058..c5fee14 100644
--- a/infra/config/generated/builders/try/ios-blink-rel-fyi/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios-blink-rel-fyi/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 15 26.0",
+        "name": "absl_hardening_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/angle/src/tests:angle_unittests",
         "module_scheme": "gtest",
-        "name": "angle_unittests iPhone 15 26.0",
+        "name": "angle_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -103,7 +103,7 @@
         "test": "angle_unittests",
         "test_id_prefix": "ninja://third_party/angle/src/tests:angle_unittests/",
         "use_isolated_scripts_api": true,
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -112,7 +112,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -124,7 +124,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 15 26.0",
+        "name": "base_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -143,8 +143,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -155,14 +155,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -174,7 +174,7 @@
         },
         "module_name": "//third_party/blink/common:blink_common_unittests",
         "module_scheme": "gtest",
-        "name": "blink_common_unittests iPhone 15 26.0",
+        "name": "blink_common_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -193,8 +193,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -205,14 +205,14 @@
         },
         "test": "blink_common_unittests",
         "test_id_prefix": "ninja://third_party/blink/common:blink_common_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -224,7 +224,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform:blink_fuzzer_unittests",
         "module_scheme": "gtest",
-        "name": "blink_fuzzer_unittests iPhone 15 26.0",
+        "name": "blink_fuzzer_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -243,8 +243,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -255,14 +255,14 @@
         },
         "test": "blink_fuzzer_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_fuzzer_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -274,7 +274,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform/heap:blink_heap_unittests",
         "module_scheme": "gtest",
-        "name": "blink_heap_unittests iPhone 15 26.0",
+        "name": "blink_heap_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -293,8 +293,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -305,7 +305,7 @@
         },
         "test": "blink_heap_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform/heap:blink_heap_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -315,7 +315,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -327,7 +327,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform:blink_platform_unittests",
         "module_scheme": "gtest",
-        "name": "blink_platform_unittests iPhone 15 26.0",
+        "name": "blink_platform_unittests iPhone 15 26.1",
         "precommit_args": [
           "--gerrit-issue=${patch_issue}",
           "--gerrit-patchset=${patch_set}",
@@ -351,8 +351,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -363,14 +363,14 @@
         },
         "test": "blink_platform_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform:blink_platform_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -382,7 +382,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 15 26.0",
+        "name": "boringssl_crypto_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -401,8 +401,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -413,14 +413,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -432,7 +432,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 15 26.0",
+        "name": "boringssl_ssl_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -451,8 +451,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -463,14 +463,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -482,7 +482,7 @@
         },
         "module_name": "//media/capture:capture_unittests",
         "module_scheme": "gtest",
-        "name": "capture_unittests iPhone 15 26.0",
+        "name": "capture_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -501,8 +501,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -513,14 +513,14 @@
         },
         "test": "capture_unittests",
         "test_id_prefix": "ninja://media/capture:capture_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -532,7 +532,7 @@
         },
         "module_name": "//media/cast:cast_unittests",
         "module_scheme": "gtest",
-        "name": "cast_unittests iPhone 15 26.0",
+        "name": "cast_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -551,8 +551,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -563,7 +563,7 @@
         },
         "test": "cast_unittests",
         "test_id_prefix": "ninja://media/cast:cast_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -573,7 +573,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -585,7 +585,7 @@
         },
         "module_name": "//cc:cc_unittests",
         "module_scheme": "gtest",
-        "name": "cc_unittests iPhone 15 26.0",
+        "name": "cc_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -604,8 +604,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -616,7 +616,7 @@
         },
         "test": "cc_unittests",
         "test_id_prefix": "ninja://cc:cc_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -625,7 +625,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -637,7 +637,7 @@
         },
         "module_name": "//components:components_browsertests",
         "module_scheme": "gtest",
-        "name": "components_browsertests iPhone 15 26.0",
+        "name": "components_browsertests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -656,8 +656,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -668,7 +668,7 @@
         },
         "test": "components_browsertests",
         "test_id_prefix": "ninja://components:components_browsertests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -677,7 +677,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -689,7 +689,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 15 26.0",
+        "name": "components_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -708,8 +708,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -720,7 +720,7 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -729,7 +729,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -741,7 +741,7 @@
         },
         "module_name": "//ui/compositor:compositor_unittests",
         "module_scheme": "gtest",
-        "name": "compositor_unittests iPhone 15 26.0",
+        "name": "compositor_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -760,8 +760,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -772,7 +772,7 @@
         },
         "test": "compositor_unittests",
         "test_id_prefix": "ninja://ui/compositor:compositor_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -781,7 +781,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -793,7 +793,7 @@
         },
         "module_name": "//content/test:content_browsertests",
         "module_scheme": "gtest",
-        "name": "content_browsertests iPhone 15 26.0",
+        "name": "content_browsertests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -812,8 +812,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -825,7 +825,7 @@
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -834,7 +834,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -846,7 +846,7 @@
         },
         "module_name": "//content/test:content_unittests",
         "module_scheme": "gtest",
-        "name": "content_unittests iPhone 15 26.0",
+        "name": "content_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -865,8 +865,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -877,14 +877,14 @@
         },
         "test": "content_unittests",
         "test_id_prefix": "ninja://content/test:content_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -896,7 +896,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad:crashpad_tests",
         "module_scheme": "gtest",
-        "name": "crashpad_tests iPhone 15 26.0",
+        "name": "crashpad_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -915,8 +915,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -927,14 +927,14 @@
         },
         "test": "crashpad_tests",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad:crashpad_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -946,7 +946,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 15 26.0",
+        "name": "crypto_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -965,8 +965,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -977,14 +977,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -996,7 +996,7 @@
         },
         "module_name": "//device:device_unittests",
         "module_scheme": "gtest",
-        "name": "device_unittests iPhone 15 26.0",
+        "name": "device_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1015,8 +1015,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1027,14 +1027,14 @@
         },
         "test": "device_unittests",
         "test_id_prefix": "ninja://device:device_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1046,7 +1046,7 @@
         },
         "module_name": "//ui/display:display_unittests",
         "module_scheme": "gtest",
-        "name": "display_unittests iPhone 15 26.0",
+        "name": "display_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1065,8 +1065,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1077,14 +1077,14 @@
         },
         "test": "display_unittests",
         "test_id_prefix": "ninja://ui/display:display_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1096,7 +1096,7 @@
         },
         "module_name": "//third_party/leveldatabase:env_chromium_unittests",
         "module_scheme": "gtest",
-        "name": "env_chromium_unittests iPhone 15 26.0",
+        "name": "env_chromium_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1115,8 +1115,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1127,14 +1127,14 @@
         },
         "test": "env_chromium_unittests",
         "test_id_prefix": "ninja://third_party/leveldatabase:env_chromium_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1146,7 +1146,7 @@
         },
         "module_name": "//ui/events:events_unittests",
         "module_scheme": "gtest",
-        "name": "events_unittests iPhone 15 26.0",
+        "name": "events_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1165,8 +1165,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1177,14 +1177,14 @@
         },
         "test": "events_unittests",
         "test_id_prefix": "ninja://ui/events:events_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1196,7 +1196,7 @@
         },
         "module_name": "//google_apis/gcm:gcm_unit_tests",
         "module_scheme": "gtest",
-        "name": "gcm_unit_tests iPhone 15 26.0",
+        "name": "gcm_unit_tests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1215,8 +1215,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1227,7 +1227,7 @@
         },
         "test": "gcm_unit_tests",
         "test_id_prefix": "ninja://google_apis/gcm:gcm_unit_tests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1236,7 +1236,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1248,7 +1248,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 15 26.0",
+        "name": "gfx_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1267,8 +1267,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1279,14 +1279,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1298,7 +1298,7 @@
         },
         "module_name": "//gin:gin_unittests",
         "module_scheme": "gtest",
-        "name": "gin_unittests iPhone 15 26.0",
+        "name": "gin_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1317,8 +1317,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1329,14 +1329,14 @@
         },
         "test": "gin_unittests",
         "test_id_prefix": "ninja://gin:gin_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1348,7 +1348,7 @@
         },
         "module_name": "//ui/gl:gl_unittests",
         "module_scheme": "gtest",
-        "name": "gl_unittests iPhone 15 26.0",
+        "name": "gl_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1367,8 +1367,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1379,14 +1379,14 @@
         },
         "test": "gl_unittests",
         "test_id_prefix": "ninja://ui/gl:gl_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1398,7 +1398,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 15 26.0",
+        "name": "google_apis_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1417,8 +1417,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1429,7 +1429,7 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1438,7 +1438,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1450,7 +1450,7 @@
         },
         "module_name": "//gpu:gpu_unittests",
         "module_scheme": "gtest",
-        "name": "gpu_unittests iPhone 15 26.0",
+        "name": "gpu_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1469,8 +1469,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1481,14 +1481,14 @@
         },
         "test": "gpu_unittests",
         "test_id_prefix": "ninja://gpu:gpu_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1500,7 +1500,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 15 26.0",
+        "name": "gwp_asan_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1519,8 +1519,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1531,14 +1531,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1550,7 +1550,7 @@
         },
         "module_name": "//ui/latency:latency_unittests",
         "module_scheme": "gtest",
-        "name": "latency_unittests iPhone 15 26.0",
+        "name": "latency_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1569,8 +1569,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1581,14 +1581,14 @@
         },
         "test": "latency_unittests",
         "test_id_prefix": "ninja://ui/latency:latency_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1600,7 +1600,7 @@
         },
         "module_name": "//third_party/leveldatabase:leveldb_unittests",
         "module_scheme": "gtest",
-        "name": "leveldb_unittests iPhone 15 26.0",
+        "name": "leveldb_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1619,8 +1619,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1631,14 +1631,14 @@
         },
         "test": "leveldb_unittests",
         "test_id_prefix": "ninja://third_party/leveldatabase:leveldb_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1650,7 +1650,7 @@
         },
         "module_name": "//third_party/libjingle_xmpp:libjingle_xmpp_unittests",
         "module_scheme": "gtest",
-        "name": "libjingle_xmpp_unittests iPhone 15 26.0",
+        "name": "libjingle_xmpp_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1669,8 +1669,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1681,14 +1681,14 @@
         },
         "test": "libjingle_xmpp_unittests",
         "test_id_prefix": "ninja://third_party/libjingle_xmpp:libjingle_xmpp_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1700,7 +1700,7 @@
         },
         "module_name": "//third_party/liburlpattern:liburlpattern_unittests",
         "module_scheme": "gtest",
-        "name": "liburlpattern_unittests iPhone 15 26.0",
+        "name": "liburlpattern_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1719,8 +1719,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1731,7 +1731,7 @@
         },
         "test": "liburlpattern_unittests",
         "test_id_prefix": "ninja://third_party/liburlpattern:liburlpattern_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1740,7 +1740,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1752,7 +1752,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests iPhone 15 26.0",
+        "name": "media_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1771,8 +1771,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1783,7 +1783,7 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1796,7 +1796,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1808,7 +1808,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests_skia_graphite_dawn iPhone 15 26.0",
+        "name": "media_unittests_skia_graphite_dawn iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1827,8 +1827,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1839,7 +1839,7 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1852,7 +1852,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1864,7 +1864,7 @@
         },
         "module_name": "//media:media_unittests",
         "module_scheme": "gtest",
-        "name": "media_unittests_skia_graphite_metal iPhone 15 26.0",
+        "name": "media_unittests_skia_graphite_metal iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1883,8 +1883,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1895,14 +1895,14 @@
         },
         "test": "media_unittests",
         "test_id_prefix": "ninja://media:media_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1914,7 +1914,7 @@
         },
         "module_name": "//media/midi:midi_unittests",
         "module_scheme": "gtest",
-        "name": "midi_unittests iPhone 15 26.0",
+        "name": "midi_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1933,8 +1933,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1945,7 +1945,7 @@
         },
         "test": "midi_unittests",
         "test_id_prefix": "ninja://media/midi:midi_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -1954,7 +1954,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1966,7 +1966,7 @@
         },
         "module_name": "//mojo:mojo_unittests",
         "module_scheme": "gtest",
-        "name": "mojo_unittests iPhone 15 26.0",
+        "name": "mojo_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1985,8 +1985,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1997,14 +1997,14 @@
         },
         "test": "mojo_unittests",
         "test_id_prefix": "ninja://mojo:mojo_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2016,7 +2016,7 @@
         },
         "module_name": "//ui/native_theme:native_theme_unittests",
         "module_scheme": "gtest",
-        "name": "native_theme_unittests iPhone 15 26.0",
+        "name": "native_theme_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2035,8 +2035,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2047,14 +2047,14 @@
         },
         "test": "native_theme_unittests",
         "test_id_prefix": "ninja://ui/native_theme:native_theme_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2066,7 +2066,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 15 26.0",
+        "name": "net_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2085,8 +2085,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2097,14 +2097,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2116,7 +2116,7 @@
         },
         "module_name": "//third_party/perfetto:perfetto_unittests",
         "module_scheme": "gtest",
-        "name": "perfetto_unittests iPhone 15 26.0",
+        "name": "perfetto_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2135,8 +2135,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2147,14 +2147,14 @@
         },
         "test": "perfetto_unittests",
         "test_id_prefix": "ninja://third_party/perfetto:perfetto_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2166,7 +2166,7 @@
         },
         "module_name": "//printing:printing_unittests",
         "module_scheme": "gtest",
-        "name": "printing_unittests iPhone 15 26.0",
+        "name": "printing_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2185,8 +2185,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2197,14 +2197,14 @@
         },
         "test": "printing_unittests",
         "test_id_prefix": "ninja://printing:printing_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2216,7 +2216,7 @@
         },
         "module_name": "//sandbox:sandbox_unittests",
         "module_scheme": "gtest",
-        "name": "sandbox_unittests iPhone 15 26.0",
+        "name": "sandbox_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2235,8 +2235,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2247,7 +2247,7 @@
         },
         "test": "sandbox_unittests",
         "test_id_prefix": "ninja://sandbox:sandbox_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2255,7 +2255,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2267,7 +2267,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 15 26.0",
+        "name": "services_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2286,8 +2286,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2298,14 +2298,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2317,7 +2317,7 @@
         },
         "module_name": "//ui/shell_dialogs:shell_dialogs_unittests",
         "module_scheme": "gtest",
-        "name": "shell_dialogs_unittests iPhone 15 26.0",
+        "name": "shell_dialogs_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2336,8 +2336,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2348,14 +2348,14 @@
         },
         "test": "shell_dialogs_unittests",
         "test_id_prefix": "ninja://ui/shell_dialogs:shell_dialogs_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2367,7 +2367,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 15 26.0",
+        "name": "skia_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2386,8 +2386,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2398,14 +2398,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2417,7 +2417,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 15 26.0",
+        "name": "sql_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2436,8 +2436,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2448,14 +2448,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2467,7 +2467,7 @@
         },
         "module_name": "//storage:storage_unittests",
         "module_scheme": "gtest",
-        "name": "storage_unittests iPhone 15 26.0",
+        "name": "storage_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2486,8 +2486,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2498,7 +2498,7 @@
         },
         "test": "storage_unittests",
         "test_id_prefix": "ninja://storage:storage_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2506,7 +2506,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2518,7 +2518,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 15 26.0",
+        "name": "ui_base_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2537,8 +2537,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2549,14 +2549,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2568,7 +2568,7 @@
         },
         "module_name": "//ui/touch_selection:ui_touch_selection_unittests",
         "module_scheme": "gtest",
-        "name": "ui_touch_selection_unittests iPhone 15 26.0",
+        "name": "ui_touch_selection_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2587,8 +2587,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2599,14 +2599,14 @@
         },
         "test": "ui_touch_selection_unittests",
         "test_id_prefix": "ninja://ui/touch_selection:ui_touch_selection_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2618,7 +2618,7 @@
         },
         "module_name": "//ui/tests:ui_unittests",
         "module_scheme": "gtest",
-        "name": "ui_unittests iPhone 15 26.0",
+        "name": "ui_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2637,8 +2637,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2649,14 +2649,14 @@
         },
         "test": "ui_unittests",
         "test_id_prefix": "ninja://ui/tests:ui_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2668,7 +2668,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 15 26.0",
+        "name": "url_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2687,8 +2687,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2699,7 +2699,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
@@ -2709,7 +2709,7 @@
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2721,7 +2721,7 @@
         },
         "module_name": "//components/viz:viz_unittests",
         "module_scheme": "gtest",
-        "name": "viz_unittests iPhone 15 26.0",
+        "name": "viz_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2740,8 +2740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2752,14 +2752,14 @@
         },
         "test": "viz_unittests",
         "test_id_prefix": "ninja://components/viz:viz_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2771,7 +2771,7 @@
         },
         "module_name": "//third_party/blink/renderer/platform/wtf:wtf_unittests",
         "module_scheme": "gtest",
-        "name": "wtf_unittests iPhone 15 26.0",
+        "name": "wtf_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2790,8 +2790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2802,14 +2802,14 @@
         },
         "test": "wtf_unittests",
         "test_id_prefix": "ninja://third_party/blink/renderer/platform/wtf:wtf_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 15",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2821,7 +2821,7 @@
         },
         "module_name": "//third_party/zlib:zlib_unittests",
         "module_scheme": "gtest",
-        "name": "zlib_unittests iPhone 15 26.0",
+        "name": "zlib_unittests iPhone 15 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2840,8 +2840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2852,7 +2852,7 @@
         },
         "test": "zlib_unittests",
         "test_id_prefix": "ninja://third_party/zlib:zlib_unittests/",
-        "variant_id": "iPhone 15 26.0"
+        "variant_id": "iPhone 15 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/try/ios-simulator-code-coverage/targets/chromium.coverage.json b/infra/config/generated/builders/try/ios-simulator-code-coverage/targets/chromium.coverage.json
index d22e29e..ff8e887 100644
--- a/infra/config/generated/builders/try/ios-simulator-code-coverage/targets/chromium.coverage.json
+++ b/infra/config/generated/builders/try/ios-simulator-code-coverage/targets/chromium.coverage.json
@@ -3948,7 +3948,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro (12.9-inch) (6th generation) 17.5",
         "resultdb": {
@@ -3980,7 +3980,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro (12.9-inch) (6th generation) 17.5"
       },
       {
@@ -4000,7 +4000,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4032,7 +4032,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4052,7 +4052,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 14 17.5",
         "resultdb": {
@@ -4084,7 +4084,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 14 17.5"
       },
       {
@@ -4104,7 +4104,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -4136,7 +4136,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -4156,7 +4156,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro (12.9-inch) (6th generation) 17.5",
         "resultdb": {
@@ -4188,7 +4188,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro (12.9-inch) (6th generation) 17.5"
       },
       {
@@ -4208,7 +4208,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4240,7 +4240,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4260,7 +4260,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 14 17.5",
         "resultdb": {
@@ -4292,7 +4292,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 14 17.5"
       },
       {
@@ -4312,7 +4312,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -4344,7 +4344,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-simulator-exp/targets/chromium.mac.json b/infra/config/generated/builders/try/ios-simulator-exp/targets/chromium.mac.json
index 0a8954df..4dc272d 100644
--- a/infra/config/generated/builders/try/ios-simulator-exp/targets/chromium.mac.json
+++ b/infra/config/generated/builders/try/ios-simulator-exp/targets/chromium.mac.json
@@ -2187,7 +2187,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2224,7 +2224,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2243,7 +2243,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -2280,7 +2280,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2299,7 +2299,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -2331,7 +2331,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -2350,7 +2350,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2387,7 +2387,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2406,7 +2406,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -2443,7 +2443,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2462,7 +2462,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -2494,7 +2494,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-simulator-full-configs/targets/chromium.mac.json b/infra/config/generated/builders/try/ios-simulator-full-configs/targets/chromium.mac.json
index 74983f87..5ec8d74 100644
--- a/infra/config/generated/builders/try/ios-simulator-full-configs/targets/chromium.mac.json
+++ b/infra/config/generated/builders/try/ios-simulator-full-configs/targets/chromium.mac.json
@@ -3506,7 +3506,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -3543,7 +3543,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -3562,7 +3562,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -3594,7 +3594,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -3613,7 +3613,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -3650,7 +3650,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3669,7 +3669,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -3701,7 +3701,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -3720,7 +3720,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -3757,7 +3757,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -3776,7 +3776,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -3808,7 +3808,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -3827,7 +3827,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -3864,7 +3864,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -3883,7 +3883,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -3915,7 +3915,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-simulator-noncq/targets/chromium.mac.json b/infra/config/generated/builders/try/ios-simulator-noncq/targets/chromium.mac.json
index a9b60c0b..004c12a3 100644
--- a/infra/config/generated/builders/try/ios-simulator-noncq/targets/chromium.mac.json
+++ b/infra/config/generated/builders/try/ios-simulator-noncq/targets/chromium.mac.json
@@ -3900,7 +3900,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -3932,7 +3932,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -3950,7 +3950,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -3982,7 +3982,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -4000,7 +4000,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4032,7 +4032,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4050,7 +4050,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -4082,7 +4082,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -4100,7 +4100,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 14 Plus 18.2",
         "resultdb": {
@@ -4132,7 +4132,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 14 Plus 18.2"
       },
       {
@@ -4150,7 +4150,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -4182,7 +4182,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -4200,7 +4200,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone SE (3rd generation) 18.2",
         "resultdb": {
@@ -4232,7 +4232,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone SE (3rd generation) 18.2"
       },
       {
@@ -4250,7 +4250,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
         "resultdb": {
@@ -4282,7 +4282,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone SE (3rd generation) 26.0"
       },
       {
@@ -4300,7 +4300,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.2",
         "resultdb": {
@@ -4332,7 +4332,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.2"
       },
       {
@@ -4350,7 +4350,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
         "resultdb": {
@@ -4382,7 +4382,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 26.0"
       },
       {
@@ -4400,7 +4400,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -4432,7 +4432,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -4450,7 +4450,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 26.0",
         "resultdb": {
@@ -4482,7 +4482,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 26.0"
       },
       {
@@ -4500,7 +4500,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 14 Plus 18.2",
         "resultdb": {
@@ -4532,7 +4532,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 14 Plus 18.2"
       },
       {
@@ -4550,7 +4550,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -4582,7 +4582,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -4600,7 +4600,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone SE (3rd generation) 18.2",
         "resultdb": {
@@ -4632,7 +4632,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone SE (3rd generation) 18.2"
       },
       {
@@ -4650,7 +4650,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
         "resultdb": {
@@ -4682,7 +4682,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone SE (3rd generation) 26.0"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-simulator/targets/chromium.mac.json b/infra/config/generated/builders/try/ios-simulator/targets/chromium.mac.json
index 0a8954df..4dc272d 100644
--- a/infra/config/generated/builders/try/ios-simulator/targets/chromium.mac.json
+++ b/infra/config/generated/builders/try/ios-simulator/targets/chromium.mac.json
@@ -2187,7 +2187,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2224,7 +2224,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2243,7 +2243,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -2280,7 +2280,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2299,7 +2299,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -2331,7 +2331,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -2350,7 +2350,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2387,7 +2387,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2406,7 +2406,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -2443,7 +2443,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2462,7 +2462,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -2494,7 +2494,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/try/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
index ec1bb86..eee4bb6 100644
--- a/infra/config/generated/builders/try/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios-structured-test-ids-simulator-fyi/targets/chromium.fyi.json
@@ -2184,7 +2184,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2221,7 +2221,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2240,7 +2240,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.2",
         "resultdb": {
@@ -2277,7 +2277,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2296,7 +2296,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 16 26.0",
         "resultdb": {
@@ -2328,7 +2328,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
@@ -2347,7 +2347,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Pro 13-inch (M4) 18.2",
         "resultdb": {
@@ -2384,7 +2384,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Pro 13-inch (M4) 18.2"
       },
       {
@@ -2403,7 +2403,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.2",
         "resultdb": {
@@ -2440,7 +2440,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.2"
       },
       {
@@ -2459,7 +2459,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 16 26.0",
         "resultdb": {
@@ -2491,7 +2491,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 16 26.0"
       },
       {
diff --git a/infra/config/generated/builders/try/ios18-beta-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios18-beta-simulator/targets/chromium.fyi.json
index f28ca07..9bd5705 100644
--- a/infra/config/generated/builders/try/ios18-beta-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios18-beta-simulator/targets/chromium.fyi.json
@@ -2729,7 +2729,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPad Air (6th generation) 18.5",
         "resultdb": {
@@ -2761,7 +2761,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPad Air (6th generation) 18.5"
       },
       {
@@ -2779,7 +2779,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 18.5",
         "resultdb": {
@@ -2811,7 +2811,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 18.5"
       },
       {
@@ -2829,7 +2829,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
         "name": "ios_web_view_inttests iPhone 15 Pro Max 18.5",
         "resultdb": {
@@ -2861,7 +2861,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
         "variant_id": "iPhone 15 Pro Max 18.5"
       },
       {
@@ -2879,7 +2879,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPad Air (6th generation) 18.5",
         "resultdb": {
@@ -2911,7 +2911,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPad Air (6th generation) 18.5"
       },
       {
@@ -2929,7 +2929,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 18.5",
         "resultdb": {
@@ -2961,7 +2961,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 18.5"
       },
       {
@@ -2979,7 +2979,7 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
         "name": "ios_web_view_unittests iPhone 15 Pro Max 18.5",
         "resultdb": {
@@ -3011,7 +3011,7 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
         "variant_id": "iPhone 15 Pro Max 18.5"
       },
       {
diff --git a/infra/config/generated/builders/try/ios18-sdk-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios18-sdk-simulator/targets/chromium.fyi.json
index 7f1144d5..8d346771 100644
--- a/infra/config/generated/builders/try/ios18-sdk-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios18-sdk-simulator/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPad Air (6th generation) 26.0",
+        "name": "absl_hardening_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 16 26.0",
+        "name": "absl_hardening_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -102,14 +102,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -121,7 +121,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPad Air (6th generation) 26.0",
+        "name": "base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -140,8 +140,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -152,14 +152,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -171,7 +171,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 16 26.0",
+        "name": "base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -190,8 +190,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -202,14 +202,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -221,7 +221,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -240,8 +240,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -252,14 +252,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -271,7 +271,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -290,8 +290,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -302,14 +302,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -321,7 +321,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 16 26.0",
+        "name": "boringssl_crypto_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -340,8 +340,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -352,14 +352,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -371,7 +371,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -390,8 +390,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -402,14 +402,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -421,7 +421,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 16 26.0",
+        "name": "boringssl_ssl_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -440,8 +440,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -452,14 +452,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -471,7 +471,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPad Air (6th generation) 26.0",
+        "name": "components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -490,8 +490,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -502,14 +502,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -521,7 +521,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 16 26.0",
+        "name": "components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -540,8 +540,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -552,14 +552,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -571,7 +571,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone SE (3rd generation) 26.0",
+        "name": "components_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -590,8 +590,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -602,14 +602,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -621,7 +621,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPad Air (6th generation) 26.0",
+        "name": "crypto_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -640,8 +640,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -652,14 +652,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -671,7 +671,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 16 26.0",
+        "name": "crypto_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -690,8 +690,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -702,14 +702,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -721,7 +721,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPad Air (6th generation) 26.0",
+        "name": "gfx_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -740,8 +740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -752,14 +752,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -771,7 +771,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 16 26.0",
+        "name": "gfx_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -790,8 +790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -802,14 +802,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -821,7 +821,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone SE (3rd generation) 26.0",
+        "name": "gfx_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -840,8 +840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -852,14 +852,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -871,7 +871,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPad Air (6th generation) 26.0",
+        "name": "google_apis_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -890,8 +890,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -902,14 +902,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -921,7 +921,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 16 26.0",
+        "name": "google_apis_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -940,8 +940,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -952,14 +952,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -971,7 +971,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPad Air (6th generation) 26.0",
+        "name": "gwp_asan_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -990,8 +990,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1002,14 +1002,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1021,7 +1021,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 16 26.0",
+        "name": "gwp_asan_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1040,8 +1040,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1052,14 +1052,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1074,7 +1074,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1093,8 +1093,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1106,14 +1106,14 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1128,7 +1128,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1147,8 +1147,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1160,7 +1160,7 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1169,7 +1169,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1184,7 +1184,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1203,8 +1203,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1216,7 +1216,7 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1225,7 +1225,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1240,7 +1240,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1259,8 +1259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1272,14 +1272,14 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1294,7 +1294,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1313,8 +1313,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1326,14 +1326,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1348,7 +1348,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1367,8 +1367,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1380,14 +1380,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1402,7 +1402,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1421,8 +1421,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1433,14 +1433,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1455,7 +1455,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1474,8 +1474,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1486,14 +1486,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1505,7 +1505,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1524,8 +1524,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1536,14 +1536,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1555,7 +1555,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone 16 26.0",
+        "name": "ios_chrome_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1574,8 +1574,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1586,14 +1586,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1605,7 +1605,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1624,8 +1624,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1636,14 +1636,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1658,7 +1658,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1677,8 +1677,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1690,14 +1690,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1712,7 +1712,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1731,8 +1731,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1744,14 +1744,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1763,7 +1763,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1782,8 +1782,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1794,14 +1794,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1813,7 +1813,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPhone 16 26.0",
+        "name": "ios_components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1832,8 +1832,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1844,14 +1844,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -1864,7 +1864,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.0",
+        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1883,8 +1883,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1895,14 +1895,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -1915,7 +1915,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPhone 16 26.0",
+        "name": "ios_crash_xcuitests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1934,8 +1934,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1946,14 +1946,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1965,7 +1965,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1984,8 +1984,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1997,14 +1997,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2016,7 +2016,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPhone 16 26.0",
+        "name": "ios_net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2035,8 +2035,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2048,14 +2048,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2067,7 +2067,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_testing_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2086,8 +2086,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2098,14 +2098,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2117,7 +2117,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPhone 16 26.0",
+        "name": "ios_testing_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2136,8 +2136,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2148,14 +2148,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2168,7 +2168,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2187,8 +2187,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2199,14 +2199,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2219,7 +2219,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPhone 16 26.0",
+        "name": "ios_web_shell_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2238,8 +2238,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2250,14 +2250,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2269,7 +2269,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2288,8 +2288,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2300,14 +2300,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2319,7 +2319,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone 16 26.0",
+        "name": "ios_web_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2338,8 +2338,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2350,14 +2350,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2369,7 +2369,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2388,8 +2388,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2400,14 +2400,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2417,9 +2417,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2438,8 +2438,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2449,15 +2449,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2467,9 +2467,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone 16 26.0",
+        "name": "ios_web_view_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2488,8 +2488,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2499,15 +2499,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2517,9 +2517,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2538,8 +2538,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2549,15 +2549,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2567,9 +2567,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2588,8 +2588,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2599,15 +2599,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2617,9 +2617,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone 16 26.0",
+        "name": "ios_web_view_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2638,8 +2638,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2649,15 +2649,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2667,9 +2667,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2688,8 +2688,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2699,15 +2699,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2719,7 +2719,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPad Air (6th generation) 26.0",
+        "name": "net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2738,8 +2738,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2750,14 +2750,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2769,7 +2769,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 16 26.0",
+        "name": "net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2788,8 +2788,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2800,14 +2800,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2819,7 +2819,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPad Air (6th generation) 26.0",
+        "name": "services_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2838,8 +2838,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2850,14 +2850,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2869,7 +2869,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 16 26.0",
+        "name": "services_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2888,8 +2888,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2900,14 +2900,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2919,7 +2919,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPad Air (6th generation) 26.0",
+        "name": "skia_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2938,8 +2938,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2950,14 +2950,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2969,7 +2969,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 16 26.0",
+        "name": "skia_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2988,8 +2988,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3000,14 +3000,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3019,7 +3019,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone SE (3rd generation) 26.0",
+        "name": "skia_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3038,8 +3038,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3050,14 +3050,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3069,7 +3069,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPad Air (6th generation) 26.0",
+        "name": "sql_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3088,8 +3088,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3100,14 +3100,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3119,7 +3119,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 16 26.0",
+        "name": "sql_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3138,8 +3138,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3150,14 +3150,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3169,7 +3169,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPad Air (6th generation) 26.0",
+        "name": "ui_base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3188,8 +3188,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3200,14 +3200,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3219,7 +3219,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 16 26.0",
+        "name": "ui_base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3238,8 +3238,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3250,14 +3250,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3269,7 +3269,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ui_base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3288,8 +3288,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3300,14 +3300,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3319,7 +3319,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPad Air (6th generation) 26.0",
+        "name": "url_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3338,8 +3338,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3350,14 +3350,14 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3369,7 +3369,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 16 26.0",
+        "name": "url_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3388,8 +3388,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3400,7 +3400,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/try/ios26-beta-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios26-beta-simulator/targets/chromium.fyi.json
index 8fde4614b..c2d38ef 100644
--- a/infra/config/generated/builders/try/ios26-beta-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios26-beta-simulator/targets/chromium.fyi.json
@@ -9,7 +9,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -21,7 +21,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPad Air (6th generation) 26.0",
+        "name": "absl_hardening_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -40,8 +40,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -52,14 +52,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -71,7 +71,7 @@
         },
         "module_name": "//third_party/abseil-cpp:absl_hardening_tests",
         "module_scheme": "gtest",
-        "name": "absl_hardening_tests iPhone 16 26.0",
+        "name": "absl_hardening_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -90,8 +90,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -102,14 +102,14 @@
         },
         "test": "absl_hardening_tests",
         "test_id_prefix": "ninja://third_party/abseil-cpp:absl_hardening_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -121,7 +121,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPad Air (6th generation) 26.0",
+        "name": "base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -140,8 +140,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -152,14 +152,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -171,7 +171,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone 16 26.0",
+        "name": "base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -190,8 +190,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -202,14 +202,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -221,7 +221,7 @@
         },
         "module_name": "//base:base_unittests",
         "module_scheme": "gtest",
-        "name": "base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -240,8 +240,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -252,14 +252,14 @@
         },
         "test": "base_unittests",
         "test_id_prefix": "ninja://base:base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -271,7 +271,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_crypto_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -290,8 +290,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -302,14 +302,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -321,7 +321,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_crypto_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_crypto_tests iPhone 16 26.0",
+        "name": "boringssl_crypto_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -340,8 +340,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -352,14 +352,14 @@
         },
         "test": "boringssl_crypto_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_crypto_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -371,7 +371,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.0",
+        "name": "boringssl_ssl_tests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -390,8 +390,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -402,14 +402,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -421,7 +421,7 @@
         },
         "module_name": "//third_party/boringssl:boringssl_ssl_tests",
         "module_scheme": "gtest",
-        "name": "boringssl_ssl_tests iPhone 16 26.0",
+        "name": "boringssl_ssl_tests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -440,8 +440,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -452,14 +452,14 @@
         },
         "test": "boringssl_ssl_tests",
         "test_id_prefix": "ninja://third_party/boringssl:boringssl_ssl_tests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -471,7 +471,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPad Air (6th generation) 26.0",
+        "name": "components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -490,8 +490,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -502,14 +502,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -521,7 +521,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone 16 26.0",
+        "name": "components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -540,8 +540,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -552,14 +552,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -571,7 +571,7 @@
         },
         "module_name": "//components:components_unittests",
         "module_scheme": "gtest",
-        "name": "components_unittests iPhone SE (3rd generation) 26.0",
+        "name": "components_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -590,8 +590,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -602,14 +602,14 @@
         },
         "test": "components_unittests",
         "test_id_prefix": "ninja://components:components_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -621,7 +621,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPad Air (6th generation) 26.0",
+        "name": "crypto_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -640,8 +640,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -652,14 +652,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -671,7 +671,7 @@
         },
         "module_name": "//crypto:crypto_unittests",
         "module_scheme": "gtest",
-        "name": "crypto_unittests iPhone 16 26.0",
+        "name": "crypto_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -690,8 +690,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -702,14 +702,14 @@
         },
         "test": "crypto_unittests",
         "test_id_prefix": "ninja://crypto:crypto_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -721,7 +721,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPad Air (6th generation) 26.0",
+        "name": "gfx_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -740,8 +740,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -752,14 +752,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -771,7 +771,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone 16 26.0",
+        "name": "gfx_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -790,8 +790,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -802,14 +802,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -821,7 +821,7 @@
         },
         "module_name": "//ui/gfx:gfx_unittests",
         "module_scheme": "gtest",
-        "name": "gfx_unittests iPhone SE (3rd generation) 26.0",
+        "name": "gfx_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -840,8 +840,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -852,14 +852,14 @@
         },
         "test": "gfx_unittests",
         "test_id_prefix": "ninja://ui/gfx:gfx_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -871,7 +871,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPad Air (6th generation) 26.0",
+        "name": "google_apis_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -890,8 +890,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -902,14 +902,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -921,7 +921,7 @@
         },
         "module_name": "//google_apis:google_apis_unittests",
         "module_scheme": "gtest",
-        "name": "google_apis_unittests iPhone 16 26.0",
+        "name": "google_apis_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -940,8 +940,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -952,14 +952,14 @@
         },
         "test": "google_apis_unittests",
         "test_id_prefix": "ninja://google_apis:google_apis_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -971,7 +971,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPad Air (6th generation) 26.0",
+        "name": "gwp_asan_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -990,8 +990,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1002,14 +1002,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1021,7 +1021,7 @@
         },
         "module_name": "//components/gwp_asan:gwp_asan_unittests",
         "module_scheme": "gtest",
-        "name": "gwp_asan_unittests iPhone 16 26.0",
+        "name": "gwp_asan_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1040,8 +1040,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1052,14 +1052,14 @@
         },
         "test": "gwp_asan_unittests",
         "test_id_prefix": "ninja://components/gwp_asan:gwp_asan_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1074,7 +1074,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1093,8 +1093,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1106,14 +1106,14 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1128,7 +1128,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_bookmarks_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1147,8 +1147,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1160,7 +1160,7 @@
         },
         "test": "ios_chrome_bookmarks_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_bookmarks_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1169,7 +1169,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1184,7 +1184,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1203,8 +1203,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1216,7 +1216,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1225,7 +1225,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1240,7 +1240,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1259,8 +1259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1272,7 +1272,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1281,7 +1281,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1296,7 +1296,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1315,8 +1315,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1328,7 +1328,7 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1337,7 +1337,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1352,7 +1352,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_settings_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1371,8 +1371,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1384,14 +1384,14 @@
         },
         "test": "ios_chrome_settings_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_settings_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1406,7 +1406,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1425,8 +1425,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1438,14 +1438,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1460,7 +1460,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_signin_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1479,8 +1479,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1492,14 +1492,14 @@
         },
         "test": "ios_chrome_signin_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_signin_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1514,7 +1514,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1533,8 +1533,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1545,14 +1545,14 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1567,7 +1567,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_smoke_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1586,8 +1586,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1598,7 +1598,7 @@
         },
         "test": "ios_chrome_smoke_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_smoke_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -1607,7 +1607,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1622,7 +1622,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1641,8 +1641,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1654,7 +1654,7 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -1663,7 +1663,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1678,7 +1678,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1697,8 +1697,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1710,14 +1710,14 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1729,7 +1729,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1748,8 +1748,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1760,14 +1760,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1779,7 +1779,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone 16 26.0",
+        "name": "ios_chrome_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1798,8 +1798,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1810,14 +1810,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1829,7 +1829,7 @@
         },
         "module_name": "//ios/chrome/test:ios_chrome_unittests",
         "module_scheme": "gtest",
-        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_chrome_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1848,8 +1848,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1860,14 +1860,14 @@
         },
         "test": "ios_chrome_unittests",
         "test_id_prefix": "ninja://ios/chrome/test:ios_chrome_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1882,7 +1882,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1901,8 +1901,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1914,14 +1914,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -1936,7 +1936,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_web_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -1955,8 +1955,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -1968,14 +1968,14 @@
         },
         "test": "ios_chrome_web_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_web_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -1987,7 +1987,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_components_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2006,8 +2006,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2018,14 +2018,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2037,7 +2037,7 @@
         },
         "module_name": "//ios/components:ios_components_unittests",
         "module_scheme": "gtest",
-        "name": "ios_components_unittests iPhone 16 26.0",
+        "name": "ios_components_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2056,8 +2056,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2068,14 +2068,14 @@
         },
         "test": "ios_components_unittests",
         "test_id_prefix": "ninja://ios/components:ios_components_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2088,7 +2088,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.0",
+        "name": "ios_crash_xcuitests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2107,8 +2107,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2119,14 +2119,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -2139,7 +2139,7 @@
         },
         "module_name": "//third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module",
         "module_scheme": "xctest",
-        "name": "ios_crash_xcuitests_module iPhone 16 26.0",
+        "name": "ios_crash_xcuitests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2158,8 +2158,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2170,14 +2170,14 @@
         },
         "test": "ios_crash_xcuitests_module",
         "test_id_prefix": "ninja://third_party/crashpad/crashpad/test/ios:ios_crash_xcuitests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2189,7 +2189,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2208,8 +2208,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2221,14 +2221,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2240,7 +2240,7 @@
         },
         "module_name": "//ios/net:ios_net_unittests",
         "module_scheme": "gtest",
-        "name": "ios_net_unittests iPhone 16 26.0",
+        "name": "ios_net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2259,8 +2259,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2272,14 +2272,14 @@
         },
         "test": "ios_net_unittests",
         "test_id_prefix": "ninja://ios/net:ios_net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2291,7 +2291,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_testing_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2310,8 +2310,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2322,14 +2322,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2341,7 +2341,7 @@
         },
         "module_name": "//ios/testing:ios_testing_unittests",
         "module_scheme": "gtest",
-        "name": "ios_testing_unittests iPhone 16 26.0",
+        "name": "ios_testing_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2360,8 +2360,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2372,14 +2372,14 @@
         },
         "test": "ios_testing_unittests",
         "test_id_prefix": "ninja://ios/testing:ios_testing_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2391,7 +2391,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2410,8 +2410,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2422,14 +2422,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2441,7 +2441,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone 16 26.0",
+        "name": "ios_web_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2460,8 +2460,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2472,14 +2472,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2491,7 +2491,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2510,8 +2510,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2522,14 +2522,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -2544,7 +2544,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_web_shell_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2563,8 +2563,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2575,14 +2575,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--record-video",
           "failed_only",
@@ -2597,7 +2597,7 @@
         },
         "module_name": "//ios/web/shell/test:ios_web_shell_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_web_shell_eg2tests_module iPhone 16 26.0",
+        "name": "ios_web_shell_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2616,8 +2616,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2628,14 +2628,14 @@
         },
         "test": "ios_web_shell_eg2tests_module",
         "test_id_prefix": "ninja://ios/web/shell/test:ios_web_shell_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2647,7 +2647,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2666,8 +2666,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2678,14 +2678,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2697,7 +2697,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone 16 26.0",
+        "name": "ios_web_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2716,8 +2716,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2728,14 +2728,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2747,7 +2747,7 @@
         },
         "module_name": "//ios/web:ios_web_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2766,8 +2766,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2778,14 +2778,14 @@
         },
         "test": "ios_web_unittests",
         "test_id_prefix": "ninja://ios/web:ios_web_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2795,9 +2795,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2816,8 +2816,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2827,15 +2827,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2845,9 +2845,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone 16 26.0",
+        "name": "ios_web_view_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2866,8 +2866,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2877,15 +2877,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2895,9 +2895,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_inttests",
+        "module_name": "//ios/web_view/test:ios_web_view_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2916,8 +2916,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2927,15 +2927,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_inttests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_inttests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2945,9 +2945,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPad Air (6th generation) 26.0",
+        "name": "ios_web_view_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -2966,8 +2966,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -2977,15 +2977,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -2995,9 +2995,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone 16 26.0",
+        "name": "ios_web_view_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3016,8 +3016,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3027,15 +3027,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3045,9 +3045,9 @@
         "merge": {
           "script": "//testing/merge_scripts/standard_isolated_script_merge.py"
         },
-        "module_name": "//ios/web_view:ios_web_view_unittests",
+        "module_name": "//ios/web_view/test:ios_web_view_unittests",
         "module_scheme": "gtest",
-        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_view_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3066,8 +3066,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3077,15 +3077,15 @@
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
         },
         "test": "ios_web_view_unittests",
-        "test_id_prefix": "ninja://ios/web_view:ios_web_view_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "test_id_prefix": "ninja://ios/web_view/test:ios_web_view_unittests/",
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3097,7 +3097,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPad Air (6th generation) 26.0",
+        "name": "net_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3116,8 +3116,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3128,14 +3128,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3147,7 +3147,7 @@
         },
         "module_name": "//net:net_unittests",
         "module_scheme": "gtest",
-        "name": "net_unittests iPhone 16 26.0",
+        "name": "net_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3166,8 +3166,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3178,14 +3178,14 @@
         },
         "test": "net_unittests",
         "test_id_prefix": "ninja://net:net_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3197,7 +3197,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPad Air (6th generation) 26.0",
+        "name": "services_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3216,8 +3216,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3228,14 +3228,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3247,7 +3247,7 @@
         },
         "module_name": "//services:services_unittests",
         "module_scheme": "gtest",
-        "name": "services_unittests iPhone 16 26.0",
+        "name": "services_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3266,8 +3266,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3278,14 +3278,14 @@
         },
         "test": "services_unittests",
         "test_id_prefix": "ninja://services:services_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3297,7 +3297,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPad Air (6th generation) 26.0",
+        "name": "skia_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3316,8 +3316,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3328,14 +3328,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3347,7 +3347,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone 16 26.0",
+        "name": "skia_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3366,8 +3366,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3378,14 +3378,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3397,7 +3397,7 @@
         },
         "module_name": "//skia:skia_unittests",
         "module_scheme": "gtest",
-        "name": "skia_unittests iPhone SE (3rd generation) 26.0",
+        "name": "skia_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3416,8 +3416,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3428,14 +3428,14 @@
         },
         "test": "skia_unittests",
         "test_id_prefix": "ninja://skia:skia_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3447,7 +3447,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPad Air (6th generation) 26.0",
+        "name": "sql_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3466,8 +3466,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3478,14 +3478,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3497,7 +3497,7 @@
         },
         "module_name": "//sql:sql_unittests",
         "module_scheme": "gtest",
-        "name": "sql_unittests iPhone 16 26.0",
+        "name": "sql_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3516,8 +3516,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3528,14 +3528,14 @@
         },
         "test": "sql_unittests",
         "test_id_prefix": "ninja://sql:sql_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3547,7 +3547,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPad Air (6th generation) 26.0",
+        "name": "ui_base_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3566,8 +3566,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3578,14 +3578,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3597,7 +3597,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone 16 26.0",
+        "name": "ui_base_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3616,8 +3616,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3628,14 +3628,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3647,7 +3647,7 @@
         },
         "module_name": "//ui/base:ui_base_unittests",
         "module_scheme": "gtest",
-        "name": "ui_base_unittests iPhone SE (3rd generation) 26.0",
+        "name": "ui_base_unittests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3666,8 +3666,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3678,14 +3678,14 @@
         },
         "test": "ui_base_unittests",
         "test_id_prefix": "ninja://ui/base:ui_base_unittests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3697,7 +3697,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPad Air (6th generation) 26.0",
+        "name": "url_unittests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3716,8 +3716,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3728,14 +3728,14 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -3747,7 +3747,7 @@
         },
         "module_name": "//url:url_unittests",
         "module_scheme": "gtest",
-        "name": "url_unittests iPhone 16 26.0",
+        "name": "url_unittests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -3766,8 +3766,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -3778,7 +3778,7 @@
         },
         "test": "url_unittests",
         "test_id_prefix": "ninja://url:url_unittests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/builders/try/ios26-sdk-simulator/targets/chromium.fyi.json b/infra/config/generated/builders/try/ios26-sdk-simulator/targets/chromium.fyi.json
index ade45bf..662a6eb 100644
--- a/infra/config/generated/builders/try/ios26-sdk-simulator/targets/chromium.fyi.json
+++ b/infra/config/generated/builders/try/ios26-sdk-simulator/targets/chromium.fyi.json
@@ -11,7 +11,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -24,7 +24,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -43,8 +43,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -56,7 +56,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -65,7 +65,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -78,7 +78,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_integration_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -97,8 +97,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -110,7 +110,7 @@
         },
         "test": "ios_chrome_integration_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_integration_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
@@ -119,7 +119,7 @@
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -132,7 +132,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -151,8 +151,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -164,7 +164,7 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
@@ -173,7 +173,7 @@
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--xcodebuild-sim-runner",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
@@ -186,7 +186,7 @@
         },
         "module_name": "//ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module",
         "module_scheme": "xctest",
-        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.0",
+        "name": "ios_chrome_ui_eg2tests_module iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -205,8 +205,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -218,14 +218,14 @@
         },
         "test": "ios_chrome_ui_eg2tests_module",
         "test_id_prefix": "ninja://ios/chrome/test/earl_grey2:ios_chrome_ui_eg2tests_module/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPad Air 11-inch (M2)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -237,7 +237,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPad Air (6th generation) 26.0",
+        "name": "ios_web_inttests iPad Air (6th generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -256,8 +256,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -268,14 +268,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPad Air (6th generation) 26.0"
+        "variant_id": "iPad Air (6th generation) 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone 16",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -287,7 +287,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone 16 26.0",
+        "name": "ios_web_inttests iPhone 16 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -306,8 +306,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -318,14 +318,14 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone 16 26.0"
+        "variant_id": "iPhone 16 26.1"
       },
       {
         "args": [
           "--platform",
           "iPhone SE (3rd generation)",
           "--version",
-          "26.0",
+          "26.1",
           "--out-dir",
           "${ISOLATED_OUTDIR}",
           "--xcode-build-version",
@@ -337,7 +337,7 @@
         },
         "module_name": "//ios/web:ios_web_inttests",
         "module_scheme": "gtest",
-        "name": "ios_web_inttests iPhone SE (3rd generation) 26.0",
+        "name": "ios_web_inttests iPhone SE (3rd generation) 26.1",
         "resultdb": {
           "enable": true,
           "has_native_resultdb_integration": true
@@ -356,8 +356,8 @@
           },
           "named_caches": [
             {
-              "name": "runtime_ios_26_0",
-              "path": "Runtime-ios-26.0"
+              "name": "runtime_ios_26_1",
+              "path": "Runtime-ios-26.1"
             },
             {
               "name": "xcode_ios_17b5025f",
@@ -368,7 +368,7 @@
         },
         "test": "ios_web_inttests",
         "test_id_prefix": "ninja://ios/web:ios_web_inttests/",
-        "variant_id": "iPhone SE (3rd generation) 26.0"
+        "variant_id": "iPhone SE (3rd generation) 26.1"
       }
     ]
   }
diff --git a/infra/config/generated/testing/gn_isolate_map.pyl b/infra/config/generated/testing/gn_isolate_map.pyl
index 5acb383fc..e3c3bc69 100644
--- a/infra/config/generated/testing/gn_isolate_map.pyl
+++ b/infra/config/generated/testing/gn_isolate_map.pyl
@@ -1190,12 +1190,12 @@
     "skip_usage_check": True,
   },
   "ios_web_view_inttests": {
-    "label": "//ios/web_view:ios_web_view_inttests",
+    "label": "//ios/web_view/test:ios_web_view_inttests",
     "type": "generated_script",
     "skip_usage_check": True,
   },
   "ios_web_view_unittests": {
-    "label": "//ios/web_view:ios_web_view_unittests",
+    "label": "//ios/web_view/test:ios_web_view_unittests",
     "type": "generated_script",
     "skip_usage_check": True,
   },
diff --git a/infra/config/targets/binaries.star b/infra/config/targets/binaries.star
index 2cc840b..597c426 100644
--- a/infra/config/targets/binaries.star
+++ b/infra/config/targets/binaries.star
@@ -1501,7 +1501,7 @@
 
 targets.binaries.generated_script(
     name = "ios_web_view_inttests",
-    label = "//ios/web_view:ios_web_view_inttests",
+    label = "//ios/web_view/test:ios_web_view_inttests",
     # All references have been moved to starlark
     skip_usage_check = True,
     module_scheme = "gtest",
@@ -1509,7 +1509,7 @@
 
 targets.binaries.generated_script(
     name = "ios_web_view_unittests",
-    label = "//ios/web_view:ios_web_view_unittests",
+    label = "//ios/web_view/test:ios_web_view_unittests",
     # All references have been moved to starlark
     skip_usage_check = True,
     module_scheme = "gtest",
diff --git a/infra/config/targets/bundles.star b/infra/config/targets/bundles.star
index 7628964a..8be3b0c7 100644
--- a/infra/config/targets/bundles.star
+++ b/infra/config/targets/bundles.star
@@ -4886,8 +4886,8 @@
         targets.bundle(
             targets = "ios_common_tests",
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4896,8 +4896,8 @@
                 "xcodebuild_sim_runner",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4906,8 +4906,8 @@
                 "xcodebuild_sim_runner",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4917,16 +4917,16 @@
                 "record_failed_tests",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
             targets = "ios_passing_screen_size_dependent_tests",
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
-                "SIM_IPHONE_SE_3RD_GEN_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
+                "SIM_IPHONE_SE_3RD_GEN_26_1",
             ],
         ),
     ],
@@ -4938,8 +4938,8 @@
         targets.bundle(
             targets = "ios_common_tests",
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4948,8 +4948,8 @@
                 "xcodebuild_sim_runner",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4959,8 +4959,8 @@
                 "record_failed_tests",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -4970,16 +4970,16 @@
                 "record_failed_tests",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
             targets = "ios_screen_size_dependent_tests",
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
-                "SIM_IPHONE_SE_3RD_GEN_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
+                "SIM_IPHONE_SE_3RD_GEN_26_1",
             ],
         ),
     ],
@@ -4995,8 +4995,8 @@
                 "xcodebuild_sim_runner",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
@@ -5005,16 +5005,16 @@
                 "xcodebuild_sim_runner",
             ],
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
             ],
         ),
         targets.bundle(
             targets = "ios_failing_screen_size_dependent_tests",
             variants = [
-                "SIM_IPAD_AIR_6TH_GEN_26_0",
-                "SIM_IPHONE_16_26_0",
-                "SIM_IPHONE_SE_3RD_GEN_26_0",
+                "SIM_IPAD_AIR_6TH_GEN_26_1",
+                "SIM_IPHONE_16_26_1",
+                "SIM_IPHONE_SE_3RD_GEN_26_1",
             ],
         ),
     ],
@@ -5070,7 +5070,7 @@
         targets.bundle(
             targets = "ios_blink_tests",
             variants = [
-                "SIM_IPHONE_15_26_0",
+                "SIM_IPHONE_15_26_1",
             ],
         ),
     ],
diff --git a/infra/config/targets/mixins.star b/infra/config/targets/mixins.star
index cfddfd9..86d27ba 100644
--- a/infra/config/targets/mixins.star
+++ b/infra/config/targets/mixins.star
@@ -1388,6 +1388,19 @@
 )
 
 targets.mixin(
+    name = "ios_runtime_cache_26_1",
+    generate_pyl_entry = False,
+    swarming = targets.swarming(
+        named_caches = [
+            swarming.cache(
+                name = "runtime_ios_26_1",
+                path = "Runtime-ios-26.1",
+            ),
+        ],
+    ),
+)
+
+targets.mixin(
     name = "tvos_runtime_cache_26_0",
     generate_pyl_entry = False,
     swarming = targets.swarming(
diff --git a/infra/config/targets/variants.star b/infra/config/targets/variants.star
index aee276bb..b2b6566 100644
--- a/infra/config/targets/variants.star
+++ b/infra/config/targets/variants.star
@@ -339,6 +339,21 @@
 )
 
 targets.variant(
+    name = "SIM_IPAD_AIR_6TH_GEN_26_1",
+    identifier = "iPad Air (6th generation) 26.1",
+    generate_pyl_entry = False,
+    mixins = [
+        "ios_runtime_cache_26_1",
+    ],
+    args = [
+        "--platform",
+        "iPad Air 11-inch (M2)",
+        "--version",
+        "26.1",
+    ],
+)
+
+targets.variant(
     name = "SIM_IPAD_PRO_7TH_GEN_18_5",
     identifier = "iPad Air (6th generation) 18.5",
     generate_pyl_entry = False,
@@ -533,6 +548,21 @@
 )
 
 targets.variant(
+    name = "SIM_IPHONE_15_26_1",
+    identifier = "iPhone 15 26.1",
+    generate_pyl_entry = False,
+    mixins = [
+        "ios_runtime_cache_26_1",
+    ],
+    args = [
+        "--platform",
+        "iPhone 15",
+        "--version",
+        "26.1",
+    ],
+)
+
+targets.variant(
     name = "SIM_IPHONE_15_18_5",
     identifier = "iPhone 15 18.5",
     generate_pyl_entry = False,
@@ -563,6 +593,21 @@
 )
 
 targets.variant(
+    name = "SIM_IPHONE_16_26_1",
+    identifier = "iPhone 16 26.1",
+    generate_pyl_entry = False,
+    mixins = [
+        "ios_runtime_cache_26_1",
+    ],
+    args = [
+        "--platform",
+        "iPhone 16",
+        "--version",
+        "26.1",
+    ],
+)
+
+targets.variant(
     name = "SIM_IPHONE_14_PLUS_17_5",
     identifier = "iPhone 14 Plus 17.5",
     generate_pyl_entry = False,
@@ -713,6 +758,21 @@
 )
 
 targets.variant(
+    name = "SIM_IPHONE_SE_3RD_GEN_26_1",
+    identifier = "iPhone SE (3rd generation) 26.1",
+    generate_pyl_entry = False,
+    mixins = [
+        "ios_runtime_cache_26_1",
+    ],
+    args = [
+        "--platform",
+        "iPhone SE (3rd generation)",
+        "--version",
+        "26.1",
+    ],
+)
+
+targets.variant(
     name = "WEBVIEW_TRICHROME_FULL_CTS_TESTS",
     identifier = "full_mode",
     generate_pyl_entry = False,
diff --git a/internal b/internal
index b3c7308..66261da 160000
--- a/internal
+++ b/internal
@@ -1 +1 @@
-Subproject commit b3c73087b949eb0d705bf204aa086bd622154ea1
+Subproject commit 66261da8b16ee204eb6f8a7ee932b3f6d6616e35
diff --git a/ios/chrome/browser/aim/prototype/coordinator/BUILD.gn b/ios/chrome/browser/aim/prototype/coordinator/BUILD.gn
index 1576ba9..8d15f8f 100644
--- a/ios/chrome/browser/aim/prototype/coordinator/BUILD.gn
+++ b/ios/chrome/browser/aim/prototype/coordinator/BUILD.gn
@@ -16,6 +16,9 @@
     "aim_prototype_entrypoint.h",
     "aim_prototype_mediator.h",
     "aim_prototype_mediator.mm",
+    "aim_prototype_navigation_mediator.h",
+    "aim_prototype_navigation_mediator.mm",
+    "aim_prototype_url_loader.h",
   ]
   deps = [
     "//components/application_locale_storage",
@@ -60,6 +63,7 @@
     "//ios/chrome/browser/shared/public/features",
     "//ios/chrome/browser/signin/model",
     "//ios/chrome/browser/snapshots/model",
+    "//ios/chrome/browser/tabs/model",
     "//ios/chrome/browser/url_loading/model",
     "//ios/chrome/browser/url_loading/model:url_loading_params_header",
     "//ios/chrome/browser/variations/model/client",
diff --git a/ios/chrome/browser/aim/prototype/coordinator/DEPS b/ios/chrome/browser/aim/prototype/coordinator/DEPS
index 9ac89e5..2b24b64 100644
--- a/ios/chrome/browser/aim/prototype/coordinator/DEPS
+++ b/ios/chrome/browser/aim/prototype/coordinator/DEPS
@@ -6,6 +6,7 @@
   "+ios/chrome/browser/default_browser/model",
   "+ios/chrome/browser/feature_engagement/model",
   "+ios/chrome/browser/https_upgrades/model",
+  "+ios/chrome/browser/tabs/model/tab_helper_util.h",
   "+ios/chrome/browser/intelligence/proto_wrappers/page_context_wrapper.h",
   "+ios/chrome/browser/intents/model",
   "+ios/chrome/browser/location_bar",
@@ -28,4 +29,3 @@
   "+ios/chrome/browser/favicon/model/ios_chrome_favicon_loader_factory.h",
   "+ios/chrome/browser/favicon/model/favicon_loader.h"
 ]
-
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_coordinator.mm b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_coordinator.mm
index 96444e09..294c639 100644
--- a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_coordinator.mm
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_coordinator.mm
@@ -12,6 +12,7 @@
 #import "ios/chrome/browser/aim/prototype/coordinator/aim_omnibox_client.h"
 #import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_entrypoint.h"
 #import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.h"
+#import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.h"
 #import "ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.h"
 #import "ios/chrome/browser/favicon/model/ios_chrome_favicon_loader_factory.h"
 #import "ios/chrome/browser/feature_engagement/model/tracker_factory.h"
@@ -45,7 +46,7 @@
 const size_t kMaxURLDisplayChars = 32 * 1024;
 }
 
-@interface AIMPrototypeCoordinator () <AIMPrototypeMediatorDelegate,
+@interface AIMPrototypeCoordinator () <AIMPrototypeNavigationMediatorDelegate,
                                        AIMPrototypeViewControllerDelegate,
                                        LocationBarModelDelegateWebStateProvider,
                                        LocationBarURLLoader,
@@ -60,6 +61,7 @@
 @implementation AIMPrototypeCoordinator {
   AIMPrototypeViewController* _viewController;
   AIMPrototypeMediator* _mediator;
+  AIMPrototypeNavigationMediator* _navigationMediator;
   id<VoiceSearchController> _voiceSearchController;
   /// The prewarmed picker as it takes time to appear.
   PHPickerViewController* _picker;
@@ -110,15 +112,22 @@
           /*send_lns_surface=*/false,
           /*enable_multi_context_input_flow=*/false);
 
+  web::WebState::CreateParams params =
+      web::WebState::CreateParams(self.profile);
+  _navigationMediator = [[AIMPrototypeNavigationMediator alloc]
+      initWithUrlLoadingBrowserAgent:urlLoadingBrowserAgent
+                      webStateParams:params];
+  _navigationMediator.consumer = _viewController;
+  _navigationMediator.delegate = self;
+
   FaviconLoader* faviconLoader =
       IOSChromeFaviconLoaderFactory::GetForProfile(self.profile);
   _mediator = [[AIMPrototypeMediator alloc]
-      initWithUrlLoadingBrowserAgent:urlLoadingBrowserAgent
-           composeboxQueryController:std::move(composeboxQueryController)
-                        webStateList:self.browser->GetWebStateList()
-                       faviconLoader:faviconLoader];
+      initWithComposeboxQueryController:std::move(composeboxQueryController)
+                           webStateList:self.browser->GetWebStateList()
+                          faviconLoader:faviconLoader];
+  _mediator.urlLoader = _navigationMediator;
   _mediator.consumer = _viewController;
-  _mediator.delegate = self;
   _viewController.mutator = _mediator;
   _voiceSearchController.dispatcher = _mediator;
 
@@ -164,6 +173,8 @@
   _voiceSearchController = nil;
   [_mediator disconnect];
   _mediator = nil;
+  [_navigationMediator disconnect];
+  _navigationMediator = nil;
   [_omniboxCoordinator endEditing];
   [_omniboxCoordinator stop];
   _omniboxCoordinator = nil;
@@ -279,9 +290,9 @@
   [picker dismissViewControllerAnimated:YES completion:nil];
 }
 
-#pragma mark - AIMPrototypeMediatorDelegate
+#pragma mark - AIMPrototypeNavigationMediatorDelegate
 
-- (void)dismissAimPrototype {
+- (void)dismissAIMPrototype {
   id<BrowserCoordinatorCommands> commands = HandlerForProtocol(
       self.browser->GetCommandDispatcher(), BrowserCoordinatorCommands);
   [commands hideAIMPrototype];
@@ -321,7 +332,7 @@
     UrlLoadingBrowserAgent::FromBrowser(self.browser)->Load(params);
   }
 
-  [self dismissAimPrototype];
+  [self dismissAIMPrototype];
 }
 
 #pragma mark - LocationBarModelDelegateWebStateProvider
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.h b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.h
index 554987e..4d9a441 100644
--- a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.h
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.h
@@ -15,18 +15,12 @@
 #import "ios/chrome/browser/aim/prototype/ui/aim_prototype_mutator.h"
 #import "ios/chrome/browser/shared/public/commands/load_query_commands.h"
 
+@protocol AIMPrototypeURLLoader;
 class ComposeboxQueryControllerIOS;
-@class AIMPrototypeMediator;
-class UrlLoadingBrowserAgent;
 class FaviconLoader;
 class GURL;
 class WebStateList;
 
-// Delegate for the AIM prototype mediator.
-@protocol AIMPrototypeMediatorDelegate
-- (void)dismissAimPrototype;
-@end
-
 // Mediator for the AIM prototype.
 @interface AIMPrototypeMediator : NSObject <AIMOmniboxClientDelegate,
                                             AIMPrototypeMutator,
@@ -34,15 +28,13 @@
                                             LoadQueryCommands>
 
 @property(nonatomic, weak) id<AIMPrototypeConsumer> consumer;
-@property(nonatomic, weak) id<AIMPrototypeMediatorDelegate> delegate;
+@property(nonatomic, weak) id<AIMPrototypeURLLoader> urlLoader;
 
-- (instancetype)initWithUrlLoadingBrowserAgent:
-                    (UrlLoadingBrowserAgent*)urlLoadingBrowserAgent
-                     composeboxQueryController:
-                         (std::unique_ptr<ComposeboxQueryControllerIOS>)
-                             composeboxQueryController
-                                  webStateList:(WebStateList*)webStateList
-                                 faviconLoader:(FaviconLoader*)faviconLoader;
+- (instancetype)initWithComposeboxQueryController:
+                    (std::unique_ptr<ComposeboxQueryControllerIOS>)
+                        composeboxQueryController
+                                     webStateList:(WebStateList*)webStateList
+                                    faviconLoader:(FaviconLoader*)faviconLoader;
 
 - (void)disconnect;
 
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.mm b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.mm
index 1d5fec4..05af3d8 100644
--- a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.mm
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_mediator.mm
@@ -25,6 +25,7 @@
 #import "components/omnibox/composebox/ios/composebox_query_controller_ios.h"
 #import "components/search_engines/template_url_service.h"
 #import "components/search_engines/util.h"
+#import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_url_loader.h"
 #import "ios/chrome/browser/aim/prototype/public/features.h"
 #import "ios/chrome/browser/aim/prototype/ui/aim_input_item.h"
 #import "ios/chrome/browser/favicon/model/favicon_loader.h"
@@ -32,7 +33,6 @@
 #import "ios/chrome/browser/shared/model/url/url_util.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list.h"
 #import "ios/chrome/browser/snapshots/model/snapshot_tab_helper.h"
-#import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
 #import "ios/chrome/browser/url_loading/model/url_loading_params.h"
 #import "ios/chrome/common/NSString+Chromium.h"
 #import "ios/chrome/common/ui/favicon/favicon_attributes.h"
@@ -129,8 +129,6 @@
 @implementation AIMPrototypeMediator {
   // The ordered list of items for display.
   NSMutableArray<AIMInputItem*>* _items;
-  // The URL loading browser agent.
-  raw_ptr<UrlLoadingBrowserAgent> _urlLoadingBrowserAgent;
   // The C++ controller for this feature.
   std::unique_ptr<ComposeboxQueryControllerIOS> _composeboxQueryController;
   // The observer bridge for file upload status.
@@ -145,17 +143,14 @@
   raw_ptr<FaviconLoader> _faviconLoader;
 }
 
-- (instancetype)initWithUrlLoadingBrowserAgent:
-                    (UrlLoadingBrowserAgent*)urlLoadingBrowserAgent
-                     composeboxQueryController:
-                         (std::unique_ptr<ComposeboxQueryControllerIOS>)
-                             composeboxQueryController
-                                  webStateList:(WebStateList*)webStateList
-                                 faviconLoader:(FaviconLoader*)faviconLoader {
+- (instancetype)
+    initWithComposeboxQueryController:
+        (std::unique_ptr<ComposeboxQueryControllerIOS>)composeboxQueryController
+                         webStateList:(WebStateList*)webStateList
+                        faviconLoader:(FaviconLoader*)faviconLoader {
   self = [super init];
   if (self) {
     _items = [NSMutableArray array];
-    _urlLoadingBrowserAgent = urlLoadingBrowserAgent;
     _composeboxQueryController = std::move(composeboxQueryController);
     _composeboxObserverBridge =
         std::make_unique<ComposeboxFileUploadObserverBridge>(
@@ -169,7 +164,6 @@
 
 - (void)disconnect {
   _composeboxQueryController->NotifySessionAbandoned();
-  _urlLoadingBrowserAgent = nullptr;
   _faviconLoader = nullptr;
   _composeboxObserverBridge.reset();
   _composeboxQueryController.reset();
@@ -263,20 +257,7 @@
   if (!_AIModeEnabled) {
     URL = net::AppendOrReplaceQueryParameter(URL, "udm", "24");
   }
-  UrlLoadParams params = UrlLoadParams::InCurrentTab(URL);
-  params.web_params.transition_type = ui::PAGE_TRANSITION_GENERATED;
-  _urlLoadingBrowserAgent->Load(params);
-
-  // TODO(crbug.com/442371203): Dismissing the view directly here will
-  // lead to a crash because some calls made after pressing the return
-  // key are still being performed. This hack postpones the dismiss action.
-  __weak AIMPrototypeMediator* weakSelf = self;
-  base::OnceClosure completion = base::BindOnce(^{
-    [weakSelf dismissAimPrototype];
-  });
-  constexpr base::TimeDelta kDelay = base::Seconds(0);
-  base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
-      FROM_HERE, std::move(completion), kDelay);
+  [self.urlLoader loadURL:URL];
 }
 
 - (void)setAIModeEnabled:(BOOL)enabled {
@@ -601,20 +582,7 @@
   if (isSearchType) {
     [self sendText:[NSString cr_fromString16:text]];
   } else {
-    UrlLoadParams params = UrlLoadParams::InCurrentTab(destinationURL);
-    params.web_params.transition_type = ui::PAGE_TRANSITION_GENERATED;
-    _urlLoadingBrowserAgent->Load(params);
-
-    // TODO(crbug.com/442371203): Dismissing the view directly here will
-    // lead to a crash because some calls made after pressing the return
-    // key are still being performed. This hack postpones the dismiss action.
-    __weak AIMPrototypeMediator* weakSelf = self;
-    base::OnceClosure completion = base::BindOnce(^{
-      [weakSelf dismissAimPrototype];
-    });
-    constexpr base::TimeDelta kDelay = base::Seconds(0.5);
-    base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
-        FROM_HERE, std::move(completion), kDelay);
+    [self.urlLoader loadURL:destinationURL];
   }
 }
 
@@ -635,10 +603,6 @@
 
 #pragma mark - Private helpers
 
-- (void)dismissAimPrototype {
-  [self.delegate dismissAimPrototype];
-}
-
 /// Updates the consumer items and maybe trigger AIM.
 - (void)updateConsumerItems {
   [self.consumer setItems:_items];
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.h b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.h
new file mode 100644
index 0000000..50f43af6
--- /dev/null
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.h
@@ -0,0 +1,42 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_NAVIGATION_MEDIATOR_H_
+#define IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_NAVIGATION_MEDIATOR_H_
+
+#import <Foundation/Foundation.h>
+
+#import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_url_loader.h"
+#import "ios/web/public/web_state.h"
+
+@protocol AIMPrototypeNavigationConsumer;
+@class AIMPrototypeNavigationMediator;
+class UrlLoadingBrowserAgent;
+
+// Delegate for the AIM prototype navigation mediator.
+@protocol AIMPrototypeNavigationMediatorDelegate
+- (void)dismissAIMPrototype;
+@end
+
+// A mediator for the AIM prototype's navigation.
+@interface AIMPrototypeNavigationMediator : NSObject <AIMPrototypeURLLoader>
+
+// The consumer for this mediator.
+@property(nonatomic, weak) id<AIMPrototypeNavigationConsumer> consumer;
+
+// The delegate for this mediator.
+@property(nonatomic, weak) id<AIMPrototypeNavigationMediatorDelegate> delegate;
+
+// Initializes the mediator.
+- (instancetype)initWithUrlLoadingBrowserAgent:
+                    (UrlLoadingBrowserAgent*)urlLoadingBrowserAgent
+                                webStateParams:
+                                    (const web::WebState::CreateParams&)params;
+
+// Disconnects the mediator.
+- (void)disconnect;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_NAVIGATION_MEDIATOR_H_
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.mm b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.mm
new file mode 100644
index 0000000..83bc1c8
--- /dev/null
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.mm
@@ -0,0 +1,167 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/aim/prototype/coordinator/aim_prototype_navigation_mediator.h"
+
+#import "base/memory/raw_ptr.h"
+#import "base/task/sequenced_task_runner.h"
+#import "components/google/core/common/google_util.h"
+#import "ios/chrome/browser/aim/prototype/public/features.h"
+#import "ios/chrome/browser/aim/prototype/ui/aim_prototype_navigation_consumer.h"
+#import "ios/chrome/browser/shared/public/features/features.h"
+#import "ios/chrome/browser/tabs/model/tab_helper_util.h"
+#import "ios/chrome/browser/url_loading/model/url_loading_browser_agent.h"
+#import "ios/chrome/browser/url_loading/model/url_loading_params.h"
+#import "ios/web/public/navigation/web_state_policy_decider_bridge.h"
+#import "ios/web/public/ui/crw_web_view_proxy.h"
+#import "ios/web/public/ui/crw_web_view_scroll_view_proxy.h"
+#import "ios/web/public/web_state_delegate_bridge.h"
+#import "ios/web/public/web_state_observer_bridge.h"
+#import "net/base/apple/url_conversions.h"
+#import "net/base/url_util.h"
+#import "ui/base/page_transition_types.h"
+#import "url/gurl.h"
+
+@interface AIMPrototypeNavigationMediator () <CRWWebStateDelegate,
+                                              CRWWebStateObserver,
+                                              CRWWebStatePolicyDecider>
+@end
+
+@implementation AIMPrototypeNavigationMediator {
+  // The URL loading browser agent.
+  raw_ptr<UrlLoadingBrowserAgent> _urlLoadingBrowserAgent;
+  // The WebState for AI Mode SRP.
+  std::unique_ptr<web::WebState> _webState;
+  // The WebState delegate.
+  std::unique_ptr<web::WebStateDelegateBridge> _webStateDelegateBridge;
+  // The observer bridge for WebState observing.
+  std::unique_ptr<web::WebStateObserverBridge> _webStateObserverBridge;
+  // The WebState policy decider.
+  std::unique_ptr<web::WebStatePolicyDeciderBridge> _policyDeciderBridge;
+}
+
+- (instancetype)initWithUrlLoadingBrowserAgent:
+                    (UrlLoadingBrowserAgent*)urlLoadingBrowserAgent
+                                webStateParams:
+                                    (const web::WebState::CreateParams&)params {
+  self = [super init];
+  if (self) {
+    _urlLoadingBrowserAgent = urlLoadingBrowserAgent;
+    if (base::FeatureList::IsEnabled(kAIMPrototypeImmersiveSRP)) {
+      _webStateDelegateBridge =
+          std::make_unique<web::WebStateDelegateBridge>(self);
+      _webStateObserverBridge =
+          std::make_unique<web::WebStateObserverBridge>(self);
+      [self attachWebState:web::WebState::Create(params)];
+    }
+  }
+  return self;
+}
+
+- (void)disconnect {
+  _urlLoadingBrowserAgent = nullptr;
+  if (_webState) {
+    [self detachWebState];
+  }
+  _webStateObserverBridge.reset();
+  _webStateDelegateBridge.reset();
+}
+
+- (void)setConsumer:(id<AIMPrototypeNavigationConsumer>)consumer {
+  _consumer = consumer;
+  if (_webState) {
+    _webState->SetWebUsageEnabled(true);
+    [_consumer setWebView:_webState->GetView()];
+  }
+}
+
+#pragma mark - AIMPrototypeURLLoader
+
+- (void)loadURL:(const GURL&)URL {
+  if (_webState) {
+    // Request an SRP without an input plate.
+    GURL webStateURL = net::AppendOrReplaceQueryParameter(URL, "gsc", "2");
+    web::NavigationManager::WebLoadParams webParams =
+        web::NavigationManager::WebLoadParams(webStateURL);
+    webParams.transition_type = ui::PAGE_TRANSITION_GENERATED;
+    _webState->GetNavigationManager()->LoadURLWithParams(webParams);
+  } else {
+    [self loadURLInCurrentTab:URL];
+    [self dismissAIMPrototype];
+  }
+}
+
+#pragma mark - CRWWebStatePolicyDecider
+
+- (void)shouldAllowRequest:(NSURLRequest*)request
+               requestInfo:(web::WebStatePolicyDecider::RequestInfo)requestInfo
+           decisionHandler:(PolicyDecisionHandler)decisionHandler {
+  GURL URL = net::GURLWithNSURL(request.URL);
+
+  if (requestInfo.target_frame_is_main &&
+      !google_util::IsGoogleSearchUrl(URL)) {
+    // Don't load within the embedded web view.
+    decisionHandler(web::WebStatePolicyDecider::PolicyDecision::Cancel());
+    [self loadURLInCurrentTab:URL];
+    [self dismissAIMPrototype];
+  } else {
+    decisionHandler(web::WebStatePolicyDecider::PolicyDecision::Allow());
+  }
+}
+
+#pragma mark - Private
+
+// Creates a special WebState for AIM.
+- (void)attachWebState:(std::unique_ptr<web::WebState>)webState {
+  CHECK(!_webState) << "Detach the current WebState before attaching a new one";
+  CHECK(!_policyDeciderBridge);
+  _webState = std::move(webState);
+  _webState->SetDelegate(_webStateDelegateBridge.get());
+  _webState->AddObserver(_webStateObserverBridge.get());
+  _policyDeciderBridge =
+      std::make_unique<web::WebStatePolicyDeciderBridge>(_webState.get(), self);
+  // TODO(crbug.com/445918427): Make an AIM tab helper filter.
+  AttachTabHelpers(_webState.get(), TabHelperFilter::kLensOverlay);
+  id<CRWWebViewProxy> webViewProxy = _webState->GetWebViewProxy();
+  webViewProxy.allowsBackForwardNavigationGestures = NO;
+  // Allow the scrollView to cover the safe area.
+  webViewProxy.scrollViewProxy.clipsToBounds = NO;
+
+  if (self.consumer) {
+    _webState->SetWebUsageEnabled(true);
+    [self.consumer setWebView:_webState->GetView()];
+  }
+}
+
+// Removes the AIM WebState and returns it.
+- (std::unique_ptr<web::WebState>)detachWebState {
+  CHECK(_webState);
+  _policyDeciderBridge.reset();
+  _webState->RemoveObserver(_webStateObserverBridge.get());
+  _webState->SetDelegate(nullptr);
+  return std::move(_webState);
+}
+
+// Loads the URL in the underlying tab.
+- (void)loadURLInCurrentTab:(const GURL&)URL {
+  UrlLoadParams params = UrlLoadParams::InCurrentTab(URL);
+  params.web_params.transition_type = ui::PAGE_TRANSITION_GENERATED;
+  _urlLoadingBrowserAgent->Load(params);
+}
+
+// Asks the delegate to dismiss the AIM prototype.
+- (void)dismissAIMPrototype {
+  // TODO(crbug.com/442371203): Dismissing the view directly here may lead to a
+  // crash because some calls made after pressing the return key are still being
+  // performed, for example. This hack postpones the dismiss action.
+  __weak __typeof(self) weakSelf = self;
+  base::OnceClosure completion = base::BindOnce(^{
+    [weakSelf dismissAIMPrototype];
+  });
+  constexpr base::TimeDelta kDelay = base::Seconds(0.5);
+  base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
+      FROM_HERE, std::move(completion), kDelay);
+}
+
+@end
diff --git a/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_url_loader.h b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_url_loader.h
new file mode 100644
index 0000000..944fe7ec
--- /dev/null
+++ b/ios/chrome/browser/aim/prototype/coordinator/aim_prototype_url_loader.h
@@ -0,0 +1,17 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_URL_LOADER_H_
+#define IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_URL_LOADER_H_
+
+class GURL;
+
+// Protocol for loading URLs in the AIM prototype.
+@protocol AIMPrototypeURLLoader
+
+- (void)loadURL:(const GURL&)URL;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_AIM_PROTOTYPE_COORDINATOR_AIM_PROTOTYPE_URL_LOADER_H_
diff --git a/ios/chrome/browser/aim/prototype/ui/BUILD.gn b/ios/chrome/browser/aim/prototype/ui/BUILD.gn
index 482e0f8..c89e459 100644
--- a/ios/chrome/browser/aim/prototype/ui/BUILD.gn
+++ b/ios/chrome/browser/aim/prototype/ui/BUILD.gn
@@ -17,6 +17,7 @@
     "aim_prototype_dismiss_animator.h",
     "aim_prototype_dismiss_animator.mm",
     "aim_prototype_mutator.h",
+    "aim_prototype_navigation_consumer.h",
     "aim_prototype_present_animator.h",
     "aim_prototype_present_animator.mm",
     "aim_prototype_view_controller.h",
diff --git a/ios/chrome/browser/aim/prototype/ui/aim_prototype_navigation_consumer.h b/ios/chrome/browser/aim/prototype/ui/aim_prototype_navigation_consumer.h
new file mode 100644
index 0000000..1b1f804
--- /dev/null
+++ b/ios/chrome/browser/aim/prototype/ui/aim_prototype_navigation_consumer.h
@@ -0,0 +1,18 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_AIM_PROTOTYPE_UI_AIM_PROTOTYPE_NAVIGATION_CONSUMER_H_
+#define IOS_CHROME_BROWSER_AIM_PROTOTYPE_UI_AIM_PROTOTYPE_NAVIGATION_CONSUMER_H_
+
+#import <UIKit/UIKit.h>
+
+// Consumer for the AIM prototype's web view.
+@protocol AIMPrototypeNavigationConsumer <NSObject>
+
+// Sets a webview. Passing nil removes any existing webview from the consumer.
+- (void)setWebView:(UIView*)webView;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_AIM_PROTOTYPE_UI_AIM_PROTOTYPE_NAVIGATION_CONSUMER_H_
diff --git a/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.h b/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.h
index 0737432..0052430 100644
--- a/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.h
+++ b/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.h
@@ -10,6 +10,7 @@
 #import "ios/chrome/browser/aim/prototype/ui/aim_prototype_animation_context_provider.h"
 #import "ios/chrome/browser/aim/prototype/ui/aim_prototype_consumer.h"
 #import "ios/chrome/browser/aim/prototype/ui/aim_prototype_mutator.h"
+#import "ios/chrome/browser/aim/prototype/ui/aim_prototype_navigation_consumer.h"
 
 @protocol AIMPrototypeMutator;
 @class AIMPrototypeViewController;
@@ -32,7 +33,8 @@
 // View controller for the AIM prototype.
 @interface AIMPrototypeViewController
     : UIViewController <AIMPrototypeAnimationContextProvider,
-                        AIMPrototypeConsumer>
+                        AIMPrototypeConsumer,
+                        AIMPrototypeNavigationConsumer>
 
 @property(nonatomic, weak) id<AIMPrototypeViewControllerDelegate> delegate;
 @property(nonatomic, weak) id<AIMPrototypeMutator> mutator;
diff --git a/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.mm b/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.mm
index 1e6c71b..7042b55 100644
--- a/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.mm
+++ b/ios/chrome/browser/aim/prototype/ui/aim_prototype_view_controller.mm
@@ -127,6 +127,8 @@
   UIView* _omniboxContainer;
   /// A spacer view used in the stack view.
   UIView* _spacerView;
+  /// The WebView for the SRP.
+  UIView* _webView;
 
   /// The cancellable callback for updating the glow effect.
   base::CancelableOnceClosure _updateGlowCallback;
@@ -146,7 +148,6 @@
 - (void)viewDidLoad {
   [super viewDidLoad];
 
-
   // --- Bottom Input Area ---
 
   // Input plate container
@@ -456,6 +457,26 @@
   _micButton.hidden = hidden;
 }
 
+#pragma mark - AIMPrototypeNavigationConsumer
+
+- (void)setWebView:(UIView*)webView {
+  if (_webView == webView) {
+    return;
+  }
+  [_webView removeFromSuperview];
+  _webView = webView;
+  if (webView) {
+    webView.translatesAutoresizingMaskIntoConstraints = NO;
+    [self.view insertSubview:webView atIndex:0];
+    AddSameConstraintsToSides(
+        webView, self.view,
+        LayoutSides::kTop | LayoutSides::kLeading | LayoutSides::kTrailing);
+    [webView.bottomAnchor
+        constraintEqualToAnchor:_inputPlateContainerView.topAnchor]
+        .active = YES;
+  }
+}
+
 #pragma mark - Actions
 
 - (void)galleryButtonTapped {
diff --git a/ios/chrome/browser/crash_report/model/BUILD.gn b/ios/chrome/browser/crash_report/model/BUILD.gn
index 7f8b9a4..9e2f3b6e 100644
--- a/ios/chrome/browser/crash_report/model/BUILD.gn
+++ b/ios/chrome/browser/crash_report/model/BUILD.gn
@@ -53,26 +53,13 @@
   deps = [
     ":model",
     "//base",
-    "//components/breadcrumbs/core",
     "//components/crash/core/common:crash_key",
-    "//components/infobars/core",
     "//components/previous_session_info",
-    "//components/sessions",
-    "//components/strings",
-    "//components/upload_list",
-    "//ios/chrome/app/theme",
-    "//ios/chrome/browser/infobars/model",
-    "//ios/chrome/browser/infobars/model:public",
-    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
-    "//ios/chrome/browser/shared/model/browser",
-    "//ios/chrome/browser/shared/model/paths",
     "//ios/chrome/browser/shared/model/profile",
+    "//ios/chrome/browser/shared/model/utils",
     "//ios/chrome/browser/shared/model/web_state_list",
-    "//ios/chrome/browser/shared/public/features",
-    "//ios/chrome/browser/shared/ui/symbols",
-    "//ios/web",
-    "//net",
-    "//ui/base",
+    "//ios/web/public",
+    "//url",
   ]
 }
 
diff --git a/ios/chrome/browser/crash_report/model/crash_report_helper.mm b/ios/chrome/browser/crash_report/model/crash_report_helper.mm
index 8ca0c16..992e1f6 100644
--- a/ios/chrome/browser/crash_report/model/crash_report_helper.mm
+++ b/ios/chrome/browser/crash_report/model/crash_report_helper.mm
@@ -6,22 +6,12 @@
 
 #import <Foundation/Foundation.h>
 
-#import "base/apple/foundation_util.h"
-#import "base/auto_reset.h"
+#import "base/check.h"
+#import "base/containers/contains.h"
 #import "base/debug/crash_logging.h"
-#import "base/files/file_path.h"
-#import "base/files/file_util.h"
-#import "base/functional/bind.h"
-#import "base/location.h"
-#import "base/path_service.h"
-#import "base/strings/sys_string_conversions.h"
-#import "base/time/time.h"
-#import "components/upload_list/crash_upload_list.h"
-#import "ios/chrome/browser/crash_report/model/crash_helper.h"
 #import "ios/chrome/browser/crash_report/model/crash_keys_helper.h"
-#import "ios/chrome/browser/crash_report/model/crash_report_user_application_state.h"
 #import "ios/chrome/browser/crash_report/model/crash_reporter_url_observer.h"
-#import "ios/chrome/browser/shared/model/paths/paths.h"
+#import "ios/chrome/browser/shared/model/utils/mime_type_util.h"
 #import "ios/chrome/browser/shared/model/web_state_list/all_web_state_observation_forwarder.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list_observer_bridge.h"
@@ -30,15 +20,13 @@
 #import "ios/web/public/web_state.h"
 #import "ios/web/public/web_state_id.h"
 #import "ios/web/public/web_state_observer_bridge.h"
-#import "net/base/apple/url_conversions.h"
 
 // WebStateList Observer that some tabs stats to be sent to the crash server.
 @interface CrashReporterTabStateObserver
     : NSObject <CRWWebStateObserver, WebStateListObserving> {
  @private
-  // Map associating the tab WebStateID to an object describing the current
-  // state of the tab.
-  std::map<web::WebStateID, NSMutableDictionary*> _tabCurrentStateByTabId;
+  // Set of WebStateID for tabs displaying PDF documents.
+  std::set<web::WebStateID> _tabDisplayingPDFSet;
   // The WebStateObserverBridge used to register self as a WebStateObserver
   std::unique_ptr<web::WebStateObserverBridge> _webStateObserver;
   // Bridges C++ WebStateListObserver methods to this
@@ -51,20 +39,9 @@
 }
 + (CrashReporterTabStateObserver*)uniqueInstance;
 // Removes the stats for the tab.
-- (void)removeTab:(web::WebState*)tab;
-// Removes the stats for the tab identified by tabId.
-- (void)removeTabId:(web::WebStateID)tabId;
+- (void)removeTab:(web::WebState*)webState;
 // Removes document related information from tabCurrentStateByTabId_.
 - (void)closingDocumentInTab:(web::WebStateID)tabId;
-// Sets a tab `tabId` specific information with key `key` and value `value` in
-// tabCurrentStateByTabId_.
-- (void)setTabInfo:(NSString*)key
-         withValue:(NSString*)value
-          forTabId:(web::WebStateID)tabId;
-// Retrieves the `key` information for tab `tabID`.
-- (id)tabInfo:(NSString*)key forTabId:(web::WebStateID)tabID;
-// Removes the `key` information for tab `tabId`
-- (void)removeTabInfo:(NSString*)key forTabId:(web::WebStateID)tabId;
 // Observes `webState` by this instance of the CrashReporterTabStateObserver.
 - (void)observeWebState:(web::WebState*)webState;
 // Stop Observing `webState` by this instance of the
@@ -78,11 +55,6 @@
 - (void)stopObservingWebStateList:(WebStateList*)webStateList;
 @end
 
-namespace {
-// Mime type used for PDF documents.
-NSString* const kDocumentMimeType = @"application/pdf";
-}  // namespace
-
 @implementation CrashReporterTabStateObserver
 
 + (CrashReporterTabStateObserver*)uniqueInstance {
@@ -100,55 +72,16 @@
 }
 
 - (void)closingDocumentInTab:(web::WebStateID)tabId {
-  NSString* mime = base::apple::ObjCCast<NSString>([self tabInfo:@"mime"
-                                                        forTabId:tabId]);
-  if ([kDocumentMimeType isEqualToString:mime]) {
-    crash_keys::SetCurrentTabIsPDF(false);
-  }
-  [self removeTabInfo:@"mime" forTabId:tabId];
-}
-
-- (void)setTabInfo:(NSString*)key
-         withValue:(NSString*)value
-          forTabId:(web::WebStateID)tabId {
-  auto iter = _tabCurrentStateByTabId.find(tabId);
-  if (iter == _tabCurrentStateByTabId.end()) {
-    iter =
-        _tabCurrentStateByTabId
-            .insert(std::make_pair(tabId, [[NSMutableDictionary alloc] init]))
-            .first;
-  }
-  NSMutableDictionary* tabValues = iter->second;
-  [tabValues setObject:value forKey:key];
-}
-
-- (id)tabInfo:(NSString*)key forTabId:(web::WebStateID)tabId {
-  auto iter = _tabCurrentStateByTabId.find(tabId);
-  if (iter == _tabCurrentStateByTabId.end()) {
-    return nil;
-  }
-
-  NSMutableDictionary* tabValues = iter->second;
-  return [tabValues objectForKey:key];
-}
-
-- (void)removeTabInfo:(NSString*)key forTabId:(web::WebStateID)tabId {
-  auto iter = _tabCurrentStateByTabId.find(tabId);
-  if (iter == _tabCurrentStateByTabId.end()) {
+  if (!base::Contains(_tabDisplayingPDFSet, tabId)) {
     return;
   }
 
-  NSMutableDictionary* tabValues = iter->second;
-  [tabValues removeObjectForKey:key];
+  crash_keys::SetCurrentTabIsPDF(false);
+  _tabDisplayingPDFSet.erase(tabId);
 }
 
-- (void)removeTab:(web::WebState*)tab {
-  [self removeTabId:tab->GetUniqueIdentifier()];
-}
-
-- (void)removeTabId:(web::WebStateID)tabId {
-  [self closingDocumentInTab:tabId];
-  _tabCurrentStateByTabId.erase(tabId);
+- (void)removeTab:(web::WebState*)webState {
+  [self closingDocumentInTab:webState->GetUniqueIdentifier()];
 }
 
 - (void)observeWebState:(web::WebState*)webState {
@@ -227,18 +160,22 @@
 
 - (void)webState:(web::WebState*)webState
     didLoadPageWithSuccess:(BOOL)loadSuccess {
-  if (!loadSuccess || webState->GetContentsMimeType() != "application/pdf") {
-    return;
-  }
-  web::WebStateID tabID = webState->GetUniqueIdentifier();
-  NSString* oldMime = base::apple::ObjCCast<NSString>([self tabInfo:@"mime"
-                                                           forTabId:tabID]);
-  if ([kDocumentMimeType isEqualToString:oldMime]) {
+  if (!loadSuccess) {
     return;
   }
 
-  [self setTabInfo:@"mime" withValue:kDocumentMimeType forTabId:tabID];
+  const std::string& mimeType = webState->GetContentsMimeType();
+  if (mimeType != kAdobePortableDocumentFormatMimeType) {
+    return;
+  }
+
+  const web::WebStateID tabId = webState->GetUniqueIdentifier();
+  if (base::Contains(_tabDisplayingPDFSet, tabId)) {
+    return;
+  }
+
   crash_keys::SetCurrentTabIsPDF(true);
+  _tabDisplayingPDFSet.insert(tabId);
 }
 
 @end
diff --git a/ios/chrome/browser/history/model/history_tab_helper.mm b/ios/chrome/browser/history/model/history_tab_helper.mm
index 0709f07..a9493a1 100644
--- a/ios/chrome/browser/history/model/history_tab_helper.mm
+++ b/ios/chrome/browser/history/model/history_tab_helper.mm
@@ -4,8 +4,10 @@
 
 #import "ios/chrome/browser/history/model/history_tab_helper.h"
 
+#import "base/feature_list.h"
 #import "base/memory/ptr_util.h"
 #import "base/metrics/histogram_macros.h"
+#import "components/history/core/browser/features.h"
 #import "components/history/core/browser/history_constants.h"
 #import "components/history/core/browser/history_service.h"
 #import "components/history/core/browser/history_types.h"
@@ -233,7 +235,7 @@
     return;
   }
 
-  // Do not record failed navigation nor 404 to the history (to prevent them
+  // Do not record failed navigation to the history (to prevent them
   // from showing up as Most Visited tiles on NTP).
   UMA_HISTOGRAM_BOOLEAN("History.Is4XXOr5XXStatusCode",
                         navigation_context->GetError());
@@ -243,8 +245,13 @@
     return;
   }
 
+  // If `history::kVisitedLinksOn404` is enabled, record 404s in History.
+  const bool should_record_404 =
+      base::FeatureList::IsEnabled(history::kVisitedLinksOn404);
+
   if (navigation_context->GetResponseHeaders() &&
-      navigation_context->GetResponseHeaders()->response_code() == 404) {
+      navigation_context->GetResponseHeaders()->response_code() == 404 &&
+      !should_record_404) {
     return;
   }
 
diff --git a/ios/chrome/browser/history/model/history_tab_helper_unittest.mm b/ios/chrome/browser/history/model/history_tab_helper_unittest.mm
index fdc5036..60d452e 100644
--- a/ios/chrome/browser/history/model/history_tab_helper_unittest.mm
+++ b/ios/chrome/browser/history/model/history_tab_helper_unittest.mm
@@ -10,6 +10,8 @@
 #import "base/run_loop.h"
 #import "base/strings/utf_string_conversions.h"
 #import "base/test/bind.h"
+#import "base/test/scoped_feature_list.h"
+#import "components/history/core/browser/features.h"
 #import "components/history/core/browser/history_service.h"
 #import "components/history/core/browser/history_types.h"
 #import "components/keyed_service/core/service_access_type.h"
@@ -361,3 +363,64 @@
   EXPECT_EQ(args_404.response_code_category,
             history::VisitResponseCodeCategory::k404);
 }
+
+// Tests that a 404 is recorded if history::kVisitedLinksOn404 is enabled.
+TEST_F(HistoryTabHelperTest, DidFinishNavigationFlagEnabledRecords404) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(history::kVisitedLinksOn404);
+
+  const GURL url("https://url.com");
+
+  HistoryTabHelper* helper = HistoryTabHelper::FromWebState(&web_state_);
+  ASSERT_TRUE(helper);
+
+  web::FakeNavigationContext navigation_context;
+  navigation_context.SetHasCommitted(true);
+  navigation_context.SetResponseHeaders(
+      net::HttpResponseHeaders::TryToCreate("HTTP/1.1 404 Not Found\r\n\r\n"));
+
+  std::unique_ptr<web::NavigationItem> item = web::NavigationItem::Create();
+  navigation_manager_->SetLastCommittedItem(item.get());
+
+  // Navigate to `url`.
+  item->SetURL(url);
+  item->SetTimestamp(base::Time::Now());
+  navigation_context.SetUrl(url);
+  static_cast<web::WebStateObserver*>(helper)->DidFinishNavigation(
+      &web_state_, &navigation_context);
+
+  // Make sure the visit was recorded.
+  QueryURLAndVisits(url);
+  EXPECT_EQ(url, latest_row_result_.url());
+}
+
+// Tests that a 404 is not recorded if history::kVisitedLinksOn404 is
+// disabled .
+TEST_F(HistoryTabHelperTest, DidFinishNavigationFlagDisabledDoesNotRecord404) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndDisableFeature(history::kVisitedLinksOn404);
+
+  const GURL url("https://url.com");
+
+  HistoryTabHelper* helper = HistoryTabHelper::FromWebState(&web_state_);
+  ASSERT_TRUE(helper);
+
+  web::FakeNavigationContext navigation_context;
+  navigation_context.SetHasCommitted(true);
+  navigation_context.SetResponseHeaders(
+      net::HttpResponseHeaders::TryToCreate("HTTP/1.1 404 Not Found\r\n\r\n"));
+
+  std::unique_ptr<web::NavigationItem> item = web::NavigationItem::Create();
+  navigation_manager_->SetLastCommittedItem(item.get());
+
+  // Navigate to `url`.
+  item->SetURL(url);
+  item->SetTimestamp(base::Time::Now());
+  navigation_context.SetUrl(url);
+  static_cast<web::WebStateObserver*>(helper)->DidFinishNavigation(
+      &web_state_, &navigation_context);
+
+  // Make sure the visit was not recorded.
+  QueryURLAndVisits(url);
+  EXPECT_NE(url, latest_row_result_.url());
+}
diff --git a/ios/chrome/browser/home_customization/coordinator/home_customization_background_picker_action_sheet_coordinator.mm b/ios/chrome/browser/home_customization/coordinator/home_customization_background_picker_action_sheet_coordinator.mm
index 2c64cea2..3219495 100644
--- a/ios/chrome/browser/home_customization/coordinator/home_customization_background_picker_action_sheet_coordinator.mm
+++ b/ios/chrome/browser/home_customization/coordinator/home_customization_background_picker_action_sheet_coordinator.mm
@@ -363,7 +363,7 @@
           _backgroundConfigurationMediator.backgroundSelectionOutcome);
       break;
     case HomeCustomizationBackgroundStyle::kDefault:
-      NOTREACHED();
+      return;
   }
 }
 
diff --git a/ios/chrome/browser/intelligence/persist_tab_context/model/BUILD.gn b/ios/chrome/browser/intelligence/persist_tab_context/model/BUILD.gn
index 1c4db65..1890b46 100644
--- a/ios/chrome/browser/intelligence/persist_tab_context/model/BUILD.gn
+++ b/ios/chrome/browser/intelligence/persist_tab_context/model/BUILD.gn
@@ -3,11 +3,17 @@
 # found in the LICENSE file.
 
 source_set("model") {
-  public = [ "persist_tab_context_browser_agent.h" ]
-  sources = [ "persist_tab_context_browser_agent.mm" ]
+  sources = [
+    "persist_tab_context_browser_agent.h",
+    "persist_tab_context_browser_agent.mm",
+    "persist_tab_context_state_agent.h",
+    "persist_tab_context_state_agent.mm",
+  ]
   deps = [
     "//base",
     "//ios/chrome/browser/intelligence/proto_wrappers",
+    "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
+    "//ios/chrome/browser/shared/coordinator/scene:scene_state_observer",
     "//ios/chrome/browser/shared/model/browser",
     "//ios/chrome/browser/shared/model/profile",
     "//ios/chrome/browser/shared/model/web_state_list",
diff --git a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.h b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.h
index fbdb09bb..2395aa5 100644
--- a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.h
+++ b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.h
@@ -5,12 +5,16 @@
 #ifndef IOS_CHROME_BROWSER_INTELLIGENCE_PERSIST_TAB_CONTEXT_MODEL_PERSIST_TAB_CONTEXT_BROWSER_AGENT_H_
 #define IOS_CHROME_BROWSER_INTELLIGENCE_PERSIST_TAB_CONTEXT_MODEL_PERSIST_TAB_CONTEXT_BROWSER_AGENT_H_
 
-#include "base/scoped_observation.h"
-#include "ios/chrome/browser/intelligence/proto_wrappers/page_context_wrapper.h"
-#include "ios/chrome/browser/shared/model/browser/browser_user_data.h"
-#include "ios/chrome/browser/tabs/model/tabs_dependency_installer.h"
-#include "ios/web/public/web_state.h"
-#include "ios/web/public/web_state_observer.h"
+#import "base/scoped_observation.h"
+#import "ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.h"
+#import "ios/chrome/browser/intelligence/proto_wrappers/page_context_wrapper.h"
+#import "ios/chrome/browser/shared/model/browser/browser_user_data.h"
+#import "ios/chrome/browser/tabs/model/tabs_dependency_installer.h"
+#import "ios/web/public/web_state_observer.h"
+
+namespace web {
+class WebState;
+}  // namespace web
 
 @class PersistTabContextStateObserver;
 
@@ -46,6 +50,11 @@
 
   explicit PersistTabContextBrowserAgent(Browser* browser);
 
+  // Called whenever scene activation level changed. This is explicitly used to
+  // capture the event where a tab is hidden due to the app being backgrounded,
+  // in which case the page context should be retrieved.
+  void OnSceneActivationLevelChanged(SceneActivationLevel level);
+
   // Private callback for PageContextWrapper.
   void OnPageContextExtracted(const std::string& webstate_unique_id,
                               PageContextWrapperCallbackResponse response);
@@ -57,6 +66,11 @@
   base::ScopedObservation<web::WebState, web::WebStateObserver>
       web_state_observation_{this};
 
+  // The service's PersistTabContextStateAgent. The state agent is used to
+  // observe scene state changes such as the application being backgrounded, in
+  // which case the last tab's page context should be saved to storage.
+  __strong PersistTabContextStateAgent* persist_tab_context_state_agent_;
+
   base::WeakPtrFactory<PersistTabContextBrowserAgent> weak_factory_{this};
 };
 
diff --git a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.mm b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.mm
index 1847676..ac93b0b 100644
--- a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.mm
+++ b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_browser_agent.mm
@@ -7,23 +7,42 @@
 #import "base/strings/string_number_conversions.h"
 #import "ios/chrome/browser/intelligence/proto_wrappers/page_context_wrapper.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list.h"
+#import "ios/web/public/web_state.h"
 
 // TODO(crbug.com/445963646): Add metrics logging to browser agent.
-// TODO(crbug.com/447635489): Add state agent to observe app backgrounding
-// events
-// TODO(crbug.com/447646545): Add code coverage for persist tab context
+// TODO(crbug.com/447646545): Add test coverage for persist tab context
 
 PersistTabContextBrowserAgent::PersistTabContextBrowserAgent(Browser* browser)
     : BrowserUserData(browser) {
   StartObserving(browser_->GetWebStateList(), Policy::kAccordingToFeature);
+  persist_tab_context_state_agent_ = [[PersistTabContextStateAgent alloc]
+      initWithTransitionCallback:
+          base::BindRepeating(
+              &PersistTabContextBrowserAgent::OnSceneActivationLevelChanged,
+              weak_factory_.GetWeakPtr())];
+  [browser->GetSceneState() addObserver:persist_tab_context_state_agent_];
 }
 
 PersistTabContextBrowserAgent::~PersistTabContextBrowserAgent() {
   StopObserving();
+  [browser_->GetSceneState() removeObserver:persist_tab_context_state_agent_];
   page_context_wrapper_ = nil;
   web_state_observation_.Reset();
 }
 
+void PersistTabContextBrowserAgent::OnSceneActivationLevelChanged(
+    SceneActivationLevel level) {
+  if (level != SceneActivationLevelBackground) {
+    return;
+  }
+
+  web::WebState* active_web_state = web_state_observation_.GetSource();
+
+  if (active_web_state) {
+    WasHidden(active_web_state);
+  }
+}
+
 void PersistTabContextBrowserAgent::OnPageContextExtracted(
     const std::string& webstate_unique_id,
     PageContextWrapperCallbackResponse response) {
diff --git a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.h b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.h
new file mode 100644
index 0000000..7c33782
--- /dev/null
+++ b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.h
@@ -0,0 +1,27 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_INTELLIGENCE_PERSIST_TAB_CONTEXT_MODEL_PERSIST_TAB_CONTEXT_STATE_AGENT_H_
+#define IOS_CHROME_BROWSER_INTELLIGENCE_PERSIST_TAB_CONTEXT_MODEL_PERSIST_TAB_CONTEXT_STATE_AGENT_H_
+
+#import "base/functional/callback.h"
+#import "ios/chrome/browser/shared/coordinator/scene/scene_state.h"
+#import "ios/chrome/browser/shared/coordinator/scene/scene_state_observer.h"
+
+// A SceneStateObserver that is used by the PersistTabContextBrowserAgent to
+// detect when the scene state changes, specifically for detecting app
+// backgrounding events.
+@interface PersistTabContextStateAgent : NSObject <SceneStateObserver>
+
+// Initializes the agent with a callback to be run on scene activation level
+// changes. `callback` will be executed with the new SceneActivationLevel.
+- (instancetype)initWithTransitionCallback:
+    (base::RepeatingCallback<void(SceneActivationLevel)>)callback
+    NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_INTELLIGENCE_PERSIST_TAB_CONTEXT_MODEL_PERSIST_TAB_CONTEXT_STATE_AGENT_H_
diff --git a/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.mm b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.mm
new file mode 100644
index 0000000..f29c38f
--- /dev/null
+++ b/ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.mm
@@ -0,0 +1,37 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/intelligence/persist_tab_context/model/persist_tab_context_state_agent.h"
+
+#import "base/check.h"
+#import "base/functional/callback.h"
+#import "ios/chrome/browser/shared/coordinator/scene/scene_state.h"
+
+@implementation PersistTabContextStateAgent {
+  // Callback executed whenever the SceneState's activation level changes.
+  // This allows the owner of this observer to be notified of and react to scene
+  // transitions, such as the PersistTabContextBrowserAgent will do when the app
+  // is backgrounded.
+  base::RepeatingCallback<void(SceneActivationLevel)> _transitionCallback;
+}
+
+- (instancetype)initWithTransitionCallback:
+    (base::RepeatingCallback<void(SceneActivationLevel)>)callback {
+  self = [super init];
+  if (self) {
+    CHECK(callback);
+    _transitionCallback = std::move(callback);
+  }
+  return self;
+}
+
+#pragma mark - SceneStateObserver
+
+- (void)sceneState:(SceneState*)sceneState
+    transitionedToActivationLevel:(SceneActivationLevel)level {
+  // Execute the stored callback with the new activation level.
+  _transitionCallback.Run(level);
+}
+
+@end
diff --git a/ios/chrome/browser/lens_overlay/ui/BUILD.gn b/ios/chrome/browser/lens_overlay/ui/BUILD.gn
index c30547f..26358057 100644
--- a/ios/chrome/browser/lens_overlay/ui/BUILD.gn
+++ b/ios/chrome/browser/lens_overlay/ui/BUILD.gn
@@ -89,6 +89,7 @@
   ]
   deps = [
     ":accessibility_identifier_constants",
+    ":panel",
     ":protocols",
     "//base",
     "//components/strings",
@@ -119,6 +120,22 @@
   frameworks = [ "UIKit.framework" ]
 }
 
+source_set("panel") {
+  sources = [
+    "lens_overlay_panel.h",
+    "lens_overlay_panel.mm",
+  ]
+  deps = [
+    "//base",
+    "//components/strings",
+    "//ios/chrome/common/ui/colors",
+    "//ios/chrome/common/ui/util",
+    "//ios/components/ui_util",
+    "//url",
+  ]
+  frameworks = [ "UIKit.framework" ]
+}
+
 source_set("entry_point") {
   sources = [
     "lens_overlay_entrypoint_view.h",
diff --git a/ios/chrome/browser/lens_overlay/ui/lens_overlay_container_view_controller.mm b/ios/chrome/browser/lens_overlay/ui/lens_overlay_container_view_controller.mm
index 1e83310b..2a48e3b 100644
--- a/ios/chrome/browser/lens_overlay/ui/lens_overlay_container_view_controller.mm
+++ b/ios/chrome/browser/lens_overlay/ui/lens_overlay_container_view_controller.mm
@@ -7,6 +7,7 @@
 #import "base/i18n/rtl.h"
 #import "ios/chrome/browser/keyboard/ui_bundled/UIKeyCommand+Chrome.h"
 #import "ios/chrome/browser/lens_overlay/ui/lens_overlay_accessibility_identifier_constants.h"
+#import "ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.h"
 #import "ios/chrome/browser/shared/public/commands/lens_overlay_commands.h"
 #import "ios/chrome/browser/shared/ui/symbols/symbols.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
@@ -23,102 +24,12 @@
 // The duration of the side panel appear and dissapear animations.
 const CGFloat kSidePannelAnimationDuration = 0.4;
 
-// The width of the border outline that surrounds the results page.
-const CGFloat kSidePannelOutlineBorderWidth = 1.0;
-
-// The corner radius of the outline that surrounds the results page.
-const CGFloat kSidePannelOutlineCornerRadius = 13.0;
-
-// The lateral inset ammount of the border outlining the results page.
-const CGFloat kSidePannelOutlineLateralInset = 8.0;
-
-// The bottom inset ammount of the border outlining the results page.
-const CGFloat kSidePannelOutlineBottomInset = 8.0;
-
 // The corner radius of the selection UI when presented in the side panel
 // presentation.
 const CGFloat kSelectionUICornerRadius = 13.0;
 
 }  // namespace
 
-@interface LensOverlaySidePanel : UIViewController
-
-// Creates a new instance wrapping the given content view controller.
-- (instancetype)initWithContent:(UIViewController*)contentViewController;
-
-@end
-
-@implementation LensOverlaySidePanel {
-  // The content view being presented in the side panel.
-  // It is not intended for the ovelay to own the UI it presents.
-  __weak UIViewController* _contentViewController;
-
-  // The outline border of the results page.
-  UIView* _borderView;
-}
-
-- (instancetype)initWithContent:(UIViewController*)contentViewController {
-  self = [super init];
-  if (self) {
-    _contentViewController = contentViewController;
-  }
-
-  return self;
-}
-
-- (void)viewDidLoad {
-  [super viewDidLoad];
-  // To ensure the elements within this side panel adapt properly to its limited
-  // width, explicitly set its horizontal size class to compact.
-  self.traitOverrides.horizontalSizeClass = UIUserInterfaceSizeClassCompact;
-  _borderView = [self createBorderView];
-  [self.view addSubview:_borderView];
-  AddSameConstraintsWithInsets(_borderView, self.view,
-                               [self insetsForInnerOutline]);
-}
-
-- (void)viewWillAppear:(BOOL)animated {
-  [super viewWillAppear:animated];
-
-  if (_contentViewController) {
-    [self addChildViewController:_contentViewController];
-    _contentViewController.view.translatesAutoresizingMaskIntoConstraints = NO;
-    [_borderView addSubview:_contentViewController.view];
-    [_contentViewController didMoveToParentViewController:self];
-
-    AddSameConstraints(_contentViewController.view, _borderView);
-  }
-}
-
-- (void)viewWillDisappear:(BOOL)animated {
-  [_contentViewController removeFromParentViewController];
-  [_contentViewController.view removeFromSuperview];
-  [super viewWillDisappear:animated];
-}
-
-#pragma mark - Private
-
-// The ammount of insets for the outline relative to the bounds.
-- (NSDirectionalEdgeInsets)insetsForInnerOutline {
-  return NSDirectionalEdgeInsetsMake(0, kSidePannelOutlineLateralInset,
-                                     kSidePannelOutlineBottomInset,
-                                     kSidePannelOutlineLateralInset);
-}
-
-// Creates a new border outline view.
-- (UIView*)createBorderView {
-  UIView* borderView = [[UIView alloc] init];
-  borderView.translatesAutoresizingMaskIntoConstraints = NO;
-  borderView.layer.borderWidth = kSidePannelOutlineBorderWidth;
-  borderView.layer.borderColor = [UIColor colorNamed:kGrey200Color].CGColor;
-  borderView.layer.cornerRadius = kSidePannelOutlineCornerRadius;
-  borderView.clipsToBounds = YES;
-
-  return borderView;
-}
-
-@end
-
 @interface LensOverlayContainerViewController ()
 
 // Whether the side panel is open.
@@ -136,7 +47,7 @@
   // accept many interactions, but we do this to be extra safe.
   UIView* _selectionInteractionBlockingView;
   // The side panel container for the results page.
-  LensOverlaySidePanel* _sidePanel;
+  LensOverlayPanel* _sidePanel;
   // Layout guide separating the selection UI and results in the side panel.
   UILayoutGuide* _splitViewLayoutGuide;
   // The constraint controlling the display of the side panel.
@@ -264,7 +175,8 @@
 - (void)presentViewControllerInSidePanel:(UIViewController*)viewController
                                 animated:(BOOL)animated
                               completion:(ProceduralBlock)completion {
-  _sidePanel = [[LensOverlaySidePanel alloc] initWithContent:viewController];
+  _sidePanel = [[LensOverlayPanel alloc] initWithContent:viewController
+                                            insetContent:YES];
   _sidePanel.view.translatesAutoresizingMaskIntoConstraints = NO;
   [self addChildViewController:_sidePanel];
   [self.view addSubview:_sidePanel.view];
diff --git a/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.h b/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.h
new file mode 100644
index 0000000..6429a42
--- /dev/null
+++ b/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.h
@@ -0,0 +1,20 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef IOS_CHROME_BROWSER_LENS_OVERLAY_UI_LENS_OVERLAY_PANEL_H_
+#define IOS_CHROME_BROWSER_LENS_OVERLAY_UI_LENS_OVERLAY_PANEL_H_
+
+#import <UIKit/UIKit.h>
+
+// A general purpose presentation panel for Lens Overlay.
+// Can be used either as a side panel or a bottom sheet.
+@interface LensOverlayPanel : UIViewController
+
+// Creates a new instance wrapping the given content view controller.
+- (instancetype)initWithContent:(UIViewController*)contentViewController
+                   insetContent:(BOOL)insetContent;
+
+@end
+
+#endif  // IOS_CHROME_BROWSER_LENS_OVERLAY_UI_LENS_OVERLAY_PANEL_H_
diff --git a/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.mm b/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.mm
new file mode 100644
index 0000000..e9f5f233
--- /dev/null
+++ b/ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.mm
@@ -0,0 +1,108 @@
+// Copyright 2025 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "ios/chrome/browser/lens_overlay/ui/lens_overlay_panel.h"
+
+#import "ios/chrome/common/ui/colors/semantic_color_names.h"
+#import "ios/chrome/common/ui/util/constraints_ui_util.h"
+
+namespace {
+
+// The width of the border outline that surrounds the results page.
+const CGFloat kSidePannelOutlineBorderWidth = 1.0;
+
+// The corner radius of the outline that surrounds the results page.
+const CGFloat kSidePannelOutlineCornerRadius = 13.0;
+
+// The lateral inset ammount of the border outlining the results page.
+const CGFloat kSidePannelOutlineLateralInset = 8.0;
+
+// The bottom inset ammount of the border outlining the results page.
+const CGFloat kSidePannelOutlineBottomInset = 8.0;
+
+}  // namespace
+
+@implementation LensOverlayPanel {
+  // The content view being presented in the side panel.
+  // It is not intended for the ovelay to own the UI it presents.
+  __weak UIViewController* _contentViewController;
+  // Whether to inset the content or not.
+  BOOL _insetContent;
+
+  // The outline border of the results page.
+  UIView* _borderView;
+}
+
+- (instancetype)initWithContent:(UIViewController*)contentViewController
+                   insetContent:(BOOL)insetContent {
+  self = [super init];
+  if (self) {
+    _contentViewController = contentViewController;
+    _insetContent = insetContent;
+  }
+
+  return self;
+}
+
+#pragma mark - UIViewController
+
+- (void)viewDidLoad {
+  [super viewDidLoad];
+  // To ensure the elements within this side panel adapt properly to its limited
+  // width, explicitly set its horizontal size class to compact.
+  self.traitOverrides.horizontalSizeClass = UIUserInterfaceSizeClassCompact;
+  _borderView = [self createBorderView];
+  [self.view addSubview:_borderView];
+  AddSameConstraintsWithInsets(_borderView, self.view,
+                               [self insetsForInnerOutline]);
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+  [super viewWillAppear:animated];
+
+  if (_contentViewController) {
+    [self addChildViewController:_contentViewController];
+    //    _contentViewController.view.userInteractionEnabled = NO;
+    _contentViewController.view.translatesAutoresizingMaskIntoConstraints = NO;
+    [_borderView addSubview:_contentViewController.view];
+    [_contentViewController didMoveToParentViewController:self];
+
+    AddSameConstraints(_contentViewController.view, _borderView);
+  }
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+  [_contentViewController removeFromParentViewController];
+  [_contentViewController.view removeFromSuperview];
+  [super viewWillDisappear:animated];
+}
+
+#pragma mark - Private
+
+// The ammount of insets for the outline relative to the bounds.
+- (NSDirectionalEdgeInsets)insetsForInnerOutline {
+  if (!_insetContent) {
+    return NSDirectionalEdgeInsetsZero;
+  }
+  return NSDirectionalEdgeInsetsMake(0, kSidePannelOutlineLateralInset,
+                                     kSidePannelOutlineBottomInset,
+                                     kSidePannelOutlineLateralInset);
+}
+
+// Creates a new border outline view.
+- (UIView*)createBorderView {
+  UIView* borderView = [[UIView alloc] init];
+  borderView.translatesAutoresizingMaskIntoConstraints = NO;
+  borderView.layer.cornerRadius = kSidePannelOutlineCornerRadius;
+  borderView.clipsToBounds = YES;
+
+  if (_insetContent) {
+    borderView.layer.borderWidth = kSidePannelOutlineBorderWidth;
+    borderView.layer.borderColor = [UIColor colorNamed:kGrey200Color].CGColor;
+  }
+
+  return borderView;
+}
+
+@end
diff --git a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
index 84d6fad..10c7b0f5 100644
--- a/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
+++ b/ios/chrome/browser/shared/model/prefs/browser_prefs.mm
@@ -360,15 +360,6 @@
                      GetApplicationContext()->GetLocalState());
 }
 
-// Helper function migrating the `bool` preference from Profile prefs to
-// LocalState prefs.
-void MigrateBooleanPrefFromProfilePrefsToLocalStatePrefs(
-    std::string_view pref_name,
-    PrefService* profile_pref_service) {
-  MigrateBooleanPref(pref_name, GetApplicationContext()->GetLocalState(),
-                     profile_pref_service);
-}
-
 // Helper function migrating the `Value::Dict` preference from LocalState prefs
 // to Profile prefs.
 void MigrateDictionaryPrefFromLocalStatePrefsToProfilePrefs(
@@ -1159,10 +1150,6 @@
   autofill::prefs::MigrateDeprecatedAutofillPrefs(prefs);
 
   // Added 09/2024.
-  MigrateBooleanPrefFromProfilePrefsToLocalStatePrefs(
-      password_manager::prefs::kCredentialProviderEnabledOnStartup, prefs);
-
-  // Added 09/2024.
   if (IsIosQuickDeleteEnabled()) {
     browsing_data::prefs::MaybeMigrateToQuickDeletePrefValues(prefs);
   }
diff --git a/ios/chrome/browser/shared/model/prefs/browser_prefs_unittest.mm b/ios/chrome/browser/shared/model/prefs/browser_prefs_unittest.mm
index 5a23412..d632b4c9 100644
--- a/ios/chrome/browser/shared/model/prefs/browser_prefs_unittest.mm
+++ b/ios/chrome/browser/shared/model/prefs/browser_prefs_unittest.mm
@@ -40,31 +40,6 @@
   sync_preferences::TestingPrefServiceSyncable pref_service_;
 };
 
-// Check that the migration of a pref from profile prefService to
-// localState prefService is performed correctly.
-TEST_F(BrowserPrefsTest, VerifyProfilePrefsMigration) {
-  // Simulate registering a value different from default in profile prefService.
-  pref_service_.SetBoolean(
-      password_manager::prefs::kCredentialProviderEnabledOnStartup, true);
-
-  EXPECT_EQ(pref_service_.GetBoolean(
-                password_manager::prefs::kCredentialProviderEnabledOnStartup),
-            true);
-  EXPECT_EQ(local_state()->GetBoolean(
-                password_manager::prefs::kCredentialProviderEnabledOnStartup),
-            false);
-
-  MigrateObsoleteProfilePrefs(&pref_service_);
-
-  // Verify that the prefs were migrated successfully.
-  EXPECT_EQ(pref_service_.GetBoolean(
-                password_manager::prefs::kCredentialProviderEnabledOnStartup),
-            false);
-  EXPECT_EQ(local_state()->GetBoolean(
-                password_manager::prefs::kCredentialProviderEnabledOnStartup),
-            true);
-}
-
 // Check that the migration of a pref from localState prefService to
 // profile prefService is performed correctly.
 TEST_F(BrowserPrefsTest, VerifyLocalStatePrefsMigration) {
diff --git a/ios/chrome/browser/shared/model/profile/test/test_profile_ios.mm b/ios/chrome/browser/shared/model/profile/test/test_profile_ios.mm
index 62eb43a..a2b4173 100644
--- a/ios/chrome/browser/shared/model/profile/test/test_profile_ios.mm
+++ b/ios/chrome/browser/shared/model/profile/test/test_profile_ios.mm
@@ -346,7 +346,7 @@
 TestProfileIOS::Builder& TestProfileIOS::Builder::AddTestingFactories(
     TestingFactories testing_factories) {
   for (auto& item : testing_factories) {
-    testing_factories.emplace_back(std::move(item));
+    testing_factories_.emplace_back(std::move(item));
   }
   return *this;
 }
diff --git a/ios/chrome/browser/web/model/choose_file/OWNERS b/ios/chrome/browser/web/model/choose_file/OWNERS
new file mode 100644
index 0000000..b373bce
--- /dev/null
+++ b/ios/chrome/browser/web/model/choose_file/OWNERS
@@ -0,0 +1,2 @@
+qpubert@google.com
+olivierrobin@google.com
\ No newline at end of file
diff --git a/ios/chrome/credential_provider_extension/BUILD.gn b/ios/chrome/credential_provider_extension/BUILD.gn
index b3b06f4..a5b0603 100644
--- a/ios/chrome/credential_provider_extension/BUILD.gn
+++ b/ios/chrome/credential_provider_extension/BUILD.gn
@@ -140,10 +140,10 @@
   ]
   deps = [
     ":passkey_keychain_provider",
-    ":passkey_util",
     "//base",
     "//components/sync/protocol",
-    "//ios/chrome/credential_provider_extension/ui:credential_response_handler",
+    "//components/webauthn/core/browser:passkey_model",
+    "//ios/chrome/common/credential_provider",
   ]
   frameworks = [ "Foundation.framework" ]
 }
diff --git a/ios/chrome/credential_provider_extension/passkey_keychain_provider.h b/ios/chrome/credential_provider_extension/passkey_keychain_provider.h
index ebf7570..89475ef 100644
--- a/ios/chrome/credential_provider_extension/passkey_keychain_provider.h
+++ b/ios/chrome/credential_provider_extension/passkey_keychain_provider.h
@@ -12,7 +12,6 @@
 #import "base/functional/callback_forward.h"
 
 @class GCRSSOFolsomService;
-@class UIViewController;
 
 // Class to manage passkey vault keys.
 class PasskeyKeychainProvider {
diff --git a/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.h b/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.h
index 92043aa..e82769c 100644
--- a/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.h
+++ b/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.h
@@ -7,7 +7,11 @@
 
 #import "base/ios/block_types.h"
 #import "ios/chrome/credential_provider_extension/passkey_keychain_provider.h"
-#import "ios/chrome/credential_provider_extension/ui/credential_response_handler.h"
+
+@protocol Credential;
+
+typedef void (^FetchSecurityDomainSecretCompletionBlock)(
+    NSArray<NSData*>* security_domain_secrets);
 
 // Delegate for the PasskeyKeychainProviderBridge.
 @protocol PasskeyKeychainProviderBridgeDelegate
diff --git a/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.mm b/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.mm
index 61801b4a..c911b010 100644
--- a/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.mm
+++ b/ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.mm
@@ -4,9 +4,12 @@
 
 #import "ios/chrome/credential_provider_extension/passkey_keychain_provider_bridge.h"
 
+#import "base/apple/foundation_util.h"
+#import "base/containers/to_vector.h"
 #import "base/functional/callback.h"
 #import "components/sync/protocol/webauthn_credential_specifics.pb.h"
-#import "ios/chrome/credential_provider_extension/passkey_util.h"
+#import "components/webauthn/core/browser/passkey_model_utils.h"
+#import "ios/chrome/common/credential_provider/archivable_credential+passkey.h"
 
 typedef void (^CheckEnrolledCompletionBlock)(BOOL is_enrolled, NSError* error);
 typedef void (^ErrorCompletionBlock)(NSError* error);
@@ -30,13 +33,16 @@
 // Returns whether there's at least one valid key in the keys array.
 bool ContainsValidKey(const PasskeyKeychainProvider::SharedKeyList keys,
                       id<Credential> credential) {
-  NSArray<NSData*>* security_domain_secrets = GetSecurityDomainSecret(keys);
+  for (NSData* security_domain_secret in GetSecurityDomainSecret(keys)) {
+    sync_pb::WebauthnCredentialSpecifics_Encrypted credential_secrets;
+    if (webauthn::passkey_model_utils::DecryptWebauthnCredentialSpecificsData(
+            base::ToVector(base::apple::NSDataToSpan(security_domain_secret)),
+            PasskeyFromCredential(credential), &credential_secrets)) {
+      return true;
+    }
+  }
 
-  // DecryptCredentialSecrets will succeed if and only if there's at least one
-  // valid key.
-  std::optional<sync_pb::WebauthnCredentialSpecifics_Encrypted> encrypted =
-      DecryptCredentialSecrets(credential, security_domain_secrets);
-  return encrypted.has_value();
+  return false;
 }
 
 }  // namespace
diff --git a/ios/chrome/credential_provider_extension/ui/credential_response_handler.h b/ios/chrome/credential_provider_extension/ui/credential_response_handler.h
index efae4bd..5584b1539 100644
--- a/ios/chrome/credential_provider_extension/ui/credential_response_handler.h
+++ b/ios/chrome/credential_provider_extension/ui/credential_response_handler.h
@@ -12,9 +12,6 @@
 @class PasskeyRequestDetails;
 @protocol Credential;
 
-typedef void (^FetchSecurityDomainSecretCompletionBlock)(
-    NSArray<NSData*>* security_domain_secrets);
-
 // A handler to allow children to communicate selected credentials back to the
 // parent. This is essentially a wrapper for
 // `ASCredentialProviderExtensionContext` to force all calls through the parent.
diff --git a/ios/web_view/framework/BUILD.gn b/ios/web_view/framework/BUILD.gn
index 8b53727..70db899 100644
--- a/ios/web_view/framework/BUILD.gn
+++ b/ios/web_view/framework/BUILD.gn
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 import("//build/apple/tweak_info_plist.gni")
+import("//build/config/features.gni")
 import("//build/config/ios/rules.gni")
 import("//ios/web_view/features.gni")
 import("//ios/web_view/framework/sources.gni")
@@ -51,7 +52,17 @@
 }
 
 ios_framework_bundle("web_view") {
-  app_ext_safe = true
+  # Building the framework as app extension safe requires building with
+  # `use_partition_alloc = false`. When `use_blink=true`, `gn check`
+  # fails as `//third_party/blink` and its dependencies includes files
+  # from `//partition_alloc` even when `use_partition_alloc = false`.
+  #
+  # See https://crbug.com/448107419 for example of failures for this
+  # configuration. Since ChromeWebView is not shipped when building with
+  # `use_blink = true`, do not build it as app extension safe in that
+  # case.
+  app_ext_safe = !use_blink
+
   output_name = ios_web_view_output_name
   info_plist_target = ":info_plist"
 
diff --git a/ios/web_view/test/web_view_from_wk_web_view_configuration_inttest.mm b/ios/web_view/test/web_view_from_wk_web_view_configuration_inttest.mm
index 527a58f3..77340a2 100644
--- a/ios/web_view/test/web_view_from_wk_web_view_configuration_inttest.mm
+++ b/ios/web_view/test/web_view_from_wk_web_view_configuration_inttest.mm
@@ -122,7 +122,9 @@
 
 // Tests if a CWVWebView can be created from -[CWVWebView
 // initWithFrame:configuration:WKConfiguration:createdWKWebView]
-TEST_F(WebViewFromWKWebViewConfigurationTest, FromWKWebViewConfiguration) {
+// TODO(crbug.com/448343655): disabled as it causes the following test to crash.
+TEST_F(WebViewFromWKWebViewConfigurationTest,
+       DISABLED_FromWKWebViewConfiguration) {
   ASSERT_TRUE(test_server_->Start());
 
   CGRect frame = UIScreen.mainScreen.bounds;
diff --git a/ios_internal b/ios_internal
index c2bcb443..44e85e6e 160000
--- a/ios_internal
+++ b/ios_internal
@@ -1 +1 @@
-Subproject commit c2bcb443c61cbb7d59f64a7b49db28a580c69da0
+Subproject commit 44e85e6e4b546c8211544be6cc351647d8ae88ff
diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
index 19f55b2..640924e1 100644
--- a/media/base/media_switches.cc
+++ b/media/base/media_switches.cc
@@ -360,7 +360,7 @@
 // Enables system audio loopback capture using the macOS CoreAudio tap API for
 // screen share.
 BASE_FEATURE(kMacCatapLoopbackAudioForScreenShare,
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Use the built-in MacOS screen-sharing picker (SCContentSharingPicker). This
 // flag will only use the built-in picker on MacOS 15 Sequoia and later where it
diff --git a/media/capture/capture_switches.cc b/media/capture/capture_switches.cc
index c0f17b27..fd5293b 100644
--- a/media/capture/capture_switches.cc
+++ b/media/capture/capture_switches.cc
@@ -41,6 +41,8 @@
 
 namespace features {
 
+BASE_FEATURE(kExcludePipFromScreenCapture, base::FEATURE_DISABLED_BY_DEFAULT);
+
 #if !BUILDFLAG(IS_ANDROID)
 BASE_FEATURE(kTabCaptureInfobarLinks, base::FEATURE_DISABLED_BY_DEFAULT);
 #endif  // !BUILDFLAG(IS_ANDROID)
diff --git a/media/capture/capture_switches.h b/media/capture/capture_switches.h
index 50d4205..4dfa431 100644
--- a/media/capture/capture_switches.h
+++ b/media/capture/capture_switches.h
@@ -24,6 +24,8 @@
 
 namespace features {
 
+CAPTURE_EXPORT BASE_DECLARE_FEATURE(kExcludePipFromScreenCapture);
+
 #if !BUILDFLAG(IS_ANDROID)
 CAPTURE_EXPORT BASE_DECLARE_FEATURE(kTabCaptureInfobarLinks);
 #endif  // !BUILDFLAG(IS_ANDROID)
diff --git a/net/device_bound_sessions/registration_fetcher_unittest.cc b/net/device_bound_sessions/registration_fetcher_unittest.cc
index 3e80f91..ccc7cc4 100644
--- a/net/device_bound_sessions/registration_fetcher_unittest.cc
+++ b/net/device_bound_sessions/registration_fetcher_unittest.cc
@@ -147,9 +147,9 @@
   base::OnceClosure closure_;
 };
 
-class RegistrationTest : public TestWithTaskEnvironment {
+class RegistrationTestBase : public TestWithTaskEnvironment {
  protected:
-  RegistrationTest()
+  RegistrationTestBase()
       : server_(test_server::EmbeddedTestServer::TYPE_HTTPS),
         unexportable_key_service_(task_manager_),
         host_resolver_(
@@ -241,7 +241,21 @@
   scoped_refptr<net::RuleBasedHostResolverProc> host_resolver_;
 };
 
-class RegistrationTestWithOriginTrialFeedback : public RegistrationTest {
+class RegistrationTest : public RegistrationTestBase,
+                         public testing::WithParamInterface<bool> {
+ protected:
+  RegistrationTest() {
+    feature_list_.InitAndEnableFeatureWithParameters(
+        features::kDeviceBoundSessions,
+        {{features::kDeviceBoundSessionsOriginTrialFeedback.name,
+          GetParam() ? "true" : "false"}});
+  }
+
+  base::test::ScopedFeatureList feature_list_;
+};
+INSTANTIATE_TEST_SUITE_P(All, RegistrationTest, testing::Bool());
+
+class RegistrationTestWithOriginTrialFeedback : public RegistrationTestBase {
  protected:
   RegistrationTestWithOriginTrialFeedback() {
     feature_list_.InitAndEnableFeatureWithParameters(
@@ -252,7 +266,7 @@
   base::test::ScopedFeatureList feature_list_;
 };
 
-class RegistrationTestWithoutOriginTrialFeedback : public RegistrationTest {
+class RegistrationTestWithoutOriginTrialFeedback : public RegistrationTestBase {
  protected:
   RegistrationTestWithoutOriginTrialFeedback() {
     feature_list_.InitAndEnableFeatureWithParameters(
@@ -470,7 +484,7 @@
   return *challenge;
 }
 
-TEST_F(RegistrationTest, BasicSuccess) {
+TEST_P(RegistrationTest, BasicSuccess) {
   base::HistogramTester histogram_tester;
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
@@ -513,7 +527,7 @@
       "Net.DeviceBoundSessions.Registration.Network.Result", HTTP_OK, 1);
 }
 
-TEST_F(RegistrationTest, NoScopeJson) {
+TEST_P(RegistrationTest, NoScopeJson) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -544,7 +558,7 @@
   EXPECT_EQ(out_session.error().type, SessionError::ErrorType::kMissingScope);
 }
 
-TEST_F(RegistrationTest, NoSessionIdJson) {
+TEST_P(RegistrationTest, NoSessionIdJson) {
   constexpr char kTestingJson[] =
       R"({
   "credentials": [{
@@ -575,7 +589,7 @@
             SessionError::ErrorType::kInvalidSessionId);
 }
 
-TEST_F(RegistrationTest, SpecificationNotDictJson) {
+TEST_P(RegistrationTest, SpecificationNotDictJson) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -614,7 +628,7 @@
   EXPECT_EQ(session_error.type, SessionError::ErrorType::kInvalidScopeRule);
 }
 
-TEST_F(RegistrationTest, MissingPathDefaults) {
+TEST_P(RegistrationTest, MissingPathDefaults) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -668,7 +682,7 @@
           EqualsInclusionRule(proto::RuleType::EXCLUDE, "a.test", "/refresh")));
 }
 
-TEST_F(RegistrationTest, MissingDomainDefaults) {
+TEST_P(RegistrationTest, MissingDomainDefaults) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -722,7 +736,7 @@
           EqualsInclusionRule(proto::RuleType::EXCLUDE, "a.test", "/refresh")));
 }
 
-TEST_F(RegistrationTest, MissingRefreshUrlDefault) {
+TEST_P(RegistrationTest, MissingRefreshUrlDefault) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -768,7 +782,7 @@
   EXPECT_EQ(out_session.session().refresh_url(), GetBaseURL());
 }
 
-TEST_F(RegistrationTest, OneSpecTypeInvalid) {
+TEST_P(RegistrationTest, OneSpecTypeInvalid) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -816,7 +830,7 @@
             SessionError::ErrorType::kInvalidScopeRule);
 }
 
-TEST_F(RegistrationTest, InvalidTypeSpecList) {
+TEST_P(RegistrationTest, InvalidTypeSpecList) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -857,7 +871,7 @@
                                               "a.test", "/refresh")));
 }
 
-TEST_F(RegistrationTest, TypeIsNotCookie) {
+TEST_P(RegistrationTest, TypeIsNotCookie) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -893,7 +907,7 @@
             SessionError::ErrorType::kInvalidCredentials);
 }
 
-TEST_F(RegistrationTest, TwoTypesCookie_NotCookie) {
+TEST_P(RegistrationTest, TwoTypesCookie_NotCookie) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -936,7 +950,7 @@
             SessionError::ErrorType::kInvalidCredentials);
 }
 
-TEST_F(RegistrationTest, TwoTypesNotCookie_Cookie) {
+TEST_P(RegistrationTest, TwoTypesNotCookie_Cookie) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -979,7 +993,7 @@
             SessionError::ErrorType::kInvalidCredentials);
 }
 
-TEST_F(RegistrationTest, CredEntryWithoutDict) {
+TEST_P(RegistrationTest, CredEntryWithoutDict) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -1016,7 +1030,7 @@
             SessionError::ErrorType::kInvalidCredentials);
 }
 
-TEST_F(RegistrationTest, CredEntryWithoutAttributes) {
+TEST_P(RegistrationTest, CredEntryWithoutAttributes) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -1056,7 +1070,7 @@
   ASSERT_TRUE(out_session.is_session());
 }
 
-TEST_F(RegistrationTest, CredEntryWithEmptyName) {
+TEST_P(RegistrationTest, CredEntryWithEmptyName) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -1092,7 +1106,7 @@
             SessionError::ErrorType::kInvalidCredentials);
 }
 
-TEST_F(RegistrationTest, ReturnTextFile) {
+TEST_P(RegistrationTest, ReturnTextFile) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(base::BindRepeating(&ReturnTextResponse));
   ASSERT_TRUE(server_.Start());
@@ -1113,7 +1127,7 @@
             SessionError::ErrorType::kInvalidConfigJson);
 }
 
-TEST_F(RegistrationTest, ReturnInvalidJson) {
+TEST_P(RegistrationTest, ReturnInvalidJson) {
   std::string invalid_json = "*{}";
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
@@ -1136,7 +1150,7 @@
             SessionError::ErrorType::kInvalidConfigJson);
 }
 
-TEST_F(RegistrationTest, ReturnEmptyJson) {
+TEST_P(RegistrationTest, ReturnEmptyJson) {
   std::string empty_json = "{}";
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
@@ -1159,7 +1173,7 @@
             SessionError::ErrorType::kInvalidSessionId);
 }
 
-TEST_F(RegistrationTest, NetworkErrorServerShutdown) {
+TEST_P(RegistrationTest, NetworkErrorServerShutdown) {
   base::HistogramTester histogram_tester;
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   ASSERT_TRUE(server_.Start());
@@ -1186,7 +1200,7 @@
       net::ERR_CONNECTION_REFUSED, 1);
 }
 
-TEST_F(RegistrationTest, NetworkErrorInvalidResponse) {
+TEST_P(RegistrationTest, NetworkErrorInvalidResponse) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(base::BindRepeating(&ReturnInvalidResponse));
   ASSERT_TRUE(server_.Start());
@@ -1208,7 +1222,7 @@
             SessionError::ErrorType::kNetError);
 }
 
-TEST_F(RegistrationTest, ServerError407) {
+TEST_P(RegistrationTest, ServerError407) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(base::BindRepeating(
       &ReturnResponse, HTTP_PROXY_AUTHENTICATION_REQUIRED, kBasicValidJson));
@@ -1231,7 +1245,7 @@
             SessionError::ErrorType::kNetError);
 }
 
-TEST_F(RegistrationTest, ServerError400) {
+TEST_P(RegistrationTest, ServerError400) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_BAD_REQUEST, kBasicValidJson));
@@ -1254,7 +1268,7 @@
             SessionError::ErrorType::kPersistentHttpError);
 }
 
-TEST_F(RegistrationTest, ServerError500) {
+TEST_P(RegistrationTest, ServerError500) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(base::BindRepeating(
       &ReturnResponse, HTTP_INTERNAL_SERVER_ERROR, kBasicValidJson));
@@ -1386,7 +1400,7 @@
 }
 
 // Should be allowed: https://a.test -> https://a.test/redirect.
-TEST_F(RegistrationTest, FollowHttpsToHttpsRedirect) {
+TEST_P(RegistrationTest, FollowHttpsToHttpsRedirect) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   bool followed = false;
   server_.RegisterRequestHandler(
@@ -1413,7 +1427,7 @@
   EXPECT_TRUE(callback.outcome().is_session());
 }
 
-TEST_F(RegistrationTest, FailOnSslErrorExpired) {
+TEST_P(RegistrationTest, FailOnSslErrorExpired) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -1477,7 +1491,7 @@
   return response;
 }
 
-TEST_F(RegistrationTest, BasicSuccessForExistingKey) {
+TEST_P(RegistrationTest, BasicSuccessForExistingKey) {
   base::HistogramTester histogram_tester;
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
@@ -1518,7 +1532,7 @@
       "Net.DeviceBoundSessions.Refresh.Network.Result", HTTP_OK, 1);
 }
 
-TEST_F(RegistrationTest, FetchRegistrationWithCachedChallenge) {
+TEST_P(RegistrationTest, FetchRegistrationWithCachedChallenge) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponseForRefreshRequest));
@@ -1787,7 +1801,7 @@
   ASSERT_TRUE(out_session.is_session());
 }
 
-TEST_F(RegistrationTest, ContinueFalse) {
+TEST_P(RegistrationTest, ContinueFalse) {
   constexpr char kTestingJson[] =
       R"({
   "session_identifier": "session_id",
@@ -1815,7 +1829,7 @@
   EXPECT_EQ(error.type, SessionError::ErrorType::kServerRequestedTermination);
 }
 
-TEST_F(RegistrationTest, RetriesOnKeyFailure) {
+TEST_P(RegistrationTest, RetriesOnKeyFailure) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -1858,7 +1872,7 @@
   ASSERT_TRUE(out_session.is_session());
 }
 
-TEST_F(RegistrationTest, TerminateSessionOnRepeatedFailure_Refresh) {
+TEST_P(RegistrationTest, TerminateSessionOnRepeatedFailure_Refresh) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -1898,7 +1912,7 @@
   EXPECT_EQ(out_session.error().type, SessionError::ErrorType::kSigningError);
 }
 
-TEST_F(RegistrationTest, TerminateSessionOnRepeatedFailure_Registration) {
+TEST_P(RegistrationTest, TerminateSessionOnRepeatedFailure_Registration) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -1938,7 +1952,7 @@
   EXPECT_EQ(out_session.error().type, SessionError::ErrorType::kSigningError);
 }
 
-TEST_F(RegistrationTest, NetLogRegistrationResultLogged) {
+TEST_P(RegistrationTest, NetLogRegistrationResultLogged) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -1963,7 +1977,7 @@
             1u);
 }
 
-TEST_F(RegistrationTest, NetLogRefreshResultLogged) {
+TEST_P(RegistrationTest, NetLogRefreshResultLogged) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, kBasicValidJson));
@@ -2062,7 +2076,7 @@
   EXPECT_EQ(session_error.type, SessionError::ErrorType::kTooManyChallenges);
 }
 
-TEST_F(RegistrationTest, RefreshWithNewSessionIdFails) {
+TEST_P(RegistrationTest, RefreshWithNewSessionIdFails) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
 
   server_.RegisterRequestHandler(
@@ -2091,7 +2105,7 @@
   EXPECT_EQ(session_error.type, SessionError::ErrorType::kMismatchedSessionId);
 }
 
-TEST_F(RegistrationTest, RegistrationWithNonStringRefreshInitiatorsFails) {
+TEST_P(RegistrationTest, RegistrationWithNonStringRefreshInitiatorsFails) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
 
   constexpr char kNonStringInitiator[] =
@@ -2229,7 +2243,7 @@
             SessionError::ErrorType::kInvalidScopeIncludeSite);
 }
 
-TEST_F(RegistrationTest, ShutdownDuringRequest) {
+TEST_P(RegistrationTest, ShutdownDuringRequest) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   base::RunLoop run_loop;
   server_.RegisterRequestHandler(base::BindRepeating(
@@ -2289,7 +2303,7 @@
   ASSERT_TRUE(out_session.is_session());
 }
 
-TEST_F(RegistrationTest, EmptyResponse) {
+TEST_P(RegistrationTest, EmptyResponse) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating(&ReturnResponse, HTTP_OK, ""));
@@ -2310,7 +2324,7 @@
   EXPECT_TRUE(out_session.is_no_session_config_change());
 }
 
-TEST_F(RegistrationTest, SetChallengeOnRegistration) {
+TEST_P(RegistrationTest, SetChallengeOnRegistration) {
   crypto::ScopedFakeUnexportableKeyProvider scoped_fake_key_provider;
   server_.RegisterRequestHandler(
       base::BindRepeating([](const test_server::HttpRequest& request)
diff --git a/net/device_bound_sessions/test_support.cc b/net/device_bound_sessions/test_support.cc
index 327e066a..487b58ed 100644
--- a/net/device_bound_sessions/test_support.cc
+++ b/net/device_bound_sessions/test_support.cc
@@ -284,8 +284,10 @@
   const std::string& payload64 = jwt_sections[1];
   const std::string& signature64 = jwt_sections[2];
 
-  std::string payload, signature;
+  std::string header, payload, signature;
   if (!base::Base64UrlDecode(
+          header64, base::Base64UrlDecodePolicy::DISALLOW_PADDING, &header) ||
+      !base::Base64UrlDecode(
           payload64, base::Base64UrlDecodePolicy::DISALLOW_PADDING, &payload) ||
       !base::Base64UrlDecode(signature64,
                              base::Base64UrlDecodePolicy::DISALLOW_PADDING,
@@ -293,14 +295,22 @@
     return false;
   }
 
-  // Extract the JWK.
+  const std::optional<base::Value::Dict> header_json =
+      base::JSONReader::ReadDict(header, base::JSON_PARSE_CHROMIUM_EXTENSIONS);
+  if (!header_json) {
+    return false;
+  }
   const std::optional<base::Value::Dict> payload_json =
       base::JSONReader::ReadDict(payload, base::JSON_PARSE_CHROMIUM_EXTENSIONS);
   if (!payload_json) {
     return false;
   }
 
-  const base::Value::Dict* jwk = payload_json->FindDict("key");
+  // Extract the JWK.
+  const base::Value::Dict* jwk =
+      net::features::kDeviceBoundSessionsOriginTrialFeedback.Get()
+          ? header_json->FindDict("jwk")
+          : payload_json->FindDict("key");
   if (!jwk) {
     return false;
   }
diff --git a/net/device_bound_sessions/test_support.h b/net/device_bound_sessions/test_support.h
index 54a6c4f..1b968b92 100644
--- a/net/device_bound_sessions/test_support.h
+++ b/net/device_bound_sessions/test_support.h
@@ -31,8 +31,7 @@
 EmbeddedTestServer::HandleRequestCallback GetTestRequestHandler(
     const GURL& base_url);
 
-// Verify the signature of a JWT using the ES256 JWK stored in the "key" claim
-// in its payload.
+// Verify the signature of a JWT using the ES256 JWK stored in it.
 bool VerifyEs256Jwt(std::string_view jwt);
 
 #if BUILDFLAG(ENABLE_DEVICE_BOUND_SESSIONS)
diff --git a/remoting/protocol/channel_socket_adapter.cc b/remoting/protocol/channel_socket_adapter.cc
index 8498d6d..68b423d 100644
--- a/remoting/protocol/channel_socket_adapter.cc
+++ b/remoting/protocol/channel_socket_adapter.cc
@@ -24,8 +24,10 @@
                 const webrtc::ReceivedIpPacket& packet) {
         OnNewPacket(transport, packet);
       });
-  channel_->SignalWritableState.connect(
-      this, &TransportChannelSocketAdapter::OnWritableState);
+  channel_->SubscribeWritableState(
+      this, [this](webrtc::PacketTransportInternal* transport) {
+        OnWritableState(transport);
+      });
   channel_->SignalDestroyed.connect(
       this, &TransportChannelSocketAdapter::OnChannelDestroyed);
 }
diff --git a/testing/libfuzzer/fuzzers/BUILD.gn b/testing/libfuzzer/fuzzers/BUILD.gn
index 7d242e1..1c67eee 100644
--- a/testing/libfuzzer/fuzzers/BUILD.gn
+++ b/testing/libfuzzer/fuzzers/BUILD.gn
@@ -104,7 +104,7 @@
   sources = [ "libpng_read_fuzzer.cc" ]
   deps = [
     "//base",
-    "//third_party/libpng",
+    "//third_party/libpng:libpng_for_testonly",
   ]
   dict = "dicts/png.dict"
   seed_corpuses = libpng_seed_corpuses
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 1569e8869..34b83fa 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -1272,6 +1272,25 @@
             ]
         }
     ],
+    "AnimationTrigger": [
+        {
+            "platforms": [
+                "android",
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled_20250929",
+                    "enable_features": [
+                        "AnimationTrigger"
+                    ]
+                }
+            ]
+        }
+    ],
     "AnnotatedPageContentExtraction": [
         {
             "platforms": [
@@ -4026,6 +4045,23 @@
             ]
         }
     ],
+    "BoostThreadsPriority": [
+        {
+            "platforms": [
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "CompositorAndInputScenarioBoost",
+                    "enable_features": [
+                        "BoostCompositorThreadsPriorityWhenIdle",
+                        "BoostThreadsPriorityDuringInputScenario",
+                        "IOThreadInteractiveThreadType"
+                    ]
+                }
+            ]
+        }
+    ],
     "BorealisProvision": [
         {
             "platforms": [
@@ -8803,27 +8839,6 @@
             ]
         }
     ],
-    "DevToolsAiSubmenuPrompts": [
-        {
-            "platforms": [
-                "chromeos",
-                "linux",
-                "mac",
-                "windows"
-            ],
-            "experiments": [
-                {
-                    "name": "Enabled",
-                    "enable_features": [
-                        "DevToolsAiSubmenuPrompts"
-                    ],
-                    "disable_features": [
-                        "DevToolsAiDebugWithAi"
-                    ]
-                }
-            ]
-        }
-    ],
     "DeviceBoundSessionCredentials": [
         {
             "platforms": [
@@ -12773,6 +12788,21 @@
             ]
         }
     ],
+    "IOSAutofillBottomSheetNewBlur": [
+        {
+            "platforms": [
+                "ios"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "AutofillBottomSheetNewBlur"
+                    ]
+                }
+            ]
+        }
+    ],
     "IOSAutofillRefillForForms": [
         {
             "platforms": [
@@ -26140,6 +26170,26 @@
             ]
         }
     ],
+    "V8MemoryReducerFavorsMemoryAblation": [
+        {
+            "platforms": [
+                "android",
+                "android_webview",
+                "chromeos",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Disabled",
+                    "disable_features": [
+                        "V8Flag_memory_reducer_favors_memory"
+                    ]
+                }
+            ]
+        }
+    ],
     "V8ParserAblation": [
         {
             "platforms": [
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 098f5fa4..01e8a8e9 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -978,7 +978,7 @@
 
 // If enabled, then display audio track permission failures are ignored.
 BASE_FEATURE(kGetDisplayMediaIgnoreAudioPermissionFailures,
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 BASE_FEATURE_PARAM(std::string,
                    kHTMLParserYieldEventNameForPause,
diff --git a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
index 2758d78..5e9523e 100644
--- a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
+++ b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
@@ -2202,7 +2202,7 @@
   kV8XRSession_End_Method = 2911,
   kV8XRWebGLLayer_Constructor = 2912,
   kFetchKeepalive = 2913,
-  kCSSTransitionCancelledByRemovingStyle = 2914,
+  kOBSOLETE_CSSTransitionCancelledByRemovingStyle = 2914,
   kV8RTCRtpSender_SetStreams_Method = 2915,
   kCookieNoSameSite = 2916,
   kCookieInsecureAndSameSiteNone = 2917,
diff --git a/third_party/blink/public/web/web_frame_widget.h b/third_party/blink/public/web/web_frame_widget.h
index a0cb8d3..9df57a4 100644
--- a/third_party/blink/public/web/web_frame_widget.h
+++ b/third_party/blink/public/web/web_frame_widget.h
@@ -261,12 +261,6 @@
   // Update the LocalSurfaceId used for frames produced by this widget.
   virtual void ApplyLocalSurfaceIdUpdate(const viz::LocalSurfaceId& id) = 0;
 
-  // Requests that the callback be invoked after the next frame is generated and
-  // presented in the display compositor. Returns true if the callback was
-  // queued, false if the widget doesn't have a compositor and the callback is
-  // dropped without being invoked.
-  virtual bool InsertVisualStateRequest(base::OnceClosure callback) = 0;
-
  private:
   // This is a private virtual method so we don't expose cc::LayerTreeHost
   // outside of this class. Friend classes may be added in order to access it.
diff --git a/third_party/blink/renderer/core/animation/css/css_animations.cc b/third_party/blink/renderer/core/animation/css/css_animations.cc
index bf96a0c..9b2307ec 100644
--- a/third_party/blink/renderer/core/animation/css/css_animations.cc
+++ b/third_party/blink/renderer/core/animation/css/css_animations.cc
@@ -2530,19 +2530,7 @@
           active_transition_iter->value;
       if (ComputedValuesEqual(property, after_change_style,
                               *running_transition->to)) {
-        if (!state.transition_data) {
-          if (!running_transition->animation->FinishedInternal()) {
-            UseCounter::Count(
-                state.animating_element.GetDocument(),
-                WebFeature::kCSSTransitionCancelledByRemovingStyle);
-          }
-          if (RuntimeEnabledFeatures::
-                  CSSTransitionNoneRunningTransitionsFixEnabled()) {
-            return;
-          }
-        } else {
-          return;
-        }
+        return;
       }
       state.update.CancelTransition(property);
       DCHECK(!state.animating_element.GetElementAnimations() ||
diff --git a/third_party/blink/renderer/core/css/css_math_expression_node.cc b/third_party/blink/renderer/core/css/css_math_expression_node.cc
index 7ebd676..3a57233 100644
--- a/third_party/blink/renderer/core/css/css_math_expression_node.cc
+++ b/third_party/blink/renderer/core/css/css_math_expression_node.cc
@@ -1928,10 +1928,6 @@
 CSSMathExpressionNode* CSSMathExpressionOperation::CreateExponentialFunction(
     Operands&& operands,
     CSSValueID function_id) {
-  if (!RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled()) {
-    return nullptr;
-  }
-
   // calc-size() is not allowed as a parameter to exponential functions,
   // since it can only be a base of any calculation.
   // Also, intermediate calculations are not allowed as parameters to
@@ -4077,13 +4073,12 @@
       case CSSValueID::kRound:
       case CSSValueID::kMod:
       case CSSValueID::kRem:
-        return true;
       case CSSValueID::kPow:
       case CSSValueID::kSqrt:
       case CSSValueID::kHypot:
       case CSSValueID::kLog:
       case CSSValueID::kExp:
-        return RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled();
+        return true;
       case CSSValueID::kAbs:
       case CSSValueID::kSign:
         return RuntimeEnabledFeatures::CSSSignRelatedFunctionsEnabled();
@@ -4415,21 +4410,17 @@
         max_argument_count = 1;
         break;
       case CSSValueID::kPow:
-        DCHECK(RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled());
         max_argument_count = 2;
         min_argument_count = 2;
         break;
       case CSSValueID::kExp:
       case CSSValueID::kSqrt:
-        DCHECK(RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled());
         max_argument_count = 1;
         break;
       case CSSValueID::kHypot:
-        DCHECK(RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled());
         max_argument_count = kMaxExpressionDepth;
         break;
       case CSSValueID::kLog:
-        DCHECK(RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled());
         max_argument_count = 2;
         break;
       case CSSValueID::kRound:
@@ -4533,7 +4524,6 @@
       case CSSValueID::kHypot:
       case CSSValueID::kLog:
       case CSSValueID::kExp: {
-        DCHECK(RuntimeEnabledFeatures::CSSExponentialFunctionsEnabled());
         CSSMathExpressionNode* node =
             CSSMathExpressionOperation::CreateExponentialFunction(
                 std::move(nodes), function_id);
diff --git a/third_party/blink/renderer/core/dom/events/event.cc b/third_party/blink/renderer/core/dom/events/event.cc
index 3c6b6a6..27b99e2 100644
--- a/third_party/blink/renderer/core/dom/events/event.cc
+++ b/third_party/blink/renderer/core/dom/events/event.cc
@@ -360,19 +360,17 @@
     }
     NOTREACHED();
   }
+  LocalDOMWindow* window = current_target_->ToLocalDOMWindow();
+  if (window && event_path_ && !event_path_->IsEmpty()) {
+    return HeapVector<Member<EventTarget>>(event_path_->TopNodeEventContext()
+                                               .GetTreeScopeEventContext()
+                                               .EnsureEventPath(*event_path_));
+  }
 
-  if (LocalDOMWindow* window = current_target_->ToLocalDOMWindow()) {
-    if (event_path_ && !event_path_->IsEmpty()) {
-      return HeapVector<Member<EventTarget>>(
-          event_path_->TopNodeEventContext()
-              .GetTreeScopeEventContext()
-              .EnsureEventPath(*event_path_));
-    }
-    if (RuntimeEnabledFeatures::ComposedPathEmptyAfterDispatchEnabled() &&
-        !IsBeingDispatched()) {
-      return HeapVector<Member<EventTarget>>();
-    }
-    return HeapVector<Member<EventTarget>>(1, window);
+  if (RuntimeEnabledFeatures::ComposedPathReturnTargetBeingDispatchedEnabled()
+          ? IsBeingDispatched()
+          : !!window) {
+    return HeapVector<Member<EventTarget>>(1, current_target_);
   }
 
   return HeapVector<Member<EventTarget>>();
diff --git a/third_party/blink/renderer/core/dom/events/event_target.cc b/third_party/blink/renderer/core/dom/events/event_target.cc
index 916bcc7..986d076 100644
--- a/third_party/blink/renderer/core/dom/events/event_target.cc
+++ b/third_party/blink/renderer/core/dom/events/event_target.cc
@@ -870,6 +870,9 @@
   event.SetCurrentTarget(this);
   event.SetEventPhase(Event::PhaseType::kAtTarget);
   DispatchEventResult dispatch_result = FireEventListeners(event);
+  if (RuntimeEnabledFeatures::ClearCurrentTargetAfterDispatchEnabled()) {
+    event.SetCurrentTarget(nullptr);
+  }
   event.SetEventPhase(Event::PhaseType::kNone);
   return dispatch_result;
 }
diff --git a/third_party/blink/renderer/core/dom/tree_scope.cc b/third_party/blink/renderer/core/dom/tree_scope.cc
index f4ab63b..d86d5dc 100644
--- a/third_party/blink/renderer/core/dom/tree_scope.cc
+++ b/third_party/blink/renderer/core/dom/tree_scope.cc
@@ -628,8 +628,8 @@
     CHECK(scroll_marker->ScrollMarkerGroup());
     // https://drafts.csswg.org/css-overflow-5/#active-element
     element = &scroll_marker->ScrollMarkerGroup()->UltimateOriginatingElement();
-  } else if (pseudo_element) {
-    element = &pseudo_element->UltimateOriginatingElement();
+  } else if (auto* maybe_pseudo = DynamicTo<PseudoElement>(element)) {
+    element = &maybe_pseudo->UltimateOriginatingElement();
   }
 
   CHECK(!element->IsPseudoElement());
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
index 72c84657..6a1ba70 100644
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
@@ -5177,10 +5177,6 @@
   widget_base_->LayerTreeHost()->SetLocalSurfaceIdFromParent(id);
 }
 
-bool WebFrameWidgetImpl::InsertVisualStateRequest(base::OnceClosure callback) {
-  return widget_base_->InsertVisualStateRequest(std::move(callback));
-}
-
 void WebFrameWidgetImpl::SetMayThrottleIfUndrawnFrames(
     bool may_throttle_if_undrawn_frames) {
   if (!View()->does_composite())
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
index 7d79a1d..4685d33c 100644
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
@@ -390,7 +390,6 @@
   FrameWidgetTestHelper* GetFrameWidgetTestHelperForTesting() override;
   void PrepareForFinalLifecyclUpdateForTesting() override;
   void ApplyLocalSurfaceIdUpdate(const viz::LocalSurfaceId& id) override;
-  bool InsertVisualStateRequest(base::OnceClosure callback) override;
 
   // Called when a drag-n-drop operation should begin.
   virtual void StartDragging(LocalFrame* source_frame,
diff --git a/third_party/blink/renderer/core/scheduler/dom_scheduler.cc b/third_party/blink/renderer/core/scheduler/dom_scheduler.cc
index ff3cd31..72566e5e00 100644
--- a/third_party/blink/renderer/core/scheduler/dom_scheduler.cc
+++ b/third_party/blink/renderer/core/scheduler/dom_scheduler.cc
@@ -208,20 +208,17 @@
   bool can_use_context = task_context->CanPropagateTo(*GetExecutionContext());
   // Record use counters for non-trival inheritance, i.e. cases where the
   // inheritance can change the scheduling in a meaningful way.
-  if (RuntimeEnabledFeatures::
-          SchedulerYieldDisallowCrossFrameInheritanceEnabled()) {
-    AbortSignal* abort_source = task_context->AbortSource();
-    DOMTaskSignal* priority_source = task_context->PrioritySource();
-    if ((abort_source && abort_source->CanAbort()) ||
-        (priority_source && (!priority_source->HasFixedPriority() ||
-                             priority_source->priority().AsEnum() !=
-                                 V8TaskPriority::Enum::kUserVisible))) {
-      UseCounter::Count(
-          GetExecutionContext(),
-          can_use_context
-              ? WebFeature::kSchedulerYieldNonTrivialInherit
-              : WebFeature::kSchedulerYieldNonTrivialInheritCrossFrameIgnored);
-    }
+  AbortSignal* abort_source = task_context->AbortSource();
+  DOMTaskSignal* priority_source = task_context->PrioritySource();
+  if ((abort_source && abort_source->CanAbort()) ||
+      (priority_source && (!priority_source->HasFixedPriority() ||
+                           priority_source->priority().AsEnum() !=
+                               V8TaskPriority::Enum::kUserVisible))) {
+    UseCounter::Count(
+        GetExecutionContext(),
+        can_use_context
+            ? WebFeature::kSchedulerYieldNonTrivialInherit
+            : WebFeature::kSchedulerYieldNonTrivialInheritCrossFrameIgnored);
   }
   return can_use_context ? task_context : nullptr;
 }
diff --git a/third_party/blink/renderer/core/scheduler/scheduler_task_context.cc b/third_party/blink/renderer/core/scheduler/scheduler_task_context.cc
index a50a6a2..6f9ef08 100644
--- a/third_party/blink/renderer/core/scheduler/scheduler_task_context.cc
+++ b/third_party/blink/renderer/core/scheduler/scheduler_task_context.cc
@@ -4,12 +4,9 @@
 
 #include "third_party/blink/renderer/core/scheduler/scheduler_task_context.h"
 
-#include "base/memory/scoped_refptr.h"
 #include "third_party/blink/renderer/core/dom/abort_signal.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/scheduler/dom_task_signal.h"
-#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
-#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
 
 namespace blink {
 
@@ -18,8 +15,6 @@
                                            DOMTaskSignal* priority_source)
     : abort_source_(abort_source),
       priority_source_(priority_source),
-      security_origin_(
-          base::WrapRefCounted(context->GetMutableSecurityOrigin())),
       scheduler_execution_context_(context) {}
 
 void SchedulerTaskContext::Trace(Visitor* visitor) const {
@@ -38,10 +33,7 @@
 
 bool SchedulerTaskContext::CanPropagateTo(
     const ExecutionContext& target) const {
-  return RuntimeEnabledFeatures::
-                 SchedulerYieldDisallowCrossFrameInheritanceEnabled()
-             ? &target == scheduler_execution_context_.Get()
-             : target.GetSecurityOrigin()->CanAccess(security_origin_.get());
+  return &target == scheduler_execution_context_.Get();
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/scheduler/scheduler_task_context.h b/third_party/blink/renderer/core/scheduler/scheduler_task_context.h
index bb8b6f3..e382e0fa 100644
--- a/third_party/blink/renderer/core/scheduler/scheduler_task_context.h
+++ b/third_party/blink/renderer/core/scheduler/scheduler_task_context.h
@@ -9,13 +9,11 @@
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
 #include "third_party/blink/renderer/platform/heap/member.h"
-#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
 
 namespace blink {
 class AbortSignal;
 class DOMTaskSignal;
 class ExecutionContext;
-class SecurityOrigin;
 
 class SchedulerTaskContext : public GarbageCollected<SchedulerTaskContext> {
  public:
@@ -33,10 +31,6 @@
  private:
   const Member<AbortSignal> abort_source_;
   const Member<DOMTaskSignal> priority_source_;
-  // The `SecurityOrigin` and `ExecutionContext` associated with the
-  // `DOMScheduler` from where this state originated. Used to determine if the
-  // state can be propagated to another `ExecutionContext`.
-  const scoped_refptr<SecurityOrigin> security_origin_;
   const WeakMember<ExecutionContext> scheduler_execution_context_;
 };
 
diff --git a/third_party/blink/renderer/modules/mediastream/user_media_client_test.cc b/third_party/blink/renderer/modules/mediastream/user_media_client_test.cc
index dcd0aaf5..e58d437 100644
--- a/third_party/blink/renderer/modules/mediastream/user_media_client_test.cc
+++ b/third_party/blink/renderer/modules/mediastream/user_media_client_test.cc
@@ -1891,9 +1891,13 @@
 }
 
 // This test what happens if a display audio source fail to initialize due to no
-// system permissions. The default behavior is that this will cause the request
-// to fail.
+// system permissions. If kGetDisplayMediaIgnoreAudioPermissionFailures is
+// disabled, this will cause the request to fail.
 TEST_F(UserMediaClientTest, DesktopCaptureWithoutAudioSystemPermission) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(
+      blink::features::kGetDisplayMediaIgnoreAudioPermissionFailures);
+
   display_user_media_processor_->SetAudioSourceCreationStatus(
       SourceCreationStatus::kFailedSystemPermissionError);
 
@@ -1907,14 +1911,9 @@
 }
 
 // This test what happens if a display audio source fail to initialize due to no
-// system permissions. If kGetDisplayMediaIgnoreAudioPermissionFailures is
-// enabled, this should be ignored and result in an audio track with
-// readyState:ended.
+// system permissions. The default behavior is that this should be ignored and
+// result in an audio track with readyState:ended.
 TEST_F(UserMediaClientTest, DesktopCaptureIgnoreAudioSystemPermission) {
-  base::test::ScopedFeatureList scoped_feature_list_;
-  scoped_feature_list_.InitAndEnableFeature(
-      features::kGetDisplayMediaIgnoreAudioPermissionFailures);
-
   display_user_media_processor_->SetAudioSourceCreationStatus(
       SourceCreationStatus::kFailedSystemPermissionError);
 
diff --git a/third_party/blink/renderer/platform/network/http_names.json5 b/third_party/blink/renderer/platform/network/http_names.json5
index ea546cb8..19a3e27 100644
--- a/third_party/blink/renderer/platform/network/http_names.json5
+++ b/third_party/blink/renderer/platform/network/http_names.json5
@@ -137,9 +137,9 @@
     {name: "sec-ch-viewport-height", Symbol: "kViewportHeight"},
     {name: "sec-ch-viewport-width", Symbol: "kViewportWidth"},
     {name: "sec-ch-width", Symbol: "kResourceWidth"},
-    {name: "set-cookie", Symbol: "kLowerSetCookie"},
-    {name: "secure-session-registration", Symbol: "kSecureSessionRegistration"},
     {name: "sec-session-registration", Symbol: "kSecSessionRegistration"},
+    {name: "secure-session-registration", Symbol: "kSecureSessionRegistration"},
+    {name: "set-cookie", Symbol: "kLowerSetCookie"},
     {name: "signature", Symbol: "kSignature"},
     {name: "signature-input", Symbol: "kSignatureInput"},
     {name: "unencoded-digest", Symbol: "kUnencodedDigest"},
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 2aa4307..f6ff5865 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -968,6 +968,13 @@
       status: "stable",
     },
     {
+      // Set currentTarget to null after dispatch for EventTarget.
+      // This was added in M142 and can be removed after M144.
+      // https://issues.chromium.org/issues/346766786
+      name: "ClearCurrentTargetAfterDispatch",
+      status: "stable",
+    },
+    {
       // Allows top-level sites to restrict collection of high-entropy UA client
       // hints (from 3Ps, or itself) via the getHighEntropyValues API.
       // crbug.com/385161047
@@ -1031,11 +1038,12 @@
       status: "stable",
     },
     {
-      // Return an empty list from composedPath() when the event
-      // path is empty.
+      // Return the current target from composedPath() while
+      // dispatching.
       // This was added in M142 and can be removed after M144.
       // https://issues.chromium.org/issues/444932649
-      name: "ComposedPathEmptyAfterDispatch",
+      // https://issues.chromium.org/issues/346766786
+      name: "ComposedPathReturnTargetBeingDispatched",
       status: "stable",
     },
     {
@@ -1330,10 +1338,6 @@
       status: "stable",
     },
     {
-      name: "CSSExponentialFunctions",
-      status: "stable",
-    },
-    {
       name: "CSSFallbackContainerQueries",
       status: "experimental",
     },
@@ -1669,11 +1673,6 @@
       status: "test",
     },
     {
-      // crbug.com/41442840: Enabled by default on M139, remove after M141.
-      name: "CSSTransitionNoneRunningTransitionsFix",
-      status: "stable",
-    },
-    {
       // Support for tree-scoped [1] timeline names (e.g. produced by
       // scroll-timeline).
       //
@@ -4300,10 +4299,6 @@
       status: "test",
     },
     {
-      name: "SchedulerYieldDisallowCrossFrameInheritance",
-      status: "stable",
-    },
-    {
       // https://wicg.github.io/webcomponents/proposals/Scoped-Custom-Element-Registries
       // https://github.com/whatwg/html/issues/10854
       // Spec PRs:
diff --git a/third_party/blink/renderer/platform/widget/compositing/widget_compositor.cc b/third_party/blink/renderer/platform/widget/compositing/widget_compositor.cc
index 42f38f7..55e6d307 100644
--- a/third_party/blink/renderer/platform/widget/compositing/widget_compositor.cc
+++ b/third_party/blink/renderer/platform/widget/compositing/widget_compositor.cc
@@ -85,27 +85,6 @@
   }
 }
 
-void WidgetCompositor::MainThreadVisualStateRequest(
-    VisualStateRequestCallback callback) {
-  DCHECK(main_task_runner_->BelongsToCurrentThread());
-
-  auto drain_callback =
-      base::BindOnce(&WidgetCompositor::DrainQueue, base::RetainedRef(this));
-  auto swap_callback = base::BindOnce(&WidgetCompositor::VisualStateResponse,
-                                      base::RetainedRef(this));
-
-  // Ensure the given callback is invoked on the main thread.
-  auto compositor_callback = base::BindOnce(
-      [](scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
-         VisualStateRequestCallback callback) {
-        main_task_runner->PostTask(FROM_HERE, std::move(callback));
-      },
-      main_task_runner_, std::move(callback));
-
-  CreateQueueSwapPromise(std::move(drain_callback), std::move(swap_callback),
-                         std::move(compositor_callback));
-}
-
 cc::LayerTreeHost* WidgetCompositor::LayerTreeHost() const {
   return widget_base_->LayerTreeHost();
 }
diff --git a/third_party/blink/renderer/platform/widget/compositing/widget_compositor.h b/third_party/blink/renderer/platform/widget/compositing/widget_compositor.h
index c4cf83b3..acad84b 100644
--- a/third_party/blink/renderer/platform/widget/compositing/widget_compositor.h
+++ b/third_party/blink/renderer/platform/widget/compositing/widget_compositor.h
@@ -55,11 +55,6 @@
   // mojom::WidgetCompositor:
   void VisualStateRequest(VisualStateRequestCallback callback) override;
 
-  // The Mojo method above expects to be called on the compositor thread. Main
-  // thread clients should use this method instead. The given callback is
-  // invoked on the main thread.
-  void MainThreadVisualStateRequest(VisualStateRequestCallback callback);
-
   virtual cc::LayerTreeHost* LayerTreeHost() const;
 
  protected:
diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_proxy.cc b/third_party/blink/renderer/platform/widget/input/input_handler_proxy.cc
index 9103502..52f7b5c2a7 100644
--- a/third_party/blink/renderer/platform/widget/input/input_handler_proxy.cc
+++ b/third_party/blink/renderer/platform/widget/input/input_handler_proxy.cc
@@ -1796,7 +1796,8 @@
 }
 
 bool InputHandlerProxy::HasQueuedInput() const {
-  return HasQueuedEventsReadyForDispatch(/*frame_aligned=*/true);
+  return HasQueuedEventsReadyForDispatch(/*frame_aligned=*/true,
+                                         base::TimeTicks::Max());
 }
 
 void InputHandlerProxy::SetScrollEventDispatchMode(
@@ -2033,7 +2034,8 @@
 void InputHandlerProxy::RequestCallbackAfterEventQueueFlushed(
     base::OnceClosure callback) {
   CHECK(queue_flushed_callback_.is_null());
-  if (HasQueuedEventsReadyForDispatch(/*frame_aligned*/ true)) {
+  if (HasQueuedEventsReadyForDispatch(
+          /*frame_aligned*/ true, /* sample_time */ base::TimeTicks::Max())) {
     queue_flushed_callback_ = std::move(callback);
   } else {
     std::move(callback).Run();
diff --git a/third_party/blink/renderer/platform/widget/input/input_handler_proxy_unittest.cc b/third_party/blink/renderer/platform/widget/input/input_handler_proxy_unittest.cc
index 9ee6a1f..31d2136 100644
--- a/third_party/blink/renderer/platform/widget/input/input_handler_proxy_unittest.cc
+++ b/third_party/blink/renderer/platform/widget/input/input_handler_proxy_unittest.cc
@@ -303,12 +303,16 @@
     : public testing::Test,
       public ::testing::WithParamInterface<bool> {
  public:
-  InputHandlerProxyEventQueueTest()
-      : input_handler_proxy_(mock_input_handler_, &mock_client_) {
+  InputHandlerProxyEventQueueTest() = default;
+
+  void SetUp() override {
     scoped_feature_list_.InitWithFeatureState(
         input::features::kUpdateScrollPredictorInputMapping,
         /* enabled= */ GetParam());
 
+    input_handler_proxy_ = std::make_unique<TestInputHandlerProxy>(
+        mock_input_handler_, &mock_client_);
+
     SetScrollPredictionEnabled(true);
   }
 
@@ -328,12 +332,12 @@
                                           int x = 0,
                                           int y = 0) {
     InjectInputEvent(CreateGestureScrollPinch(
-        type, source_device, input_handler_proxy_.tick_clock_->NowTicks(),
+        type, source_device, input_handler_proxy_->tick_clock_->NowTicks(),
         delta_y_or_scale, x, y));
   }
 
   void InjectInputEvent(std::unique_ptr<WebInputEvent> event) {
-    input_handler_proxy_.HandleInputEventWithLatencyInfo(
+    input_handler_proxy_->HandleInputEventWithLatencyInfo(
         std::make_unique<WebCoalescedInputEvent>(std::move(event),
                                                  ui::LatencyInfo()),
         nullptr,
@@ -348,7 +352,7 @@
 
     mouse_event.SetPositionInWidget(gfx::PointF(x, y));
     mouse_event.button = WebMouseEvent::Button::kLeft;
-    HandleInputEventWithLatencyInfo(&input_handler_proxy_, mouse_event);
+    HandleInputEventWithLatencyInfo(input_handler_proxy_.get(), mouse_event);
   }
 
   void DidHandleInputEventAndOverscroll(
@@ -362,12 +366,12 @@
   }
 
   base::circular_deque<std::unique_ptr<EventWithCallback>>& event_queue() {
-    return input_handler_proxy_.compositor_event_queue_->queue_;
+    return input_handler_proxy_->compositor_event_queue_->queue_;
   }
 
   void SetInputHandlerProxyTickClockForTesting(
       const base::TickClock* tick_clock) {
-    input_handler_proxy_.SetTickClockForTesting(tick_clock);
+    input_handler_proxy_->SetTickClockForTesting(tick_clock);
   }
 
   void DeliverInputForBeginFrame(
@@ -381,32 +385,32 @@
                     viz::BeginFrameArgs::kStartingFrameNumber) *
                        interval;
     }
-    input_handler_proxy_.DeliverInputForBeginFrame(viz::BeginFrameArgs::Create(
+    input_handler_proxy_->DeliverInputForBeginFrame(viz::BeginFrameArgs::Create(
         BEGINFRAME_FROM_HERE, 0, next_begin_frame_number_++, frame_time,
         frame_time + interval, interval, begin_frame_args_type));
   }
 
   void DeliverInputForHighLatencyMode() {
-    input_handler_proxy_.DeliverInputForHighLatencyMode();
+    input_handler_proxy_->DeliverInputForHighLatencyMode();
   }
 
   void SetScrollPredictionEnabled(bool enabled) {
-    input_handler_proxy_.scroll_predictor_ =
+    input_handler_proxy_->scroll_predictor_ =
         enabled ? std::make_unique<ScrollPredictor>() : nullptr;
   }
 
   std::unique_ptr<ui::InputPredictor::InputData>
   GestureScrollEventPredictionAvailable() {
-    return input_handler_proxy_.scroll_predictor_->predictor_
+    return input_handler_proxy_->scroll_predictor_->predictor_
         ->GeneratePrediction(WebInputEvent::GetStaticTimeStampForTests());
   }
 
   base::TimeTicks NowTimestampForEvents() {
-    return input_handler_proxy_.tick_clock_->NowTicks();
+    return input_handler_proxy_->tick_clock_->NowTicks();
   }
 
   TestInputHandlerProxy* GetInputHandlerProxy() {
-    return &input_handler_proxy_;
+    return input_handler_proxy_.get();
   }
 
  protected:
@@ -414,7 +418,7 @@
       base::test::TaskEnvironment::TimeSource::MOCK_TIME};
   testing::StrictMock<cc::MockInputHandler> mock_input_handler_;
   testing::StrictMock<MockInputHandlerProxyClient> mock_client_;
-  TestInputHandlerProxy input_handler_proxy_;
+  std::unique_ptr<TestInputHandlerProxy> input_handler_proxy_;
   std::vector<InputHandlerProxy::EventDisposition> event_disposition_recorder_;
   std::vector<ui::LatencyInfo> latency_info_recorder_;
 
@@ -1126,6 +1130,11 @@
 }
 
 TEST_P(InputHandlerProxyEventQueueTest, DeliverInputForDeadlineIsScheduled) {
+  // GetParam() is true when kUpdateScrollPredictorInputMapping is enabled.
+  if (GetParam()) {
+    return;
+  }
+
   constexpr float kDeadlineRatio = 0.333;
   constexpr base::TimeDelta kTimeBetweenEvents = base::Milliseconds(2);
   constexpr float kSchedulerSlack = 0.75;
@@ -1133,7 +1142,7 @@
   base::SimpleTestTickClock tick_clock;
   tick_clock.SetNowTicks(base::TimeTicks::Now());
   SetInputHandlerProxyTickClockForTesting(&tick_clock);
-  input_handler_proxy_.SetScrollEventDispatchMode(
+  input_handler_proxy_->SetScrollEventDispatchMode(
       cc::InputHandlerClient::ScrollEventDispatchMode::
           kUseScrollPredictorForDeadline,
       kDeadlineRatio);
@@ -1223,7 +1232,7 @@
   HandleMouseEvent(WebInputEvent::Type::kMouseDown);
   HandleMouseEvent(WebInputEvent::Type::kMouseUp);
 
-  input_handler_proxy_.DispatchQueuedInputEventsHelper();
+  input_handler_proxy_->DispatchQueuedInputEventsHelper();
 }
 
 // Tests that the allowed touch action is correctly set when a touch is made
@@ -1345,15 +1354,27 @@
 // GestureScrollUpdates are not passed to the resampling code.
 TEST_P(InputHandlerProxyEventQueueTest, FilterOutEmptyUpdates) {
   base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeatureWithParameters(
-      ::features::kSendEmptyGestureScrollUpdate,
-      {{"filter_out_empty_updates", "true"}});
+  std::vector<base::test::FeatureRefAndParams> enabled_features;
 
+  // Always enable the empty update filtering.
+  enabled_features.push_back({::features::kSendEmptyGestureScrollUpdate,
+                              {{"filter_out_empty_updates", "true"}}});
+
+  if (GetParam()) {
+    // kUpdateScrollPredictorInputMapping is ENABLED. Disable synthetic
+    // prediction for this test.
+    enabled_features.push_back(
+        {input::features::kUpdateScrollPredictorInputMapping,
+         {{"generate_synthetic_scroll", "false"}}});
+  }
+
+  feature_list.InitWithFeaturesAndParameters(enabled_features,
+                                             /* disabled_features */ {});
   base::SimpleTestTickClock tick_clock;
   tick_clock.SetNowTicks(base::TimeTicks::Now());
   SetInputHandlerProxyTickClockForTesting(&tick_clock);
 
-  input_handler_proxy_.SetScrollEventDispatchMode(
+  input_handler_proxy_->SetScrollEventDispatchMode(
       cc::InputHandlerClient::ScrollEventDispatchMode::
           kDispatchScrollEventsUntilDeadline,
       0.333);
@@ -1858,7 +1879,8 @@
   InputHandlerProxy input_handler_proxy_;
   base::test::ScopedFeatureList scoped_feature_list_;
   base::SimpleTestTickClock tick_clock_;
-  uint64_t next_begin_frame_number_ = viz::BeginFrameArgs::kStartingFrameNumber;
+  uint64_t next_begin_frame_number_ =
+      viz::BeginFrameArgs::kStartingFrameNumber + 1;
   base::WeakPtrFactory<UnifiedScrollingInputHandlerProxyTest> weak_ptr_factory_{
       this};
 };
@@ -2820,7 +2842,7 @@
   EXPECT_EQ(4ul, event_disposition_recorder_.size());
 
   EXPECT_FALSE(
-      input_handler_proxy_.gesture_scroll_on_impl_thread_for_testing());
+      input_handler_proxy_->gesture_scroll_on_impl_thread_for_testing());
 
   // Starting a new scroll sequence should have the same behavior (namely that
   // the first scroll update is not queued but immediately dispatched).
@@ -3001,7 +3023,7 @@
   EXPECT_CALL(mock_input_handler_, FindFrameElementIdAtPoint(_)).Times(0);
 
   WebInputEventAttribution attribution =
-      input_handler_proxy_.PerformEventAttribution(key);
+      input_handler_proxy_->PerformEventAttribution(key);
   EXPECT_EQ(attribution.type(), WebInputEventAttribution::kFocusedFrame);
   EXPECT_EQ(attribution.target_frame_id(), cc::ElementId());
   testing::Mock::VerifyAndClearExpectations(&mock_input_handler_);
@@ -3017,7 +3039,7 @@
       .WillOnce(testing::Return(cc::ElementId(0xDEADBEEF)));
 
   WebInputEventAttribution attribution =
-      input_handler_proxy_.PerformEventAttribution(mouse_down);
+      input_handler_proxy_->PerformEventAttribution(mouse_down);
   EXPECT_EQ(attribution.type(), WebInputEventAttribution::kTargetedFrame);
   EXPECT_EQ(attribution.target_frame_id(), cc::ElementId(0xDEADBEEF));
   testing::Mock::VerifyAndClearExpectations(&mock_input_handler_);
@@ -3033,7 +3055,7 @@
       .WillOnce(testing::Return(cc::ElementId(0xDEADBEEF)));
 
   WebInputEventAttribution attribution =
-      input_handler_proxy_.PerformEventAttribution(wheel);
+      input_handler_proxy_->PerformEventAttribution(wheel);
   EXPECT_EQ(attribution.type(), WebInputEventAttribution::kTargetedFrame);
   EXPECT_EQ(attribution.target_frame_id(), cc::ElementId(0xDEADBEEF));
   testing::Mock::VerifyAndClearExpectations(&mock_input_handler_);
@@ -3060,7 +3082,7 @@
       .WillOnce(testing::Return(cc::ElementId(0xDEADBEEF)));
 
   WebInputEventAttribution attribution =
-      input_handler_proxy_.PerformEventAttribution(touch);
+      input_handler_proxy_->PerformEventAttribution(touch);
   EXPECT_EQ(attribution.type(), WebInputEventAttribution::kTargetedFrame);
   EXPECT_EQ(attribution.target_frame_id(), cc::ElementId(0xDEADBEEF));
   testing::Mock::VerifyAndClearExpectations(&mock_input_handler_);
@@ -3077,7 +3099,7 @@
       .Times(1)
       .WillOnce(testing::Return(cc::ElementId(0xDEADBEEF)));
   WebInputEventAttribution attribution =
-      input_handler_proxy_.PerformEventAttribution(gesture);
+      input_handler_proxy_->PerformEventAttribution(gesture);
   EXPECT_EQ(attribution.type(), WebInputEventAttribution::kTargetedFrame);
   EXPECT_EQ(attribution.target_frame_id(), cc::ElementId(0xDEADBEEF));
   testing::Mock::VerifyAndClearExpectations(&mock_input_handler_);
@@ -3098,7 +3120,7 @@
   base::SimpleTestTickClock tick_clock;
   tick_clock.SetNowTicks(base::TimeTicks::Now());
   SetInputHandlerProxyTickClockForTesting(&tick_clock);
-  input_handler_proxy_.SetScrollEventDispatchMode(
+  input_handler_proxy_->SetScrollEventDispatchMode(
       cc::InputHandlerClient::ScrollEventDispatchMode::
           kDispatchScrollEventsUntilDeadline,
       0.333);
diff --git a/third_party/blink/renderer/platform/widget/widget_base.cc b/third_party/blink/renderer/platform/widget/widget_base.cc
index a60dcc7..6560d0d 100644
--- a/third_party/blink/renderer/platform/widget/widget_base.cc
+++ b/third_party/blink/renderer/platform/widget/widget_base.cc
@@ -10,7 +10,6 @@
 #include "base/debug/dump_without_crashing.h"
 #include "base/feature_list.h"
 #include "base/logging.h"
-#include "base/memory/scoped_refptr.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/task/single_thread_task_runner.h"
 #include "build/build_config.h"
@@ -1689,14 +1688,6 @@
   return client_->GetOriginalScreenInfos().current().device_scale_factor;
 }
 
-bool WidgetBase::InsertVisualStateRequest(base::OnceClosure callback) {
-  if (!widget_compositor_) {
-    return false;
-  }
-  widget_compositor_->MainThreadVisualStateRequest(std::move(callback));
-  return true;
-}
-
 void WidgetBase::UpdateSurfaceAndScreenInfo(
     const viz::LocalSurfaceId& new_local_surface_id,
     const gfx::Rect& compositor_viewport_pixel_rect,
diff --git a/third_party/blink/renderer/platform/widget/widget_base.h b/third_party/blink/renderer/platform/widget/widget_base.h
index 0e8daac4..6dd19e1 100644
--- a/third_party/blink/renderer/platform/widget/widget_base.h
+++ b/third_party/blink/renderer/platform/widget/widget_base.h
@@ -406,12 +406,6 @@
   // Helper to get the non-emulated device scale factor.
   float GetOriginalDeviceScaleFactor() const;
 
-  // Requests that the callback be invoked after the next frame is generated and
-  // presented in the display compositor. Returns true if the callback was
-  // queued, false if the widget doesn't have a compositor and the callback is
-  // dropped without being invoked.
-  bool InsertVisualStateRequest(base::OnceClosure callback);
-
  private:
   static void AssertAreCompatible(const WidgetBase& a, const WidgetBase& b);
 
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 04b65c3b..69cac8d 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -9696,4 +9696,7 @@
 
 
 # Gardener 2025-09-25
-crbug.com/444048840 [ Linux ] inspector-protocol/sessions/page-set-document-content.js [ Pass Timeout ]
\ No newline at end of file
+crbug.com/444048840 [ Linux ] inspector-protocol/sessions/page-set-document-content.js [ Pass Timeout ]
+
+# Gardener 2025-09-26
+crbug.com/448325313 [ Mac ] http/tests/devtools/persistence/persistence-move-breakpoints-on-reload.js [ Failure Pass ]
diff --git a/third_party/blink/web_tests/external/wpt/css/css-overflow/scroll-button-focus-active-element.html b/third_party/blink/web_tests/external/wpt/css/css-overflow/scroll-button-focus-active-element.html
new file mode 100644
index 0000000..e06cc9dc
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-overflow/scroll-button-focus-active-element.html
@@ -0,0 +1,48 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSS Test: document.activeElement for ::scroll-button is scroller</title>
+<link rel="help" href="https://drafts.csswg.org/css-overflow-5/#scroll-buttons">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-actions.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<style>
+  body {
+    margin: 0;
+  }
+
+  #scroller {
+    width: 600px;
+    height: 300px;
+    overflow: auto;
+    white-space: nowrap;
+  }
+
+  #scroller div {
+    display: inline-block;
+    width: 600px;
+    height: 270px;
+  }
+
+  #scroller::scroll-button(right) {
+    content: ">";
+    width: 100px;
+    height: 20px;
+    background-color: blue;
+  }
+</style>
+<div id="scroller">
+  <div></div>
+  <div></div>
+</div>
+<script>
+  promise_test(async t => {
+    await new test_driver.Actions()
+      .pointerMove(15, 310)
+      .pointerDown()
+      .pointerUp()
+      .send();
+    assert_equals(document.activeElement, scroller, "document.activeElement for ::scroll-button is scroller");
+  });
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any-expected.txt b/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any-expected.txt
deleted file mode 100644
index 9a9a8ac2..0000000
--- a/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a testharness.js-based test.
-Harness Error. harness_status.status = 1 , harness_status.message = Uncaught Error: assert_array_equals: lengths differ, expected array [object "[object EventTarget]"] length 1, got [] length 0
-[FAIL] A constructed EventTarget implements dispatch correctly
-  assert_equals: expected null but got object "[object EventTarget]"
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any.worker-expected.txt b/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any.worker-expected.txt
deleted file mode 100644
index d3ff370c..0000000
--- a/third_party/blink/web_tests/external/wpt/dom/events/EventTarget-constructible.any.worker-expected.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-This is a testharness.js-based test.
-Harness Error. harness_status.status = 1 , harness_status.message = Error in remote http://web-platform.test:8001/resources/testharness.js: Uncaught Error: assert_array_equals: lengths differ, expected array [object "[object EventTarget]"] length 1, got [] length 0
-[FAIL] A constructed EventTarget implements dispatch correctly
-  assert_equals: expected null but got object "[object EventTarget]"
-Harness: the test ran to completion.
-
diff --git a/third_party/boringssl/src b/third_party/boringssl/src
index 91f3df0..42d9a13 160000
--- a/third_party/boringssl/src
+++ b/third_party/boringssl/src
@@ -1 +1 @@
-Subproject commit 91f3df0a20f6d3dd3e2f749b4a2730b68c3d585e
+Subproject commit 42d9a13df20d7b005ca0e9d646a47c14cae7ad85
diff --git a/third_party/dawn b/third_party/dawn
index c2dcfa0..69d8ce6 160000
--- a/third_party/dawn
+++ b/third_party/dawn
@@ -1 +1 @@
-Subproject commit c2dcfa0865c515144dbb14312c3f18eb50b2e9f6
+Subproject commit 69d8ce6372ba5e221f8504986f44f2633d847fad
diff --git a/third_party/devtools-frontend/src b/third_party/devtools-frontend/src
index b0339c6..2d93a8f 160000
--- a/third_party/devtools-frontend/src
+++ b/third_party/devtools-frontend/src
@@ -1 +1 @@
-Subproject commit b0339c61ce77755b1971077dd1ffe32391833ddd
+Subproject commit 2d93a8fa7d129b21a8356ddb5499302b150ad901
diff --git a/third_party/libpng/BUILD.gn b/third_party/libpng/BUILD.gn
index d4bdea1e..3e31348b 100644
--- a/third_party/libpng/BUILD.gn
+++ b/third_party/libpng/BUILD.gn
@@ -130,6 +130,14 @@
   }
 }
 
+group("libpng_for_testonly") {
+  testonly = true
+  public_deps = [ ":libpng" ]
+
+  visibility = []
+  visibility = libpng_testonly_visibility
+}
+
 if (build_with_chromium) {
   libpng_ossfuzz_seed_corpuses = [
     "//components/test/data/viz",
diff --git a/third_party/libpng/visibility.gni b/third_party/libpng/visibility.gni
index e7a8dc81..00d19fa 100644
--- a/third_party/libpng/visibility.gni
+++ b/third_party/libpng/visibility.gni
@@ -1,23 +1,65 @@
 # This list tracks all current users of libpng.
 # libpng is actively being migrated, and calls to libpng should instead go
-# through skia. No new entries should be added to this list.
+# through Skia's `SkPngRustDecoder`. No new entries should be added to this
+# list.
+
+# Chrome => ... => libpng dependencies.
+#
+# TODO(https://crbug.com/443128323): Stop exposing `libpng` to Chrome
+# (i.e. we should work on removing all entries on the list below).
 visibility = [
-  "//chrome/test:*",
+  # Chrome => Skia => libpng dependency.
+  #
+  # TODO(https://crbug.com/381900683): Remove once Skia supports being
+  # built without `libpng`.
   "//skia/*",
-  "//testing/libfuzzer/fuzzers/*",
-  "//third_party/angle/src/tests/*",
-  "//third_party/angle/third_party/glmark2:*",
-  "//third_party/angle/util:*",
+
+  # Chrome => ... => freetype => libpng dependency.
+  #
+  # TODO(https://crbug.com/42271123): Remove this once `freetype` has been
+  # replaced with Fontations in PDFium and in other Chrome dependencies.
   "//third_party/freetype:*",
-  "//third_party/libpng/*",
+
+  # Chrome => PDFium => libpng dependency.
+  #
+  # TODO(https://crbug.com/444045690): Remove once PDFium => `libpng`
+  # dependency has been made optional.
+  "//third_party:png",  # In standalone PDFium
+  "//third_party/pdfium/third_party:png",  # In Chromium
+
+  # Other dependency edges that seem like Chrome => ... => libpng dependencies
+  # but really aren't.  TODO: Clarify this comment in follow-up CLs.
   "//third_party/libwebp:*",
   "//third_party/weston/*",
-  "//tools/imagediff:*",
+]
+
+# Test/tool-only dependencies under `//third_party/angle`
+# (migrating these to `libpng_testonly_visibility` would require editing
+# ANGLE's `BUILD.gn` files to depend on the `libpng_for_testonly` target).
+visibility += [
+  "//third_party/angle/src/tests:angle_deqp_framework_qphelper",
+  "//third_party/angle/third_party/glmark2:glmark2_common_gl",
+  "//third_party/angle/third_party/glmark2:glmark2_common_gles",
+  "//third_party/angle/util:angle_png_utils",
+]
+
+# Test/tool-only dependencies.
+libpng_testonly_visibility = [
+  "//chrome/test:accessibility_live_site_tests",
+  "//chrome/test:captured_sites_interactive_tests",
+  "//chrome/test:interactive_ui_tests",
+  "//tools/imagediff",
+
+  # Using a wildcard, to cover template-generated targets (e.g.
+  # `run_libpng_progressive_read_fuzzer` on `ios-catalyst` trybot).
+  "//testing/libfuzzer/fuzzers:*",
+
+  # Using a wildcard, to cover template-generated targets (e.g.
+  # `//ui/gfx:gfx_unittests__library__jni_registration__native_sources` or
+  # `//ui/gfx:gfx_unittests__exec`).
   "//ui/gfx:*",
 ]
 
-# PDFium dependency.
-visibility += [
-  "//third_party:png",  # In standalone PDFium
-  "//third_party/pdfium/third_party:png",  # In Chromium
-]
+# Self-dependency (for internal targets defined in
+# `//third_party/libpng/BUILD.gn`).
+visibility += [ "//third_party/libpng/*" ]
diff --git a/third_party/skia b/third_party/skia
index 90dadc3..3d2b08a 160000
--- a/third_party/skia
+++ b/third_party/skia
@@ -1 +1 @@
-Subproject commit 90dadc349e3e79acf7ac572023cde99ac5dfc2e9
+Subproject commit 3d2b08a88e89061d290f31311de779feedb64b29
diff --git a/third_party/spirv-tools/src b/third_party/spirv-tools/src
index d5d5b61..5a047db 160000
--- a/third_party/spirv-tools/src
+++ b/third_party/spirv-tools/src
@@ -1 +1 @@
-Subproject commit d5d5b61e2d5ae9b98ef403b3f3f922711812888a
+Subproject commit 5a047db98ae0ad0b0be027ced9a6afbc7f6c50e4
diff --git a/third_party/vulkan-deps b/third_party/vulkan-deps
index 02470a3..82483a0 160000
--- a/third_party/vulkan-deps
+++ b/third_party/vulkan-deps
@@ -1 +1 @@
-Subproject commit 02470a3c2773a9fa236c7e8dacd72deb4b5131e3
+Subproject commit 82483a042ab3f6847ffc571f84ebd0ebfaef9785
diff --git a/third_party/webrtc b/third_party/webrtc
index ed3bdab..012486e 160000
--- a/third_party/webrtc
+++ b/third_party/webrtc
@@ -1 +1 @@
-Subproject commit ed3bdab5d22d501aedf70d2ca8a6e9eab2b0ba5d
+Subproject commit 012486e91af958b686e4ecc7be243d2300131516
diff --git a/tools/autotest.py b/tools/autotest.py
index 386faec5..72645fd 100755
--- a/tools/autotest.py
+++ b/tools/autotest.py
@@ -104,7 +104,7 @@
     '//gpu:gpu_benchmark',
     '//gpu/vulkan/android:vk_tests',
     '//ios/web:ios_web_inttests',
-    '//ios/web_view:ios_web_view_inttests',
+    '//ios/web_view/test:ios_web_view_inttests',
     '//media/cdm:aes_decryptor_fuzztests',
     '//media/formats:ac3_util_fuzzer',
     '//media/gpu/chromeos:image_processor_test',
diff --git a/tools/cygprofile/android_profile_tool.py b/tools/cygprofile/android_profile_tool.py
index 70c56e6..de7c230 100755
--- a/tools/cygprofile/android_profile_tool.py
+++ b/tools/cygprofile/android_profile_tool.py
@@ -173,12 +173,15 @@
     self._DeleteDeviceData()
     return data
 
-  def CollectWebViewStartupProfile(self, apk: str,
+  def CollectWebViewStartupProfile(self,
+                                   apk: str,
+                                   arch: str,
                                    out_dir: Optional[str] = None):
     """Run the given benchmark and collect the generated profiles.
 
     Args:
       apk: The location of the webview apk file to profile.
+      arch: The target architecture to profile.
       out_dir: The output directory, to find the chromedriver binary.
 
     Returns:
@@ -213,7 +216,7 @@
     RunCommand([
         'tools/perf/cb',
         'embedder',
-        '--browser={browser:"clank/android_webview/tools/crossbench_config/cipd/arm64/Velvet_arm64.apk",driver:{type:"Android"' +
+        f'--browser={{browser:"clank/android_webview/tools/crossbench_config/cipd/{arch}/Velvet_{arch}.apk",driver:{{type:"Android"' +
         maybe_adb_bin_path +
         '}}',
     ] + maybe_driver_path + [
diff --git a/tools/cygprofile/orderfile_shared.py b/tools/cygprofile/orderfile_shared.py
index e13563c..5aa8c7d 100644
--- a/tools/cygprofile/orderfile_shared.py
+++ b/tools/cygprofile/orderfile_shared.py
@@ -61,7 +61,7 @@
           'webview_installer_path must be provided for webview profiling')
     profiler.InstallAndSetWebViewProvider(webview_installer_path)
     return profiler.CollectWebViewStartupProfile(apk_path_or_browser_name,
-                                                 out_dir_str)
+                                                 arch, out_dir_str)
 
   if arch == 'arm64':
     return profiler.CollectSpeedometerProfile(apk_path_or_browser_name,
diff --git a/tools/imagediff/BUILD.gn b/tools/imagediff/BUILD.gn
index d56651be..2b5f3d3 100644
--- a/tools/imagediff/BUILD.gn
+++ b/tools/imagediff/BUILD.gn
@@ -34,6 +34,7 @@
 # If the current toolchain is the test host toolchain, build the tool.
 if (current_toolchain == imagediff_toolchain) {
   executable("imagediff") {
+    testonly = true
     output_name = "image_diff"  # Different than dir name for historical
                                 # reasons.
     sources = [
@@ -47,7 +48,7 @@
     deps = [
       "//base",
       "//build/win:default_exe_manifest",
-      "//third_party/libpng",
+      "//third_party/libpng:libpng_for_testonly",
       "//third_party/zlib",
     ]
   }
@@ -60,6 +61,7 @@
 } else if (current_toolchain == default_toolchain &&
            default_toolchain != imagediff_toolchain) {
   binary_symlink("imagediff") {
+    testonly = true
     binary_label = ":$target_name($imagediff_toolchain)"
     binary_output_name = "image_diff"
 
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index d48e4c2..a8a0a11 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -15952,6 +15952,7 @@
   <int value="650168383" label="PulseaudioLoopbackForScreenShare:enabled"/>
   <int value="650334758" label="MediaAppImageMantisRemoveBackground:disabled"/>
   <int value="651286275" label="SearchInSettings:disabled"/>
+  <int value="651381220" label="ExcludePipFromScreenCapture:enabled"/>
   <int value="651421878" label="VideoRotateToFullscreen:enabled"/>
   <int value="651471603" label="MediaFoundationD3D11VideoCapture:enabled"/>
   <int value="651562604" label="RawClipboard:enabled"/>
@@ -20123,6 +20124,7 @@
   <int value="2112534003" label="GtsCloseTabAnimation:disabled"/>
   <int value="2112883215" label="AndroidHubV2:enabled"/>
   <int value="2113067450" label="FedCmAutoReauthn:disabled"/>
+  <int value="2113567417" label="ExcludePipFromScreenCapture:disabled"/>
   <int value="2113804526" label="EnableAppShortcutSearch:enabled"/>
   <int value="2114185020" label="CrOSDspBasedNsAllowed:disabled"/>
   <int value="2114221139" label="EnableHostnameSetting:disabled"/>
diff --git a/tools/metrics/histograms/metadata/actor/enums.xml b/tools/metrics/histograms/metadata/actor/enums.xml
index ecb4f2b..1a02c48 100644
--- a/tools/metrics/histograms/metadata/actor/enums.xml
+++ b/tools/metrics/histograms/metadata/actor/enums.xml
@@ -82,6 +82,8 @@
   <int value="901" label="LoginNotLoginPage"/>
   <int value="902" label="LoginCredentialsEnteredButAnotherActionNeeded"/>
   <int value="903" label="LoginNoFillableFields"/>
+  <int value="904" label="LoginFillingNotAllowed"/>
+  <int value="905" label="LoginPageChangedDuringSelection"/>
 </enum>
 
 <!-- LINT.ThenChange(//chrome/common/actor.mojom:ActionResultCode) -->
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml
index 58e3f0b..f691ac0 100644
--- a/tools/metrics/histograms/metadata/android/histograms.xml
+++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -1040,7 +1040,7 @@
 </histogram>
 
 <histogram name="Android.BackPress.MinimizeAppAndCloseTab"
-    enum="MinimizeAppAndCloseTabType" expires_after="2026-01-25">
+    enum="MinimizeAppAndCloseTabType" expires_after="2026-03-29">
   <owner>lazzzis@chromium.org</owner>
   <owner>src/chrome/browser/back_press/android/OWNERS</owner>
   <summary>
@@ -1050,7 +1050,7 @@
 </histogram>
 
 <histogram name="Android.BackPress.MinimizeAppAndCloseTab.CustomTab.{Task}"
-    enum="MinimizeAppAndCloseTabType" expires_after="2026-01-25">
+    enum="MinimizeAppAndCloseTabType" expires_after="2026-03-29">
   <owner>lazzzis@chromium.org</owner>
   <owner>src/chrome/browser/back_press/android/OWNERS</owner>
   <summary>
@@ -1125,7 +1125,7 @@
 
 <histogram
     name="Android.BottomControlsStacker.PercentageOfWindowUsedByBottomControlsAtMaxHeight"
-    units="%" expires_after="2026-01-27">
+    units="%" expires_after="2026-03-29">
   <owner>pnoland@chromium.org</owner>
   <owner>wenyufu@chromium.org</owner>
   <summary>
@@ -1138,7 +1138,7 @@
 
 <histogram
     name="Android.BottomControlsStacker.PercentageOfWindowUsedByBottomControlsAtMinHeight"
-    units="%" expires_after="2026-01-27">
+    units="%" expires_after="2026-03-29">
   <owner>pnoland@chromium.org</owner>
   <owner>wenyufu@chromium.org</owner>
   <summary>
@@ -1290,7 +1290,7 @@
 </histogram>
 
 <histogram name="Android.ChildProcessConnection.OnServiceConnectedCounts"
-    units="count" expires_after="2026-01-25">
+    units="count" expires_after="2026-03-29">
   <owner>boliu@chromium.org</owner>
   <owner>kawasin@chromium.org</owner>
   <owner>yfriedman@chromium.org</owner>
@@ -1305,7 +1305,7 @@
 </histogram>
 
 <histogram name="Android.ChildProcessRanking.{RankType}.Count" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>kawasin@google.com</owner>
   <owner>clank-performance-team@google.com</owner>
   <summary>
@@ -1766,7 +1766,7 @@
 </histogram>
 
 <histogram name="Android.DragDrop.FromWebContent.DropInWebContent.Duration"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>wenyufu@chromium.org</owner>
   <owner>clank-large-form-factors@google.com</owner>
   <summary>
@@ -2028,7 +2028,7 @@
 </histogram>
 
 <histogram name="Android.EdgeToEdge.Debugging.ConfigurationSwitchOutcome"
-    enum="EdgeToEdgeConfigurationSwitchOutcome" expires_after="2026-01-25">
+    enum="EdgeToEdgeConfigurationSwitchOutcome" expires_after="2026-03-29">
   <owner>clhager@google.com</owner>
   <owner>wenyufu@chromium.org</owner>
   <owner>edge-to-edge@chromium.org</owner>
@@ -2054,7 +2054,7 @@
 </histogram>
 
 <histogram name="Android.EdgeToEdge.DrawToEdgeInUnsupportedConfiguration"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>clhager@google.com</owner>
   <owner>wenyufu@chromium.org</owner>
   <owner>edge-to-edge@chromium.org</owner>
@@ -2628,7 +2628,7 @@
 </histogram>
 
 <histogram name="Android.InputOnViz.Viz.DroppedNonTouchActions"
-    enum="MotionEventAction" expires_after="2026-01-25">
+    enum="MotionEventAction" expires_after="2026-03-29">
   <owner>kartarsingh@google.com</owner>
   <owner>woa-performance-team@google.com</owner>
   <summary>
@@ -2639,7 +2639,7 @@
 </histogram>
 
 <histogram name="Android.InputOnViz.Viz.PendingStateTransfers.{CurrentState}"
-    units="counts" expires_after="2026-01-18">
+    units="counts" expires_after="2026-03-29">
   <owner>kartarsingh@google.com</owner>
   <owner>woa-performance-team@google.com</owner>
   <summary>
@@ -2996,7 +2996,7 @@
 </histogram>
 
 <histogram name="Android.Messages.Enqueued.Hidden" enum="MessageIdentifier"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>lazzzis@chromium.org</owner>
   <owner>src/components/messages/OWNERS</owner>
   <summary>
@@ -3174,7 +3174,7 @@
 </histogram>
 
 <histogram name="Android.MultiInstance.MaxInstanceCount" units="instances"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>jinsukkim@chromium.org</owner>
   <owner>twellington@chromium.org</owner>
   <owner>clank-app-team@google.com</owner>
@@ -5823,7 +5823,7 @@
 </histogram>
 
 <histogram name="Android.ToolbarPosition.PositionAtStartup"
-    enum="ToolbarPosition" expires_after="2026-01-27">
+    enum="ToolbarPosition" expires_after="2026-03-29">
   <owner>pnoland@chromium.org</owner>
   <owner>gangwu@chromium.org</owner>
   <summary>
@@ -5839,7 +5839,7 @@
 </histogram>
 
 <histogram name="Android.ToolbarPosition.PositionPrefChanged"
-    enum="ToolbarPosition" expires_after="2026-01-27">
+    enum="ToolbarPosition" expires_after="2026-03-29">
   <owner>pnoland@chromium.org</owner>
   <owner>gangwu@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/apps/histograms.xml b/tools/metrics/histograms/metadata/apps/histograms.xml
index fd12e95..9ad166e 100644
--- a/tools/metrics/histograms/metadata/apps/histograms.xml
+++ b/tools/metrics/histograms/metadata/apps/histograms.xml
@@ -2336,7 +2336,7 @@
 </histogram>
 
 <histogram name="Apps.CreateShortcuts.Mac.CopyShortcutResult"
-    enum="CopyShortcutResult" expires_after="2025-12-02">
+    enum="CopyShortcutResult" expires_after="2026-03-29">
   <owner>mek@chromium.org</owner>
   <owner>pwa-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/arc/histograms.xml b/tools/metrics/histograms/metadata/arc/histograms.xml
index cb163b15..3cc2ce5a 100644
--- a/tools/metrics/histograms/metadata/arc/histograms.xml
+++ b/tools/metrics/histograms/metadata/arc/histograms.xml
@@ -544,7 +544,7 @@
 </histogram>
 
 <histogram name="Arc.AppInstalledReason" enum="InstallationCounterReasonEnum"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>thanhdng@chromium.org</owner>
   <owner>tby@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/ash/histograms.xml b/tools/metrics/histograms/metadata/ash/histograms.xml
index 1f7253f2..e0dc29c 100644
--- a/tools/metrics/histograms/metadata/ash/histograms.xml
+++ b/tools/metrics/histograms/metadata/ash/histograms.xml
@@ -2345,7 +2345,7 @@
 </histogram>
 
 <histogram name="Ash.DarkTheme.SystemTray.IsDarkModeEnabled" enum="Boolean"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>minch@chromium.org</owner>
   <owner>changmar@chromium.org</owner>
   <summary>
@@ -4054,7 +4054,7 @@
 </histogram>
 
 <histogram name="Ash.FullRestore.ShowInformedRestoreDialog" enum="BooleanHit"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>hewer@chromium.org</owner>
   <owner>xdai@chromium.org</owner>
   <summary>Emmited every time the informed restore dialog shows up.</summary>
@@ -4558,7 +4558,7 @@
 
 <histogram
     name="Ash.Glanceables.TimeManagement.{GlanceableBubble}.{ExpandState}.AnimationSmoothness"
-    units="%" expires_after="2025-12-31">
+    units="%" expires_after="2026-03-29">
   <owner>wcwang@google.com</owner>
   <owner>chromeos-launcher@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/attribution_reporting/histograms.xml b/tools/metrics/histograms/metadata/attribution_reporting/histograms.xml
index 7f81b5ed..ae7cadc 100644
--- a/tools/metrics/histograms/metadata/attribution_reporting/histograms.xml
+++ b/tools/metrics/histograms/metadata/attribution_reporting/histograms.xml
@@ -162,7 +162,7 @@
 </histogram>
 
 <histogram name="Conversions.AggregatableReport.FilteredTriggerDataPercentage"
-    units="%" expires_after="2026-01-25">
+    units="%" expires_after="2026-03-29">
   <owner>linnan@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -380,7 +380,7 @@
 </histogram>
 
 <histogram name="Conversions.ClearDataTime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>csharrison@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -745,7 +745,7 @@
 </histogram>
 
 <histogram name="Conversions.NamedBudgetsPer{Type}Registration"
-    units="named_budgets" expires_after="2026-01-25">
+    units="named_budgets" expires_after="2026-03-29">
   <owner>tquintanilla@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -759,7 +759,7 @@
 </histogram>
 
 <histogram name="Conversions.NavigationDataHostStatus3"
-    enum="ConversionNavigationDataHostStatus" expires_after="2026-01-25">
+    enum="ConversionNavigationDataHostStatus" expires_after="2026-03-29">
   <owner>linnan@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -926,7 +926,7 @@
 </histogram>
 
 <histogram name="Conversions.OsRegistrationsSkipBufferRegistrationsSize"
-    units="count" expires_after="2026-01-25">
+    units="count" expires_after="2026-03-29">
   <owner>linnan@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -1172,7 +1172,7 @@
 </histogram>
 
 <histogram name="Conversions.Storage.ClearDataWithFilterDuration" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>csharrison@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
@@ -1412,7 +1412,7 @@
 </histogram>
 
 <histogram name="Conversions.ValuesPerFilter" units="values"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>linnan@chromium.org</owner>
   <owner>measurement-api-dev+metrics@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/autofill/histograms.xml b/tools/metrics/histograms/metadata/autofill/histograms.xml
index b2cc29866..c7bdae4 100644
--- a/tools/metrics/histograms/metadata/autofill/histograms.xml
+++ b/tools/metrics/histograms/metadata/autofill/histograms.xml
@@ -1174,7 +1174,7 @@
 </histogram>
 
 <histogram name="Autofill.Ai.EditedAutofilledFieldAtSubmission"
-    enum="AutofilledFieldUserEditingStatus" expires_after="2025-12-12">
+    enum="AutofilledFieldUserEditingStatus" expires_after="2026-03-29">
   <owner>jihadghanna@google.com</owner>
   <owner>chrome-autofill-alerts@google.com</owner>
   <summary>
@@ -1196,7 +1196,7 @@
 </histogram>
 
 <histogram name="Autofill.Ai.EntityTable.DecryptStatus2"
-    enum="AutofillAiDecryptStatus" expires_after="2025-12-12">
+    enum="AutofillAiDecryptStatus" expires_after="2026-03-29">
   <owner>jihadghanna@google.com</owner>
   <owner>chrome-autofill-alerts@google.com</owner>
   <summary>
@@ -3080,7 +3080,7 @@
 </histogram>
 
 <histogram name="Autofill.DriverRouter.TriggerFormExtractionExcept.Duration"
-    units="microseconds" expires_after="2025-12-28">
+    units="microseconds" expires_after="2026-03-29">
   <owner>vincb@google.com</owner>
   <owner>schwering@google.com</owner>
   <owner>bling-transactions@google.com</owner>
@@ -3591,7 +3591,7 @@
 </histogram>
 
 <histogram name="Autofill.Filling.DidAlternativeNameFieldRequireConversion"
-    enum="BooleanYesNo" expires_after="2025-12-17">
+    enum="BooleanYesNo" expires_after="2026-03-29">
   <owner>aayazhan@google.com</owner>
   <owner>sygiet@google.com</owner>
   <owner>chrome-autofill-alerts@google.com</owner>
@@ -7266,7 +7266,7 @@
 
 <histogram name="Autofill.SubmittedAlternativeNameFieldValueCharacterSet"
     enum="AutofillAlternativeNameFieldValueCharacterSet"
-    expires_after="2025-12-24">
+    expires_after="2026-03-29">
   <owner>aayazhan@google.com</owner>
   <owner>sygiet@google.com</owner>
   <owner>chrome-autofill-alerts@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/blink/enums.xml b/tools/metrics/histograms/metadata/blink/enums.xml
index ba8dcaa..813a8fd 100644
--- a/tools/metrics/histograms/metadata/blink/enums.xml
+++ b/tools/metrics/histograms/metadata/blink/enums.xml
@@ -3296,7 +3296,7 @@
   <int value="2911" label="V8XRSession_End_Method"/>
   <int value="2912" label="V8XRWebGLLayer_Constructor"/>
   <int value="2913" label="FetchKeepalive"/>
-  <int value="2914" label="CSSTransitionCancelledByRemovingStyle"/>
+  <int value="2914" label="OBSOLETE_CSSTransitionCancelledByRemovingStyle"/>
   <int value="2915" label="V8RTCRtpSender_SetStreams_Method"/>
   <int value="2916" label="CookieNoSameSite"/>
   <int value="2917" label="CookieInsecureAndSameSiteNone"/>
diff --git a/tools/metrics/histograms/metadata/blink/histograms.xml b/tools/metrics/histograms/metadata/blink/histograms.xml
index 540b49b..4215fde 100644
--- a/tools/metrics/histograms/metadata/blink/histograms.xml
+++ b/tools/metrics/histograms/metadata/blink/histograms.xml
@@ -921,7 +921,7 @@
 </histogram>
 
 <histogram name="Blink.CullRect.UpdateTime" units="microseconds"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>pdr@chromium.org</owner>
   <owner>wangxianzhu@chromium.org</owner>
   <owner>paint-dev@chromium.org</owner>
@@ -1608,7 +1608,7 @@
 </histogram>
 
 <histogram name="Blink.FedCm.DomainHint.NumMatchingAccounts"
-    enum="FedCmNumAccounts" expires_after="2025-12-12">
+    enum="FedCmNumAccounts" expires_after="2026-03-29">
   <owner>npm@chromium.org</owner>
   <owner>web-identity-eng@google.com</owner>
   <summary>
@@ -1839,7 +1839,7 @@
 </histogram>
 
 <histogram name="Blink.FedCm.LoginHint.NumMatchingAccounts"
-    enum="FedCmNumAccounts" expires_after="2025-12-12">
+    enum="FedCmNumAccounts" expires_after="2026-03-29">
   <owner>npm@chromium.org</owner>
   <owner>web-identity-eng@google.com</owner>
   <summary>
@@ -1961,7 +1961,7 @@
 </histogram>
 
 <histogram name="Blink.FedCm.SegmentationPlatform.UserAction"
-    enum="FedCmUserAction" expires_after="2026-01-25">
+    enum="FedCmUserAction" expires_after="2026-03-29">
   <owner>tanzachary@chromium.org</owner>
   <owner>web-identity-eng@google.com</owner>
   <summary>
@@ -4070,7 +4070,7 @@
 </histogram>
 
 <histogram name="Blink.LinkHeader.LoadLinksFromHeaderMode"
-    enum="LoadLinksFromHeaderMode" expires_after="2026-01-25">
+    enum="LoadLinksFromHeaderMode" expires_after="2026-03-29">
   <owner>tnak@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
@@ -5232,7 +5232,7 @@
 </histogram>
 
 <histogram name="Blink.Sms.Receive.TimeSmsReceive" units="ms"
-    expires_after="2025-12-12">
+    expires_after="2026-03-29">
   <owner>yigu@chromium.org</owner>
   <owner>goto@chromium.org</owner>
   <owner>web-identity-eng@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/browser/histograms.xml b/tools/metrics/histograms/metadata/browser/histograms.xml
index 0551fc61..7cf1e48 100644
--- a/tools/metrics/histograms/metadata/browser/histograms.xml
+++ b/tools/metrics/histograms/metadata/browser/histograms.xml
@@ -1168,7 +1168,7 @@
 </histogram>
 
 <histogram name="Browser.WindowCount.Guest" units="units"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>rhalavati@chromium.org</owner>
   <owner>chrome-privacy-core@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/chromeos/histograms.xml b/tools/metrics/histograms/metadata/chromeos/histograms.xml
index 1df5155..b052d89 100644
--- a/tools/metrics/histograms/metadata/chromeos/histograms.xml
+++ b/tools/metrics/histograms/metadata/chromeos/histograms.xml
@@ -2436,7 +2436,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Intents.LinkCapturingEvent2"
-    enum="LinkCapturingEvent" expires_after="2026-01-25">
+    enum="LinkCapturingEvent" expires_after="2026-03-29">
   <owner>vpao@google.com</owner>
   <owner>chromeos-apps-foundation-team@google.com</owner>
   <summary>
@@ -3134,7 +3134,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Regmon.PolicyHandlerTime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>chiav@chromium.org</owner>
   <owner>crmullins@chromium.org</owner>
   <summary>
@@ -3144,7 +3144,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Regmon.PolicyViolation"
-    enum="NetworkAnnotationHashCodes" expires_after="2026-01-25">
+    enum="NetworkAnnotationHashCodes" expires_after="2026-03-29">
   <owner>chiav@chromium.org</owner>
   <owner>crmullins@chromium.org</owner>
   <summary>
@@ -3156,7 +3156,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Regmon.ReportViolationTime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>chiav@chromium.org</owner>
   <owner>crmullins@chromium.org</owner>
   <summary>
@@ -3241,7 +3241,7 @@
 </histogram>
 
 <histogram name="ChromeOS.SAML.Provider" enum="ChromeOSSamlProvider"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>mslus@chromium.org</owner>
   <owner>cros-3pidp@google.com</owner>
   <summary>Records SAML provider when SAML login flow is used.</summary>
diff --git a/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml b/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml
index 88b626d..63cc0df 100644
--- a/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml
+++ b/tools/metrics/histograms/metadata/chromeos_settings/histograms.xml
@@ -44,7 +44,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Settings.Accessibility.CaretBlinkInterval" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>katie@chromium.org</owner>
   <owner>chrome-a11y-core@google.com</owner>
   <summary>
@@ -135,7 +135,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Settings.Accessibility.{SettingType}.Enabled"
-    enum="BooleanToggled" expires_after="2026-01-25">
+    enum="BooleanToggled" expires_after="2026-03-29">
   <owner>katie@chromium.org</owner>
   <owner>chromeos-a11y-eng@google.com</owner>
   <summary>
@@ -896,7 +896,7 @@
 </histogram>
 
 <histogram name="ChromeOS.Settings.SearchResultSectionSelected"
-    enum="OsSettingsSection" expires_after="2026-01-25">
+    enum="OsSettingsSection" expires_after="2026-03-29">
   <owner>wesokuhara@google.com</owner>
   <owner>xiaohuic@chromium.org</owner>
   <owner>cros-settings@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/compositing/histograms.xml b/tools/metrics/histograms/metadata/compositing/histograms.xml
index 7ecfcff..3aac8c8 100644
--- a/tools/metrics/histograms/metadata/compositing/histograms.xml
+++ b/tools/metrics/histograms/metadata/compositing/histograms.xml
@@ -745,7 +745,7 @@
 </histogram>
 
 <histogram name="Compositing.Scheduler.DeadlineMode"
-    enum="BeginImplFrameDeadlineMode" expires_after="2026-01-25">
+    enum="BeginImplFrameDeadlineMode" expires_after="2026-03-29">
   <owner>lizeb@chromium.org</owner>
   <owner>jonross@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/cookie/histograms.xml b/tools/metrics/histograms/metadata/cookie/histograms.xml
index 0854e70b..4193af2 100644
--- a/tools/metrics/histograms/metadata/cookie/histograms.xml
+++ b/tools/metrics/histograms/metadata/cookie/histograms.xml
@@ -519,7 +519,7 @@
 </histogram>
 
 <histogram name="Cookie.GetCookieListWithOptions.Duration.Subsampled"
-    units="microseconds" expires_after="2026-01-25">
+    units="microseconds" expires_after="2026-03-29">
   <owner>anthonyvd@chromium.org</owner>
   <owner>chrome-catan@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/cras/histograms.xml b/tools/metrics/histograms/metadata/cras/histograms.xml
index 7aff1d2e..e00e1a1 100644
--- a/tools/metrics/histograms/metadata/cras/histograms.xml
+++ b/tools/metrics/histograms/metadata/cras/histograms.xml
@@ -830,7 +830,7 @@
 </histogram>
 
 <histogram name="Cras.RtcDevicePair" enum="CrasDevicePair"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yuhsuan@chromium.org</owner>
   <owner>chromeos-audio@google.com</owner>
   <summary>
@@ -959,7 +959,7 @@
 </histogram>
 
 <histogram name="Cras.StreamCallbackThreshold{Cras_Direction}" units="frames"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
 <!-- Name completed by histogram_suffixes
      name="Cras.Direction" and
      name="Cras.ClientType" -->
@@ -1032,7 +1032,7 @@
 </histogram>
 
 <histogram name="Cras.StreamEffectsOnDestroy{Cras_Direction}" units="value"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
 <!-- Name completed by histogram_suffixes
      name="Cras.Direction" and
      name="Cras.ClientType" -->
diff --git a/tools/metrics/histograms/metadata/custom_tabs/histograms.xml b/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
index 8c02e29a..161f1e01 100644
--- a/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
+++ b/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
@@ -111,7 +111,7 @@
 </histogram>
 
 <histogram name="CustomTabs.AdaptiveToolbarButton.Shown"
-    enum="AdaptiveToolbarButtonVariant" expires_after="2026-01-25">
+    enum="AdaptiveToolbarButtonVariant" expires_after="2026-03-29">
   <owner>jinsukkiim@google.com</owner>
   <owner>clank-app-team@google.com</owner>
   <summary>
@@ -649,7 +649,7 @@
 </histogram>
 
 <histogram name="CustomTabs.PageNavigation.ErrorCode" enum="NetErrorCodes"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>jinsukkim@chromium.org</owner>
   <owner>chrome-connective-tissue@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/enterprise/histograms.xml b/tools/metrics/histograms/metadata/enterprise/histograms.xml
index 8fc4bfe5..960f6e2 100644
--- a/tools/metrics/histograms/metadata/enterprise/histograms.xml
+++ b/tools/metrics/histograms/metadata/enterprise/histograms.xml
@@ -1363,7 +1363,7 @@
 </histogram>
 
 <histogram name="Enterprise.Dlp.ActiveFileEventsCount" units="entries"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>accorsi@google.com</owner>
   <owner>chromeos-dlp@google.com</owner>
   <summary>
@@ -2324,7 +2324,7 @@
 </histogram>
 
 <histogram name="Enterprise.EventBasedLogUpload.{EventLogUploadType}"
-    enum="EnterpriseEventBasedLogUploadResult" expires_after="2026-01-25">
+    enum="EnterpriseEventBasedLogUploadResult" expires_after="2026-03-29">
   <owner>iremuguz@google.com</owner>
   <owner>chromeos-commercial-supportability@google.com</owner>
   <summary>
@@ -2377,7 +2377,7 @@
 </histogram>
 
 <histogram name="Enterprise.FileAnalysisRequest.PrintedPageSize" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>eliashomsi@google.com</owner>
   <owner>nancylanxiao@google.com</owner>
   <owner>cbe-cep-eng@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/event/histograms.xml b/tools/metrics/histograms/metadata/event/histograms.xml
index 59347ad1..aea96b5 100644
--- a/tools/metrics/histograms/metadata/event/histograms.xml
+++ b/tools/metrics/histograms/metadata/event/histograms.xml
@@ -247,7 +247,7 @@
 
 <histogram
     name="Event.Jank.ScrollUpdate.{ScrollSpeed}.{VsyncStatus}.FrameAboveJankyThreshold2"
-    units="ratio * 100" expires_after="2026-01-25">
+    units="ratio * 100" expires_after="2026-03-29">
   <owner>jonross@chromium.org</owner>
   <owner>woa-performance@google.com</owner>
   <improvement direction="LOWER_IS_BETTER"/>
diff --git a/tools/metrics/histograms/metadata/extensions/histograms.xml b/tools/metrics/histograms/metadata/extensions/histograms.xml
index 129fc1c7..d76c833 100644
--- a/tools/metrics/histograms/metadata/extensions/histograms.xml
+++ b/tools/metrics/histograms/metadata/extensions/histograms.xml
@@ -3271,7 +3271,7 @@
 </histogram>
 
 <histogram name="Extensions.LoadingFromCommandLine" enum="LoadExtensionFlag"
-    expires_after="2025-11-30">
+    expires_after="2026-03-29">
   <owner>richche@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -3921,7 +3921,7 @@
 </histogram>
 
 <histogram name="Extensions.ServiceWorkerBackground.MultiWorkerVersionIdMatch"
-    enum="Boolean" expires_after="2026-01-01">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>andreaorru@chromium.org</owner>
   <owner>jlulejian@chromium.org</owner>
   <owner>extensions-core@chromium.org</owner>
@@ -4873,7 +4873,7 @@
 </histogram>
 
 <histogram name="Extensions.ZeroStatePromo.IphActionChromeWebStoreLink"
-    enum="WebStoreLinkClicked" expires_after="2026-01-25">
+    enum="WebStoreLinkClicked" expires_after="2026-03-29">
   <owner>uwyiming@chromium.org</owner>
   <owner>cws-consumer-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/gpu/histograms.xml b/tools/metrics/histograms/metadata/gpu/histograms.xml
index ea8b129..2dd9492 100644
--- a/tools/metrics/histograms/metadata/gpu/histograms.xml
+++ b/tools/metrics/histograms/metadata/gpu/histograms.xml
@@ -2046,7 +2046,7 @@
 </histogram>
 
 <histogram name="Viz.FrameIntervalDecider.ActualIntervalDefault" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>boliu@chromium.org</owner>
   <owner>chrome-gpu-metric-alerts@chromium.org</owner>
   <summary>
@@ -2063,7 +2063,7 @@
 </histogram>
 
 <histogram name="Viz.FrameIntervalDecider.ActualIntervalFor{DecidedHz}hz"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>boliu@chromium.org</owner>
   <owner>chrome-gpu-metric-alerts@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/history/histograms.xml b/tools/metrics/histograms/metadata/history/histograms.xml
index 79d5fee..35d92853 100644
--- a/tools/metrics/histograms/metadata/history/histograms.xml
+++ b/tools/metrics/histograms/metadata/history/histograms.xml
@@ -803,7 +803,7 @@
 </histogram>
 
 <histogram name="History.Clusters.Backend.QueryAnnotatedVisits.ThreadTime"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>sophiechang@chromium.org</owner>
   <owner>chrome-journeys@google.com</owner>
   <component>1457319</component>
@@ -2699,7 +2699,7 @@
 </histogram>
 
 <histogram name="History.MonthlyHostCount" units="hosts"
-    expires_after="2026-01-27">
+    expires_after="2026-03-29">
   <owner>mpearson@chromium.org</owner>
   <owner>sky@chromium.org</owner>
   <component>1456716</component>
@@ -2711,7 +2711,7 @@
 </histogram>
 
 <histogram name="History.MonthlyURLCount" units="urls"
-    expires_after="2026-01-27">
+    expires_after="2026-03-29">
   <owner>mpearson@chromium.org</owner>
   <owner>sky@chromium.org</owner>
   <component>1456716</component>
@@ -2967,7 +2967,7 @@
 </histogram>
 
 <histogram name="History.VisitedLinks.TryToAddFingerprint"
-    enum="AddFingerprint" expires_after="2026-01-25">
+    enum="AddFingerprint" expires_after="2026-03-29">
   <owner>kyraseevers@chromium.org</owner>
   <owner>janiceliu@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/installer/histograms.xml b/tools/metrics/histograms/metadata/installer/histograms.xml
index 7aa7649..1344942 100644
--- a/tools/metrics/histograms/metadata/installer/histograms.xml
+++ b/tools/metrics/histograms/metadata/installer/histograms.xml
@@ -74,7 +74,7 @@
 </histogram>
 
 <histogram name="Installer.Postinstall.EfiManagementEvent"
-    enum="ChromeOSEfiManagementEvent" expires_after="2025-12-07">
+    enum="ChromeOSEfiManagementEvent" expires_after="2026-03-29">
   <owner>tbrandston@google.com</owner>
   <owner>chromeos-flex-eng@google.com</owner>
   <summary>
@@ -159,7 +159,7 @@
 </histogram>
 
 <histogram name="Installer.PowerwashDays" units="powerwashdays"
-    expires_after="2026-01-18">
+    expires_after="2026-03-29">
   <owner>qianwan@google.com</owner>
   <owner>chromeos-data@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/ios/histograms.xml b/tools/metrics/histograms/metadata/ios/histograms.xml
index 2cfb259..1fd1a77 100644
--- a/tools/metrics/histograms/metadata/ios/histograms.xml
+++ b/tools/metrics/histograms/metadata/ios/histograms.xml
@@ -274,7 +274,7 @@
 </histogram>
 
 <histogram name="IOS.BackgroundRefresh.InitStage"
-    enum="InitStageDuringBackgroundRefreshType" expires_after="2026-01-27">
+    enum="InitStageDuringBackgroundRefreshType" expires_after="2026-03-29">
   <owner>fedegermi@google.com</owner>
   <owner>marq@chromium.org</owner>
   <summary>
@@ -3720,7 +3720,7 @@
 </histogram>
 
 <histogram name="IOS.MultiWindow.OpenInNewWindow" enum="WindowActivityOrigin"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>marq@chromium.org</owner>
   <owner>fedegermi@google.com</owner>
   <summary>
@@ -3793,7 +3793,7 @@
 </histogram>
 
 <histogram name="IOS.Notifications.SafetyCheck.Interaction"
-    enum="IOSSafetyCheckNotificationType" expires_after="2026-01-25">
+    enum="IOSSafetyCheckNotificationType" expires_after="2026-03-29">
   <owner>bwwilliams@google.com</owner>
   <owner>scottyoder@google.com</owner>
   <owner>bling-pandamonium@google.com</owner>
@@ -5015,7 +5015,7 @@
 
 <histogram name="IOS.PushNotification.ProminenceAlert.Result"
     enum="IOSNotificationsProminenceAlertActionResult"
-    expires_after="2025-11-10">
+    expires_after="2026-11-10">
   <owner>thegreenfrog@google.com</owner>
   <owner>bling-gsu-pod@google.com</owner>
   <summary>
@@ -5072,7 +5072,7 @@
 </histogram>
 
 <histogram name="IOS.ReaderMode.Distiller.Latency" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>fernandex@google.com</owner>
   <owner>bling-squid-squad@google.com</owner>
   <summary>
@@ -5084,7 +5084,7 @@
 </histogram>
 
 <histogram name="IOS.ReaderMode.Distiller.Result"
-    enum="ReaderModeDistillerOutcome" expires_after="2026-01-25">
+    enum="ReaderModeDistillerOutcome" expires_after="2026-03-29">
   <owner>fernandex@google.com</owner>
   <owner>qpubert@google.com</owner>
   <owner>bling-squid-squad@google.com</owner>
@@ -5127,7 +5127,7 @@
 </histogram>
 
 <histogram name="IOS.ReaderMode.Heuristic.Latency" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>fernandex@google.com</owner>
   <owner>bling-squid-squad@google.com</owner>
   <summary>
@@ -5324,7 +5324,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.EntryPoint{EntryPoint}.Action"
-    enum="SafariDataImportEntryPointAction" expires_after="2026-01-28">
+    enum="SafariDataImportEntryPointAction" expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5340,7 +5340,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.ExportEducationAction"
-    enum="SafariDataImportExportEducationAction" expires_after="2026-01-28">
+    enum="SafariDataImportExportEducationAction" expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5351,7 +5351,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.Import.DeleteFile" enum="Boolean"
-    expires_after="2026-01-28">
+    expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5361,7 +5361,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.Import.ExitOnStage"
-    enum="SafariDataImportStage" expires_after="2026-01-28">
+    enum="SafariDataImportStage" expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5373,7 +5373,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.Import.FailureAlert" enum="BooleanSuccess"
-    expires_after="2026-01-28">
+    expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5385,7 +5385,7 @@
 </histogram>
 
 <histogram name="IOS.SafariImport.Import.InvalidPasswords.Display"
-    enum="Boolean" expires_after="2026-01-28">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>ginnyhuang@chromium.org</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -5943,7 +5943,7 @@
 </histogram>
 
 <histogram name="IOS.SetUpList.AllItemsCompleted" enum="Boolean"
-    expires_after="2026-01-11">
+    expires_after="2026-03-29">
   <owner>scottyoder@google.com</owner>
   <owner>bling-pandamonium@google.com</owner>
   <summary>
@@ -7002,7 +7002,7 @@
 
 <histogram
     name="ManualFallback.VisibleSuggestions.ExpandIcon.OpenPaymentMethods"
-    units="Suggestions" expires_after="2026-01-25">
+    units="Suggestions" expires_after="2026-03-29">
   <owner>noemies@google.com</owner>
   <owner>sugoi@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/kiosk/histograms.xml b/tools/metrics/histograms/metadata/kiosk/histograms.xml
index 55e744ff..cecec94 100644
--- a/tools/metrics/histograms/metadata/kiosk/histograms.xml
+++ b/tools/metrics/histograms/metadata/kiosk/histograms.xml
@@ -201,7 +201,7 @@
 </histogram>
 
 <histogram name="Kiosk.LaunchDuration.{KioskType}" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yixie@chromium.org</owner>
   <owner>chromeos-kiosk-eng@google.com</owner>
   <summary>Records the total duration it takes to launch a kiosk app.</summary>
diff --git a/tools/metrics/histograms/metadata/language/histograms.xml b/tools/metrics/histograms/metadata/language/histograms.xml
index de1090e..af0e0f1 100644
--- a/tools/metrics/histograms/metadata/language/histograms.xml
+++ b/tools/metrics/histograms/metadata/language/histograms.xml
@@ -332,7 +332,7 @@
 </histogram>
 
 <histogram name="LanguageUsage.AcceptLanguage.Count2" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>victortan@chromium.org</owner>
   <owner>katabolism-finch@google.com</owner>
   <summary>
@@ -344,7 +344,7 @@
 </histogram>
 
 <histogram name="LanguageUsage.AcceptLanguage.FirstAcceptLanguage"
-    enum="LanguageName" expires_after="2026-01-25">
+    enum="LanguageName" expires_after="2026-03-29">
   <owner>victortan@chromium.org</owner>
   <owner>katabolism-finch@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/login/histograms.xml b/tools/metrics/histograms/metadata/login/histograms.xml
index e9a0b59..f27758d 100644
--- a/tools/metrics/histograms/metadata/login/histograms.xml
+++ b/tools/metrics/histograms/metadata/login/histograms.xml
@@ -118,7 +118,7 @@
 </histogram>
 
 <histogram name="Login.Flow.{UserVisibility}.{UserCount}"
-    enum="LoginFlowUserLoginType" expires_after="2026-01-25">
+    enum="LoginFlowUserLoginType" expires_after="2026-03-29">
   <owner>antrim@chromium.org</owner>
   <owner>cros-lurs@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/magic_stack/histograms.xml b/tools/metrics/histograms/metadata/magic_stack/histograms.xml
index bc8ef58..682abc0e 100644
--- a/tools/metrics/histograms/metadata/magic_stack/histograms.xml
+++ b/tools/metrics/histograms/metadata/magic_stack/histograms.xml
@@ -51,7 +51,7 @@
 </variants>
 
 <histogram name="MagicStack.Clank.NewTabPage.ContextMenu.OpenCustomizeSettings"
-    enum="ModuleType" expires_after="2026-01-25">
+    enum="ModuleType" expires_after="2026-03-29">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -62,7 +62,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.ContextMenu.RemoveModuleV2"
-    enum="ModuleType" expires_after="2026-01-25">
+    enum="ModuleType" expires_after="2026-03-29">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -72,7 +72,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.ContextMenu.ShownV2"
-    enum="ModuleType" expires_after="2026-01-25">
+    enum="ModuleType" expires_after="2026-03-29">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -82,7 +82,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.Module.Click" enum="ModuleType"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -94,7 +94,7 @@
 
 <histogram
     name="MagicStack.Clank.NewTabPage.Module.FetchDataDurationMs.{ModuleType}"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -107,7 +107,7 @@
 
 <histogram
     name="MagicStack.Clank.NewTabPage.Module.FetchDataFailedDurationMs.{ModuleType}"
-    units="ms" expires_after="2025-11-26">
+    units="ms" expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -120,7 +120,7 @@
 
 <histogram
     name="MagicStack.Clank.NewTabPage.Module.FetchDataTimeoutDurationMs.{ModuleType}"
-    units="ms" expires_after="2025-11-26">
+    units="ms" expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -132,7 +132,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.Module.FetchDataTimeoutTypeV2"
-    enum="ModuleType" expires_after="2025-11-26">
+    enum="ModuleType" expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -155,7 +155,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.Module.ProfileReadyDelayMs"
-    units="ms" expires_after="2025-11-26">
+    units="ms" expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -176,7 +176,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.NotScrollable" units="count"
-    expires_after="2025-11-26">
+    expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -187,7 +187,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.NewTabPage.Scrollable.{ScrollState}"
-    units="count" expires_after="2025-11-09">
+    units="count" expires_after="2026-05-26">
   <owner>hanxi@chromium.org</owner>
   <owner>xinyiji@chromium.org</owner>
   <summary>
@@ -287,7 +287,7 @@
 </histogram>
 
 <histogram name="MagicStack.Clank.SingleTab.SeeMoreLinkClicked" enum="Boolean"
-    expires_after="2025-11-26">
+    expires_after="2026-05-26">
   <owner>hanxi@google.com</owner>
   <owner>huangs@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/media/histograms.xml b/tools/metrics/histograms/metadata/media/histograms.xml
index 5ee50466..9d29680 100644
--- a/tools/metrics/histograms/metadata/media/histograms.xml
+++ b/tools/metrics/histograms/metadata/media/histograms.xml
@@ -563,7 +563,7 @@
 
 <histogram
     name="Media.Audio.Android.AAudioFramesPerBurst.{Direction}{AudioLatencyTag}"
-    units="frames" expires_after="2026-01-18">
+    units="frames" expires_after="2026-03-29">
   <owner>tguilbert@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
   <summary>
@@ -577,7 +577,7 @@
 
 <histogram
     name="Media.Audio.Android.AAudioFramesPerBurstChanged.{Direction}{AudioLatencyTag}"
-    enum="Boolean" expires_after="2026-01-18">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>tguilbert@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
   <summary>
@@ -717,7 +717,7 @@
 </histogram>
 
 <histogram name="Media.Audio.Autoplay" enum="AutoplaySource"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>evliu@google.com</owner>
   <owner>dalecurtis@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
@@ -809,7 +809,7 @@
 </histogram>
 
 <histogram name="Media.Audio.Capture.Mac.MicSystemPermission.Startup"
-    enum="SystemMediaCapturePermission" expires_after="2026-01-26">
+    enum="SystemMediaCapturePermission" expires_after="2026-03-29">
   <owner>toprice@chromium.org</owner>
   <owner>video-cmi-apis@google.com</owner>
   <owner>webrtc-audio-uma@google.com</owner>
@@ -999,7 +999,7 @@
 </histogram>
 
 <histogram name="Media.Audio.Capture.Win.InitError" enum="Hresult"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>olka@chromium.org</owner>
   <owner>tommi@chromium.org</owner>
   <owner>guidou@chromium.org</owner>
@@ -4955,7 +4955,7 @@
 </histogram>
 
 <histogram name="Media.MediaFoundationRenderer.FailedToSetDCompMode"
-    enum="Hresult" expires_after="2026-01-15">
+    enum="Hresult" expires_after="2026-03-29">
   <owner>xhwang@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
   <summary>
@@ -6805,7 +6805,7 @@
 </histogram>
 
 <histogram name="Media.Video.Autoplay" enum="AutoplaySource"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>evliu@google.com</owner>
   <owner>dalecurtis@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
@@ -6816,7 +6816,7 @@
 </histogram>
 
 <histogram name="Media.Video.Autoplay.Muted.PlayMethod.BecomesVisible"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>evliu@google.com</owner>
   <owner>dalecurtis@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
@@ -6830,7 +6830,7 @@
 </histogram>
 
 <histogram name="Media.Video.Autoplay.Muted.PlayMethod.OffscreenDuration"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>evliu@google.com</owner>
   <owner>dalecurtis@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
@@ -6841,7 +6841,7 @@
 </histogram>
 
 <histogram name="Media.Video.Autoplay.Muted.UnmuteAction" enum="BooleanSuccess"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>evliu@google.com</owner>
   <owner>dalecurtis@chromium.org</owner>
   <owner>media-dev-uma@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/memory/histograms.xml b/tools/metrics/histograms/metadata/memory/histograms.xml
index 5282cba..59161f9 100644
--- a/tools/metrics/histograms/metadata/memory/histograms.xml
+++ b/tools/metrics/histograms/metadata/memory/histograms.xml
@@ -1464,7 +1464,7 @@
 
 <histogram
     name="Memory.Experimental.Gpu2.Custom{ProcessMemoryAllocatorCustom2}"
-    units="bytes" expires_after="2026-01-25">
+    units="bytes" expires_after="2026-03-29">
   <owner>sashamcintosh@chromium.org</owner>
   <owner>chromeos-gfx@chromium.org</owner>
   <owner>erikchen@chromium.org</owner>
@@ -1715,7 +1715,7 @@
 
 <histogram
     name="Memory.Experimental.Renderer2.Small{ProcessMemoryAllocatorSmall2}"
-    units="KB" expires_after="2026-01-25">
+    units="KB" expires_after="2026-03-29">
   <owner>erikchen@chromium.org</owner>
   <owner>ssid@chromium.org</owner>
   <owner>lizeb@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/navigation/histograms.xml b/tools/metrics/histograms/metadata/navigation/histograms.xml
index 9426685..f79e286 100644
--- a/tools/metrics/histograms/metadata/navigation/histograms.xml
+++ b/tools/metrics/histograms/metadata/navigation/histograms.xml
@@ -2853,7 +2853,7 @@
 </histogram>
 
 <histogram name="Navigation.URLLoader.HasClientHintsControllerDelegate"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>yyanagisawa@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
@@ -3128,7 +3128,7 @@
 </histogram>
 
 <histogram name="Navigation.{Stage}ToCompositorCreation" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>rakina@chromium.org</owner>
   <owner>bfcache-dev@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/net/histograms.xml b/tools/metrics/histograms/metadata/net/histograms.xml
index 4109669c..145430b 100644
--- a/tools/metrics/histograms/metadata/net/histograms.xml
+++ b/tools/metrics/histograms/metadata/net/histograms.xml
@@ -1922,7 +1922,7 @@
 </histogram>
 
 <histogram name="Net.DeviceBoundSessions.RequestDeferralDecision2"
-    enum="DeviceBoundSessionUsage" expires_after="2026-01-18">
+    enum="DeviceBoundSessionUsage" expires_after="2026-03-29">
   <owner>thefrog@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -1997,7 +1997,7 @@
 </histogram>
 
 <histogram name="Net.DeviceBoundSessions.{RequestType}.Network.Result"
-    enum="CombinedHttpResponseAndNetErrorCode" expires_after="2026-01-22">
+    enum="CombinedHttpResponseAndNetErrorCode" expires_after="2026-03-29">
   <owner>thefrog@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -3350,7 +3350,7 @@
 </histogram>
 
 <histogram name="Net.HttpStreamPool.Existing{Protocol}SessionFoundTime"
-    units="ms" expires_after="2025-12-02">
+    units="ms" expires_after="2026-03-29">
   <owner>bashi@chromium.org</owner>
   <owner>blink-network-stack@google.com</owner>
   <summary>
@@ -3455,7 +3455,7 @@
 </histogram>
 
 <histogram name="Net.HttpStreamPool.TcpBasedAttemptCancelCount.{Reason}"
-    units="attempts" expires_after="2025-12-02">
+    units="attempts" expires_after="2026-03-29">
   <owner>bashi@chromium.org</owner>
   <owner>blink-network-stack@google.com</owner>
   <summary>
@@ -4071,7 +4071,7 @@
 </histogram>
 
 <histogram name="Net.QuicConnection.ServerAllowsActiveMigrationForMultiPort"
-    enum="BooleanEnabled" expires_after="2026-01-25">
+    enum="BooleanEnabled" expires_after="2026-03-29">
   <owner>renjietang@chromium.org</owner>
   <owner>src/net/OWNERS</owner>
   <summary>
@@ -6889,7 +6889,7 @@
 
 <histogram
     name="Net.SessionCreate.GoogleSearch.Preconnect2.{ProtocolType}.IsSessionReused"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>suzukikeita@chromium.org</owner>
   <owner>blink-network-stack@google.com</owner>
   <summary>
@@ -7549,7 +7549,7 @@
 </histogram>
 
 <histogram name="Net.SqlDiskCache.Backend.{CheckpointType}.{ResultType}"
-    units="pages" expires_after="2025-12-09">
+    units="pages" expires_after="2026-03-29">
   <owner>horo@chromium.org</owner>
   <owner>src/net/OWNERS</owner>
   <summary>
@@ -7565,7 +7565,7 @@
 </histogram>
 
 <histogram name="Net.SqlDiskCache.Backend.{CheckpointType}.{TimeType}"
-    units="microseconds" expires_after="2025-12-09">
+    units="microseconds" expires_after="2026-03-29">
   <owner>horo@chromium.org</owner>
   <owner>src/net/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
index 212f833..567117f0 100644
--- a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
+++ b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
@@ -295,7 +295,7 @@
 </histogram>
 
 <histogram name="NewTabPage.Composebox.File.Size.{ComposeboxFileTypes}"
-    units="bytes" expires_after="2026-01-20">
+    units="bytes" expires_after="2026-03-29">
   <owner>jennserrano@google.com</owner>
   <owner>chrome-desktop-ntp@google.com</owner>
   <owner>chrome-desktop-search@google.com</owner>
@@ -808,7 +808,7 @@
 </histogram>
 
 <histogram name="NewTabPage.Drive.FileClick" units="index"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>rtatum@google.com</owner>
   <owner>tiborg@chromium.org</owner>
   <owner>chrome-desktop-ntp@google.com</owner>
@@ -879,7 +879,7 @@
 </histogram>
 
 <histogram name="NewTabPage.Footer.Click" enum="FooterElement"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>temao@chromium.org</owner>
   <owner>tiborg@chromium.org</owner>
   <owner>chrome-desktop-ntp@google.com</owner>
@@ -895,7 +895,7 @@
 </histogram>
 
 <histogram name="NewTabPage.Footer.CustomizeChromeOpened"
-    enum="FooterCustomizeChromeEntryPoint" expires_after="2026-01-25">
+    enum="FooterCustomizeChromeEntryPoint" expires_after="2026-03-29">
   <owner>temao@chromium.org</owner>
   <owner>tiborg@chromium.org</owner>
   <owner>chrome-desktop-ntp@google.com</owner>
@@ -1785,7 +1785,7 @@
 </histogram>
 
 <histogram name="NewTabPage.MostVisited.NumberOfCustomTilesOnFirstNtp"
-    units="units" expires_after="2026-01-25">
+    units="units" expires_after="2026-03-29">
   <owner>fredmello@chromium.org</owner>
   <owner>huangs@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/notifications/histograms.xml b/tools/metrics/histograms/metadata/notifications/histograms.xml
index 8190ef6..d189676 100644
--- a/tools/metrics/histograms/metadata/notifications/histograms.xml
+++ b/tools/metrics/histograms/metadata/notifications/histograms.xml
@@ -129,7 +129,7 @@
 </histogram>
 
 <histogram name="Notifications.Android.ImageMemorySizeInKB" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>peilinwang@google.com</owner>
   <owner>clank-performance-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/omnibox/histograms.xml b/tools/metrics/histograms/metadata/omnibox/histograms.xml
index f33d1fa..969c780 100644
--- a/tools/metrics/histograms/metadata/omnibox/histograms.xml
+++ b/tools/metrics/histograms/metadata/omnibox/histograms.xml
@@ -1834,7 +1834,7 @@
 </histogram>
 
 <histogram name="Omnibox.KeywordCount{KeywordType}" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>mahmadi@chromium.org</owner>
   <owner>chrome-desktop-search@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/on_device_model/histograms.xml b/tools/metrics/histograms/metadata/on_device_model/histograms.xml
index e5698a6f..947d1fc8 100644
--- a/tools/metrics/histograms/metadata/on_device_model/histograms.xml
+++ b/tools/metrics/histograms/metadata/on_device_model/histograms.xml
@@ -312,7 +312,7 @@
   </token>
 </histogram>
 
-<histogram name="OnDeviceModel.TotalTime.Input{Type}" units="tk/s"
+<histogram name="OnDeviceModel.TotalTime.Input{Type}" units="ms"
     expires_after="2026-04-08">
   <owner>cduvall@chromium.org</owner>
   <owner>sophiechang@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/optimization/histograms.xml b/tools/metrics/histograms/metadata/optimization/histograms.xml
index 7a250e8..89e71077 100644
--- a/tools/metrics/histograms/metadata/optimization/histograms.xml
+++ b/tools/metrics/histograms/metadata/optimization/histograms.xml
@@ -1184,7 +1184,7 @@
 
 <histogram
     name="OptimizationGuide.ModelExecution.OnDeviceModelToBeInstalledReason.{ModelExecutionFeature}"
-    enum="OptimizationGuideOnDeviceModelStatus" expires_after="2026-01-24">
+    enum="OptimizationGuideOnDeviceModelStatus" expires_after="2026-03-29">
   <owner>holte@chromium.org</owner>
   <owner>andysjlim@chromium.org</owner>
   <summary>
@@ -1480,7 +1480,7 @@
 
 <histogram
     name="OptimizationGuide.ModelExecutor.ModelLoadingDuration2.{OptimizationTarget}"
-    units="ms" expires_after="2026-01-11">
+    units="ms" expires_after="2026-03-29">
   <owner>wittman@chromium.org</owner>
   <owner>rajendrant@chromium.org</owner>
   <summary>
@@ -1688,7 +1688,7 @@
 
 <histogram
     name="OptimizationGuide.PageContentAnnotations.GoogleSearchMetadataExtracted"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>sophiechang@chromium.org</owner>
   <owner>chrome-intelligence-core@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 25b2ad0..aa61e5c 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -3406,7 +3406,7 @@
 </histogram>
 
 <histogram name="ComponentUpdater.Calls" enum="ComponentUpdaterCalls"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>sorin@chromium.org</owner>
   <owner>src/components/component_updater/OWNERS</owner>
   <summary>
@@ -3429,21 +3429,21 @@
 </histogram>
 
 <histogram name="ComponentUpdater.UpdateCompleteError"
-    enum="UpdateClientErrors" expires_after="2026-01-25">
+    enum="UpdateClientErrors" expires_after="2026-03-29">
   <owner>sorin@chromium.org</owner>
   <owner>src/components/component_updater/OWNERS</owner>
   <summary>The result of an install or an update check.</summary>
 </histogram>
 
 <histogram name="ComponentUpdater.UpdateCompleteResult" enum="BooleanError"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>sorin@chromium.org</owner>
   <owner>src/components/component_updater/OWNERS</owner>
   <summary>The result of an install or an update check.</summary>
 </histogram>
 
 <histogram name="ComponentUpdater.UpdateCompleteTime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>sorin@chromium.org</owner>
   <owner>src/components/component_updater/OWNERS</owner>
   <summary>
@@ -4159,7 +4159,7 @@
 </histogram>
 
 <histogram name="DocumentScan.ScanFailed" enum="DocumentScanSaneBackend"
-    expires_after="2026-01-27">
+    expires_after="2026-03-29">
   <owner>bmgordon@chromium.org</owner>
   <owner>project-bolton@google.com</owner>
   <summary>
@@ -7717,7 +7717,7 @@
 </histogram>
 
 <histogram name="ReadingList.Read.Number" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>gambard@chromium.org</owner>
   <owner>bling-team@google.com</owner>
   <summary>Number of read entries in reading list.</summary>
@@ -7733,7 +7733,7 @@
 </histogram>
 
 <histogram name="ReadingList.Unread.Number" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>gambard@chromium.org</owner>
   <owner>bling-team@google.com</owner>
   <summary>Number of unread entries in reading list.</summary>
@@ -9590,7 +9590,7 @@
 </histogram>
 
 <histogram name="UpdateClient.Component.UpdateCheckResult"
-    enum="UpdateClientUpdateCheckResult" expires_after="2026-01-25">
+    enum="UpdateClientUpdateCheckResult" expires_after="2026-03-29">
   <owner>noahrose@google.com</owner>
   <owner>sorin@chromium.org</owner>
   <owner>waffles@chromium.org</owner>
@@ -9601,7 +9601,7 @@
 </histogram>
 
 <histogram name="UpdateClient.Component.Updated" enum="Boolean"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>noahrose@google.com</owner>
   <owner>sorin@chromium.org</owner>
   <owner>waffles@chromium.org</owner>
@@ -9636,7 +9636,7 @@
 </histogram>
 
 <histogram name="UpdateClient.UnzipTime{AppID}" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>noahrose@google.com</owner>
   <owner>sorin@chromium.org</owner>
   <owner>waffles@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/page/histograms.xml b/tools/metrics/histograms/metadata/page/histograms.xml
index ee4c2af..11a02b85 100644
--- a/tools/metrics/histograms/metadata/page/histograms.xml
+++ b/tools/metrics/histograms/metadata/page/histograms.xml
@@ -1125,7 +1125,7 @@
 
 <histogram
     name="PageLoad.Clients.GoogleSearch.AdvertisedAltSvcState{QuicAvailability}{IncognitoSuffix}"
-    enum="AdvertisedAltSvcState" expires_after="2025-12-01">
+    enum="AdvertisedAltSvcState" expires_after="2026-03-29">
   <owner>bashi@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
@@ -1326,7 +1326,7 @@
 </histogram>
 
 <histogram name="PageLoad.Clients.GoogleSearch.HttpNetworkSessionQuicEnabled"
-    enum="Boolean" expires_after="2025-12-01">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>bashi@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
@@ -1660,7 +1660,7 @@
 
 <histogram
     name="PageLoad.Clients.GoogleSearch.Prerender.HostReused{IncognitoSuffix}"
-    enum="Boolean" expires_after="2026-01-11">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>suzukikeita@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
@@ -1686,7 +1686,7 @@
 
 <histogram
     name="PageLoad.Clients.GoogleSearch.SessionSource{ConnectionProtocolType}"
-    enum="NetworkSessionSource" expires_after="2025-12-01">
+    enum="NetworkSessionSource" expires_after="2026-03-29">
   <owner>bashi@chromium.org</owner>
   <owner>chrome-loading@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/password/histograms.xml b/tools/metrics/histograms/metadata/password/histograms.xml
index 2a382bd..37d373c 100644
--- a/tools/metrics/histograms/metadata/password/histograms.xml
+++ b/tools/metrics/histograms/metadata/password/histograms.xml
@@ -1771,7 +1771,7 @@
 </histogram>
 
 <histogram name="PasswordManager.FirstWaitForUsernameReason"
-    enum="PasswordManagerFirstWaitForUsernameReason" expires_after="2026-01-25">
+    enum="PasswordManagerFirstWaitForUsernameReason" expires_after="2026-03-29">
   <owner>kazinova@google.com</owner>
   <owner>battre@chromium.org</owner>
   <summary>
@@ -2261,7 +2261,7 @@
 <histogram
     name="PasswordManager.LoginDatabase.ShouldDeleteUndecryptablePasswords"
     enum="LoginDatabaseShouldDeleteUndecryptablePasswords"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>sygiet@google.com</owner>
   <owner>vasilii@chromium.org</owner>
   <summary>
@@ -2532,7 +2532,7 @@
 </histogram>
 
 <histogram name="PasswordManager.ParserDetectedOtpFieldWithRegex"
-    enum="Boolean" expires_after="2025-12-14">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>kazinova@google.com</owner>
   <owner>vasilii@chromium.org</owner>
   <summary>
@@ -3299,7 +3299,7 @@
 
 <histogram name="PasswordManager.PasswordSharingIOS.UserAction"
     enum="PasswordManager.PasswordSharingIOSUserAction"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>rgod@google.com</owner>
   <owner>mamir@chromium.org</owner>
   <summary>
@@ -3720,7 +3720,7 @@
 <histogram
     name="PasswordManager.ProcessIncomingPasswordSharingInvitationResult"
     enum="PasswordManager.ProcessIncomingPasswordSharingInvitationResult"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>mamir@chromium.org</owner>
   <owner>rushans@google.com</owner>
   <component>1457410</component>
@@ -4866,7 +4866,7 @@
 </histogram>
 
 <histogram name="PasswordProtection.RequestReferringAppSource"
-    enum="PasswordProtectionReferringAppSource" expires_after="2025-12-28">
+    enum="PasswordProtectionReferringAppSource" expires_after="2026-03-29">
   <owner>nwokedi@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -4889,7 +4889,7 @@
 </histogram>
 
 <histogram name="PasswordProtection.ReusedPasswordAccountType"
-    enum="AccountTypeWithSyncState" expires_after="2026-01-23">
+    enum="AccountTypeWithSyncState" expires_after="2026-03-29">
   <owner>nwokedi@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/performance_manager/histograms.xml b/tools/metrics/histograms/metadata/performance_manager/histograms.xml
index 4d1219a..4220cfa4 100644
--- a/tools/metrics/histograms/metadata/performance_manager/histograms.xml
+++ b/tools/metrics/histograms/metadata/performance_manager/histograms.xml
@@ -121,7 +121,7 @@
 </histogram>
 
 <histogram name="CPU.Experimental.EstimatedFrequencyAsPercentOfMax.{CoreType}"
-    units="%" expires_after="2026-01-25">
+    units="%" expires_after="2026-03-29">
   <owner>anthonyvd@chromium.org</owner>
   <owner>catan-team@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/permissions/histograms.xml b/tools/metrics/histograms/metadata/permissions/histograms.xml
index 9eaf103..f2050a6 100644
--- a/tools/metrics/histograms/metadata/permissions/histograms.xml
+++ b/tools/metrics/histograms/metadata/permissions/histograms.xml
@@ -1040,7 +1040,7 @@
 </histogram>
 
 <histogram name="Permissions.PredictionService.MSBB" enum="BooleanEnabled"
-    expires_after="2025-12-01">
+    expires_after="2026-03-29">
   <owner>elklm@chromium.org</owner>
   <owner>hempjudith@google.com</owner>
   <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
@@ -1065,7 +1065,7 @@
 </histogram>
 
 <histogram name="Permissions.PredictionService.TFLiteLibAvailable"
-    enum="BooleanAvailable" expires_after="2025-12-01">
+    enum="BooleanAvailable" expires_after="2026-03-29">
   <owner>elklm@chromium.org</owner>
   <owner>hempjudith@google.com</owner>
   <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
@@ -1764,14 +1764,11 @@
   <summary>
     Records when a permission request was preignored because it will be shown as
     a quiet chip.
-
-    Warning: this histogram was expired from 2025-11-15 to 2024-06-27; data may
-    be missing.
   </summary>
 </histogram>
 
 <histogram name="Permissions.QuietPrompt.Preignore.PageReloadInfoBar"
-    enum="BooleanShown" expires_after="2026-01-01">
+    enum="BooleanShown" expires_after="2026-03-29">
   <owner>elklm@chromium.org</owner>
   <owner>hempjudith@google.com</owner>
   <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
diff --git a/tools/metrics/histograms/metadata/platform/histograms.xml b/tools/metrics/histograms/metadata/platform/histograms.xml
index 937c8d0d..441fcfa 100644
--- a/tools/metrics/histograms/metadata/platform/histograms.xml
+++ b/tools/metrics/histograms/metadata/platform/histograms.xml
@@ -953,7 +953,7 @@
 </histogram>
 
 <histogram name="Platform.FlexCpuIsaLevel" enum="FlexCpuIsaLevel"
-    expires_after="2026-01-18">
+    expires_after="2026-03-29">
   <owner>nicholasbishop@google.com</owner>
   <owner>chromeos-flex-eng@google.com</owner>
   <summary>
@@ -2036,7 +2036,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.CpuUsageMilliPercent" units="1/1000ths of %"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -2056,7 +2056,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.PeakTotalRssMemoryKb" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -2066,7 +2066,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.PeakTotalSwapMemoryKb" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -2076,7 +2076,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.TotalMallocMemoryKb" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -2085,7 +2085,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.TotalRssMemoryKb" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -2095,7 +2095,7 @@
 </histogram>
 
 <histogram name="Platform.Odml.TotalSwapMemoryKb" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>yich@google.com</owner>
   <owner>cros-odml-foundations-eng@google.com</owner>
   <summary>
@@ -3117,7 +3117,7 @@
 </histogram>
 
 <histogram name="Platform.{GSC}.FlashLog" enum="Cr50FlashLogs"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>apronin@chromium.org</owner>
   <owner>vbendeb@chromium.org</owner>
   <owner>cros-hwsec+uma@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/power/histograms.xml b/tools/metrics/histograms/metadata/power/histograms.xml
index f871762..be64b413 100644
--- a/tools/metrics/histograms/metadata/power/histograms.xml
+++ b/tools/metrics/histograms/metadata/power/histograms.xml
@@ -1853,7 +1853,7 @@
 </histogram>
 
 <histogram name="Power.SuspendResult" enum="SuspendResult"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>puthik@chromium.org</owner>
   <owner>chromeos-platform-power@google.com</owner>
   <summary>
@@ -1904,7 +1904,7 @@
 </histogram>
 
 <histogram name="Power.UserBrightnessAdjustmentsPerSessionOnBattery"
-    units="units" expires_after="2026-01-25">
+    units="units" expires_after="2026-03-29">
   <owner>alanlxl@chromium.org</owner>
   <owner>amoylan@chromium.org</owner>
   <owner>napper@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/printing/histograms.xml b/tools/metrics/histograms/metadata/printing/histograms.xml
index b8a969f..1606f478 100644
--- a/tools/metrics/histograms/metadata/printing/histograms.xml
+++ b/tools/metrics/histograms/metadata/printing/histograms.xml
@@ -231,7 +231,7 @@
 </histogram>
 
 <histogram name="Printing.CUPS.NearbyNetworkDiscoveredPrintersCount"
-    units="printers" expires_after="2026-01-25">
+    units="printers" expires_after="2026-03-29">
   <owner>bmgordon@chromium.org</owner>
   <owner>project-bolton@google.com</owner>
   <summary>
@@ -299,7 +299,7 @@
 </histogram>
 
 <histogram name="Printing.CUPS.PrintersDiscovered" units="printers"
-    expires_after="2026-01-27">
+    expires_after="2026-03-29">
   <owner>bmgordon@chromium.org</owner>
   <owner>src/chromeos/printing/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/profile/histograms.xml b/tools/metrics/histograms/metadata/profile/histograms.xml
index 040ee6b3..24a7226 100644
--- a/tools/metrics/histograms/metadata/profile/histograms.xml
+++ b/tools/metrics/histograms/metadata/profile/histograms.xml
@@ -887,7 +887,7 @@
 </histogram>
 
 <histogram name="ProfilePicker.FirstRun.OrganizationAvailableTiming" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>dgn@chromium.org</owner>
   <owner>chrome-signin-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/regional_capabilities/histograms.xml b/tools/metrics/histograms/metadata/regional_capabilities/histograms.xml
index 0bee123e..de53f8a 100644
--- a/tools/metrics/histograms/metadata/regional_capabilities/histograms.xml
+++ b/tools/metrics/histograms/metadata/regional_capabilities/histograms.xml
@@ -89,7 +89,7 @@
 </histogram>
 
 <histogram name="RegionalCapabilities.FunnelStage.RegionalPresence"
-    enum="RegionalProgramAndLocationMatch" expires_after="2025-12-28">
+    enum="RegionalProgramAndLocationMatch" expires_after="2026-03-29">
   <owner>dgn@chromium.org</owner>
   <owner>chrome-regionalcapabilities@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml
index e6a4857..9c8a902 100644
--- a/tools/metrics/histograms/metadata/safe_browsing/histograms.xml
+++ b/tools/metrics/histograms/metadata/safe_browsing/histograms.xml
@@ -949,7 +949,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.ExtensionPersister.WriteResult{Trigger}"
-    enum="BooleanSuccess" expires_after="2026-01-26">
+    enum="BooleanSuccess" expires_after="2026-03-29">
   <owner>psarouthakis@google.com</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -976,7 +976,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.ExtensionSafetyHub.Trigger.{Action}"
-    enum="SafetyCheckWarningReason" expires_after="2026-01-26">
+    enum="SafetyCheckWarningReason" expires_after="2026-03-29">
   <owner>psarouthakis@google.com</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -2048,7 +2048,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.IOS.TotalDelay2{UserCategory}" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>danieltwhite@google.com</owner>
   <owner>joemerramos@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
@@ -2336,7 +2336,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.PhishySite.{UserEvent}" units="count"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>skrakowi@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -2352,7 +2352,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.Pref.Daily.Extended" enum="BooleanEnabled"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>xinghuilu@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -2574,7 +2574,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.RT.CacheManager.CleanupReachedThreshold"
-    units="entries" expires_after="2026-01-25">
+    units="entries" expires_after="2026-03-29">
   <owner>thefrog@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -3372,7 +3372,7 @@
 </histogram>
 
 <histogram name="SafeBrowsing.Triggers.SuspiciousSite.Event"
-    enum="SuspiciousSiteTriggerEvent" expires_after="2026-01-25">
+    enum="SuspiciousSiteTriggerEvent" expires_after="2026-03-29">
   <owner>vakh@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/sb_client/histograms.xml b/tools/metrics/histograms/metadata/sb_client/histograms.xml
index c7f7d31..439e97f 100644
--- a/tools/metrics/histograms/metadata/sb_client/histograms.xml
+++ b/tools/metrics/histograms/metadata/sb_client/histograms.xml
@@ -303,7 +303,7 @@
 </histogram>
 
 <histogram name="SBClientDownload.TailoredWarningType"
-    enum="TailoredWarningType" expires_after="2025-11-16">
+    enum="TailoredWarningType" expires_after="2026-03-29">
   <owner>xinghuilu@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -808,7 +808,7 @@
 </histogram>
 
 <histogram name="SBClientPhishing.OnDeviceModelDownloadSuccess"
-    enum="BooleanSuccess" expires_after="2026-01-25">
+    enum="BooleanSuccess" expires_after="2026-03-29">
   <owner>andysjlim@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -854,7 +854,7 @@
 </histogram>
 
 <histogram name="SBClientPhishing.OnDeviceModelFetchTime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>andysjlim@chromium.org</owner>
   <owner>chrome-counter-abuse-alerts@google.com</owner>
   <summary>
@@ -1151,6 +1151,19 @@
   <token key="RequestType" variants="ClientSideDetectionRequestType"/>
 </histogram>
 
+<histogram name="SBClientPhishing.SiteEngagement.CreditCardForm"
+    enum="SiteEngagementLevel" expires_after="2026-09-30">
+  <owner>andysjlim@chromium.org</owner>
+  <owner>bcb@chromium.org</owner>
+  <owner>chrome-counter-abuse-alerts@google.com</owner>
+  <summary>
+    Records the site engagement level reported at the time of an event that
+    triggers preclassification of the Credit Card Form type. This is recorded on
+    every event that may trigger a CREDIT_CARD_FORM classification attempt,
+    after checking for ESB and deduping by URL.
+  </summary>
+</histogram>
+
 <histogram name="SBClientPhishing.TimeSinceLastReportAtLimit" units="ms"
     expires_after="2026-02-22">
   <owner>andysjlim@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/service/histograms.xml b/tools/metrics/histograms/metadata/service/histograms.xml
index 3367185..c880fbfb 100644
--- a/tools/metrics/histograms/metadata/service/histograms.xml
+++ b/tools/metrics/histograms/metadata/service/histograms.xml
@@ -526,7 +526,7 @@
 
 <histogram
     name="ServiceWorker.FetchEvent.{Resource}.RaceNetworkRequest.Redirect"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>sisidovski@chromium.org</owner>
   <owner>chrome-worker@google.com</owner>
   <summary>
@@ -1222,7 +1222,7 @@
 
 <histogram
     name="ServiceWorker.MaybeStartWorker.RunningStatusByPurpose_{ServiceWorkerEventType}"
-    enum="EmbeddedWorkerStatus" expires_after="2025-12-28">
+    enum="EmbeddedWorkerStatus" expires_after="2026-03-29">
   <owner>yyanagisawa@chromium.org</owner>
   <owner>chrome-worker@google.com</owner>
   <summary>
@@ -1357,7 +1357,7 @@
 </histogram>
 
 <histogram name="ServiceWorker.Registration.Delete.Result.{DeleteInitiator}"
-    enum="ServiceWorkerStatusCode" expires_after="2026-01-23">
+    enum="ServiceWorkerStatusCode" expires_after="2026-03-29">
   <owner>yyanagisawa@chromium.org</owner>
   <owner>chrome-worker@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/settings/histograms.xml b/tools/metrics/histograms/metadata/settings/histograms.xml
index 0820933b..55ea36f8 100644
--- a/tools/metrics/histograms/metadata/settings/histograms.xml
+++ b/tools/metrics/histograms/metadata/settings/histograms.xml
@@ -250,7 +250,7 @@
 </histogram>
 
 <histogram name="Settings.Cookies.TrackingProtectionRedirect"
-    enum="BooleanRedirected" expires_after="2026-01-25">
+    enum="BooleanRedirected" expires_after="2026-03-29">
   <owner>mjenn@google.com</owner>
   <owner>koilos@google.com</owner>
   <summary>
@@ -312,7 +312,7 @@
 </histogram>
 
 <histogram name="Settings.GivenShowHomeButton_HomePageIsNewTabPage2"
-    enum="Boolean" expires_after="2026-01-23">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>mpearson@chromium.org</owner>
   <owner>twellington@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/signin/histograms.xml b/tools/metrics/histograms/metadata/signin/histograms.xml
index 8b9cf37..8d40cf3 100644
--- a/tools/metrics/histograms/metadata/signin/histograms.xml
+++ b/tools/metrics/histograms/metadata/signin/histograms.xml
@@ -463,7 +463,7 @@
 </histogram>
 
 <histogram name="Signin.AccountManagementType"
-    enum="AccountManagedStatusFinderOutcome" expires_after="2026-01-25">
+    enum="AccountManagedStatusFinderOutcome" expires_after="2026-03-29">
   <owner>msarda@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-team@google.com</owner>
@@ -477,7 +477,7 @@
 </histogram>
 
 <histogram name="Signin.AccountManagementTypesSummary"
-    enum="AccountManagementTypesSummary" expires_after="2026-01-25">
+    enum="AccountManagementTypesSummary" expires_after="2026-03-29">
   <owner>msarda@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-team@google.com</owner>
@@ -510,7 +510,7 @@
 </histogram>
 
 <histogram name="Signin.AccountProfileStartupState2"
-    enum="AccountProfileStartupState" expires_after="2026-01-25">
+    enum="AccountProfileStartupState" expires_after="2026-03-29">
   <owner>jood@google.com</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-team@google.com</owner>
@@ -1554,7 +1554,7 @@
 </histogram>
 
 <histogram name="Signin.ExplicitSigninMigration.FromSync" enum="BooleanSuccess"
-    expires_after="2026-01-18">
+    expires_after="2026-03-29">
   <owner>droger@chromium.org</owner>
   <owner>rsult@google.com</owner>
   <summary>
@@ -2007,7 +2007,7 @@
 </histogram>
 
 <histogram name="Signin.IOSAccountsOnDeviceCount{AccountType}" units="accounts"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>msarda@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-mobile-team@google.com</owner>
@@ -2025,7 +2025,7 @@
 </histogram>
 
 <histogram name="Signin.IOSAccountsOnDeviceManagementTypesHadUnknownTypes"
-    enum="BooleanPresent" expires_after="2026-01-25">
+    enum="BooleanPresent" expires_after="2026-03-29">
   <owner>msarda@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-mobile-team@google.com</owner>
@@ -2036,7 +2036,7 @@
 </histogram>
 
 <histogram name="Signin.IOSAccountsOnDeviceManagementTypesSummary{DeviceType}"
-    enum="AccountManagementTypesSummary" expires_after="2026-01-25">
+    enum="AccountManagementTypesSummary" expires_after="2026-03-29">
   <owner>msarda@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-mobile-team@google.com</owner>
@@ -2082,7 +2082,7 @@
 </histogram>
 
 <histogram name="Signin.IOSChangeProfileReason" enum="IOSChangeProfileReason"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>jlebel@chromium.org</owner>
   <owner>treib@chromium.org</owner>
   <owner>chrome-signin-mobile-team@google.com</owner>
@@ -3285,7 +3285,7 @@
 </histogram>
 
 <histogram name="Signin.SignoutAndClearDataFromManagedAccount"
-    enum="BooleanSignoutFromManagedAccount" expires_after="2026-01-12">
+    enum="BooleanSignoutFromManagedAccount" expires_after="2026-03-29">
   <owner>esalma@google.com</owner>
   <owner>chrome-signin-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/storage/histograms.xml b/tools/metrics/histograms/metadata/storage/histograms.xml
index 64c15b2..dbc1743 100644
--- a/tools/metrics/histograms/metadata/storage/histograms.xml
+++ b/tools/metrics/histograms/metadata/storage/histograms.xml
@@ -324,7 +324,7 @@
 </histogram>
 
 <histogram name="IndexedDB.ClientKeepActiveRemotesCount" units="count"
-    expires_after="2026-03-22">
+    expires_after="2026-03-29">
   <owner>pmonette@chromium.org</owner>
   <owner>catan-team@chromium.org</owner>
   <summary>
@@ -846,7 +846,7 @@
 </histogram>
 
 <histogram name="LocalStorage.MojoSizeInKB" units="KB"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>fergal@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
@@ -856,7 +856,7 @@
 </histogram>
 
 <histogram name="LocalStorage.MojoTimeToPrime" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>fergal@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
@@ -876,7 +876,7 @@
 </histogram>
 
 <histogram name="LocalStorage.MojoTimeToPrimeFor{LocalStorageSizes}" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>fergal@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/subresource/histograms.xml b/tools/metrics/histograms/metadata/subresource/histograms.xml
index a23ada5..2edf6c9e 100644
--- a/tools/metrics/histograms/metadata/subresource/histograms.xml
+++ b/tools/metrics/histograms/metadata/subresource/histograms.xml
@@ -222,7 +222,7 @@
 </histogram>
 
 <histogram name="SubresourceFilter.PageLoad.AdsInterventionTriggered"
-    enum="AdsViolations" expires_after="2026-01-26">
+    enum="AdsViolations" expires_after="2026-03-29">
   <owner>yaoxia@google.com</owner>
   <owner>chrome-ads-histograms@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/sync/histograms.xml b/tools/metrics/histograms/metadata/sync/histograms.xml
index fb22efbe..76e60f85 100644
--- a/tools/metrics/histograms/metadata/sync/histograms.xml
+++ b/tools/metrics/histograms/metadata/sync/histograms.xml
@@ -600,7 +600,7 @@
 </histogram>
 
 <histogram name="Sync.ConfigureDataTypeManager.IsGaiaAccountId" enum="Boolean"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>rushans@google.com</owner>
   <owner>mastiz@chromium.org</owner>
   <summary>
@@ -916,7 +916,7 @@
 </histogram>
 
 <histogram name="Sync.DataTypeMetadataConsistency{SyncDataType}"
-    enum="SyncMetadataConsistency" expires_after="2026-01-25">
+    enum="SyncMetadataConsistency" expires_after="2026-03-29">
   <owner>rushans@google.com</owner>
   <owner>mastiz@chromium.org</owner>
   <summary>
@@ -1644,7 +1644,7 @@
 </histogram>
 
 <histogram name="Sync.PendingInvalidationStatus"
-    enum="PendingInvalidationStatus" expires_after="2026-01-25">
+    enum="PendingInvalidationStatus" expires_after="2026-03-29">
   <owner>shabdan@google.com</owner>
   <owner>rushans@google.com</owner>
   <summary>
@@ -1753,7 +1753,7 @@
 </histogram>
 
 <histogram name="Sync.ProblematicServerSideBookmarks"
-    enum="RemoteBookmarkUpdateError" expires_after="2026-01-26">
+    enum="RemoteBookmarkUpdateError" expires_after="2026-03-29">
   <owner>mastiz@chromium.org</owner>
   <owner>rushans@google.com</owner>
   <summary>
@@ -2004,7 +2004,7 @@
 </histogram>
 
 <histogram name="Sync.SignoutWithUnsyncedData" enum="Boolean"
-    expires_after="2026-01-20">
+    expires_after="2026-03-29">
   <owner>ankushkush@google.com</owner>
   <owner>src/components/sync/OWNERS</owner>
   <summary>
@@ -2067,7 +2067,7 @@
 </histogram>
 
 <histogram name="Sync.SyncableServiceStartTime{SyncDataType}" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>ankushkush@google.com</owner>
   <owner>treib@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml
index 8876dbc..bb0241a884 100644
--- a/tools/metrics/histograms/metadata/tab/histograms.xml
+++ b/tools/metrics/histograms/metadata/tab/histograms.xml
@@ -731,6 +731,17 @@
   </summary>
 </histogram>
 
+<histogram name="Tab.PinnedDuration" units="ms" expires_after="2026-10-01">
+  <owner>madhavpruthi@google.com</owner>
+  <owner>ckitagawa@chromium.org</owner>
+  <owner>clank-tab-dev@google.com</owner>
+  <summary>
+    [Android only] Records the total time for which a tab was pinned within a
+    single session. The value is the duration between the tab being pinned and
+    when it was unpinned.
+  </summary>
+</histogram>
+
 <histogram name="Tab.Preview.TimeToStoreAfterTabSwitch" units="ms"
     expires_after="2026-03-01">
   <owner>dfried@chromium.org</owner>
@@ -996,7 +1007,7 @@
 </histogram>
 
 <histogram name="TabGroups.NumberOfRootIdsFixed" units="groups"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>ckitagawa@chromium.org</owner>
   <owner>clank-tab-dev@chromium.org</owner>
   <summary>
@@ -1131,7 +1142,7 @@
 </histogram>
 
 <histogram name="TabGroups.SavedTabGroupOpenCount" units="groups"
-    expires_after="2026-01-11">
+    expires_after="2026-03-29">
   <owner>dpenning@chromium.org</owner>
   <owner>top-chrome-desktop-ui@google.com</owner>
   <summary>
@@ -1367,7 +1378,7 @@
 </histogram>
 
 <histogram name="TabGroups.Shortcuts" enum="TabGroupShortcut"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>dljames@chromium.org</owner>
   <owner>top-chrome-desktop-ui@google.com</owner>
   <summary>
@@ -2975,7 +2986,7 @@
 </histogram>
 
 <histogram name="Tabs.Startup.TabCount.{TabType}" units="count"
-    expires_after="2026-01-27">
+    expires_after="2026-03-29">
   <owner>davidjm@chromium.org</owner>
   <owner>nyquist@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/ui/histograms.xml b/tools/metrics/histograms/metadata/ui/histograms.xml
index c08106b..0f83e1d6 100644
--- a/tools/metrics/histograms/metadata/ui/histograms.xml
+++ b/tools/metrics/histograms/metadata/ui/histograms.xml
@@ -643,7 +643,7 @@
 </histogram>
 
 <histogram name="WebUI.TopChrome.Preload.Result" enum="WebUIPreloadResult"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>kerenzhu@chromium.org</owner>
   <owner>dayeung@chromium.org</owner>
   <owner>elainechien@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/uma/histograms.xml b/tools/metrics/histograms/metadata/uma/histograms.xml
index dc3c2cd3..ec2af79 100644
--- a/tools/metrics/histograms/metadata/uma/histograms.xml
+++ b/tools/metrics/histograms/metadata/uma/histograms.xml
@@ -1019,7 +1019,7 @@
 </histogram>
 
 <histogram name="UMA.TruncatedEvents.UserAction" units="events"
-    expires_after="2026-03-22">
+    expires_after="2026-03-29">
   <owner>rkaplow@chromium.org</owner>
   <owner>src/base/metrics/OWNERS</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/update_engine/histograms.xml b/tools/metrics/histograms/metadata/update_engine/histograms.xml
index ab0dc2e..86a8c2e0 100644
--- a/tools/metrics/histograms/metadata/update_engine/histograms.xml
+++ b/tools/metrics/histograms/metadata/update_engine/histograms.xml
@@ -110,7 +110,7 @@
 </histogram>
 
 <histogram name="UpdateEngine.Attempt.Number" units="count"
-    expires_after="2025-12-31">
+    expires_after="2026-03-29">
   <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
@@ -194,7 +194,7 @@
 </histogram>
 
 <histogram name="UpdateEngine.Attempt.TimeSinceLastAttemptMinutes"
-    units="minutes" expires_after="2025-12-31">
+    units="minutes" expires_after="2026-03-29">
   <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
@@ -337,7 +337,7 @@
 </histogram>
 
 <histogram name="UpdateEngine.Check.TimeSinceLastCheckMinutes" units="minutes"
-    expires_after="2025-12-31">
+    expires_after="2026-03-29">
   <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
@@ -403,7 +403,7 @@
 </histogram>
 
 <histogram name="UpdateEngine.Daily.OSAgeDays" units="days"
-    expires_after="2025-12-31">
+    expires_after="2026-03-29">
   <owner>kimjae@chromium.org</owner>
   <owner>chromeos-core-services@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/user_education/histograms.xml b/tools/metrics/histograms/metadata/user_education/histograms.xml
index 065e0da..013580c5 100644
--- a/tools/metrics/histograms/metadata/user_education/histograms.xml
+++ b/tools/metrics/histograms/metadata/user_education/histograms.xml
@@ -254,7 +254,7 @@
 </histogram>
 
 <histogram name="UserEducation.MessageNotShown.TimeInQueue" units="ms"
-    expires_after="2026-01-25">
+    expires_after="2026-03-29">
   <owner>dfried@chromium.org</owner>
   <owner>frizzle-team@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/v8/histograms.xml b/tools/metrics/histograms/metadata/v8/histograms.xml
index 139674d0..4fd93af 100644
--- a/tools/metrics/histograms/metadata/v8/histograms.xml
+++ b/tools/metrics/histograms/metadata/v8/histograms.xml
@@ -2260,7 +2260,7 @@
 </histogram>
 
 <histogram name="V8.WasmModuleCodeSizeMiB" units="MB"
-    expires_after="2026-01-18">
+    expires_after="2026-03-29">
   <owner>ecmziegler@chromium.org</owner>
   <owner>clemensb@chromium.org</owner>
   <owner>wasm-runtime@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/visited_url_ranking/histograms.xml b/tools/metrics/histograms/metadata/visited_url_ranking/histograms.xml
index c87abd8..384ba8ae 100644
--- a/tools/metrics/histograms/metadata/visited_url_ranking/histograms.xml
+++ b/tools/metrics/histograms/metadata/visited_url_ranking/histograms.xml
@@ -75,7 +75,7 @@
 
 <histogram
     name="GroupSuggestionsService.TabSwitches.PerGroup.{GroupCreationSource}"
-    units="count" expires_after="2026-01-01">
+    units="count" expires_after="2026-03-29">
   <owner>mfiaz@google.com</owner>
   <owner>ssid@chromium.org</owner>
   <owner>salg@google.com</owner>
@@ -90,7 +90,7 @@
 
 <histogram
     name="GroupSuggestionsService.TabSwitches.Total.{GroupCreationSource}"
-    units="count" expires_after="2026-01-01">
+    units="count" expires_after="2026-03-29">
   <owner>mfiaz@google.com</owner>
   <owner>ssid@chromium.org</owner>
   <owner>salg@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/web_core/histograms.xml b/tools/metrics/histograms/metadata/web_core/histograms.xml
index 95ebf8df..97f1a72 100644
--- a/tools/metrics/histograms/metadata/web_core/histograms.xml
+++ b/tools/metrics/histograms/metadata/web_core/histograms.xml
@@ -453,7 +453,7 @@
 </histogram>
 
 <histogram name="WebCore.IndexedDB.RequestDuration2.{RequestType}.Foreground"
-    units="ms" expires_after="2026-01-25">
+    units="ms" expires_after="2026-03-29">
   <owner>estade@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/web_rtc/histograms.xml b/tools/metrics/histograms/metadata/web_rtc/histograms.xml
index b95d01ce..bcee714 100644
--- a/tools/metrics/histograms/metadata/web_rtc/histograms.xml
+++ b/tools/metrics/histograms/metadata/web_rtc/histograms.xml
@@ -1113,7 +1113,7 @@
 </histogram>
 
 <histogram name="WebRTC.DesktopCapture.Win.WgcCapturerResult"
-    enum="WebRtcWgcCapturerResult" expires_after="2026-01-25">
+    enum="WebRtcWgcCapturerResult" expires_after="2026-03-29">
   <owner>alcooper@chromium.org</owner>
   <owner>henrika@chromium.org</owner>
   <owner>edgecapabilitiesdev@microsoft.com</owner>
@@ -1124,7 +1124,7 @@
 </histogram>
 
 <histogram name="WebRTC.DesktopCapture.Win.WgcCaptureSessionGetFrameResult"
-    enum="WebRtcWgcCaptureSessionGetFrameResult" expires_after="2026-01-25">
+    enum="WebRtcWgcCaptureSessionGetFrameResult" expires_after="2026-03-29">
   <owner>alcooper@chromium.org</owner>
   <owner>henrika@chromium.org</owner>
   <owner>edgecapabilitiesdev@microsoft.com</owner>
@@ -1198,7 +1198,7 @@
 </histogram>
 
 <histogram name="WebRTC.DesktopCaptureCounters" enum="DesktopCaptureCounters"
-    expires_after="2026-01-18">
+    expires_after="2026-03-29">
   <owner>toprice@chromium.org</owner>
   <owner>webrtc-dev@chromium.org</owner>
   <summary>
@@ -1769,7 +1769,7 @@
 </histogram>
 
 <histogram name="WebRTC.Screenshare.DesktopCapturerFullscreenDetector"
-    enum="Boolean" expires_after="2026-01-25">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>kron@chromium.org</owner>
   <owner>agpalak@chromium.org</owner>
   <owner>rtc-meet-in-chrome@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/webauthn/histograms.xml b/tools/metrics/histograms/metadata/webauthn/histograms.xml
index dd55b1f9..ba0ff17a 100644
--- a/tools/metrics/histograms/metadata/webauthn/histograms.xml
+++ b/tools/metrics/histograms/metadata/webauthn/histograms.xml
@@ -372,7 +372,7 @@
 
 <histogram
     name="WebAuthentication.GPM.GetAssertion.LargeBlobSucceeded.{Operation}"
-    enum="Boolean" expires_after="2025-12-31">
+    enum="Boolean" expires_after="2026-03-29">
   <owner>kenrb@chromium.org</owner>
   <owner>nsatragno@chromium.org</owner>
   <summary>
@@ -499,7 +499,7 @@
 
 <histogram name="WebAuthentication.MechanismSorter.SelectedMechanismType"
     enum="WebAuthenticationMechanismDeduplicatedType"
-    expires_after="2025-11-30">
+    expires_after="2026-03-29">
   <owner>derinel@google.com</owner>
   <owner>chrome-webauthn@google.com</owner>
   <summary>
diff --git a/tools/typescript/definitions/autofill_private.d.ts b/tools/typescript/definitions/autofill_private.d.ts
index f91bebe..86af23ef 100644
--- a/tools/typescript/definitions/autofill_private.d.ts
+++ b/tools/typescript/definitions/autofill_private.d.ts
@@ -277,7 +277,6 @@
         guid: string;
         entityInstanceLabel: string;
         entityInstanceSubLabel: string;
-        storedInWallet: boolean;
       }
 
       export interface PayOverTimeIssuerEntry {
diff --git a/ui/android/overscroll_refresh_unittest.cc b/ui/android/overscroll_refresh_unittest.cc
index 789dc3d..9cdad6c 100644
--- a/ui/android/overscroll_refresh_unittest.cc
+++ b/ui/android/overscroll_refresh_unittest.cc
@@ -29,7 +29,10 @@
     return true;
   }
 
-  void PullUpdate(float x_delta, float y_delta) override { delta_ += y_delta; }
+  void PullUpdate(float x_delta, float y_delta) override {
+    x_delta_ += x_delta;
+    y_delta_ += y_delta;
+  }
 
   void PullRelease(bool allow_refresh) override {
     released_ = true;
@@ -44,9 +47,17 @@
     return result;
   }
 
-  float GetAndResetPullDelta() {
-    float result = delta_;
-    delta_ = 0;
+  float GetAndResetPullDeltaX() {
+    float result = x_delta_;
+    x_delta_ = 0;
+    y_delta_ = 0;
+    return result;
+  }
+
+  float GetAndResetPullDeltaY() {
+    float result = y_delta_;
+    x_delta_ = 0;
+    y_delta_ = 0;
     return result;
   }
 
@@ -83,7 +94,8 @@
   }
 
  private:
-  float delta_ = 0;
+  float x_delta_ = 0;
+  float y_delta_ = 0;
   bool started_ = false;
   bool released_ = false;
   bool reset_ = false;
@@ -116,12 +128,12 @@
 
   // Further scrolls will be consumed.
   EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(0, 50)));
-  EXPECT_EQ(50.f, GetAndResetPullDelta());
+  EXPECT_EQ(50.f, GetAndResetPullDeltaY());
   EXPECT_TRUE(effect.IsActive());
 
   // Even scrolls in the down direction should be consumed.
   EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(0, -50)));
-  EXPECT_EQ(-50.f, GetAndResetPullDelta());
+  EXPECT_EQ(-50.f, GetAndResetPullDeltaY());
   EXPECT_TRUE(effect.IsActive());
 
   // Ending the scroll while beyond the threshold should trigger a refresh.
@@ -133,7 +145,7 @@
   EXPECT_TRUE(GetAndResetRefreshAllowed());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfInitialYOffsetIsNotZero) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfInitialYOffsetIsNotZero) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
 
   // A positive y scroll offset at the start of scroll will prevent activation,
@@ -162,7 +174,7 @@
   EXPECT_FALSE(GetAndResetPullReleased());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfOverflowYHidden) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfOverflowYHidden) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
 
   // overflow-y:hidden at the start of scroll will prevent activation.
@@ -188,7 +200,7 @@
 }
 
 TEST_F(OverscrollRefreshTest,
-       NotTriggeredIfOverflowYHiddenNoUpdateBeforeOverscroll) {
+       RefreshNotTriggeredIfOverflowYHiddenNoUpdateBeforeOverscroll) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
 
   // overflow-y:hidden at the start of scroll will prevent activation.
@@ -212,7 +224,7 @@
   EXPECT_FALSE(GetAndResetPullReleased());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfInitialScrollDownward) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfInitialScrollDownward) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
   effect.OnScrollBegin(kStartPos);
 
@@ -232,7 +244,8 @@
   EXPECT_FALSE(GetAndResetPullReleased());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfInitialScrollOrTouchConsumed) {
+TEST_F(OverscrollRefreshTest,
+       RefreshNotTriggeredIfInitialScrollOrTouchConsumed) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
   effect.OnScrollBegin(kStartPos);
   gfx::Vector2dF scroll_delta = gfx::Vector2dF(0, 10);
@@ -257,7 +270,7 @@
   EXPECT_FALSE(GetAndResetPullReleased());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfFlungDownward) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfFlungDownward) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
   effect.OnScrollBegin(kStartPos);
   gfx::Vector2dF scroll_delta = gfx::Vector2dF(0, 10);
@@ -274,7 +287,7 @@
   EXPECT_FALSE(GetAndResetRefreshAllowed());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfReleasedWithoutActivation) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfReleasedWithoutActivation) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
   effect.OnScrollBegin(kStartPos);
   gfx::Vector2dF scroll_delta = gfx::Vector2dF(0, 10);
@@ -292,7 +305,7 @@
   EXPECT_FALSE(GetAndResetRefreshAllowed());
 }
 
-TEST_F(OverscrollRefreshTest, NotTriggeredIfReset) {
+TEST_F(OverscrollRefreshTest, RefreshNotTriggeredIfReset) {
   OverscrollRefresh effect(this, kDefaultEdgeWidth);
   effect.OnScrollBegin(kStartPos);
   gfx::Vector2dF scroll_delta = gfx::Vector2dF(0, 10);
@@ -342,12 +355,12 @@
 
   // Further scrolls will be consumed.
   EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(0, -50)));
-  EXPECT_EQ(-50.f, GetAndResetPullDelta());
+  EXPECT_EQ(-50.f, GetAndResetPullDeltaY());
   EXPECT_TRUE(effect.IsActive());
 
   // Even scrolls in the different direction should be consumed.
   EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(0, 50)));
-  EXPECT_EQ(50.f, GetAndResetPullDelta());
+  EXPECT_EQ(50.f, GetAndResetPullDeltaY());
   EXPECT_TRUE(effect.IsActive());
 
   // Ending the scroll while beyond the threshold should trigger a refresh.
@@ -431,6 +444,49 @@
   TestOverscrollBehavior(ob, gfx::Vector2dF(0, 10), false);
 }
 
+TEST_F(OverscrollRefreshTest, TriggerSwipeToNavigate) {
+  OverscrollRefresh effect(this, kDefaultEdgeWidth);
+
+  EXPECT_FALSE(effect.IsActive());
+  EXPECT_FALSE(effect.IsAwaitingScrollUpdateAck());
+
+  effect.OnScrollBegin(kStartPos);
+  EXPECT_FALSE(effect.IsActive());
+  EXPECT_TRUE(effect.IsAwaitingScrollUpdateAck());
+
+  // The initial scroll should not be consumed, as it should first be offered
+  // to content.
+  gfx::Vector2dF scroll_right(10, 00);
+  EXPECT_FALSE(effect.WillHandleScrollUpdate(scroll_right));
+  EXPECT_FALSE(effect.IsActive());
+  EXPECT_TRUE(effect.IsAwaitingScrollUpdateAck());
+
+  // The unconsumed, overscrolling scroll will trigger the effect.
+  effect.OnOverscrolled(cc::OverscrollBehavior(), -scroll_right,
+                        blink::WebGestureDevice::kTouchscreen);
+  EXPECT_TRUE(effect.IsActive());
+  EXPECT_FALSE(effect.IsAwaitingScrollUpdateAck());
+  EXPECT_TRUE(GetAndResetPullStarted());
+
+  // Further right scrolls will be consumed.
+  EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(50, 0)));
+  EXPECT_EQ(50.f, GetAndResetPullDeltaX());
+  EXPECT_TRUE(effect.IsActive());
+
+  // Even scrolls in the left direction should be consumed.
+  EXPECT_TRUE(effect.WillHandleScrollUpdate(gfx::Vector2dF(-50, 0)));
+  EXPECT_EQ(-50.f, GetAndResetPullDeltaX());
+  EXPECT_TRUE(effect.IsActive());
+
+  // Ending the scroll while beyond the threshold should trigger a refresh.
+  gfx::Vector2dF zero_velocity;
+  EXPECT_FALSE(GetAndResetPullReleased());
+  effect.OnScrollEnd(zero_velocity);
+  EXPECT_FALSE(effect.IsActive());
+  EXPECT_TRUE(GetAndResetPullReleased());
+  EXPECT_TRUE(GetAndResetRefreshAllowed());
+}
+
 TEST_F(OverscrollRefreshTest, OverscrollBehaviorXAutoTriggersStart) {
   TestOverscrollBehavior(cc::OverscrollBehavior(), gfx::Vector2dF(10, 0), true);
 }
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index f6a40ab..83d8f55 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -906,7 +906,7 @@
     "//skia:skcms",
     "//testing/gtest",
     "//third_party/icu:icuuc",
-    "//third_party/libpng",
+    "//third_party/libpng:libpng_for_testonly",
     "//third_party/zlib",
     "//ui/base",
     "//ui/gfx/animation",
diff --git a/url/OWNERS b/url/OWNERS
index 606df04..e36a925 100644
--- a/url/OWNERS
+++ b/url/OWNERS
@@ -5,6 +5,5 @@
 dcheng@chromium.org
 hayato@chromium.org
 mkwst@chromium.org
-timothygu@chromium.org
 # NOTE: keep this in sync with global-owners-override@chromium.org owners
 # by emailing lsc-policy@chromium.org when this list changes.
diff --git a/url/android/java/src/org/chromium/url/GURL.java b/url/android/java/src/org/chromium/url/GURL.java
index 5403e25..91ae41d 100644
--- a/url/android/java/src/org/chromium/url/GURL.java
+++ b/url/android/java/src/org/chromium/url/GURL.java
@@ -190,46 +190,46 @@
         return mSpec.substring(begin, begin + length);
     }
 
-    /** See native GURL::scheme(). */
+    /** See native GURL::GetScheme(). */
     public String getScheme() {
         return getComponent(mParsed.mSchemeBegin, mParsed.mSchemeLength);
     }
 
-    /** See native GURL::username(). */
+    /** See native GURL::GetUsername(). */
     public String getUsername() {
         return getComponent(mParsed.mUsernameBegin, mParsed.mUsernameLength);
     }
 
-    /** See native GURL::password(). */
+    /** See native GURL::GetPassword(). */
     public String getPassword() {
         return getComponent(mParsed.mPasswordBegin, mParsed.mPasswordLength);
     }
 
-    /** See native GURL::host(). */
+    /** See native GURL::GetHost(). */
     public String getHost() {
         return getComponent(mParsed.mHostBegin, mParsed.mHostLength);
     }
 
     /**
-     * See native GURL::port().
+     * See native GURL::GetHost().
      *
-     * Note: Do not convert this to an integer yourself. See native GURL::IntPort().
+     * <p>Note: Do not convert this to an integer yourself. See native GURL::IntPort().
      */
     public String getPort() {
         return getComponent(mParsed.mPortBegin, mParsed.mPortLength);
     }
 
-    /** See native GURL::path(). */
+    /** See native GURL::GetPath(). */
     public String getPath() {
         return getComponent(mParsed.mPathBegin, mParsed.mPathLength);
     }
 
-    /** See native GURL::query(). */
+    /** See native GURL::GetQuery(). */
     public String getQuery() {
         return getComponent(mParsed.mQueryBegin, mParsed.mQueryLength);
     }
 
-    /** See native GURL::ref(). */
+    /** See native GURL::GetRef(). */
     public String getRef() {
         return getComponent(mParsed.mRefBegin, mParsed.mRefLength);
     }
diff --git a/url/gurl.h b/url/gurl.h
index 652f3bf..165335e 100644
--- a/url/gurl.h
+++ b/url/gurl.h
@@ -304,26 +304,26 @@
 
   // Not including the colon. If you are comparing schemes, prefer SchemeIs.
   bool has_scheme() const { return parsed_.scheme.is_valid(); }
-  std::string scheme() const {
-    return ComponentString(parsed_.scheme);
-  }
+  std::string GetScheme() const { return ComponentString(parsed_.scheme); }
+  // Deprecated. Use GetScheme(). See crbug.com/448174617.
+  std::string scheme() const { return GetScheme(); }
   std::string_view scheme_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.scheme);
   }
 
   bool has_username() const { return parsed_.username.is_valid(); }
-  std::string username() const {
-    return ComponentString(parsed_.username);
-  }
-  std::string_view username_piece() const LIFETIME_BOUND{
+  std::string GetUsername() const { return ComponentString(parsed_.username); }
+  // Deprecated. Use GetUsername(). See crbug.com/448174617.
+  std::string username() const { return GetUsername(); }
+  std::string_view username_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.username);
   }
 
   bool has_password() const { return parsed_.password.is_valid(); }
-  std::string password() const {
-    return ComponentString(parsed_.password);
-  }
-  std::string_view password_piece() const LIFETIME_BOUND{
+  std::string GetPassword() const { return ComponentString(parsed_.password); }
+  // Deprecated, use GetPassword. See crbug.com/448174617.
+  std::string password() const { return GetPassword(); }
+  std::string_view password_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.password);
   }
 
@@ -334,10 +334,10 @@
     // Note that hosts are special, absence of host means length 0.
     return parsed_.host.is_nonempty();
   }
-  std::string host() const {
-    return ComponentString(parsed_.host);
-  }
-  std::string_view host_piece() const LIFETIME_BOUND{
+  std::string GetHost() const { return ComponentString(parsed_.host); }
+  // Deprecated. Use GetHost(). See crbug.com/448174617.
+  std::string host() const { return GetHost(); }
+  std::string_view host_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.host);
   }
 
@@ -345,38 +345,38 @@
   // or EffectiveIntPort() instead of these. The getters will not include the
   // ':'.
   bool has_port() const { return parsed_.port.is_valid(); }
-  std::string port() const {
-    return ComponentString(parsed_.port);
-  }
-  std::string_view port_piece() const LIFETIME_BOUND{
+  std::string GetPort() const { return ComponentString(parsed_.port); }
+  // Deprecated, use GetPort(). See crbug.com/448174617.
+  std::string port() const { return GetPort(); }
+  std::string_view port_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.port);
   }
 
   // Including first slash following host, up to the query. The URL
   // "http://www.google.com/" has a path of "/".
   bool has_path() const { return parsed_.path.is_valid(); }
-  std::string path() const {
-    return ComponentString(parsed_.path);
-  }
+  std::string GetPath() const { return ComponentString(parsed_.path); }
+  // Deprecated, use GetPath(). See crbug.com/448174617.
+  std::string path() const { return GetPath(); }
   std::string_view path_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.path);
   }
 
   // Stuff following '?' up to the ref. The getters will not include the '?'.
   bool has_query() const { return parsed_.query.is_valid(); }
-  std::string query() const {
-    return ComponentString(parsed_.query);
-  }
-  std::string_view query_piece() const LIFETIME_BOUND{
+  std::string GetQuery() const { return ComponentString(parsed_.query); }
+  // Deprecated, use GetQuery(). See crbug.com/448174617.
+  std::string query() const { return GetQuery(); }
+  std::string_view query_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.query);
   }
 
   // Stuff following '#' to the end of the string. This will be %-escaped UTF-8.
   // The getters will not include the '#'.
   bool has_ref() const { return parsed_.ref.is_valid(); }
-  std::string ref() const {
-    return ComponentString(parsed_.ref);
-  }
+  std::string GetRef() const { return ComponentString(parsed_.ref); }
+  // Deprecated, use GetRef(). See crbug.com/448174617.
+  std::string ref() const { return GetRef(); }
   std::string_view ref_piece() const LIFETIME_BOUND {
     return ComponentStringPiece(parsed_.ref);
   }
diff --git a/url/gurl_unittest.cc b/url/gurl_unittest.cc
index fdfe961..008c896b 100644
--- a/url/gurl_unittest.cc
+++ b/url/gurl_unittest.cc
@@ -145,41 +145,41 @@
   // This is the narrow version of the URL, which should match the wide input.
   EXPECT_EQ("http://user:pass@google.com:99/foo;bar?q=a#ref", url.spec());
 
-  EXPECT_EQ("http", url.scheme());
-  EXPECT_EQ("user", url.username());
-  EXPECT_EQ("pass", url.password());
-  EXPECT_EQ("google.com", url.host());
-  EXPECT_EQ("99", url.port());
+  EXPECT_EQ("http", url.GetScheme());
+  EXPECT_EQ("user", url.GetUsername());
+  EXPECT_EQ("pass", url.GetPassword());
+  EXPECT_EQ("google.com", url.GetHost());
+  EXPECT_EQ("99", url.GetPort());
   EXPECT_EQ(99, url.IntPort());
-  EXPECT_EQ("/foo;bar", url.path());
-  EXPECT_EQ("q=a", url.query());
-  EXPECT_EQ("ref", url.ref());
+  EXPECT_EQ("/foo;bar", url.GetPath());
+  EXPECT_EQ("q=a", url.GetQuery());
+  EXPECT_EQ("ref", url.GetRef());
 
   // Test parsing userinfo with special characters.
   GURL url_special_pass("http://user:%40!$&'()*+,;=:@google.com:12345");
   EXPECT_TRUE(url_special_pass.is_valid());
   // GURL canonicalizes some delimiters.
-  EXPECT_EQ("%40!$&%27()*+,%3B%3D%3A", url_special_pass.password());
-  EXPECT_EQ("google.com", url_special_pass.host());
-  EXPECT_EQ("12345", url_special_pass.port());
+  EXPECT_EQ("%40!$&%27()*+,%3B%3D%3A", url_special_pass.GetPassword());
+  EXPECT_EQ("google.com", url_special_pass.GetHost());
+  EXPECT_EQ("12345", url_special_pass.GetPort());
 
   // Test path collapsing.
   GURL url_path_collapse("http://example.com/a/./b/c/d/../../e");
-  EXPECT_EQ("/a/b/e", url_path_collapse.path());
+  EXPECT_EQ("/a/b/e", url_path_collapse.GetPath());
 
   // Test an IDNA (Internationalizing Domain Names in Applications) host.
   GURL url_idna("http://Bücher.exAMple/");
-  EXPECT_EQ("xn--bcher-kva.example", url_idna.host());
+  EXPECT_EQ("xn--bcher-kva.example", url_idna.GetHost());
 
   // Test non-ASCII characters, outside of the host (IDNA).
   GURL url_non_ascii("http://example.com/foo/aβc%2Etxt?q=r🙂s");
-  EXPECT_EQ("/foo/a%CE%B2c.txt", url_non_ascii.path());
-  EXPECT_EQ("q=r%F0%9F%99%82s", url_non_ascii.query());
+  EXPECT_EQ("/foo/a%CE%B2c.txt", url_non_ascii.GetPath());
+  EXPECT_EQ("q=r%F0%9F%99%82s", url_non_ascii.GetQuery());
 
   // Test already percent-escaped strings.
   GURL url_percent_escaped("http://example.com/a/./%2e/i%2E%2F%2fj?q=r%2Es");
-  EXPECT_EQ("/a/i.%2F%2fj", url_percent_escaped.path());
-  EXPECT_EQ("q=r%2Es", url_percent_escaped.query());
+  EXPECT_EQ("/a/i.%2F%2fj", url_percent_escaped.GetPath());
+  EXPECT_EQ("q=r%2Es", url_percent_escaped.GetQuery());
 }
 
 TEST_F(GURLTest, Empty) {
@@ -187,15 +187,15 @@
   EXPECT_FALSE(url.is_valid());
   EXPECT_EQ("", url.spec());
 
-  EXPECT_EQ("", url.scheme());
-  EXPECT_EQ("", url.username());
-  EXPECT_EQ("", url.password());
-  EXPECT_EQ("", url.host());
-  EXPECT_EQ("", url.port());
+  EXPECT_EQ("", url.GetScheme());
+  EXPECT_EQ("", url.GetUsername());
+  EXPECT_EQ("", url.GetPassword());
+  EXPECT_EQ("", url.GetHost());
+  EXPECT_EQ("", url.GetPort());
   EXPECT_EQ(PORT_UNSPECIFIED, url.IntPort());
-  EXPECT_EQ("", url.path());
-  EXPECT_EQ("", url.query());
-  EXPECT_EQ("", url.ref());
+  EXPECT_EQ("", url.GetPath());
+  EXPECT_EQ("", url.GetQuery());
+  EXPECT_EQ("", url.GetRef());
 }
 
 TEST_F(GURLTest, Copy) {
@@ -205,30 +205,30 @@
   EXPECT_TRUE(url2.is_valid());
 
   EXPECT_EQ("http://user:pass@google.com:99/foo;bar?q=a#ref", url2.spec());
-  EXPECT_EQ("http", url2.scheme());
-  EXPECT_EQ("user", url2.username());
-  EXPECT_EQ("pass", url2.password());
-  EXPECT_EQ("google.com", url2.host());
-  EXPECT_EQ("99", url2.port());
+  EXPECT_EQ("http", url2.GetScheme());
+  EXPECT_EQ("user", url2.GetUsername());
+  EXPECT_EQ("pass", url2.GetPassword());
+  EXPECT_EQ("google.com", url2.GetHost());
+  EXPECT_EQ("99", url2.GetPort());
   EXPECT_EQ(99, url2.IntPort());
-  EXPECT_EQ("/foo;bar", url2.path());
-  EXPECT_EQ("q=a", url2.query());
-  EXPECT_EQ("ref", url2.ref());
+  EXPECT_EQ("/foo;bar", url2.GetPath());
+  EXPECT_EQ("q=a", url2.GetQuery());
+  EXPECT_EQ("ref", url2.GetRef());
 
   // Copying of invalid URL should be invalid
   GURL invalid;
   GURL invalid2(invalid);
   EXPECT_FALSE(invalid2.is_valid());
   EXPECT_EQ("", invalid2.spec());
-  EXPECT_EQ("", invalid2.scheme());
-  EXPECT_EQ("", invalid2.username());
-  EXPECT_EQ("", invalid2.password());
-  EXPECT_EQ("", invalid2.host());
-  EXPECT_EQ("", invalid2.port());
+  EXPECT_EQ("", invalid2.GetScheme());
+  EXPECT_EQ("", invalid2.GetUsername());
+  EXPECT_EQ("", invalid2.GetPassword());
+  EXPECT_EQ("", invalid2.GetHost());
+  EXPECT_EQ("", invalid2.GetPort());
   EXPECT_EQ(PORT_UNSPECIFIED, invalid2.IntPort());
-  EXPECT_EQ("", invalid2.path());
-  EXPECT_EQ("", invalid2.query());
-  EXPECT_EQ("", invalid2.ref());
+  EXPECT_EQ("", invalid2.GetPath());
+  EXPECT_EQ("", invalid2.GetQuery());
+  EXPECT_EQ("", invalid2.GetRef());
 }
 
 TEST_F(GURLTest, Assign) {
@@ -239,15 +239,15 @@
   EXPECT_TRUE(url2.is_valid());
 
   EXPECT_EQ("http://user:pass@google.com:99/foo;bar?q=a#ref", url2.spec());
-  EXPECT_EQ("http", url2.scheme());
-  EXPECT_EQ("user", url2.username());
-  EXPECT_EQ("pass", url2.password());
-  EXPECT_EQ("google.com", url2.host());
-  EXPECT_EQ("99", url2.port());
+  EXPECT_EQ("http", url2.GetScheme());
+  EXPECT_EQ("user", url2.GetUsername());
+  EXPECT_EQ("pass", url2.GetPassword());
+  EXPECT_EQ("google.com", url2.GetHost());
+  EXPECT_EQ("99", url2.GetPort());
   EXPECT_EQ(99, url2.IntPort());
-  EXPECT_EQ("/foo;bar", url2.path());
-  EXPECT_EQ("q=a", url2.query());
-  EXPECT_EQ("ref", url2.ref());
+  EXPECT_EQ("/foo;bar", url2.GetPath());
+  EXPECT_EQ("q=a", url2.GetQuery());
+  EXPECT_EQ("ref", url2.GetRef());
 
   // Assignment of invalid URL should be invalid
   GURL invalid;
@@ -255,15 +255,15 @@
   invalid2 = invalid;
   EXPECT_FALSE(invalid2.is_valid());
   EXPECT_EQ("", invalid2.spec());
-  EXPECT_EQ("", invalid2.scheme());
-  EXPECT_EQ("", invalid2.username());
-  EXPECT_EQ("", invalid2.password());
-  EXPECT_EQ("", invalid2.host());
-  EXPECT_EQ("", invalid2.port());
+  EXPECT_EQ("", invalid2.GetScheme());
+  EXPECT_EQ("", invalid2.GetUsername());
+  EXPECT_EQ("", invalid2.GetPassword());
+  EXPECT_EQ("", invalid2.GetHost());
+  EXPECT_EQ("", invalid2.GetPort());
   EXPECT_EQ(PORT_UNSPECIFIED, invalid2.IntPort());
-  EXPECT_EQ("", invalid2.path());
-  EXPECT_EQ("", invalid2.query());
-  EXPECT_EQ("", invalid2.ref());
+  EXPECT_EQ("", invalid2.GetPath());
+  EXPECT_EQ("", invalid2.GetQuery());
+  EXPECT_EQ("", invalid2.GetRef());
 }
 
 // This is a regression test for http://crbug.com/309975.
@@ -280,27 +280,27 @@
   EXPECT_TRUE(url2.is_valid());
 
   EXPECT_EQ("filesystem:https://google.com:99/t/foo;bar?q=a#ref", url2.spec());
-  EXPECT_EQ("filesystem", url2.scheme());
-  EXPECT_EQ("", url2.username());
-  EXPECT_EQ("", url2.password());
-  EXPECT_EQ("", url2.host());
-  EXPECT_EQ("", url2.port());
+  EXPECT_EQ("filesystem", url2.GetScheme());
+  EXPECT_EQ("", url2.GetUsername());
+  EXPECT_EQ("", url2.GetPassword());
+  EXPECT_EQ("", url2.GetHost());
+  EXPECT_EQ("", url2.GetPort());
   EXPECT_EQ(PORT_UNSPECIFIED, url2.IntPort());
-  EXPECT_EQ("/foo;bar", url2.path());
-  EXPECT_EQ("q=a", url2.query());
-  EXPECT_EQ("ref", url2.ref());
+  EXPECT_EQ("/foo;bar", url2.GetPath());
+  EXPECT_EQ("q=a", url2.GetQuery());
+  EXPECT_EQ("ref", url2.GetRef());
 
   const GURL* inner = url2.inner_url();
   ASSERT_TRUE(inner);
-  EXPECT_EQ("https", inner->scheme());
-  EXPECT_EQ("", inner->username());
-  EXPECT_EQ("", inner->password());
-  EXPECT_EQ("google.com", inner->host());
-  EXPECT_EQ("99", inner->port());
+  EXPECT_EQ("https", inner->GetScheme());
+  EXPECT_EQ("", inner->GetUsername());
+  EXPECT_EQ("", inner->GetPassword());
+  EXPECT_EQ("google.com", inner->GetHost());
+  EXPECT_EQ("99", inner->GetPort());
   EXPECT_EQ(99, inner->IntPort());
-  EXPECT_EQ("/t", inner->path());
-  EXPECT_EQ("", inner->query());
-  EXPECT_EQ("", inner->ref());
+  EXPECT_EQ("/t", inner->GetPath());
+  EXPECT_EQ("", inner->GetQuery());
+  EXPECT_EQ("", inner->GetRef());
 }
 
 TEST_F(GURLTest, IsValid) {
@@ -341,8 +341,8 @@
   // must use only two slashes; GURL intentionally just ignores extra slashes
   // if there are more than 2, and parses the following part as an authority.
   GURL url("http:///host");
-  EXPECT_EQ("host", url.host());
-  EXPECT_EQ("/", url.path());
+  EXPECT_EQ("host", url.GetHost());
+  EXPECT_EQ("/", url.GetPath());
 }
 
 // Given invalid URLs, we should still get most of the components.
@@ -378,15 +378,15 @@
     const GURL url(e.url);
     EXPECT_FALSE(url.is_valid());
     EXPECT_EQ(e.spec, url.possibly_invalid_spec());
-    EXPECT_EQ(e.scheme, url.scheme());
-    EXPECT_EQ("", url.username());
-    EXPECT_EQ("", url.password());
-    EXPECT_EQ(e.host, url.host());
-    EXPECT_EQ(e.port, url.port());
+    EXPECT_EQ(e.scheme, url.GetScheme());
+    EXPECT_EQ("", url.GetUsername());
+    EXPECT_EQ("", url.GetPassword());
+    EXPECT_EQ(e.host, url.GetHost());
+    EXPECT_EQ(e.port, url.GetPort());
     EXPECT_EQ(PORT_INVALID, url.IntPort());
-    EXPECT_EQ(e.path, url.path());
-    EXPECT_EQ("", url.query());
-    EXPECT_EQ("", url.ref());
+    EXPECT_EQ(e.path, url.GetPath());
+    EXPECT_EQ("", url.GetQuery());
+    EXPECT_EQ("", url.GetRef());
   }
 }
 
@@ -900,7 +900,7 @@
   EXPECT_TRUE(import_url.is_valid());
   EXPECT_EQ(url_no_ref, import_url);
   EXPECT_EQ("data: one ", import_url.spec());
-  EXPECT_EQ(" one ", import_url.path());
+  EXPECT_EQ(" one ", import_url.GetPath());
 
   // For completeness, test that re-parsing the same URL rather than importing
   // it trims the trailing whitespace.
@@ -1025,7 +1025,7 @@
   });
   for (const auto& i : cases) {
     GURL url(i.input);
-    EXPECT_EQ(i.expected_host, url.host());
+    EXPECT_EQ(i.expected_host, url.GetHost());
     EXPECT_EQ(i.expected_plainhost, url.HostNoBrackets());
     EXPECT_EQ(i.expected_plainhost, url.HostNoBracketsPiece());
   }
@@ -1058,7 +1058,7 @@
 
   GURL url_with_escape_chars("https://www.,.test");
   EXPECT_TRUE(url_with_escape_chars.is_valid());
-  EXPECT_EQ(url_with_escape_chars.host(), "www.,.test");
+  EXPECT_EQ(url_with_escape_chars.GetHost(), "www.,.test");
   EXPECT_TRUE(url_with_escape_chars.DomainIs(",.test"));
 }
 
@@ -1262,7 +1262,7 @@
 
   for (const auto& test : cases) {
     GURL url(test.url);
-    EXPECT_EQ(test.expected, url.path()) << test.url;
+    EXPECT_EQ(test.expected, url.GetPath()) << test.url;
   }
 }
 
@@ -1357,17 +1357,17 @@
   // ASCII digits (this excludes negative numbers) and 2) cannot be greater than
   // 2^16-1.  This means that port=0 should be valid.
   EXPECT_TRUE(port_zero_url.is_valid());
-  EXPECT_EQ("0", port_zero_url.port());
-  EXPECT_EQ("127.0.0.1", port_zero_url.host());
-  EXPECT_EQ("http", port_zero_url.scheme());
+  EXPECT_EQ("0", port_zero_url.GetPort());
+  EXPECT_EQ("127.0.0.1", port_zero_url.GetHost());
+  EXPECT_EQ("http", port_zero_url.GetScheme());
 
   // https://crbug.com/1065532: SchemeHostPort would previously incorrectly
   // consider port=0 to be invalid.
   SchemeHostPort scheme_host_port(port_zero_url);
   EXPECT_TRUE(scheme_host_port.IsValid());
-  EXPECT_EQ(port_zero_url.scheme(), scheme_host_port.scheme());
-  EXPECT_EQ(port_zero_url.host(), scheme_host_port.host());
-  EXPECT_EQ(port_zero_url.port(),
+  EXPECT_EQ(port_zero_url.GetScheme(), scheme_host_port.scheme());
+  EXPECT_EQ(port_zero_url.GetHost(), scheme_host_port.host());
+  EXPECT_EQ(port_zero_url.GetPort(),
             base::NumberToString(scheme_host_port.port()));
 
   // https://crbug.com/1065532: The SchemeHostPort problem above would lead to
@@ -1377,9 +1377,10 @@
   url::Origin resolved_origin =
       url::Origin::Resolve(port_zero_url, another_origin);
   EXPECT_FALSE(resolved_origin.opaque());
-  EXPECT_EQ(port_zero_url.scheme(), resolved_origin.scheme());
-  EXPECT_EQ(port_zero_url.host(), resolved_origin.host());
-  EXPECT_EQ(port_zero_url.port(), base::NumberToString(resolved_origin.port()));
+  EXPECT_EQ(port_zero_url.GetScheme(), resolved_origin.scheme());
+  EXPECT_EQ(port_zero_url.GetHost(), resolved_origin.host());
+  EXPECT_EQ(port_zero_url.GetPort(),
+            base::NumberToString(resolved_origin.port()));
 
   // port=0 and default HTTP port are different.
   GURL default_port("http://127.0.0.1/foo");
diff --git a/url/ipc/url_param_traits_unittest.cc b/url/ipc/url_param_traits_unittest.cc
index 8fde0fc..dd6e447 100644
--- a/url/ipc/url_param_traits_unittest.cc
+++ b/url/ipc/url_param_traits_unittest.cc
@@ -32,14 +32,14 @@
   // correctly serialized and deserialized, not just the spec.
   EXPECT_EQ(input.possibly_invalid_spec(), output.possibly_invalid_spec());
   EXPECT_EQ(input.is_valid(), output.is_valid());
-  EXPECT_EQ(input.scheme(), output.scheme());
-  EXPECT_EQ(input.username(), output.username());
-  EXPECT_EQ(input.password(), output.password());
-  EXPECT_EQ(input.host(), output.host());
-  EXPECT_EQ(input.port(), output.port());
-  EXPECT_EQ(input.path(), output.path());
-  EXPECT_EQ(input.query(), output.query());
-  EXPECT_EQ(input.ref(), output.ref());
+  EXPECT_EQ(input.GetScheme(), output.GetScheme());
+  EXPECT_EQ(input.GetUsername(), output.GetUsername());
+  EXPECT_EQ(input.GetPassword(), output.GetPassword());
+  EXPECT_EQ(input.GetHost(), output.GetHost());
+  EXPECT_EQ(input.GetPort(), output.GetPort());
+  EXPECT_EQ(input.GetPath(), output.GetPath());
+  EXPECT_EQ(input.GetQuery(), output.GetQuery());
+  EXPECT_EQ(input.GetRef(), output.GetRef());
 }
 
 }  // namespace
@@ -93,8 +93,8 @@
   {
     // #1: Try creating a file URL with a non-empty hostname.
     GURL url_without_windows_drive_letter("file://hostname/");
-    EXPECT_EQ("/", url_without_windows_drive_letter.path());
-    EXPECT_EQ("hostname", url_without_windows_drive_letter.host());
+    EXPECT_EQ("/", url_without_windows_drive_letter.GetPath());
+    EXPECT_EQ("hostname", url_without_windows_drive_letter.GetHost());
     ExpectSerializationRoundtrips(url_without_windows_drive_letter);
   }
 
@@ -110,8 +110,8 @@
     GURL url_made_with_replace_components =
         GURL("file://hostname/").ReplaceComponents(repl);
 
-    EXPECT_EQ(kNewPath, url_made_with_replace_components.path());
-    EXPECT_EQ("hostname", url_made_with_replace_components.host());
+    EXPECT_EQ(kNewPath, url_made_with_replace_components.GetPath());
+    EXPECT_EQ("hostname", url_made_with_replace_components.GetHost());
     EXPECT_EQ("file://hostname/C:/dir/file.txt",
               url_made_with_replace_components.spec());
     // This is the MAIN VERIFICATION in this test. This used to fail on Windows,
@@ -123,8 +123,8 @@
     // #3: Try to create a URL with a Windows drive letter and a non-empty
     // hostname directly.
     GURL url_created_directly("file://hostname/C:/dir/file.txt");
-    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.path());
-    EXPECT_EQ("hostname", url_created_directly.host());
+    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.GetPath());
+    EXPECT_EQ("hostname", url_created_directly.GetHost());
     EXPECT_EQ("file://hostname/C:/dir/file.txt", url_created_directly.spec());
     ExpectSerializationRoundtrips(url_created_directly);
 
@@ -143,8 +143,8 @@
     // #4: Try to create a URL with a Windows drive letter and "localhost" as
     // hostname directly.
     GURL url_created_directly("file://localhost/C:/dir/file.txt");
-    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.path());
-    EXPECT_EQ("", url_created_directly.host());
+    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.GetPath());
+    EXPECT_EQ("", url_created_directly.GetHost());
     EXPECT_EQ("file:///C:/dir/file.txt", url_created_directly.spec());
     ExpectSerializationRoundtrips(url_created_directly);
 
diff --git a/url/mojom/url_gurl_mojom_traits_unittest.cc b/url/mojom/url_gurl_mojom_traits_unittest.cc
index 48968d2..e976bb4f 100644
--- a/url/mojom/url_gurl_mojom_traits_unittest.cc
+++ b/url/mojom/url_gurl_mojom_traits_unittest.cc
@@ -52,13 +52,13 @@
     EXPECT_EQ(input.possibly_invalid_spec(), output.possibly_invalid_spec());
     EXPECT_EQ(input.is_valid(), output.is_valid());
     EXPECT_EQ(input.scheme(), output.scheme());
-    EXPECT_EQ(input.username(), output.username());
-    EXPECT_EQ(input.password(), output.password());
-    EXPECT_EQ(input.host(), output.host());
-    EXPECT_EQ(input.port(), output.port());
-    EXPECT_EQ(input.path(), output.path());
-    EXPECT_EQ(input.query(), output.query());
-    EXPECT_EQ(input.ref(), output.ref());
+    EXPECT_EQ(input.GetUsername(), output.GetUsername());
+    EXPECT_EQ(input.GetPassword(), output.GetPassword());
+    EXPECT_EQ(input.GetHost(), output.GetHost());
+    EXPECT_EQ(input.GetPort(), output.GetPort());
+    EXPECT_EQ(input.GetPath(), output.GetPath());
+    EXPECT_EQ(input.GetQuery(), output.GetQuery());
+    EXPECT_EQ(input.GetRef(), output.GetRef());
   }
 
   Origin BounceOrigin(const Origin& input) {
@@ -102,8 +102,8 @@
   {
     // #1: Try creating a file URL with a non-empty hostname.
     GURL url_without_windows_drive_letter("file://hostname/");
-    EXPECT_EQ("/", url_without_windows_drive_letter.path());
-    EXPECT_EQ("hostname", url_without_windows_drive_letter.host());
+    EXPECT_EQ("/", url_without_windows_drive_letter.GetPath());
+    EXPECT_EQ("hostname", url_without_windows_drive_letter.GetHost());
     ExpectSerializationRoundtrips(url_without_windows_drive_letter);
   }
 
@@ -119,8 +119,8 @@
     GURL url_made_with_replace_components =
         GURL("file://hostname/").ReplaceComponents(repl);
 
-    EXPECT_EQ(kNewPath, url_made_with_replace_components.path());
-    EXPECT_EQ("hostname", url_made_with_replace_components.host());
+    EXPECT_EQ(kNewPath, url_made_with_replace_components.GetPath());
+    EXPECT_EQ("hostname", url_made_with_replace_components.GetHost());
     EXPECT_EQ("file://hostname/C:/dir/file.txt",
               url_made_with_replace_components.spec());
     // This is the MAIN VERIFICATION in this test. This used to fail on Windows,
@@ -132,8 +132,8 @@
     // #3: Try to create a URL with a Windows drive letter and a non-empty
     // hostname directly.
     GURL url_created_directly("file://hostname/C:/dir/file.txt");
-    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.path());
-    EXPECT_EQ("hostname", url_created_directly.host());
+    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.GetPath());
+    EXPECT_EQ("hostname", url_created_directly.GetHost());
     EXPECT_EQ("file://hostname/C:/dir/file.txt", url_created_directly.spec());
     ExpectSerializationRoundtrips(url_created_directly);
 
@@ -152,8 +152,8 @@
     // #4: Try to create a URL with a Windows drive letter and "localhost" as
     // hostname directly.
     GURL url_created_directly("file://localhost/C:/dir/file.txt");
-    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.path());
-    EXPECT_EQ("", url_created_directly.host());
+    EXPECT_EQ("/C:/dir/file.txt", url_created_directly.GetPath());
+    EXPECT_EQ("", url_created_directly.GetHost());
     EXPECT_EQ("file:///C:/dir/file.txt", url_created_directly.spec());
     ExpectSerializationRoundtrips(url_created_directly);