diff --git a/DEPS b/DEPS
index dfce8be7..36ccca3 100644
--- a/DEPS
+++ b/DEPS
@@ -304,15 +304,15 @@
   # 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': 'c64a10d525d1deadf468e1fa798a11a0dbc3c526',
+  'skia_revision': '750b250df82e9cc5973f2b72e5b7e85527ebf2e5',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'v8_revision': '4117924f44055116480f03dfccb81fbbf741503d',
+  'v8_revision': '46e349bb83ea96bd63b10c659a72e3821c98c496',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
-  'angle_revision': '7909258e512dea11f19da20552af35475cdb97e4',
+  'angle_revision': '8964933f60561b22a1e1340d9e6cdc79901f527e',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -320,7 +320,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': 'a4147f8478c7a77d9f8a39890e1801110229055d',
+  'pdfium_revision': 'c363b521bcef5b96fc0397c0631b6dd18887b70c',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
@@ -375,7 +375,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': 'cfd313d8fab1b0a1b91fd0e313ed8905d6be3426',
+  'catapult_revision': 'a4c817894bde1ea6de4cbe2245a3d2848e1ea601',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -383,7 +383,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': '0caa7d40a53947a51bd7197a56f6c7fb79252199',
+  'devtools_frontend_revision': '25ca79d2f837c47ff547d6c6632ac8582fe7bc35',
   # 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.
@@ -419,11 +419,11 @@
   # 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': 'dd54f74de15dbee21d4e6071b6e4060309123034',
+  'dawn_revision': 'e3301971b2b03e9d74a2ec4b6e4b9a4bbeff23e9',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'quiche_revision': '6aa0d5322bb1534814d288064b686b55eaf3f129',
+  'quiche_revision': '78c9c138bee400ca95aefc10f2ae7c7b72c8d103',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ios_webkit
   # and whatever else without interference from each other.
@@ -443,7 +443,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling nearby
   # and whatever else without interference from each other.
-  'nearby_revision': 'd347d0688b698100506e9dcaf227d3b69c78df67',
+  'nearby_revision': '589829f9470d656695938b725c53c4c29f754f86',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling securemessage
   # and whatever else without interference from each other.
@@ -455,7 +455,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.
-  'cros_components_revision': 'fea2643cacf06bdad2c0a59c5120ebcf6b829723',
+  'cros_components_revision': '15d8d0faac67f622809351038425c333f9572f0b',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -770,7 +770,7 @@
 
   'src/clank': {
     'url': 'https://chrome-internal.googlesource.com/clank/internal/apps.git' + '@' +
-    'a1c06e1970fb6f071099c37c8ec62d513042e7a4',
+    '2903178d243a0e4cefa16a753152b0a408f0a7f0',
     'condition': 'checkout_android and checkout_src_internal',
   },
 
@@ -869,7 +869,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/linux-amd64',
-          'version': 'ilV0jv_WJbZzkh0vuwzoP8l-y8LdRtyRvnQrtT7ByekC',
+          'version': 'NrM2XaZntdkiEvnLy7dnKxnIzv_pYUymvZIjtG96T0sC',
         },
       ],
       'dep_type': 'cipd',
@@ -880,7 +880,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/mac-amd64',
-          'version': 'fmDR6rSXAs7oxOItk_YTx9CSCF53e0PqBLssITUT5X4C',
+          'version': 'B2UDOkGbPjbnuczGaR_YbLiWeRtc88oWA_6Oh9DNpS4C',
         },
       ],
       'dep_type': 'cipd',
@@ -891,7 +891,7 @@
       'packages': [
         {
           'package': 'chromium/rts/model/windows-amd64',
-          'version': 'z8lTNWvTUXQ0rgbFW7xiIM6448jDeIl1dY9hsVfl-70C',
+          'version': 'x9DuHf2Y1OMQzekmZ-Dn0qNJrwlejrJufXBU8FODuw0C',
         },
       ],
       'dep_type': 'cipd',
@@ -1210,7 +1210,7 @@
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
 
   'src/third_party/devtools-frontend-internal': {
-      'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '38d6adfc379d7d4390016c429af6d0221a3ec122',
+      'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '2d913a957a325b15bc821fef9329070be51df1f7',
     'condition': 'checkout_src_internal',
   },
 
@@ -1644,7 +1644,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + 'db57f10ab364ee8f1a6983d1330502fee445774e',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + 'a0d461d40f902c8223780bbd1185c813c03f5b99',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1684,7 +1684,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/r8',
-              'version': '28aGNwW2oSdul7Vvstd4P8mSTJuSrv7cWe_s0RPmPIwC',
+              'version': 'bs2Q_5MC61CyUsEbpowkt4tABytyCHe7eSbylw4sC3QC',
           },
       ],
       'condition': 'checkout_android',
@@ -1789,7 +1789,7 @@
       'dep_type': 'cipd',
   },
 
-  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@70e74a2f82ab78c71851abb4b0f2117e8ee3cc01',
+  'src/third_party/vulkan-deps': '{chromium_git}/vulkan-deps@d52b983a8d1023512b507f5712352fc782e71c38',
 
   'src/third_party/vulkan_memory_allocator':
     Var('chromium_git') + '/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git' + '@' + 'ebe84bec02c041d28f902da0214bf442743fc907',
@@ -1826,7 +1826,7 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'd1b65aa5a88f6efd900604dfcda840154e9f16e2',
 
   'src/third_party/webgpu-cts/src':
-    Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '77e0a9f4b43235bffb29ceb9e930cf2de473e10d',
+    Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + 'bb8f114de913ecece46b82b59d26775327dcf4ea',
 
   'src/third_party/webrtc':
     Var('webrtc_git') + '/src.git' + '@' + '37d4d840b0b674540986813d4db1b0abafda7d2b',
@@ -1899,7 +1899,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@69f9fedf0bb96f20d3d3c2bd25be33ca24e7c7f8',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@f02a45d69460c713303bceff1352eb9ce15fb315',
     'condition': 'checkout_src_internal',
   },
 
@@ -1929,7 +1929,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': 'RIcPZHMJE6H3RoY6-1Zk20Jpb2b-V-pu7zJ97OjKCxkC',
+        'version': 'b3slFl6pXFy7XKf6ZfCGdSZdeHsBcdKNLDCQ_v7bU44C',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1940,7 +1940,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/media_app/app',
-        'version': '7RVywm_U56EmeD_vB7MS5c2IrWT8BS-MiOIFAkze-fsC',
+        'version': '1xuzfxCLkdU8KCLggVXobmdl0rG3w2upwrxATGzMuCsC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
@@ -1951,7 +1951,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/projector_app/app',
-        'version': '-qWmi0jklejbsaQ7EqPOmD1qLohGSq7bK6J7iK8QeC4C',
+        'version': 'CKblXiaHrTzL5rtgk1E3_emKzZi0_Bu8TD9rslPDdtsC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index 52b02fa..1bb5141 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -3004,6 +3004,7 @@
     "shell_unittest.cc",
     "style/ash_color_mixer_unittest.cc",
     "style/ash_color_provider_unittest.cc",
+    "style/color_palette_controller_unittest.cc",
     "style/color_util_unittest.cc",
     "style/dark_light_mode_controller_unittests.cc",
     "style/dark_light_mode_nudge_controller_unittests.cc",
diff --git a/ash/accessibility/caption_bubble_context_ash.cc b/ash/accessibility/caption_bubble_context_ash.cc
index 588a3e7..202016f 100644
--- a/ash/accessibility/caption_bubble_context_ash.cc
+++ b/ash/accessibility/caption_bubble_context_ash.cc
@@ -6,6 +6,8 @@
 
 #include "ash/shell.h"
 #include "ash/wm/work_area_insets.h"
+#include "base/location.h"
+#include "base/task/sequenced_task_runner.h"
 
 namespace {
 constexpr char kAshSessionId[] = "ash";
@@ -17,9 +19,16 @@
 
 CaptionBubbleContextAsh::~CaptionBubbleContextAsh() = default;
 
-absl::optional<gfx::Rect> CaptionBubbleContextAsh::GetBounds() const {
-  return WorkAreaInsets::ForWindow(Shell::GetRootWindowForNewWindows())
-      ->user_work_area_bounds();
+void CaptionBubbleContextAsh::GetBounds(GetBoundsCallback callback) const {
+  const absl::optional<gfx::Rect> bounds =
+      WorkAreaInsets::ForWindow(Shell::GetRootWindowForNewWindows())
+          ->user_work_area_bounds();
+  if (!bounds.has_value()) {
+    return;
+  }
+
+  base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+      FROM_HERE, base::BindOnce(std::move(callback), *bounds));
 }
 
 const std::string CaptionBubbleContextAsh::GetSessionId() const {
diff --git a/ash/accessibility/caption_bubble_context_ash.h b/ash/accessibility/caption_bubble_context_ash.h
index 8531456..ed9f4bf 100644
--- a/ash/accessibility/caption_bubble_context_ash.h
+++ b/ash/accessibility/caption_bubble_context_ash.h
@@ -27,7 +27,7 @@
   CaptionBubbleContextAsh& operator=(const CaptionBubbleContextAsh&) = delete;
 
   // ::captions::CaptionBubbleContext:
-  absl::optional<gfx::Rect> GetBounds() const override;
+  void GetBounds(GetBoundsCallback callback) const override;
   const std::string GetSessionId() const override;
   void Activate() override {}
   bool IsActivatable() const override;
diff --git a/ash/ash_prefs.cc b/ash/ash_prefs.cc
index e7e840bd..81f9145d 100644
--- a/ash/ash_prefs.cc
+++ b/ash/ash_prefs.cc
@@ -29,6 +29,7 @@
 #include "ash/quick_pair/keyed_service/quick_pair_mediator.h"
 #include "ash/session/fullscreen_controller.h"
 #include "ash/shelf/shelf_controller.h"
+#include "ash/style/color_palette_controller.h"
 #include "ash/style/dark_light_mode_controller_impl.h"
 #include "ash/system/camera/autozoom_controller_impl.h"
 #include "ash/system/camera/autozoom_nudge_controller.h"
@@ -88,6 +89,7 @@
   CellularSetupNotifier::RegisterProfilePrefs(registry);
   contextual_tooltip::RegisterProfilePrefs(registry);
   ClipboardNudgeController::RegisterProfilePrefs(registry);
+  ColorPaletteController::RegisterPrefs(registry);
   DarkLightModeControllerImpl::RegisterProfilePrefs(registry);
   desks_restore_util::RegisterProfilePrefs(registry);
   saved_desk_util::RegisterProfilePrefs(registry);
diff --git a/ash/components/arc/input_overlay/resources/com.kitkagames.fallbuddies.json b/ash/components/arc/input_overlay/resources/com.kitkagames.fallbuddies.json
index 6b543ac..2fda592 100644
--- a/ash/components/arc/input_overlay/resources/com.kitkagames.fallbuddies.json
+++ b/ash/components/arc/input_overlay/resources/com.kitkagames.fallbuddies.json
@@ -15,13 +15,14 @@
         {
           "type": "position",
           "anchor": [
-            0,
-            0
+            1,
+            1
           ],
           "anchor_to_target": [
-            0.8825215,
-            0.7912037
-          ]
+            -0.140070922,
+            -0.2087765957
+          ],
+          "y_on_x": 1
         }
       ]
     }
@@ -44,12 +45,13 @@
           "type": "position",
           "anchor": [
             0,
-            0
+            1
           ],
           "anchor_to_target": [
-            0.13623339,
-            0.67638886
-          ]
+            0.1391843972,
+            -0.2087765957
+          ],
+          "x_on_y": 1
         }
       ]
     }
diff --git a/ash/constants/ash_pref_names.cc b/ash/constants/ash_pref_names.cc
index 28d1571..87628c2 100644
--- a/ash/constants/ash_pref_names.cc
+++ b/ash/constants/ash_pref_names.cc
@@ -594,6 +594,14 @@
 // A boolean pref that indicates whether dark mode is enabled.
 const char kDarkModeEnabled[] = "ash.dark_mode.enabled";
 
+// An integer pref that indicates the color scheme used to calculate the dynamic
+// color palette.
+const char kDynamicColorColorScheme[] = "ash.dynamic_color.color_scheme";
+
+// A uint64 pref that indicates the seed color used to calculate the dynamic
+// color palette. It is an ARGB 32-bit unsigned integer stored as a uint64.
+const char kDynamicColorSeedColor[] = "ash.dynamic_color.seed_color";
+
 // An integer pref storing the number of times that dark/light mode educational
 // can still be shown. It will be initialized to the maximum number of times
 // that the nudge can be shown. And will be set to 0 if the user toggled the
diff --git a/ash/constants/ash_pref_names.h b/ash/constants/ash_pref_names.h
index 6be2fbf..02afc7f 100644
--- a/ash/constants/ash_pref_names.h
+++ b/ash/constants/ash_pref_names.h
@@ -299,6 +299,9 @@
 COMPONENT_EXPORT(ASH_CONSTANTS)
 extern const char kAutoNightLightNotificationDismissed[];
 
+COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kDynamicColorColorScheme[];
+COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kDynamicColorSeedColor[];
+
 COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kOsSettingsEnabled[];
 
 COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kAllowScreenLock[];
diff --git a/ash/resources/vector_icons/BUILD.gn b/ash/resources/vector_icons/BUILD.gn
index 8e4c592..4929bf2 100644
--- a/ash/resources/vector_icons/BUILD.gn
+++ b/ash/resources/vector_icons/BUILD.gn
@@ -493,6 +493,7 @@
     "unified_menu_volume_medium.icon",
     "unified_menu_volume_mute.icon",
     "unified_menu_vpn.icon",
+    "unified_menu_wifi_100_percent.icon",
     "unified_menu_wifi_no_connection.icon",
     "unified_menu_wifi_off.icon",
     "unified_network_badge_captive_portal.icon",
diff --git a/ash/resources/vector_icons/unified_menu_wifi_100_percent.icon b/ash/resources/vector_icons/unified_menu_wifi_100_percent.icon
new file mode 100644
index 0000000..c63d7d2
--- /dev/null
+++ b/ash/resources/vector_icons/unified_menu_wifi_100_percent.icon
@@ -0,0 +1,14 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+CANVAS_DIMENSIONS, 20,
+MOVE_TO, 18.33f, 6.77f,
+CUBIC_TO, 18.61f, 6.41f, 18.53f, 5.89f, 18.17f, 5.63f,
+CUBIC_TO, 16.9f, 4.74f, 13.97f, 3, 10, 3,
+CUBIC_TO, 6.03f, 3, 3.1f, 4.74f, 1.83f, 5.63f,
+CUBIC_TO, 1.47f, 5.89f, 1.39f, 6.41f, 1.67f, 6.77f,
+LINE_TO, 9.41f, 16.71f,
+CUBIC_TO, 9.71f, 17.1f, 10.29f, 17.1f, 10.59f, 16.71f,
+LINE_TO, 18.33f, 6.77f,
+CLOSE
diff --git a/ash/strings/ash_strings_az.xtb b/ash/strings/ash_strings_az.xtb
index d18754c..ca0ff01 100644
--- a/ash/strings/ash_strings_az.xtb
+++ b/ash/strings/ash_strings_az.xtb
@@ -581,6 +581,7 @@
 <translation id="4177913004758410636">{0,plural, =1{Cihazı bir gün ərzində güncəlləyin}other{Cihazı # gün ərzində güncəlləyin}}</translation>
 <translation id="4181841719683918333">Dillər</translation>
 <translation id="4192112279662688596">Və ya</translation>
+<translation id="4193857202545160520">Klikləri və açarları göstərin</translation>
 <translation id="4195814663415092787">Qaldığınız yerdən davam edin</translation>
 <translation id="4195877955194704651">Avtomatik klik düyməsi</translation>
 <translation id="4197790712631116042">Deaktiv</translation>
@@ -762,6 +763,7 @@
 <translation id="5107522548814527560">Veb</translation>
 <translation id="5111318697104479778"><ph name="DESC" />, <ph name="STRENGTH" /></translation>
 <translation id="5117590920725113268">Gələn ayı göstərin</translation>
+<translation id="5127986747308934633">Administratorunuz cihazınıza nəzarət edir</translation>
 <translation id="5136175204352732067">Fərqli klaviatura qoşuldu</translation>
 <translation id="5147567197700016471">Kiliddən çıxarılmış</translation>
 <translation id="5150070631291639005">Məxfilik ayarları</translation>
@@ -990,6 +992,7 @@
 <translation id="639644700271529076">LOCK off CAPS</translation>
 <translation id="6406704438230478924">altgr</translation>
 <translation id="6417265370957905582">Google Assistent</translation>
+<translation id="641867537956679916">Administratorunuz problemi araşdırmaq üçün daxil olub. Administrator nəzarəti sizə qaytardıqdan sonra cihazdan istifadə etməyə davam edə bilərsiniz.</translation>
 <translation id="6424520630891723617"><ph name="SECURITY_STATUS" />, Siqnal Gücü <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="642644398083277086">Bütün bildirişləri silin</translation>
 <translation id="643147933154517414">Tamamlandı</translation>
diff --git a/ash/strings/ash_strings_km.xtb b/ash/strings/ash_strings_km.xtb
index 6806cb7..3405d8c6 100644
--- a/ash/strings/ash_strings_km.xtb
+++ b/ash/strings/ash_strings_km.xtb
@@ -581,6 +581,7 @@
 <translation id="4177913004758410636">{0,plural, =1{ដំឡើងកំណែ​ឧបករណ៍​ក្នុងរយៈពេល​មួយថ្ងៃ​}other{ដំឡើងកំណែ​ឧបករណ៍​ក្នុងរយៈពេល # ថ្ងៃ​}}</translation>
 <translation id="4181841719683918333">ភាសា</translation>
 <translation id="4192112279662688596">ឬ</translation>
+<translation id="4193857202545160520">បង្ហាញ​ការ​ចុច និងគ្រាប់ចុច</translation>
 <translation id="4195814663415092787">បន្តកន្លែងដែលអ្នកបានចាកចេញ</translation>
 <translation id="4195877955194704651">ប៊ូតុងចុច​ស្វ័យប្រវត្តិ</translation>
 <translation id="4197790712631116042">បិទ</translation>
@@ -762,6 +763,7 @@
 <translation id="5107522548814527560">បណ្ដាញ</translation>
 <translation id="5111318697104479778"><ph name="DESC" />, <ph name="STRENGTH" /></translation>
 <translation id="5117590920725113268">បង្ហាញខែបន្ទាប់</translation>
+<translation id="5127986747308934633">អ្នក​គ្រប់គ្រង​របស់​អ្នក​កំពុង​គ្រប់គ្រង​ឧបករណ៍​របស់​អ្នក</translation>
 <translation id="5136175204352732067">បាន​ភ្ជាប់​ក្ដារចុច​ផ្សេង</translation>
 <translation id="5147567197700016471">បានដោះសោ</translation>
 <translation id="5150070631291639005">ការកំណត់​ឯកជនភាព</translation>
@@ -990,6 +992,7 @@
 <translation id="639644700271529076">CAPS LOCK ត្រូវបានបិទ</translation>
 <translation id="6406704438230478924">altgr</translation>
 <translation id="6417265370957905582">Google ជំនួយការ</translation>
+<translation id="641867537956679916">អ្នក​គ្រប់គ្រង​របស់​អ្នក​បាន​ចូល​គណនី​ដើម្បី​ពិនិត្យមើល​បញ្ហា។ អ្នក​អាច​បន្ត​ប្រើប្រាស់​ឧបករណ៍ បន្ទាប់​ពី​អ្នក​គ្រប់គ្រង​ផ្ដល់​ការគ្រប់គ្រង​ឱ្យ​អ្នក​វិញ។</translation>
 <translation id="6424520630891723617"><ph name="SECURITY_STATUS" />, កម្លាំងរលកសញ្ញា <ph name="SIGNAL_STRENGTH" /></translation>
 <translation id="642644398083277086">សម្អាត​ការ​ជូន​ដំណឹង​ទាំងអស់</translation>
 <translation id="643147933154517414">រួចរាល់​ទាំងអស់</translation>
diff --git a/ash/strings/ash_strings_ky.xtb b/ash/strings/ash_strings_ky.xtb
index 8c510db..e99d788 100644
--- a/ash/strings/ash_strings_ky.xtb
+++ b/ash/strings/ash_strings_ky.xtb
@@ -129,7 +129,7 @@
 <translation id="1610778689852195798">"Кайтаруу"</translation>
 <translation id="1611993646327628135">Күйүк</translation>
 <translation id="1620510694547887537">Камера</translation>
-<translation id="1632985212731562677">Switch Access функциясын Жөндөөлөр &gt; Атайын мүмкүнчүлүктөр бөлүмүнөн өчүрүүгө болот.</translation>
+<translation id="1632985212731562677">Switch Access функциясын Параметрлер &gt; Атайын мүмкүнчүлүктөр бөлүмүнөн өчүрүүгө болот.</translation>
 <translation id="163517899691012366">"Тынчымды алба" режими күйүп турганда билдирмелердин үнү басылат</translation>
 <translation id="1637505162081889933"><ph name="NUM_DEVICES" /> түзмөк</translation>
 <translation id="1639239467298939599">Жүктөлүүдө</translation>
@@ -260,7 +260,7 @@
 <translation id="2339073806695260576">Бир нерсе жазуу, скриншот тартуу, лазердик көрсөткүчтү же чоңойтуучу айнекти колдонуу үчүн стилус баскычын таптап коюңуз.</translation>
 <translation id="2341729377289034582">Тигинен бекитилген</translation>
 <translation id="2345226652884463045">Enter же Издөө + Боштук баскычтарын басып, түзөтүү үчүн текстти тандаңыз.</translation>
-<translation id="2350794187831162545"><ph name="LANGUAGE" /> кеп эми түзмөктө иштетилип, оффлайнда иштейт. Текстти айтып киргизүү тилин Жөндөөлөр &gt; Атайын мүмкүнчүлүктөр бөлүмүнөн өзгөртө аласыз.</translation>
+<translation id="2350794187831162545"><ph name="LANGUAGE" /> кеп эми түзмөктө иштетилип, оффлайнда иштейт. Текстти айтып киргизүү тилин Параметрлер &gt; Атайын мүмкүнчүлүктөр бөлүмүнөн өзгөртө аласыз.</translation>
 <translation id="2352467521400612932">Стилус жөндөөлөрү</translation>
 <translation id="2354174487190027830"><ph name="NAME" /> жандыруу</translation>
 <translation id="2359808026110333948">Улантуу</translation>
@@ -662,7 +662,7 @@
 <translation id="4573176682887762361">"[Сөз / сөз айкашын] терүү"</translation>
 <translation id="4577274620589681794">Убакыт бүттү · <ph name="LABEL" /></translation>
 <translation id="4577990005084629481">Алдын ала көрүүнү жашыруу</translation>
-<translation id="4578906031062871102">Жөндөөлөр менюсу ачылды</translation>
+<translation id="4578906031062871102">Параметрлер менюсу ачылды</translation>
 <translation id="458210817642223147">GIF'ти жаздыруу</translation>
 <translation id="4585337515783392668">Белгисиз алуучуга чыгарууну токтотуу</translation>
 <translation id="4596144739579517758">Караңгы тема өчүк</translation>
@@ -817,7 +817,7 @@
 <translation id="5395308026110844773">Папка түзүү үчүн, <ph name="DRAGGED_APP_NAME" /> колдонмосун <ph name="IN_PLACE_APP" /> колдонмосунун үстүнө сүйрөп барып, коё бериңиз.</translation>
 <translation id="5397578532367286026">Башкаруучу бул колдонуучунун пайдалангандарын жана таржымалын (<ph name="MANAGER_EMAIL" />) chrome.com дарегинен карап чыга алат.</translation>
 <translation id="5400461572260843123">Ыкчам жөндөөлөр, Билдирмелер борборуна өтүү үчүн Издөө + сол баскычты басыңыз.</translation>
-<translation id="5426063383988017631">Жөндөөлөр менюсу жабылды</translation>
+<translation id="5426063383988017631">Параметрлер менюсу жабылды</translation>
 <translation id="5428899915242071344">Тандап баштоо</translation>
 <translation id="5429993543155113935">Жашыруун терезелер учурда колдоого алынбайт</translation>
 <translation id="5430931332414098647">Ыкчам байланыш түйүнү</translation>
@@ -857,7 +857,7 @@
 <translation id="5662075790140998213">10-иш такта</translation>
 <translation id="5662709761327382534">Аудиону жаздыруу <ph name="CURRENT_STATE" />. Микрофонду <ph name="NEW_STATE" /> абалына өткөрүү үчүн "Enter" баскычын басыңыз</translation>
 <translation id="5669267381087807207">Жандырылууда</translation>
-<translation id="5673434351075758678">Жөндөөлөр шайкештештирилгенден кийин тил "<ph name="FROM_LOCALE" />" тилинен "<ph name="TO_LOCALE" />" тилине өзгөртүлдү.</translation>
+<translation id="5673434351075758678">Параметрлер шайкештештирилгенден кийин тил "<ph name="FROM_LOCALE" />" тилинен "<ph name="TO_LOCALE" />" тилине өзгөртүлдү.</translation>
 <translation id="5675363643668471212">Текчедеги нерсе</translation>
 <translation id="5677928146339483299">Бөгөттөлгөн</translation>
 <translation id="5678564054339031017">Кийинки аптаны көрсөтүү</translation>
@@ -1366,7 +1366,7 @@
 <translation id="8421270167862077762"><ph name="UNAVAILABLE_APPS" /> бул түзмөктө жок.</translation>
 <translation id="8425213833346101688">Өзгөртүү</translation>
 <translation id="8426708595819210923">Кутмандуу кечиңиз менен, <ph name="GIVEN_NAME" />,</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8433186206711564395">Тармак жөндөөлөрү</translation>
 <translation id="8433977262951327081">Баштоо панелиндеги киргизүү параметрлеринин менюсунун көбүгүн ача турган ыкчам баскычтар өзгөргөн. <ph name="OLD_SHORTCUT" /> ордуна <ph name="NEW_SHORTCUT" /> баскычтарын колдонуңуз.</translation>
 <translation id="8443879455002739353">"Көчүрүү"</translation>
diff --git a/ash/style/color_palette_controller.cc b/ash/style/color_palette_controller.cc
index 024643a..084d0976 100644
--- a/ash/style/color_palette_controller.cc
+++ b/ash/style/color_palette_controller.cc
@@ -6,16 +6,28 @@
 
 #include <memory>
 
+#include "ash/constants/ash_pref_names.h"
+#include "ash/session/session_controller_impl.h"
+#include "ash/shell.h"
 #include "base/logging.h"
 #include "base/observer_list.h"
 #include "base/task/sequenced_task_runner.h"
 #include "base/task/task_runner.h"
 #include "base/time/time.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
+#include "ui/color/color_provider_manager.h"
 
 namespace ash {
 
 namespace {
 
+PrefService* GetUserPrefService(const AccountId& account_id) {
+  DCHECK(account_id.is_valid());
+  return Shell::Get()->session_controller()->GetUserPrefServiceForUser(
+      account_id);
+}
+
 // TODO(b/258719005): Finish implementation with code that works/uses libmonet.
 class ColorPaletteControllerImpl : public ColorPaletteController {
  public:
@@ -32,43 +44,82 @@
   }
 
   void SetColorScheme(ColorScheme scheme,
+                      const AccountId& account_id,
                       base::OnceClosure on_complete) override {
     DVLOG(1) << "Setting color scheme to: " << (int)scheme;
-    current_scheme_ = scheme;
+    PrefService* pref_service = GetUserPrefService(account_id);
+    if (!pref_service) {
+      DVLOG(1) << "No user pref service available.";
+      return;
+    }
+    pref_service->SetInteger(prefs::kDynamicColorColorScheme,
+                             static_cast<int>(scheme));
     // TODO(b/258719005): Call this after the native theme change has been
-    // applied. Also, actually change things.
+    // applied.
     base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
         FROM_HERE, std::move(on_complete), base::Milliseconds(100));
   }
 
   void SetStaticColor(SkColor seed_color,
+                      const AccountId& account_id,
                       base::OnceClosure on_complete) override {
     DVLOG(1) << "Static color scheme: " << (int)seed_color;
-    static_color_ = seed_color;
-    current_scheme_ = ColorScheme::kStatic;
+    PrefService* pref_service = GetUserPrefService(account_id);
+    if (!pref_service) {
+      DVLOG(1) << "No user pref service available.";
+      return;
+    }
+    pref_service->SetUint64(prefs::kDynamicColorSeedColor, seed_color);
+    pref_service->SetInteger(prefs::kDynamicColorColorScheme,
+                             static_cast<int>(ColorScheme::kStatic));
     // TODO(b/258719005): Call this after the native theme change has been
-    // applied. Also, actually change things.
+    // applied.
     base::SequencedTaskRunner::GetCurrentDefault()->PostDelayedTask(
         FROM_HERE, std::move(on_complete), base::Milliseconds(100));
   }
 
-  ColorPaletteSeed GetColorPaletteSeed() const override {
-    // TODO(b/258719005):  Implement me!
-    return {.seed_color = static_color_,
-            .scheme = current_scheme_,
+  ColorPaletteSeed GetColorPaletteSeed(
+      const AccountId& account_id) const override {
+    PrefService* pref_service = GetUserPrefService(account_id);
+    if (!pref_service) {
+      DVLOG(1) << "No user pref service available. Returning default color "
+                  "palette seed.";
+      return {.seed_color = SK_ColorBLUE,
+              .scheme = ColorScheme::kTonalSpot,
+              .color_mode = ui::ColorProviderManager::ColorMode::kLight};
+    }
+    SkColor color = static_cast<SkColor>(
+        pref_service->GetUint64(prefs::kDynamicColorSeedColor));
+    return {.seed_color = color,
+            .scheme = GetColorScheme(account_id),
             .color_mode = ui::ColorProviderManager::ColorMode::kLight};
   }
 
-  bool UsesWallpaperSeedColor() const override {
+  bool UsesWallpaperSeedColor(const AccountId& account_id) const override {
     // Scheme tracks if wallpaper color is used.
-    return current_scheme_ != ColorScheme::kStatic;
+    return GetColorScheme(account_id) != ColorScheme::kStatic;
   }
 
-  ColorScheme color_scheme() const override { return current_scheme_; }
+  ColorScheme GetColorScheme(const AccountId& account_id) const override {
+    PrefService* pref_service = GetUserPrefService(account_id);
+    if (!pref_service) {
+      DVLOG(1)
+          << "No user pref service available. Returning default color scheme.";
+      return ColorScheme::kTonalSpot;
+    }
+    return static_cast<ColorScheme>(
+        pref_service->GetInteger(prefs::kDynamicColorColorScheme));
+  }
 
-  absl::optional<SkColor> static_color() const override {
-    if (current_scheme_ == ColorScheme::kStatic) {
-      return static_color_;
+  absl::optional<SkColor> GetStaticColor(
+      const AccountId& account_id) const override {
+    PrefService* pref_service = GetUserPrefService(account_id);
+    if (!pref_service) {
+      DVLOG(1) << "No user pref service available.";
+      return absl::nullopt;
+    }
+    if (GetColorScheme(account_id) == ColorScheme::kStatic) {
+      return pref_service->GetUint64(prefs::kDynamicColorSeedColor);
     }
 
     return absl::nullopt;
@@ -87,8 +138,6 @@
   }
 
  private:
-  SkColor static_color_ = SK_ColorBLUE;
-  ColorScheme current_scheme_ = ColorScheme::kTonalSpot;
   base::ObserverList<ColorPaletteController::Observer> observers_;
 
   SampleColorScheme GenerateSampleColorScheme(ColorScheme scheme) const {
@@ -111,4 +160,11 @@
   return std::make_unique<ColorPaletteControllerImpl>();
 }
 
+// static
+void ColorPaletteController::RegisterPrefs(PrefRegistrySimple* registry) {
+  registry->RegisterIntegerPref(prefs::kDynamicColorColorScheme,
+                                static_cast<int>(ColorScheme::kTonalSpot));
+  registry->RegisterUint64Pref(prefs::kDynamicColorSeedColor, 0);
+}
+
 }  // namespace ash
diff --git a/ash/style/color_palette_controller.h b/ash/style/color_palette_controller.h
index 790cc08..755f2ec 100644
--- a/ash/style/color_palette_controller.h
+++ b/ash/style/color_palette_controller.h
@@ -7,10 +7,14 @@
 
 #include "ash/ash_export.h"
 #include "base/observer_list_types.h"
+#include "components/account_id/account_id.h"
+#include "components/prefs/pref_registry_simple.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/skia/include/core/SkColor.h"
 #include "ui/color/color_provider_manager.h"
 
+class PrefRegistrySimple;
+
 namespace ash {
 
 // Types of ColorSchemes. For a given seed color, each ColorScheme will generate
@@ -26,7 +30,7 @@
 // An encapsulation of the data which Ash provides for the generation of a color
 // palette.
 struct ASH_EXPORT ColorPaletteSeed {
-  // The color which the palette is genertated from.
+  // The color which the palette is generated from.
   SkColor seed_color;
   // The type of palette which is being generated.
   ColorScheme scheme;
@@ -73,6 +77,8 @@
 
   virtual ~ColorPaletteController() = default;
 
+  static void RegisterPrefs(PrefRegistrySimple* registry);
+
   virtual void AddObserver(Observer* observer) = 0;
   virtual void RemoveObserver(Observer* observer) = 0;
 
@@ -81,6 +87,7 @@
   // applied i.e. after NativeThemeObservers have executed. `on_complete` is
   // called after the change has been applied to the UI.
   virtual void SetColorScheme(ColorScheme scheme,
+                              const AccountId& account_id,
                               base::OnceClosure on_complete) = 0;
 
   // Overrides the wallpaper color with a scheme based on the provided
@@ -88,18 +95,21 @@
   // wallpaper. `on_complete` is called after the change has been applied to the
   // UI.
   virtual void SetStaticColor(SkColor seed_color,
+                              const AccountId& account_id,
                               base::OnceClosure on_complete) = 0;
 
   // Returns the most recently used ColorPaletteSeed.
-  virtual ColorPaletteSeed GetColorPaletteSeed() const = 0;
+  virtual ColorPaletteSeed GetColorPaletteSeed(
+      const AccountId& account_id) const = 0;
 
   // Returns true if using a color scheme based on the current wallpaper.
-  virtual bool UsesWallpaperSeedColor() const = 0;
+  virtual bool UsesWallpaperSeedColor(const AccountId& account_id) const = 0;
 
-  virtual ColorScheme color_scheme() const = 0;
+  virtual ColorScheme GetColorScheme(const AccountId& account_id) const = 0;
 
   // Iff a static color is the currently selected scheme, returns that color.
-  virtual absl::optional<SkColor> static_color() const = 0;
+  virtual absl::optional<SkColor> GetStaticColor(
+      const AccountId& account_id) const = 0;
 
   // Generates a tri-color SampleColorScheme based on the current configuration
   // for the provided `scheme`. i.e. uses the current seed_color and color_mode
diff --git a/ash/style/color_palette_controller_unittest.cc b/ash/style/color_palette_controller_unittest.cc
new file mode 100644
index 0000000..5ab1df13
--- /dev/null
+++ b/ash/style/color_palette_controller_unittest.cc
@@ -0,0 +1,68 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ash/style/color_palette_controller.h"
+
+#include "ash/test/ash_test_base.h"
+#include "base/functional/callback_helpers.h"
+#include "third_party/skia/include/core/SkColor.h"
+
+namespace ash {
+
+namespace {
+
+const char kUser[] = "user@gmail.com";
+const AccountId kAccountId = AccountId::FromUserEmailGaiaId(kUser, kUser);
+
+}  // namespace
+
+class ColorPaletteControllerTest : public NoSessionAshTestBase {
+  void SetUp() override {
+    NoSessionAshTestBase::SetUp();
+    GetSessionControllerClient()->Reset();
+    GetSessionControllerClient()->AddUserSession(kAccountId, kUser);
+    color_palette_controller = ColorPaletteController::Create();
+  }
+
+ protected:
+  std::unique_ptr<ColorPaletteController> color_palette_controller;
+};
+
+TEST_F(ColorPaletteControllerTest, ExpectedEmptyValues) {
+  EXPECT_EQ(ColorScheme::kTonalSpot,
+            color_palette_controller->GetColorScheme(kAccountId));
+  EXPECT_EQ(absl::nullopt,
+            color_palette_controller->GetStaticColor(kAccountId));
+}
+
+TEST_F(ColorPaletteControllerTest, SetColorScheme) {
+  ColorScheme color_scheme = ColorScheme::kExpressive;
+
+  color_palette_controller->SetColorScheme(color_scheme, kAccountId,
+                                           base::DoNothing());
+
+  EXPECT_EQ(color_scheme, color_palette_controller->GetColorScheme(kAccountId));
+  EXPECT_EQ(absl::nullopt,
+            color_palette_controller->GetStaticColor(kAccountId));
+  auto color_palette_seed =
+      color_palette_controller->GetColorPaletteSeed(kAccountId);
+  EXPECT_EQ(color_scheme, color_palette_seed.scheme);
+}
+
+TEST_F(ColorPaletteControllerTest, SetStaticColor) {
+  SkColor static_color = SK_ColorGRAY;
+
+  color_palette_controller->SetStaticColor(static_color, kAccountId,
+                                           base::DoNothing());
+
+  EXPECT_EQ(static_color, color_palette_controller->GetStaticColor(kAccountId));
+  EXPECT_EQ(ColorScheme::kStatic,
+            color_palette_controller->GetColorScheme(kAccountId));
+  auto color_palette_seed =
+      color_palette_controller->GetColorPaletteSeed(kAccountId);
+  EXPECT_EQ(ColorScheme::kStatic, color_palette_seed.scheme);
+  EXPECT_EQ(static_color, color_palette_seed.seed_color);
+}
+
+}  // namespace ash
diff --git a/ash/system/network/network_detailed_network_view_impl.cc b/ash/system/network/network_detailed_network_view_impl.cc
index d1eb64b..1f63695 100644
--- a/ash/system/network/network_detailed_network_view_impl.cc
+++ b/ash/system/network/network_detailed_network_view_impl.cc
@@ -34,7 +34,7 @@
 using chromeos::network_config::mojom::NetworkType;
 
 constexpr auto kMainContainerMargins = gfx::Insets::TLBR(2, 0, 0, 0);
-constexpr auto kTopContainerBorder = gfx::Insets::TLBR(8, 0, 8, 4);
+constexpr auto kTopContainerBorder = gfx::Insets::TLBR(4, 0, 4, 4);
 }  // namespace
 
 NetworkDetailedNetworkViewImpl::NetworkDetailedNetworkViewImpl(
diff --git a/ash/system/network/network_list_header_view.cc b/ash/system/network/network_list_header_view.cc
index d12fa61..89c589a7 100644
--- a/ash/system/network/network_list_header_view.cc
+++ b/ash/system/network/network_list_header_view.cc
@@ -31,9 +31,12 @@
   TrayPopupUtils::ConfigureAsStickyHeader(this);
   SetLayoutManager(std::make_unique<views::FillLayout>());
   container_ = TrayPopupUtils::CreateSubHeaderRowView(/*start_visible=*/true);
-  container_->AddView(
-      TriView::Container::START,
-      TrayPopupUtils::CreateMainImageView(/*use_wide_layout=*/false));
+  if (!features::IsQsRevampEnabled()) {
+    container_->AddView(
+        TriView::Container::START,
+        TrayPopupUtils::CreateMainImageView(/*use_wide_layout=*/false));
+  }
+
   AddChildView(container_);
   AddTitleView(label_id);
 }
diff --git a/ash/system/network/network_list_mobile_header_view.cc b/ash/system/network/network_list_mobile_header_view.cc
index 189d0c2..fec5f6f 100644
--- a/ash/system/network/network_list_mobile_header_view.cc
+++ b/ash/system/network/network_list_mobile_header_view.cc
@@ -4,6 +4,7 @@
 
 #include "ash/system/network/network_list_mobile_header_view.h"
 
+#include "ash/resources/vector_icons/vector_icons.h"
 #include "ash/strings/grit/ash_strings.h"
 #include "ash/system/network/network_list_network_header_view.h"
 #include "ui/base/metadata/metadata_impl_macros.h"
@@ -13,7 +14,8 @@
 NetworkListMobileHeaderView::NetworkListMobileHeaderView(
     NetworkListNetworkHeaderView::Delegate* delegate)
     : NetworkListNetworkHeaderView(delegate,
-                                   IDS_ASH_STATUS_TRAY_NETWORK_MOBILE) {}
+                                   IDS_ASH_STATUS_TRAY_NETWORK_MOBILE,
+                                   kPhoneHubPhoneIcon) {}
 
 NetworkListMobileHeaderView::~NetworkListMobileHeaderView() = default;
 
diff --git a/ash/system/network/network_list_network_header_view.cc b/ash/system/network/network_list_network_header_view.cc
index d025ce7d..48700c1c 100644
--- a/ash/system/network/network_list_network_header_view.cc
+++ b/ash/system/network/network_list_network_header_view.cc
@@ -14,12 +14,17 @@
 #include "ash/system/tray/tray_toggle_button.h"
 #include "ash/system/tray/tri_view.h"
 #include "base/memory/weak_ptr.h"
+#include "ui/chromeos/styles/cros_tokens_color_mappings.h"
+#include "ui/views/controls/image_view.h"
 #include "ui/views/view.h"
+#include "ui/views/view_class_properties.h"
 
 namespace ash {
 
-NetworkListNetworkHeaderView::NetworkListNetworkHeaderView(Delegate* delegate,
-                                                           int label_id)
+NetworkListNetworkHeaderView::NetworkListNetworkHeaderView(
+    Delegate* delegate,
+    int label_id,
+    const gfx::VectorIcon& vector_icon)
     : NetworkListHeaderView(label_id),
       model_(Shell::Get()->system_tray_model()->network_state_model()),
       delegate_(delegate) {
@@ -30,6 +35,13 @@
   toggle->SetID(kToggleButtonId);
   toggle_ = toggle.get();
   container()->AddView(TriView::Container::END, toggle.release());
+  if (features::IsQsRevampEnabled()) {
+    auto image_view = std::make_unique<views::ImageView>();
+    image_view->SetImage(ui::ImageModel::FromVectorIcon(
+        vector_icon, cros_tokens::kCrosSysOnSurface));
+    image_view->SetProperty(views::kMarginsKey, gfx::Insets::TLBR(0, 10, 0, 0));
+    container()->AddView(TriView::Container::START, image_view.release());
+  }
 }
 
 NetworkListNetworkHeaderView::~NetworkListNetworkHeaderView() = default;
diff --git a/ash/system/network/network_list_network_header_view.h b/ash/system/network/network_list_network_header_view.h
index 5730fa6..af7d5cfe 100644
--- a/ash/system/network/network_list_network_header_view.h
+++ b/ash/system/network/network_list_network_header_view.h
@@ -31,7 +31,9 @@
     virtual void OnWifiToggleClicked(bool new_state) = 0;
   };
 
-  NetworkListNetworkHeaderView(Delegate* delegate, int label_id);
+  NetworkListNetworkHeaderView(Delegate* delegate,
+                               int label_id,
+                               const gfx::VectorIcon& vector_icon);
   NetworkListNetworkHeaderView(const NetworkListNetworkHeaderView&) = delete;
   NetworkListNetworkHeaderView& operator=(const NetworkListNetworkHeaderView&) =
       delete;
diff --git a/ash/system/network/network_list_network_header_view_unittest.cc b/ash/system/network/network_list_network_header_view_unittest.cc
index 5f521b2..ce5ce847 100644
--- a/ash/system/network/network_list_network_header_view_unittest.cc
+++ b/ash/system/network/network_list_network_header_view_unittest.cc
@@ -7,6 +7,7 @@
 #include <memory>
 
 #include "ash/constants/ash_features.h"
+#include "ash/resources/vector_icons/vector_icons.h"
 #include "ash/strings/grit/ash_strings.h"
 #include "ash/system/network/fake_network_list_network_header_view_delegate.h"
 #include "ash/system/network/network_list_header_view.h"
@@ -28,7 +29,7 @@
     network_list_network_header_view_ =
         std::make_unique<NetworkListNetworkHeaderView>(
             &fake_network_list_network_header_delegate_,
-            IDS_ASH_STATUS_TRAY_NETWORK_MOBILE);
+            IDS_ASH_STATUS_TRAY_NETWORK_MOBILE, kPhoneHubPhoneIcon);
   }
 
   void TearDown() override {
diff --git a/ash/system/network/network_list_wifi_header_view.cc b/ash/system/network/network_list_wifi_header_view.cc
index dd183450..bafed30 100644
--- a/ash/system/network/network_list_wifi_header_view.cc
+++ b/ash/system/network/network_list_wifi_header_view.cc
@@ -4,16 +4,19 @@
 
 #include "ash/system/network/network_list_wifi_header_view.h"
 
+#include "ash/resources/vector_icons/vector_icons.h"
 #include "ash/strings/grit/ash_strings.h"
 #include "ash/system/network/network_list_network_header_view.h"
+#include "components/vector_icons/vector_icons.h"
 #include "ui/base/metadata/metadata_impl_macros.h"
 
 namespace ash {
 
 NetworkListWifiHeaderView::NetworkListWifiHeaderView(
     NetworkListNetworkHeaderView::Delegate* delegate)
-    : NetworkListNetworkHeaderView(delegate, IDS_ASH_STATUS_TRAY_NETWORK_WIFI) {
-}
+    : NetworkListNetworkHeaderView(delegate,
+                                   IDS_ASH_STATUS_TRAY_NETWORK_WIFI,
+                                   kUnifiedMenuWifi100PercentIcon) {}
 
 NetworkListWifiHeaderView::~NetworkListWifiHeaderView() = default;
 
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_ky.xtb b/ash/webui/camera_app_ui/resources/strings/camera_strings_ky.xtb
index 4428a23..e1785e6 100644
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings_ky.xtb
+++ b/ash/webui/camera_app_ui/resources/strings/camera_strings_ky.xtb
@@ -173,7 +173,7 @@
 <translation id="8239780215768881278">Видео жаздыруу учурунда сүрөткө тартып алуу</translation>
 <translation id="8261506727792406068">Жок кылуу</translation>
 <translation id="8425673304802773841">Төмөн кыйшайтуу</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8629662593426079630">360p</translation>
 <translation id="8687491812650032292">HD <ph name="HEIGHT" />p (<ph name="WIDTH" />:<ph name="HEIGHT" />)</translation>
 <translation id="8711011893539266636">Микрофондун үнүн өчүрүү/күйгүзүү. Үнсүз режим күйүк</translation>
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1
index 59d80ea2..6d7ee12 100644
--- a/build/fuchsia/linux_internal.sdk.sha1
+++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@
-11.20230113.2.1
+11.20230114.1.1
diff --git a/chrome/VERSION b/chrome/VERSION
index 07f7135..529182fa 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=111
 MINOR=0
-BUILD=5538
+BUILD=5540
 PATCH=0
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 61680ad..6e822d3 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -11712,10 +11712,7 @@
         <message name="IDS_MIC_TURNED_OFF_IN_MACOS" desc="Title for the media status bubble that is used when a site requests microphone access, but microphone is blocked on an OS level in macOS.">
           Microphone is turned off in Mac System Preferences
         </message>
-        <message name="IDS_OPEN_PREFERENCES_LINK" desc="Title for the button that takes the user to the Security and Privacy settings in macOS, in order for the user to be able to modify the ability to access camera and microphone for Chrome. System Preferences was renamed to System Settings in macOS 13 so this string shouldn't be used past macOS 12.">
-          Open Preferences
-        </message>
-        <message name="IDS_OPEN_SETTINGS_LINK" desc="Title for the button that takes the user to System Settings in macOS >= 13. The translation for this string should match the translation of the System Settings app title in the macOS target locale. You can find this by selecting the locale from https://support.apple.com/guide/mac-help/mh15217/mac/localeselector. The title of the next page after that includes the desired translation. Note that, for size reasons, the English string omits 'System' and the same contraction may be suitable in other languages.">
+        <message name="IDS_OPEN_SETTINGS_LINK" desc="Title for the button that takes the user to the Security and Privacy settings in macOS, in order for the user to be able to modify the ability to access camera and microphone for Chrome. The translation for this string should match the translation of the System Settings app title in the macOS target locale. You can find this by selecting the locale from https://support.apple.com/guide/mac-help/mh15217/mac/localeselector. The title of the next page after that includes the desired translation. Note that, for size reasons, the English string omits 'System' and the same contraction may be suitable in other languages.">
           Open Settings
         </message>
         <message name="IDS_CAMERA" desc="Description text for the camera.">
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index 9a3822d7..45a43b5 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -59,6 +59,7 @@
 <translation id="1054153489933238809">Maak oorspronklike prent in nuwe oortjie oop</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{Dateer <ph name="DEVICE_TYPE" /> binne 1 week op}other{Dateer <ph name="DEVICE_TYPE" /> binne {NUM_WEEKS} weke op}}</translation>
 <translation id="1056898198331236512">Waarskuwing</translation>
+<translation id="1056980582064308040">Die warmkol sal herbegin word wanneer instellings verander word. Toestelle wat die warmkol gebruik, sal ontkoppel word.</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Voer jou nuwe PIN in. 'n PIN moet minstens een karakter lank wees en kan letters, syfers en ander karakters bevat.}other{Voer jou nuwe PIN in. 'n PIN moet minstens # karakters lank wees en kan letters, syfers en ander karakters bevat.}}</translation>
 <translation id="1059484610606223931">Hiperteksoordragprotokol (HTTPS)</translation>
@@ -305,6 +306,7 @@
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1272508081857842302">Maak <ph name="BEGIN_LINK" />gesteunde skakels<ph name="END_LINK" /> oop</translation>
 <translation id="1272978324304772054">Hierdie gebruikerrekening behoort nie aan die domein waarvoor die toestel ingeskryf is nie. As jy by 'n ander domein wil inskryf, moet jy eers toestelterugstelling ondergaan.</translation>
+<translation id="1273937721055267968">Blokkeer <ph name="DOMAIN" /></translation>
 <translation id="1274997165432133392">Webkoekies en ander werfdata</translation>
 <translation id="1275718070701477396">Gekies</translation>
 <translation id="1276994519141842946">Kon nie <ph name="APP_NAME" /> deïnstalleer nie</translation>
@@ -356,6 +358,7 @@
 <translation id="1327495825214193325">Hierdie <ph name="DEVICE_TYPE" /> moet herbegin word om ADB-ontfouting te aktiveer. 'n Terugstelling na fabriekinstellings toe is nodig om dit te deaktiveer.</translation>
 <translation id="1327527584824210101">Gebruik jou wagwoordsleutel</translation>
 <translation id="1327794256477341646">Kenmerke wat jou ligging nodig het, sal nie werk nie</translation>
+<translation id="1329466763986822896">Verbeter privaatheid vir hierdie warmkol</translation>
 <translation id="1331977651797684645">Dit was ek.</translation>
 <translation id="1333489022424033687">Sommige kenmerke op <ph name="ORIGIN" /> sal dalk nie werk voordat jy data uitgevee het wat ander werwe op jou toestel geberg het nie</translation>
 <translation id="1333965224356556482">Moenie werwe toelaat om jou ligging te sien nie</translation>
@@ -596,6 +599,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{Jou Incognito-venster sal nie weer oopgemaak word nie.}other{Jou # Incognito-vensters sal nie weer oopgemaak word nie.}}</translation>
 <translation id="1546280085599573572">Hierdie uitbreiding het verander watter bladsy gewys word wanneer jy die Tuis-knoppie klik.</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> wil 'n <ph name="EXTENSION_TYPE" /> installeer wat kan:</translation>
+<translation id="1547123415014299762">Derdepartywebkoekies word toegelaat</translation>
 <translation id="1547808936554660006">Ek verstaan dat Powerwash nie geïnstalleerde e-SIM-profiele sal verwyder nie</translation>
 <translation id="1547936895218027488">Klik die kantpaneelikoon om dit oop te maak</translation>
 <translation id="1549275686094429035">ARC-geaktiveer</translation>
@@ -1408,6 +1412,7 @@
 <translation id="2247870315273396641">Stemvoorskou</translation>
 <translation id="2249111429176737533">Maak as oortjievenster oop</translation>
 <translation id="2249605167705922988">bv. 1-5, 8, 11-13</translation>
+<translation id="2249635629516220541">Pasmaak die inligting wat deur werwe gebruik word om vir jou advertensies te wys</translation>
 <translation id="2251218783371366160">Maak met stelselbekyker oop</translation>
 <translation id="225163402930830576">Herlaai netwerke</translation>
 <translation id="2251809247798634662">Nuwe Incognito-venster</translation>
@@ -1859,6 +1864,7 @@
 <translation id="2640299212685523844">Gebruik GTK</translation>
 <translation id="264083724974021997">Koppel aan jou foon – Dialoog</translation>
 <translation id="2642111877055905627">Sokkerbal</translation>
+<translation id="2643064289437760082">Jy kan altyd advertensiemetingdata uitvee deur jou blaaierdata uit te vee</translation>
 <translation id="2643698698624765890">Bestuur jou uitbreidings deur Uitbreidings in die Venster-kieslys te klik.</translation>
 <translation id="2645047101481282803">Jou toestel word bestuur deur <ph name="PROFILE_NAME" /></translation>
 <translation id="2645435784669275700">Chrome-bedryfstelsel</translation>
@@ -2318,6 +2324,7 @@
 <translation id="3036327949511794916">Die sperdatum om hierdie <ph name="DEVICE_TYPE" /> terug te gee, is verby.</translation>
 <translation id="3036546437875325427">Aktiveer Flits</translation>
 <translation id="3037754279345160234">Kan nie die opstelling ontleed om by domein aan te sluit nie. Kontak asseblief jou administrateur.</translation>
+<translation id="3038272154009688107">Sien alle werwe</translation>
 <translation id="3038612606416062604">Voeg self 'n drukker by</translation>
 <translation id="3039491566278747710">Kon nie vanlyn beleid op die toestel installeer nie.</translation>
 <translation id="3043016484125065343">Meld aan om jou boekmerke te sien</translation>
@@ -2554,6 +2561,7 @@
 <translation id="3289668031376215426">Outohoofletters</translation>
 <translation id="3289856944988573801">Gebruik asseblief Ethernet of Wi-Fi om te kyk of daar opdaterings is.</translation>
 <translation id="3290249595466894471">Stuur ook 'n klein voorbeeld van bladsye, aflaaie, uitbreidingaktiwiteit en stelselinligting om te help om nuwe bedreigings te ontdek</translation>
+<translation id="3293181007446299124">Jou blaai-aktiwiteit word privaat op jou toestel gehou en verslae word met ’n vertraging gestuur om jou identiteit te beskerm</translation>
 <translation id="3293644607209440645">Stuur hierdie bladsy</translation>
 <translation id="32939749466444286">Die Linux-houer het nie begin nie. Probeer asseblief weer.</translation>
 <translation id="3294437725009624529">Gas</translation>
@@ -3334,6 +3342,7 @@
 <translation id="3984431586879874039">Laat hierdie werf toe om jou sekuriteitsleutel te sien?</translation>
 <translation id="398477389655464998">Kopieer skakel na hoogtepunt</translation>
 <translation id="3984862166739904574">Definisie van Vinnige Antwoorde</translation>
+<translation id="3985022125189960801">Voeg ’n werf weer by as jy dit in die poel werwe wil hê wat kan raai waarvan jy hou</translation>
 <translation id="3987544746655539083">Hou aan om hierdie werf te keer om toegang tot jou ligging te kry</translation>
 <translation id="3987938432087324095">Jammer, het dit nie gehoor nie.</translation>
 <translation id="3987993985790029246">Kopieer skakel</translation>
@@ -3711,6 +3720,7 @@
 <translation id="4366138410738374926">Drukwerk het begin</translation>
 <translation id="4367513928820380646">Gaan verwyderde toestemmings na</translation>
 <translation id="4369215744064167350">Webwerfversoek is goedgekeur</translation>
+<translation id="4369735607080757018">Beperkte soorte data word tussen werwe gedeel om die werkverrigting van hul advertensies te meet, soos die tyd van die dag waarop ’n advertensie vir jou gewys is</translation>
 <translation id="4370975561335139969">Die e-posadres en wagwoord wat jy ingevoer het, pas nie</translation>
 <translation id="4374831787438678295">Linux-installeerder</translation>
 <translation id="4375035964737468845">Maak afgelaaide lêers oop</translation>
@@ -3731,6 +3741,7 @@
 <translation id="4385146930797718821">Skermskoot is na knipbord gekopieer</translation>
 <translation id="4385905942116811558">Soek tans vir Bluetooth- en USB-toestelle</translation>
 <translation id="4387890294700445764">Gekompromitteerde wagwoorde</translation>
+<translation id="4388650384344483842">Gebruik minstens 8 karakters</translation>
 <translation id="4389091756366370506">Gebruiker <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> en nog <ph name="NUMBER_OF_OTHER_SWITCHES" /> skakelaars</translation>
 <translation id="439266289085815679">Bluetooth-opstelling word beheer deur <ph name="USER_EMAIL" />.</translation>
@@ -4053,6 +4064,7 @@
 <translation id="4666472247053585787">Bekyk kennisgewings van jou foon af op jou <ph name="DEVICE_TYPE" /></translation>
 <translation id="4666911709726371538">Meer programme</translation>
 <translation id="4667027203988048332">Watter data gebruik word:</translation>
+<translation id="4668279686271488041">Advertensiemetingdata word gereeld van jou toestel af uitgevee</translation>
 <translation id="4672759829555593783">Maak <ph name="FILE_NAME" /> nou oop</translation>
 <translation id="46733273239502219">Vanlyn data in geïnstalleerde programme sal ook uitgevee word</translation>
 <translation id="4673442866648850031">Maak stilusnutsgoed oop wanneer die stilus verwyder word</translation>
@@ -4246,6 +4258,7 @@
 <translation id="485480310608090163">Meer instellings en toestemmings</translation>
 <translation id="4858913220355269194">Fritz</translation>
 <translation id="4862642413395066333">Onderteken tans OCSP-reaksies</translation>
+<translation id="4863702650881330715">Brei versoenbaarheid uit</translation>
 <translation id="4863769717153320198">Lyk soos <ph name="WIDTH" /> x <ph name="HEIGHT" /> (Verstek)</translation>
 <translation id="4864805589453749318">Kies die ouer wat toestemming gee om 'n skoolrekening by te voeg.</translation>
 <translation id="486635084936119914">Maak sekere lêertipes outomaties oop nadat dit afgelaai is</translation>
@@ -4492,6 +4505,7 @@
 <translation id="5094721898978802975">Kommunikeer met plaaslike programme wat saamwerk</translation>
 <translation id="5097002363526479830">Kon nie aan "<ph name="NAME" />"-netwerk koppel nie: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">Kom meer te wete oor gebruik van ligging</translation>
+<translation id="5097349930204431044">Werwe wat jy besoek, kan bepaal waarvan jy hou en dan advertensies voorstel soos jy verder blaai</translation>
 <translation id="5097649414558628673">Nutsding: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">Klik outomaties wanneer skermpyltjie stop</translation>
 <translation id="5101683448725092498">Rugsteun jou goed</translation>
@@ -4674,6 +4688,7 @@
 <translation id="5275352920323889391">Hond</translation>
 <translation id="527605719918376753">Demp oortjie</translation>
 <translation id="527605982717517565">Laat JavaScript altyd op <ph name="HOST" /> toe.</translation>
+<translation id="5276357196618041410">Kan nie opstelling stoor sonder om eers aan te meld nie</translation>
 <translation id="5277127016695466621">Wys kantpaneel</translation>
 <translation id="5278823018825269962">Status-ID</translation>
 <translation id="5279600392753459966">Blokkeer alles</translation>
@@ -6169,6 +6184,7 @@
 <translation id="6670767097276846646">Sommige uitbreidings kan soekenjins by Chrome voeg</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{'n adres}other{# adresse}}</translation>
 <translation id="6671497123040790595">Stel tans bestuur deur <ph name="MANAGER" /> op</translation>
+<translation id="6672917148207387131">Voeg <ph name="DOMAIN" /> by</translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">Voer jou wagfrase in om sinkronisering te begin</translation>
 <translation id="6675665718701918026">Wystoestel is gekoppel</translation>
@@ -6252,6 +6268,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (Incognito)</translation>
 <translation id="6756157672127672536">Die Lêers-program bied vinnige toegang tot lêers wat jy op Google Drive, eksterne berging of jou Chrome-bedryfstelseltoestel gestoor het.</translation>
 <translation id="6756643207511618722">Spraakenjins</translation>
+<translation id="6757431299485455321">Help ander toestelle om hierdie warmkol te kry.</translation>
 <translation id="6758056191028427665">Sê vir ons hoe ons vaar.</translation>
 <translation id="6759193508432371551">Fabriekterugstelling</translation>
 <translation id="6761431452438552910">Maak seker dat jou Bluetooth-toestel in saambindmodus en naby is. Bind net saam met toestelle wat jy vertrou.</translation>
@@ -6351,6 +6368,7 @@
 <translation id="6833479554815567477">Oortjie is verwyder uit groep <ph name="GROUP_NAME" /> – <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">Wissel na 'n slim en veilige blaaier</translation>
 <translation id="6833996806551876956">Privaatheidsandputproeflopie</translation>
+<translation id="6835712061486505758">Skep ’n wi-fi-warmkol om internet aan ander dienste te verskaf. <ph name="BEGIN_LINK_LEARN_MORE" />Kom meer te wete<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">Koppel aan die internet om jou <ph name="DEVICE_TYPE" /> op te dateer.</translation>
 <translation id="6839225236531462745">Sertifikaat-uitveefout</translation>
 <translation id="6839916869147598086">Aanmelding het verander</translation>
@@ -6512,6 +6530,7 @@
 <translation id="697508444536771064">Skakel Linux af</translation>
 <translation id="6975361011348772931">Het versoek om te lees en te verander</translation>
 <translation id="6978121630131642226">Soekenjins</translation>
+<translation id="6978717888677691380">Werwe wat jy geblokkeer het</translation>
 <translation id="6979041727349121225">Energiebespaarder</translation>
 <translation id="6979044105893951891">Begin en verlaat bestuurde gastesessies</translation>
 <translation id="6979440798594660689">Demp (verstek)</translation>
@@ -6603,6 +6622,7 @@
 <translation id="7047059339731138197">Kies 'n agtergrond</translation>
 <translation id="7048457618657122233">Deel skakel na <ph name="SHARE_TARGET" /></translation>
 <translation id="7049293980323620022">Hou lêer?</translation>
+<translation id="7050037487872780845">Ongeldige warmkolopstelling</translation>
 <translation id="7052237160939977163">Stuur prestasienasporingdata</translation>
 <translation id="7053983685419859001">Blokkeer</translation>
 <translation id="7055152154916055070">Herleiding is geblokkeer:</translation>
@@ -6807,6 +6827,7 @@
 <translation id="7258192266780953209">Transformasies</translation>
 <translation id="7258225044283673131">Die progam reageer nie. Kies "Forseer toemaak" om die program toe te maak.</translation>
 <translation id="7260186537988033909">Inskrywing van kiosk- en naambordtoestel is voltooi</translation>
+<translation id="7260367682327802201">Jou Android-toestel kan ’n soortgelyke instelling insluit. As advertensiemeting in Chrome en op jou Android-toestel aangeskakel is, kan ’n maatskappy dalk die doeltreffendheid van ’n advertensie meet op alle webwerwe wat jy besoek en apps wat jy gebruik.</translation>
 <translation id="7262004276116528033">Hierdie aanmelddiens word deur <ph name="SAML_DOMAIN" /> gehou</translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{Toestemmings is vir 1 werf verwyder}other{Toestemmings is vir {NUM_SITES} werwe verwyder}}</translation>
 <translation id="7264695323040866038">Gebruik altyd die <ph name="APP" />-program om gesteunde webskakels oop te maak?</translation>
@@ -6950,6 +6971,7 @@
 <translation id="7406912950279255498">Kleuromkeringmodus</translation>
 <translation id="7407430846095439694">Voer in en bind</translation>
 <translation id="7407504355934009739">Meeste mense blokkeer kennisgewings van hierdie werf af</translation>
+<translation id="7408080603962564527">Ander mense sal dit kan sien</translation>
 <translation id="740810853557944681">Voeg 'n drukbediener by</translation>
 <translation id="7409549334477097887">Ekstra groot</translation>
 <translation id="7409599290172516453">Onlangse foto's</translation>
@@ -7265,6 +7287,7 @@
 <translation id="7684718995427157417">Aktiveer die Android-ontfoutingsbrug (ADB) om jou programme te skep en te toets. Let daarop dat hierdie handeling dit moontlik maak om Android-programme te installeer wat nie deur Google geverifieer is nie, en 'n fabriekterugstelling is nodig om dit te deaktiveer.</translation>
 <translation id="7685049629764448582">JavaScript-geheue</translation>
 <translation id="7685087414635069102">PIN word vereis</translation>
+<translation id="7686086654630106285">Meer oor advertensies wat deur ’n werf voorgestel is</translation>
 <translation id="7686581688229391955">Kies om uitbreidings op hierdie werf toe te laat</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">Bevestig nuwe wagwoord</translation>
@@ -7286,6 +7309,7 @@
 <translation id="7704317875155739195">Outovoltooi soektogte en URL'e</translation>
 <translation id="7704521324619958564">Maak Play Winkel oop</translation>
 <translation id="7705276765467986571">Kon nie boekmerkmodel laai nie.</translation>
+<translation id="7705334495398865155">Verewekansig jou hardeware se ID (BSSID) om te verhinder dat ander mense hierdie toestel naspoor.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">Hierdie werf is geblokkeer om bewegingsensors te gebruik.</translation>
 <translation id="7707922173985738739">Gebruik mobiele data</translation>
@@ -7479,6 +7503,7 @@
 <translation id="7881483672146086348">Bekyk rekening</translation>
 <translation id="7883792253546618164">Teken enige tyd uit.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{Gaan 1 werf na wat baie kennisgewings gestuur het}other{Gaan {NUM_SITES} werwe na wat baie kennisgewings gestuur het}}</translation>
+<translation id="7884446017008693258">Warmkolinstellings</translation>
 <translation id="788453346724465748">Laai tans rekeninginligting …</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{'n item}other{# items}}</translation>
 <translation id="7886605625338676841">e-SIM</translation>
@@ -7703,6 +7728,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Jy kan hierdie diens in Instellings afskakel.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">Oortjies</translation>
 <translation id="8076835018653442223">Toegang tot plaaslike lêers op jou toestel is deur jou administrateur gedeaktiveer</translation>
+<translation id="8077120325605624147">Enige werf wat jy besoek, kan vir jou enige advertensie wys</translation>
 <translation id="80798452873915119">Werwe kan vra om vensters op al jou skerms te bestuur</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">Jou sessie word bestuur deur <ph name="MANAGER_NAME" />. Administrateurs kan jou profiel uitvee en ook jou netwerkverkeer monitor.</translation>
@@ -8215,6 +8241,7 @@
 <translation id="8557180006508471423">Skakel "Google Chrome" in Liggingdienste op jou Mac aan</translation>
 <translation id="8557856025359704738">Volgende aflaai is op <ph name="NEXT_DATE_DOWNLOAD" />.</translation>
 <translation id="8559858985063901027">Wagwoordsleutels</translation>
+<translation id="8559961053328923750">Chrome beperk die totale hoeveelheid data wat werwe deur die blaaier kan deel om advertensiewerkverrigting te meet</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{Maak almal in &amp;nuwe venster oop}=1{Maak in &amp;nuwe venster oop}other{Maak almal ({COUNT}) in &amp;nuwe venster oop}}</translation>
 <translation id="8561206103590473338">Olifant</translation>
 <translation id="8561565784790166472">Gaan versigtig voort</translation>
@@ -8356,6 +8383,7 @@
 <translation id="8678933587484842200">Hoe wil jy hê moet hierdie program oopmaak?</translation>
 <translation id="8680251145628383637">Meld aan om jou boekmerke, geskiedenis, wagwoorde en ander instellings op al jou toestelle te kry. Jy sal ook outomaties by jou Google-dienste aangemeld word.</translation>
 <translation id="8681614230122836773">Chrome het skadelike sagteware op jou rekenaar gekry</translation>
+<translation id="8681886425883659911">Advertensies word geblokkeer op werwe wat bekend is daarvoor dat hulle indringerige of misleidende advertensies wys</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> is gekoppel en gereed</translation>
 <translation id="8687103160920393343">Kanselleer <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Beskikbaar</translation>
@@ -8726,6 +8754,7 @@
 <translation id="9021662811137657072">Virus bespeur</translation>
 <translation id="902236149563113779">Werwe spoor gewoonlik jou kameraposisie na vir AR-kenmerke, soos speletjies of voorafwaarskuwingaanwysings</translation>
 <translation id="9022847679183471841">Hierdie rekening word reeds op hierdie rekenaar deur <ph name="AVATAR_NAME" /> gebruik.</translation>
+<translation id="9022871169049522985">Werwe en adverteerders kan die werkverrigting van hul advertensies meet</translation>
 <translation id="9023015617655685412">Boekmerk hierdie oortjie …</translation>
 <translation id="9023909777842748145">As jy hierdie kenmerk afskakel, beïnvloed dit nie jou toestel se vermoë om die inligting te stuur wat nodig is vir noodsaaklike dienste soos stelselopdaterings en sekuriteit nie.</translation>
 <translation id="9024127637873500333">Maak in nuwe oortjie oop</translation>
@@ -8855,6 +8884,7 @@
 <translation id="9128335130883257666">Maak instellingsbladsy vir <ph name="INPUT_METHOD_NAME" /> oop</translation>
 <translation id="9128870381267983090">Koppel aan netwerk</translation>
 <translation id="9130015405878219958">Ongeldige modus ingevoer.</translation>
+<translation id="9131209053278896908">Geblokkeerde werwe verskyn hier</translation>
 <translation id="9131487537093447019">Stuur boodskappe na en ontvang boodskappe van Bluetooth-toestelle af.</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 boekmerk}other{# boekmerke}}</translation>
 <translation id="9134066738478820307">Werwe kan identifiseerders gebruik om beskermde inhoud te speel</translation>
@@ -8908,6 +8938,7 @@
 <translation id="9180281769944411366">Hierdie proses kan 'n paar minute neem. Begin tans die Linux-houer.</translation>
 <translation id="9180380851667544951">Werf kan jou skerm deel</translation>
 <translation id="9182556968660520230">Moenie werwe toelaat om beskermde inhoud te speel nie</translation>
+<translation id="9183331776983279456">Chrome vee werwe wat ouer as 4 weke is outomaties uit. ’n Werf wat jy weer besoek, kan weer op die lys verskyn. Of jy kan ’n werf blokkeer om vir jou advertensies voor te stel.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{Program}other{# programme}}</translation>
 <translation id="9186963452600581158">Meld met jou kind se Google-rekening aan</translation>
 <translation id="9187967020623675250">Sleutels stem nie ooreen nie. Druk enige sleutel en <ph name="RESPONSE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index e18044c..88683bf 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -550,6 +550,7 @@
 <translation id="1509163368529404530">&amp;Qrupu bərpa edin</translation>
 <translation id="1509281256533087115">Hər hansı <ph name="DEVICE_NAME_AND_VENDOR" /> adlı cihaza USB vasitəsilə daxil olun</translation>
 <translation id="1510238584712386396">Başladıcı</translation>
+<translation id="1510341833810331442">Saytlara cihazınızda data saxlamaq icazəsi verilmir</translation>
 <translation id="1510785804673676069">Əgər proksi server istifadə edirsinizsə, proksi ayarlarını yoxlayın və ya
     proksi serverinizin işlədiyini yoxlamaq üçün şəbəkə administratorunuz ilə
     əlaqə saxlayın. Əgər proksi server istifadə etməli olduğunuza 
@@ -886,6 +887,7 @@
 <translation id="1802687198411089702">Səhifəyə daxil olmaq alınmadı. Gözləyin və ya çıxın.</translation>
 <translation id="1803531841600994172">Tərcümə ediləcək dil</translation>
 <translation id="1803545009660609783">Yenidən hazırlayın</translation>
+<translation id="1805545709333681504">Köhnə parolu daxil edin</translation>
 <translation id="1805738995123446102">Arxa fon tabı mikrofondan istifadə edir</translation>
 <translation id="1805822111539868586">Baxışları nəzərdən keçirin</translation>
 <translation id="1805888043020974594">Çap serveri</translation>
@@ -1604,6 +1606,7 @@
 <translation id="2410298923485357543">Cihazınız onlayn olduqda təbii səsdən istifadə edin</translation>
 <translation id="2410754283952462441">Hesab seçin</translation>
 <translation id="241082044617551207">Naməlum plaqin</translation>
+<translation id="2410940059315936967">Baxdığınız sayt şəkillər, reklamlar və mətn kimi digər saytlardan məzmunu daxil edə bilər. Digər saytlar tərəfindən təyin olunan kukilərə üçüncü tərəf kukiləri deyilir.</translation>
 <translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">Klaviaturanın funksiya düymələri</translation>
 <translation id="2418307627282545839">İşıqlandırın və havalandırın</translation>
@@ -2153,6 +2156,7 @@
 <translation id="2902312830803030883">Daha çox əməliyyatlar</translation>
 <translation id="2903457445916429186">Seçilmiş elementləri açın</translation>
 <translation id="2903882649406874750"><ph name="HOST" /> hostunun sensorlara girişini daima blok edin</translation>
+<translation id="2904210161403910217">Parolunuz sonuncu dəfə daxil olduğunuzdan bəri dəyişib</translation>
 <translation id="2904845070985032877">Animasiyaları durdurun</translation>
 <translation id="2907619724991574506">Başlatma linkləri</translation>
 <translation id="2907798539022650680">'<ph name="NAME" />' qoşulmaq uğursuz oldu: <ph name="DETAILS" />
@@ -2235,6 +2239,7 @@
 <translation id="2979639724566107830">Yeni pəncərədə açın</translation>
 <translation id="2981113813906970160">Geniş siçan kursorunu göstərin</translation>
 <translation id="2981293774053328982">Bu faylda şəxsi və ya sosial şəbəkə hesablarınıza təhlükə yarada biləcək zərərli proqramlar var</translation>
+<translation id="2983102365694924129">Saytdakı fəaliyyətinizə əsaslanır. Bu ayar deaktivdir.</translation>
 <translation id="2983373101216420412">Keysin batareya səviyyəsi: <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">"<ph name="EXTENSION_NAME" />" quraşdırmaq üçün inzibatçınıza sorğu göndərilsin?</translation>
 <translation id="2987620471460279764">Digər cihazdan paylaşılan mətn</translation>
@@ -2296,6 +2301,7 @@
 <translation id="3023464535986383522">Səsləndirmək üçün seçim</translation>
 <translation id="3024374909719388945">24 saatlıq formatdan istifadə edin</translation>
 <translation id="3027296729579831126">Yaxındakılarla Paylaşmanı aktiv edin</translation>
+<translation id="3027644380269727216">Saytdakı fəaliyyətinizə əsaslanır. Bu ayar aktivdir.</translation>
 <translation id="3029276696788198026">Əvvəlcədən yükləmə yoxdur</translation>
 <translation id="3029466929721441205">Rəfdə stilus alətlərini göstərin</translation>
 <translation id="3029808567601324798">Kilidləmək vaxtıdır</translation>
@@ -2729,6 +2735,7 @@
 <translation id="3458794975359644386">Paylaşımı silmək alınmadı</translation>
 <translation id="3459509316159669723">Çap edilir</translation>
 <translation id="3459697287128633276">Hesabın Google Play Mağazaya girişini aktiv etmək üçün İdentifikasiya Provayderi ilə doğrulayın.</translation>
+<translation id="3460458947710119567">{NUM_BOOKMARKS,plural, =1{1 əlfəcin silindi}other{# əlfəcin silindi}}</translation>
 <translation id="3461766685318630278">Əlavə konteynerlər yaradın və silin.</translation>
 <translation id="3462311546193741693">Bir çox saytlardan çıxış edəcəksiniz. Google Hesabınızdan çıxmayacaqsınız. Sinxronizasiya olunmuş data silinə bilər.</translation>
 <translation id="3462413494201477527">Hesab quraşdırması ləğv edilsin?</translation>
@@ -3225,6 +3232,7 @@
 <translation id="3903187154317825986">Quraşdırılmış klaviatura</translation>
 <translation id="3904326018476041253">Məkan Xidmətləri</translation>
 <translation id="3905761538810670789">Tətbiqi bərpa edin</translation>
+<translation id="3908288065506437185">Anonim rejimdə üçüncü tərəf kukilərini bloklayın</translation>
 <translation id="3908501907586732282">Artırmanı aktiv edin</translation>
 <translation id="3909701002594999354">Bütün &amp;Nizamlayıcıları Göstərin</translation>
 <translation id="3909791450649380159">Kəsin</translation>
@@ -3514,6 +3522,7 @@
 <translation id="4175737294868205930">Davamlı saxlama yeri</translation>
 <translation id="4176463684765177261">Deaktiv edildi</translation>
 <translation id="4176864026061939326">Bu cihaz idarə olunur. Cihaz administratorunuz tərəfindən <ph name="USER_EMAIL_ADDRESS" /> hesabı üçün yeni profil tələb olunur</translation>
+<translation id="4177501066905053472">Reklam mövzuları</translation>
 <translation id="4180788401304023883">"<ph name="CERTIFICATE_NAME" />" CA sertifikatı silinsin?</translation>
 <translation id="4181602000363099176">20x</translation>
 <translation id="4181841719683918333">Dillər</translation>
@@ -4064,6 +4073,7 @@
 <translation id="4683947955326903992"><ph name="PERCENTAGE" />% (defolt)</translation>
 <translation id="4684427112815847243">Hər şeyi sinxronlaşdırın</translation>
 <translation id="4687613760714619596">Naməlum cihaz (<ph name="DEVICE_ID" />)</translation>
+<translation id="4687718960473379118">Saytın təklif etdiyi reklamlar</translation>
 <translation id="4688036121858134881">Yerli giriş ID-si: <ph name="WEBRTC_EVENT_LOG_LOCAL_ID" />.</translation>
 <translation id="4688176403504673761"><ph name="MANAGER" /> bu cihazı əvvəlki versiyaya qaytarır (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="4689235506267737042">Demo tərcihlərinizi seçin</translation>
@@ -4391,6 +4401,7 @@
 <translation id="4998430619171209993">Aktiv</translation>
 <translation id="4999804342505941663">"Narahat Etməyin" rejimini aktiv edin</translation>
 <translation id="5000922062037820727">Bloklanıb (tövsiyə olunur)</translation>
+<translation id="5001526427543320409">Üçüncü tərəf kukiləri</translation>
 <translation id="5005498671520578047">Parolu kopyalayın</translation>
 <translation id="5006118752738286774">2 il öncə</translation>
 <translation id="5006218871145547804">Crostini Android tətbiqi üzrə ADB</translation>
@@ -5109,6 +5120,7 @@
 <translation id="5683806393796685434">Aktivasiya kodunuzu daxil edin</translation>
 <translation id="5684181005476681636">Wi-Fi detalları</translation>
 <translation id="5684661240348539843">Aktiv İdentifikatoru</translation>
+<translation id="5684950556880280580">Parolunuz yenilənib</translation>
 <translation id="5684969244627829799">İstifadəçi hesabına daxil olun və yenidən cəhd edin</translation>
 <translation id="5687326903064479980">Saat qurşağı</translation>
 <translation id="5687935527303996204">Cihazınızın qoşulduğuna əmin olun və deaktiv etməyin. Quraşdırma 20 dəqiqəyə qədər çəkə bilər. Quraşdırma tamamlandıqda cihazınız avtomatik olaraq söndürüləcək.</translation>
@@ -5150,6 +5162,7 @@
 <translation id="572328651809341494">Son panellər</translation>
 <translation id="5723508132121499792">Arxaa fonda tətbiq işləmir</translation>
 <translation id="5723967018671998714">Üçüncü tərəf kukiləri Anonim rejimdə bloklanır</translation>
+<translation id="5724642200346111167">Bütün pəncərələri bağladığınız zaman sayt datası cihazınızdan silinir</translation>
 <translation id="5727728807527375859">Artırmalar, tətbiqlər və temalar kompüterinizə zərər vura bilər. Davam etmək istəyirsiniz?</translation>
 <translation id="5728450728039149624">Ağıllı Kilid ekran kilidi seçimləri</translation>
 <translation id="5729712731028706266">&amp;Görünüş</translation>
@@ -5165,6 +5178,7 @@
 <translation id="5739017626473506901"><ph name="USER_NAME" /> adlı istifadəçiyə məktəb hesabı əlavə etməkdə yardım etmək üçün daxil olun</translation>
 <translation id="5739235828260127894">Doğrulama gözlənilir. <ph name="LINK_BEGIN" />Ətraflı məlumat.<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">Çox böyük</translation>
+<translation id="5740126560802162366">Saytlar cihazınızda data saxlaya bilər</translation>
 <translation id="5740328398383587084">Yaxındakılarla Paylaşma</translation>
 <translation id="5740709157181662145"><ph name="DEVICE_OS" /> avadanlıq dəstəyi və stabilliyi</translation>
 <translation id="574104302965107104">Displeyin əks etdirilməsi</translation>
@@ -5663,6 +5677,7 @@
 <translation id="6200151268994853226">Artırmanı idarə edin</translation>
 <translation id="6201608810045805374">Bu hesab silinsin?</translation>
 <translation id="6202304368170870640">Cihaza daxil olmaq və ya kiliddən çıxarmaq üçün PIN-dən istifadə edə bilərsiniz.</translation>
+<translation id="6205314730813004066">Reklam məxfiliyi</translation>
 <translation id="6206199626856438589">Açıq tablar da daxil olmaqla, göstərilən saytlardan çıxmış olacaqsınız</translation>
 <translation id="6206311232642889873">Şəkli kopyalayın</translation>
 <translation id="6206521455877863927">Eyni domendən olan saytlar, məsələn, google.com və mail.google.com daxil olmaqla. Baxdığınız saytlar datanı cihazınızda saxlaya bilər.</translation>
@@ -6282,6 +6297,7 @@
 <translation id="6787839852456839824">Klaviatura qısayolları</translation>
 <translation id="6788210894632713004">Paketlənməmiş artırma</translation>
 <translation id="6789592661892473991">Horizontal bölün</translation>
+<translation id="6789834167207639931">Bərpanı başa çatdırmaq üçün növbəti ekranda Google Hesab parolunuzu yenidən daxil edin</translation>
 <translation id="6790428901817661496">Oxudun</translation>
 <translation id="6790497603648687708"><ph name="EXTENSION_NAME" /> uzaqdan əlavə edildi</translation>
 <translation id="6790820461102226165">Şəxs əlavə edin...</translation>
@@ -6931,6 +6947,7 @@
 <translation id="7387273928653486359">Məqbul</translation>
 <translation id="7387951778417998929">Defolt olmayan axtarış sistemini istifadə etmək üçün onun qısayolunu, sonra da istədiyiniz klaviatura qısayolunu ünvan panelinə yazın. Defolt axtarış sisteminizi burada da dəyişə bilərsiniz.</translation>
 <translation id="7388209873137778229">Yalnız dəstəklənən cihazlar göstərilir.</translation>
+<translation id="7388615499319468910">Saytlar və reklamçılar reklamların necə işlədiyini başa düşə bilər. Bu ayar deaktivdir.</translation>
 <translation id="7392118418926456391">Virusun skan edilməsi alınmadı</translation>
 <translation id="7392915005464253525">Qapadılmış Pəncərəni yenidən açın</translation>
 <translation id="7393073300870882456">{COUNT,plural, =1{1 element kopyalanıb}other{{COUNT} element kopyalanıb}}</translation>
@@ -7007,6 +7024,7 @@
 <translation id="7453467225369441013">Bununla əksər saytlardan çıxacaqsınız. Google Hesabından çıxmayacaqsınız.</translation>
 <translation id="7454548535253569100">Portal: <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">Əlavə konteynerləri idarə edin</translation>
+<translation id="7455988709578031708">Axtarış tarixçənizə əsaslanır. Bu ayar aktivdir.</translation>
 <translation id="7456142309650173560">dev</translation>
 <translation id="7456774706094330779">Artırılmış əvvəlcədən yükləmə</translation>
 <translation id="7456847797759667638">Məkanı Açın...</translation>
@@ -8820,11 +8838,14 @@
 <translation id="9094859731829297286">Linux üçün sabit ölçülü diski saxlamaq istədiyinizə əminsiniz?</translation>
 <translation id="9094982973264386462">Silin</translation>
 <translation id="9095253524804455615">Silin</translation>
+<translation id="9095364055741191097">Lokal datanı bərpa etmək alınmadı</translation>
 <translation id="909554839118732438">Anonim pəncərəni bağlayın</translation>
+<translation id="9099220545925418560">Axtarış tarixçənizə əsaslanır. Bu ayar deaktivdir.</translation>
 <translation id="9100416672768993722">Son istifadə edilən giriş metoduna keçmək üçün buna basın: <ph name="BEGIN_SHORTCUT" /><ph name="BEGIN_CTRL" />Ctrl<ph name="END_CTRL" /><ph name="SEPARATOR" /><ph name="BEGIN_SPACE" />Boşluq<ph name="END_SPACE" /><ph name="END_SHORTCUT" /></translation>
 <translation id="9100765901046053179">Qabaqcıl ayarlar</translation>
 <translation id="9101691533782776290">Tətbiqi işə salın</translation>
 <translation id="9102610709270966160">Artırmanı Aktiv Edin</translation>
+<translation id="9102864637938129124">Saytlar və reklamçılar reklamların necə işlədiyini başa düşə bilər. Bu ayar aktivdir.</translation>
 <translation id="9103479157856427471">Miqyası böyüdülmüş ekran klaviatura gokusunu izləyir</translation>
 <translation id="9103868373786083162">Geri qayıtmaq üçün basın və tarixməni görmək üçün kontekst menyuya basın</translation>
 <translation id="9108035152087032312">&amp;Pəncərəyə ad verin...</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index 339f5f2d..5e22ad2 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -60,7 +60,7 @@
 <translation id="1054153489933238809">Otvori originalnu sl&amp;iku u novoj kartici</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{Ažurirajte <ph name="DEVICE_TYPE" /> u roku od 1 sedmice}one{Ažurirajte <ph name="DEVICE_TYPE" /> u roku od {NUM_WEEKS} sedmice}few{Ažurirajte <ph name="DEVICE_TYPE" /> u roku od {NUM_WEEKS} sedmice}other{Ažurirajte <ph name="DEVICE_TYPE" /> u roku od {NUM_WEEKS} sedmica}}</translation>
 <translation id="1056898198331236512">Upozorenje</translation>
-<translation id="1056980582064308040">Promjenom postavki ponovo će se pokrenuti žarišna točka. Prekinut će se veza s uređajima koji upotrebljavaju žarišnu točku.</translation>
+<translation id="1056980582064308040">Promjena postavki će ponovo pokrenuti pristupnu tačku. Veza s uređajima koji koriste pristupnu tačku će se prekinuti.</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Unesite novi PIN. PIN se mora sastojati od najmanje jednog znaka i može sadržavati slova, brojeve i druge znakove.}one{Unesite novi PIN. PIN se mora sastojati od najmanje # znaka i može sadržavati slova, brojeve i druge znakove.}few{Unesite novi PIN. PIN se mora sastojati od najmanje # znaka i može sadržavati slova, brojeve i druge znakove.}other{Unesite novi PIN. PIN se mora sastojati od najmanje # znakova i može sadržavati slova, brojeve i druge znakove.}}</translation>
 <translation id="1059484610606223931">Protokol za prijenos hiperteksta (HTTPs)</translation>
@@ -310,7 +310,7 @@
 <translation id="1272079795634619415">Zaustavi</translation>
 <translation id="1272508081857842302">Otvaranje <ph name="BEGIN_LINK" />podržanih linkova<ph name="END_LINK" /></translation>
 <translation id="1272978324304772054">Ovaj korisnički račun ne pripada domeni u koju je uređaj prijavljen.  Ako se želite prijaviti u drugu domenu, morate prvo proći kroz oporavak uređaja.</translation>
-<translation id="1273937721055267968">Blokiraj <ph name="DOMAIN" /></translation>
+<translation id="1273937721055267968">Blokiranje web lokacije <ph name="DOMAIN" /></translation>
 <translation id="1274997165432133392">Kolačići i drugi podaci o web lokaciji</translation>
 <translation id="1275718070701477396">Odabrano</translation>
 <translation id="1276994519141842946">Deinstaliranje aplikacije <ph name="APP_NAME" /> nije uspjelo</translation>
@@ -363,7 +363,7 @@
 <translation id="1327495825214193325">Da omogućite otklanjanje grešaka putem ADB-a, potrebno je ponovo pokrenuti ovaj uređaj <ph name="DEVICE_TYPE" />. Onemogućavanje zahtijeva vraćanje na fabričke postavke.</translation>
 <translation id="1327527584824210101">Koristite pristupni ključ</translation>
 <translation id="1327794256477341646">Funkcije za koje je potrebna vaša lokacija neće funkcionirati</translation>
-<translation id="1329466763986822896">Poboljšajte privatnost za ovu žarišnu točku</translation>
+<translation id="1329466763986822896">Poboljšajte privatnost za ovu pristupnu tačku</translation>
 <translation id="1331977651797684645">To sam ja.</translation>
 <translation id="1333489022424033687">Neke funkcije web lokacije <ph name="ORIGIN" /> možda neće raditi dok ne obrišete podatke koje su druge web lokacije pohranile na vašem uređaju</translation>
 <translation id="1333965224356556482">Nemoj dozvoliti web lokacijama prikaz lokacije</translation>
@@ -604,7 +604,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{Vaš anonimni prozor se neće ponovo otvoriti.}one{Vaš # anonimni prozor se neće ponovo otvoriti.}few{Vaša # anonimna prozora se neće ponovo otvoriti.}other{Vaših # anonimnih prozora se neće ponovo otvoriti.}}</translation>
 <translation id="1546280085599573572">Ova ekstenzija je promijenila stranicu koja se prikazuje kada kliknete dugme za početni ekran.</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> želi instalirati ekstenziju <ph name="EXTENSION_TYPE" /> koja može sljedeće:</translation>
-<translation id="1547123415014299762">Dopušteni su kolačići trećih strana</translation>
+<translation id="1547123415014299762">Kolačići treće strane su dozvoljeni</translation>
 <translation id="1547808936554660006">Razumijem da se instalirani profili eSIM-a neće ukloniti ako se izvrši Powerwash</translation>
 <translation id="1547936895218027488">Kliknite na ikonu bočne ploče da je otvorite</translation>
 <translation id="1549275686094429035">ARC je omogućen</translation>
@@ -1416,7 +1416,7 @@
 <translation id="2247870315273396641">Pregled glasa</translation>
 <translation id="2249111429176737533">Otvori kao prozor s karticama</translation>
 <translation id="2249605167705922988">npr. 1-5, 8, 11-13</translation>
-<translation id="2249635629516220541">Prilagodite podatke koje web-lokacije koriste da bi vam prikazivale oglase</translation>
+<translation id="2249635629516220541">Prilagodite informacije koje web lokacije koriste da vam prikazuju oglase</translation>
 <translation id="2251218783371366160">Otvori u pregledniku sistema</translation>
 <translation id="225163402930830576">Osvježi mreže</translation>
 <translation id="2251809247798634662">Novi anonimni prozor</translation>
@@ -1868,7 +1868,7 @@
 <translation id="2640299212685523844">Koristi GTK</translation>
 <translation id="264083724974021997">Povežite s telefonom – dijaloški okvir</translation>
 <translation id="2642111877055905627">Nogometna lopta</translation>
-<translation id="2643064289437760082">Podatke o mjerenju oglasa uvijek možete izbrisati brisanjem podataka o pregledavanju</translation>
+<translation id="2643064289437760082">Uvijek možete izbrisati podatke o mjerenju oglasa brisanjem podataka o pregledanju</translation>
 <translation id="2643698698624765890">Upravljajte svojim ekstenzijama klikom na stavku Ekstenzije u meniju Prozor.</translation>
 <translation id="2645047101481282803">Vašim uređajem upravlja <ph name="PROFILE_NAME" /></translation>
 <translation id="2645435784669275700">ChromeOS</translation>
@@ -2328,7 +2328,7 @@
 <translation id="3036327949511794916">Rok za vraćanje ovog uređaja <ph name="DEVICE_TYPE" /> je prošao.</translation>
 <translation id="3036546437875325427">Omogući blic</translation>
 <translation id="3037754279345160234">Nije moguće raščlaniti konfiguraciju za pridruživanje domeni. Kontaktirajte svog administratora.</translation>
-<translation id="3038272154009688107">Pogledajte sve web-lokacije</translation>
+<translation id="3038272154009688107">Prikaži sve web lokacije</translation>
 <translation id="3038612606416062604">Ručno dodajte štampač</translation>
 <translation id="3039491566278747710">Instaliranje pravila na ovaj uređaj van mreže nije uspjelo.</translation>
 <translation id="3043016484125065343">Prijavite se da vidite svoje oznake</translation>
@@ -2565,7 +2565,7 @@
 <translation id="3289668031376215426">Automatsko veliko slovo</translation>
 <translation id="3289856944988573801">Da provjerite ima li ažuriranja, koristite Ethernet ili WiFi.</translation>
 <translation id="3290249595466894471">Također šalje mali uzorak stranica, preuzimanja, aktivnosti ekstenzija i informacija o sistemu radi lakšeg otkrivanja novih prijetnji</translation>
-<translation id="3293181007446299124">Vaša povijest pregledavanja ostaje privatna na vašem uređaju, a izvješća se šalju s odgodom radi zaštite vašeg identiteta</translation>
+<translation id="3293181007446299124">Vaša historija pregledanja se privatno pohranjuje na vašem uređaju, a izvještaji se šalju s kašnjenjem radi zaštite vašeg identiteta</translation>
 <translation id="3293644607209440645">Pošalji ovu stranicu</translation>
 <translation id="32939749466444286">Spremnik Linuxa nije pokrenut. Pokušajte ponovo.</translation>
 <translation id="3294437725009624529">Gost</translation>
@@ -3346,7 +3346,7 @@
 <translation id="3984431586879874039">Dozvoliti ovoj web lokaciji da vidi vaš sigurnosni ključ?</translation>
 <translation id="398477389655464998">Kopiraj link za istaknuti tekst</translation>
 <translation id="3984862166739904574">Definicija Brzih odgovora</translation>
-<translation id="3985022125189960801">Dodajte web-lokaciju natrag ako je želite u grupi web-lokacija koje mogu pogoditi što vam se sviđa</translation>
+<translation id="3985022125189960801">Ponovo dodajte web lokaciju ako želite da bude u skupini web lokacija koje mogu pogađati šta vam se sviđa</translation>
 <translation id="3987544746655539083">Nastavi blokirati pristup lokaciji za ovu web lokaciju</translation>
 <translation id="3987938432087324095">Nismo razumjeli.</translation>
 <translation id="3987993985790029246">Kopiraj link</translation>
@@ -3725,7 +3725,7 @@
 <translation id="4366138410738374926">Štampanje je započelo</translation>
 <translation id="4367513928820380646">Pregledajte uklonjena odobrenja</translation>
 <translation id="4369215744064167350">Zahtjev za web lokaciju je odobren</translation>
-<translation id="4369735607080757018">Ograničene vrste podataka dijele se između web-lokacija radi mjerenja izvedbe oglasa, kao što je doba dana kad vam se oglas prikazao</translation>
+<translation id="4369735607080757018">Ograničene vrste podataka se dijele među web lokacijama da izmjere performanse svojih oglasa, npr. doba dana kada vam je oglas prikazan</translation>
 <translation id="4370975561335139969">Adresa e-pošte i lozinka koje ste unijeli se ne podudaraju</translation>
 <translation id="4374831787438678295">Paket za instalaciju Linuxa</translation>
 <translation id="4375035964737468845">Otvori preuzete fajlove</translation>
@@ -3746,7 +3746,7 @@
 <translation id="4385146930797718821">Snimak ekrana je kopiran u međumemoriju</translation>
 <translation id="4385905942116811558">Traženje Bluetooth i USB uređaja</translation>
 <translation id="4387890294700445764">Ugrožene lozinke</translation>
-<translation id="4388650384344483842">Upotrijebite barem osam znakova</translation>
+<translation id="4388650384344483842">Koristite najmanje 8 znakova</translation>
 <translation id="4389091756366370506">Korisnik <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> i još sljedeći broj prekidača: <ph name="NUMBER_OF_OTHER_SWITCHES" /></translation>
 <translation id="439266289085815679">Konfiguriranje Bluetootha kontrolira <ph name="USER_EMAIL" />.</translation>
@@ -4069,7 +4069,7 @@
 <translation id="4666472247053585787">Pregledajte obavještenja s telefona na uređaju <ph name="DEVICE_TYPE" /></translation>
 <translation id="4666911709726371538">Više aplikacija</translation>
 <translation id="4667027203988048332">Koji podaci se koriste:</translation>
-<translation id="4668279686271488041">Podaci o mjerenju oglasa redovito se brišu s vašeg uređaja</translation>
+<translation id="4668279686271488041">Podaci o mjerenjima oglasa se redovno brišu s uređaja</translation>
 <translation id="4672759829555593783">Otvaranje fajla <ph name="FILE_NAME" /> sada</translation>
 <translation id="46733273239502219">Obrisat će se i offline podaci u instaliranim aplikacijama</translation>
 <translation id="4673442866648850031">Otvorite alate za stilos kada je stilos uklonjen</translation>
@@ -4510,7 +4510,7 @@
 <translation id="5094721898978802975">Komunikacija s izvornim aplikacijama za saradnju</translation>
 <translation id="5097002363526479830">Povezivanje na mrežu "<ph name="NAME" />" nije uspjelo: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">Saznajte više o korištenju lokacije</translation>
-<translation id="5097349930204431044">Web-lokacije koje posjećujete mogu utvrditi što vam se sviđa, a zatim predlagati oglase dok pregledavate</translation>
+<translation id="5097349930204431044">Web lokacije koje posjetite mogu utvrditi šta vam se sviđa, a zatim predložiti oglase dok nastavljate pregledati</translation>
 <translation id="5097649414558628673">Alat: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">Automatski klik kada se kursor zaustavi</translation>
 <translation id="5101683448725092498">Napravite sigurnosne kopije svojih stvari</translation>
@@ -4693,7 +4693,7 @@
 <translation id="5275352920323889391">Pas</translation>
 <translation id="527605719918376753">Isključi zvuk kartice</translation>
 <translation id="527605982717517565">Uvijek omogući JavaScript na web lokaciji <ph name="HOST" /></translation>
-<translation id="5276357196618041410">Konfiguraciju nije moguće spremiti bez prethodne prijave</translation>
+<translation id="5276357196618041410">Nije moguće sačuvati konfiguraciju bez prethodne prijave</translation>
 <translation id="5277127016695466621">Prikaz bočne ploče</translation>
 <translation id="5278823018825269962">ID statusa</translation>
 <translation id="5279600392753459966">Blokiraj sve</translation>
@@ -6192,7 +6192,7 @@
 <translation id="6670767097276846646">Neke ekstenzije mogu dodavati pretraživače u Chrome</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{adresu}one{# adresu}few{# adrese}other{# adresa}}</translation>
 <translation id="6671497123040790595"><ph name="MANAGER" /> postavlja upravljanje</translation>
-<translation id="6672917148207387131">Dodaj <ph name="DOMAIN" /></translation>
+<translation id="6672917148207387131">Dodavanje web lokacije <ph name="DOMAIN" /></translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">Da pokrenete sinhronizaciju, unesite pristupni izraz</translation>
 <translation id="6675665718701918026">Uređaj za pokazivanje je povezan</translation>
@@ -6276,7 +6276,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (anonimno)</translation>
 <translation id="6756157672127672536">Aplikacija Files pruža brzi pristup fajlovima sačuvanim na Google Disku, vanjskoj pohrani ili ChromeOS uređaju.</translation>
 <translation id="6756643207511618722">Alati za govor</translation>
-<translation id="6757431299485455321">Pomozite drugim uređajima da pronađu ovu žarišnu točku.</translation>
+<translation id="6757431299485455321">Pomozite drugim uređajima da pronađu ovu pristupnu tačku.</translation>
 <translation id="6758056191028427665">Recite nam koliko ste zadovoljni nama.</translation>
 <translation id="6759193508432371551">Vraćanje na fabričke postavke</translation>
 <translation id="6761431452438552910">Provjerite je li Bluetooth uređaj u načinu rada za uparivanje i u blizini. Uparite samo s uređajima kojima vjerujete.</translation>
@@ -6376,7 +6376,7 @@
 <translation id="6833479554815567477">Kartica je uklonjena iz grupe <ph name="GROUP_NAME" /> – <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">Prebacite se na pametni i sigurni preglednik</translation>
 <translation id="6833996806551876956">Probni period Zaštićenog okruženja za privatnost</translation>
-<translation id="6835712061486505758">Izradite Wi-Fi žarišnu točku kako biste drugim uređajima omogućili povezivanje s internetom. <ph name="BEGIN_LINK_LEARN_MORE" />Saznajte više<ph name="END_LINK_LEARN_MORE" /></translation>
+<translation id="6835712061486505758">Kreirajte WiFi pristupnu tačku da omogućite internet drugim uređajima. <ph name="BEGIN_LINK_LEARN_MORE" />Saznajte više<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">Povežite se na internet da ažurirate uređaj <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6839225236531462745">Greška prilikom brisanja potvrde</translation>
 <translation id="6839916869147598086">Način prijave je promijenjen</translation>
@@ -6538,7 +6538,7 @@
 <translation id="697508444536771064">Isključi Linux</translation>
 <translation id="6975361011348772931">Zatraženo pravo čitanja i mijenjanja</translation>
 <translation id="6978121630131642226">Pretraživači</translation>
-<translation id="6978717888677691380">Web-lokacije koje ste blokirali</translation>
+<translation id="6978717888677691380">Web lokacije koje ste blokirali</translation>
 <translation id="6979041727349121225">Ušteda energije</translation>
 <translation id="6979044105893951891">Pokretanje i izlaz iz upravljanih sesija gosta</translation>
 <translation id="6979440798594660689">Isključi zvuk (zadano)</translation>
@@ -6630,7 +6630,7 @@
 <translation id="7047059339731138197">Odaberite pozadinu</translation>
 <translation id="7048457618657122233">Dijeljenje linka na <ph name="SHARE_TARGET" /></translation>
 <translation id="7049293980323620022">Zadržati fajl?</translation>
-<translation id="7050037487872780845">Konfiguracija žarišne točke nije važeća</translation>
+<translation id="7050037487872780845">Nevažeća konfiguracija pristupne tačke</translation>
 <translation id="7052237160939977163">Pošalji podatke o praćenju performansi</translation>
 <translation id="7053983685419859001">Blokiraj</translation>
 <translation id="7055152154916055070">Preusmjeravanje je blokirano:</translation>
@@ -6835,7 +6835,7 @@
 <translation id="7258192266780953209">Transformacije</translation>
 <translation id="7258225044283673131">Aplikacija ne reagira. Odaberite "Prisilno zatvori" da zatvorite aplikaciju.</translation>
 <translation id="7260186537988033909">Prijava uređaja za kiosk i potpisivanje je završena</translation>
-<translation id="7260367682327802201">Vaš Android uređaj možda ima sličnu postavku. Ako je mjerenje oglasa uključeno u Chromeu i na vašem Android uređaju, tvrtka će možda moći mjeriti učinkovitost oglasa na web-lokacijama koje posjećujete i u aplikacijama koje upotrebljavate.</translation>
+<translation id="7260367682327802201">Android uređaj može sadržavati sličnu postavku. Ako je mjerenje oglasa uključeno u Chromeu i na Android uređaju, kompanija će možda moći izmjeriti učinkovitost oglasa na web lokacijama koje posjećujete i u aplikacijama koje koristite.</translation>
 <translation id="7262004276116528033">Ovu uslugu prijavljivanja hostira <ph name="SAML_DOMAIN" /></translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{Uklonjena su odobrenja za 1 web lokaciju}one{Uklonjena su odobrenja za {NUM_SITES} web lokaciju}few{Uklonjena su odobrenja za {NUM_SITES} web lokacije}other{Uklonjena su odobrenja za {NUM_SITES} web lokacija}}</translation>
 <translation id="7264695323040866038">Uvijek koristiti aplikaciju <ph name="APP" /> za otvaranje podržanih web linkova?</translation>
@@ -7295,7 +7295,7 @@
 <translation id="7684718995427157417">Da kreirate i testirate aplikacije, omogućite Alat za uklanjanje grešaka na Androidu (ADB). Važno je napomenuti da ova radnja omogućava instaliranje Android aplikacija koje nije potvrdio Google, a za onemogućavanje je potrebno vraćanje na fabričke postavke.</translation>
 <translation id="7685049629764448582">JavaScript memorija</translation>
 <translation id="7685087414635069102">Potreban je PIN</translation>
-<translation id="7686086654630106285">Više o oglasima koje predlaže web-lokacija</translation>
+<translation id="7686086654630106285">Više o oglasima koje predlažu web lokacije</translation>
 <translation id="7686581688229391955">Odaberi dozvoljavanje ekstenzija na ovoj web lokaciji</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">Potvrdite novu lozinku</translation>
@@ -7317,7 +7317,7 @@
 <translation id="7704317875155739195">Automatsko dovršavanje pretraživanja i URL-ova</translation>
 <translation id="7704521324619958564">Otvori Play trgovinu</translation>
 <translation id="7705276765467986571">Učitavanje modela oznake nije uspjelo.</translation>
-<translation id="7705334495398865155">Odaberite ID hardvera (BSSID) nasumično da biste onemogućili drugima da prate ovaj uređaj.</translation>
+<translation id="7705334495398865155">Nasumično odaberite ID hardvera (BSSID) da spriječite da drugi prate ovaj uređaj.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">Ovoj web lokaciji je blokirano korištenje senzora pokreta.</translation>
 <translation id="7707922173985738739">Koristi prijenos podataka na mobilnoj mreži</translation>
@@ -7511,7 +7511,7 @@
 <translation id="7881483672146086348">Prikaži račun</translation>
 <translation id="7883792253546618164">Otkažite pretplatu bilo kada.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{Pregledajte 1 web lokaciju koja je poslala mnogo obavještenja}one{Pregledajte {NUM_SITES} web lokaciju koja je poslala mnogo obavještenja}few{Pregledajte {NUM_SITES} web lokacije koja su poslale mnogo obavještenja}other{Pregledajte {NUM_SITES} web lokacija koje su poslale mnogo obavještenja}}</translation>
-<translation id="7884446017008693258">Postavke žarišne točke</translation>
+<translation id="7884446017008693258">Postavke pristupne tačke</translation>
 <translation id="788453346724465748">Učitavanje informacija o računu...</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{stavku}one{# stavka}few{# stavke}other{# stavki}}</translation>
 <translation id="7886605625338676841">eSIM</translation>
@@ -7737,7 +7737,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Ovu uslugu možete isključiti u Postavkama.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">Kartice</translation>
 <translation id="8076835018653442223">Administrator je onemogućio pristup lokalnim fajlovima na vašem uređaju</translation>
-<translation id="8077120325605624147">Svaka web-lokacija koju posjetite može vam prikazati bilo koji oglas</translation>
+<translation id="8077120325605624147">Bilo koja web lokacija koju posjetite vam može prikazivati bilo koje oglase</translation>
 <translation id="80798452873915119">Web lokacije mogu pitati da upravljaju prozorima na svim mojim ekranima</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">Vašom sesijom upravlja <ph name="MANAGER_NAME" />. Administratori mogu izbrisati vaš profil i nadzirati vaš mrežni saobraćaj.</translation>
@@ -8250,7 +8250,7 @@
 <translation id="8557180006508471423">Uključite "Google Chrome" u uslugama lokacije na Mac računaru</translation>
 <translation id="8557856025359704738">Sljedeće preuzimanje je dana <ph name="NEXT_DATE_DOWNLOAD" />.</translation>
 <translation id="8559858985063901027">Pristupni ključevi</translation>
-<translation id="8559961053328923750">Chrome ograničava ukupnu količinu podataka koje web-lokacije mogu dijeliti putem preglednika radi mjerenja izvedbe oglasa</translation>
+<translation id="8559961053328923750">Chrome ograničava ukupnu količinu podataka koje web lokacije mogu dijeliti putem preglednika radi mjerenja performansi oglasa</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{Otvori sve u &amp;novom prozoru}=1{Otvori u &amp;novom prozoru}one{Otvori sve ({COUNT}) u &amp;novom prozoru}few{Otvori sve ({COUNT}) u &amp;novom prozoru}other{Otvori sve ({COUNT}) u &amp;novom prozoru}}</translation>
 <translation id="8561206103590473338">Slon</translation>
 <translation id="8561565784790166472">Budite oprezni</translation>
@@ -8393,7 +8393,7 @@
 <translation id="8678933587484842200">Kako želite da se ova aplikacija pokreće?</translation>
 <translation id="8680251145628383637">Prijavite se da dobijete oznake, historiju, lozinke i ostale postavke na svim svojim uređajima. Također ćete biti automatski prijavljeni na svoje Google usluge.</translation>
 <translation id="8681614230122836773">Chrome je pronašao štetni softver na vašem računaru</translation>
-<translation id="8681886425883659911">Oglasi su blokirani na web-lokacijama za koje se zna da prikazuju ometajuće ili obmanjujuće oglase</translation>
+<translation id="8681886425883659911">Oglasi se blokiraju na web lokacijama za koje je poznato da prikazuju ometajuće ili obmanjujuće oglase</translation>
 <translation id="8682730193597992579">Štampač <ph name="PRINTER_NAME" /> je povezan i spreman</translation>
 <translation id="8687103160920393343">Otkazivanje preuzimanja fajla <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Dostupno</translation>
@@ -8766,7 +8766,7 @@
 <translation id="9021662811137657072">Otkriven je virus</translation>
 <translation id="902236149563113779">Web lokacije obično prate položaj kamere radi funkcija AR-a, kao što su igre ili smjernice u visini očiju</translation>
 <translation id="9022847679183471841"><ph name="AVATAR_NAME" /> već koristi ovaj račun na ovom računaru.</translation>
-<translation id="9022871169049522985">Web-lokacije i oglašivači mogu mjeriti izvedbu svojih oglasa</translation>
+<translation id="9022871169049522985">Web lokacije i oglašivači mogu mjeriti performanse svojih oglasa</translation>
 <translation id="9023015617655685412">Označi ovu karticu…</translation>
 <translation id="9023909777842748145">Ako isključite ovu funkciju, uređaj će i dalje moći slati informacije potrebne za osnovne usluge kao što su ažuriranja sistema i sigurnost.</translation>
 <translation id="9024127637873500333">&amp;Otvori u novoj kartici</translation>
@@ -8896,7 +8896,7 @@
 <translation id="9128335130883257666">Otvaranje stranice postavki za način unosa <ph name="INPUT_METHOD_NAME" /></translation>
 <translation id="9128870381267983090">Spoji se na mrežu</translation>
 <translation id="9130015405878219958">Ušli ste u nevažeći način rada.</translation>
-<translation id="9131209053278896908">Blokirane web-lokacije prikazuju se ovdje</translation>
+<translation id="9131209053278896908">Blokirane web lokacije se prikazuju ovdje</translation>
 <translation id="9131487537093447019">Šalji poruke na Bluetooth uređaje i primaj poruke s njih.</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 oznaka}one{# oznaka}few{# oznake}other{# oznaka}}</translation>
 <translation id="9134066738478820307">Web lokacije mogu koristiti identifikatore da reproduciraju zaštićeni sadržaj</translation>
@@ -8950,7 +8950,7 @@
 <translation id="9180281769944411366">Ovo može potrajati nekoliko minuta. Pokretanje Linux spremnika.</translation>
 <translation id="9180380851667544951">Web lokacija može dijeliti vaš ekran</translation>
 <translation id="9182556968660520230">Nemoj dozvoliti web lokacijama reproduciranje zaštićenog sadržaja</translation>
-<translation id="9183331776983279456">Chrome automatski briše web-lokacije koje su na popisu duže od četiri tjedna. Web-lokacija koju posjetite ponovo može se opet pojaviti na popisu. Možete i blokirati web-lokaciju kako vam ne bi mogla predlagati oglase.</translation>
+<translation id="9183331776983279456">Chrome automatski briše web lokacije koje su starije od 4 sedmice. Web lokacija koju ponovo posjetite može se ponovo pojaviti na listi. Ili možete blokirati da vam web lokacija predlaže oglase.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{Aplikacija}one{# aplikacija}few{# aplikacije}other{# aplikacija}}</translation>
 <translation id="9186963452600581158">Prijavite se putem Google računa djeteta</translation>
 <translation id="9187967020623675250">Tipke se ne podudaraju. Pritisnite bilo koju tipku da: <ph name="RESPONSE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 1aa4ad8..9997b5a 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -45,6 +45,7 @@
 <translation id="1041175011127912238">Αυτή η σελίδα δεν αποκρίνεται.</translation>
 <translation id="1041263367839475438">Διαθέσιμες συσκευές</translation>
 <translation id="1042174272890264476">Ο υπολογιστής σας κυκλοφορεί και με ενσωματωμένη τη βιβλιοθήκη RLZ του <ph name="SHORT_PRODUCT_NAME" />. Το RLZ εκχωρεί μια μη μοναδική ετικέτα μη προσωπικής ταυτοποίησης για τη μέτρηση των αναζητήσεων και της χρήσης του <ph name="SHORT_PRODUCT_NAME" /> που προκύπτει από μια συγκεκριμένη καμπάνια προώθησης. Αυτές οι ετικέτες εμφανίζονται μερικές φορές σε ερωτήματα στην Αναζήτηση Google στο <ph name="PRODUCT_NAME" />.</translation>
+<translation id="1042248468362992359">Για να χρησιμοποιήσετε το σημείο πρόσβασης Wi-Fi θα πρέπει να έχετε σύνδεση δεδομένων κινητής τηλεφωνίας. <ph name="BEGIN_LINK_LEARN_MORE" />Μάθετε περισσότερα<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1043505821207197890">Κάτι δεν πήγε καλά. Μπορεί να γίνει μόνο μερική αναβάθμιση του Linux. Ελέγξτε τα αρχεία καταγραφής για περισσότερες πληροφορίες. Τα αρχεία καταγραφής έχουν αποθηκευτεί στην ενότητα Αρχεία &gt; Τα αρχεία μου &gt; <ph name="LOG_FILE" /></translation>
 <translation id="104419033123549300">Στιλ διάταξης πληκτρολογίου</translation>
 <translation id="104710386808485638">Επανεκκίνηση του Linux;</translation>
@@ -158,6 +159,7 @@
 <translation id="1139923033416533844">Χρήση μνήμης</translation>
 <translation id="1140351953533677694">Πρόσβαση στις συσκευές Bluetooth και τις σειριακές συσκευές</translation>
 <translation id="114036956334641753">Ήχος και υπότιτλοι</translation>
+<translation id="1141949282671776404">Ενώ αυτή η καρτέλα ήταν ανενεργή, η Εξοικονόμηση μνήμης αποδέσμευσε <ph name="MEMORY_VALUE" /> μνήμης για άλλες εργασίες.</translation>
 <translation id="1142002900084379065">Πρόσφατες φωτογραφίες</translation>
 <translation id="1143142264369994168">Υπηρεσία υπογραφής πιστοποιητικού</translation>
 <translation id="1143816224540441191">{NUM_MINS,plural, =1{Το Chrome δεν εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας • Ο έλεγχος έγινε πριν από 1 λεπτό}other{Το Chrome δεν εντόπισε επιβλαβές λογισμικό στον υπολογιστή σας • Ο έλεγχος έγινε πριν από {NUM_MINS} λεπτά}}</translation>
@@ -317,6 +319,7 @@
 <translation id="1285320974508926690">Να μην γίνεται ποτέ μετάφραση αυτού του ιστότοπου</translation>
 <translation id="1285484354230578868">Αποθήκευση δεδομένων στο λογαριασμό σας στο Google Drive</translation>
 <translation id="1285625592773741684">Η τρέχουσα ρύθμιση χρήσης δεδομένων είναι Δεδομένα κινητής τηλεφωνίας.</translation>
+<translation id="1285815028662278915">Τα δεδομένα κινητής τηλεφωνίας ενδέχεται να μην υποστηρίζουν σημείο πρόσβασης Wi-Fi. <ph name="BEGIN_LINK_LEARN_MORE" />Μάθετε περισσότερα<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1288037062697528143">Ο Νυχτερινός φωτισμός θα ενεργοποιηθεί αυτόματα.</translation>
 <translation id="1288300545283011870">Ιδιότητες ομιλίας</translation>
 <translation id="1289619947962767206">Αυτή η επιλογή δεν υποστηρίζεται πλέον. Για να παρουσιάσετε μια καρτέλα, χρησιμοποιήστε το <ph name="GOOGLE_MEET" />.</translation>
@@ -654,6 +657,7 @@
 <translation id="1596286373007273895">Διατίθεται</translation>
 <translation id="1596709061955594992">Το Bluetooth είναι απενεργοποιημένο. Για να δείτε τις διαθέσιμες συσκευές, ενεργοποιήστε το Bluetooth.</translation>
 <translation id="1596780725094407793">- περιλαμβάνει υποτομείς</translation>
+<translation id="1598163867407640634">Χρησιμοποιήστε το <ph name="SITE_ETLD_PLUS_ONE" /> με το <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="1598233202702788831">Οι ενημερώσεις έχουν απενεργοποιηθεί από τον διαχειριστή σας.</translation>
 <translation id="1600857548979126453">Πρόσβαση στο σύστημα υποστήριξης εντοπισμού σφαλμάτων σελίδων</translation>
 <translation id="1601560923496285236">Εφαρμογή</translation>
@@ -1240,6 +1244,7 @@
       <ph name="BR" />
       <ph name="BEGIN_BOLD" />Σημείωση:<ph name="END_BOLD" /> Θα γίνει επανεκκίνηση του συστήματος κατά τη διάρκεια της διαδικασίας.</translation>
 <translation id="2095774564753225041">Υποστηριζόμενοι τύποι αρχείων</translation>
+<translation id="2097616539631531348">Ενώ αυτή η καρτέλα ήταν ανενεργή, η Εξοικονόμηση μνήμης αποδέσμευσε μνήμη για άλλες εργασίες.</translation>
 <translation id="2098805196501063469">Έλεγχος κωδικών πρόσβασης που απομένουν</translation>
 <translation id="2099686503067610784">Να διαγραφεί το πιστοποιητικό διακομιστή "<ph name="CERTIFICATE_NAME" />";</translation>
 <translation id="2100273922101894616">Αυτόματη σύνδεση</translation>
@@ -3384,6 +3389,7 @@
 <translation id="4040041015953651705">Γλώσσα από την οποία θα γίνει η μετάφραση</translation>
 <translation id="4040105702484676956">Διαγραφή δεδομένων ιστοτόπου και αδειών για τον ιστότοπο <ph name="SITE_NAME" /> και την εγκατεστημένη εφαρμογή του;</translation>
 <translation id="4042863763121826131">{NUM_PAGES,plural, =1{Έξοδος από τη σελίδα}other{Έξοδος από τις σελίδες}}</translation>
+<translation id="4042941173059740150">Συνέχεια σε <ph name="SITE_ETLD_PLUS_ONE" /> με <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="4043267180218562935">Μέγεθος δείκτη</translation>
 <translation id="4044612648082411741">Εισαγάγετε τον κωδικό πρόσβασης του πιστοποιητικού σας</translation>
 <translation id="4044708573046946214">Κωδικός πρόσβασης κλειδώματος οθόνης</translation>
@@ -8347,6 +8353,7 @@
 <translation id="8674903726754070732">Δυστυχώς, ο υπολογιστής σας έχει διαμορφωθεί με ένα εσφαλμένο αναγνωριστικό εξοπλισμού. Αυτό εμποδίζει την ενημέρωση του Chrome OS με τις πιο πρόσφατες διορθώσεις ασφαλείας και ο υπολογιστής σας <ph name="BEGIN_BOLD" />ενδέχεται να είναι ευάλωτος σε κακόβουλες επιθέσεις<ph name="END_BOLD" />.</translation>
 <translation id="8675704450909805533">Το πρόγραμμα εγκατάστασης δεν ήταν δυνατό να εντοπίσει έναν έγκυρο προορισμό για την εγκατάσταση του <ph name="DEVICE_OS" />.</translation>
 <translation id="8676152597179121671">{COUNT,plural, =1{Βίντεο}other{# βίντεο}}</translation>
+<translation id="8676276370198826499">Εγγραφείτε στο <ph name="SITE_ETLD_PLUS_ONE" /> με το <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="8676313779986170923">Ευχαριστούμε για την αποστολή των σχολίων σας.</translation>
 <translation id="8676374126336081632">Διαγραφή καταχώρισης</translation>
 <translation id="8676770494376880701">Ο συνδεδεμένος φορτιστής παρέχει χαμηλή ισχύ</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index 0f153cd..8834e1124 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -344,6 +344,7 @@
 <translation id="1307165550267142340">Your PIN was created</translation>
 <translation id="1307431692088049276">Don't ask me again</translation>
 <translation id="1307559529304613120">Oops!  The system failed to store the long-term API access token for this device.</translation>
+<translation id="131112695174432497">Data that affects Ad Personalisation is deleted</translation>
 <translation id="1312811472299082263">Create from an Ansible playbook or a Crostini backup file</translation>
 <translation id="1313264149528821971">Removed <ph name="PERMISSION_1" />, <ph name="PERMISSION_2" />, <ph name="PERMISSION_3" /></translation>
 <translation id="1313405956111467313">Automatic proxy configuration</translation>
@@ -506,6 +507,7 @@
 <translation id="1457907785077086338">App badge colour</translation>
 <translation id="146000042969587795">This frame was blocked because it contains some insecure content.</translation>
 <translation id="1461041542809785877">Performance</translation>
+<translation id="1461177659295855031">Move to bookmarks bar folder</translation>
 <translation id="146219525117638703">ONC State</translation>
 <translation id="146220085323579959">Internet disconnected. Please check your internet connection and try again.</translation>
 <translation id="1462850958694534228">Review icon update</translation>
@@ -878,6 +880,7 @@
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="1778457539567749232">Mark as unread</translation>
 <translation id="1778991607452011493">Send debug logs (recommended)</translation>
+<translation id="1779441632304440041">Weak passwords are easy to guess. Make sure that you’re creating strong passwords.</translation>
 <translation id="1779468444204342338">Minimum</translation>
 <translation id="177989070088644880"><ph name="ANDROID_PACKAGE_NAME" />, app</translation>
 <translation id="1780152987505130652">Close group</translation>
@@ -2114,6 +2117,7 @@
 <translation id="2844169650293029770">USB-C device (left side front port)</translation>
 <translation id="2844809857160214557">View and manage print jobs</translation>
 <translation id="2845382757467349449">Always Show Bookmarks Bar</translation>
+<translation id="2845751331501453107">As you browse, whether an ad that you see is personalised depends on this setting, <ph name="BEGIN_LINK1" />site-suggested ads<ph name="LINK_END1" />, your <ph name="BEGIN_LINK2" />cookie settings<ph name="LINK_END2" />, and if the site that you’re viewing personalises ads</translation>
 <translation id="284581348330507117">Create unique passwords</translation>
 <translation id="284805635805850872">Remove harmful software?</translation>
 <translation id="2849035674501872372">Look up</translation>
@@ -2571,6 +2575,7 @@
 <translation id="3288047731229977326">Extensions running in developer mode can harm your computer. If you're not a developer, you should disable these extensions running in developer mode to stay safe.</translation>
 <translation id="3289668031376215426">Auto-capitalisation</translation>
 <translation id="3289856944988573801">To check for updates, please use Ethernet or Wi-Fi.</translation>
+<translation id="3289886661311231677">You can block topics that you don’t want to be shared with sites. Chrome also auto-deletes your topics that are older than four weeks.</translation>
 <translation id="3290249595466894471">Also sends a small sample of pages, downloads, extension activity and system information to help discover new threats</translation>
 <translation id="3293181007446299124">Your browsing history is kept private on your device and reports are sent with a delay to protect your identity</translation>
 <translation id="3293644607209440645">Send this page</translation>
@@ -2656,6 +2661,7 @@
 <translation id="3370260763947406229">Auto-correction</translation>
 <translation id="3371140690572404006">USB-C device (right-hand-side front port)</translation>
 <translation id="337286756654493126">Read folders that you open in the application</translation>
+<translation id="3373701465337594448">When on, a list of sites that you visit that guess your interests appears here</translation>
 <translation id="3374294321938930390">'<ph name="BOOKMARK_TITLE" />' moved into '<ph name="NEW_FOLDER_TITLE" />'.</translation>
 <translation id="3378572629723696641">This extension may have been corrupted.</translation>
 <translation id="3378627645871606983">Permissions allowed for Steam apply to all Steam games and apps.</translation>
@@ -3063,6 +3069,7 @@
 <translation id="3747603683749989726">Turn on enhanced security?</translation>
 <translation id="3748424433435232460">A password for this account is already saved on this device</translation>
 <translation id="3748706263662799310">Report a bug</translation>
+<translation id="3749724428455457489">Learn more about site-suggested ads</translation>
 <translation id="3750562496035670393">Chrome saved your password to this device, but you can save it to your Google Account instead. Then, all passwords in your Google Account will also be available while you're signed in.</translation>
 <translation id="3752253558646317685">Get your child to keep lifting their finger to save the fingerprint</translation>
 <translation id="3753033997400164841">Store once. Use everywhere</translation>
@@ -3365,6 +3372,7 @@
 <translation id="3993887353483242788">Sync your <ph name="DEVICE_TYPE" /> so that your preferences will be ready on any device when you sign in with your Google Account. Preferences include apps, settings, Wi-Fi passwords, languages, wallpaper, keyboard shortcuts and more.</translation>
 <translation id="3994318741694670028">Unfortunately, your computer is configured with a malformed hardware ID. This prevents Chrome OS Flex from updating with the latest security fixes and your computer <ph name="BEGIN_BOLD" />may be vulnerable to malicious attacks<ph name="END_BOLD" />.</translation>
 <translation id="3994374631886003300">Unlock your phone and bring it closer to unlock your <ph name="DEVICE_TYPE" />.</translation>
+<translation id="3994708120330953242">Some of your passwords were found in a data breach. To secure your accounts, you should change these passwords now.</translation>
 <translation id="3994878504415702912">&amp;Zoom</translation>
 <translation id="3995138139523574647">USB-C device (right-hand-side back port)</translation>
 <translation id="3995963973192100066">Play animation</translation>
@@ -4421,6 +4429,7 @@
 <translation id="4992458225095111526">Confirm Powerwash</translation>
 <translation id="4992473555164495036">Your administrator has limited the available input methods.</translation>
 <translation id="4994754230098574403">Setting up</translation>
+<translation id="4995293419989417004">Learn more about ad topics</translation>
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{No <ph name="VM_TYPE" /> VMs found}=1{1 <ph name="VM_TYPE" /> VM found: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} <ph name="VM_TYPE" /> VMs found: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">No Internet connection.</translation>
 <translation id="4998430619171209993">On</translation>
@@ -5693,6 +5702,7 @@
 <translation id="6184099524311454384">Search tabs</translation>
 <translation id="6185132558746749656">Device Location</translation>
 <translation id="6190953336330058278">Phone Hub apps</translation>
+<translation id="6192413564913825901">Move to All bookmarks</translation>
 <translation id="6195005504600220730">Read information about your browser, OS and device</translation>
 <translation id="6195155925303302899">Align centre</translation>
 <translation id="6195693561221576702">This device cannot be set up in offline demo mode.</translation>
@@ -5955,6 +5965,7 @@
 <translation id="6444070574980481588">Set date and time</translation>
 <translation id="6444147596556711162">Use 'Next' and 'Previous' to move between items on the screen</translation>
 <translation id="6444909401984215022"><ph name="WINDOW_TITLE" /> – Bluetooth scan active</translation>
+<translation id="6445395161658447009">It can take up to a week for a list of sites to appear here based on your browsing history</translation>
 <translation id="6445450263907939268">If you didn't want these changes, you can restore your previous settings.</translation>
 <translation id="6446213738085045933">Create desktop shortcut</translation>
 <translation id="6447842834002726250">Cookies</translation>
@@ -7006,6 +7017,7 @@
 <translation id="7412226954991670867">GPU Memory</translation>
 <translation id="7414464185801331860">18x</translation>
 <translation id="7415454883318062233">Setup complete</translation>
+<translation id="7415484647604548662">You can block sites that you don't want. Chrome also auto-deletes sites from the list that are older than four weeks.</translation>
 <translation id="7416091793702109803">Review <ph name="FILE_NAME" /></translation>
 <translation id="7416263748877373774">Terms of Service cannot be loaded. Please check your network connection and retry.</translation>
 <translation id="7416362041876611053">Unknown network error</translation>
@@ -7240,6 +7252,7 @@
 <translation id="7634280112532283638">Spam and fraud reduction</translation>
 <translation id="7634566076839829401">Something went wrong. Please try again.</translation>
 <translation id="7635048370253485243">Pinned by your Administrator</translation>
+<translation id="7635711411613274199">As you browse, whether an ad that you see is personalised depends on this setting, <ph name="BEGIN_LINK1" />ad topics<ph name="LINK_END1" />, your <ph name="BEGIN_LINK2" />cookie settings<ph name="LINK_END2" />, and if the site that you're viewing personalises ads</translation>
 <translation id="7636919061354591437">Install on this Device</translation>
 <translation id="7637253234491814483">Touch the fingerprint sensor at the top-right corner of your keyboard, next to the power button. Your fingerprint data is stored securely and never leaves your <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7637272932128132922">While this tab was inactive, memory saver freed up memory for other tasks. You can change this at any time in <ph name="SETTINGS_LINK" />.</translation>
@@ -7510,6 +7523,7 @@
 <translation id="7865127013871431856">Translate options</translation>
 <translation id="786957569166715433"><ph name="DEVICE_NAME" /> – Paired</translation>
 <translation id="7869655448736341731">Any</translation>
+<translation id="787069710204604994">For example, if you visit a site that sells long-distance running shoes, the site might decide that you're interested in running marathons. Later, if you visit a different site, that site can show you an ad for running shoes suggested by the first site.</translation>
 <translation id="7870730066603611552">Review sync options following setup</translation>
 <translation id="7870790288828963061">No Kiosk apps with newer version found. Nothing to update. Please remove the USB stick.</translation>
 <translation id="7871049986386271121">Always on this site</translation>
@@ -8847,6 +8861,7 @@
 <translation id="9076523132036239772">Sorry, your email or password could not be verified. Try connecting to a network first.</translation>
 <translation id="9076821103818989526">Side panel</translation>
 <translation id="9076977315710973122">SMB share</translation>
+<translation id="907779190626433918">Use a unique password for every site or app. If someone discovers a reused password, it can be used to access your other accounts.</translation>
 <translation id="9078193189520575214">Applying changes…</translation>
 <translation id="9078316009970372699">Disable Instant Tethering</translation>
 <translation id="9078842827190780028">See more search results in side panel</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index 53930290..6ad3490 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -5639,7 +5639,7 @@
 <translation id="6185132558746749656">Localización do dispositivo</translation>
 <translation id="6190953336330058278">Aplicacións de O meu teléfono</translation>
 <translation id="6195005504600220730">Consultar información sobre o teu navegador, sistema operativo e dispositivo</translation>
-<translation id="6195155925303302899">Aliñar ao centro</translation>
+<translation id="6195155925303302899">Centrar</translation>
 <translation id="6195693561221576702">Este dispositivo non se pode configurar no modo de demostración sen conexión.</translation>
 <translation id="6196640612572343990">Bloquear cookies de terceiros</translation>
 <translation id="6196854373336333322">A extensión "<ph name="EXTENSION_NAME" />" asumiu o control da túa configuración de proxy, o que significa que pode cambiar, anular ou espiar todo o que fagas en liña. Se non estás seguro de por que se produciu este cambio, é probable que non che interese conservalo.</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index f4b4468..bcdcf019c 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -45,6 +45,7 @@
 <translation id="1041175011127912238">આ પેજ પ્રતિભાવ આપી રહ્યું નથી</translation>
 <translation id="1041263367839475438">ઉપલબ્ધ ડિવાઇસ</translation>
 <translation id="1042174272890264476">તમારા કમ્પ્યુટરની સાથે <ph name="SHORT_PRODUCT_NAME" /> ની RLZ લાઇબ્રેરી બિલ્ટ ઇન પણ આવે છે. RLZ વિશેષ પ્રચારાત્મક ઝુંબેશ દ્વારા ચલાવવામાં આવતી શોધ અને <ph name="SHORT_PRODUCT_NAME" /> ઉપયોગને માપવા માટે બિન-અદ્વિતીય, બિન-વ્યક્તિગત રીતે ઓળખી શકાય તેવા ટૅગ સોંપે છે. આ લેબલ કેટલીકવાર <ph name="PRODUCT_NAME" />માં Google Search ક્વેરીમાં દેખાય છે.</translation>
+<translation id="1042248468362992359">હૉટસ્પૉટનો ઉપયોગ કરવા માટે, મોબાઇલ ડેટાથી કનેક્ટ થાઓ. <ph name="BEGIN_LINK_LEARN_MORE" />વધુ જાણો<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1043505821207197890">કંઈક ખોટું થયું. શક્ય છે કે Linux માત્ર આંશિક રીતે જ અપગ્રેડ થાય. વધુ માહિતી માટે લૉગનો રિવ્યૂ કરો. ફાઇલો &gt; મારી ફાઇલો &gt; <ph name="LOG_FILE" />માં લૉગ સાચવવામાં આવ્યા છે</translation>
 <translation id="104419033123549300">કીમેપની શૈલી</translation>
 <translation id="104710386808485638">Linux ફરી ચાલુ કરીએ?</translation>
@@ -59,6 +60,7 @@
 <translation id="1054153489933238809">નવા ટેબમાં મૂળ &amp;છબી ખોલો</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{1 અઠવાડિયાની અંદર <ph name="DEVICE_TYPE" /> અપડેટ કરો}one{{NUM_WEEKS} અઠવાડિયાંમાં <ph name="DEVICE_TYPE" /> અપડેટ કરો}other{{NUM_WEEKS} અઠવાડિયાંમાં <ph name="DEVICE_TYPE" /> અપડેટ કરો}}</translation>
 <translation id="1056898198331236512">ચેતવણી</translation>
+<translation id="1056980582064308040">સેટિંગમાં ફેરફાર કરવાથી હૉટસ્પૉટ ફરી શરૂ થશે. હૉટસ્પૉટનો ઉપયોગ કરી રહેલા ડિવાઇસ ડિસ્કનેક્ટ થઈ જશે.</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{તમારો નવો પિન દાખલ કરો. પિન ઓછામાં ઓછા એક અક્ષરનો હોવો જરૂરી છે અને તેમાં અક્ષરો, સંખ્યા અને અન્ય વર્ણો શામેલ હોઈ શકે છે.}one{તમારો નવો પિન દાખલ કરો. પિન ઓછામાં ઓછા # અક્ષરનો હોવો જરૂરી છે અને તેમાં અક્ષરો, સંખ્યા અને અન્ય વર્ણો શામેલ હોઈ શકે છે.}other{તમારો નવો પિન દાખલ કરો. પિન ઓછામાં ઓછા # અક્ષરનો હોવો જરૂરી છે અને તેમાં અક્ષરો, સંખ્યા અને અન્ય વર્ણો શામેલ હોઈ શકે છે.}}</translation>
 <translation id="1059484610606223931">હાઇપરટેક્સ્ટ ટ્રાન્સપોર્ટ પ્રોટોકૉલ (HTTPS)</translation>
@@ -156,6 +158,7 @@
 <translation id="1139923033416533844">મેમરી વપરાશ</translation>
 <translation id="1140351953533677694">તમારા Bluetooth અને સીરિયલ ડિવાઇસને ઍક્સેસ કરો</translation>
 <translation id="114036956334641753">ઑડિયો અને કૅપ્શન</translation>
+<translation id="1141949282671776404">જ્યારે આ ટૅબ નિષ્ક્રિય હતું, ત્યારે મેમરી સેવરે અન્ય કાર્યો માટે <ph name="MEMORY_VALUE" /> મેમરી ફાળવી હતી.</translation>
 <translation id="1142002900084379065">તાજેતરના ફોટા</translation>
 <translation id="1143142264369994168">પ્રમાણપત્ર હસ્તાક્ષરકર્તા</translation>
 <translation id="1143816224540441191">{NUM_MINS,plural, =1{Chromeને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળ્યું નથી • 1 મિનિટ પહેલાં ચેક કર્યું}one{Chromeને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળ્યું નથી • {NUM_MINS} મિનિટ પહેલાં ચેક કર્યું}other{Chromeને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળ્યું નથી • {NUM_MINS} મિનિટ પહેલાં ચેક કર્યું}}</translation>
@@ -304,6 +307,7 @@
 <translation id="1272079795634619415">રોકો</translation>
 <translation id="1272508081857842302"><ph name="BEGIN_LINK" />સપોર્ટ કરવામાં આવતી લિંક<ph name="END_LINK" /> ખોલી રહ્યાં છીએ</translation>
 <translation id="1272978324304772054">આ વપરાશકર્તા એકાઉન્ટ ડિવાઇસની નોંધણી થયેલા ડોમેનમાંનું નથી. જો તમે કોઈ અલગ ડોમેન પર નોંધણી કરવા માગતા હો, તો તમારે પ્રથમ ડિવાઇસની રિકવરી તપાસવી પડશે.</translation>
+<translation id="1273937721055267968"><ph name="DOMAIN" />ને બ્લૉક કરો</translation>
 <translation id="1274997165432133392">કુકીઝ અને અન્ય સાઇટ ડેટા</translation>
 <translation id="1275718070701477396">પસંદ કરેલ</translation>
 <translation id="1276994519141842946"><ph name="APP_NAME" />ને અનઇન્સ્ટૉલ કરી શક્યાં નહીં</translation>
@@ -316,6 +320,7 @@
 <translation id="1285320974508926690">આ સાઇટનો ક્યારેય અનુવાદ કરશો નહીં</translation>
 <translation id="1285484354230578868">તમારા Google ડ્રાઇવ એકાઉન્ટમાં ડેટા સ્ટોર કરો</translation>
 <translation id="1285625592773741684">ડેટા વપરાશના હાલના સેટિંગ મોબાઇલ ડેટા માટે સેટ છે</translation>
+<translation id="1285815028662278915">તમારો મોબાઇલ ડેટા કદાચ હૉટસ્પૉટને સપોર્ટ આપી શકશે નહીં. <ph name="BEGIN_LINK_LEARN_MORE" />વધુ જાણો<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1288037062697528143">સૂર્યાસ્ત વખતે રાત્રિ પ્રકાશ ઑટોમૅટિક રીતે ચાલુ થશે</translation>
 <translation id="1288300545283011870">વાણીના ઇનપુટ નિયંત્રણોનું વિવરણ</translation>
 <translation id="1289619947962767206">આ વિકલ્પને હવેથી સપોર્ટ કરવામાં આવતો નથી. કોઈ ટૅબ પ્રસ્તુત કરવા માટે, <ph name="GOOGLE_MEET" />નો ઉપયોગ કરો.</translation>
@@ -355,6 +360,7 @@
 <translation id="1327495825214193325">ADB ડિબગીંગ ચાલુ કરવા માટે, આ <ph name="DEVICE_TYPE" />ને ફરી શરૂ કરવું જરૂરી છે. તેને બંધ કરવા ફેક્ટરી સેટિંગ પર રીસેટ કરવું જરૂરી છે.</translation>
 <translation id="1327527584824210101">તમારી પાસકીનો ઉપયોગ કરો</translation>
 <translation id="1327794256477341646">તમારા સ્થાનની આવશ્યકતા હોય તેવી સુવિધાઓ કાર્ય નહીં કરે</translation>
+<translation id="1329466763986822896">આ હૉટસ્પૉટ માટે તમારી પ્રાઇવસીમાં સુધારો કરો</translation>
 <translation id="1331977651797684645">આ હું હતો/હતી.</translation>
 <translation id="1333489022424033687">તમારા ડિવાઇસ પર અન્ય સાઇટે સ્ટોર કરેલો ડેટા જ્યાં સુધી સાફ કરવામાં ન આવે ત્યાં સુધી <ph name="ORIGIN" /> પરની કેટલીક સુવિધાઓ કામ ન પણ કરે</translation>
 <translation id="1333965224356556482">સાઇટને તમારું સ્થાન જોવાની મંજૂરી આપશો નહીં</translation>
@@ -591,6 +597,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{તમારી છૂપી વિન્ડો ફરીથી ખૂલશે નહીં.}one{તમારી # છૂપી વિન્ડો ફરીથી ખૂલશે નહીં.}other{તમારી # છૂપી વિન્ડો ફરીથી ખૂલશે નહીં.}}</translation>
 <translation id="1546280085599573572">જ્યારે તમે હોમ બટન ક્લિક કરો છો ત્યારે જે પેજ દર્શાવવામાં આવે છે તે આ એક્સ્ટેન્શને બદલ્યું છે.</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> <ph name="EXTENSION_TYPE" /> ઇન્સ્ટૉલ કરવા માગે છે, જે આ કરી શકે:</translation>
+<translation id="1547123415014299762">ત્રીજા પક્ષની કુકીને મંજૂરી આપવામાં આવી છે</translation>
 <translation id="1547808936554660006">હું સમજું છું કે ઇન્સ્ટૉલ કરેલી ઇ-સિમની બધી પ્રોફાઇલ, પાવરવોશ કરવાથી કાઢી નાખવામાં આવશે નહીં.</translation>
 <translation id="1547936895218027488">બાજુની પૅનલને ખોલવા માટે, તેના આઇકન પર ક્લિક કરો</translation>
 <translation id="1549275686094429035">ARC ચાલુ છે</translation>
@@ -648,6 +655,7 @@
 <translation id="1596286373007273895">ઉપલબ્ધ</translation>
 <translation id="1596709061955594992">બ્લૂટૂથ બંધ છે. ઉપલબ્ધ ડિવાઇસ જોવા માટે, બ્લૂટૂથ ચાલુ કરો.</translation>
 <translation id="1596780725094407793">- સબડોમેન શામેલ છે</translation>
+<translation id="1598163867407640634"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> સાથે <ph name="SITE_ETLD_PLUS_ONE" />નો ઉપયોગ કરો</translation>
 <translation id="1598233202702788831">તમારા વ્યવસ્થાપક દ્વારા અપડેટ્સ અક્ષમ કરાયા છે.</translation>
 <translation id="1600857548979126453">પેજ ડિબગર બૅકએન્ડ ઍક્સેસ કરો</translation>
 <translation id="1601560923496285236">લાગુ કરો</translation>
@@ -1225,6 +1233,7 @@
       <ph name="BR" />
       <ph name="BEGIN_BOLD" />નોંધ:<ph name="END_BOLD" />  પ્રક્રિયા દરમિયાન સિસ્ટમ રીબૂટ થશે.</translation>
 <translation id="2095774564753225041">ફાઇલના પ્રકારો જેને સપોર્ટ કરવામાં આવે છે</translation>
+<translation id="2097616539631531348">જ્યારે આ ટૅબ નિષ્ક્રિય હતું, ત્યારે મેમરી સેવરે અન્ય કાર્યો માટે મેમરી ફાળવી હતી.</translation>
 <translation id="2098805196501063469">બાકીના પાસવર્ડ ચેક કરો</translation>
 <translation id="2099686503067610784">સર્વર પ્રમાણપત્ર "<ph name="CERTIFICATE_NAME" />"ને ડિલીટ કરી દઈએ?</translation>
 <translation id="2100273922101894616">સ્વતઃ સાઇન-ઇન</translation>
@@ -1393,6 +1402,7 @@
 <translation id="2247870315273396641">વૉઇસનો પ્રીવ્યૂ</translation>
 <translation id="2249111429176737533">ટૅબવાળી વિંડો તરીકે ખોલો</translation>
 <translation id="2249605167705922988">ઉદા. ત. 1-5, 8, 11-13</translation>
+<translation id="2249635629516220541">તમારી જાહેરાતો બતાવવા માટે સાઇટ દ્વારા ઉપયોગમાં લેવામાં આવતી માહિતી કસ્ટમાઇઝ કરો</translation>
 <translation id="2251218783371366160">સિસ્ટમ દર્શક સાથે ખોલો</translation>
 <translation id="225163402930830576">નેટવર્ક રિફ્રેશ કરો</translation>
 <translation id="2251809247798634662">નવી છુપી વિંડો</translation>
@@ -1842,6 +1852,7 @@
 <translation id="2640299212685523844">GTKનો ઉપયોગ કરો</translation>
 <translation id="264083724974021997">તમારા ફોન સાથે કનેક્ટ કરો - સંવાદ</translation>
 <translation id="2642111877055905627">સૉકર બૉલ</translation>
+<translation id="2643064289437760082">તમારા બ્રાઉઝિંગ ડેટાને ડિલીટ કરીને, તમે હંમેશાં જાહેરાત-માપણીનો ડેટા ડિલીટ કરી શકો છો</translation>
 <translation id="2643698698624765890">વિંડો મેનૂમાં એક્સટેંશનને ક્લિક કરીને તમારા એક્સ્ટેંશન્સને મેનેજ કરો.</translation>
 <translation id="2645047101481282803">તમારું ડિવાઇસ <ph name="PROFILE_NAME" /> દ્વારા મેનેજ કરવામાં આવે છે</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
@@ -2301,6 +2312,7 @@
 <translation id="3036327949511794916">આ <ph name="DEVICE_TYPE" />ને પરત કરવાની સમયસીમા સમાપ્ત થઈ ગઈ છે.</translation>
 <translation id="3036546437875325427">ફ્લૅશ ચાલુ કરો</translation>
 <translation id="3037754279345160234">ડોમેનમાં જોડાવા માટે ગોઠવણીનું વિશ્લેષણ કરી શકતાં નથી. કૃપા કરીને તમારા વ્યવસ્થાપકનો સંપર્ક કરો.</translation>
+<translation id="3038272154009688107">બધી સાઇટ જુઓ</translation>
 <translation id="3038612606416062604">પ્રિન્ટરને મેન્યુઅલી ઉમેરો</translation>
 <translation id="3039491566278747710">ડિવાઇસ પર ઑફલાઇન પૉલિસી ઇન્સ્ટૉલ કરવામાં નિષ્ફળ ગયું.</translation>
 <translation id="3043016484125065343">તમારા બુકમાર્ક જોવા માટે સાઇન ઇન કરો</translation>
@@ -2537,6 +2549,7 @@
 <translation id="3289668031376215426">ઑટોમૅટિક રીતે કૅપિટલ કરવાની સુવિધા</translation>
 <translation id="3289856944988573801">અપડેટ તપાસવા માટે, કૃપા કરીને ઇથરનેટ અથવા વાઇ-ફાઇનો ઉપયોગ કરો.</translation>
 <translation id="3290249595466894471">નવા જોખમો શોધવામાં સહાય કરવા માટે પેજનો નાનો નમૂનો, ડાઉનલોડ, એક્સ્ટેન્શનની પ્રવૃત્તિ અને સિસ્ટમની માહિતી પણ મોકલે છે</translation>
+<translation id="3293181007446299124">તમારા બ્રાઉઝિંગ ઇતિહાસને તમારા ડિવાઇસમાં ખાનગી રાખવામાં આવે છે અને તમારી ઓળખને સુરક્ષિત રાખવા માટે રિપોર્ટને થોડા વિલંબ પછી મોકલવામાં આવે છે</translation>
 <translation id="3293644607209440645">આ પેજ મોકલો</translation>
 <translation id="32939749466444286">Linux કન્ટેનર શરૂ થયું નથી. કૃપા કરીને ફરી પ્રયાસ કરો.</translation>
 <translation id="3294437725009624529">અતિથિ</translation>
@@ -3317,6 +3330,7 @@
 <translation id="3984431586879874039">આ સાઇટને તમારો સુરક્ષા કોડ જોવાની મંજૂરી આપીએ?</translation>
 <translation id="398477389655464998">હાઇલાઇટ કરેલી ટેક્સ્ટની લિંક કૉપિ કરો</translation>
 <translation id="3984862166739904574">ઝડપી જવાબોની વ્યાખ્યા</translation>
+<translation id="3985022125189960801">તમને શું ગમે છે તેનું અનુમાન લગાવી શકતી સાઇટના પૂલમાં જો તમે કોઈ સાઇટ ઇચ્છતા હો, તો તેને ફરીથી ઉમેરો</translation>
 <translation id="3987544746655539083">આ સાઇટને તમારા સ્થાનને ઍક્સેસ કરવાથી બ્લૉક કરવાનું ચાલુ રાખો</translation>
 <translation id="3987938432087324095">માફ કરશો, તે સમજાયું ન હતું.</translation>
 <translation id="3987993985790029246">લિંક કૉપિ કરો</translation>
@@ -3367,6 +3381,7 @@
 <translation id="4040041015953651705">જેમાંથી અનુવાદ કરવાનો હોય, એ ભાષા</translation>
 <translation id="4040105702484676956"><ph name="SITE_NAME" /> અને ઇન્સ્ટૉલ કરેલી તેની તમામ ઍપ માટે સાઇટનો ડેટા તેમજ પરવાનગીઓ સાફ કરીએ?</translation>
 <translation id="4042863763121826131">{NUM_PAGES,plural, =1{પેજમાંથી બહાર નીકળો}one{પેજમાંથી બહાર નીકળો}other{પેજમાંથી બહાર નીકળો}}</translation>
+<translation id="4042941173059740150"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> વડે <ph name="SITE_ETLD_PLUS_ONE" /> પર ચાલુ રાખો</translation>
 <translation id="4043267180218562935">કર્સરનું કદ</translation>
 <translation id="4044612648082411741">તમારો પ્રમાણપત્ર પાસવર્ડ દાખલ કરો</translation>
 <translation id="4044708573046946214">સ્ક્રીન લૉકનો પાસવર્ડ</translation>
@@ -3694,6 +3709,7 @@
 <translation id="4366138410738374926">પ્રિન્ટ કરવાનું શરૂ થયું</translation>
 <translation id="4367513928820380646">કાઢી નાખવામાં આવેલી પરવાનગીઓનો રિવ્યૂ કરો</translation>
 <translation id="4369215744064167350">વેબસાઇટ ઍક્સેસ કરવાની વિનંતી મંજૂર કરી</translation>
+<translation id="4369735607080757018">સાઇટની જાહેરાતોના પ્રદર્શનની માપણી કરવા માટે તેમની વચ્ચે મર્યાદિત પ્રકારના ડેટા શેર કરવામાં આવે છે, જેમ કે તમને જે દિવસે જાહેરાત બતાવવામાં આવી હતી તેનો સમય</translation>
 <translation id="4370975561335139969">તમે દાખલ કરેલ ઇમેઇલ અને પાસવર્ડ મેળ ખાતા નથી</translation>
 <translation id="4374831787438678295">Linux ઇન્સ્ટૉલર</translation>
 <translation id="4375035964737468845">ડાઉનલોડ કરેલી ફાઇલોને ખોલો</translation>
@@ -3714,6 +3730,7 @@
 <translation id="4385146930797718821">ક્લિપબોર્ડ પર સ્ક્રીનશૉટ કૉપિ કર્યો</translation>
 <translation id="4385905942116811558">બ્લૂટૂથ અને USB ડિવાઇસ શોધી રહ્યાં છે</translation>
 <translation id="4387890294700445764">ચેડાં કરાયેલા પાસવર્ડ</translation>
+<translation id="4388650384344483842">ઓછામાં ઓછા 8 અક્ષરનો ઉપયોગ કરો</translation>
 <translation id="4389091756366370506">વપરાશકર્તા <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> અને વધુ <ph name="NUMBER_OF_OTHER_SWITCHES" /> સ્વિચ</translation>
 <translation id="439266289085815679">નેટવર્ક ગોઠવણી, <ph name="USER_EMAIL" /> દ્વારા નિયંત્રિત છે.</translation>
@@ -4035,6 +4052,7 @@
 <translation id="4666472247053585787">તમારી <ph name="DEVICE_TYPE" /> પર તમારા ફોનના નોટિફિકેશન જુઓ</translation>
 <translation id="4666911709726371538">વધુ ઍપ</translation>
 <translation id="4667027203988048332">કયા ડેટાનો ઉપયોગ કરવામાં આવે છે:</translation>
+<translation id="4668279686271488041">જાહેરાત-માપણીના ડેટાને નિયમિત રીતે તમારા ડિવાઇસમાંથી ડિલીટ કરવામાં આવે છે</translation>
 <translation id="4672759829555593783"><ph name="FILE_NAME" /> હમણાં ખોલો</translation>
 <translation id="46733273239502219">ઇન્સ્ટૉલ કરેલી ઍપમાંનો ઑફલાઇન ડેટા પણ સાફ થઈ જશે</translation>
 <translation id="4673442866648850031">જ્યારે સ્ટાઇલસ દૂર કરવામાં આવ્યું હોય ત્યારે સ્ટાઇલસનાં સાધનો ખોલો</translation>
@@ -4228,6 +4246,7 @@
 <translation id="485480310608090163">વધુ સેટિંગ અને પરવાનગીઓ</translation>
 <translation id="4858913220355269194">Fritz</translation>
 <translation id="4862642413395066333">OCSP પ્રતિસાદોને સાઇન ઇન કરે છે</translation>
+<translation id="4863702650881330715">સુસંગતતામાં વધારો કરો</translation>
 <translation id="4863769717153320198"><ph name="WIDTH" /> x <ph name="HEIGHT" /> જેવું લાગે છે (ડિફૉલ્ટ)</translation>
 <translation id="4864805589453749318">સ્કૂલ એકાઉન્ટ ઉમેરવાની પરવાનગી આપી રહ્યાં છે તે માતાપિતાને પસંદ કરો.</translation>
 <translation id="486635084936119914">ડાઉનલોડ કર્યા પછી કેટલાક ફાઇલ પ્રકારોને ઑટોમૅટિક રીતે ખોલો</translation>
@@ -4474,6 +4493,7 @@
 <translation id="5094721898978802975">સહયોગ કરતી મૂળ ઍપ્લિકેશન સાથે સંચાર કરો</translation>
 <translation id="5097002363526479830">નેટવર્ક '<ph name="NAME" />' થી કનેક્ટ કરવામાં નિષ્ફળ: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">સ્થાનનો ઉપયોગ કરવા વિશે વધુ જાણો</translation>
+<translation id="5097349930204431044">તમે મુલાકાત લો છો તે સાઇટ તમને શું ગમે છે તે નક્કી કરી શકે છે અને પછી જેમ-જેમ તમે બ્રાઉઝ કરવાનું ચાલુ રાખો છો, તેમ-તેમ જાહેરાતો સૂચવી શકે છે</translation>
 <translation id="5097649414558628673">સાધન: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">કર્સર રોકાય ત્યારે ઑટોમૅટિક રીતે ક્લિક કરવાનાં સેટિંગ</translation>
 <translation id="5101683448725092498">તમારી વસ્તુઓનું બૅકઅપ લો</translation>
@@ -4656,6 +4676,7 @@
 <translation id="5275352920323889391">કૂતરું</translation>
 <translation id="527605719918376753">ટૅબ મ્યૂટ કરો</translation>
 <translation id="527605982717517565"><ph name="HOST" /> પર JavaScript ને હંમેશા મંજૂરી આપો </translation>
+<translation id="5276357196618041410">પહેલા લૉગ ઇન કર્યા વિના કન્ફિગ્યુરેશન સાચવી શકતા નથી</translation>
 <translation id="5277127016695466621">બાજુની પૅનલ બતાવો</translation>
 <translation id="5278823018825269962">સ્ટેટસ ID</translation>
 <translation id="5279600392753459966">તમામને અવરોધિત કરો</translation>
@@ -6154,6 +6175,7 @@
 <translation id="6670767097276846646">કેટલાક એક્સ્ટેન્શન Chromeમાં શોધ એન્જિન ઉમેરી શકે છે</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{એક સરનામું}one{# સરનામું}other{# સરનામા}}</translation>
 <translation id="6671497123040790595"><ph name="MANAGER" /> મેનેજમેન્ટ સેટઅપ કરી રહ્યાં છે</translation>
+<translation id="6672917148207387131"><ph name="DOMAIN" /> ઉમેરો</translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">સિંક કરવાનું શરૂ કરવા માટે, તમારો પાસફ્રેઝ દાખલ કરો</translation>
 <translation id="6675665718701918026">પોઇંટિંગ ઉપકરણ કનેક્ટ કર્યું</translation>
@@ -6237,6 +6259,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (છૂપી)</translation>
 <translation id="6756157672127672536">Files ઍપ તમે Google Drive, બાહ્ય સ્ટોરેજ અથવા તમારા ChromeOS ડિવાઇસ પર સાચવેલી ફાઇલોનો ઝડપી ઍક્સેસ આપે છે.</translation>
 <translation id="6756643207511618722">સ્પીચ એન્જિન</translation>
+<translation id="6757431299485455321">આ હૉટસ્પૉટ શોધવામાં અન્ય ડિવાઇસની સહાય કરો.</translation>
 <translation id="6758056191028427665">અમને જણાવો કે અમે કેવું કાર્ય કરી રહ્યાં છીએ.</translation>
 <translation id="6759193508432371551">ફેક્ટરી ફરીથી સેટ કરો</translation>
 <translation id="6761431452438552910">ખાતરી કરો કે તમારું બ્લૂટૂથ ડિવાઇસ જોડાણ બનાવવાના મોડમાં અને નજીકમાં છે. તમને વિશ્વાસ હોય તેવા ડિવાઇસ સાથે જ જોડાણ કરો.</translation>
@@ -6336,6 +6359,7 @@
 <translation id="6833479554815567477">ગ્રૂપ <ph name="GROUP_NAME" /> - <ph name="GROUP_CONTENTS" />માંથી ટૅબને કાઢી નાખવામાં આવી</translation>
 <translation id="683373380308365518">એક સ્માર્ટ અને સુરક્ષિત બ્રાઉઝર પર સ્વિચ કરો</translation>
 <translation id="6833996806551876956">પ્રાઇવસી સૅન્ડબૉક્સની અજમાયશ</translation>
+<translation id="6835712061486505758">અન્ય ડિવાઇસને ઇન્ટરનેટ પ્રદાન કરવા માટે વાઇ-ફાઇ હૉટસ્પૉટ બનાવો. <ph name="BEGIN_LINK_LEARN_MORE" />વધુ જાણો<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">કૃપા કરીને તમારા <ph name="DEVICE_TYPE" /> ને અપડેટ કરવા માટે ઇન્ટરનેટથી કનેક્ટ કરો.</translation>
 <translation id="6839225236531462745">પ્રમાણપત્ર કાઢી નાખવામાં ભૂલ</translation>
 <translation id="6839916869147598086">સાઇન-ઇન બદલાઈ ગયું છે</translation>
@@ -6497,6 +6521,7 @@
 <translation id="697508444536771064">Linux શટ ડાઉન કરો</translation>
 <translation id="6975361011348772931">વાંચવા અને ફેરફાર કરવાની મંજૂરીની વિનંતી કરી છે</translation>
 <translation id="6978121630131642226">શોધ એન્જિન</translation>
+<translation id="6978717888677691380">તમે બ્લૉક કરેલી સાઇટ</translation>
 <translation id="6979041727349121225">એનર્જી સેવર</translation>
 <translation id="6979044105893951891">મેનેજ કરેલા અતિથિ સત્રો લૉન્ચ કરો અને બહાર નીકળો</translation>
 <translation id="6979440798594660689">મ્યૂટ કરો (ડિફૉલ્ટ)</translation>
@@ -6588,6 +6613,7 @@
 <translation id="7047059339731138197">બૅકગ્રાઉન્ડ પસંદ કરો</translation>
 <translation id="7048457618657122233"><ph name="SHARE_TARGET" /> સાથે લિંક શેર કરો</translation>
 <translation id="7049293980323620022">ફાઇલ રાખીએ?</translation>
+<translation id="7050037487872780845">હૉટસ્પૉટનું અમાન્ય કન્ફિગ્યુરેશન</translation>
 <translation id="7052237160939977163">પ્રદર્શન ટ્રેસ ડેટા મોકલો</translation>
 <translation id="7053983685419859001">અવરોધિત કરો</translation>
 <translation id="7055152154916055070">રીડાયરેક્ટ કરવાનું બ્લૉક કરવામાં આવ્યું છે:</translation>
@@ -6792,6 +6818,7 @@
 <translation id="7258192266780953209">રૂપાંતરણો</translation>
 <translation id="7258225044283673131">ઍપ્લિકેશન ચાલી રહી નથી. ઍપ બંધ કરવા માટે "ફરજિયાત બંધ" પસંદ કરો.</translation>
 <translation id="7260186537988033909">કિઓસ્ક અને સાઇનેજ ડિવાઇસની નોંધણી પૂર્ણ થઈ</translation>
+<translation id="7260367682327802201">તમારા Android ડિવાઇસમાં કદાચ આ જ સેટિંગ શામેલ હોઈ શકે. જો Chromeમાં અને તમારા Android ડિવાઇસ પર જાહેરાત માપણીની સુવિધા ચાલુ કરેલી હોય, તો કંપની તમે મુલાકાત લો છો તેવી સમગ્ર વેબસાઇટ પર અને તમે ઉપયોગ કરો છો તેવી ઍપ પર જાહેરાતની અસરકારકતાની માપણી કરી શકે છે.</translation>
 <translation id="7262004276116528033">આ સાઇન-ઇન સેવા <ph name="SAML_DOMAIN" /> દ્વારા હોસ્ટ થયેલી છે.</translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{1 સાઇટની પરવાનગીઓ કાઢી નાખી}one{{NUM_SITES} સાઇટની પરવાનગીઓ કાઢી નાખી}other{{NUM_SITES} સાઇટની પરવાનગીઓ કાઢી નાખી}}</translation>
 <translation id="7264695323040866038">શું સપોર્ટેડ વેબ લિંક ખોલવા માટે હંમેશાં <ph name="APP" /> ઍપનો ઉપયોગ કરીએ?</translation>
@@ -6935,6 +6962,7 @@
 <translation id="7406912950279255498">વિપરીત રંગમાં બદલવાનો મોડ</translation>
 <translation id="7407430846095439694">આયાત કરો અને પ્રતિબદ્ધ કરો</translation>
 <translation id="7407504355934009739">મોટાભાગના લોકો આ સાઇટના બધા નોટિફિકેશનને બ્લૉક કરે છે</translation>
+<translation id="7408080603962564527">અન્ય લોકો આ જોઈ શકશે</translation>
 <translation id="740810853557944681">પ્રિન્ટ સર્વર ઉમેરો</translation>
 <translation id="7409549334477097887">વધુ મોટી</translation>
 <translation id="7409599290172516453">તાજેતરનાં ફોટા</translation>
@@ -7250,6 +7278,7 @@
 <translation id="7684718995427157417">ઍપ બનાવવા અને તેનું પરીક્ષણ કરવા માટે, Android ડીબગ બ્રિજ (ADB) ચાલુ કરો. ધ્યાનમાં રાખો કે આ ક્રિયા દ્વારા ચકાસણી થઈ ન હોય એવી Android ઍપના ઇન્સ્ટૉલેશનની મંજૂરી આપે છે અને ફેક્ટરી રીસેટ બંધ કરવું જરૂરી છે.</translation>
 <translation id="7685049629764448582">JavaScript મેમરી</translation>
 <translation id="7685087414635069102">પિન જરૂરી છે</translation>
+<translation id="7686086654630106285">સાઇટ દ્વારા સૂચિત જાહેરાતો વિશે વધુ વિગતો</translation>
 <translation id="7686581688229391955">આ સાઇટ પર એક્સ્ટેન્શનને મંજૂરી આપવાનું પસંદ કરો</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">નવા પાસવર્ડની પુષ્ટિ કરો</translation>
@@ -7271,6 +7300,7 @@
 <translation id="7704317875155739195">શોધ અને URLsને ઑટોમૅટિક રીતે પૂર્ણ કરો</translation>
 <translation id="7704521324619958564">Play Store ખોલો</translation>
 <translation id="7705276765467986571">બુકમાર્ક મૉડેલ લોડ કરી શકાયું નથી. </translation>
+<translation id="7705334495398865155">અન્ય લોકોને આ ડિવાઇસ ટ્રૅક કરવાથી રોકવા માટે તમારા હાર્ડવેરના ID (BSSID)ની કોઈપણ ક્રમમાં ગોઠવણ કરો.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">આ સાઇટને મોશન સેન્સરનો ઉપયોગ કરવાથી બ્લૉક કરવામાં આવી છે.</translation>
 <translation id="7707922173985738739">મોબાઇલ ડેટાનો ઉપયોગ કરો</translation>
@@ -7463,6 +7493,7 @@
 <translation id="7881483672146086348">એકાઉન્ટ જુઓ</translation>
 <translation id="7883792253546618164">કોઈપણ સમયે અનસબ્સ્ક્રાઇબ કરો.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{જે 1 સાઇટ દ્વારા તાજેતરમાં અનેક નોટિફિકેશન મોકલવામાં આવ્યા હતા, તેનો રિવ્યૂ કરો}one{જે {NUM_SITES} સાઇટ દ્વારા તાજેતરમાં અનેક નોટિફિકેશન મોકલવામાં આવ્યા હતા, તેનો રિવ્યૂ કરો}other{જે {NUM_SITES} સાઇટ દ્વારા તાજેતરમાં અનેક નોટિફિકેશન મોકલવામાં આવ્યા હતા, તેનો રિવ્યૂ કરો}}</translation>
+<translation id="7884446017008693258">હૉટસ્પૉટના સેટિંગ</translation>
 <translation id="788453346724465748">એકાઉન્ટ વિશેની માહિતી લોડ કરી રહ્યાં છીએ...</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{એક આઇટમ}one{# આઇટમ}other{# આઇટમ}}</translation>
 <translation id="7886605625338676841">ઇ-સિમ</translation>
@@ -7683,6 +7714,7 @@
     <ph name="BEGIN_PARAGRAPH3" />તમે સેટિંગમાંથી આ સેવા બંધ કરી શકશો.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">ટૅબ્સ</translation>
 <translation id="8076835018653442223">તમારા ઍડમિનિસ્ટ્રેટરે તમારા ડિવાઇસ પર સ્થાનિક ફાઇલોનો ઍક્સેસ બંધ કરેલો છે</translation>
+<translation id="8077120325605624147">તમે મુલાકાત લો છો તેવી કોઈપણ સાઇટ તમને કોઈપણ જાહેરાત બતાવી શકે છે</translation>
 <translation id="80798452873915119">સાઇટ તમારા બધા ડિસ્પ્લે પર વિન્ડો મેનેજ કરવા માટે કહી શકે છે</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289"><ph name="MANAGER_NAME" /> દ્વારા તમારું સત્ર મેનેજ થાય છે. ઍડમિનિસ્ટ્રેટર તમારી પ્રોફાઇલ ડિલીટ કરી શકે છે અને તમારા નેટવર્કનો ટ્રાફિક પણ મોનિટર કરી શકે છે.</translation>
@@ -8195,6 +8227,7 @@
 <translation id="8557180006508471423">તમારા Mac પર સ્થાન સેવાઓમાં "Google Chrome" ચાલુ કરો</translation>
 <translation id="8557856025359704738">આગામી ડાઉનલોડ <ph name="NEXT_DATE_DOWNLOAD" />ના રોજ છે.</translation>
 <translation id="8559858985063901027">પાસકી</translation>
+<translation id="8559961053328923750">જાહેરાતના કાર્યપ્રદર્શનની માપણી કરવા માટે સાઇટ દ્વારા બ્રાઉઝર મારફતે શેર કરી શકાય તેવા ડેટાની કુલ માત્રાને Chrome મર્યાદિત કરે છે</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{તમામ URLને &amp;નવી વિન્ડોમાં ખોલો}=1{&amp;નવી વિન્ડોમાં ખોલો}one{તમામ ({COUNT}) URLને &amp;નવી વિન્ડોમાં ખોલો}other{તમામ ({COUNT}) URLને &amp;નવી વિન્ડોમાં ખોલો}}</translation>
 <translation id="8561206103590473338">હાથી</translation>
 <translation id="8561565784790166472">સાવધાનીથી આગળ વધો</translation>
@@ -8326,6 +8359,7 @@
 <translation id="8674903726754070732">કમનસીબે, તમારું કમ્પ્યુટર દૂષિત હાર્ડવેર ID સાથે કન્ફિગર કરવામાં આવ્યું છે. આ ChromeOSને નવીનતમ સુરક્ષા સુધારાની સાથે અપડેટ થતું અટકાવે છે અને તમારું કમ્પ્યુટર <ph name="BEGIN_BOLD" />દુર્ભાવનાપૂર્ણ હુમલાઓ પ્રત્યે સંવેદનશીલ હોઈ શકે છે<ph name="END_BOLD" />.</translation>
 <translation id="8675704450909805533"><ph name="DEVICE_OS" /> ઇન્સ્ટૉલ કરવા માટે, ઇન્સ્ટૉલર માન્ય નિર્ધારિત સ્થાન શોધી શક્યું નથી.</translation>
 <translation id="8676152597179121671">{COUNT,plural, =1{વીડિયો}one{# વીડિયો}other{# વીડિયો}}</translation>
+<translation id="8676276370198826499"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> વડે <ph name="SITE_ETLD_PLUS_ONE" /> માટે સાઇન અપ કરો</translation>
 <translation id="8676313779986170923">પ્રતિસાદ મોકલવા બદલ આભાર.</translation>
 <translation id="8676374126336081632">ઇનપુટ સાફ કરો</translation>
 <translation id="8676770494376880701">નિમ્ન-પાવર ચાર્જર કનેક્ટ કર્યું છે</translation>
@@ -8336,6 +8370,7 @@
 <translation id="8678933587484842200">તમે આ ઍપ્લિકેશન કેવી રીતે લૉન્ચ કરવાનું પસંદ કરશો?</translation>
 <translation id="8680251145628383637">તમારા તમામ ડિવાઇસ પર તમારા બુકમાર્ક, ઇતિહાસ, પાસવર્ડ અને અન્ય સેટિંગ મેળવવા માટે સાઇન ઇન કરો. તમે તમારી Google સેવાઓ પર ઑટોમૅટિક રીતે સાઇન ઇન પણ થશો.</translation>
 <translation id="8681614230122836773">Chromeને તમારા કમ્પ્યુટરમાં હાનિકારક સૉફ્ટવેર મળી આવ્યું છે</translation>
+<translation id="8681886425883659911">ખલેલ પાડતી અથવા ગેરમાર્ગે દોરતી જાહેરાતો બતાવવા માટે જાણીતી સાઇટ પર જાહેરાતો બ્લૉક કરવામાં આવે છે</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> કનેક્ટ કરેલું અને તૈયાર છે</translation>
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> રદ કરો</translation>
 <translation id="8688672835843460752">ઉપલબ્ધ</translation>
@@ -8707,6 +8742,7 @@
 <translation id="9021662811137657072">વાયરસ મળ્યો</translation>
 <translation id="902236149563113779">ગેમ અથવા ચેતવણીના દિશાનિર્દેશો જેવી AR સુવિધાઓ માટે, સાઇટ સામાન્ય રીતે તમારા કૅમેરાનું સ્ટેટસ ટ્રૅક કરે છે</translation>
 <translation id="9022847679183471841">આ કમ્પ્યુટર પર <ph name="AVATAR_NAME" /> દ્વારા આ એકાઉન્ટ પહેલાંથી જ ઉપયોગમાં લેવાઈ રહ્યું છે.</translation>
+<translation id="9022871169049522985">સાઇટ અને જાહેરાતકર્તાઓ તેમની જાહેરાતોના કાર્યપ્રદર્શનની માપણી કરી શકે છે</translation>
 <translation id="9023015617655685412">આ ટૅબને બુકમાર્ક કરો...</translation>
 <translation id="9023909777842748145">આ સુવિધાને બંધ કરવાથી સિસ્ટમ અપડેટ અને સુરક્ષા જેવી આવશ્યક સેવાઓ માટે આવશ્યક માહિતી મોકલવાની તમારા ડિવાઇસની ક્ષમતાને અસર થતી નથી.</translation>
 <translation id="9024127637873500333">નવા ટૅબમાં &amp;ખોલો</translation>
@@ -8836,6 +8872,7 @@
 <translation id="9128335130883257666"><ph name="INPUT_METHOD_NAME" /> માટેનું સેટિંગ પેજ ખોલો</translation>
 <translation id="9128870381267983090">નેટવર્કથી કનેક્ટ કરો</translation>
 <translation id="9130015405878219958">અમાન્ય મોડ દાખલ થયો.</translation>
+<translation id="9131209053278896908">બ્લૉક કરેલી સાઇટ અહીં દેખાય છે</translation>
 <translation id="9131487537093447019">બ્લૂટૂથ ડિવાઇસ પરથી મેસેજ મોકલો અને મેળવો.</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 બુકમાર્ક}one{# બુકમાર્ક}other{# બુકમાર્ક}}</translation>
 <translation id="9134066738478820307">સાઇટ સંરક્ષિત કન્ટેન્ટ ચલાવવા માટે, ઓળખકર્તાઓનો ઉપયોગ કરી શકે છે</translation>
@@ -8889,6 +8926,7 @@
 <translation id="9180281769944411366">આ પ્રક્રિયામાં થોડો સમય લાગી શકે છે. Linux કન્ટેઇનર શરૂ કરી રહ્યાં છીએ.</translation>
 <translation id="9180380851667544951">સાઇટ તમારી સ્ક્રીનને શેર કરી શકે છે</translation>
 <translation id="9182556968660520230">સાઇટને સુરક્ષિત કન્ટેન્ટ ચલાવવાની મંજૂરી આપશો નહીં</translation>
+<translation id="9183331776983279456">4 અઠવાડિયાથી વધુ જૂની સાઇટને Chrome ઑટોમૅટિક રીતે ડિલીટ કરે છે. તમે ફરી વાર મુલાકાત લો છો તે સાઇટ ફરીથી સૂચિમાં દેખાઈ શકે છે. અથવા તમે કોઈ સાઇટને તમને જાહેરાતોનું સૂચન કરવાથી બ્લૉક કરી શકો છો.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{ઍપ}one{# ઍપ}other{# ઍપ}}</translation>
 <translation id="9186963452600581158">બાળકના Google એકાઉન્ટ વડે સાઇન ઇન કરો</translation>
 <translation id="9187967020623675250">કીનો મેળ થતો નથી. <ph name="RESPONSE" /> માટે કોઈપણ કી દબાવો.</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index 3ca3b9f..651382e 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -555,6 +555,7 @@
 <translation id="1509163368529404530">&amp;ស្ដារក្រុម</translation>
 <translation id="1509281256533087115">ចូលប្រើ <ph name="DEVICE_NAME_AND_VENDOR" /> ណាមួយតាមរយៈ USB</translation>
 <translation id="1510238584712386396">ឡាន់ឆ័រ</translation>
+<translation id="1510341833810331442">គេហទំព័រ​មិន​ត្រូវបាន​អនុញ្ញាត​ឱ្យ​រក្សាទុក​ទិន្នន័យ​លើ​ឧបករណ៍​របស់​អ្នក​ទេ</translation>
 <translation id="1510785804673676069">អ្នកកំពុងប្រើម៉ាស៊ីនមេប្រូកស៊ី ពិនិត្យការកំណត់ប្រូកស៊ីរបស់អ្នក ឬ
     ទំនាក់ទំនងអ្នកគ្រប់គ្រងបណ្តាញដើម្បីពិនិត្យថា
     ម៉ាស៊ីនមេប្រូកស៊ីនោះកំពុងដំណើរការ។ ប្រសិនបើអ្នកប្រាកដថាអ្នកគួរប្រើ
@@ -901,6 +902,7 @@
 <translation id="1802687198411089702">ទំព័រ​នេះ​មិន​ឆ្លើយ​តប​ទេ។ អ្នក​អាច​រង់ចាំឱ្យ​វាឆ្លើយ​តប ឬចាកចេញ។</translation>
 <translation id="1803531841600994172">ភាសាដែលត្រូវបកប្រែទៅជា</translation>
 <translation id="1803545009660609783">បង្ហាត់ឡើងវិញ</translation>
+<translation id="1805545709333681504">បញ្ចូល​ពាក្យសម្ងាត់​ចាស់</translation>
 <translation id="1805738995123446102">ផ្ទាំងផ្ទៃ​ខាងក្រោយ​កំពុងប្រើ​មីក្រូហ្វូនរបស់អ្នក</translation>
 <translation id="1805822111539868586">ត្រួតពិនិត្យទិដ្ឋភាព</translation>
 <translation id="1805888043020974594">ម៉ាស៊ីនមេបោះពុម្ព</translation>
@@ -1620,6 +1622,7 @@
 <translation id="2410298923485357543">ប្រើសំឡេងធម្មជាតិ នៅពេលឧបករណ៍មានអ៊ីនធឺណិត</translation>
 <translation id="2410754283952462441">ជ្រើសរើស​គណនី</translation>
 <translation id="241082044617551207">កម្មវិធីជំនួយដែលមិនស្គាល់</translation>
+<translation id="2410940059315936967">គេហទំព័រ​ដែលអ្នកចូលមើល​អាច​បង្កប់ខ្លឹមសារ​ពីគេហទំព័រ​ផ្សេងទៀត ដូចជា​រូបភាព ការផ្សាយពាណិជ្ជកម្ម និង​អក្សរ​ជាដើម។ ខូគី​ដែលបានកំណត់ដោយ​គេហទំព័រផ្សេងទៀត​ទាំង​នេះត្រូវបាន​ហៅ​ថា​ខូគី​ភាគីទីបី។</translation>
 <translation id="2412753904894530585">Kerberos</translation>
 <translation id="2416435988630956212">គ្រាប់ចុច​មុខងារ​នៅលើក្ដារចុច</translation>
 <translation id="2418307627282545839">រក្សាអ្វីៗ​ឱ្យ​ភ្លឺ និង​មានខ្យល់ចេញចូល</translation>
@@ -2169,6 +2172,7 @@
 <translation id="2902312830803030883">សកម្មភាព​ច្រើនទៀត</translation>
 <translation id="2903457445916429186">បើកធាតុ​ដែលបាន​ជ្រើសរើស</translation>
 <translation id="2903882649406874750">ទប់ស្កាត់​ <ph name="HOST" /> មិន​ឱ្យ​ចូលប្រើ​ឧបករណ៍​​ចាប់សញ្ញា​ជានិច្ច</translation>
+<translation id="2904210161403910217">ពាក្យសម្ងាត់​របស់​អ្នក​បានផ្លាស់ប្ដូរ​តាំងពី​ពេល​ដែល​អ្នកបានចូល​គណនី​ចុងក្រោយ</translation>
 <translation id="2904845070985032877">ផ្អាក​រូបមានចលនា</translation>
 <translation id="2907619724991574506">URLs ចាប់ផ្តើមដំណើរការ</translation>
 <translation id="2907798539022650680">បានបរាជ័យក្នុងការភ្ជាប់ទៅ '<ph name="NAME" />'៖ <ph name="DETAILS" />
@@ -2251,6 +2255,7 @@
 <translation id="2979639724566107830">បើក​នៅក្នុង​វិនដូថ្មី</translation>
 <translation id="2981113813906970160">បង្ហាញព្រួញកណ្តុរធំ</translation>
 <translation id="2981293774053328982">ឯកសារ​នេះ​មាន​កម្មវិធីគ្រោះថ្នាក់​ដែល​អាចលុកលុយគណនី​ផ្ទាល់ខ្លួន ឬ​គណនីបណ្ដាញ​សង្គម​របស់អ្នក</translation>
+<translation id="2983102365694924129">ផ្អែក​លើ​សកម្មភាព​របស់​អ្នក​នៅលើ​គេហទំព័រ។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="2983373101216420412">កម្រិតថ្ម​ប្រអប់កាស <ph name="PERCENTAGE" />%។</translation>
 <translation id="2985348301114641460">ផ្ញើ​សំណើទៅអ្នកគ្រប់គ្រងរបស់អ្នក​ ដើម្បីដំឡើង "<ph name="EXTENSION_NAME" />" ឬ?</translation>
 <translation id="2987620471460279764">អត្ថបទដែលបាន​ចែករំលែកពីឧបករណ៍​ផ្សេងទៀត</translation>
@@ -2312,6 +2317,7 @@
 <translation id="3023464535986383522">ជ្រើសរើស​ដើម្បីអាន</translation>
 <translation id="3024374909719388945">ប្រើនាឡិកាទម្រង់ 24 ម៉ោង</translation>
 <translation id="3027296729579831126">បើក​ការចែករំលែក​នៅជិត</translation>
+<translation id="3027644380269727216">ផ្អែក​លើ​សកម្មភាព​របស់​អ្នក​នៅលើ​គេហទំព័រ។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="3029276696788198026">គ្មានការផ្ទុក​ជាមុនទេ</translation>
 <translation id="3029466929721441205">បង្ហាញ​ឧបករណ៍​របស់ប៊ិក​នៅក្នុងធ្នើរ</translation>
 <translation id="3029808567601324798">ពេលចាក់សោ</translation>
@@ -2745,6 +2751,7 @@
 <translation id="3458794975359644386">ការឈប់ចែករំលែក​មិនបានសម្រេចទេ</translation>
 <translation id="3459509316159669723">កំពុងបោះពុម្ព</translation>
 <translation id="3459697287128633276">ដើម្បី​អនុញ្ញាតឲ្យគណនីរបស់អ្នកចូលប្រើ Google Play Store សូមផ្ទៀងផ្ទាត់ជាមួយសេវាកម្មផ្តល់អត្តសញ្ញាណរបស់អ្នក។</translation>
+<translation id="3460458947710119567">{NUM_BOOKMARKS,plural, =1{បានលុបចំណាំ 1}other{បានលុប​ចំណាំ #}}</translation>
 <translation id="3461766685318630278">បង្កើត និងលុបទម្រង់ផ្ទុកបន្ថែម។</translation>
 <translation id="3462311546193741693">នាំអ្នកចេញពីគេហទំព័រភាគច្រើន។ អ្នក​នឹង​ស្ថិតនៅក្នុងគណនី​ Google របស់អ្នកដដែល ទើបអាចសម្អាតទិន្នន័យ​ដែលបាន​ធ្វើសមកាលកម្ម​របស់អ្នកបាន។</translation>
 <translation id="3462413494201477527">បោះបង់ការបង្កើតគណនី?</translation>
@@ -3241,6 +3248,7 @@
 <translation id="3903187154317825986">ក្ដារចុច​ដែលភ្ជាប់​មកជាមួយ​ស្រាប់</translation>
 <translation id="3904326018476041253">សេវាកម្ម​ទីតាំង</translation>
 <translation id="3905761538810670789">ជួសជុលកម្មវិធី</translation>
+<translation id="3908288065506437185">ទប់ស្កាត់​ខូគីភាគីទីបី​ក្នុងមុខងារ​ឯកជន</translation>
 <translation id="3908501907586732282">បើកដំណើរការកម្មវិធីបន្ថែម</translation>
 <translation id="3909701002594999354">បង្ហាញការគ្រប់គ្រងទាំងអស់</translation>
 <translation id="3909791450649380159">កាត់</translation>
@@ -3532,6 +3540,7 @@
 <translation id="4175737294868205930">ទំហំផ្ទុកអចិន្ត្រៃយ៍</translation>
 <translation id="4176463684765177261">បានបិទដំណើរការ</translation>
 <translation id="4176864026061939326">ឧបករណ៍​នេះ​ស្ថិត​ក្រោម​ការ​គ្រប់គ្រង។ តម្រូវឱ្យមានកម្រងព័ត៌មានថ្មីសម្រាប់គណនី <ph name="USER_EMAIL_ADDRESS" /> ដោយអ្នកគ្រប់គ្រងឧបករណ៍របស់អ្នក</translation>
+<translation id="4177501066905053472">ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="4180788401304023883">លុបវិញ្ញាបនប័ត្រ CA "<ph name="CERTIFICATE_NAME" />"?</translation>
 <translation id="4181602000363099176">20x</translation>
 <translation id="4181841719683918333">ភាសា</translation>
@@ -4083,6 +4092,7 @@
 <translation id="4683947955326903992"><ph name="PERCENTAGE" />% (លំនាំដើម)</translation>
 <translation id="4684427112815847243">ធ្វើសមកម្មគ្រប់យ៉ាង</translation>
 <translation id="4687613760714619596">ឧបករណ៍​ដែលមិន​ស្គាល់ (<ph name="DEVICE_ID" />)</translation>
+<translation id="4687718960473379118">ការផ្សាយពាណិជ្ជកម្មដែលបាន​ណែនាំ​ដោយ​គេហទំព័រ</translation>
 <translation id="4688036121858134881">លេខសម្គាល់​កំណត់ហេតុ​មូលដ្ឋាន៖ <ph name="WEBRTC_EVENT_LOG_LOCAL_ID" />។</translation>
 <translation id="4688176403504673761"><ph name="MANAGER" /> កំពុង​បន្ទាបកំណែ​ឧបករណ៍នេះ​ទៅកំណែមុន (<ph name="PROGRESS_PERCENT" />)</translation>
 <translation id="4689235506267737042">ជ្រើសរើស​ចំណូល​ចិត្ត​ការសាកល្បង​របស់អ្នក</translation>
@@ -4410,6 +4420,7 @@
 <translation id="4998430619171209993">បើក</translation>
 <translation id="4999804342505941663">បើកមុខងារកុំរំខាន</translation>
 <translation id="5000922062037820727">បានរារាំង (បានណែនាំ)</translation>
+<translation id="5001526427543320409">ខូគី​ភាគីទីបី</translation>
 <translation id="5005498671520578047">ថតចម្លងពាក្យសម្ងាត់</translation>
 <translation id="5006118752738286774">2 ឆ្នាំមុន</translation>
 <translation id="5006218871145547804">ADB សម្រាប់កម្មវិធី Android នៅក្នុង Crostini</translation>
@@ -5129,6 +5140,7 @@
 <translation id="5683806393796685434">សូមបញ្ចូល​លេខ​កូដ​បើក​ដំណើរការ​របស់អ្នក</translation>
 <translation id="5684181005476681636">ព័ត៌មានលម្អិត​អំពី Wi-Fi</translation>
 <translation id="5684661240348539843">ឧបករណ៍សម្គាល់ទ្រព្យសកម្ម</translation>
+<translation id="5684950556880280580">ពាក្យសម្ងាត់​របស់​អ្នក​ត្រូវ​បាន​ធ្វើ​បច្ចុប្បន្នភាព</translation>
 <translation id="5684969244627829799">សូមចូលគណនី​អ្នកប្រើប្រាស់ រួចព្យាយាមម្ដងទៀត</translation>
 <translation id="5687326903064479980">ល្វែងម៉ោង</translation>
 <translation id="5687935527303996204">ត្រូវប្រាកដថា​បានដោត​ឧបករណ៍​របស់អ្នក​ ហើយកុំបិទវា។ ការដំឡើងអាចចំណាយពេលរហូតដល់ 20 នាទី។ ឧបករណ៍របស់អ្នកនឹងបិទដោយស្វ័យប្រវត្តិ នៅពេលការដំឡើងបញ្ចប់។</translation>
@@ -5170,6 +5182,7 @@
 <translation id="572328651809341494">ផ្ទាំងថ្មីៗ</translation>
 <translation id="5723508132121499792">គ្មានកម្មវិធីផ្ទៃខាងក្រោយកំពុងដំណើរការទេ</translation>
 <translation id="5723967018671998714">បានទប់ស្កាត់ខូគី​ភាគទីបីនៅក្នុងមុខងារឯកជន</translation>
+<translation id="5724642200346111167">ទិន្នន័យគេហទំព័រ​ត្រូវ​បាន​សម្អាត​ពី​ឧបករណ៍​របស់​អ្នក​ នៅ​ពេល​អ្នកបិទវិនដូ​ទាំង​អស់</translation>
 <translation id="5727728807527375859">កម្មវិធីបន្ថែម កម្មវិធី និងធីមអាចប៉ះពាល់ដល់កុំព្យូទ័ររបស់អ្នក។ តើអ្នកប្រាកដថាអ្នកចង់បន្តទេ?</translation>
 <translation id="5728450728039149624">ជម្រើសចាក់សោអេក្រង់របស់ Smart Lock</translation>
 <translation id="5729712731028706266">មើល</translation>
@@ -5185,6 +5198,7 @@
 <translation id="5739017626473506901">ចូល​គណនី ដើម្បី​ជួយ <ph name="USER_NAME" /> ក្នុងការ​បញ្ចូល​គណនី​សាលារៀន</translation>
 <translation id="5739235828260127894">កំពុង​រង់ចាំធ្វើ​ការផ្ទៀងផ្ទាត់។ <ph name="LINK_BEGIN" />ស្វែងយល់​បន្ថែម<ph name="LINK_END" /></translation>
 <translation id="5739458112391494395">ធំខ្លាំង</translation>
+<translation id="5740126560802162366">គេហ​ទំព័រ​អាច​រក្សាទុក​ទិន្នន័យ​នៅលើ​ឧបករណ៍​របស់​អ្នក</translation>
 <translation id="5740328398383587084">ការ​ចែករំលែក​នៅជិត</translation>
 <translation id="5740709157181662145">ស្ថិរភាព និងជំនួយផ្នែកហាតវែរក្នុង <ph name="DEVICE_OS" /></translation>
 <translation id="574104302965107104">ការបញ្ចាំងផ្ទាំងអេក្រង់</translation>
@@ -5685,6 +5699,7 @@
 <translation id="6200151268994853226">គ្រប់គ្រង​កម្មវិធីបន្ថែម</translation>
 <translation id="6201608810045805374">ដកគណនី​នេះចេញ​មែនឬ?</translation>
 <translation id="6202304368170870640">អ្នកអាច​ប្រើកូដ PIN របស់អ្នក ដើម្បីចូល ឬដោះសោ​ឧបករណ៍របស់អ្នក។</translation>
+<translation id="6205314730813004066">ឯកជនភាពការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="6206199626856438589">អ្នក​នឹង​ត្រូវ​បាន​នាំចេញ​ពី​គេហទំព័រ​ដែលបាន​​​​បង្ហាញ រួមទាំង​ក្នុង​ផ្ទាំង​ដែល​បើក​</translation>
 <translation id="6206311232642889873">ចម្លងរូបភាព</translation>
 <translation id="6206521455877863927">រួមបញ្ចូល​គេហទំព័រ​ពី​ដែន​ដូចគ្នា ឧទាហរណ៍ google.com និង mail.google.com។ គេហទំព័រ​ដែល​អ្នក​កំពុង​មើល​អាច​រក្សាទុក​ទិន្នន័យ​នៅលើ​ឧបករណ៍​របស់អ្នក។</translation>
@@ -6304,6 +6319,7 @@
 <translation id="6787839852456839824">ផ្លូវកាត់ក្តារចុច</translation>
 <translation id="6788210894632713004">ផ្នែកបន្ថែមដែលបានពន្លា</translation>
 <translation id="6789592661892473991">បំបែកផ្តេក</translation>
+<translation id="6789834167207639931">បញ្ចូល​ពាក្យសម្ងាត់​គណនី Google របស់​អ្នកម្ដង​ទៀត​នៅ​លើ​អេក្រង់​បន្ទាប់​ ដើម្បី​បញ្ចប់​ការស្ដារឡើងវិញ</translation>
 <translation id="6790428901817661496">លេង</translation>
 <translation id="6790497603648687708"><ph name="EXTENSION_NAME" /> ត្រូវបានបន្ថែមពីចម្ងាយ</translation>
 <translation id="6790820461102226165">បន្ថែមបុគ្គល...</translation>
@@ -6953,6 +6969,7 @@
 <translation id="7387273928653486359">អាចទទួលយកបាន</translation>
 <translation id="7387951778417998929">ដើម្បីប្រើ​ម៉ាស៊ីន​ស្វែងរក​ដែលមិនមែនជា​ម៉ាស៊ីន​ស្វែងរក​លំនាំដើម សូម​វាយបញ្ចូល​ផ្លូវកាត់​របស់វានៅក្នុងរបារអាសយដ្ឋាន ដោយបញ្ចូល​ផ្លូវកាត់​ក្ដារចុច​ដែលអ្នកចង់ប្រើ​នៅពីក្រោយ។ អ្នកក៏អាចប្ដូរ​ម៉ាស៊ីន​ស្វែងរក​លំនាំដើម​របស់អ្នក​នៅទីនេះ​បានផងដែរ។</translation>
 <translation id="7388209873137778229">បង្ហាញតែ​ឧបករណ៍​ដែលស្គាល់​ប៉ុណ្ណោះ​។</translation>
+<translation id="7388615499319468910">គេហទំព័រ និង​អ្នក​ផ្សាយ​ពាណិជ្ជកម្ម​អាច​ដឹងថាការ​ផ្សាយ​ពាណិជ្ជកម្មដំណើរការយ៉ាងម៉េចដែរ។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="7392118418926456391">ការស្កេនមេរោគបានបរាជ័យ</translation>
 <translation id="7392915005464253525">បើកផ្ទាំងដែលបានបិទឡើងវិញ</translation>
 <translation id="7393073300870882456">{COUNT,plural, =1{បានចម្លងធាតុ 1}other{បានចម្លង​ធាតុ {COUNT}}}</translation>
@@ -7029,6 +7046,7 @@
 <translation id="7453467225369441013">ធ្វើឱ្យអ្នកចេញពី​ទំព័រភាគច្រើន។ អ្នកនឹង​មិនត្រូវបាននាំចេញ​ពីគណនី Google របស់អ្នកទេ។</translation>
 <translation id="7454548535253569100">ច្រក៖ <ph name="SUBFRAME_SITE" /></translation>
 <translation id="7455730275746867420">គ្រប់គ្រងទម្រង់ផ្ទុកបន្ថែម</translation>
+<translation id="7455988709578031708">ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នក។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="7456142309650173560">dev</translation>
 <translation id="7456774706094330779">ការផ្ទុកជាមុន​បន្ថែម</translation>
 <translation id="7456847797759667638">បើកទីតាំង...</translation>
@@ -8845,11 +8863,14 @@
 <translation id="9094859731829297286">តើអ្នក​ពិតជាចង់​បម្រុងទុក​ថាសទំហំថេរ​សម្រាប់ Linux មែនឬ?</translation>
 <translation id="9094982973264386462">លុប​ចេញ</translation>
 <translation id="9095253524804455615">លុប​ចេញ</translation>
+<translation id="9095364055741191097">មិន​អាច​ស្ដារទិន្នន័យមូលដ្ឋាន​ឡើងវិញបាន​ទេ</translation>
 <translation id="909554839118732438">បិទផ្ទាំងឯកជន</translation>
+<translation id="9099220545925418560">ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នក។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="9100416672768993722">ដើម្បីប្ដូរទៅវិធីបញ្ចូលដែលបានប្រើចុងក្រោយ សូមចុច <ph name="BEGIN_SHORTCUT" /><ph name="BEGIN_CTRL" />Ctrl<ph name="END_CTRL" /><ph name="SEPARATOR" /><ph name="BEGIN_SPACE" />Space<ph name="END_SPACE" /><ph name="END_SHORTCUT" /></translation>
 <translation id="9100765901046053179">ការកំណត់កម្រិតខ្ពស់</translation>
 <translation id="9101691533782776290">បើកដំណើរការកម្មវិធី</translation>
 <translation id="9102610709270966160">បើក​កម្មវិធី​បន្ថែម</translation>
+<translation id="9102864637938129124">គេហទំព័រ និង​អ្នក​ផ្សាយ​ពាណិជ្ជកម្ម​អាច​ដឹងថាការ​ផ្សាយ​ពាណិជ្ជកម្មដំណើរការយ៉ាងម៉េចដែរ។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="9103479157856427471">អេក្រង់ដែលបានពង្រីក​គឺទៅតាមការផ្ដោត​ក្ដារចុច</translation>
 <translation id="9103868373786083162">ចុចដើម្បីថយក្រោយ ហើយចុចម៉ឺនុយបរិបទដើម្បីមើលប្រវត្តិ</translation>
 <translation id="9108035152087032312">ឈ្មោះ និងវិនដូ...</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index d5d8c205..c26aae3 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -775,7 +775,7 @@
 <translation id="1692118695553449118">Шайкештештирүү күйүк</translation>
 <translation id="1692210323591458290">Күңүрт кызгылт көгүш</translation>
 <translation id="1692713444215319269">Түстөрдү инверсиялоо, лупа жана дисплейдин параметрлери</translation>
-<translation id="1695487653372841667">Google'га кайсы маалыматты жөнөтүүнү көзөмөлдөй аласыз. Бул функциянын параметрлерин "Жөндөөлөр" бөлүмүнөн өзгөртө аласыз.</translation>
+<translation id="1695487653372841667">Google'га кайсы маалыматты жөнөтүүнү көзөмөлдөй аласыз. Бул функциянын параметрлерин "Параметрлер" бөлүмүнөн өзгөртө аласыз.</translation>
 <translation id="1695510246756136088">Интернетке туташа албай жатат. Кайталаңыз.</translation>
 <translation id="169675691788639886">Түзмөктөгү SSH сервери конфигурацияланды. Купуя аккаунттар менен кирбеңиз.</translation>
 <translation id="1697150536837697295">Көркөм өнөрчүлүк</translation>
@@ -817,7 +817,7 @@
 <translation id="1725562816265788801">Тилди сыдыруу</translation>
 <translation id="1726503915437308071">Жантык арип</translation>
 <translation id="1729533290416704613">Omnibox'тон изделгенде, кайсы бет көрсөтүлө тургандыгын көзөмөлдөйт.</translation>
-<translation id="1730917990259790240"><ph name="BEGIN_PARAGRAPH1" />Колдонмолорду алып салуу үчүн, Жөндөөлөр &gt; Google Play Store &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаргычка өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго сүрүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.<ph name="END_PARAGRAPH1" /></translation>
+<translation id="1730917990259790240"><ph name="BEGIN_PARAGRAPH1" />Колдонмолорду алып салуу үчүн, Параметрлер &gt; Google Play Store &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаргычка өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго сүрүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.<ph name="END_PARAGRAPH1" /></translation>
 <translation id="1730989807608739928">Акыркы өтмөккө карай сыдыруу</translation>
 <translation id="1731911755844941020">Сурам жөнөтүлүүдө…</translation>
 <translation id="1733383495376208985">Шайкештирилген дайындарды өзүңүздүн <ph name="BEGIN_LINK" />шайкештирүүчү купуя сөз айкашыңыз<ph name="END_LINK" /> менен шифрлеңиз. Бул Google Pay'деги төлөм ыкмалары менен даректерге карата колдонулбайт.</translation>
@@ -2513,7 +2513,7 @@
 <translation id="3254084468305910013">{COUNT,plural, =0{Коопсуздук маселелери табылган жок}=1{{COUNT} коопсуздук маселеси табылды}other{{COUNT} коопсуздук маселеси табылды}}</translation>
 <translation id="3254451942070605467"><ph name="FILE_NAME" /> жүктөлүп алынууда, <ph name="PERCENT_REMAINING" />% калды</translation>
 <translation id="3254516606912442756">Убакыт алкагын автоматтык түрдө аныктоо өчүрүлдү</translation>
-<translation id="3254715652085014625">Android телефонуңузда Chromeду ачып, "Жөндөөлөр &gt; Сырсөздөр &gt; Телефонду коопсуздук ачкычы катары колдонуу" бөлүмүнө өтүп, ал жердеги нускамаларды аткарыңыз.</translation>
+<translation id="3254715652085014625">Android телефонуңузда Chromeду ачып, "Параметрлер &gt; Сырсөздөр &gt; Телефонду коопсуздук ачкычы катары колдонуу" бөлүмүнө өтүп, ал жердеги нускамаларды аткарыңыз.</translation>
 <translation id="3255355328033513170"><ph name="SITE_GROUP_NAME" /> сайтында жана ага тийиштүү башка сайттарда сакталган маалыматтар өчүрүлөт. Буга cookie файлдары да кирет. Сиз бул сайттардан, анын ичинде ачылып турган өтмөктөрдөн чыгарыласыз.</translation>
 <translation id="3257733480216378006"><ph name="EXTENSIONS_REQUESTING_ACCESS_COUNT" /> кеңейтүүгө уруксат берилсинби?</translation>
 <translation id="3259723213051400722">Кайталап көрүңүз.</translation>
@@ -3039,7 +3039,7 @@
 <translation id="3742235229730461951">Корейче баскычтоптун калыбы</translation>
 <translation id="3742666961763734085">Мындай аталыштагы уюмдук бөлүм табылбай жатат. Кайталап көрүңүз.</translation>
 <translation id="3743842571276656710"><ph name="DEVICE_NAME" /> менен жупташтыруу үчүн PIN кодду киргизиңиз</translation>
-<translation id="3747077776423672805">Колдонмолорду алып салуу үчүн, Жөндөөлөр &gt; Google Play Store &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаргычка өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго сүрүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.</translation>
+<translation id="3747077776423672805">Колдонмолорду алып салуу үчүн, Параметрлер &gt; Google Play Store &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаргычка өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго сүрүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.</translation>
 <translation id="3747603683749989726">Өркүндөтүлгөн коопсуздук күйгүзүлсүнбү?</translation>
 <translation id="3748424433435232460">Бул аккаунттун сырсөзү ушул түзмөккө мурунтан эле сакталган</translation>
 <translation id="3748706263662799310">Мүчүлүштүк жөнүндө кабарлаңыз</translation>
@@ -3430,7 +3430,7 @@
 <ph name="EXTENSION_FILE" /></translation>
 <translation id="408721682677442104">MIDI түзмөктөрүн толугу менен көзөмөлдөө четке кагылды</translation>
 <translation id="4087328411748538168">Оңдо көрсөтүү</translation>
-<translation id="4089235344645910861">Жөндөөлөр сакталды. Шайкештирүү башталды.</translation>
+<translation id="4089235344645910861">Параметрлер сакталды. Шайкештирүү башталды.</translation>
 <translation id="4090103403438682346">Текшерилген кирүү мүмкүнчүлүгүн иштетүү</translation>
 <translation id="4090947011087001172"><ph name="SITE" /> үчүн уруксаттарды өзгөртөсүзбү?</translation>
 <translation id="4092636882861724179">Сакталган сырсөздөрдү <ph name="GOOGLE_PASSWORD_MANAGER" /> бөлүмүндө көрүп жана башкара аласыз.</translation>
@@ -3758,7 +3758,7 @@
 <translation id="4408599188496843485">Ж&amp;ардам</translation>
 <translation id="4409271659088619928">Издөө каражатыңыз: <ph name="DSE" />. Издөө таржымалын өчүрүү үчүн бар болсо, издөө каражатындагы нускамаларды караңыз.</translation>
 <translation id="4409697491990005945">Чектер</translation>
-<translation id="4410545552906060960">Түзмөгүңүздү сырсөздүн ордуна PIN код менен ачыңыз. PIN кодду кийинчерээк Жөндөөлөр бөлүмүнөн жөндөп алыңыз.</translation>
+<translation id="4410545552906060960">Түзмөгүңүздү сырсөздүн ордуна PIN код менен ачыңыз. PIN кодду кийинчерээк Параметрлер бөлүмүнөн жөндөп алыңыз.</translation>
 <translation id="4411578466613447185">Кодго кол койгуч</translation>
 <translation id="4411719918614785832">Бул мүмкүндүк алуу ачкычтары ушул компьютердеги Windows Hello функциясында сакталат. Алар Google аккаунтуңузда сакталбайт.</translation>
 <translation id="4412632005703201014">Chrome колдонмолору Прогрессивдүү веб колдонмолоруна көчүрүлүп жатат. Бул Chrome колдонмосун серепчиңизге уюмуңуз орноткон. Колдонмолордун тизмесинен Прогрессивдүү веб колдонмону ачуу үчүн, адегенде администратор менен байланышып, Chrome колдонмосун чыгарып салууну сураңыз. Азырынча <ph name="EXTENSION_LAUNCH_URL" /> сайтына өтүп, <ph name="EXTENSION_NAME" /> кызматын Интернетте ачыңыз.</translation>
@@ -4499,7 +4499,7 @@
 <translation id="5106350808162641062">Өчүрүү</translation>
 <translation id="510695978163689362"><ph name="USER_EMAIL" /> Family Link аркылуу башкарылат. Мектеп булактарына ата-эненин көзөмөлү менен кирүү үчүн мектеп аккаунттарын кошо аласыз.</translation>
 <translation id="5107443654503185812">Кеңейтүү Коопсуз серептөөнү өчүрдү</translation>
-<translation id="5108967062857032718">Жөндөөлөр - Android колдонмолорун алып салуу</translation>
+<translation id="5108967062857032718">Параметрлер - Android колдонмолорун алып салуу</translation>
 <translation id="5109044022078737958">Миа</translation>
 <translation id="5109816792918100764">Өчүрүү: <ph name="LANGUAGE_NAME" /></translation>
 <translation id="5111646998522066203">Жашыруун режимден чыгуу</translation>
@@ -4595,7 +4595,7 @@
 <translation id="5194256020863090856">Бул жашыруун терезелерге гана таасир этет</translation>
 <translation id="5195074424945754995">Бул эрежелерге туура келген URL'дер серепчини которбостон, <ph name="BROWSER_NAME" /> же <ph name="ALTERNATIVE_BROWSER_NAME" /> серепчисинде ачылат.</translation>
 <translation id="5195863934285556588"><ph name="BEGIN_PARAGRAPH1" />Бул түзмөктүн жайгашкан жерин болжолдоп билүү үчүн Google'дун жайгашкан жерди аныктоо кызматы Wi‑Fi, мобилдик тармактар жана сенсорлор сыяктуу булактарды колдонот.<ph name="END_PARAGRAPH1" />
-    <ph name="BEGIN_PARAGRAPH2" />Каалаган убакта Жөндөөлөр &gt; Колдонмолор &gt; Google Play Дүкөнү &gt; Android параметрлерин башкаруу &gt; Коопсуздук жана жайгашкан жерди аныктоо &gt; Жайгашкан жерди аныктоо бөлүмүнө өтүп, бул түзмөктөгү Android'дин жайгашкан жерди аныктоо функциясын өчүрө аласыз. Ошол эле менюда Google'дун Жайгашкан жерди так аныктоо функциясын өчүрүү менен Wi-Fi, мобилдик тармактар жана Android'дин жайгашкан жерди аныктоо сенсорлорун да өчүрө аласыз.<ph name="END_PARAGRAPH2" /></translation>
+    <ph name="BEGIN_PARAGRAPH2" />Каалаган убакта Параметрлер &gt; Колдонмолор &gt; Google Play Дүкөнү &gt; Android параметрлерин башкаруу &gt; Коопсуздук жана жайгашкан жерди аныктоо &gt; Жайгашкан жерди аныктоо бөлүмүнө өтүп, бул түзмөктөгү Android'дин жайгашкан жерди аныктоо функциясын өчүрө аласыз. Ошол эле менюда Google'дун Жайгашкан жерди так аныктоо функциясын өчүрүү менен Wi-Fi, мобилдик тармактар жана Android'дин жайгашкан жерди аныктоо сенсорлорун да өчүрө аласыз.<ph name="END_PARAGRAPH2" /></translation>
 <translation id="5197255632782567636">Интернет</translation>
 <translation id="5198430103906431024">Колдонуу жана мүчүлүштүктөрдү аныктоо маалыматын жөнөтүү. Учурда бул түзмөк мүчүлүштүктөрдү аныктоо маалыматын, түзмөктүн жана колдонмонун иштетилиши жөнүндө маалыматты Google'га автоматтык түрдө жөнөтүп жатат. Бул маалымат тутум менен колдонмонун кыйла туруктуу иштешин камсыз кылууга жана башка нерселерди жакшыртууга көмөктөшөт. Айрым маалыматтар тобу Google колдонмолоруна жана Android'дин иштеп чыгуучулары сыяктуу өнөктөштөрүнө да жардам берет. Эгер кошумча Колдонмолор жана Интернеттеги аракеттериңиздин таржымалынын жөндөөлөрү күйгүзүлгөн болсо, бул маалымат Google аккаунтуңузга сакталышы мүмкүн.</translation>
 <translation id="5199729219167945352">Эксперименттер</translation>
@@ -4739,7 +4739,7 @@
 <translation id="5331425616433531170">"<ph name="CHROME_EXTENSION_NAME" />" жупташканы жатат</translation>
 <translation id="5331568967879689647">ChromeOS тутум колдонмосу</translation>
 <translation id="5331975486040154427">USB-C түзмөгү (сол жактагы арткы оюкча)</translation>
-<translation id="5333896723098573627">Колдонмолорду өчүрүү үчүн Жөндөөлөр &gt; Колдонмолор &gt; Google Play Дүкөн &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаруучуга өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго серпүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.</translation>
+<translation id="5333896723098573627">Колдонмолорду өчүрүү үчүн Параметрлер &gt; Колдонмолор &gt; Google Play Дүкөн &gt; Android түзмөгүнүн параметрлерин башкаруу &gt; Колдонмолор же Колдонмолорду башкаруучуга өтүңүз. Андан соң, чыгарып салгыңыз келген колдонмону таптап (колдонмону табуу үчүн оңго же солго серпүүгө туура келиши мүмкүн), анан "Чыгарып салуу" же "Өчүрүү" баскычын басыңыз.</translation>
 <translation id="5334113802138581043">Микрофонду колдонуу</translation>
 <translation id="5334142896108694079">Скрипт кеши</translation>
 <translation id="5336688142483283574">Бул барак таржымалыңыздан жана <ph name="SEARCH_ENGINE" /> аракеттеринен өчүрүлөт.</translation>
@@ -5012,7 +5012,7 @@
 <translation id="5584091888252706332">Ишти баштаганда</translation>
 <translation id="5584915726528712820"><ph name="BEGIN_PARAGRAPH1" />Түзмөгүңүздүн иштеши, тактап айтканда, батареянын кубаты, колдонмолордун пайдаланылышы жана Интернет байланышынын сапаты тууралуу маалымат алып турабыз. Маалыматтар Google'дун кызматтарын жакшыртуу үчүн колдонулат. Топтолгон маалыматтын айрымдарын Android иштеп чыгуучулары өз кызматтарын өркүндөтүү үчүн колдонушу мүмкүн.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Бул функциянын өчүрүлүшү түзмөктүн тутумунун жаңыртылышына жана коопсуздугуна таасирин тийгизбейт.<ph name="END_PARAGRAPH2" />
-    <ph name="BEGIN_PARAGRAPH3" />Түзмөктүн ээси бул функцияны Жөндөөлөр &gt; Өркүндөтүлгөн жөндөөлөр &gt; Мүчүлүштүктөрдү аныктоо жана колдонуу дайындарын автоматтык түрдө Google'га жөнөтүү аркылуу көзөмөлдөй алат.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH3" />Түзмөктүн ээси бул функцияны Параметрлер &gt; Өркүндөтүлгөн жөндөөлөр &gt; Мүчүлүштүктөрдү аныктоо жана колдонуу дайындарын автоматтык түрдө Google'га жөнөтүү аркылуу көзөмөлдөй алат.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Эгер кошумча Колдонмолор жана Интернеттеги аракеттериңиздин таржымалынын жөндөөлөрү күйгүзүлгөн болсо, бул нерселер Google аккаунтуңузга сакталышы мүмкүн. Төмөнкү шилтеме менен өтүп, дайын-даректериңизди көрүп, өчүрүп жана аккаунтуңуздун жөндөөлөрүн өзгөртө аласыз: account.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="5585019845078534178">Карточкалар</translation>
 <translation id="5585118885427931890">Кыстармалар куржуну түзүлгөн жок.</translation>
@@ -5878,7 +5878,7 @@
 <translation id="6404511346730675251">Кыстарманы түзөтүү</translation>
 <translation id="6406303162637086258">Серепчини өчүрүп күйгүзүп көрүү</translation>
 <translation id="6406506848690869874">Шайкештирүү</translation>
-<translation id="6406708970972405507">Жөндөөлөр – <ph name="SECTION_TITLE" /></translation>
+<translation id="6406708970972405507">Параметрлер – <ph name="SECTION_TITLE" /></translation>
 <translation id="6407398811519202484">Маалыматты түзмөгүңүзгө сактоого уруксат берилген</translation>
 <translation id="6408118934673775994">Дайын-даректериңизди <ph name="WEBSITE_1" />, <ph name="WEBSITE_2" /> жана <ph name="WEBSITE_3" /> даректеринен окуңуз жана өзгөртүңүз</translation>
 <translation id="6410257289063177456">Сүрөт файлдары</translation>
@@ -6032,7 +6032,7 @@
 <translation id="6546856949879953071">Жаңыртуу тууралуу толук маалымат Файлдар &gt; Менин файлдарым &gt; <ph name="LOG_FILE" /> файлына сакталды</translation>
 <translation id="6547354035488017500">Кеминде 512 Мб орун бошотпосоңуз, түзмөгүңүз жооп бербей калат. Орун бошотуу үчүн түзмөктүн сактагычынан файлдарды жок кылыңыз.</translation>
 <translation id="6547854317475115430"><ph name="BEGIN_PARAGRAPH1" />Google'дун жайгашкан жерди аныктоо кызматы түзмөктүн жайгашкан жерин болжолдоп билүү үчүн, Wi‑Fi, мобилдик тармактар жана сенсорлор сыяктуу булактарды колдонот.<ph name="END_PARAGRAPH1" />
-    <ph name="BEGIN_PARAGRAPH2" />Каалаган убакта Жөндөөлөр &gt; Колдонмолор &gt; Google Play Дүкөнү &gt; Android параметрлерин башкаруу &gt; Коопсуздук жана жайгашкан жерди аныктоо &gt; Жайгашкан жерди аныктоо бөлүмүнө өтүп, түзмөгүңүздөгү Android'дин жайгашкан жерди аныктоо функциясын өчүрө аласыз. Ошол эле менюда Google'дун Жайгашкан жерди так аныктоо функциясын өчүрүү менен Wi-Fi, мобилдик тармактар жана Android'дин жайгашкан жерди аныктоо сенсорлорун да өчүрө аласыз.<ph name="END_PARAGRAPH2" /></translation>
+    <ph name="BEGIN_PARAGRAPH2" />Каалаган убакта Параметрлер &gt; Колдонмолор &gt; Google Play Дүкөнү &gt; Android параметрлерин башкаруу &gt; Коопсуздук жана жайгашкан жерди аныктоо &gt; Жайгашкан жерди аныктоо бөлүмүнө өтүп, түзмөгүңүздөгү Android'дин жайгашкан жерди аныктоо функциясын өчүрө аласыз. Ошол эле менюда Google'дун Жайгашкан жерди так аныктоо функциясын өчүрүү менен Wi-Fi, мобилдик тармактар жана Android'дин жайгашкан жерди аныктоо сенсорлорун да өчүрө аласыз.<ph name="END_PARAGRAPH2" /></translation>
 <translation id="654871471440386944">Caret серептөөсү күйгүзүлсүнбү?</translation>
 <translation id="6549038875972762904">Кайра жөндөө</translation>
 <translation id="6550675742724504774">Параметрлер</translation>
@@ -6663,7 +6663,7 @@
 <translation id="7113502843173351041">Электрондук почта дарегиңизди билүү</translation>
 <translation id="7113974454301513811">Эми учурдагы өтмөктү тизмеңизге кошуңуз</translation>
 <translation id="7114054701490058191">Сырсөздөр дал келген жок</translation>
-<translation id="7114648273807173152">Google аккаунтуңузга кирүүгө Smart Lock'ту колдонуу үчүн Жөндөөлөр &gt; Байланышкан түзмөктөр &gt; Телефонуңуз &gt; Smart Lock'ко өтүңүз.</translation>
+<translation id="7114648273807173152">Google аккаунтуңузга кирүүгө Smart Lock'ту колдонуу үчүн Параметрлер &gt; Байланышкан түзмөктөр &gt; Телефонуңуз &gt; Smart Lock'ко өтүңүз.</translation>
 <translation id="7115361495406486998">Жеткиликтүү байланыштар жок</translation>
 <translation id="7117228822971127758">Бир аздан кийин кайталап көрүңүз</translation>
 <translation id="711840821796638741">Башкарылган кыстармаларды көрсөтүү</translation>
@@ -7089,7 +7089,7 @@
 <translation id="7530016656428373557">Кубаттын түгөнүү ылдамдыгы Ватт менен</translation>
 <translation id="7531310913436731628">Жайгашкан жер Mac'тын Тутум жөндөөлөрүнөн өчүрүлдү</translation>
 <translation id="7531771599742723865">Түзмөк колдонулууда</translation>
-<translation id="7531779363494549572">Жөндөөлөр &gt; Колдонмолор жана билдирмелер &gt; Билдирмелер бөлүмүнө өтүңүз.</translation>
+<translation id="7531779363494549572">Параметрлер &gt; Колдонмолор жана билдирмелер &gt; Билдирмелер бөлүмүнө өтүңүз.</translation>
 <translation id="7532009420053991888"><ph name="LINUX_APP_NAME" /> жооп бербей жатат. Аны жабуу үчүн "Мажбурлап токтотуу" баскычын басыңыз.</translation>
 <translation id="7535730537657706072">Түзмөгүңүздөн жашыруун көрүлгөн вебсайттарды тазалоо үчүн бардык жашыруун өтмөктөрдү жабыңыз</translation>
 <translation id="7537451260744431038">Серептөөнү ыңгайлаштыруу, мисалы, аккаунттан чыгарбоо же арабадагы сатып алган нерселериңизди эстеп калуу үчүн сайттар cookie файлдарын колдоно алышат</translation>
@@ -7317,7 +7317,7 @@
 <translation id="7730683939467795481">Бул баракты "<ph name="EXTENSION_NAME" />" кеңейтүүсү өзгөрттү</translation>
 <translation id="7735165285389721951">Steam'де башка тууралоо аткарылууда. Ал аяктаганча күтө туруңуз</translation>
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />" менен жупташтырылууда...</translation>
-<translation id="7737846262459425222">Муну Жөндөөлөр &gt; Google Жардамчы &gt; Экрандагы контекст бөлүмүнөн каалаган убакта өзгөртө аласыз.</translation>
+<translation id="7737846262459425222">Муну Параметрлер &gt; Google Жардамчы &gt; Экрандагы контекст бөлүмүнөн каалаган убакта өзгөртө аласыз.</translation>
 <translation id="7737948071472253612">Камераңызды колдоно албайт</translation>
 <translation id="77381465218432215">Басым белгилерин жана атайын символдорду көрсөтүү</translation>
 <translation id="7740996059027112821">Стандарт</translation>
@@ -7914,7 +7914,7 @@
 <translation id="8267539814046467575">Принтер кошуу</translation>
 <translation id="8267961145111171918"><ph name="BEGIN_PARAGRAPH1" />Түзмөгүңүздүн иштеши, тактап айтканда, батареянын кубаты, колдонмолордун пайдаланылышы жана Интернет байланышынын сапаты тууралуу маалымат алып турабыз. Маалыматтар Google'дун кызматтарын жакшыртуу үчүн колдонулат. Топтолгон маалыматтын айрымдарын Android иштеп чыгуучулары өз кызматтарын өркүндөтүү үчүн колдонушу мүмкүн.<ph name="END_PARAGRAPH1" />
     <ph name="BEGIN_PARAGRAPH2" />Бул функциянын өчүрүлүшү түзмөктүн тутумунун жаңыртылышына жана коопсуздугуна таасирин тийгизбейт.<ph name="END_PARAGRAPH2" />
-    <ph name="BEGIN_PARAGRAPH3" />Түзмөктүн ээси бул функцияны Жөндөөлөр &gt; Өркүндөтүлгөн жөндөөлөр &gt; Мүчүлүштүктөрдү аныктоо жана колдонуу дайындарын автоматтык түрдө Google'га жөнөтүү аркылуу көзөмөлдөй алат.<ph name="END_PARAGRAPH3" />
+    <ph name="BEGIN_PARAGRAPH3" />Түзмөктүн ээси бул функцияны Параметрлер &gt; Өркүндөтүлгөн жөндөөлөр &gt; Мүчүлүштүктөрдү аныктоо жана колдонуу дайындарын автоматтык түрдө Google'га жөнөтүү аркылуу көзөмөлдөй алат.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Эгер балаңыздын түзмөгүндө кошумча Колдонмолор жана Интернеттеги аракеттердин таржымалынын жөндөөлөрү күйгүзүлгөн болсо, бул нерселер балаңыздын Google аккаунтунда сакталышы мүмкүн. Төмөнкү шилтеме менен өтүп, дайындарды көрүп, өчүрүп жана аккаунттун жөндөөлөрүн өзгөртө аласыз: account.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Кардардын сертификаты жараксыз</translation>
 <translation id="8270162672241199380">Steam кызматын орноткуч</translation>
@@ -8087,7 +8087,7 @@
 <translation id="8426713856918551002">Иштетилүүдө</translation>
 <translation id="8427213022735114808">Текстти каалаган талаага үн менен жазуу үчүн үнүңүздүн үлгүсү Google'га жөнөтүлөт.</translation>
 <translation id="8427292751741042100">башкы түйүнгө жалгаштырылган</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8428271547607112339">Мектеп аккаунтун кошуу</translation>
 <translation id="8428628598981198790">Коопсуздук ачкычыңызды бул сайтта колдонууга болбойт</translation>
 <translation id="84297032718407999"><ph name="LOGOUT_TIME_LEFT" /> кийин тутумдан автоматтык түрдө чыгарыласыз</translation>
@@ -8961,7 +8961,7 @@
 <translation id="93766956588638423">Кеңейтүүнү оңдоо</translation>
 <translation id="938568644810664664">“Окей, Google, бул кайсы ыр?” же “Окей, Google, экранымдагы эмне?” деп сурап көрүңүз</translation>
 <translation id="938623846785894166">Көп жүктөлүп алынбаган файл</translation>
-<translation id="939401694733344652">Бул аккаунттар азырынча Android колдонмолору менен колдонулбай турушат. Эгер ушул Android колдонмосу үчүн аккаунтту тандасаңыз, аны башка Android колдонмолорунда да пайдалана аласыз. Android колдонмосуна кирүү мүмкүнчүлүгүн <ph name="LINK_BEGIN" />Жөндөөлөр &gt; Аккаунттар<ph name="LINK_END" /> бөлүмүнөн өзгөртө аласыз.</translation>
+<translation id="939401694733344652">Бул аккаунттар азырынча Android колдонмолору менен колдонулбай турушат. Эгер ушул Android колдонмосу үчүн аккаунтту тандасаңыз, аны башка Android колдонмолорунда да пайдалана аласыз. Android колдонмосуна кирүү мүмкүнчүлүгүн <ph name="LINK_BEGIN" />Параметрлер &gt; Аккаунттар<ph name="LINK_END" /> бөлүмүнөн өзгөртө аласыз.</translation>
 <translation id="939598580284253335">Купуя сөз айкашын киргизиңиз</translation>
 <translation id="939736085109172342">Жаңы папка</translation>
 <translation id="942532530371314860"><ph name="APP_NAME" /> колдонмосу Chrome өтмөгүн жана аудио файлын бөлүшүп жатат.</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index f0b38e3..d15d6eed 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -1804,6 +1804,7 @@
 <translation id="2579596474754516455">ສະແກນຮູບທີ່ເປັນໄຟລ໌ PDF ເພື່ອປ່ຽນຂໍ້ຄວາມສຳລັບໂປຣແກຣມອ່ານໜ້າຈໍເມື່ອຈຳເປັນ</translation>
 <translation id="2580889980133367162">ອະ​ນຸ​ຍາດ​ໃຫ້ <ph name="HOST" /> ດາວໂຫລດຫຼາຍ​ໄຟລ໌ທຸກຄັ້ງ</translation>
 <translation id="258095186877893873">ຍາວ</translation>
+<translation id="2581455244799175627">ເພີ່ມເຕີມກ່ຽວກັບການອະນຸຍາດຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="2582253231918033891"><ph name="PRODUCT_NAME" /> <ph name="PRODUCT_VERSION" /> (ພະແລັດຟອມ <ph name="PLATFORM_VERSION" />) <ph name="DEVICE_SERIAL_NUMBER" /></translation>
 <translation id="2584109212074498965">ບໍ່ສາມາດຮັບປີ້ Kerberos ໄດ້. ລອງອີກຄັ້ງ ຫຼື ຕິດຕໍ່ຫາຜູ້ເບິ່ງແຍງລະບົບອຸປະກອນຂອງອົງການຂອງທ່ານ. (ລະຫັດຂໍ້ຜິດພາດ: <ph name="ERROR_CODE" />).</translation>
 <translation id="2585724835339714757">ແຖບນີ້ກຳລັງແບ່ງປັນໜ້າຈໍຂອງທ່ານ.</translation>
@@ -2367,6 +2368,7 @@
 <translation id="3082780749197361769">ແຖບ​ນີ້​ກໍາລັງ​ໃຊ້​ກ້ອງ​ຖ່າຍ​ຮູບ​ຫຼືໄມໂຄຣໂຟນຂອງ​ທ່ານ​.</translation>
 <translation id="3083193146044397360">ບລັອກໄວ້ຊົ່ວຄາວແລ້ວເພື່ອປົກປ້ອງຄວາມປອດໄພຂອງທ່ານ</translation>
 <translation id="3083899879156272923">ຍ້າຍໜ້າຈໍໂດຍຮັກສາເມົ້າໄວ້ຢູ່ເຄິ່ງກາງໜ້າຈໍ</translation>
+<translation id="3083998949001524405">ອະນຸຍາດໃຫ້ໃຊ້ຄຸກກີ້ພາກສ່ວນທີສາມແລ້ວ</translation>
 <translation id="3084548735795614657">ວາງລົງເພື່ອຕິດຕັ້ງ</translation>
 <translation id="3084771660770137092">Chrome ໝົດຄວາມຈໍາ ຫຼືຂະບວນການສໍາລັບໜ້າເວັບຖືກສິ້ນສຸດລົງດ້ວຍເຫດຜົນໃດໜຶ່ງ. ເພື່ອສືບຕໍ່, ໂຫຼດຄືນໃໝ່ ແລະໄປຫາໜ້າອື່ນ.</translation>
 <translation id="3085412380278336437">ເວັບໄຊສາມາດໃຊ້ກ້ອງຖ່າຍຮູບຂອງທ່ານໄດ້</translation>
@@ -3072,6 +3074,7 @@
 <translation id="3764753550716962406">ໃຫ້ Google ໃຊ້ກະຕ່າຂອງທ່ານເພື່ອຊອກຫາສ່ວນຫຼຸດທີ່ສາມາດໃຊ້ໄດ້ບໍ?</translation>
 <translation id="3764974059056958214">{COUNT,plural, =1{ກຳລັງສົ່ງ <ph name="ATTACHMENTS" /> ຫາ <ph name="DEVICE_NAME" />}other{ກຳລັງສົ່ງ <ph name="ATTACHMENTS" /> ຫາ <ph name="DEVICE_NAME" />}}</translation>
 <translation id="3765246971671567135">ບໍ່ສາມາດອ່ານນະໂຍບາຍໂໝດສາທິດອອບລາຍໄດ້.</translation>
+<translation id="3765696567014520261">ເວັບໄຊບໍ່ສາມາດໃຊ້ຄຸກກີ້ຂອງທ່ານເພື່ອເບິ່ງການເຄື່ອນໄຫວການທ່ອງເວັບຂອງທ່ານໃນເວັບໄຊຕ່າງໆໄດ້, ຕົວຢ່າງ: ເພື່ອປັບແຕ່ງໂຄສະນາໃຫ້ເປັນແບບສ່ວນຕົວ. ຄຸນສົມບັດຢູ່ບາງເວັບໄຊອາດບໍ່ເຮັດວຽກ</translation>
 <translation id="3766687283066842296">ສຶກສາເພີ່ມເຕີມກ່ຽວກັບ Phone Hub</translation>
 <translation id="3766811143887729231"><ph name="REFRESH_RATE" /> Hz</translation>
 <translation id="377050016711188788">ກະແລ້ມ</translation>
@@ -3124,6 +3127,7 @@
 <translation id="3807747707162121253">ຍົກ​ເລີກ​</translation>
 <translation id="3808202562160426447">ຫຼຸດແສງເນື້ອຫາໃນພື້ນຫຼັງ</translation>
 <translation id="3808443763115411087">ການພັດທະນາແອັບ Android ໃນ Crostini</translation>
+<translation id="3808617121485025547">ເພີ່ມເຕີມກ່ຽວກັບການບລັອກຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="38089336910894858">ສະແດງຄຳເຕືອນກ່ອນການອອກດ້ວຍ ⌘Q</translation>
 <translation id="3809272675881623365">ກະຕ່າຍ</translation>
 <translation id="3809280248639369696">ແສງຈັນ</translation>
@@ -8087,6 +8091,7 @@
 <translation id="8405046151008197676">ຮັບໄຮໄລ້ຈາກການອັບເດດຫຼ້າສຸດ</translation>
 <translation id="8407199357649073301">ລະດັບຂອງບັນທຶກ:</translation>
 <translation id="8408270600235826886">ທ່ານສາມາດຄວບຄຸມໄດ້ວ່າຈະແບ່ງປັນຂໍ້ມູນຫຍັງໃຫ້ກັບ Google. ທ່ານສາມາດປ່ຽນສິ່ງນີ້ຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າ. ຂໍ້ມູນຈະຖືກໃຊ້ໂດຍສອດຄ່ອງຕາມ <ph name="BEGIN_LINK" />ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ<ph name="END_LINK" /> ຂອງ Google.</translation>
+<translation id="84098433273647700">ຮູບແບບສີສັນປັດຈຸບັນທີ່ທ່ານໄດ້ຕິດຕັ້ງ.</translation>
 <translation id="8410775397654368139">Google Play</translation>
 <translation id="8412136526970428322">ອະນຸຍາດ <ph name="PERMISSION" /> ແລະ ອີກ <ph name="COUNT" /> ລາຍການແລ້ວ</translation>
 <translation id="8413385045638830869">ຖາມ​ກ່ອນ (ແນະ​ນຳ​ໃຫ້)</translation>
@@ -8249,6 +8254,7 @@
 <translation id="8571687764447439720">ເພີ່ມປີ້ Kerberos</translation>
 <translation id="8574990355410201600">ອະນຸຍາດສຽງໃນ <ph name="HOST" /> ທຸກເທື່ອ</translation>
 <translation id="8575286410928791436">ກົດ <ph name="KEY_EQUIVALENT" /> ຄ້າງໄວ້ເພື່ອອອກ</translation>
+<translation id="8576359558126669548">ເພີ່ມເຕີມກ່ຽວກັບການບລັອກຄຸກກີ້ພາກສ່ວນທີສາມໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="8576885347118332789">{NUM_TABS,plural, =1{ເພີ່ມແຖບໃສ່ລາຍການທີ່ຈະອ່ານ}other{ເພີ່ມແຖບໃສ່ລາຍການທີ່ຈະອ່ານ}}</translation>
 <translation id="8577052309681449949">ການຄລິກອັດຕະໂນມັດ, ຂະໜາດເຄີເຊີ, ສີເຄີເຊີ ແລະ ອື່ນໆ</translation>
 <translation id="8578639784464423491">ບໍ່ສາມາດເກີນ 99 ຕົວອັກສອນ</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 4878c1c..63a6358 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -345,6 +345,7 @@
 <translation id="1307165550267142340">PIN kodas sukurtas</translation>
 <translation id="1307431692088049276">Daugiau neklausti</translation>
 <translation id="1307559529304613120">Oi, sistemai nepavyko išsaugoti šio įrenginio ilgalaikio API prieigos kodo.</translation>
+<translation id="131112695174432497">Duomenys, turintys įtakos suasmeninant skelbimus, ištrinami</translation>
 <translation id="1312811472299082263">Kūrimas iš „Ansible Playbook“ ar „Crostini“ atsarginės kopijos failo</translation>
 <translation id="1313264149528821971">Pašalinti leidimai „<ph name="PERMISSION_1" />“, „<ph name="PERMISSION_2" />“, „<ph name="PERMISSION_3" />“</translation>
 <translation id="1313405956111467313">Automatinė tarpinio serverio konfigūracija</translation>
@@ -506,6 +507,7 @@
 <translation id="1457907785077086338">Programos ženklelio spalva</translation>
 <translation id="146000042969587795">Šis rėmelis užblokuotas, nes jame yra nesaugaus turinio.</translation>
 <translation id="1461041542809785877">Našumas</translation>
+<translation id="1461177659295855031">Perkelti į žymių juostos aplanką</translation>
 <translation id="146219525117638703">ONC būsena</translation>
 <translation id="146220085323579959">Internetas atjungtas. Patikrinkite interneto ryšį ir bandykite dar kartą.</translation>
 <translation id="1462850958694534228">Peržiūrėkite atnaujintą piktogramą</translation>
@@ -876,6 +878,7 @@
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="1778457539567749232">Pažymėti kaip neskaitytą</translation>
 <translation id="1778991607452011493">Siųsti derinimo žurnalus (rekomenduojama)</translation>
+<translation id="1779441632304440041">Nesudėtingus slaptažodžius lengva atspėti. Įsitikinkite, kad kuriate sudėtingus slaptažodžius.</translation>
 <translation id="1779468444204342338">Minimali</translation>
 <translation id="177989070088644880">Programa („<ph name="ANDROID_PACKAGE_NAME" />“)</translation>
 <translation id="1780152987505130652">Uždaryti grupę</translation>
@@ -2108,6 +2111,7 @@
 <translation id="2844169650293029770">USB-C įrenginys (prievadas kairėje, priekinėje dalyje)</translation>
 <translation id="2844809857160214557">Peržiūrėti ir tvarkyti spausdinimo užduotis</translation>
 <translation id="2845382757467349449">Visada rodyti žymių juostą</translation>
+<translation id="2845751331501453107">Tai, ar naršant rodomi suasmeninti skelbimai, priklauso nuo šio nustatymo, <ph name="BEGIN_LINK1" />svetainėje siūlomų skelbimų<ph name="LINK_END1" />, <ph name="BEGIN_LINK2" />slapukų nustatymų<ph name="LINK_END2" /> ir svetainės, kurioje lankotės, t. y. ar ji teikia suasmenintus skelbimus</translation>
 <translation id="284581348330507117">Kurkite unikalius slaptažodžius</translation>
 <translation id="284805635805850872">Pašalinti žalingą programinę įrangą?</translation>
 <translation id="2849035674501872372">Pakelkite galvą</translation>
@@ -2561,6 +2565,7 @@
 <translation id="3288047731229977326">Kūrėjo režimu veikiantys plėtiniai gali padaryti žalos kompiuteryje. Jei nesate kūrėjai, turėtumėte išjungti šių plėtinių veikimą kūrėjo režimu, kad išliktumėte saugūs.</translation>
 <translation id="3289668031376215426">Automatinis didžiųjų raidžių rašymas</translation>
 <translation id="3289856944988573801">Jei norite tikrinti, ar nėra naujinių, naudokite eternetą arba „Wi-Fi“.</translation>
+<translation id="3289886661311231677">Galite blokuoti temas, kurių nenorite bendrinti su svetainėmis. „Chrome“ taip pat automatiškai ištrina senesnes nei keturių savaičių temas.</translation>
 <translation id="3290249595466894471">Taip pat siunčia nedaug puslapių, atsisiuntimų, plėtinių veiklos ir sistemos informacijos, kad padėtų aptikti naujas grėsmes</translation>
 <translation id="3293644607209440645">Siųsti šį puslapį</translation>
 <translation id="32939749466444286">Nepavyko paleisti „Linux“ sudėtinio rodinio. Bandykite dar kartą.</translation>
@@ -2645,6 +2650,7 @@
 <translation id="3370260763947406229">Automatinis taisymas</translation>
 <translation id="3371140690572404006">USB-C įrenginys (prievadas dešinėje, priekinėje dalyje)</translation>
 <translation id="337286756654493126">Skaityti aplankus, kuriuos atidarėte programoje</translation>
+<translation id="3373701465337594448">Įjungus čia rodomas svetainių, kuriose lankotės ir kurios daro prielaidas apie jūsų pomėgius, sąrašas</translation>
 <translation id="3374294321938930390">Žymė „<ph name="BOOKMARK_TITLE" />“ perkelta į aplanką „<ph name="NEW_FOLDER_TITLE" />“.</translation>
 <translation id="3378572629723696641">Šis plėtinys gali būti sugadintas.</translation>
 <translation id="3378627645871606983">„Steam“ suteikti leidimai taikomi visiems „Steam“ žaidimams ir programoms.</translation>
@@ -3051,6 +3057,7 @@
 <translation id="3747603683749989726">Įjungti patobulintą saugą?</translation>
 <translation id="3748424433435232460">Šios paskyros slaptažodis jau išsaugotas šiame įrenginyje</translation>
 <translation id="3748706263662799310">Pateikti ataskaitą apie triktį</translation>
+<translation id="3749724428455457489">Sužinokite daugiau apie svetainėje siūlomus skelbimus</translation>
 <translation id="3750562496035670393">„Chrome“ išsaugojo jūsų slaptažodį šiame įrenginyje, bet galite jį išsaugoti savo „Google“ paskyroje. Tada visi slaptažodžiai „Google“ paskyroje taip pat bus pasiekiami, kol būsite prisijungę.</translation>
 <translation id="3752253558646317685">Paprašykite vaiko kelis kartus atitraukti ir vėl pridėti pirštą, kad būtų išsaugotas kontrolinis kodas</translation>
 <translation id="3753033997400164841">Išsaugokite vieną kartą. Naudokite visur</translation>
@@ -3351,6 +3358,7 @@
 <translation id="3993887353483242788">Sinchronizuokite „<ph name="DEVICE_TYPE" />“, kad jūsų nuostatos būtų paruoštos bet kuriame įrenginyje, kai prisijungsite naudodami „Google“ paskyrą. Nuostatos apima programas, nustatymus, „Wi-Fi“ slaptažodžius, kalbas, ekrano foną, sparčiuosius klavišus ir kt.</translation>
 <translation id="3994318741694670028">Deja, jūsų kompiuteris yra sukonfigūruotas naudojant netinkamai suformuotą aparatinės įrangos ID. Tai neleidžia „ChromeOS Flex“ atnaujinti naujausiais saugos pataisymais ir jūsų kompiuteris <ph name="BEGIN_BOLD" />gali būti neatsparus kenkėjiškoms atakoms<ph name="END_BOLD" />.</translation>
 <translation id="3994374631886003300">Kad atrakintumėte „<ph name="DEVICE_TYPE" />“, atrakinkite telefoną ir padėkite jį arčiau.</translation>
+<translation id="3994708120330953242">Kai kurie jūsų slaptažodžiai rasti duomenų saugos pažeidime. Kad apsaugotumėte paskyras, pakeiskite šiuos slaptažodžius dabar.</translation>
 <translation id="3994878504415702912">Priartinti</translation>
 <translation id="3995138139523574647">USB-C įrenginys (prievadas dešinėje, užpakalinėje dalyje)</translation>
 <translation id="3995963973192100066">Paleisti animaciją</translation>
@@ -4401,6 +4409,7 @@
 <translation id="4992458225095111526">Patvirtinti „Powerwash“</translation>
 <translation id="4992473555164495036">Administratorius apribojo pasiekiamus įvesties metodus.</translation>
 <translation id="4994754230098574403">Nustatoma</translation>
+<translation id="4995293419989417004">Sužinokite daugiau apie skelbimų temas</translation>
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{Nerasta jokių „<ph name="VM_TYPE" />“ virtualių įrenginių}=1{Rastas 1 „<ph name="VM_TYPE" />“ virtualus įrenginys: <ph name="VM_NAME_LIST" />}one{Rastas {NUM_VMS} „<ph name="VM_TYPE" />“ virtualus įrenginys: <ph name="VM_NAME_LIST" />}few{Rastas {NUM_VMS} „<ph name="VM_TYPE" />“ virtualūs įrenginiai: <ph name="VM_NAME_LIST" />}many{Rastas {NUM_VMS} „<ph name="VM_TYPE" />“ virtualaus įrenginio: <ph name="VM_NAME_LIST" />}other{Rastas {NUM_VMS} „<ph name="VM_TYPE" />“ virtualių įrenginių: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">Nėra interneto ryšio.</translation>
 <translation id="4998430619171209993">Įjungta</translation>
@@ -5668,6 +5677,7 @@
 <translation id="6184099524311454384">Ieškoti skirtukų</translation>
 <translation id="6185132558746749656">Įrenginio vietovė</translation>
 <translation id="6190953336330058278">„Phone Hub“ programos</translation>
+<translation id="6192413564913825901">Perkelti į visas žymes</translation>
 <translation id="6195005504600220730">Skaityti informaciją apie jūsų naršyklę, OS ir įrenginį</translation>
 <translation id="6195155925303302899">Lygiuoti centre</translation>
 <translation id="6195693561221576702">Šis įrenginys negali būti nustatytas, kai įjungtas neprisijungus pasiekiamas demonstracinis režimas.</translation>
@@ -5929,6 +5939,7 @@
 <translation id="6444070574980481588">Nustatykite datą ir laiką</translation>
 <translation id="6444147596556711162">Pereikite nuo vieno ekrano elemento prie kito naudodami jungiklius „Kitas“ ir „Ankstesnis“</translation>
 <translation id="6444909401984215022">„<ph name="WINDOW_TITLE" />“ – „Bluetooth“ aktyviai nuskaito</translation>
+<translation id="6445395161658447009">Gali užtrukti iki savaitės, kol čia bus pateiktas naršymo istorija pagrįstas svetainių sąrašas</translation>
 <translation id="6445450263907939268">Jei nepageidaujate šių pakeitimų, galite atkurti ankstesnius nustatymus.</translation>
 <translation id="6446213738085045933">Kurti nuorodą darbalaukyje</translation>
 <translation id="6447842834002726250">Slapukai</translation>
@@ -6977,6 +6988,7 @@
 <translation id="7412226954991670867">GPU atmintis</translation>
 <translation id="7414464185801331860">18 k.</translation>
 <translation id="7415454883318062233">Sąranka baigta</translation>
+<translation id="7415484647604548662">Galite užblokuoti nepageidaujamas svetaines. „Chrome“ taip pat iš sąrašo automatiškai ištrina senesnes nei keturių savaičių svetaines.</translation>
 <translation id="7416091793702109803">Peržiūrėti <ph name="FILE_NAME" /></translation>
 <translation id="7416263748877373774">Nepavyksta įkelti paslaugų teikimo sąlygų. Patikrinkite tinklo ryšį ir bandykite dar kartą.</translation>
 <translation id="7416362041876611053">Nežinoma tinklo klaida.</translation>
@@ -7210,6 +7222,7 @@
 <translation id="7634280112532283638">Mažiau šlamšto ir apgaulių</translation>
 <translation id="7634566076839829401">Kažkas negerai. Bandykite dar kartą.</translation>
 <translation id="7635048370253485243">Prisegė jūsų administratorius</translation>
+<translation id="7635711411613274199">Tai, ar naršant rodomi suasmeninti skelbimai, priklauso nuo šio nustatymo, <ph name="BEGIN_LINK1" />skelbimų temų<ph name="LINK_END1" />, <ph name="BEGIN_LINK2" />slapukų nustatymų<ph name="LINK_END2" /> ir svetainės, kurioje lankotės, t. y. ar ji teikia suasmenintus skelbimus</translation>
 <translation id="7636919061354591437">Įdiegti šiame įrenginyje</translation>
 <translation id="7637253234491814483">Palieskite kontrolinio kodo jutiklį viršutiniame dešiniajame klaviatūros kampe šalia maitinimo mygtuko. Kontrolinio kodo duomenys saugomi saugiai ir niekada nepatenka už „<ph name="DEVICE_TYPE" />“ ribų.</translation>
 <translation id="7637272932128132922">Kol šis skirtukas buvo neaktyvus, atminties taupymo priemonė atlaisvino atminties kitoms užduotims. Galite bet kada tai pakeisti skiltyje „<ph name="SETTINGS_LINK" />“.</translation>
@@ -7478,6 +7491,7 @@
 <translation id="7865127013871431856">Vertimo parinktys</translation>
 <translation id="786957569166715433">„<ph name="DEVICE_NAME" />“ – susietas</translation>
 <translation id="7869655448736341731">Visi</translation>
+<translation id="787069710204604994">Pavyzdžiui, jei lankotės svetainėje, kurioje parduodami ilgo nuotolio bėgimo bateliai, ji gali nuspręsti, kad jus domina bėgimo maratonai. Vėliau, apsilankius kitoje svetainėje, joje gali būti rodomas pirmosios svetainės siūlomas bėgimo batelių skelbimas.</translation>
 <translation id="7870730066603611552">Nustačius peržiūrėti sinchronizavimo parinktis</translation>
 <translation id="7870790288828963061">Nerasta jokių naujesnių versijų viešojo terminalo programų. Naujinių nėra. Atjunkite USB atmintuką.</translation>
 <translation id="7871049986386271121">Visada šioje svetainėje</translation>
@@ -8813,6 +8827,7 @@
 <translation id="9076523132036239772">Apgailestaujame, nepavyko patvirtinti jūsų el. pašto ir slaptažodžio. Pabandykite pirmiausia prisijungti prie tinklo.</translation>
 <translation id="9076821103818989526">Šoninis skydelis</translation>
 <translation id="9076977315710973122">SMB bendrinimas</translation>
+<translation id="907779190626433918">Kiekvienoje svetainėje ar programoje naudokite unikalų slaptažodį. Jei kas nors sužinos pakartotinai naudojamą slaptažodį, jį naudojant bus galima prisijungti prie kitų jūsų paskyrų.</translation>
 <translation id="9078193189520575214">Taikomi pakeitimai...</translation>
 <translation id="9078316009970372699">Išjungti momentinį įrenginio kaip modemo naudojimą</translation>
 <translation id="9078842827190780028">Žr. daugiau paieškos rezultatų šoniniame skydelyje</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 2840c23e..c7c1b86f 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -60,6 +60,7 @@
 <translation id="1054153489933238809">Åpne det opprinnelige &amp;bildet i en ny fane</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{Oppdater <ph name="DEVICE_TYPE" /> innen én uke}other{Oppdater <ph name="DEVICE_TYPE" /> innen {NUM_WEEKS} uker}}</translation>
 <translation id="1056898198331236512">Advarsel</translation>
+<translation id="1056980582064308040">Hvis du endrer innstillingene, starter wifi-sonen på nytt. Enheter som bruker wifi-sonen kobles fra.</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Skriv inn den nye PIN-koden. PIN-koden må bestå av minst ett tegn og kan inneholde bokstaver, tall og andre tegn.}other{Skriv inn den nye PIN-koden. PIN-koden må bestå av minst # tegn og kan inneholde bokstaver, tall og andre tegn.}}</translation>
 <translation id="1059484610606223931">Protokoll for sikker hypertekstoverføring (HTTPS)</translation>
@@ -307,6 +308,7 @@
 <translation id="1272079795634619415">Stopp</translation>
 <translation id="1272508081857842302">Åpning av <ph name="BEGIN_LINK" />støttede linker<ph name="END_LINK" /></translation>
 <translation id="1272978324304772054">Denne brukerkontoen tilhører ikke domenet som enheten er registrert for. Hvis du vil registrere deg for et annet domene, må du først gå gjennom enhetsgjenoppretting.</translation>
+<translation id="1273937721055267968">Blokker <ph name="DOMAIN" /></translation>
 <translation id="1274997165432133392">Informasjonskapsler og andre nettstedsdata</translation>
 <translation id="1275718070701477396">Valgt</translation>
 <translation id="1276994519141842946">Kunne ikke avinstallere <ph name="APP_NAME" /></translation>
@@ -359,6 +361,7 @@
 <translation id="1327495825214193325">For å slå på ADB-feilsøking må denne <ph name="DEVICE_TYPE" />-enheten startes på nytt. Den må tilbakestilles til fabrikkstandard hvis du vil slå ADB-feilsøking av igjen.</translation>
 <translation id="1327527584824210101">Bruk tilgangsnøkkelen din</translation>
 <translation id="1327794256477341646">Funksjoner som krever posisjonen din, kommer ikke til å virke</translation>
+<translation id="1329466763986822896">Styrk personvernet for denne wifi-sonen</translation>
 <translation id="1331977651797684645">Dette var meg.</translation>
 <translation id="1333489022424033687">Noen funksjoner på <ph name="ORIGIN" /> fungerer kanskje ikke før du sletter data som andre nettsteder har lagret på enheten</translation>
 <translation id="1333965224356556482">Ikke la nettsteder se posisjonen din</translation>
@@ -596,6 +599,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{Inkognitovinduet ditt blir ikke gjenåpnet.}other{De # inkognitovinduene dine blir ikke gjenåpnet.}}</translation>
 <translation id="1546280085599573572">Denne utvidelsen har endret hvilken side som vises når du klikker på Startside-knappen.</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> vil installere en <ph name="EXTENSION_TYPE" /> som kan:</translation>
+<translation id="1547123415014299762">Informasjonskapsler fra tredjeparter tillates</translation>
 <translation id="1547808936554660006">Jeg forstår at installerte e-SIM-profiler ikke blir fjernet av Powerwash</translation>
 <translation id="1547936895218027488">Klikk på sidepanel-ikonet for å åpne det</translation>
 <translation id="1549275686094429035">ARC er påslått</translation>
@@ -1407,6 +1411,7 @@
 <translation id="2247870315273396641">Stemmeforhåndsvisning</translation>
 <translation id="2249111429176737533">Åpne som vindu med faner</translation>
 <translation id="2249605167705922988">f.eks. 1–5, 8, 11–13</translation>
+<translation id="2249635629516220541">Tilpass informasjonen som brukes av nettsteder for å vise deg annonser</translation>
 <translation id="2251218783371366160">Åpne med visningsprogrammet for systemet</translation>
 <translation id="225163402930830576">Oppdater nettverk</translation>
 <translation id="2251809247798634662">Nytt inkognitovindu</translation>
@@ -1858,6 +1863,7 @@
 <translation id="2640299212685523844">Bruk GTK</translation>
 <translation id="264083724974021997">Koble til telefonen din – dialogboks</translation>
 <translation id="2642111877055905627">Fotball</translation>
+<translation id="2643064289437760082">Du kan alltid slette målingsdata for annonser ved å slette nettlesingsdataene dine</translation>
 <translation id="2643698698624765890">Du kan administrere utvidelsene dine ved å klikke på Utvidelser i vindusmenyen.</translation>
 <translation id="2645047101481282803">Enheten administreres av <ph name="PROFILE_NAME" /></translation>
 <translation id="2645435784669275700">ChromeOS</translation>
@@ -2317,6 +2323,7 @@
 <translation id="3036327949511794916">Tidsfristen for å returnere <ph name="DEVICE_TYPE" /> er utløpt.</translation>
 <translation id="3036546437875325427">Slå på blitsen</translation>
 <translation id="3037754279345160234">Kan ikke parse konfigurasjonen for å tilknytte domene. Kontakt administratoren din.</translation>
+<translation id="3038272154009688107">Se alle nettsteder</translation>
 <translation id="3038612606416062604">Legg til en skriver manuelt</translation>
 <translation id="3039491566278747710">Kunne ikke installere regelen for bruk uten nett på enheten.</translation>
 <translation id="3043016484125065343">Logg på for å se bokmerkene dine</translation>
@@ -2553,6 +2560,7 @@
 <translation id="3289668031376215426">Automatisk stor forbokstav</translation>
 <translation id="3289856944988573801">For å sjekke etter oppdateringer, kan du bruke Ethernet eller Wifi.</translation>
 <translation id="3290249595466894471">Sender også et lite utvalg av sider, nedlastinger, utvidelsesaktivitet og systeminformasjon for å bidra til å oppdage nye trusler</translation>
+<translation id="3293181007446299124">Nettleserloggen din holdes privat på enheten din, og rapporter sendes med en forsinkelse for å beskytte identiteten din</translation>
 <translation id="3293644607209440645">Send denne siden</translation>
 <translation id="32939749466444286">Linux-beholderen startet ikke. Prøv på nytt.</translation>
 <translation id="3294437725009624529">Gjest</translation>
@@ -3331,6 +3339,7 @@
 <translation id="3984431586879874039">Vil du la dette nettstedet se sikkerhetsnøkkelen din?</translation>
 <translation id="398477389655464998">Kopiér link til markert tekst</translation>
 <translation id="3984862166739904574">Hurtiginfo-definisjon</translation>
+<translation id="3985022125189960801">Legg til et nettsted igjen hvis du vil ha det i gruppen med nettsteder som kan gjette hva du liker</translation>
 <translation id="3987544746655539083">Fortsett å blokkere dette nettstedet fra å få tilgang til posisjonen din</translation>
 <translation id="3987938432087324095">Det fikk jeg ikke med meg.</translation>
 <translation id="3987993985790029246">Kopiér link</translation>
@@ -3709,6 +3718,7 @@
 <translation id="4366138410738374926">Utskriften er påbegynt</translation>
 <translation id="4367513928820380646">Gjennomgå fjernede tillatelser</translation>
 <translation id="4369215744064167350">Nettstedsforespørselen er godkjent</translation>
+<translation id="4369735607080757018">Begrensede datatyper deles mellom nettsteder for å måle resultatene for annonsene, for eksempel når på dagen en annonse ble vist for deg</translation>
 <translation id="4370975561335139969">E-posten og passordet du skrev inn, stemmer ikke overens.</translation>
 <translation id="4374831787438678295">Linux-installasjonsprogram</translation>
 <translation id="4375035964737468845">åpne nedlastede filer</translation>
@@ -3729,6 +3739,7 @@
 <translation id="4385146930797718821">Skjermdumpen er kopiert til utklippstavlen</translation>
 <translation id="4385905942116811558">Søker etter Bluetooth- og USB-enheter</translation>
 <translation id="4387890294700445764">Passord utsatt for sikkerhetsbrudd</translation>
+<translation id="4388650384344483842">Bruk minst åtte tegn</translation>
 <translation id="4389091756366370506">Bruker <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, og <ph name="NUMBER_OF_OTHER_SWITCHES" /> brytere til</translation>
 <translation id="439266289085815679">Bluetooth-konfigurasjonen kontrolleres av <ph name="USER_EMAIL" />.</translation>
@@ -4050,6 +4061,7 @@
 <translation id="4666472247053585787">Se varsler fra telefonen din på <ph name="DEVICE_TYPE" /></translation>
 <translation id="4666911709726371538">Flere apper</translation>
 <translation id="4667027203988048332">Disse dataene brukes:</translation>
+<translation id="4668279686271488041">Data om annonsemålinger slettes regelmessig fra enheten din.</translation>
 <translation id="4672759829555593783">Åpne <ph name="FILE_NAME" /> nå</translation>
 <translation id="46733273239502219">Frakoblede data i installerte apper blir også slettet</translation>
 <translation id="4673442866648850031">Åpne pekepennverktøyene når pekepennen fjernes</translation>
@@ -4243,6 +4255,7 @@
 <translation id="485480310608090163">Flere innstillinger og tillatelser</translation>
 <translation id="4858913220355269194">Drible</translation>
 <translation id="4862642413395066333">Signering av OCSP-svar</translation>
+<translation id="4863702650881330715">Utvid kompatibilitet</translation>
 <translation id="4863769717153320198">Ser ut som <ph name="WIDTH" /> x <ph name="HEIGHT" /> (standard)</translation>
 <translation id="4864805589453749318">Velg den forelderen som gir tillatelse til å legge til en skolekonto.</translation>
 <translation id="486635084936119914">Åpne visse filtyper automatisk når de lastes ned</translation>
@@ -4489,6 +4502,7 @@
 <translation id="5094721898978802975">kommunisere med samarbeidende integrerte apper</translation>
 <translation id="5097002363526479830">Kunne ikke koble til nettverket «<ph name="NAME" />»: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">Finn ut mer om bruk av posisjon</translation>
+<translation id="5097349930204431044">Nettstedene du besøker, kan bestemme hva du liker, og deretter foreslå annonser ved kontinuerlig lesing</translation>
 <translation id="5097649414558628673">Verktøy: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">Klikk automatisk når markøren stanser</translation>
 <translation id="5101683448725092498">Sikkerhetskopier tingene dine</translation>
@@ -4671,6 +4685,7 @@
 <translation id="5275352920323889391">Hund</translation>
 <translation id="527605719918376753">Slå av lyden for fanen</translation>
 <translation id="527605982717517565">Tillat alltid JavaScript på <ph name="HOST" /></translation>
+<translation id="5276357196618041410">Kan ikke lagre konfigurasjonen uten pålogging først</translation>
 <translation id="5277127016695466621">Vis sidepanelet</translation>
 <translation id="5278823018825269962">Status-ID</translation>
 <translation id="5279600392753459966">Blokkér alle</translation>
@@ -6164,6 +6179,7 @@
 <translation id="6670767097276846646">Noen utvidelser kan legge til søkemotorer i Chrome</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{en adresse}other{# adresser}}</translation>
 <translation id="6671497123040790595">Konfigurerer administrering av <ph name="MANAGER" /></translation>
+<translation id="6672917148207387131">Legg til <ph name="DOMAIN" /></translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">For å starte synkroniseringen, skriv inn passordfrasen din</translation>
 <translation id="6675665718701918026">En pekeenhet er koblet til</translation>
@@ -6247,6 +6263,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (Inkognito)</translation>
 <translation id="6756157672127672536">Med Filer-appen får du rask tilgang til filer du har lagret på Google Disk, eksterne lagringsenheter eller ChromeOS-enheten din.</translation>
 <translation id="6756643207511618722">Talemotorer</translation>
+<translation id="6757431299485455321">Hjelp andre enheter med å finne denne wifi-sonen.</translation>
 <translation id="6758056191028427665">Gi oss tilbakemelding.</translation>
 <translation id="6759193508432371551">Tilbakestilling til fabrikkstandard</translation>
 <translation id="6761431452438552910">Sørg for at Bluetooth-enheten din er i tilkoblingsmodus og i nærheten. Koble bare til enheter du stoler på.</translation>
@@ -6346,6 +6363,7 @@
 <translation id="6833479554815567477">Fanen er fjernet fra gruppen <ph name="GROUP_NAME" /> – <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">Bytt til en smart og sikker nettleser</translation>
 <translation id="6833996806551876956">Prøveperiode på Prosessisolering for personvern</translation>
+<translation id="6835712061486505758">Opprett en wifi-sone for å gi internett til andre enheter. <ph name="BEGIN_LINK_LEARN_MORE" />Finn ut mer<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">Koble til Internett for å oppdatere <ph name="DEVICE_TYPE" />.</translation>
 <translation id="6839225236531462745">Feil ved sletting av sertifikat</translation>
 <translation id="6839916869147598086">Påloggingen er endret</translation>
@@ -6507,6 +6525,7 @@
 <translation id="697508444536771064">Avslutt Linux</translation>
 <translation id="6975361011348772931">Har bedt om tillatelse til å lese og endre</translation>
 <translation id="6978121630131642226">Søkemotorer</translation>
+<translation id="6978717888677691380">Nettsteder du har blokkert</translation>
 <translation id="6979041727349121225">Strømsparing</translation>
 <translation id="6979044105893951891">starte og avslutte administrerte gjesteøkter</translation>
 <translation id="6979440798594660689">Kutt lyden (standard)</translation>
@@ -6598,6 +6617,7 @@
 <translation id="7047059339731138197">Velg en bakgrunn</translation>
 <translation id="7048457618657122233">Del link med <ph name="SHARE_TARGET" /></translation>
 <translation id="7049293980323620022">Vil du beholde filen?</translation>
+<translation id="7050037487872780845">Ugyldig konfigurasjon av wifi-sone</translation>
 <translation id="7052237160939977163">Send ytelsessporingsdata</translation>
 <translation id="7053983685419859001">Blokkér</translation>
 <translation id="7055152154916055070">Viderekoblingen er blokkert:</translation>
@@ -6802,6 +6822,7 @@
 <translation id="7258192266780953209">Transformasjoner</translation>
 <translation id="7258225044283673131">Appen svarer ikke. Velg «Tving avslutning» for å lukke appen.</translation>
 <translation id="7260186537988033909">Registreringen som kiosk- og skiltenhet er fullført</translation>
+<translation id="7260367682327802201">Android-enheten din kan ha en lignende innstilling. Hvis måling av annonser er slått på i Chrome og på Android-enheten din, kan et selskap måle effektiviteten til en annonse på alle nettsteder du besøker og apper du bruker.</translation>
 <translation id="7262004276116528033">Verten for denne påloggingstjenesten er <ph name="SAML_DOMAIN" /></translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{Tillatelsene er fjernet for 1 nettsted}other{Tillatelsene er fjernet for {NUM_SITES} nettsteder}}</translation>
 <translation id="7264695323040866038">Vil du alltid bruke <ph name="APP" />-appen til å åpne støttede nettlinker?</translation>
@@ -6945,6 +6966,7 @@
 <translation id="7406912950279255498">Modus for fargeinvertering</translation>
 <translation id="7407430846095439694">Importér og bind</translation>
 <translation id="7407504355934009739">De fleste blokkerer varsler fra dette nettstedet</translation>
+<translation id="7408080603962564527">Dette blir synlig for andre</translation>
 <translation id="740810853557944681">Legg til en utskriftstjener</translation>
 <translation id="7409549334477097887">Ekstra stor</translation>
 <translation id="7409599290172516453">Nylige bilder</translation>
@@ -7260,6 +7282,7 @@
 <translation id="7684718995427157417">For å lage og teste apper, slå på Android Debug Bridge (ADB). Merk at dette gjør det mulig å installere Android-apper som ikke er verifisert av Google, og enheten må tilbakestilles til fabrikkinnstillingene hvis du vil slå av ADB igjen.</translation>
 <translation id="7685049629764448582">JavaScript-minne</translation>
 <translation id="7685087414635069102">PIN-kode kreves</translation>
+<translation id="7686086654630106285">Mer om annonser som foreslås på nettstedet</translation>
 <translation id="7686581688229391955">Velg for å tillate utvidelser på dette nettstedet</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">Bekreft det nye passordet</translation>
@@ -7281,6 +7304,7 @@
 <translation id="7704317875155739195">Autofullfør søk og nettadresser</translation>
 <translation id="7704521324619958564">Åpne Play Butikk</translation>
 <translation id="7705276765467986571">Kan ikke laste inn bokmerkemodell.</translation>
+<translation id="7705334495398865155">En tilfeldig maskinvare-ID (BSSID) for å forhindre at andre sporer denne enheten.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">Dette nettstedet er blokkert fra å bruke bevegelsessensorer.</translation>
 <translation id="7707922173985738739">Bruk mobildata</translation>
@@ -7474,6 +7498,7 @@
 <translation id="7881483672146086348">Se konto</translation>
 <translation id="7883792253546618164">Du kan avslutte abonnementet når som helst.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{Gjennomgå 1 nettsted som har sendt mange varsler}other{Gjennomgå {NUM_SITES} nettsteder som har sendt mange varsler}}</translation>
+<translation id="7884446017008693258">Innstillinger for wifi-sone</translation>
 <translation id="788453346724465748">Laster inn kontoinformasjon …</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{et element}other{# elementer}}</translation>
 <translation id="7886605625338676841">e-SIM-kort</translation>
@@ -7699,6 +7724,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Du kan slå av denne tjenesten i Innstillinger.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">Faner</translation>
 <translation id="8076835018653442223">Administratoren din har deaktivert tilgang til lokale filer på enheten din</translation>
+<translation id="8077120325605624147">Alle nettsteder du besøker, kan vise deg alle slags annonser</translation>
 <translation id="80798452873915119">Nettsteder kan be om å få administrere vinduer på alle skjermene dine</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">Økten din administreres av <ph name="MANAGER_NAME" />. Administratorer kan slette profilen din og dessuten overvåke nettverkstrafikken din.</translation>
@@ -8211,6 +8237,7 @@
 <translation id="8557180006508471423">Slå på «Google Chrome» i Stedstjenester på Macen</translation>
 <translation id="8557856025359704738">Neste nedlasting utføres <ph name="NEXT_DATE_DOWNLOAD" />.</translation>
 <translation id="8559858985063901027">Tilgangsnøkler</translation>
+<translation id="8559961053328923750">Chrome begrenser den totale mengden data nettsteder kan dele via nettleseren for å måle annonseresultater</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{Åpne alle i &amp;nytt vindu}=1{Åpne i &amp;nytt vindu}other{Åpne alle ({COUNT}) i &amp;nytt vindu}}</translation>
 <translation id="8561206103590473338">Elefant</translation>
 <translation id="8561565784790166472">Vær forsiktig når du går videre</translation>
@@ -8353,6 +8380,7 @@
 <translation id="8678933587484842200">Hvordan vil du at denne appen skal starte?</translation>
 <translation id="8680251145628383637">Logg på for å hente bokmerkene dine, loggen din, passordene dine og andre innstillinger på alle enhetene du bruker. Du blir dessuten automatisk logget på Google-tjenestene du bruker.</translation>
 <translation id="8681614230122836773">Chrome fant skadelig programvare på datamaskinen</translation>
+<translation id="8681886425883659911">Annonser blokkeres på nettsteder som er kjent for å vise forstyrrende eller villedende annonser</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> er tilkoblet og klar til bruk</translation>
 <translation id="8687103160920393343">Avbryt <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Tilgjengelig</translation>
@@ -8723,6 +8751,7 @@
 <translation id="9021662811137657072">Virus oppdaget</translation>
 <translation id="902236149563113779">Nettsteder sporer vanligvis kameraposisjonen din for å kunne tilby AR-funksjoner, som spill eller heads-up-anvisninger</translation>
 <translation id="9022847679183471841">Denne kontoen er allerede i bruk på denne datamaskinen, av <ph name="AVATAR_NAME" />.</translation>
+<translation id="9022871169049522985">Nettsteder og annonsører kan måle annonseresultater sine</translation>
 <translation id="9023015617655685412">Bokmerk denne fanen</translation>
 <translation id="9023909777842748145">Enhetens evne til å sende informasjonen som kreves for nødvendige tjenester, for eksempel systemoppdateringer og sikkerhet, påvirkes ikke hvis du slår av denne funksjonen.</translation>
 <translation id="9024127637873500333">&amp;Åpne i ny fane</translation>
@@ -8852,6 +8881,7 @@
 <translation id="9128335130883257666">Åpne innstillingssiden for <ph name="INPUT_METHOD_NAME" /></translation>
 <translation id="9128870381267983090">Koble til nettverk</translation>
 <translation id="9130015405878219958">Ugyldig modus angitt.</translation>
+<translation id="9131209053278896908">Blokkerte nettsteder her</translation>
 <translation id="9131487537093447019">sende meldinger til og motta meldinger fra Bluetooth-enheter.</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 bokmerke}other{# bokmerker}}</translation>
 <translation id="9134066738478820307">Nettsteder kan bruke identifikatorer til å spille av beskyttet innhold</translation>
@@ -8905,6 +8935,7 @@
 <translation id="9180281769944411366">Denne prosessen kan ta noen minutter. Starter Linux-beholderen.</translation>
 <translation id="9180380851667544951">Nettstedet kan dele skjermen din</translation>
 <translation id="9182556968660520230">Ikke la nettsteder spille av beskyttet innhold</translation>
+<translation id="9183331776983279456">Chrome sletter automatisk nettsteder som er eldre enn fire uker. Et nettsted som du besøker på nytt, kan havne på listen igjen. Du kan også blokkere et nettsted fra å foreslå annonser for deg.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{App}other{# apper}}</translation>
 <translation id="9186963452600581158">Logg på med Google-kontoen til et barn</translation>
 <translation id="9187967020623675250">Tastene stemmer ikke overens. Trykk på en tast for å <ph name="RESPONSE" />.</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index 637ba5e6..b9786531 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -45,6 +45,7 @@
 <translation id="1041175011127912238">ଏହି ପୃଷ୍ଠାଟି କାମ କରୁନାହିଁ</translation>
 <translation id="1041263367839475438">ଉପଲବ୍ଧ ଥିବା ଡିଭାଇସ୍‍ଗୁଡ଼ିକ</translation>
 <translation id="1042174272890264476">ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟର୍‌ରେ ମଧ୍ୟ ପୂର୍ବରୁ<ph name="SHORT_PRODUCT_NAME" />ର RLZ ଲାଇବ୍ରେରୀ ଥାଏ। ଏକ ନିର୍ଦ୍ଧିଷ୍ଟ ପ୍ରଚାର ଅଭିଯାନରେ ବ୍ୟବହାର ହୋ‍ଇଥିବା ସନ୍ଧାନ ଏବଂ <ph name="SHORT_PRODUCT_NAME" />ର ବ୍ୟବହାର ମାପିବାକୁ RLZ ଏକ ସାଧାରଣ, ସାର୍ବଜନିକ ଚିହ୍ନିପାରିବା ପରି ଟାଗ୍‌ ନିରୂପଣ କରେ। Google ସର୍ଚ୍ଚ କ୍ୱେରୀର <ph name="PRODUCT_NAME" />ରେ ଏହି ଲେବଲ୍‌ଗୁଡ଼ିକ ବେଳେବେଳେ ଦେଖାଯାଏ।</translation>
+<translation id="1042248468362992359">ହଟସ୍ପଟ ବ୍ୟବହାର କରିବାକୁ ମୋବାଇଲ ଡାଟା ସହ କନେକ୍ଟ କରନ୍ତୁ। <ph name="BEGIN_LINK_LEARN_MORE" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1043505821207197890">କିଛି ତ୍ରୁଟି ହୋଇଛି। Linuxକୁ କେବଳ ଆଂଶିକ ଭାବେ ଅପଗ୍ରେଡ କରାଯାଇପାରେ। ଅଧିକ ସୂଚନା ପାଇଁ ଲଗଗୁଡ଼ିକର ସମୀକ୍ଷା କରନ୍ତୁ। ଫାଇଲଗୁଡ଼ିକ &gt; ମୋ ଫାଇଲଗୁଡ଼ିକ &gt; <ph name="LOG_FILE" />ରେ ଲଗଗୁଡ଼ିକୁ ସେଭ କରାଯାଇଛି</translation>
 <translation id="104419033123549300">କୀ'ମେପ ଷ୍ଟାଇଲ</translation>
 <translation id="104710386808485638">Linux ରିଷ୍ଟାର୍ଟ କରିବେ?</translation>
@@ -158,6 +159,7 @@
 <translation id="1139923033416533844">ମେମୋରୀର ବ୍ୟବହାର</translation>
 <translation id="1140351953533677694">ଆପଣଙ୍କର ବ୍ଲୁଟୁଥ୍ ଏବଂ ସିରିୟଲ୍ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ ଆକ୍‌ସେସ୍ କରନ୍ତୁ</translation>
 <translation id="114036956334641753">ଅଡିଓ ଏବଂ କ୍ୟାପ୍‌ସନ୍‌ଗୁଡ଼ିକ</translation>
+<translation id="1141949282671776404">ଏହି ଟାବଟି ନିଷ୍କ୍ରିୟ ଥିବା ସମୟରେ, ଅନ୍ୟ ଟାସ୍କଗୁଡ଼ିକ ପାଇଁ ମେମୋରୀ ସେଭର <ph name="MEMORY_VALUE" />ର ମେମୋରୀ ଖାଲି କରିଛି।</translation>
 <translation id="1142002900084379065">ବର୍ତ୍ତମାନର ଫଟୋଗୁଡ଼ିକ</translation>
 <translation id="1143142264369994168">ସାର୍ଟିଫିକେଟ୍‌ ଦସ୍ତଖତକାରୀ</translation>
 <translation id="1143816224540441191">{NUM_MINS,plural, =1{Chrome ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେରକୁ ଖୋଜି ପାଇଲା ନାହିଁ • 1 ମିନିଟ୍ ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}other{Chrome ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେରକୁ ଖୋଜି ପାଇଲା ନାହିଁ • {NUM_MINS} ମିନିଟ୍ ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}}</translation>
@@ -316,6 +318,7 @@
 <translation id="1285320974508926690">ଏହି ସାଇଟ୍‍କୁ କଦାପି ଅନୁବାଦ କରନ୍ତୁ ନାହିଁ</translation>
 <translation id="1285484354230578868">ଆପଣଙ୍କର Google Drive ଆକାଉଣ୍ଟରେ ଡାଟା ଷ୍ଟୋର୍ କରନ୍ତୁ</translation>
 <translation id="1285625592773741684">ଡାଟା ବ୍ୟବହାରର ବର୍ତ୍ତମାନ ସେଟିଂ "ମୋବାଇଲ ଡାଟା"ରେ ସେଟ୍ ହୋଇଛି</translation>
+<translation id="1285815028662278915">ଆପଣଙ୍କ ମୋବାଇଲ ଡାଟା ହଟସ୍ପଟକୁ ସମର୍ଥନ କରେ ନାହିଁ। <ph name="BEGIN_LINK_LEARN_MORE" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1288037062697528143">ସୂର୍ଯ୍ୟାସ୍ତ ସମୟରେ ରାତ୍ରୀକାଳୀନ ଆଲୋକ ଚାଲୁ କରାଯିବ</translation>
 <translation id="1288300545283011870">ସ୍ପୀଚ୍‌ର ଗୁଣାବଳୀ</translation>
 <translation id="1289619947962767206">ଏହି ବିକଳ୍ପ ଆଉ ସମର୍ଥିତ ନୁହେଁ। ଗୋଟିଏ ଟାବକୁ ପ୍ରେଜେଣ୍ଟ କରିବା ପାଇଁ, <ph name="GOOGLE_MEET" /> ବ୍ୟବହାର କରନ୍ତୁ।</translation>
@@ -650,6 +653,7 @@
 <translation id="1596286373007273895">ଉପଲବ୍ଧ</translation>
 <translation id="1596709061955594992">ବ୍ଲୁଟୁଥ ବନ୍ଦ ଅଛି। ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକ ଦେଖିବାକୁ, ବ୍ଲୁଟୁଥ ଚାଲୁ କରନ୍ତୁ।</translation>
 <translation id="1596780725094407793">- ସବଡୋମେନ ଅନ୍ତର୍ଭୁକ୍ତ ଅଛି</translation>
+<translation id="1598163867407640634"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> ମାଧ୍ୟମରେ <ph name="SITE_ETLD_PLUS_ONE" /> ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="1598233202702788831">ଆପଣଙ୍କର ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ଅପ୍‌ଡେଟ୍ ଅକ୍ଷମ କରାଯାଇଛି।</translation>
 <translation id="1600857548979126453">ପୃଷ୍ଠା ଡିବଗର୍ ବ୍ୟାକ୍‍ଏଣ୍ଡ ଆକ୍ସେସ୍‌ କରନ୍ତୁ</translation>
 <translation id="1601560923496285236">ଲାଗୁ କରନ୍ତୁ</translation>
@@ -1225,6 +1229,7 @@
       <ph name="BR" />
       <ph name="BEGIN_BOLD" />ଧ୍ୟାନ ଦିଅନ୍ତୁ:<ph name="END_BOLD" />  ପ୍ରକ୍ରିୟା ଚାଲିଥିବା ସମୟରେ ସିଷ୍ଟମ ରିବୁଟ ହେବ।</translation>
 <translation id="2095774564753225041">ସମର୍ଥିତ ଫାଇଲ ପ୍ରକାରଗୁଡ଼ିକ</translation>
+<translation id="2097616539631531348">ଏହି ଟାବଟି ନିଷ୍କ୍ରିୟ ଥିବା ସମୟରେ, ମେମୋରୀ ସେଭର ଅନ୍ୟ ଟାସ୍କଗୁଡ଼ିକ ପାଇଁ ମେମୋରୀ ଖାଲି କରିଛି।</translation>
 <translation id="2098805196501063469">ଅବଶିଷ୍ଟ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="2099686503067610784">ସର୍ଭର୍ ସାର୍ଟିଫିକେଟ୍ "<ph name="CERTIFICATE_NAME" />" ଡିଲିଟ୍ କରିବେ କି?</translation>
 <translation id="2100273922101894616">ସ୍ୱତଃ ସାଇନ୍-ଇନ୍‌</translation>
@@ -3366,6 +3371,7 @@
 <translation id="4040041015953651705">ଏହି ଭାଷାରୁ ଅନୁବାଦ କରାଯିବ</translation>
 <translation id="4040105702484676956"><ph name="SITE_NAME" /> ଏବଂ ଏହାର ଇନଷ୍ଟଲ ହୋଇଥିବା ଆପଗୁଡ଼ିକ ପାଇଁ ସାଇଟ ଡାଟା ଓ ଅନୁମତିଗୁଡ଼ିକୁ ଖାଲି କରିବେ କି?</translation>
 <translation id="4042863763121826131">{NUM_PAGES,plural, =1{ପୃଷ୍ଠାରୁ ବାହାରି ଯାଆନ୍ତୁ}other{ପୃଷ୍ଠାରୁ ବାହାରି ଯାଆନ୍ତୁ}}</translation>
+<translation id="4042941173059740150"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> ମାଧ୍ୟମରେ <ph name="SITE_ETLD_PLUS_ONE" /> ସହ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="4043267180218562935">କର୍ସର ଆକାର</translation>
 <translation id="4044612648082411741">ଆପଣଙ୍କ ସାର୍ଟିଫିକେଟ୍‌‍ର ପାସ୍‍ୱାର୍ଡ ଲେଖନ୍ତୁ</translation>
 <translation id="4044708573046946214">ସ୍କ୍ରିନ୍ ଲକ୍ ପାସୱାର୍ଡ</translation>
@@ -8324,6 +8330,7 @@
 <translation id="8674903726754070732">ଦୁର୍ଭାଗ୍ୟବଶତଃ, ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରକୁ ଏକ ତ୍ରୁଟିପୂର୍ଣ୍ଣ ହାର୍ଡୱେର IDରେ କନଫିଗର କରାଯାଇଛି। ଏହା ChromeOSରେ ନବୀନତମ ସୁରକ୍ଷା ସମାଧାନଗୁଡ଼ିକୁ ଅପଡେଟ କରିବାରେ ପ୍ରତିରୋଧ କରେ ଏବଂ ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରକୁ <ph name="BEGIN_BOLD" />କ୍ଷତିକାରକ ଆକ୍ରମଣଗୁଡ଼ିକର ସମ୍ଭାବନା ଥାଇପାରେ<ph name="END_BOLD" />।</translation>
 <translation id="8675704450909805533"><ph name="DEVICE_OS" /> ଇନଷ୍ଟଲ କରିବାକୁ ଇନଷ୍ଟଲର ଏକ ବୈଧ ଗନ୍ତବ୍ୟସ୍ଥଳ ପାଇଲେ ନାହିଁ।</translation>
 <translation id="8676152597179121671">{COUNT,plural, =1{ଭିଡିଓ}other{#ଟି ଭିଡିଓ}}</translation>
+<translation id="8676276370198826499"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /> ମାଧ୍ୟମରେ <ph name="SITE_ETLD_PLUS_ONE" />ରେ ସାଇନ ଅପ କରନ୍ତୁ</translation>
 <translation id="8676313779986170923">ମତାମତ ପଠାଇଥିବା ଯୋଗୁଁ ଧନ୍ୟବାଦ।</translation>
 <translation id="8676374126336081632">ଇନ୍‌ପୁଟ୍ ଖାଲି କରନ୍ତୁ</translation>
 <translation id="8676770494376880701">ନିମ୍ନ-ଶକ୍ତିର ଚାର୍ଜର୍ ସଂଯୋଗ କରାଯାଇଛି</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 3a485674..10d871d 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -45,6 +45,7 @@
 <translation id="1041175011127912238">Ta strona nie odpowiada</translation>
 <translation id="1041263367839475438">Dostępne urządzenia</translation>
 <translation id="1042174272890264476">Twój komputer zawiera również wbudowaną bibliotekę RLZ <ph name="SHORT_PRODUCT_NAME" />. Przypisuje ona powtarzalny, nieumożliwiający identyfikacji użytkownika tag służący do monitorowania wyszukiwań i używania <ph name="SHORT_PRODUCT_NAME" /> w ramach określonej kampanii promocyjnej. Etykiety te czasami pojawiają się w zapytaniach wyszukiwarki Google w <ph name="PRODUCT_NAME" />.</translation>
+<translation id="1042248468362992359">Aby używać hotspota, połącz się przez mobilną transmisję danych. <ph name="BEGIN_LINK_LEARN_MORE" />Więcej informacji<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1043505821207197890">Coś poszło nie tak. Linux mógł nie zostać w pełni uaktualniony. Aby dowiedzieć się więcej, przejrzyj dzienniki. Zostały one zapisane tutaj: Pliki &gt; Moje pliki &gt; <ph name="LOG_FILE" /></translation>
 <translation id="104419033123549300">Styl mapy klawiszy</translation>
 <translation id="104710386808485638">Uruchomić Linuksa ponownie?</translation>
@@ -156,6 +157,7 @@
 <translation id="1139923033416533844">Wykorzystanie pamięci</translation>
 <translation id="1140351953533677694">Dostęp do urządzeń Bluetooth i szeregowych</translation>
 <translation id="114036956334641753">Dźwięk i napisy</translation>
+<translation id="1141949282671776404">Gdy ta karta była nieaktywna, funkcja Oszczędzania pamięci zwolniła <ph name="MEMORY_VALUE" /> na inne zadania.</translation>
 <translation id="1142002900084379065">Najnowsze zdjęcia</translation>
 <translation id="1143142264369994168">Podmiot podpisujący certyfikat</translation>
 <translation id="1143816224540441191">{NUM_MINS,plural, =1{Szkodliwe oprogramowanie nie zostało znalezione przez Chrome na komputerze • Sprawdzono minutę temu}few{Szkodliwe oprogramowanie nie zostało znalezione przez Chrome na komputerze • Sprawdzono {NUM_MINS} minuty temu}many{Szkodliwe oprogramowanie nie zostało znalezione przez Chrome na komputerze • Sprawdzono {NUM_MINS} minut temu}other{Szkodliwe oprogramowanie nie zostało znalezione przez Chrome na komputerze • Sprawdzono {NUM_MINS} minuty temu}}</translation>
@@ -317,6 +319,7 @@
 <translation id="1285320974508926690">Nigdy nie tłumacz tej witryny</translation>
 <translation id="1285484354230578868">Przechowywanie danych na koncie Dysku Google</translation>
 <translation id="1285625592773741684">Bieżące ustawienie transmisji danych to Mobilna transmisja danych</translation>
+<translation id="1285815028662278915">Mobilna transmisja danych może nie obsługiwać hotspota. <ph name="BEGIN_LINK_LEARN_MORE" />Więcej informacji<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1288037062697528143">Podświetlenie nocne będzie włączać się automatycznie o zachodzie słońca</translation>
 <translation id="1288300545283011870">Właściwości syntezy mowy</translation>
 <translation id="1289619947962767206">Ta opcja nie jest już obsługiwana. Do prezentowania kart używaj <ph name="GOOGLE_MEET" />.</translation>
@@ -653,6 +656,7 @@
 <translation id="1596286373007273895">Dostępne</translation>
 <translation id="1596709061955594992">Bluetooth jest wyłączony. Włącz go, aby zobaczyć dostępne urządzenia.</translation>
 <translation id="1596780725094407793">– obejmuje subdomeny</translation>
+<translation id="1598163867407640634">Korzystaj z witryny <ph name="SITE_ETLD_PLUS_ONE" />, używając: <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="1598233202702788831">Aktualizacje zostały wyłączone przez administratora.</translation>
 <translation id="1600857548979126453">Dostęp do backendu debugera stron</translation>
 <translation id="1601560923496285236">Zastosuj</translation>
@@ -1226,6 +1230,7 @@
       <ph name="BR" />
       <ph name="BEGIN_BOLD" />Uwaga:<ph name="END_BOLD" /> podczas tego procesu system uruchomi się ponownie.</translation>
 <translation id="2095774564753225041">Obsługiwane typy plików</translation>
+<translation id="2097616539631531348">Gdy ta karta była nieaktywna, funkcja Oszczędzanie pamięci zwolniła pamięć na inne zadania.</translation>
 <translation id="2098805196501063469">Sprawdź pozostałe hasła</translation>
 <translation id="2099686503067610784">Czy usunąć certyfikat serwera „<ph name="CERTIFICATE_NAME" />”?</translation>
 <translation id="2100273922101894616">Automatyczne logowanie</translation>
@@ -3356,6 +3361,7 @@
 <translation id="4040041015953651705">Język źródłowy tłumaczenia</translation>
 <translation id="4040105702484676956">Czy chcesz wyczyścić dane i uprawnienia witryny <ph name="SITE_NAME" /> i zainstalowanych z niej aplikacji?</translation>
 <translation id="4042863763121826131">{NUM_PAGES,plural, =1{Zamknij stronę}few{Zamknij strony}many{Zamknij strony}other{Zamknij strony}}</translation>
+<translation id="4042941173059740150">Przejdź do witryny <ph name="SITE_ETLD_PLUS_ONE" />, używając: <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="4043267180218562935">Rozmiar kursora</translation>
 <translation id="4044612648082411741">Podaj hasło certyfikatu</translation>
 <translation id="4044708573046946214">Hasło blokady ekranu</translation>
@@ -8318,6 +8324,7 @@
 <translation id="8674903726754070732">Twój komputer jest skonfigurowany przy użyciu błędnie sformatowanego identyfikatora sprzętu. Ta sytuacja uniemożliwia zaktualizowanie Chrome OS za pomocą najnowszych poprawek zabezpieczeń, a komputer <ph name="BEGIN_BOLD" />może być narażony na złośliwe ataki<ph name="END_BOLD" />.</translation>
 <translation id="8675704450909805533">Instalator nie znalazł prawidłowego miejsca docelowego, w którym mógłby zainstalować system operacyjny <ph name="DEVICE_OS" />.</translation>
 <translation id="8676152597179121671">{COUNT,plural, =1{Film}few{# filmy}many{# filmów}other{# filmu}}</translation>
+<translation id="8676276370198826499">Zarejestruj się w witrynie <ph name="SITE_ETLD_PLUS_ONE" />, używając: <ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" /></translation>
 <translation id="8676313779986170923">Dziękujemy za przesłanie opinii.</translation>
 <translation id="8676374126336081632">Wyczyść wpisany tekst</translation>
 <translation id="8676770494376880701">Podłączono ładowarkę o małej mocy</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index d0a08d3..b08c472b 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -342,6 +342,7 @@
 <translation id="1307165550267142340">O PIN foi criado.</translation>
 <translation id="1307431692088049276">Não voltar a perguntar</translation>
 <translation id="1307559529304613120">Ups! O sistema não conseguiu guardar a chave de acesso da API de longo prazo para este dispositivo.</translation>
+<translation id="131112695174432497">Os dados que afetam a personalização de anúncios são apagados</translation>
 <translation id="1312811472299082263">Crie a partir de um ficheiro de cópia de segurança do Crostini ou de um guia interativo do Ansible</translation>
 <translation id="1313264149528821971">Autorizações <ph name="PERMISSION_1" />, <ph name="PERMISSION_2" /> e <ph name="PERMISSION_3" /> removidas</translation>
 <translation id="1313405956111467313">Configuração automática do proxy</translation>
@@ -503,6 +504,7 @@
 <translation id="1457907785077086338">Cor do emblema da app</translation>
 <translation id="146000042969587795">Esta moldura foi bloqueada, pois contém alguns conteúdos não seguros.</translation>
 <translation id="1461041542809785877">Desempenho</translation>
+<translation id="1461177659295855031">Mover para a pasta Barra de marcadores</translation>
 <translation id="146219525117638703">Estado ONC</translation>
 <translation id="146220085323579959">Internet desligada. Verifique a ligação à internet e tente novamente.</translation>
 <translation id="1462850958694534228">Analise a atualização do ícone</translation>
@@ -867,6 +869,7 @@
 <translation id="1776883657531386793"><ph name="OID" />: <ph name="INFO" /></translation>
 <translation id="1778457539567749232">Marcar como não lida</translation>
 <translation id="1778991607452011493">Enviar registos de depuração (recomendado)</translation>
+<translation id="1779441632304440041">As palavras-passe fracas são fáceis de adivinhar. Certifique-se de que cria palavras-passe fortes.</translation>
 <translation id="1779468444204342338">Mínimas</translation>
 <translation id="177989070088644880">App (<ph name="ANDROID_PACKAGE_NAME" />)</translation>
 <translation id="1780152987505130652">Fechar grupo</translation>
@@ -2099,6 +2102,7 @@
 <translation id="2844169650293029770">Dispositivo USB-C (porta frontal do lado esquerdo)</translation>
 <translation id="2844809857160214557">Veja e faça a gestão de tarefas de impressão.</translation>
 <translation id="2845382757467349449">Mostrar Sempre a Barra de Marcadores</translation>
+<translation id="2845751331501453107">À medida que navega, a personalização de um anúncio que lhe é mostrado depende desta definição, dos <ph name="BEGIN_LINK1" />anúncios sugeridos pelos sites<ph name="LINK_END1" />, das <ph name="BEGIN_LINK2" />definições de cookies<ph name="LINK_END2" /> e de se o site que está a ver personaliza os anúncios</translation>
 <translation id="284581348330507117">Crie palavras-passe únicas</translation>
 <translation id="284805635805850872">Remover software prejudicial?</translation>
 <translation id="2849035674501872372">Olhe para cima</translation>
@@ -2557,6 +2561,7 @@
 <translation id="3288047731229977326">As extensões que funcionam no modo de programador podem danificar o seu computador. Se não é programador, deverá desativar as extensões que sejam executadas neste modo para se manter protegido.</translation>
 <translation id="3289668031376215426">Maiúsculas automáticas</translation>
 <translation id="3289856944988573801">Para verificar se existem atualizações, utilize Ethernet ou Wi-Fi.</translation>
+<translation id="3289886661311231677">Pode bloquear os tópicos que não quer partilhar com os sites. O Chrome também apaga automaticamente os tópicos com mais de 4 semanas.</translation>
 <translation id="3290249595466894471">Envia também um pequeno exemplo de páginas, transferências, atividade de extensões e informações do sistema para ajudar a detetar novas ameaças</translation>
 <translation id="3293181007446299124">O seu histórico de navegação é mantido no dispositivo e os relatórios são enviados com um atraso para proteger a sua identidade</translation>
 <translation id="3293644607209440645">Enviar esta página</translation>
@@ -2642,6 +2647,7 @@
 <translation id="3370260763947406229">Correção automática</translation>
 <translation id="3371140690572404006">Dispositivo USB-C (porta frontal do lado direito)</translation>
 <translation id="337286756654493126">Ler pastas que são abertas na aplicação</translation>
+<translation id="3373701465337594448">Quando a opção está ativada, é apresentada aqui uma lista de sites que visita e que adivinham os seus interesses</translation>
 <translation id="3374294321938930390">"<ph name="BOOKMARK_TITLE" />" movido para "<ph name="NEW_FOLDER_TITLE" />".</translation>
 <translation id="3378572629723696641">Esta extensão pode ter sido danificada.</translation>
 <translation id="3378627645871606983">As autorizações que foram permitidas para o Steam aplicam-se a todos os jogos e apps do Steam.</translation>
@@ -3049,6 +3055,7 @@
 <translation id="3747603683749989726">Ativar a segurança melhorada?</translation>
 <translation id="3748424433435232460">Já foi guardada uma palavra-passe para esta conta neste dispositivo</translation>
 <translation id="3748706263662799310">Comunicar um erro</translation>
+<translation id="3749724428455457489">Saber mais acerca dos anúncios sugeridos por sites</translation>
 <translation id="3750562496035670393">O Chrome guardou a sua palavra-passe neste dispositivo, mas pode guardá-la na sua Conta Google em alternativa. Assim, todas as palavras-passe na sua Conta Google também estarão disponíveis enquanto tiver sessão iniciada.</translation>
 <translation id="3752253558646317685">Peça à criança para ir levantando o dedo para guardar a impressão digital</translation>
 <translation id="3753033997400164841">Armazene uma vez. Utilize em todas as plataformas.</translation>
@@ -3351,6 +3358,7 @@
 <translation id="3993887353483242788">Sincronize o dispositivo <ph name="DEVICE_TYPE" /> para que as suas preferências fiquem prontas em qualquer dispositivo quando iniciar sessão com a sua Conta Google. As preferências incluem apps, definições, palavras-passe do Wi-Fi, idiomas, imagem de fundo, atalhos de teclado e muito mais.</translation>
 <translation id="3994318741694670028">Infelizmente, o seu computador está configurado com um ID de hardware formatado incorretamente. Este facto impede que o ChromeOS Flex faça a atualização com as últimas correções de segurança e o seu computador <ph name="BEGIN_BOLD" />pode estar vulnerável a ataques maliciosos<ph name="END_BOLD" />.</translation>
 <translation id="3994374631886003300">Desbloqueie o telemóvel e aproxime-o para desbloquear o <ph name="DEVICE_TYPE" />.</translation>
+<translation id="3994708120330953242">Algumas das suas palavras-passe foram encontradas numa violação de dados. Para proteger as suas contas, deve alterar já essas palavras-passe.</translation>
 <translation id="3994878504415702912">&amp;Zoom</translation>
 <translation id="3995138139523574647">Dispositivo USB-C (porta traseira do lado direito)</translation>
 <translation id="3995963973192100066">Reproduzir animação</translation>
@@ -4406,6 +4414,7 @@
 <translation id="4992458225095111526">Confirmar Powerwash</translation>
 <translation id="4992473555164495036">O administrador limitou os métodos de introdução disponíveis.</translation>
 <translation id="4994754230098574403">A configurar…</translation>
+<translation id="4995293419989417004">Saber mais acerca dos tópicos de anúncios</translation>
 <translation id="4996851818599058005">{NUM_VMS,plural, =0{Nenhuma VM <ph name="VM_TYPE" /> encontrada}=1{1 VM <ph name="VM_TYPE" /> encontrada: <ph name="VM_NAME_LIST" />}other{{NUM_VMS} VMs <ph name="VM_TYPE" /> encontradas: <ph name="VM_NAME_LIST" />}}</translation>
 <translation id="4997086284911172121">Sem ligação à Internet.</translation>
 <translation id="4998430619171209993">Ativado</translation>
@@ -5679,6 +5688,7 @@
 <translation id="6184099524311454384">Pesquisar separadores</translation>
 <translation id="6185132558746749656">Localização do dispositivo</translation>
 <translation id="6190953336330058278">Apps Phone Hub</translation>
+<translation id="6192413564913825901">Mover para Todos os marcadores</translation>
 <translation id="6195005504600220730">Ler informações acerca do seu navegador, SO e dispositivo</translation>
 <translation id="6195155925303302899">Alinhar ao centro</translation>
 <translation id="6195693561221576702">Não é possível configurar este dispositivo no modo de demonstração offline.</translation>
@@ -5941,6 +5951,7 @@
 <translation id="6444070574980481588">Definir data e hora</translation>
 <translation id="6444147596556711162">Utilize "Seguinte" ou "Anterior" para se mover entre os itens no ecrã</translation>
 <translation id="6444909401984215022"><ph name="WINDOW_TITLE" /> – Procura de Bluetooth ativa</translation>
+<translation id="6445395161658447009">Pode demorar até uma semana para que uma lista de sites seja apresentada aqui com base no seu histórico de navegação</translation>
 <translation id="6445450263907939268">Se não pretendia efetuar estas alterações, pode restaurar as definições anteriores.</translation>
 <translation id="6446213738085045933">Criar atalho no ambiente de trabalho</translation>
 <translation id="6447842834002726250">Cookies</translation>
@@ -6992,6 +7003,7 @@
 <translation id="7412226954991670867">Memória GPU</translation>
 <translation id="7414464185801331860">18x</translation>
 <translation id="7415454883318062233">Configuração concluída</translation>
+<translation id="7415484647604548662">Pode bloquear sites que não quer. O Chrome também apaga automaticamente os sites da lista com mais de 4 semanas.</translation>
 <translation id="7416091793702109803">Verificar <ph name="FILE_NAME" /></translation>
 <translation id="7416263748877373774">Não é possível carregar os Termos de Utilização. Verifique a ligação de rede e tente novamente.</translation>
 <translation id="7416362041876611053">Erro de rede desconhecido.</translation>
@@ -7226,6 +7238,7 @@
 <translation id="7634280112532283638">Redução de spam e fraudes</translation>
 <translation id="7634566076839829401">Algo correu mal. Tente mais tarde.</translation>
 <translation id="7635048370253485243">Afixada pelo seu administrador.</translation>
+<translation id="7635711411613274199">À medida que navega, a personalização de um anúncio que lhe é mostrado depende desta definição, dos <ph name="BEGIN_LINK1" />tópicos de anúncios<ph name="LINK_END1" />, das <ph name="BEGIN_LINK2" />definições de cookies<ph name="LINK_END2" /> e de se o site que está a ver personaliza anúncios</translation>
 <translation id="7636919061354591437">Instalar neste dispositivo</translation>
 <translation id="7637253234491814483">Toque no sensor de impressões digitais no canto superior direito do teclado, junto ao botão ligar/desligar. Os seus dados de impressões digitais são armazenados em segurança e nunca saem do <ph name="DEVICE_TYPE" />.</translation>
 <translation id="7637272932128132922">Enquanto este separador estava inativo, a Poupança de memória libertou memória para outras tarefas. Pode alterar esta definição em qualquer altura nas <ph name="SETTINGS_LINK" />.</translation>
@@ -7496,6 +7509,7 @@
 <translation id="7865127013871431856">Opções de tradução</translation>
 <translation id="786957569166715433"><ph name="DEVICE_NAME" /> – sincronizado</translation>
 <translation id="7869655448736341731">Qualquer</translation>
+<translation id="787069710204604994">Por exemplo, se visitar um site que venda ténis de corrida de longa distância, este pode decidir que tem interesse em correr maratonas. Mais tarde, se visitar um site diferente, esse site pode mostrar-lhe um anúncio de ténis de corrida sugerido pelo primeiro site.</translation>
 <translation id="7870730066603611552">Rever opções de sincronização após a configuração</translation>
 <translation id="7870790288828963061">Nenhuma aplicação do Quiosque encontrada com uma versão mais recente. Nada a atualizar. Remova a pen USB.</translation>
 <translation id="7871049986386271121">Sempre neste site</translation>
@@ -8833,6 +8847,7 @@
 <translation id="9076523132036239772">Não foi possível confirmar o seu email ou a sua palavra-passe. Tente ligar primeiro a uma rede.</translation>
 <translation id="9076821103818989526">Painel lateral</translation>
 <translation id="9076977315710973122">Partilha do SMB</translation>
+<translation id="907779190626433918">Use uma palavra-passe exclusiva para cada site ou app. Se alguém descobrir uma palavra-passe reutilizada, pode ser usada para aceder às suas outras contas.</translation>
 <translation id="9078193189520575214">A aplicar alterações…</translation>
 <translation id="9078316009970372699">Desativar Ligação (à Internet) via telemóvel instantânea</translation>
 <translation id="9078842827190780028">Veja mais resultados da pesquisa no painel lateral</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index ad5e96f..58802302 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -59,6 +59,7 @@
 <translation id="1054153489933238809">Otvoriť pôvodný &amp;obrázok na novej karte</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{Aktualizujte zariadenie <ph name="DEVICE_TYPE" /> do 1 týždňa}few{Aktualizujte zariadenie <ph name="DEVICE_TYPE" /> do {NUM_WEEKS} týždňov}many{Aktualizujte zariadenie <ph name="DEVICE_TYPE" /> do {NUM_WEEKS} týždňa}other{Aktualizujte zariadenie <ph name="DEVICE_TYPE" /> do {NUM_WEEKS} týždňov}}</translation>
 <translation id="1056898198331236512">Upozornenie</translation>
+<translation id="1056980582064308040">Ak zmeníte nastavenia, hotspot sa reštartuje. Zariadenia používajúce hotspot sa odpoja.</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Zadajte nový PIN. PIN musí mať aspoň jeden znak a môže obsahovať písmená, čísla a ďalšie znaky.}few{Zadajte nový PIN. PIN musí mať aspoň # znaky a môže obsahovať písmená, čísla a ďalšie znaky.}many{Zadajte nový PIN. A PIN must be at least # characters long and can contain letters, numbers, and other characters.}other{Zadajte nový PIN. PIN musí mať aspoň # znakov a môže obsahovať písmená, čísla a ďalšie znaky.}}</translation>
 <translation id="1059484610606223931">Protokol HTTPS (Hypertext Transport Protocol)</translation>
@@ -305,6 +306,7 @@
 <translation id="1272079795634619415">Zastaviť</translation>
 <translation id="1272508081857842302">Otvárajú sa <ph name="BEGIN_LINK" />podporované odkazy<ph name="END_LINK" /></translation>
 <translation id="1272978324304772054">Tento používateľský účet nepatrí do domény, do ktorej je zaregistrované toto zariadenie. Ak sa chcete zaregistrovať do inej domény, musíte najprv zariadenie obnoviť.</translation>
+<translation id="1273937721055267968">Blokovať <ph name="DOMAIN" /></translation>
 <translation id="1274997165432133392">Súbory cookie a ďalšie dáta webov</translation>
 <translation id="1275718070701477396">Riadok bol vybratý</translation>
 <translation id="1276994519141842946">Aplikáciu <ph name="APP_NAME" /> sa nepodarilo odinštalovať</translation>
@@ -356,6 +358,7 @@
 <translation id="1327495825214193325">Ak chcete aktivovať ladenie ADB, musíte reštartovať toto zariadenie <ph name="DEVICE_TYPE" />. Jeho deaktivácia vyžaduje obnovenie výrobných nastavení.</translation>
 <translation id="1327527584824210101">Použite svoj prístupový kľúč</translation>
 <translation id="1327794256477341646">Funkcie vyžadujúce vašu polohu nebudú fungovať</translation>
+<translation id="1329466763986822896">Zlepšiť ochranu súkromia pre tento hotspot</translation>
 <translation id="1331977651797684645">To som bol(a) ja.</translation>
 <translation id="1333489022424033687">Niektoré funkcie na <ph name="ORIGIN" /> nemusia fungovať, dokým nevymažete dáta, ktoré ostatné weby uložili v zariadení</translation>
 <translation id="1333965224356556482">Nepovoliť webom zobrazovať polohu</translation>
@@ -595,6 +598,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{Vaše okno inkognito sa neotvorí.}few{Vaše # okná inkognito sa neotvoria.}many{Your # Incognito windows won't reopen.}other{Vašich # okien inkognito sa neotvorí.}}</translation>
 <translation id="1546280085599573572">Toto rozšírenie zmenilo stránku, ktorá sa zobrazí po kliknutí na tlačidlo Domovská stránka.</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> chce nainštalovať <ph name="EXTENSION_TYPE" />, ktoré dokáže:</translation>
+<translation id="1547123415014299762">Súbory cookie tretích strán sú povolené</translation>
 <translation id="1547808936554660006">Rozumiem, že profily nainštalovanej eSIM karty sa neodstránia obnovením pomocou funkcie Powerwash</translation>
 <translation id="1547936895218027488">Ak chcete otvoriť bočný panel, kliknite na jeho ikonu</translation>
 <translation id="1549275686094429035">ARC je aktivované</translation>
@@ -1398,6 +1402,7 @@
 <translation id="2247870315273396641">Ukážka hlasu</translation>
 <translation id="2249111429176737533">Otvoriť ako okno s kartami</translation>
 <translation id="2249605167705922988">napr. 1-5, 8, 11-13</translation>
+<translation id="2249635629516220541">Prispôsobenie informácií, na základe ktorých weby zobrazujú reklamy</translation>
 <translation id="2251218783371366160">Otvoriť pomocou systémového zobrazovača</translation>
 <translation id="225163402930830576">Obnoviť siete</translation>
 <translation id="2251809247798634662">Nové okno inkognito</translation>
@@ -1846,6 +1851,7 @@
 <translation id="2640299212685523844">Použiť GTK</translation>
 <translation id="264083724974021997">Pripojte sa k svojmu telefónu – dialógové okno</translation>
 <translation id="2642111877055905627">Futbalová lopta</translation>
+<translation id="2643064289437760082">Údaje merania reklám môžete kedykoľvek odstrániť vymazaním dát prehliadania</translation>
 <translation id="2643698698624765890">Ak chcete spravovať rozšírenia, kliknite na možnosť Rozšírenia v ponuke Okno.</translation>
 <translation id="2645047101481282803">Vaše zariadenie spravuje <ph name="PROFILE_NAME" />.</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
@@ -2305,6 +2311,7 @@
 <translation id="3036327949511794916">Termín na vrátenie tohto zariadenia <ph name="DEVICE_TYPE" /> uplynul.</translation>
 <translation id="3036546437875325427">Povoliť Flash</translation>
 <translation id="3037754279345160234">Konfigurácia pridania do domény sa nedá analyzovať. Kontaktujte správcu.</translation>
+<translation id="3038272154009688107">Zobraziť všetky weby</translation>
 <translation id="3038612606416062604">Manuálne pridanie tlačiarne</translation>
 <translation id="3039491566278747710">Pravidlo pre režim offline sa nepodarilo v zariadení nainštalovať.</translation>
 <translation id="3043016484125065343">Ak chcete vidieť svoje záložky, prihláste sa</translation>
@@ -2541,6 +2548,7 @@
 <translation id="3289668031376215426">Automatické písanie veľkých písmen</translation>
 <translation id="3289856944988573801">Ak chcete skontrolovať aktualizácie, použite sieť ethernet alebo Wi‑Fi.</translation>
 <translation id="3290249595466894471">Odosiela aj malú vzorku stránok, stiahnutých súborov, aktivity rozšírení a informácií o systéme, čím pomáha zisťovať nové hrozby</translation>
+<translation id="3293181007446299124">Vaša história prehliadania je v zariadení uchovaná v súkromí a hlásenia sa z dôvodu ochrany vašej totožnosti odosielajú s oneskorením</translation>
 <translation id="3293644607209440645">Odoslať túto stránku</translation>
 <translation id="32939749466444286">Kontajner Linux sa nespustil. Skúste to znova.</translation>
 <translation id="3294437725009624529">Hosť</translation>
@@ -3321,6 +3329,7 @@
 <translation id="3984431586879874039">Chcete tomuto webu povoliť zobrazenie vášho bezpečnostného kľúča?</translation>
 <translation id="398477389655464998">Kopírovať odkaz na zvýraznenie</translation>
 <translation id="3984862166739904574">Definícia v rámci rýchlych odpovedí</translation>
+<translation id="3985022125189960801">Ak chcete, aby bol web v skupine webov, ktoré dokážu určiť, čo sa vám páči, pridajte ho späť</translation>
 <translation id="3987544746655539083">Pokračovať v blokovaní prístupu tohto webu k polohe</translation>
 <translation id="3987938432087324095">Je nám to ľúto, ale nebolo vám dobre rozumieť.</translation>
 <translation id="3987993985790029246">Kopírovať odkaz</translation>
@@ -3698,6 +3707,7 @@
 <translation id="4366138410738374926">Tlač sa začala</translation>
 <translation id="4367513928820380646">Skontrolovať odstránené povolenia</translation>
 <translation id="4369215744064167350">Žiadosť o web bola schválená</translation>
+<translation id="4369735607080757018">Medzi webmi sa zdieľajú obmedzené typy údajov na meranie výkonnosti reklám, napríklad čas dňa, kedy sa vám reklama zobrazila.</translation>
 <translation id="4370975561335139969">Zadaný e-mail a heslo nesúhlasia.</translation>
 <translation id="4374831787438678295">Inštalátor systému Linux</translation>
 <translation id="4375035964737468845">Otvárať stiahnuté súbory</translation>
@@ -3718,6 +3728,7 @@
 <translation id="4385146930797718821">Snímka obrazovky bola skopírovaná do schránky</translation>
 <translation id="4385905942116811558">Vyhľadávajú sa zariadenia s rozhraniami Bluetooth a USB</translation>
 <translation id="4387890294700445764">Prelomené heslá</translation>
+<translation id="4388650384344483842">Použite aspoň osem znakov</translation>
 <translation id="4389091756366370506">Používateľ <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" /> a ďalšie (<ph name="NUMBER_OF_OTHER_SWITCHES" />) prepínače</translation>
 <translation id="439266289085815679">Konfiguráciu rozhrania Bluetooth spravuje <ph name="USER_EMAIL" />.</translation>
@@ -4039,6 +4050,7 @@
 <translation id="4666472247053585787">Zobrazte si upozornenia z telefónu v zariadení <ph name="DEVICE_TYPE" /></translation>
 <translation id="4666911709726371538">Ďalšie aplikácie</translation>
 <translation id="4667027203988048332">Aké údaje sa používajú:</translation>
+<translation id="4668279686271488041">Údaje merania reklám sa zo zariadenia pravidelne odstraňujú</translation>
 <translation id="4672759829555593783">Otvoriť súbor <ph name="FILE_NAME" /></translation>
 <translation id="46733273239502219">Budú vymazané aj offline údaje v nainštalovaných aplikáciách</translation>
 <translation id="4673442866648850031">Pri odstránení dotykového pera spúšťať nástroje pre dotykové pero</translation>
@@ -4232,6 +4244,7 @@
 <translation id="485480310608090163">Ďalšie nastavenia a povolenia</translation>
 <translation id="4858913220355269194">Fritz</translation>
 <translation id="4862642413395066333">Podpisovanie odpovedí protokolu OCSP</translation>
+<translation id="4863702650881330715">Rozšíriť kompatibilitu</translation>
 <translation id="4863769717153320198">Vyzerá ako <ph name="WIDTH" /> x <ph name="HEIGHT" /> (predvolené)</translation>
 <translation id="4864805589453749318">Vyberte rodiča, ktorý udeľuje povolenie pridať školský účet.</translation>
 <translation id="486635084936119914">Automaticky otvoriť určité typy súborov po ich stiahnutí</translation>
@@ -4478,6 +4491,7 @@
 <translation id="5094721898978802975">Komunikovať so spolupracujúcimi natívnymi aplikáciami</translation>
 <translation id="5097002363526479830">K sieti „<ph name="NAME" />“ sa nepodarilo pripojiť: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">Ďalšie informácie o používaní polohy</translation>
+<translation id="5097349930204431044">Weby, ktoré navštevujete, môžu určiť, čo sa vám páči, a na základe toho navrhovať počas vášho prehliadania reklamy</translation>
 <translation id="5097649414558628673">Nástroj: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">Automaticky kliknúť po zastavení kurzora</translation>
 <translation id="5101683448725092498">Zálohujte si obsah</translation>
@@ -4660,6 +4674,7 @@
 <translation id="5275352920323889391">Pes</translation>
 <translation id="527605719918376753">Stlmiť kartu</translation>
 <translation id="527605982717517565">Vždy povoliť jazyk JavaScript na stránkach <ph name="HOST" /></translation>
+<translation id="5276357196618041410">Konfiguráciu nie je možné uložiť bez predchádzajúceho prihlásenia</translation>
 <translation id="5277127016695466621">Zobraziť bočný panel</translation>
 <translation id="5278823018825269962">Identifikátor stavu</translation>
 <translation id="5279600392753459966">Blokovať všetky</translation>
@@ -6158,6 +6173,7 @@
 <translation id="6670767097276846646">Niektoré rozšírenia môžu pridávať vyhľadávače do Chromu</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{adresu}few{# adresy}many{# addresses}other{# adries}}</translation>
 <translation id="6671497123040790595"><ph name="MANAGER" /> nastavuje správu</translation>
+<translation id="6672917148207387131">Pridať <ph name="DOMAIN" /></translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">Ak chcete spustiť synchronizáciu, zadajte prístupovú frázu</translation>
 <translation id="6675665718701918026">Bolo pripojené ukazovacie zariadenie</translation>
@@ -6241,6 +6257,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (Inkognito)</translation>
 <translation id="6756157672127672536">Aplikácia Súbory poskytuje rýchly prístup k súborom, ktoré ste uložili na Disk Google, do externého úložiska alebo zariadenia so systémom Chrome OS.</translation>
 <translation id="6756643207511618722">Hlasové nástroje</translation>
+<translation id="6757431299485455321">Umožnite ostatným zariadeniam nájsť tento hotspot.</translation>
 <translation id="6758056191028427665">Dajte nám tak vedieť, ako sa nám darí v našom úsilí.</translation>
 <translation id="6759193508432371551">Obnovenie výrobných nastavení</translation>
 <translation id="6761431452438552910">Skontrolujte, či je zariadenie s rozhraním Bluetooth v párovacom režime a nablízku. Párujte iba zariadenia, ktorým veríte.</translation>
@@ -6340,6 +6357,7 @@
 <translation id="6833479554815567477">Karta bola odstránená zo skupiny <ph name="GROUP_NAME" /> – <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">Prepnite na inteligentný a bezpečný prehliadač</translation>
 <translation id="6833996806551876956">Skúšobné obdobie karantény ochrany súkromia</translation>
+<translation id="6835712061486505758">Vytvorením hotspotu Wi‐Fi pripojte k internetu ďalšie zariadenia. <ph name="BEGIN_LINK_LEARN_MORE" />Ďalšie informácie<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">Ak chcete aktualizovať zariadenie <ph name="DEVICE_TYPE" />, pripojte sa k internetu.</translation>
 <translation id="6839225236531462745">Chyba odstránenia certifikátu</translation>
 <translation id="6839916869147598086">Prihlásenie sa zmenilo</translation>
@@ -6501,6 +6519,7 @@
 <translation id="697508444536771064">Vypnúť Linux</translation>
 <translation id="6975361011348772931">Žiada o povolenie čítať a meniť</translation>
 <translation id="6978121630131642226">Vyhľadávače</translation>
+<translation id="6978717888677691380">Weby, ktoré ste zablokovali</translation>
 <translation id="6979041727349121225">Šetrič energie</translation>
 <translation id="6979044105893951891">Spustenie a ukončenie spravovaných relácií hosťa</translation>
 <translation id="6979440798594660689">Ignorovať (predvolené)</translation>
@@ -6592,6 +6611,7 @@
 <translation id="7047059339731138197">Vyberte pozadie</translation>
 <translation id="7048457618657122233">Zdieľať odkaz na <ph name="SHARE_TARGET" /></translation>
 <translation id="7049293980323620022">Ponechať súbor?</translation>
+<translation id="7050037487872780845">Neplatná konfigurácia hotspotu</translation>
 <translation id="7052237160939977163">Odosielať údaje sledovania výkonnosti</translation>
 <translation id="7053983685419859001">Blokovať</translation>
 <translation id="7055152154916055070">Presmerovanie bolo zablokované:</translation>
@@ -6796,6 +6816,7 @@
 <translation id="7258192266780953209">Transformácie</translation>
 <translation id="7258225044283673131">Aplikácia nereaguje. Zavrite ju výberom možnosti Vynútiť zavretie.</translation>
 <translation id="7260186537988033909">Registrácia zariadenia pomocou verejného terminálu a značenia bola dokončená</translation>
+<translation id="7260367682327802201">Zariadenie s Androidom môže mať podobné nastavenie. Ak máte v Chrome a zariadení s Androidom zapnuté meranie reklám, príslušná firma môže merať účinnosť reklamy na weboch, ktoré navštevujete, aj v aplikáciách, ktoré používate.</translation>
 <translation id="7262004276116528033">Túto prihlasovaciu službu hostí doména <ph name="SAML_DOMAIN" /></translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{Povolenia boli odstránené pre 1 web}few{Povolenia boli odstránené pre {NUM_SITES} weby}many{Permissions removed for {NUM_SITES} sites}other{Povolenia boli odstránené pre {NUM_SITES} webov}}</translation>
 <translation id="7264695323040866038">Chcete otvárať podporované odkazy na weby pomocou aplikácie <ph name="APP" />?</translation>
@@ -6939,6 +6960,7 @@
 <translation id="7406912950279255498">Režim inverzie farieb</translation>
 <translation id="7407430846095439694">Importovať a spojiť</translation>
 <translation id="7407504355934009739">Väčšina ľudí blokuje upozornenia z tohto webu</translation>
+<translation id="7408080603962564527">Uvidia ho ostatní</translation>
 <translation id="740810853557944681">Pridanie tlačového servera</translation>
 <translation id="7409549334477097887">Veľmi veľký</translation>
 <translation id="7409599290172516453">Najnovšie fotky</translation>
@@ -7254,6 +7276,7 @@
 <translation id="7684718995427157417">Ak chcete vytvárať a testovať aplikácie, aktivujte Android Debug Bridge (ADB). Upozorňujeme, že touto akciou umožníte inštalácie aplikácií pre Android, ktoré Google neoveril, a deaktivácia vyžaduje obnovenie výrobných nastavení.</translation>
 <translation id="7685049629764448582">Pamäť jazyka JavaScript</translation>
 <translation id="7685087414635069102">Vyžaduje sa kód PIN</translation>
+<translation id="7686086654630106285">Ďalšie informácie o reklamách navrhovaných webmi</translation>
 <translation id="7686581688229391955">Výberom tejto možnosti povolíte rozšírenia na tomto webe</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">Potvrďte nové heslo</translation>
@@ -7275,6 +7298,7 @@
 <translation id="7704317875155739195">Automaticky dopĺňať vyhľadávania a webové adresy</translation>
 <translation id="7704521324619958564">Otvoriť Obchod Play</translation>
 <translation id="7705276765467986571">Nepodarilo sa načítať model záložiek.</translation>
+<translation id="7705334495398865155">Randomizujte identifikátor hardvéru (BSSID), aby ostatní nemohli sledovať toto zariadenie.</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">Tomuto webu bolo zablokované používanie senzorov pohybu.</translation>
 <translation id="7707922173985738739">Používať mobilné dáta</translation>
@@ -7468,6 +7492,7 @@
 <translation id="7881483672146086348">Zobraziť účet</translation>
 <translation id="7883792253546618164">Odber môžete kedykoľvek zrušiť.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{Skontrolujte 1 web, ktorý odoslal veľa upozornení}few{Skontrolujte {NUM_SITES} weby, ktoré odoslali veľa upozornení}many{Review {NUM_SITES} sites that sent a lot of notifications}other{Skontrolujte {NUM_SITES} webov, ktoré odoslali veľa upozornení}}</translation>
+<translation id="7884446017008693258">Nastavenia hotspotu</translation>
 <translation id="788453346724465748">Načítavajú sa informácie o účte…</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{položku}few{# položky}many{# items}other{# položiek}}</translation>
 <translation id="7886605625338676841">eSIM</translation>
@@ -7693,6 +7718,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Túto službu môžete vypnúť v Nastaveniach.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">Karty</translation>
 <translation id="8076835018653442223">Prístup k miestnym súborom vo vašom zariadení zakázal správca</translation>
+<translation id="8077120325605624147">Všetky weby, ktoré navštívite, vám môžu zobrazovať ľubovoľné reklamy</translation>
 <translation id="80798452873915119">Weby môžu žiadať o povolenie spravovať okná na všetkých obrazovkách</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">Reláciu spravuje <ph name="MANAGER_NAME" />. Správcovia môžu odstrániť váš profil aj sledovať vašu sieťovú premávku.</translation>
@@ -8205,6 +8231,7 @@
 <translation id="8557180006508471423">V sekcii Lokalizačné služby v Macu zapnite Google Chrome</translation>
 <translation id="8557856025359704738">Ďalšie stiahnutie nastane o <ph name="NEXT_DATE_DOWNLOAD" />.</translation>
 <translation id="8559858985063901027">Prístupové kľúče</translation>
+<translation id="8559961053328923750">Chrome obmedzuje celkové množstvo údajov na meranie výkonnosti reklám, ktoré môžu weby zdieľať prostredníctvom prehliadača</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{Otvoriť všetky v novom okne}=1{Otvoriť v novom okne}few{Otvoriť všetky ({COUNT}) v novom okne}many{Otvoriť všetky ({COUNT}) v novom okne}other{Otvoriť všetky ({COUNT}) v novom okne}}</translation>
 <translation id="8561206103590473338">Slon</translation>
 <translation id="8561565784790166472">Postupujte opatrne</translation>
@@ -8346,6 +8373,7 @@
 <translation id="8678933587484842200">Ako sa má táto aplikácia spúšťať?</translation>
 <translation id="8680251145628383637">Prihláste sa a používajte svoje záložky, históriu, heslá a ďalšie nastavenia vo všetkých svojich zariadeniach. Navyše sa tak automaticky prihlásite do služieb Googlu.</translation>
 <translation id="8681614230122836773">Chrome našiel vo vašom počítači škodlivý softvér</translation>
+<translation id="8681886425883659911">Na weboch, o ktorých sa vie, že zobrazujú obťažujúce alebo zavádzajúce reklamy, sú reklamy blokované</translation>
 <translation id="8682730193597992579">Tlačiareň <ph name="PRINTER_NAME" /> je pripojená a k dispozícii</translation>
 <translation id="8687103160920393343">Zrušiť sťahovanie súboru <ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">K dispozícii</translation>
@@ -8718,6 +8746,7 @@
 <translation id="9021662811137657072">Našiel sa vírus</translation>
 <translation id="902236149563113779">Weby zvyčajne sledujú polohu kamery, aby mohli poskytovať funkcie RR, ako sú hry alebo upozornenia s trasami</translation>
 <translation id="9022847679183471841">Tento účet už v tomto počítači používa <ph name="AVATAR_NAME" />.</translation>
+<translation id="9022871169049522985">Weby a inzerenti môžu merať výkonnosť svojich reklám</translation>
 <translation id="9023015617655685412">Pridať kartu medzi záložky…</translation>
 <translation id="9023909777842748145">Vypnutím tejto funkcie neovplyvníte schopnosť zariadenia odosielať informácie potrebné na fungovanie základných služieb, ako sú aktualizácie systému a zabezpečenie.</translation>
 <translation id="9024127637873500333">&amp;Otvoriť na novej karte</translation>
@@ -8847,6 +8876,7 @@
 <translation id="9128335130883257666">Otvoriť nastavenia stránky pre <ph name="INPUT_METHOD_NAME" /></translation>
 <translation id="9128870381267983090">Pripojiť k sieti</translation>
 <translation id="9130015405878219958">Zadali ste neplatný režim.</translation>
+<translation id="9131209053278896908">Tu sa zobrazujú blokované weby</translation>
 <translation id="9131487537093447019">Posielať správy zariadeniam Bluetooth a prijímať správy zo zariadení Bluetooth.</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 záložka}few{# záložky}many{# bookmarks}other{# záložiek}}</translation>
 <translation id="9134066738478820307">Weby môžu na prehrávanie chráneného obsahu používať identifikátory</translation>
@@ -8900,6 +8930,7 @@
 <translation id="9180281769944411366">Tento proces môže trvať niekoľko minút. Spúšťa sa kontajner systému Linux.</translation>
 <translation id="9180380851667544951">Web môže zdieľať vašu obrazovku</translation>
 <translation id="9182556968660520230">Nepovoliť webom prehrávať chránený obsah</translation>
+<translation id="9183331776983279456">Chrome automaticky odstraňuje weby, ktoré sú staršie ako štyri týždne. Web, ktorý znova navštívite, sa môže v zozname opäť zobraziť. Prípadne môžete zablokovať navrhovanie reklám určitým webom.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{Aplikácia}few{# aplikácie}many{# apps}other{# aplikácií}}</translation>
 <translation id="9186963452600581158">Prihlásiť sa účtom Google dieťaťa</translation>
 <translation id="9187967020623675250">Klávesy sa nezhodujú. Ak chcete <ph name="RESPONSE" />, stlačte ľubovoľný kláves.</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 938fa6fa..daa27e68 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -45,6 +45,7 @@
 <translation id="1041175011127912238">ఈ పేజీ ప్రతిస్పందించడం లేదు</translation>
 <translation id="1041263367839475438">అందుబాటులో ఉన్న పరికరాలు</translation>
 <translation id="1042174272890264476">మీ కంప్యూటర్‌‍లో కూడా <ph name="SHORT_PRODUCT_NAME" /> యొక్క అంతర్గత RLZ లైబ్రరీ ఉంటుంది. RLZ సెర్చ్‌లను మరియు నిర్దిష్ట ప్రమోషనల్ ప్రచారం ద్వారా ఉపయోగించబడిన <ph name="SHORT_PRODUCT_NAME" /> వినియోగాన్ని లెక్కించడానికి, ప్రత్యేకం కానటువంటి, వ్యక్తిగతంగా గుర్తించలేని ట్యాగ్‌ను సమర్పిస్తుంది. ఈ లేబుళ్లు కొన్నిసార్లు <ph name="PRODUCT_NAME" />లోని Google Search ప్రశ్నలలో కనిపిస్తాయి.</translation>
+<translation id="1042248468362992359">మొబైల్ డేటాకు కనెక్ట్ చేసి, హాట్‌స్పాట్‌ను ఉపయోగించండి. <ph name="BEGIN_LINK_LEARN_MORE" />మరింత తెలుసుకోండి<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1043505821207197890">ఏదో తప్పు జరిగింది. Linux పాక్షికంగా మాత్రమే అప్‌గ్రేడ్ అయి ఉండవచ్చు. మరింత సమాచారం కోసం లాగ్స్‌ను రివ్యూ చేయండి. Files &gt; నా ఫైల్స్ &gt; <ph name="LOG_FILE" /> అనే సెట్టింగ్‌లో లాగ్స్ సేవ్ చేయబడ్డాయి</translation>
 <translation id="104419033123549300">కీమ్యాప్ స్టయిల్</translation>
 <translation id="104710386808485638">Linuxను రీస్టార్ట్ చేయాలా?</translation>
@@ -158,6 +159,7 @@
 <translation id="1139923033416533844">మెమరీ వినియోగం</translation>
 <translation id="1140351953533677694">మీ బ్లూటూత్‌ను, క్రమానుసార పరికరాలను యాక్సెస్‌ చేయడం</translation>
 <translation id="114036956334641753">ఆడియో మరియు శీర్షికలు</translation>
+<translation id="1141949282671776404">ఈ ట్యాబ్ ఇన్‌యాక్టివ్‌గా ఉన్నప్పుడు, ఇతర టాస్క్‌ల కోసం మెమరీ సేవర్ <ph name="MEMORY_VALUE" /> మెమరీని ఖాళీ చేసింది.</translation>
 <translation id="1142002900084379065">ఇటీవలి ఫోటోలు</translation>
 <translation id="1143142264369994168">సర్టిఫికెట్ సంతకందారు</translation>
 <translation id="1143816224540441191">{NUM_MINS,plural, =1{Chrome మీ కంప్యూటర్‌లో హానికరమైన సాఫ్ట్‌వేర్‌ను కనుగొనలేదు • 1 నిమిషం క్రితం చెక్ చేయబడింది}other{Chrome మీ కంప్యూటర్‌లో హానికరమైన సాఫ్ట్‌వేర్‌ను కనుగొనలేదు • {NUM_MINS} నిమిషాల క్రితం చెక్ చేయబడింది}}</translation>
@@ -317,6 +319,7 @@
 <translation id="1285320974508926690">ఈ సైట్‌ను ఎప్పటికీ అనువదించవద్దు</translation>
 <translation id="1285484354230578868">మీ Google Drive ఖాతాలో డేటాను నిల్వ చేయండి</translation>
 <translation id="1285625592773741684">ప్రస్తుతం డేటా వినియోగం మొబైల్ డేటా ద్వారా జరిగేలా సెట్ చేయబడి ఉంది</translation>
+<translation id="1285815028662278915">మీ మొబైల్ డేటా హాట్‌స్పాట్‌ను సపోర్ట్ చేయకపోవచ్చు. <ph name="BEGIN_LINK_LEARN_MORE" />మరింత తెలుసుకోండి<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="1288037062697528143">రాత్రి కాంతి, సూర్యాస్తమయ సమయానికి ఆటోమేటిక్‌గా ఆన్ అవుతుంది</translation>
 <translation id="1288300545283011870">ప్రసంగ లక్షణాలు</translation>
 <translation id="1289619947962767206">ఈ ఆప్షన్ ఇకపై సపోర్ట్ చేయదు. ట్యాబ్‌ను ప్రెజెంట్ చేయడానికి, <ph name="GOOGLE_MEET" />ను ఉపయోగించండి.</translation>
@@ -654,6 +657,7 @@
 <translation id="1596286373007273895">అందుబాటులో ఉంది</translation>
 <translation id="1596709061955594992">బ్లూటూత్ ఆఫ్ చేయబడింది. అందుబాటులో ఉన్న పరికరాలను చూడటానికి, బ్లూటూత్‌ను ఆన్ చేయండి.</translation>
 <translation id="1596780725094407793">- సబ్-డొమైన్‌లను కలిగి ఉంటుంది</translation>
+<translation id="1598163867407640634"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" />‌తో <ph name="SITE_ETLD_PLUS_ONE" />‌ను ఉపయోగించండి</translation>
 <translation id="1598233202702788831">అప్‌డేట్‌లను మీ నిర్వాహకులు నిలిపివేశారు.</translation>
 <translation id="1600857548979126453">పేజీ డీబగ్గర్ బ్యాకెండ్‌ను యాక్సెస్ చేయండి</translation>
 <translation id="1601560923496285236">వర్తించు</translation>
@@ -1239,6 +1243,7 @@
       <ph name="BR" />
       <ph name="BEGIN_BOLD" />గమనిక:<ph name="END_BOLD" />  ప్రాసెస్ సమయంలో సిస్టమ్ రీబూట్ అవుతుంది.</translation>
 <translation id="2095774564753225041">సపోర్ట్ ఉన్న ఫైల్ రకాలు</translation>
+<translation id="2097616539631531348">ఈ ట్యాబ్ ఇన్‌యాక్టివ్‌గా ఉన్నప్పుడు, ఇతర టాస్క్‌ల కోసం మెమరీ సేవర్ మెమరీని ఖాళీ చేసింది.</translation>
 <translation id="2098805196501063469">మిగిలిన పాస్‌వర్డ్‌లను చెక్ చేయండి</translation>
 <translation id="2099686503067610784">సర్వర్ ప్రమాణపత్రం "<ph name="CERTIFICATE_NAME" />" తొలగించాలా?</translation>
 <translation id="2100273922101894616">ఆటోమేటిక్ సైన్-ఇన్</translation>
@@ -3383,6 +3388,7 @@
 <translation id="4040041015953651705">ఈ భాష నుండి అనువదించాలి</translation>
 <translation id="4040105702484676956"><ph name="SITE_NAME" />, ఇంకా దానికి సంబంధించిన ఇన్‌స్టాల్ చేయబడిన యాప్‌లో సైట్ డేటాను, ఇంకా అనుమతులను క్లియర్ చేయాలనుకుంటున్నారా?</translation>
 <translation id="4042863763121826131">{NUM_PAGES,plural, =1{పేజీ నుండి నిష్క్రమించండి}other{పేజీల నుండి నిష్క్రమించండి}}</translation>
+<translation id="4042941173059740150"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" />‌తో <ph name="SITE_ETLD_PLUS_ONE" />‌ను కొనసాగించండి</translation>
 <translation id="4043267180218562935">కర్సర్ సైజ్</translation>
 <translation id="4044612648082411741">మీ ప్రమాణపత్రం పాస్‌వర్డ్‌ను నమోదు చేయండి</translation>
 <translation id="4044708573046946214">స్క్రీన్ లాక్ పాస్‌వర్డ్</translation>
@@ -8341,6 +8347,7 @@
 <translation id="8674903726754070732">దురదృష్టవశాత్తూ, తప్పుగా ఫార్మాట్ చేయబడిన హార్డ్‌వేర్ IDతో మీ కంప్యూటర్ కాన్ఫిగర్ చేయబడింది. ఇది సెక్యూరిటీ పరిష్కారాలతో అప్‌డేట్ కాకుండా ChromeOSను నిరోధిస్తుంది, అలాగే మీ కంప్యూటర్ <ph name="BEGIN_BOLD" />హానికరమైన సాఫ్ట్‌వేర్ దాడులకు గురి కావచ్చు<ph name="END_BOLD" />.</translation>
 <translation id="8675704450909805533"><ph name="DEVICE_OS" />‌ను ఇన్‌స్టాల్ చేయడానికి ఇన్‌స్టాలర్ సరైన గమ్యస్థానాన్ని కనుగొనలేకపోయారు.</translation>
 <translation id="8676152597179121671">{COUNT,plural, =1{వీడియో}other{# వీడియోలు}}</translation>
+<translation id="8676276370198826499"><ph name="IDENTITY_PROVIDER_ETLD_PLUS_ONE" />‌తో <ph name="SITE_ETLD_PLUS_ONE" />‌కు సైన్ అప్ చేయండి</translation>
 <translation id="8676313779986170923">ఫీడ్‌బ్యాక్ పంపినందుకు ధన్యవాదాలు.</translation>
 <translation id="8676374126336081632">ఇన్‌పుట్‌ను తీసివేయండి</translation>
 <translation id="8676770494376880701">తక్కువ-పవర్ గల ఛార్జర్ కనెక్ట్ చేయబడింది</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 6c5d041..b73a706 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -59,6 +59,7 @@
 <translation id="1054153489933238809">اصل &amp;تصویر نئے ٹیب میں کھولیں</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{<ph name="DEVICE_TYPE" /> 1 ہفتہ کے اندر اپ ڈیٹ کریں}other{<ph name="DEVICE_TYPE" /> {NUM_WEEKS} ہفتوں کے اندر اپ ڈیٹ کریں}}</translation>
 <translation id="1056898198331236512">وارننگ</translation>
+<translation id="1056980582064308040">ترتیبات کو تبدیل کرنے سے ہاٹ اسپاٹ ری اسٹارٹ ہو جائے گا۔ ہاٹ اسپاٹ استعمال کرنے والے آلات غیر منسلک ہو جائیں گے۔</translation>
 <translation id="1058262162121953039">PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{‏اپنا نیا PIN درج کریں۔ PIN کم از کم ایک حرف طویل ہونا چاہیے اور اس میں حروف، اعداد اور دیگر کیریکٹرز شامل ہو سکتے ہیں۔}other{‏اپنا نیا PIN درج کریں۔ PIN کم از کم # حروف طویل ہونا چاہیے اور اس میں حروف، اعداد اور دیگر کیریکٹرز شامل ہو سکتے ہیں۔}}</translation>
 <translation id="1059484610606223931">Hypertext Transport Protocol (HTTPS)</translation>
@@ -303,6 +304,7 @@
 <translation id="1272079795634619415">روکیں</translation>
 <translation id="1272508081857842302"><ph name="BEGIN_LINK" />تعاون یافتہ لنکس<ph name="END_LINK" /> کھولے جا رہے ہیں</translation>
 <translation id="1272978324304772054">یہ صارف اکاؤنٹ اس ڈومین سے تعلق نہیں رکھتا جس میں آلہ کا اندراج ہے۔ اگر آپ ایک مختلف ڈومین میں اندراج کرانا چاہتے ہیں تو آپ کو سب سے پہلے آلہ کی بازیابی سے گزرنے کی ضرورت ہے۔</translation>
+<translation id="1273937721055267968"><ph name="DOMAIN" /> کو مسدود کریں</translation>
 <translation id="1274997165432133392">کوکیز اور دیگر سائٹ کا ڈیٹا</translation>
 <translation id="1275718070701477396">منتخب</translation>
 <translation id="1276994519141842946"><ph name="APP_NAME" /> اَن انسٹال نہیں ہو سکی</translation>
@@ -354,6 +356,7 @@
 <translation id="1327495825214193325">‏ADB ڈیبگنگ کو فعال کرنے کے لیے، اس <ph name="DEVICE_TYPE" /> کو ری سٹارٹ کرنے کی ضرورت ہے۔ اسے غیر فعال کرنے کے لیے فیکٹری کی ترتیبات کو ری سیٹ کرنا ہوگا۔</translation>
 <translation id="1327527584824210101">اپنی پاس کی استعمال کریں</translation>
 <translation id="1327794256477341646">وہ خصوصیات کام نہیں کریں گی جن کے لیے آپ کے مقام کی ضرورت ہوتی ہے</translation>
+<translation id="1329466763986822896">اس ہاٹ اسپاٹ کے لیے رازداری کو بہتر بنائیں</translation>
 <translation id="1331977651797684645">یہ میں تھا۔</translation>
 <translation id="1333489022424033687">ہو سکتا ہے <ph name="ORIGIN" /> پر کچھ خصوصیات اس وقت تک کام نہ کریں جب تک آپ اپنے آلے پر دیگر سائٹس کے ذریعے اسٹور کردہ ڈیٹا کو صاف نہیں کرتے ہیں</translation>
 <translation id="1333965224356556482">سائٹس کو اپنا مقام دیکھنے کی اجازت نہ دیں</translation>
@@ -593,6 +596,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{آپ کی پوشیدگی ونڈو دوبارہ نہیں کھلے گی۔}other{آپ کی # پوشیدگی ونڈوز دوبارہ نہیں کھلیں گی۔}}</translation>
 <translation id="1546280085599573572">آپ کی جانب سے ہوم بٹن کلک کرنے پر دکھائی دینے والے صفحہ کو اس ایکسٹینشن نے تبدیل کر دیا ہے۔</translation>
 <translation id="1546452108651444655"><ph name="CHILD_NAME" /> ایک <ph name="EXTENSION_TYPE" /> انسٹال کرنا چاہتا ہے جو درجہ ذیل چیزیں کر سکتی ہے:</translation>
+<translation id="1547123415014299762">فریق ثالث کوکیز کی اجازت ہے</translation>
 <translation id="1547808936554660006">‏میں سمجھتا ہوں کہ انسٹال کردہ eSIM پروفائلز کو Powerwash کے ذریعے ہٹایا نہیں جائے گا</translation>
 <translation id="1547936895218027488">اسے کھولنے کے لیے سائیڈ پینل آئیکن پر کلک کریں</translation>
 <translation id="1549275686094429035">‏ARC فعال ہے</translation>
@@ -1397,6 +1401,7 @@
 <translation id="2247870315273396641">آواز کا پیش منظر</translation>
 <translation id="2249111429176737533">ٹیب کردہ ونڈو کے طور پر کھولیں</translation>
 <translation id="2249605167705922988">‏مثلاً ‎1-5, 8, 11-13</translation>
+<translation id="2249635629516220541">سائٹس کے ذریعے استعمال کردہ معلومات کو حسب ضرورت بنائیں تاکہ آپ کو اشتہارات دکھایا جا سکے</translation>
 <translation id="2251218783371366160">سسٹم ویور کے ساتھ کھولیں</translation>
 <translation id="225163402930830576">نیٹ ورکس کو ریفریش کریں</translation>
 <translation id="2251809247798634662">نئی پوشیدگی ونڈو</translation>
@@ -1846,6 +1851,7 @@
 <translation id="2640299212685523844">‏GTK کا استعمال کریں</translation>
 <translation id="264083724974021997">اپنے فون سے منسلک کریں - ڈائیلاگ</translation>
 <translation id="2642111877055905627">ساکر بال</translation>
+<translation id="2643064289437760082">‏آپ اپنے براؤزنگ ڈیٹا کو حذف کر کے کبھی بھی Ad measurement ڈیٹا کو حذف کر سکتے ہیں</translation>
 <translation id="2643698698624765890">ونڈو مینو میں ایکسٹینشنز پر کلک کر کے اپنے ایکسٹینشنز کا نظم کریں۔</translation>
 <translation id="2645047101481282803">آپ کا آلہ <ph name="PROFILE_NAME" /> کے زیر انتظام ہے</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
@@ -2305,6 +2311,7 @@
 <translation id="3036327949511794916">اس <ph name="DEVICE_TYPE" /> کو واپس کرنے کی آخری تاریخ گزر چکی ہے۔</translation>
 <translation id="3036546437875325427">‏Flash کو فعال کریں</translation>
 <translation id="3037754279345160234">ڈومین میں شمولیت کے لیے کنفیگریشن کو پارس نہیں کیا جا سکتا۔ براہ کرم اپنے منتظم سے رابطہ کریں۔</translation>
+<translation id="3038272154009688107">سبھی سائٹس دیکھیں</translation>
 <translation id="3038612606416062604">دستی طور پر پرنٹر شامل کریں</translation>
 <translation id="3039491566278747710">آلہ پر آف لائن پالیسی انسٹال نہیں ہو سکی۔</translation>
 <translation id="3043016484125065343">اپنے بُک مارکس دیکھنے کے لیے سائن ان کریں</translation>
@@ -2541,6 +2548,7 @@
 <translation id="3289668031376215426">خود بڑے حروف میں لکھنا</translation>
 <translation id="3289856944988573801">‏اپ ڈیٹس چیک کرنے کیلئے، براہ کرم ایتھرنیٹ یا Wi-Fi کا استعمال کریں۔</translation>
 <translation id="3290249595466894471">نئے خطرات کا پتہ لگانے میں مدد کے لیے صفحات، ڈاؤن لوڈز، ایکسٹینشن کی سرگرمی اور سسٹم کی معلومات کا چھوٹا سا نمونہ بھی بھیجتا ہے</translation>
+<translation id="3293181007446299124">آپ کی براؤزنگ کی سرگزشت کو آپ کے آلے پر نجی رکھا جاتا ہے اور رپورٹس کو تاخیر سے بھیجا جاتا ہے تاکہ آپ کی شناخت کی حفاظ کی جائے</translation>
 <translation id="3293644607209440645">یہ صفحہ بھیجیں</translation>
 <translation id="32939749466444286">‏Linux کنٹینر شروع نہیں ہوا۔ براہ کرم دوبارہ کوشش کریں۔</translation>
 <translation id="3294437725009624529">مہمان</translation>
@@ -3321,6 +3329,7 @@
 <translation id="3984431586879874039">اس سائٹ کو آپ کی سیکیورٹی کلید دیکھنے کی اجازت دیں؟</translation>
 <translation id="398477389655464998">نمایاں کرنے کا لنک کاپی کریں</translation>
 <translation id="3984862166739904574">فوری جوابات کی تعریف</translation>
+<translation id="3985022125189960801">اگر آپ سائٹس کے پول میں ایسی سائٹ چاہتے ہیں جو اندازہ لگا سکے کہ آپ کو کیا پسند ہے تو اسے دوبارہ شامل کریں</translation>
 <translation id="3987544746655539083">اس سائٹ کو اپنے مقام تک رسائی سے مسدود کرنا جاری رکھیں</translation>
 <translation id="3987938432087324095">معذرت، سنائی نہیں دیا۔</translation>
 <translation id="3987993985790029246">لنک کاپی کریں</translation>
@@ -3698,6 +3707,7 @@
 <translation id="4366138410738374926">پرنٹنگ شروع ہو گئی ہے</translation>
 <translation id="4367513928820380646">ہٹائی گئی اجازتوں کا جائزہ لیں</translation>
 <translation id="4369215744064167350">ویب سائٹ کی درخواست منظور ہو گئی</translation>
+<translation id="4369735607080757018">ڈیٹا کی محدود اقسام کا اشتراک ان کے اشتہارات کی کارکردگی کی پیمائش کرنے کے لیے کیا جاتا ہے، جیسے کہ دن کا وہ وقت جب آپ کو اشتہار دکھایا گیا تھا۔</translation>
 <translation id="4370975561335139969">آپ کی جانب سے درج کردہ ای میل اور پاس ورڈ مماثل نہیں ہیں</translation>
 <translation id="4374831787438678295">‏Linux انسٹالر</translation>
 <translation id="4375035964737468845">ڈاؤن لوڈ کردہ فائلیں کھولیں</translation>
@@ -3718,6 +3728,7 @@
 <translation id="4385146930797718821">اسکرین شاٹ کلپ بورڈ میں کاپی ہو گئی</translation>
 <translation id="4385905942116811558">‏بلوٹوتھ اور USB آلات تلاش کر رہا ہے</translation>
 <translation id="4387890294700445764">متاثرہ پاس ورڈز</translation>
+<translation id="4388650384344483842">کم از کم 8 حروف استعمال کریں</translation>
 <translation id="4389091756366370506">صارف <ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />، <ph name="SECOND_SWITCH" />، <ph name="THIRD_SWITCH" /> اور <ph name="NUMBER_OF_OTHER_SWITCHES" /> مزید سوئچز</translation>
 <translation id="439266289085815679"><ph name="USER_EMAIL" /> بلوٹوتھ کنفیگریشن کو کنٹرول کرتا ہے۔</translation>
@@ -4039,6 +4050,7 @@
 <translation id="4666472247053585787">اپنے <ph name="DEVICE_TYPE" /> پر اپنے فون کی اطلاعات دیکھیں</translation>
 <translation id="4666911709726371538">مزید ایپس</translation>
 <translation id="4667027203988048332">کون سا ڈیٹا استعمال کیا جاتا ہے:</translation>
+<translation id="4668279686271488041">‏Ad-measurement ڈیٹا آپ کے آلے سے باقاعدگی سے ہو جاتا ہے</translation>
 <translation id="4672759829555593783"><ph name="FILE_NAME" /> ابھی کھولیں</translation>
 <translation id="46733273239502219">انسٹال کردہ ایپس میں آف لائن ڈیٹا بھی صاف ہو جائے گا</translation>
 <translation id="4673442866648850031">اسٹائلس کو ہٹانے کے وقت اسٹائلس ٹولز کھولیں</translation>
@@ -4232,6 +4244,7 @@
 <translation id="485480310608090163">مزید ترتیبات اور اجازتیں</translation>
 <translation id="4858913220355269194">Fritz</translation>
 <translation id="4862642413395066333">‏سائننگ OCSP جوابات</translation>
+<translation id="4863702650881330715">موافقت کی توسیع کریں</translation>
 <translation id="4863769717153320198">‏<ph name="WIDTH" /> x <ph name="HEIGHT" /> جیسا نظر آتا ہے (ڈیفالٹ)</translation>
 <translation id="4864805589453749318">والدین کو منتخب کریں جو اسکول اکاؤنٹ شامل کرنے کی اجازت دے رہے ہیں۔</translation>
 <translation id="486635084936119914">ڈاؤن لوڈ کرنے کے بعد مخصوص فائل کی قسموں کو کھولیں</translation>
@@ -4478,6 +4491,7 @@
 <translation id="5094721898978802975">تعاون کرنے والی اصل ایپلیکیشنز کے ساتھ مواصلت کریں</translation>
 <translation id="5097002363526479830">نیٹ ورک '<ph name="NAME" />' سے منسلک ہونے میں ناکام ہوگیا: <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">مقام استعمال کرنے کے بارے میں مزید جانیں</translation>
+<translation id="5097349930204431044">آپ جو سائٹ ملاحظہ جاتے ہیں وہ اس بات کا تعین کر سکتی ہیں کہ آپ کیا پسند کرتے ہیں اور پھر جب آپ براؤز کرنا جاری رکھتے ہیں تو اشتہارات تجویز کر سکتی ہیں۔</translation>
 <translation id="5097649414558628673">ٹول: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">جب کرسر رک جاتا ہے تو خودکار طور پر کلک کریں</translation>
 <translation id="5101683448725092498">اپنے مواد کا بیک اپ لیں</translation>
@@ -4660,6 +4674,7 @@
 <translation id="5275352920323889391">کتا</translation>
 <translation id="527605719918376753">ٹیب خاموش کریں</translation>
 <translation id="527605982717517565">‏<ph name="HOST" /> پر ہمیشہ JavaScript کی اجازت دیں</translation>
+<translation id="5276357196618041410">پہلے لاگ ان کیے بغیر کنفیگریشن کو محفوظ نہیں کیا جا سکتا</translation>
 <translation id="5277127016695466621">سائیڈ پینل دکھائیں</translation>
 <translation id="5278823018825269962">‏اسٹیٹس Id</translation>
 <translation id="5279600392753459966">سبھی کو مسدود کریں</translation>
@@ -6153,6 +6168,7 @@
 <translation id="6670767097276846646">‏کچھ ایکسٹینشنز سرچ انجنز کو Chrome میں شامل کر سکتی ہیں</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{ایک پتہ}other{# پتے}}</translation>
 <translation id="6671497123040790595"><ph name="MANAGER" /> کے ذریعے مینیجمنٹ سیٹ اپ ہو رہا ہے</translation>
+<translation id="6672917148207387131"><ph name="DOMAIN" /> شامل کریں</translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">مطابقت پذیری شروع کرنے کے لیے، اپنا پاس فریز درج کریں</translation>
 <translation id="6675665718701918026">پوائنٹنگ آلہ منسلک ہو گیا</translation>
@@ -6236,6 +6252,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (پوشیدگی)</translation>
 <translation id="6756157672127672536">‏فائل ایپ ان فائلوں تک فوری رسائی فراہم کرتی ہے جنہیں آپ نے Google Drive، خارجی اسٹوریج یا اپنے ChromeOS آلے پر محفوظ کیا ہے۔</translation>
 <translation id="6756643207511618722">اسپیچ انجنز</translation>
+<translation id="6757431299485455321">اس ہاٹ اسپاٹ کو تلاش کرنے میں دیگر آلات کی مدد کریں۔</translation>
 <translation id="6758056191028427665">ہماری کارکردگی کے بارے میں ہمیں بتائیں۔</translation>
 <translation id="6759193508432371551">فیکٹری ری سیٹ</translation>
 <translation id="6761431452438552910">اس بات کو یقینی بنائیں کہ آپ کا بلوٹوتھ آلہ جوڑا بنانے والے موڈ میں اور قریبی ہے۔ صرف آپ کے بھروسے مند آلات کے ساتھ جوڑا بنائیں۔</translation>
@@ -6335,6 +6352,7 @@
 <translation id="6833479554815567477">ٹیب گروپ سے ہٹا دیا گیا <ph name="GROUP_NAME" /> - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">اسمارٹ اور محفوظ براؤزر پر سوئچ کریں</translation>
 <translation id="6833996806551876956">رازداری سینڈ باکس کا ٹرائل</translation>
+<translation id="6835712061486505758">‏دیگر آلات کو انٹرنیٹ فراہم کرنے کے لیے Wi‑Fi ہاٹ اسپاٹ تخلیق کریں۔ <ph name="BEGIN_LINK_LEARN_MORE" />مزید جانیں<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">براہ کرم اپنا <ph name="DEVICE_TYPE" /> اپ ڈیٹ کرنے کیلئے انٹرنیٹ سے منسلک ہوں۔</translation>
 <translation id="6839225236531462745">سرٹیفکیٹ حذف کرنے میں خرابی</translation>
 <translation id="6839916869147598086">سائن ان تبدیل ہو چکا ہے</translation>
@@ -6496,6 +6514,7 @@
 <translation id="697508444536771064">‏Linux شٹ ڈاؤن کریں</translation>
 <translation id="6975361011348772931">پڑھنے اور تبدیل کرنے کی درخواست کی ہے</translation>
 <translation id="6978121630131642226">سرچ انجن</translation>
+<translation id="6978717888677691380">آپ کی مسدود کردہ سائٹس</translation>
 <translation id="6979041727349121225">انرجی سیور</translation>
 <translation id="6979044105893951891">شروع کریں اور نظم کردہ مہمان سیشنز سے باہر نکلیں</translation>
 <translation id="6979440798594660689">خاموش کریں (ڈیفالٹ)</translation>
@@ -6587,6 +6606,7 @@
 <translation id="7047059339731138197">ایک پس منظر منتخب کریں</translation>
 <translation id="7048457618657122233"><ph name="SHARE_TARGET" /> میں لنک کا اشتراک کریں</translation>
 <translation id="7049293980323620022">فائل رکھیں؟</translation>
+<translation id="7050037487872780845">ہاٹ اسپاٹ کا غلط کنفیگریشن</translation>
 <translation id="7052237160939977163">کارکردگی کا پتا لگانے کا ڈیٹا بھیجیں</translation>
 <translation id="7053983685419859001">مسدود کریں</translation>
 <translation id="7055152154916055070">ری ڈائریکٹ مسدود کیا گیا:</translation>
@@ -6791,6 +6811,7 @@
 <translation id="7258192266780953209">تبدیلیاں</translation>
 <translation id="7258225044283673131">ایپلیکیشن جواب نہیں دے رہی ہے۔ ایپ بند کرنے کیلئے، "زبردستی بند کریں" منتخب کریں۔</translation>
 <translation id="7260186537988033909">کیوسک اور سائنیج آلہ کا اندراج مکمل ہو گیا</translation>
+<translation id="7260367682327802201">‏آپ کے Android آلے میں ملتی جلتی ترتیب شامل ہو سکتی ہے۔ اگر Ad measurement‏ Chrome میں اور آپ کے Android آلے پر آن ہو تو کمپنی آپ کی ملاحظہ کردہ ویب سائٹس اور آپ کی استعمال کردہ ایپس پر اشتہار کی اثر انگیزی پیمائش کر سکتی ہے۔</translation>
 <translation id="7262004276116528033">اس سائن ان سروس کی میزبانی <ph name="SAML_DOMAIN" />  کرتا ہے</translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{اجازتوں کو 1 سائٹ سے ہٹا دیا گیا}other{اجازتوں کو {NUM_SITES} سائٹس سے ہٹا دیا گیا}}</translation>
 <translation id="7264695323040866038">تعاون یافتہ ویب لنکس کھولنے کے لیے ہمیشہ <ph name="APP" /> استعمال کریں؟</translation>
@@ -6934,6 +6955,7 @@
 <translation id="7406912950279255498">رنگوں کی تقلیب کی وضع</translation>
 <translation id="7407430846095439694">درآمد کریں اور پابند بنائیں</translation>
 <translation id="7407504355934009739">زیادہ تر لوگ اس سائٹ سے اطلاعات کو مسدود کرتے ہیں</translation>
+<translation id="7408080603962564527">یہ دوسروں کو بھی دکھائی دے گا</translation>
 <translation id="740810853557944681">پرنٹ سرور شامل کریں</translation>
 <translation id="7409549334477097887">بہت ہی زیادہ</translation>
 <translation id="7409599290172516453">حالیہ تصاویر</translation>
@@ -7249,6 +7271,7 @@
 <translation id="7684718995427157417">‏اپنی ایپس کو تخلیق کرنے اور ٹیسٹ کرنے کے لیے، Android ڈیبگ برِج (ADB) کو فعال کریں۔ نوٹ کریں کہ یہ کارروائی ان Android ایپس کو انسٹال کرنے کی اجازت دیتی ہے جن کی تصدیق Google کے ذریعے نہیں کی گئی ہے، اور غیر فعال کرنے کے لیے فیکٹری ری سیٹ کی ضرورت ہوتی ہے۔</translation>
 <translation id="7685049629764448582">‏JavaScript میموری</translation>
 <translation id="7685087414635069102">‏PIN درکار ہے</translation>
+<translation id="7686086654630106285">سائٹ کے تجویز کردہ اشتہارات کے بارے میں مزید</translation>
 <translation id="7686581688229391955">اس سائٹ پر ایکسٹینشنز کی اجازت دینے کے لیے منتخب کریں</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">نئے پاس ورڈ کی توثیق کریں</translation>
@@ -7270,6 +7293,7 @@
 <translation id="7704317875155739195">‏تلاشوں اور URLs کی خودکار تکمیل کریں</translation>
 <translation id="7704521324619958564">‏Play اسٹور کھولیں</translation>
 <translation id="7705276765467986571">بُک مارک ماڈل لوڈ نہیں کیا جا سکا۔</translation>
+<translation id="7705334495398865155">‏دوسروں کو اس آلے کو ٹریک کرنے سے روکنے کے لیے اپنے ہارڈویئر کی ID (BSSID) کو رینڈمائز کریں۔</translation>
 <translation id="7705524343798198388">VPN</translation>
 <translation id="7707108266051544351">اس سائٹ کو موشن سینسرز استعمال کرنے سے مسدود کر دیا گيا ہے۔</translation>
 <translation id="7707922173985738739">موبائل ڈیٹا استعمال کریں</translation>
@@ -7463,6 +7487,7 @@
 <translation id="7881483672146086348">اکاؤنٹ دیکھیں</translation>
 <translation id="7883792253546618164">کسی بھی وقت اَن سبسکرائب کریں۔</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{1 سائٹ کا جائزہ لیں جس نے بہت ساری اطلاعات بھیجی ہیں}other{{NUM_SITES} سائٹس کا جائزہ لیں جس نے بہت ساری اطلاعات بھیجی ہیں}}</translation>
+<translation id="7884446017008693258">ہاٹ اسپاٹ کی ترتیبات</translation>
 <translation id="788453346724465748">اکاؤنٹ کی معلومات لوڈ ہورہی ہے...</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{ایک آئٹم}other{# آئٹمز}}</translation>
 <translation id="7886605625338676841">eSIM</translation>
@@ -7687,6 +7712,7 @@
     <ph name="BEGIN_PARAGRAPH3" />آپ ترتیبات میں اس سروس کو آف کر سکتے ہیں۔<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">ٹیبز</translation>
 <translation id="8076835018653442223">آپ کے آلے پر مقامی فائلوں تک رسائی آپ کے منتظم کی طرف سے غیر فعال کر دی گئی ہے</translation>
+<translation id="8077120325605624147">آپ کی ملاحظہ کردہ کوئی بھی سائٹ آپ کو کوئی بھی اشتہار دکھا سکتی ہے</translation>
 <translation id="80798452873915119">سائٹس آپ کے سبھی ڈسپلیز پر ونڈوز کا نظم کرنے کو کہہ سکتی ہیں</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">آپ کا سیشن <ph name="MANAGER_NAME" /> کے زیر انتظام ہے۔ منتظمین آپ کی پروفائل حذف کر سکتے ہیں اور آپ کے نیٹ ورک ٹریفک کی نگرانی بھی کر سکتے ہیں۔</translation>
@@ -8199,6 +8225,7 @@
 <translation id="8557180006508471423">‏اپنے Mac پر مقام کی سروسز میں "Google Chrome" کو آن کریں</translation>
 <translation id="8557856025359704738">اگلا ڈاؤن لوڈ <ph name="NEXT_DATE_DOWNLOAD" /> کو ہے۔</translation>
 <translation id="8559858985063901027">پاس کیز</translation>
+<translation id="8559961053328923750">‏اشتہار کی کارکردگی کی پیمائش کرنے کے لیے Chrome اس ڈیٹا کی کل مقدار کو محدود کرتا ہے جو ایک سائٹس براؤزر کے ذریعے اشتراک کر سکتی ہیں</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{سبھی کو &amp;نئی ونڈو میں کھولیں}=1{&amp;نئی ونڈو میں کھولیں}other{سبھی ({COUNT}) کو &amp;نئی ونڈو میں کھولیں}}</translation>
 <translation id="8561206103590473338">ہاتھی</translation>
 <translation id="8561565784790166472">انتباہ کے ساتھ آگے بڑھیں</translation>
@@ -8340,6 +8367,7 @@
 <translation id="8678933587484842200">آپ اس ایپلیکیشن کو کس طرح لانچ کرنا چاہیں گے؟</translation>
 <translation id="8680251145628383637">‏اپنے سبھی آلات پر اپنے بُک مارکس، سرگزشت، پاس ورڈز اور دیگر ترتیبات حاصل کرنے کیلئے سائن ان کریں۔ آپ اپنی Google سروسز میں خود بخود سائن ان بھی ہو جائیں گے۔</translation>
 <translation id="8681614230122836773">‏Chrome کو آپ کے کمپیوٹر پر نقصان دہ سافٹ ویئر ملا</translation>
+<translation id="8681886425883659911">اشتہارات دخل انداز یا گمراہ کن اشتہارات دکھانے کے لیے جانی جانے والی سائٹس پر مسدود ہیں</translation>
 <translation id="8682730193597992579"><ph name="PRINTER_NAME" /> منسلک اور تیار ہے</translation>
 <translation id="8687103160920393343"><ph name="FILE_NAME" /> منسوخ کریں</translation>
 <translation id="8688672835843460752">دستیاب</translation>
@@ -8710,6 +8738,7 @@
 <translation id="9021662811137657072">وائرس کا پتہ چلا</translation>
 <translation id="902236149563113779">‏سائٹس عام طور پر AR کی خصوصیات جیسے کہ گیمز یا ابتدائی وارننگ کی ڈائریکشنز کے لیے کیمرا کی پوزیشن ٹریک کرتی ہیں</translation>
 <translation id="9022847679183471841">یہ اکاؤنٹ پہلے سے ہی اس کمپیوٹر پر <ph name="AVATAR_NAME" /> کے زیر استعمال ہے۔</translation>
+<translation id="9022871169049522985">سائٹس اور مشتہرین اپنے اشتہارات کی کارکردگی کی پیمائش کر سکتے ہیں</translation>
 <translation id="9023015617655685412">اس ٹیب کو بُک مارک کریں...</translation>
 <translation id="9023909777842748145">اس خصوصیت کو آف کرنے سے سسٹم اپ ڈیٹس اور سیکیورٹی جیسی لازمی سروسز کے لیے درکار معلومات بھیجنے کی آپ کے آلے کی اہلیت متاثر نہیں ہوتی ہے۔</translation>
 <translation id="9024127637873500333">نئے ٹیب میں &amp;کھولیں</translation>
@@ -8839,6 +8868,7 @@
 <translation id="9128335130883257666"><ph name="INPUT_METHOD_NAME" /> کیلئے ترتیبات کا صفحہ کھولیں</translation>
 <translation id="9128870381267983090">نیٹ ورک سے منسلک ہوں</translation>
 <translation id="9130015405878219958">غلط وضع درج کر دی گئی۔</translation>
+<translation id="9131209053278896908">مسدود کردہ سائٹس یہاں دکھائی دیں گی</translation>
 <translation id="9131487537093447019">بلوٹوتھ آلات پر پیغامات بھیجیں اور ان سے پیغامات موصول کریں۔</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{1 بُک مارک}other{# بُک مارکس}}</translation>
 <translation id="9134066738478820307">تحفظ یافتہ مواد کو چلانے کیلئے سائٹس شناخت کنندگان کا استعمال کر سکتی ہیں</translation>
@@ -8892,6 +8922,7 @@
 <translation id="9180281769944411366">‏اس کارروائی میں کچھ منٹ لگ سکتے ہيں۔ Linux کنٹینر شروع ہو رہا ہے۔</translation>
 <translation id="9180380851667544951">سائٹ آپ کی اسکرین کا اشتراک کر سکتی ہے</translation>
 <translation id="9182556968660520230">سائٹس کو تحفظ یافتہ مواد چلانے کی اجازت نہ دیں</translation>
+<translation id="9183331776983279456">‏Chrome‏ 4 ہفتے سے زیادہ پرانی سائٹس کو خودکار طور پر حذف کر دیتا ہے۔ اگر کوئی سائٹ آپ دوبارہ ملاحظہ کرتے ہیں تو وہ فہرست میں دوبارہ نظر آ سکتی ہے۔ یا آپ کے لیے تجویز کردہ اشتہارات سے آپ سائٹ کو مسدود کر سکتے ہیں۔</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{ایپ}other{# ایپس}}</translation>
 <translation id="9186963452600581158">‏بچے کے Google اکاؤنٹ سے سائن ان کریں</translation>
 <translation id="9187967020623675250">کلیدیں مماثل نہیں ہیں۔ <ph name="RESPONSE" /> کے لیے کوئی بھی کلید دبائیں۔</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 90f9a82..22415b6 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -1800,6 +1800,7 @@
 <translation id="2579596474754516455">您可按需要掃瞄 PDF 圖片並轉成文字,讓螢幕閱讀器朗讀當中的內容</translation>
 <translation id="2580889980133367162">永遠允許 <ph name="HOST" /> 下載多個檔案</translation>
 <translation id="258095186877893873">長</translation>
+<translation id="2581455244799175627">進一步了解允許第三方 Cookie</translation>
 <translation id="2582253231918033891"><ph name="PRODUCT_NAME" /> <ph name="PRODUCT_VERSION" /> (平台:<ph name="PLATFORM_VERSION" />) <ph name="DEVICE_SERIAL_NUMBER" /></translation>
 <translation id="2584109212074498965">無法取得 Kerberos 票證。請再試一次,或與您機構的裝置管理員聯絡。(錯誤代碼 <ph name="ERROR_CODE" />)。</translation>
 <translation id="2585724835339714757">此分頁正在共用您的螢幕畫面。</translation>
@@ -2361,6 +2362,7 @@
 <translation id="3082780749197361769">這個分頁正在使用您的相機或麥克風。</translation>
 <translation id="3083193146044397360">已暫時封鎖相關權限以保障您的安全</translation>
 <translation id="3083899879156272923">以滑鼠游標為中心移動畫面</translation>
+<translation id="3083998949001524405">已允許使用第三方 Cookie</translation>
 <translation id="3084548735795614657">拖曳即可安裝</translation>
 <translation id="3084771660770137092">Chrome 記憶體不足或其他某些原因導致網頁處理程序終止。如要繼續執行,請重新載入或前往其他網頁。</translation>
 <translation id="3085412380278336437">網站可以使用您的相機</translation>
@@ -3065,6 +3067,7 @@
 <translation id="3764753550716962406">要讓 Google 根據購物車中的商品尋找可用折扣嗎?</translation>
 <translation id="3764974059056958214">{COUNT,plural, =1{正在將 <ph name="ATTACHMENTS" />傳送給「<ph name="DEVICE_NAME" />」}other{正在將 <ph name="ATTACHMENTS" />傳送給「<ph name="DEVICE_NAME" />」}}</translation>
 <translation id="3765246971671567135">無法讀取離線示範模式的政策。</translation>
+<translation id="3765696567014520261">網站不能使用 Cookie 查看您在其他網站的瀏覽活動,例如放送個人化廣告。部分網站的功能可能會無法正常運作</translation>
 <translation id="3766687283066842296">進一步了解 Phone Hub</translation>
 <translation id="3766811143887729231"><ph name="REFRESH_RATE" /> Hz</translation>
 <translation id="377050016711188788">雪糕</translation>
@@ -3117,6 +3120,7 @@
 <translation id="3807747707162121253">取消(&amp;C)</translation>
 <translation id="3808202562160426447">調暗背景內容</translation>
 <translation id="3808443763115411087">Crostini 的 Android 應用程式開發</translation>
+<translation id="3808617121485025547">進一步了解封鎖第三方 Cookie</translation>
 <translation id="38089336910894858">使用 ⌘Q 關閉前顯示警告</translation>
 <translation id="3809272675881623365">兔子</translation>
 <translation id="3809280248639369696">外星人</translation>
@@ -8063,6 +8067,7 @@
 <translation id="8405046151008197676">瞭解最新的更新內容摘要</translation>
 <translation id="8407199357649073301">記錄等級:</translation>
 <translation id="8408270600235826886">您可控制要與 Google 分享哪些資料。您隨時可在「設定」中變更此設定。我們會根據 Google 的《<ph name="BEGIN_LINK" />私隱權政策<ph name="END_LINK" />》使用相關資料。</translation>
+<translation id="84098433273647700">您目前安裝的主題。</translation>
 <translation id="8410775397654368139">Google Play</translation>
 <translation id="8412136526970428322">已允許<ph name="PERMISSION" />和其他 <ph name="COUNT" /> 個項目</translation>
 <translation id="8413385045638830869">事先詢問 (建議)</translation>
@@ -8224,6 +8229,7 @@
 <translation id="8571687764447439720">新增 Kerberos 票證</translation>
 <translation id="8574990355410201600">一律允許 <ph name="HOST" /> 播放聲音</translation>
 <translation id="8575286410928791436">按住 <ph name="KEY_EQUIVALENT" /> 即可離開</translation>
+<translation id="8576359558126669548">進一步了解喺無痕模式入面封鎖第三方 Cookie</translation>
 <translation id="8576885347118332789">{NUM_TABS,plural, =1{將分頁新增至閱讀清單}other{將分頁新增至閱讀清單}}</translation>
 <translation id="8577052309681449949">自動點擊、游標大小、游標顏色等等</translation>
 <translation id="8578639784464423491">不可超過 99 個字母</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index 94680cb6..d3a5c83 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -59,6 +59,7 @@
 <translation id="1054153489933238809">Vula &amp;isithombe sangempela kuthebhu entsha</translation>
 <translation id="1055274863771110134">{NUM_WEEKS,plural, =1{Buyekeza i-<ph name="DEVICE_TYPE" /> phakathi neviki eli-1}one{Buyekeza i-<ph name="DEVICE_TYPE" /> phakathi namaviki angu-{NUM_WEEKS}}other{Buyekeza i-<ph name="DEVICE_TYPE" /> phakathi namaviki angu-{NUM_WEEKS}}}</translation>
 <translation id="1056898198331236512">Isexwayiso</translation>
+<translation id="1056980582064308040">Ukushintsha amasethingi kuzoqala kabusha i-hotspot. Amadivayisi asebenzisa i-hotspot azonqamuka.</translation>
 <translation id="1058262162121953039">I-PUK</translation>
 <translation id="1059065096897445832">{MIN_PIN_LENGTH,plural, =1{Faka iphinikhodi yakho entsha Iphinikhodi kumele okungenani ibe yinde ngohlamvu olulodwa futhi ingaqukatha amaletha, izinombolo, nezinye izinhlamvu.}one{Faka iphinikhodi yakho entsha Iphinikhodi kumele okungenani ibe nezinhlamvu ezingu-# ngobude futhi ingaqukatha amaletha, izinombolo, nezinye izinhlamvu.}other{Faka iphinikhodi yakho entsha Iphinikhodi kumele okungenani ibe nezinhlamvu ezingu-# ngobude futhi ingaqukatha amaletha, izinombolo, nezinye izinhlamvu.}}</translation>
 <translation id="1059484610606223931">I-Hypertext Transport Protocol (HTTPS)</translation>
@@ -306,6 +307,7 @@
 <translation id="1272079795634619415">Misa</translation>
 <translation id="1272508081857842302">Vula <ph name="BEGIN_LINK" />amalinki wosekelo<ph name="END_LINK" /></translation>
 <translation id="1272978324304772054">Le akhawunti yomsebenzisi akuyona yesizinda idivayisi ebhaliswe kuso. Uma ufuna ukubhalisa kusizinda esihlukile kuzomele udlule kusitholi sedivayisi kuqala.</translation>
+<translation id="1273937721055267968">Vimba i-<ph name="DOMAIN" /></translation>
 <translation id="1274997165432133392">Amakhukhi nenye idatha yesayithi</translation>
 <translation id="1275718070701477396">Ikhethiwe</translation>
 <translation id="1276994519141842946">Ayikwazanga ukukhipha i-<ph name="APP_NAME" /></translation>
@@ -357,6 +359,7 @@
 <translation id="1327495825214193325">Ukuze unike amandla ukulungisa kwe-ADB, ukuqaliswa kabusha kwale <ph name="DEVICE_TYPE" /> kuyadingeka. Ukuyikhubaza kudinga ukusethwa kabusha kuzilungiselelo zasekuqaleni.</translation>
 <translation id="1327527584824210101">Sebenzisa ukhiye wakho wokudlula</translation>
 <translation id="1327794256477341646">Izici ezidinga indawo yakho ngeke zize zisebenze</translation>
+<translation id="1329466763986822896">Thuthukisa ubumfihlo bale hotspot</translation>
 <translation id="1331977651797684645">Lo kwakuyimina.</translation>
 <translation id="1333489022424033687">Ezinye izici ku-<ph name="ORIGIN" /> kungenzeka zingasebenzi uze usule idatha amanye amasayithi ayigcine kudivayisi yakho</translation>
 <translation id="1333965224356556482">Ungavumeli amasayithi abone indawo yakho</translation>
@@ -595,6 +598,7 @@
 <translation id="1546031833947068368">{COUNT,plural, =1{Iwindi lakho le-Incognito ngeke liphinde livuleke.}one{Amawindi akho angu-# e-Incognito ngeke aze aphinde avuleke.}other{Amawindi akho angu-# e-Incognito ngeke aze aphinde avuleke.}}</translation>
 <translation id="1546280085599573572">Lesi sandiso siguqule ukuthi yiliphi ikhasi eliboniswa uma uchofoza inkinobho yasekhaya.</translation>
 <translation id="1546452108651444655">I-<ph name="CHILD_NAME" /> ifuna ukufaka i-<ph name="EXTENSION_TYPE" /> enga:</translation>
+<translation id="1547123415014299762">Amakhukhi wongahlangene ngqo awavunyelwe</translation>
 <translation id="1547808936554660006">Ngiyaqonda ukuthi amaphrofayela afakiwe we-eSIM ngeke asuswe yi-Powerwash</translation>
 <translation id="1547936895218027488">Chofoza isithonjana sephaneli esiseceleni ukuze usivule</translation>
 <translation id="1549275686094429035">I-ARC inikwe amandla</translation>
@@ -1408,6 +1412,7 @@
 <translation id="2247870315273396641">Ukubuka kuqala kwezwi</translation>
 <translation id="2249111429176737533">Kuvule njengewindi elinethebhu</translation>
 <translation id="2249605167705922988">isb. 1-5, 8, 11-13</translation>
+<translation id="2249635629516220541">Enza ngokwezifiso ulwazi olusetshenziswa amasayithi ukukubonisa izikhangiso</translation>
 <translation id="2251218783371366160">Vula ngesibukeli sesistimu</translation>
 <translation id="225163402930830576">Vuselela amanethiwekhi</translation>
 <translation id="2251809247798634662">Iwindi le-incognito elisha</translation>
@@ -1860,6 +1865,7 @@
 <translation id="2640299212685523844">Sebenzisa i-GTK</translation>
 <translation id="264083724974021997">Xhumeka kufoni yakho - Ibhokisi</translation>
 <translation id="2642111877055905627">Ibhola lebhola</translation>
+<translation id="2643064289437760082">Ungakwazi njalo ukusula idatha yokulinganisa izikhangiso ngokusula idatha yakho yokubhrawuza</translation>
 <translation id="2643698698624765890">Phatha izandiso zakho ngokuchofoza izandiso kumenyu yewindi.</translation>
 <translation id="2645047101481282803">Idivayisi yakho iphethwe yi-<ph name="PROFILE_NAME" /></translation>
 <translation id="2645435784669275700">I-ChromeOS</translation>
@@ -2319,6 +2325,7 @@
 <translation id="3036327949511794916">Umnqamulajuqu wokubuyisela le <ph name="DEVICE_TYPE" /> sewudlulile.</translation>
 <translation id="3036546437875325427">Nika amandla i-Flash</translation>
 <translation id="3037754279345160234">Ayikwazi ukuncozulula ukulungiselelwa ukuze kujoyinwe isizinda. Sicela uxhumane nomlawuli wakho.</translation>
+<translation id="3038272154009688107">Bona wonke amasayithi</translation>
 <translation id="3038612606416062604">Engeza iphrinta ngokwenza</translation>
 <translation id="3039491566278747710">Yehlulekile ukufaka inqubomgomo yokungaxhunyiwe ku-inthanethi kudivayisi.</translation>
 <translation id="3043016484125065343">Ngena ngemvume ukuze ubone amabhukhimakhi akho</translation>
@@ -2555,6 +2562,7 @@
 <translation id="3289668031376215426">Ukwenza ofeleba okuzenzakalelayo</translation>
 <translation id="3289856944988573801">Ukuze uhlolele izibuyekezo, sicela usebenzise i-Ethernet noma i-Wi-Fi.</translation>
 <translation id="3290249595466894471">Iphinde ithumele namasampula wamakhasi ambalwa, okulandwayo, imisebenzi yezandiso, nokwaziswa kwesistimu ukukusiza uthole izinsongo ezintsha</translation>
+<translation id="3293181007446299124">Umlando wakho wokubhrawuza ugcinwa uyimfihlo kudivayisi yakho futhi imibiko ithunyelwa ngokubambezeleka ukuze kuvikelwe ubuwena</translation>
 <translation id="3293644607209440645">Thumela leli khasi</translation>
 <translation id="32939749466444286">Isiqukathi se-Linux asiqalanga. Zama futhi.</translation>
 <translation id="3294437725009624529">Isivakashi</translation>
@@ -3334,6 +3342,7 @@
 <translation id="3984431586879874039">Vumela leli sayithi ukuthi libone ukhiye wakho wokuqinisekisa ubunikazi?</translation>
 <translation id="398477389655464998">Kopisha Isixhumanisi Kokokugqamisa</translation>
 <translation id="3984862166739904574">Incazelo Yezimpendulo Ezisheshayo</translation>
+<translation id="3985022125189960801">Engeza isayithi futhi uma ulifuna echibini lamasayithi angaqagela ukuthi yini oyithandayo</translation>
 <translation id="3987544746655539083">Qhubeka nokuvimba leli sayithi ekufinyeleleni indawo yakho</translation>
 <translation id="3987938432087324095">Uxolo, ayikubambanga lokho.</translation>
 <translation id="3987993985790029246">Kopisha isixhumanisi</translation>
@@ -3711,6 +3720,7 @@
 <translation id="4366138410738374926">Ukuphrinta kuqalile</translation>
 <translation id="4367513928820380646">Buyekeza izimvume ezisusiwe</translation>
 <translation id="4369215744064167350">Isicelo sewebhusayithi sigunyaziwe</translation>
+<translation id="4369735607080757018">Izinhlobo zedatha ezilinganiselwe zabiwa phakathi kwamasayithi ukuze kulinganiselwe ukusebenza kwezikhangiso zawo, njengesikhathi sosuku isikhangiso esiboniswe ngaso</translation>
 <translation id="4370975561335139969">I-imeyili nephasiwedi oyifakile ayifani</translation>
 <translation id="4374831787438678295">Isifaki se-Linux</translation>
 <translation id="4375035964737468845">Vula amafayela alandiwe</translation>
@@ -3731,6 +3741,7 @@
 <translation id="4385146930797718821">Isithombe-skrini sikopishwe ebhodini lokunamathisela</translation>
 <translation id="4385905942116811558">Isesha amadivayisi we-Bluetooth nawe-USB</translation>
 <translation id="4387890294700445764">Amaphasiwedi onakalisiwe</translation>
+<translation id="4388650384344483842">Sebenzisa okungenani izinhlamvu eziyi-8</translation>
 <translation id="4389091756366370506">Umsebenzisi ongu-<ph name="VALUE" /></translation>
 <translation id="4390396490617716185"><ph name="FIRST_SWITCH" />, <ph name="SECOND_SWITCH" />, <ph name="THIRD_SWITCH" />, kanye namaswishi angu-<ph name="NUMBER_OF_OTHER_SWITCHES" /> ngaphezulu</translation>
 <translation id="439266289085815679">Ukulungiswa kwe-Bluetooth kulawula ngu-<ph name="USER_EMAIL" />.</translation>
@@ -4053,6 +4064,7 @@
 <translation id="4666472247053585787">Buka izaziso kusuka efonini yakho ku-<ph name="DEVICE_TYPE" /> yakho</translation>
 <translation id="4666911709726371538">Izinhlelo zokusebenza eziningi</translation>
 <translation id="4667027203988048332">Iyiphi idatha esetshenziswayo:</translation>
+<translation id="4668279686271488041">Idatha yokulinganisela izikhangiso isulwa njalo kudivayisi yakho</translation>
 <translation id="4672759829555593783">Vula i-<ph name="FILE_NAME" /> manje</translation>
 <translation id="46733273239502219">Idatha engaxhumekile ku-inthanethi nayo izosulwa</translation>
 <translation id="4673442866648850031">Vula amathuluzi e-stylus uma i-stylus sisusiwe</translation>
@@ -4246,6 +4258,7 @@
 <translation id="485480310608090163">Izilungiselelo eziningi nezimvume</translation>
 <translation id="4858913220355269194">I-Fritz</translation>
 <translation id="4862642413395066333">Isayina izimpendulo ze-OCSP</translation>
+<translation id="4863702650881330715">Nweba ukuhambelana</translation>
 <translation id="4863769717153320198">Kubukeka njenge-<ph name="WIDTH" /> x <ph name="HEIGHT" /> (Okuzenzakalelayo)</translation>
 <translation id="4864805589453749318">Khetha umzali onikeza imvume yokwengeza i-akhawunti yesikole.</translation>
 <translation id="486635084936119914">Vula izinhlobo ezithile zamafayela ngokuzenzakalela ngemuva kokulanda</translation>
@@ -4492,6 +4505,7 @@
 <translation id="5094721898978802975">Xhumana nezinhlelo zokusebenza zomdabu ezisebenzisanayo</translation>
 <translation id="5097002363526479830">Ihlulekile ukuxhumeka kunethiwekhi ye-'<ph name="NAME" />': <ph name="DETAILS" /></translation>
 <translation id="5097306410549350357">Funda kabanzi ngokusebenzisa indawo</translation>
+<translation id="5097349930204431044">Amasayithi owavakashelayo anganquma ukuthi yini oyithandayo bese ephakamisa izikhangiso njengoba uqhubeka nokubhrawuza</translation>
 <translation id="5097649414558628673">Ithuluzi: <ph name="PRINT_NAME" /></translation>
 <translation id="5097874180538493929">Chofoza ngokuzenzakalelayo uma i-cursor ima</translation>
 <translation id="5101683448725092498">Gcina izinto zakho</translation>
@@ -4674,6 +4688,7 @@
 <translation id="5275352920323889391">Inja</translation>
 <translation id="527605719918376753">Thulisa ithebhu</translation>
 <translation id="527605982717517565">Hlala uvumela i-JavaScript ku-<ph name="HOST" /></translation>
+<translation id="5276357196618041410">Ayikwazi ukulondoloza ukulungiselelwa ngaphandle kokungena kuqala</translation>
 <translation id="5277127016695466621">Bonisa iphaneli eseceleni</translation>
 <translation id="5278823018825269962">I-Id Yesimo</translation>
 <translation id="5279600392753459966">Vimba konke</translation>
@@ -6173,6 +6188,7 @@
 <translation id="6670767097276846646">Ezinye izandiso zingangeza izinjini zosesho ku-Chrome</translation>
 <translation id="6671320560732140690">{COUNT,plural, =1{ikheli}one{amakheli angu-#}other{amakheli angu-#}}</translation>
 <translation id="6671497123040790595">Ukusetha abaphathi nge-<ph name="MANAGER" /></translation>
+<translation id="6672917148207387131">Engeza i-<ph name="DOMAIN" /></translation>
 <translation id="6673391612973410118"><ph name="PRINTER_MAKE_OR_MODEL" /> (USB)</translation>
 <translation id="6674571176963658787">Ukuze uqale ukuvumelanisa, faka umushwana wakho wokungena</translation>
 <translation id="6675665718701918026">Ikhomba idivayisi exhunyiwe</translation>
@@ -6256,6 +6272,7 @@
 <translation id="6751344591405861699"><ph name="WINDOW_TITLE" /> (i-Incognito)</translation>
 <translation id="6756157672127672536">I-app ye-Files inikeza ukufinyelela okusheshayo kumafayela owalondoloze ku-Google Drive, isitoreji sangaphandle, noma idivayisi yakho ye-ChromeOS.</translation>
 <translation id="6756643207511618722">Izinjini zenkulumo</translation>
+<translation id="6757431299485455321">Siza amanye amadivayisi athole le hotspot.</translation>
 <translation id="6758056191028427665">Sazise ukuthi siqhuba kanjani.</translation>
 <translation id="6759193508432371551">Ukusetha kabusha kwasekuqaleni</translation>
 <translation id="6761431452438552910">Qiniseka ukuthi idivayisi ye-Bluetooth yakho ikwimodi yokubhangqa futhi iseduze. Bhangqa kuphela namadivayisi owathembayo.</translation>
@@ -6355,6 +6372,7 @@
 <translation id="6833479554815567477">Ithebhu isusiwe kuqembu le-<ph name="GROUP_NAME" /> - <ph name="GROUP_CONTENTS" /></translation>
 <translation id="683373380308365518">Shintshela kusiphequluli esihlakaniphile nesiphephile</translation>
 <translation id="6833996806551876956">Ukuzama kwe-Sandbox Yobumfihlo</translation>
+<translation id="6835712061486505758">Sungula i-hotspot ye-WiFi ukuze uhlinzeke nge-inthanethi kwamanye amadivayisi. <ph name="BEGIN_LINK_LEARN_MORE" />Funda kabanzi<ph name="END_LINK_LEARN_MORE" /></translation>
 <translation id="6835762382653651563">Sicela uxhume ku-inthanethi ukuze ubuyekeze i-<ph name="DEVICE_TYPE" /> yakho.</translation>
 <translation id="6839225236531462745">Iphutha lokususa isitifiketi</translation>
 <translation id="6839916869147598086">Ukungena ngemvume kushintshile</translation>
@@ -6516,6 +6534,7 @@
 <translation id="697508444536771064">Cisha i-Linux</translation>
 <translation id="6975361011348772931">Sicele ukufunda nokushintsha</translation>
 <translation id="6978121630131642226">Izinjini zosesho</translation>
+<translation id="6978717888677691380">Amasayithi owavimbile</translation>
 <translation id="6979041727349121225">Isilondolozi Samandla</translation>
 <translation id="6979044105893951891">Qalisa futhi uphume izikhathi zesihambeli eziphethwe</translation>
 <translation id="6979440798594660689">Thulisa (okuzenzakalelayo)</translation>
@@ -6607,6 +6626,7 @@
 <translation id="7047059339731138197">Khetha ingemuva</translation>
 <translation id="7048457618657122233">Yabelana ngelinki ku-<ph name="SHARE_TARGET" /></translation>
 <translation id="7049293980323620022">Gcina ifayela?</translation>
+<translation id="7050037487872780845">Ukulungiselelwa kwe-hotspot okungavumelekile</translation>
 <translation id="7052237160939977163">Thumela idatha yokulandelela ukusebenza</translation>
 <translation id="7053983685419859001">Vimba</translation>
 <translation id="7055152154916055070">Ukuqondiswa kabusha kuvinjiwe:</translation>
@@ -6811,6 +6831,7 @@
 <translation id="7258192266780953209">Ukuguqulwa</translation>
 <translation id="7258225044283673131">Uhlelo lokusebenza aluphenduli. Khetha okuthi "Phoqa ukuvala" ukuze uvale uhlelo lokusebenza.</translation>
 <translation id="7260186537988033909">Ikhiyoski nokubhaliswa kudivayisi yezimpawu kuqedile</translation>
+<translation id="7260367682327802201">Idivayisi yakho ye-Android ingase ihlanganise isethingi efanayo. Uma ukulinganisa kwesikhangiso kuvuliwe ku-Chrome nakudivayisi yakho ye-Android, inkampani ingase ikwazi ukulinganisela ukusebenza kahle kwesikhangiso kuwo wonke amawebhusayithi owavakashelayo nama-app owasebenzisayo.</translation>
 <translation id="7262004276116528033">Le sevisi yokungena ngemvume isingathwa yi-<ph name="SAML_DOMAIN" /></translation>
 <translation id="7263162347647986485">{NUM_SITES,plural, =1{Izimvume zikhishiwe kusayithi eli-1}one{Izimvume zikhishiwe kumasayithi angu-{NUM_SITES}}other{Izimvume zikhishiwe kumasayithi angu-{NUM_SITES}}}</translation>
 <translation id="7264695323040866038">Hlala usebenzisa i-app ye-<ph name="APP" /> ukuvula amalinki wewebhu asekelwe?</translation>
@@ -6954,6 +6975,7 @@
 <translation id="7406912950279255498">Imodi yokuguqulwa kombala</translation>
 <translation id="7407430846095439694">Ngenisa uphinde ubophezele</translation>
 <translation id="7407504355934009739">Iningi labantu livimbela izaziso kusukela kuleli sayithi</translation>
+<translation id="7408080603962564527">Lokhu kuzobonakala kwabanye</translation>
 <translation id="740810853557944681">Engeza iseva yephrinta</translation>
 <translation id="7409549334477097887">Kukhulu Kakhulu</translation>
 <translation id="7409599290172516453">Izithombe zakamuva</translation>
@@ -7269,6 +7291,7 @@
 <translation id="7684718995427157417">Ukuze udale uphinde uhlole izinhlelo zakho zokusebenza, nika amandla i-Android Debug Bridge (ADB). Qaphela ukuthi lesi senzo sivumela ukufakwa kwezinhlelo zokusebenza ze-Android ezingazange ziqinisekiswe i-Google, futhi sidinga ukusethwa kabusha kwasekuqaleni ukuze usikhubaze.</translation>
 <translation id="7685049629764448582">Imemori ye-JavaScript</translation>
 <translation id="7685087414635069102">I-PIN iyadingeka</translation>
+<translation id="7686086654630106285">Okuningi mayelana nezikhangiso eziphakanyiswe yisayithi</translation>
 <translation id="7686581688229391955">Khetha ukuvumela izandiso kuleli sayithi</translation>
 <translation id="7686938547853266130"><ph name="FRIENDLY_NAME" /> (<ph name="DEVICE_PATH" />)</translation>
 <translation id="7690294790491645610">Qinisekisa iphasiwedi entsha</translation>
@@ -7290,6 +7313,7 @@
 <translation id="7704317875155739195">Qedela ngokuzenzakalela usesho nama-URL</translation>
 <translation id="7704521324619958564">Vula i-Google Play Isitolo</translation>
 <translation id="7705276765467986571">Ayikwazanga ukulayisha imodeli yebhukhimakhi.</translation>
+<translation id="7705334495398865155">Yenza ngokungahleliwe i-ID yehadiwe yakho (BSSID) ukuze uvimbele abanye ekulandeleleni le divayisi.</translation>
 <translation id="7705524343798198388">I-VPN</translation>
 <translation id="7707108266051544351">Leli sayithi livinjelwe kusukela ekusebenziseni izinzwa zokunyakaza.</translation>
 <translation id="7707922173985738739">Sebenzisa idatha yeselula</translation>
@@ -7482,6 +7506,7 @@
 <translation id="7881483672146086348">Buka i-akhawunti</translation>
 <translation id="7883792253546618164">Zikhiphe ohlwini noma nini.</translation>
 <translation id="7884372232153418877">{NUM_SITES,plural, =1{Buyekeza isayithi eli-1 elisanda kuthumela izaziso eziningi}one{Buyekeza amasayithi angu-{NUM_SITES} asanda kuthumela izaziso eziningi}other{Buyekeza amasayithi angu-{NUM_SITES} asanda kuthumela izaziso eziningi}}</translation>
+<translation id="7884446017008693258">Amasethingi e-Hotspot</translation>
 <translation id="788453346724465748">Ilayisha ulwazi lwe-akhawunti...</translation>
 <translation id="7886279613512920452">{COUNT,plural, =1{into}one{izinto ezingu-#}other{izinto ezingu-#}}</translation>
 <translation id="7886605625338676841">I-eSIM</translation>
@@ -7706,6 +7731,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Ungavala le sevisi kuzilungiselelo.<ph name="END_PARAGRAPH3" /></translation>
 <translation id="8076492880354921740">Okwamathebhu</translation>
 <translation id="8076835018653442223">Ukufinyelela kumafayela asendaweni kudivayisi yakho kukhutshazwe umlawuli wakho</translation>
+<translation id="8077120325605624147">Noma iyiphi isayithi oyivakashelayo ingakubonisa noma yisiphi isikhangiso</translation>
 <translation id="80798452873915119">Amasayithi angacela ukuphatha amawindi kuzo zonke izibonisi zakho</translation>
 <translation id="808089508890593134">Google</translation>
 <translation id="8081623398548615289">Iseshini yakho iphethwe ngu-<ph name="MANAGER_NAME" />. Abalawuli bangasula iphrofayela yakho futhi bagade ngisho nethrafikhi yenethiwekhi yakho.</translation>
@@ -8218,6 +8244,7 @@
 <translation id="8557180006508471423">Vula i-"Google Chrome" Kumasevisi Endawo ku-Mac yakho</translation>
 <translation id="8557856025359704738">Ukudawuniloda okulandelayo kungomhla ka-<ph name="NEXT_DATE_DOWNLOAD" />.</translation>
 <translation id="8559858985063901027">Okhiye bokudlula</translation>
+<translation id="8559961053328923750">I-Chrome ikhawulela inani ledatha amasayithi angabelana ngayo ngebhrawuza ukulinganisela ukusebenza kwesikhangiso</translation>
 <translation id="8560327176991673955">{COUNT,plural, =0{Vula Konke Ewindini &amp;Elisha}=1{Vula ewindini &amp;elisha}one{Vula Konke ({COUNT}) &amp;Ewindini Elisha}other{Vula Konke ({COUNT}) &amp;Ewindini Elisha}}</translation>
 <translation id="8561206103590473338">Indlovu</translation>
 <translation id="8561565784790166472">Qhubeka ngokuqaphela</translation>
@@ -8359,6 +8386,7 @@
 <translation id="8678933587484842200">Ungathanda ukuthi lolu hlelo lokusebenza luqalise kanjani?</translation>
 <translation id="8680251145628383637">Ngena ngemvume ukuze uthole amabhukimakhi wakho, umlando, amaphasiwedi nezinye izilungiselelo kuwo wonke amadivayisi akho. Futhi uzongeniswa ngemvume ngokuzenzakalela kumasevisi wakho e-Google.</translation>
 <translation id="8681614230122836773">I-Chrome ithole isofthiwe eyingozi kwikhompuyutha yakho</translation>
+<translation id="8681886425883659911">Izikhangiso zivinjelwe kumasayithi aziwa ngokubonisa izikhangiso ezizivelelayo noma ezidukisayo</translation>
 <translation id="8682730193597992579">I-<ph name="PRINTER_NAME" /> ixhunyiwe futhi ilungile</translation>
 <translation id="8687103160920393343">Khansela i-<ph name="FILE_NAME" /></translation>
 <translation id="8688672835843460752">Kuyatholakala</translation>
@@ -8730,6 +8758,7 @@
 <translation id="9021662811137657072">Kutholwe igciwane</translation>
 <translation id="902236149563113779">Amasayithi avamise ukulandelela isimo sekhamera yakho kuzici ze-AR, ezifana namageyimu noma izikhombisi-ndlela zokwaziswa</translation>
 <translation id="9022847679183471841">Le akhawunti isivele iyasetshenziswa kule khompuyutha ngu-<ph name="AVATAR_NAME" />.</translation>
+<translation id="9022871169049522985">Amasayithi nabakhangisi bangalinganisa ukusebenza kwezikhangiso zabo</translation>
 <translation id="9023015617655685412">Yenza ibhukhimakhi leli thebhu...</translation>
 <translation id="9023909777842748145">Ukuvala lesi sici akuthinti ikhono ledivayisi yakho lokwazi ukuthumela ulwazi oludingekayo lwamasevisi abalulekile afana nezibuyekezo zesistimu nokuvikelwa.</translation>
 <translation id="9024127637873500333">&amp;Vula kuthebhu entsha</translation>
@@ -8859,6 +8888,7 @@
 <translation id="9128335130883257666">Vula ikhasi lamasethingi le-<ph name="INPUT_METHOD_NAME" /></translation>
 <translation id="9128870381267983090">Xhuma kunethiwekhi</translation>
 <translation id="9130015405878219958">Kufakwe imodi engavumelekile.</translation>
+<translation id="9131209053278896908">Amasayithi avinjiwe avela lapha</translation>
 <translation id="9131487537093447019">Thumela imilayezo kuya bese uthola imilayezo kusuka kumadivayisi we-Bluetooth</translation>
 <translation id="913383674572270194">{NUM_BOOKMARKS,plural, =1{Ibhukhimakhi e-1}one{Amabhukhimakhi angu-#}other{Amabhukhimakhi angu-#}}</translation>
 <translation id="9134066738478820307">Amasayithi angasebenzisa izinkomba ukuze adlale okuqukethwe okuvikelwe</translation>
@@ -8912,6 +8942,7 @@
 <translation id="9180281769944411366">Le nqubo ingathatha amaminithi ambalwa. Iqala isiqukathi se-Linux.</translation>
 <translation id="9180380851667544951">Isayithi lingabelana ngesikrini sakho</translation>
 <translation id="9182556968660520230">Ungavumeli amasayithi kokuqukethwe okuvikelwe yi-Google Play</translation>
+<translation id="9183331776983279456">I-Chrome isula ngokuzenzekela amasayithi amadala kunamaviki ama-4. Isayithi oyivakashelayo futhi ingase ivele ohlwini. Noma ungavimba isayithi ekuphakamiseni izikhangiso zakho.</translation>
 <translation id="918352324374649435">{COUNT,plural, =1{Uhlelo lokusebenza}one{izinhlelo zokusebenza ezingu-#}other{izinhlelo zokusebenza ezingu-#}}</translation>
 <translation id="9186963452600581158">Ngena ngemvume nge-Akhawunti ye-Google yengane</translation>
 <translation id="9187967020623675250">Okhiye abafani. Cindezela noma yimuphi ukhiye uku-<ph name="RESPONSE" />.</translation>
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
index 4a835d2..0cab685 100644
--- a/chrome/app/settings_strings.grdp
+++ b/chrome/app/settings_strings.grdp
@@ -453,9 +453,21 @@
   <message name="IDS_SETTINGS_ADD_PAYMENT_METHOD_CREDIT_OR_DEBIT_CARD" desc="The label that appears in the drop-down selector when adding a local payment method, which allows users to add a credit or debit card.">
     Credit/Debit card
   </message>
-  <message name="IDS_SETTINGS_ADD_PAYMENT_METHOD_IBAN" desc="The label that appears in the drop-down selector when adding a local payment method, which allows users to add an IBAN.">
+  <message name="IDS_SETTINGS_ADD_PAYMENT_METHOD_IBAN" desc="The label that appears in the drop-down selector when adding a local payment method, which allows users to add an IBAN (International Bank Account Number).">
     IBAN
   </message>
+  <message name="IDS_SETTINGS_IBAN_SAVED_TO_THIS_DEVICE_ONLY" desc="Shown in the payments section of settings. Descriptive text to inform the user that this IBAN (International Bank Account Number) will be saved to local device only.">
+   This IBAN will be saved to this device only
+  </message>
+  <message name="IDS_IBAN_NICKNAME" desc="Label for the field containing the nickname of the IBAN (International Bank Account Number) to be saved.">
+    Nickname
+  </message>
+  <message name="IDS_SETTINGS_ADD_IBAN_TITLE" desc="The title for the dialog that's shown when editing an IBAN (International Bank Account Number).">
+    Add IBAN
+  </message>
+  <message name="IDS_SETTINGS_EDIT_IBAN_TITLE" desc="The title for the dialog that's shown when entering the information for a new IBAN (International Bank Account Number).">
+    Edit IBAN
+  </message>
   <message name="IDS_SETTINGS_UPI_ID_LABEL" desc="A label which appears next to UPI IDs, when they are listed as stored payment info, but it is visually separate from the UPI ID. It lets the user know this is a UPI ID (e.g. as opposed to a credit card number). UPI is a system for payments in India. A UPI ID is an email-like string.">
     UPI ID
   </message>
diff --git a/chrome/app/settings_strings_grdp/IDS_IBAN_NICKNAME.png.sha1 b/chrome/app/settings_strings_grdp/IDS_IBAN_NICKNAME.png.sha1
new file mode 100644
index 0000000..dbc93b5
--- /dev/null
+++ b/chrome/app/settings_strings_grdp/IDS_IBAN_NICKNAME.png.sha1
@@ -0,0 +1 @@
+6474f72c74c8dc94a2753c8ba8b25d9a04d19b0c
\ No newline at end of file
diff --git a/chrome/app/settings_strings_grdp/IDS_SETTINGS_ADD_IBAN_TITLE.png.sha1 b/chrome/app/settings_strings_grdp/IDS_SETTINGS_ADD_IBAN_TITLE.png.sha1
new file mode 100644
index 0000000..305de3e
--- /dev/null
+++ b/chrome/app/settings_strings_grdp/IDS_SETTINGS_ADD_IBAN_TITLE.png.sha1
@@ -0,0 +1 @@
+0ca06ef65d98db97390afe8ecf3cd525b9b2ff72
\ No newline at end of file
diff --git a/chrome/app/settings_strings_grdp/IDS_SETTINGS_EDIT_IBAN_TITLE.png.sha1 b/chrome/app/settings_strings_grdp/IDS_SETTINGS_EDIT_IBAN_TITLE.png.sha1
new file mode 100644
index 0000000..243ba8c
--- /dev/null
+++ b/chrome/app/settings_strings_grdp/IDS_SETTINGS_EDIT_IBAN_TITLE.png.sha1
@@ -0,0 +1 @@
+620198140cf78ef1cb0c94a2075ae886809e62c8
\ No newline at end of file
diff --git a/chrome/app/settings_strings_grdp/IDS_SETTINGS_IBAN_SAVED_TO_THIS_DEVICE_ONLY.png.sha1 b/chrome/app/settings_strings_grdp/IDS_SETTINGS_IBAN_SAVED_TO_THIS_DEVICE_ONLY.png.sha1
new file mode 100644
index 0000000..a0c4db1
--- /dev/null
+++ b/chrome/app/settings_strings_grdp/IDS_SETTINGS_IBAN_SAVED_TO_THIS_DEVICE_ONLY.png.sha1
@@ -0,0 +1 @@
+13288f0dbad96e85612f8b28c2777a46d1826564
\ No newline at end of file
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 1e31a35d..246de16 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -4345,18 +4345,6 @@
      flag_descriptions::kAllowAllSitesToInitiateMirroringDescription,
      kOsDesktop,
      FEATURE_VALUE_TYPE(media_router::kAllowAllSitesToInitiateMirroring)},
-    {"enable-migrate-default-chrome-app-to-web-apps-gsuite",
-     flag_descriptions::kEnableMigrateDefaultChromeAppToWebAppsGSuiteName,
-     flag_descriptions::
-         kEnableMigrateDefaultChromeAppToWebAppsGSuiteDescription,
-     kOsDesktop,
-     FEATURE_VALUE_TYPE(web_app::kMigrateDefaultChromeAppToWebAppsGSuite)},
-    {"enable-migrate-default-chrome-app-to-web-apps-non-gsuite",
-     flag_descriptions::kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteName,
-     flag_descriptions::
-         kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteDescription,
-     kOsDesktop,
-     FEATURE_VALUE_TYPE(web_app::kMigrateDefaultChromeAppToWebAppsNonGSuite)},
     {"enable-preinstalled-web-app-duplication-fixer",
      flag_descriptions::kEnablePreinstalledWebAppDuplicationFixerName,
      flag_descriptions::kEnablePreinstalledWebAppDuplicationFixerDescription,
diff --git a/chrome/browser/accessibility/BUILD.gn b/chrome/browser/accessibility/BUILD.gn
index e54aed68..607fe7c 100644
--- a/chrome/browser/accessibility/BUILD.gn
+++ b/chrome/browser/accessibility/BUILD.gn
@@ -26,4 +26,11 @@
   if (is_chromeos_ash) {
     deps += [ "//ash/constants" ]
   }
+
+  if (is_chromeos_lacros) {
+    deps += [
+      "//chromeos/lacros",
+      "//chromeos/startup",
+    ]
+  }
 }
diff --git a/chrome/browser/accessibility/live_caption_speech_recognition_host_browsertest.cc b/chrome/browser/accessibility/live_caption_speech_recognition_host_browsertest.cc
index 74163be..5d43cd5 100644
--- a/chrome/browser/accessibility/live_caption_speech_recognition_host_browsertest.cc
+++ b/chrome/browser/accessibility/live_caption_speech_recognition_host_browsertest.cc
@@ -73,7 +73,7 @@
   }
 
   void SetUpOnMainThread() override {
-    InProcessBrowserTest::SetUpOnMainThread();
+    LiveCaptionBrowserTest::SetUpOnMainThread();
     ASSERT_TRUE(embedded_test_server()->Start());
   }
 
diff --git a/chrome/browser/accessibility/live_caption_test_util.cc b/chrome/browser/accessibility/live_caption_test_util.cc
index 12250dc..7cb2d87 100644
--- a/chrome/browser/accessibility/live_caption_test_util.cc
+++ b/chrome/browser/accessibility/live_caption_test_util.cc
@@ -21,9 +21,16 @@
 #include "ash/constants/ash_features.h"
 #endif
 
+#if BUILDFLAG(IS_CHROMEOS_LACROS)
+#include "chromeos/crosapi/mojom/crosapi.mojom.h"
+#include "chromeos/lacros/lacros_service.h"
+#include "chromeos/startup/browser_init_params.h"
+#endif
+
 namespace captions {
 
 namespace {
+
 // Chrome feature flags that gate Live Caption.
 std::vector<base::test::FeatureRef> RequiredFeatureFlags() {
   std::vector<base::test::FeatureRef> features = {media::kLiveCaption};
@@ -32,6 +39,17 @@
 #endif
   return features;
 }
+
+// LaCrOS learns about ondevice-speech support via BrowserInitParams.
+#if BUILDFLAG(IS_CHROMEOS_LACROS)
+void SetRequiredLacrosInitParams() {
+  crosapi::mojom::BrowserInitParamsPtr init_params =
+      chromeos::BrowserInitParams::GetForTests()->Clone();
+  init_params->is_ondevice_speech_supported = true;
+  chromeos::BrowserInitParams::SetInitParamsForTests(std::move(init_params));
+}
+#endif
+
 }  // namespace
 
 void LiveCaptionBrowserTest::SetUp() {
@@ -39,6 +57,14 @@
   InProcessBrowserTest::SetUp();
 }
 
+void LiveCaptionBrowserTest::CreatedBrowserMainParts(
+    content::BrowserMainParts* browser_main_parts) {
+#if BUILDFLAG(IS_CHROMEOS_LACROS)
+  SetRequiredLacrosInitParams();
+#endif
+  InProcessBrowserTest::CreatedBrowserMainParts(browser_main_parts);
+}
+
 void LiveCaptionBrowserTest::SetLiveCaptionEnabled(bool enabled) {
   SetLiveCaptionEnabledOnProfile(enabled, browser()->profile());
 }
diff --git a/chrome/browser/accessibility/live_caption_test_util.h b/chrome/browser/accessibility/live_caption_test_util.h
index 470b2a6..9eb58e7 100644
--- a/chrome/browser/accessibility/live_caption_test_util.h
+++ b/chrome/browser/accessibility/live_caption_test_util.h
@@ -23,6 +23,7 @@
 
   // InProcessBrowserTest:
   void SetUp() override;
+  void CreatedBrowserMainParts(content::BrowserMainParts*) override;
 
  protected:
   // Enables/disables the live caption pref on the specified profile (or default
diff --git a/chrome/browser/ash/BUILD.gn b/chrome/browser/ash/BUILD.gn
index 002d47a..04060dc 100644
--- a/chrome/browser/ash/BUILD.gn
+++ b/chrome/browser/ash/BUILD.gn
@@ -4460,6 +4460,7 @@
     "../ui/webui/settings/ash/search/search_handler_unittest.cc",
     "../ui/webui/settings/ash/search/search_tag_registry_unittest.cc",
     "../ui/webui/settings/ash/search_engines_handler_unittest.cc",
+    "../ui/webui/settings/ash/send_search_feedback_handler_unittest.cc",
     "../ui/webui/settings/ash/settings_user_action_tracker_unittest.cc",
     "../ui/webui/settings/chromeos/constants/routes_util_unittest.cc",
     "accessibility/pumpkin_installer_unittest.cc",
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.cc
index 181cacc..36e29eb6 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.cc
@@ -14,10 +14,9 @@
 #define CP_PREFIX "ChromeOS.CertProvisioning"
 
 #define CP_EVENT ".Event"
+#define CP_KEYPAIR_GENERATION_TIME ".KeypairGenerationTime"
 
 #define CP_RESULT "ChromeOS.CertProvisioning.Result"
-#define CP_KEYPAIR_GENERATION_TIME \
-  "ChromeOS.CertProvisioning.KeypairGenerationTime"
 #define CP_VA_TIME "ChromeOS.CertProvisioning.VaTime"
 #define CP_CSR_SIGN_TIME "ChromeOS.CertProvisioning.CsrSignTime"
 
@@ -34,8 +33,11 @@
     {CP_PREFIX CP_EVENT CP_USER, CP_PREFIX CP_EVENT CP_DEVICE},
     {CP_PREFIX CP_EVENT CP_DYNAMIC CP_USER,
      CP_PREFIX CP_EVENT CP_DYNAMIC CP_DEVICE}};
-const char* const kKeypairGenerationTime[] = {
-    CP_KEYPAIR_GENERATION_TIME CP_USER, CP_KEYPAIR_GENERATION_TIME CP_DEVICE};
+const char* const kKeypairGenerationTime[][2] = {
+    {CP_PREFIX CP_KEYPAIR_GENERATION_TIME CP_USER,
+     CP_PREFIX CP_KEYPAIR_GENERATION_TIME CP_DEVICE},
+    {CP_PREFIX CP_KEYPAIR_GENERATION_TIME CP_DYNAMIC CP_USER,
+     CP_PREFIX CP_KEYPAIR_GENERATION_TIME CP_DYNAMIC CP_DEVICE}};
 const char* const kVaTime[] = {CP_VA_TIME CP_USER, CP_VA_TIME CP_DEVICE};
 const char* const kSignCsrTime[] = {CP_CSR_SIGN_TIME CP_USER,
                                     CP_CSR_SIGN_TIME CP_DEVICE};
@@ -74,10 +76,13 @@
       kEvent[ProtocolVersionToIdx(protocol_version)][ScopeToIdx(scope)], event);
 }
 
-void RecordKeypairGenerationTime(CertScope scope, base::TimeDelta sample) {
-  base::UmaHistogramCustomTimes(kKeypairGenerationTime[ScopeToIdx(scope)],
-                                sample, base::Milliseconds(1), base::Minutes(2),
-                                25);
+void RecordKeypairGenerationTime(ProtocolVersion protocol_version,
+                                 CertScope scope,
+                                 base::TimeDelta sample) {
+  base::UmaHistogramCustomTimes(
+      kKeypairGenerationTime[ProtocolVersionToIdx(protocol_version)]
+                            [ScopeToIdx(scope)],
+      sample, base::Milliseconds(1), base::Minutes(2), 25);
 }
 
 void RecordVerifiedAccessTime(CertScope scope, base::TimeDelta sample) {
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
index a810fe1..8edaad07 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
@@ -43,7 +43,9 @@
                  CertProvisioningEvent event);
 
 // Records time of generation key pair by certificate provisioning worker.
-void RecordKeypairGenerationTime(CertScope scope, base::TimeDelta sample);
+void RecordKeypairGenerationTime(ProtocolVersion protocol_version,
+                                 CertScope scope,
+                                 base::TimeDelta sample);
 
 // Records time of building Verified Access response by certificate provisioning
 // worker.
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
index 78a4939c..c2b60b0 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
@@ -402,7 +402,8 @@
     const attestation::TpmChallengeKeyResult& result) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
-  RecordKeypairGenerationTime(cert_scope_, base::TimeTicks::Now() - start_time);
+  RecordKeypairGenerationTime(cert_profile_.protocol_version, cert_scope_,
+                              base::TimeTicks::Now() - start_time);
 
   if (result.result_code ==
       attestation::TpmChallengeKeyResultCode::kGetCertificateFailedError) {
diff --git a/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl.cc b/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl.cc
index 568fd8a..349fda0 100644
--- a/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl.cc
+++ b/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl.cc
@@ -10,6 +10,7 @@
 #include "ash/style/color_palette_controller.h"
 #include "ash/system/scheduled_feature/scheduled_feature.h"
 #include "chrome/browser/ash/web_applications/personalization_app/personalization_app_metrics.h"
+#include "chrome/browser/ash/web_applications/personalization_app/personalization_app_utils.h"
 #include "chrome/browser/profiles/profile.h"
 #include "components/prefs/pref_service.h"
 
@@ -58,8 +59,9 @@
   NotifyColorModeAutoScheduleChanged();
   if (ash::features::IsJellyEnabled()) {
     // TODO(b/261505637): Observe changes to the color prefs.
-    OnStaticColorChanged(color_palette_controller_->static_color());
-    OnColorSchemeChanged(color_palette_controller_->color_scheme());
+    AccountId account_id = GetAccountId(profile_);
+    OnStaticColorChanged(color_palette_controller_->GetStaticColor(account_id));
+    OnColorSchemeChanged(color_palette_controller_->GetColorScheme(account_id));
   }
 }
 
@@ -135,7 +137,8 @@
         "Cannot call GetColorScheme without Jelly enabled.");
     return;
   }
-  std::move(callback).Run(color_palette_controller_->color_scheme());
+  std::move(callback).Run(
+      color_palette_controller_->GetColorScheme(GetAccountId(profile_)));
 }
 
 void PersonalizationAppThemeProviderImpl::SetColorScheme(
@@ -145,7 +148,8 @@
         "Cannot call SetColorScheme without Jelly enabled.");
     return;
   }
-  color_palette_controller_->SetColorScheme(color_scheme, base::DoNothing());
+  color_palette_controller_->SetColorScheme(
+      color_scheme, GetAccountId(profile_), base::DoNothing());
   OnColorSchemeChanged(color_scheme);
 }
 
@@ -156,7 +160,8 @@
         "Cannot call GetStaticColor without Jelly enabled.");
     return;
   }
-  std::move(callback).Run(color_palette_controller_->static_color());
+  std::move(callback).Run(
+      color_palette_controller_->GetStaticColor(GetAccountId(profile_)));
 }
 
 void PersonalizationAppThemeProviderImpl::SetStaticColor(SkColor static_color) {
@@ -165,11 +170,13 @@
         "Cannot call SetStaticColor without Jelly enabled.");
     return;
   }
-  color_palette_controller_->SetStaticColor(static_color, base::DoNothing());
+  AccountId account_id = GetAccountId(profile_);
+  color_palette_controller_->SetStaticColor(static_color, account_id,
+                                            base::DoNothing());
   // TODO(b/261505637): Remove and use pref listeners once the prefs are
   // available.
   OnStaticColorChanged(static_color);
-  OnColorSchemeChanged(color_palette_controller_->color_scheme());
+  OnColorSchemeChanged(ColorScheme::kStatic);
 }
 
 void PersonalizationAppThemeProviderImpl::GenerateSampleColorSchemes(
diff --git a/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl_unittest.cc b/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl_unittest.cc
index a1db18f..f508a6f 100644
--- a/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl_unittest.cc
+++ b/chrome/browser/ash/web_applications/personalization_app/personalization_app_theme_provider_impl_unittest.cc
@@ -10,12 +10,14 @@
 #include "ash/shell.h"
 #include "ash/style/color_palette_controller.h"
 #include "ash/style/dark_light_mode_controller_impl.h"
+#include "ash/test/ash_test_base.h"
 #include "base/run_loop.h"
 #include "base/test/gmock_callback_support.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/mock_callback.h"
 #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h"
 #include "chrome/browser/ash/web_applications/personalization_app/personalization_app_metrics.h"
+#include "chrome/browser/ash/web_applications/personalization_app/personalization_app_utils.h"
 #include "chrome/test/base/chrome_ash_test_base.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile_manager.h"
@@ -32,6 +34,17 @@
 namespace {
 
 constexpr char kFakeTestEmail[] = "fakeemail@personalization";
+constexpr char kTestGaiaId[] = "1234567890";
+
+void AddAndLoginUser(const AccountId& account_id) {
+  ash::FakeChromeUserManager* user_manager =
+      static_cast<ash::FakeChromeUserManager*>(
+          user_manager::UserManager::Get());
+
+  user_manager->AddUser(account_id);
+  user_manager->LoginUser(account_id);
+  user_manager->SwitchActiveUser(account_id);
+}
 
 class TestThemeObserver
     : public ash::personalization_app::mojom::ThemeObserver {
@@ -61,16 +74,18 @@
   }
 
   absl::optional<bool> is_dark_mode_enabled() {
-    if (!theme_observer_receiver_.is_bound())
+    if (!theme_observer_receiver_.is_bound()) {
       return absl::nullopt;
+    }
 
     theme_observer_receiver_.FlushForTesting();
     return dark_mode_enabled_;
   }
 
   bool is_color_mode_auto_schedule_enabled() {
-    if (theme_observer_receiver_.is_bound())
+    if (theme_observer_receiver_.is_bound()) {
       theme_observer_receiver_.FlushForTesting();
+    }
     return color_mode_auto_schedule_enabled_;
   }
 
@@ -82,8 +97,9 @@
   }
 
   absl::optional<SkColor> GetStaticColor() {
-    if (!theme_observer_receiver_.is_bound())
+    if (!theme_observer_receiver_.is_bound()) {
       return absl::nullopt;
+    }
     theme_observer_receiver_.FlushForTesting();
     return static_color_;
   }
@@ -156,14 +172,16 @@
   }
 
   absl::optional<bool> is_dark_mode_enabled() {
-    if (theme_provider_remote_.is_bound())
+    if (theme_provider_remote_.is_bound()) {
       theme_provider_remote_.FlushForTesting();
+    }
     return test_theme_observer_.is_dark_mode_enabled();
   }
 
   bool is_color_mode_auto_schedule_enabled() {
-    if (theme_provider_remote_.is_bound())
+    if (theme_provider_remote_.is_bound()) {
       theme_provider_remote_.FlushForTesting();
+    }
     return test_theme_observer_.is_color_mode_auto_schedule_enabled();
   }
 
@@ -175,8 +193,9 @@
   }
 
   absl::optional<SkColor> GetStaticColor() {
-    if (theme_provider_remote_.is_bound())
+    if (theme_provider_remote_.is_bound()) {
       theme_provider_remote_.FlushForTesting();
+    }
     return test_theme_observer_.GetStaticColor();
   }
 
@@ -246,6 +265,14 @@
   PersonalizationAppThemeProviderImplJellyTest& operator=(
       const PersonalizationAppThemeProviderImplJellyTest&) = delete;
 
+  void SetUp() override {
+    PersonalizationAppThemeProviderImplTest::SetUp();
+    AccountId account_id =
+        AccountId::FromUserEmailGaiaId(kFakeTestEmail, kTestGaiaId);
+    AddAndLoginUser(account_id);
+    GetSessionControllerClient()->AddUserSession(account_id, kFakeTestEmail);
+  }
+
  private:
   base::test::ScopedFeatureList scoped_feature_list_;
 };
diff --git a/chrome/browser/extensions/api/settings_private/OWNERS b/chrome/browser/extensions/api/settings_private/OWNERS
index 443a569..a1ed5bba 100644
--- a/chrome/browser/extensions/api/settings_private/OWNERS
+++ b/chrome/browser/extensions/api/settings_private/OWNERS
@@ -1 +1,4 @@
 file://chrome/browser/resources/settings/OWNERS
+
+# For ChromeOS Settings changes
+file://chrome/browser/resources/settings/chromeos/OWNERS
diff --git a/chrome/browser/extensions/preinstalled_apps_browsertest.cc b/chrome/browser/extensions/preinstalled_apps_browsertest.cc
deleted file mode 100644
index b2c8736..0000000
--- a/chrome/browser/extensions/preinstalled_apps_browsertest.cc
+++ /dev/null
@@ -1,128 +0,0 @@
-// Copyright 2021 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/memory/raw_ptr.h"
-#include "chrome/browser/extensions/extension_browsertest.h"
-
-#include "base/json/json_reader.h"
-#include "base/one_shot_event.h"
-#include "base/path_service.h"
-#include "base/run_loop.h"
-#include "base/test/bind.h"
-#include "base/test/scoped_feature_list.h"
-#include "base/test/scoped_path_override.h"
-#include "build/branding_buildflags.h"
-#include "build/chromeos_buildflags.h"
-#include "chrome/browser/extensions/extension_service.h"
-#include "chrome/browser/extensions/pending_extension_manager.h"
-#include "chrome/browser/web_applications/preinstalled_app_install_features.h"
-#include "chrome/common/chrome_paths.h"
-#include "chrome/common/chrome_switches.h"
-#include "chrome/common/extensions/extension_constants.h"
-#include "content/public/test/browser_test.h"
-#include "extensions/browser/extension_registry.h"
-#include "extensions/browser/extension_system.h"
-#include "extensions/browser/test_extension_registry_observer.h"
-
-namespace extensions {
-
-namespace {
-
-constexpr const char kDefaultInstalledId[] = "kbmnembihfiondgfjekmnmcbddelicoi";
-
-base::FilePath GetTestPreinstalledAppsDir() {
-  base::FilePath path;
-  CHECK(base::PathService::Get(chrome::DIR_TEST_DATA, &path));
-  path = path.AppendASCII("extensions/test_default_apps");
-  return path;
-}
-
-}  // namespace
-
-class PreinstalledAppsBrowserTest : public ExtensionBrowserTest {
- public:
-  PreinstalledAppsBrowserTest()
-      : preinstalled_apps_(chrome::DIR_DEFAULT_APPS,
-                           GetTestPreinstalledAppsDir()) {}
-  PreinstalledAppsBrowserTest(const PreinstalledAppsBrowserTest&) = delete;
-  PreinstalledAppsBrowserTest& operator=(const PreinstalledAppsBrowserTest&) =
-      delete;
-  ~PreinstalledAppsBrowserTest() override = default;
-
-  // Note: This is different than SetUpCommandLine();
-  // SetUpDefaultCommandLine() is called second (surprisingly), so removing
-  // the disable pre-installed apps switch in SetUpCommandLine is insufficient.
-  void SetUpDefaultCommandLine(base::CommandLine* command_line) override {
-    ExtensionBrowserTest::SetUpDefaultCommandLine(command_line);
-    // We rely on pre-installed apps being present for these tests.
-    command_line->RemoveSwitch(::switches::kDisableDefaultApps);
-
-    if (ShouldEnableWebAppMigration()) {
-      feature_list_.InitAndEnableFeature(
-          web_app::kMigrateDefaultChromeAppToWebAppsNonGSuite);
-    } else {
-      feature_list_.InitAndDisableFeature(
-          web_app::kMigrateDefaultChromeAppToWebAppsNonGSuite);
-    }
-  }
-
-  // Waits for the extension system to be ready, including installing any
-  // pending extensions.
-  virtual void WaitForSystemReady() {
-    {
-      base::RunLoop run_loop;
-      ExtensionSystem::Get(profile())->ready().Post(FROM_HERE,
-                                                    run_loop.QuitClosure());
-      run_loop.Run();
-    }
-
-    PendingExtensionManager* const pending_manager =
-        ExtensionSystem::Get(profile())
-            ->extension_service()
-            ->pending_extension_manager();
-
-    // If the test extension is still pending, wait for it to finish.
-    if (pending_manager->IsIdPending(kDefaultInstalledId)) {
-      TestExtensionRegistryObserver(registry()).WaitForExtensionInstalled();
-    }
-
-    // In Chromium builds, there shouldn't be any other pending extensions.
-    // In Google Chrome, we don't have this assertion, because we bundle a
-    // couple other default extensions (like the Chrome Apps In-Apps Payment
-    // app, or Chrome Media Router). These will never install, since they rely
-    // on being downloaded (which can't happen in browser tests).
-#if !BUILDFLAG(GOOGLE_CHROME_BRANDING)
-    EXPECT_FALSE(pending_manager->HasPendingExtensions());
-#endif
-  }
-
-  virtual bool ShouldEnableWebAppMigration() { return false; }
-
-  ExtensionRegistry* registry() { return ExtensionRegistry::Get(profile()); }
-
- private:
-  base::ScopedPathOverride preinstalled_apps_;
-  base::test::ScopedFeatureList feature_list_;
-};
-
-// Default apps are handled differently on ChromeOS.
-#if !BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Install pre-installed apps, then uninstall one. It should not return on next
-// run.
-IN_PROC_BROWSER_TEST_F(PreinstalledAppsBrowserTest, PRE_TestUninstall) {
-  WaitForSystemReady();
-  EXPECT_TRUE(registry()->enabled_extensions().GetByID(kDefaultInstalledId));
-
-  UninstallExtension(kDefaultInstalledId);
-  EXPECT_FALSE(registry()->enabled_extensions().GetByID(kDefaultInstalledId));
-}
-IN_PROC_BROWSER_TEST_F(PreinstalledAppsBrowserTest, TestUninstall) {
-  WaitForSystemReady();
-  EXPECT_FALSE(registry()->enabled_extensions().GetByID(kDefaultInstalledId));
-}
-
-#endif  // !BUILDFLAG(IS_CHROMEOS_ASH)
-
-}  // namespace extensions
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index f6a7254..738da6f 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -2697,16 +2697,6 @@
     "expiry_milestone": 112
   },
   {
-    "name": "enable-migrate-default-chrome-app-to-web-apps-gsuite",
-    "owners": [ "alancutter", "desktop-pwas-team@google.com" ],
-    "expiry_milestone": 113
-  },
-  {
-    "name": "enable-migrate-default-chrome-app-to-web-apps-non-gsuite",
-    "owners": [ "alancutter", "desktop-pwas-team@google.com" ],
-    "expiry_milestone": 113
-  },
-  {
     "name": "enable-nacl",
     "owners": [ "dschuff", "native-client-dev@googlegroups.com" ],
     "expiry_milestone": 128
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 66fa04b1..f92f5c9 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -973,18 +973,6 @@
     "Enable PWAs with screenshots to show a detailed install dialog during "
     "installation";
 
-const char kEnableMigrateDefaultChromeAppToWebAppsGSuiteName[] =
-    "Migrate default G Suite Chrome apps to web apps";
-const char kEnableMigrateDefaultChromeAppToWebAppsGSuiteDescription[] =
-    "Enable the migration of default installed G Suite Chrome apps over to "
-    "their corresponding web apps.";
-
-const char kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteName[] =
-    "Migrate default non-G Suite Chrome apps to web apps";
-const char kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteDescription[] =
-    "Enable the migration of default installed non-G Suite Chrome apps over to "
-    "their corresponding web apps.";
-
 const char kEnablePreinstalledWebAppDuplicationFixerName[] =
     "Enable the app deduplication fix for migrated preinstalled web apps";
 const char kEnablePreinstalledWebAppDuplicationFixerDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index dd285cc..e541628a 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -557,12 +557,6 @@
 extern const char kIsolatedAppOriginsName[];
 extern const char kIsolatedAppOriginsDescription[];
 
-extern const char kEnableMigrateDefaultChromeAppToWebAppsGSuiteName[];
-extern const char kEnableMigrateDefaultChromeAppToWebAppsGSuiteDescription[];
-
-extern const char kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteName[];
-extern const char kEnableMigrateDefaultChromeAppToWebAppsNonGSuiteDescription[];
-
 extern const char kEnablePreinstalledWebAppDuplicationFixerName[];
 extern const char kEnablePreinstalledWebAppDuplicationFixerDescription[];
 
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js
index c4eda44e..0178b2c 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/background_test.js
@@ -68,7 +68,6 @@
     await importModule('KeyCode', '/common/key_code.js');
     await importModule('LocalStorage', '/common/local_storage.js');
 
-
     globalThis.simulateHitTestResult = this.simulateHitTestResult;
     globalThis.press = this.press;
     globalThis.doDefault = this.doDefault;
@@ -263,7 +262,7 @@
 
 /** Tests that ChromeVox's background object is not available globally. */
 AX_TEST_F('ChromeVoxBackgroundTest', 'NextNamespaces', function() {
-  assertEquals(undefined, window.Background);
+  assertEquals(undefined, globalThis.Background);
 });
 
 /** Tests consistency of navigating forward and backward. */
@@ -2639,7 +2638,7 @@
   const root = await this.runWithLoadedTree('<p>unused</p>');
   const output = new Output();
   Output.forceModeForNextSpeechUtterance(QueueMode.CATEGORY_FLUSH);
-  output.append_(
+  output.append(
       output.speechBuffer_, new Spannable(''),
       {annotation: [new OutputAction()]});
   output.withString('test');
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler.js
index 19fb0b2..2b2971a 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler.js
@@ -138,6 +138,9 @@
     this.addListener_(
         EventType.VALUE_IN_TEXT_FIELD_CHANGED, this.onEditableChanged_);
     this.addListener_(EventType.VALUE_CHANGED, this.onValueChanged);
+    this.addListener_(
+        EventType.AUTOFILL_AVAILABILITY_CHANGED,
+        this.onAutofillAvailabilityChanged);
 
     await AutomationObjectConstructorInstaller.init(node);
     const focus = await AsyncUtil.getFocus();
@@ -796,6 +799,26 @@
   }
 
   /**
+   * Handles autofill availability changes.
+   * @param {!ChromeVoxEvent} evt
+   */
+  onAutofillAvailabilityChanged(evt) {
+    const node = evt.target;
+    const state = node.state;
+    const currentRange = ChromeVoxState.instance.currentRange;
+
+    // Notify the user about available autofill options on focused element.
+    if (currentRange && currentRange.isValid() && state[StateType.FOCUSED] &&
+        state[StateType.AUTOFILL_AVAILABLE]) {
+      new Output()
+          .withString(Msgs.getMsg('hint_autocomplete_list'))
+          .withLocation(currentRange, null, evt.type)
+          .withQueueMode(QueueMode.QUEUE)
+          .go();
+    }
+  }
+
+  /**
    * Create an editable text handler for the given node if needed.
    * @param {!AutomationNode} node
    * @param {boolean=} opt_onFocus True if called within a focus event
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler_test.js
index 9172cc1..8f92aa7 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/desktop_automation_handler_test.js
@@ -36,6 +36,7 @@
 
     globalThis.EventType = chrome.automation.EventType;
     globalThis.RoleType = chrome.automation.RoleType;
+    globalThis.StateType = chrome.automation.StateType;
 
     globalThis.press = this.press;
   }
@@ -91,6 +92,53 @@
       await mockFeedback.replay();
     });
 
+AX_TEST_F(
+    'ChromeVoxDesktopAutomationHandlerTest', 'OnAutofillAvailabilityChanged',
+    async function() {
+      const AUTOFILL_AVAILABLE_UTTERANCE =
+          'Press up or down arrow for auto completions';
+      const root = await this.runWithLoadedTree(`<input><button>`);
+      const input = root.find({role: RoleType.TEXT_FIELD});
+      const button = root.find({role: RoleType.BUTTON});
+      const state =
+          {[StateType.FOCUSED]: false, [StateType.AUTOFILL_AVAILABLE]: false};
+      Object.defineProperty(input, 'state', {get: () => state});
+
+      const event = new CustomAutomationEvent(
+          EventType.AUTOFILL_AVAILABILITY_CHANGED, input);
+      const utterances = [];
+      ChromeVox.tts.speak = utterances.push.bind(utterances);
+
+      // Autofill available, but it is not focused: no feedback expected
+      state[StateType.FOCUSED] = false;
+      state[StateType.AUTOFILL_AVAILABLE] = true;
+      this.handler_.onAutofillAvailabilityChanged(event);
+      assertEquals(utterances.indexOf(AUTOFILL_AVAILABLE_UTTERANCE), -1);
+
+      // Focused element with no autofill availability: no feedback
+      state[StateType.FOCUSED] = true;
+      state[StateType.AUTOFILL_AVAILABLE] = false;
+      this.handler_.onAutofillAvailabilityChanged(event);
+      assertEquals(utterances.indexOf(AUTOFILL_AVAILABLE_UTTERANCE), -1);
+
+      // Focused element receives autofill options: announce it
+      state[StateType.FOCUSED] = true;
+      state[StateType.AUTOFILL_AVAILABLE] = true;
+      this.handler_.onAutofillAvailabilityChanged(event);
+      assertNotEquals(utterances.indexOf(AUTOFILL_AVAILABLE_UTTERANCE), -1);
+
+      const mockFeedback = this.createMockFeedback();
+      mockFeedback
+          .call(() => {
+            // Get focus on element with autofill: it should be announced
+            button.focus();
+            input.focus();
+          })
+          .expectSpeech(AUTOFILL_AVAILABLE_UTTERANCE);
+
+      await mockFeedback.replay();
+    });
+
 TEST_F(
     'ChromeVoxDesktopAutomationHandlerTest', 'TaskManagerTableView',
     function() {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js
index 4a14416..15fe457a 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/download_handler_test.js
@@ -35,7 +35,7 @@
   /** @override */
   setUp() {
     super.setUp();
-    window.simulateEvent = item => this.simulateEvent(item);
+    globalThis.simulateEvent = item => this.simulateEvent(item);
   }
 
   /** @override */
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/intent_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/intent_handler_test.js
index 1636257..082503c 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/intent_handler_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/editing/intent_handler_test.js
@@ -25,8 +25,9 @@
     await importModule(
         'OutputCustomEvent', '/chromevox/background/output/output_types.js');
 
-    window.Dir = constants.Dir;
-    window.IntentTextBoundaryType = chrome.automation.IntentTextBoundaryType;
+    globalThis.Dir = constants.Dir;
+    globalThis.IntentTextBoundaryType =
+        chrome.automation.IntentTextBoundaryType;
   }
 };
 
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/keyboard_handler_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/keyboard_handler_test.js
index fb1c508..528cbbe 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/keyboard_handler_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/keyboard_handler_test.js
@@ -23,7 +23,7 @@
         '/chromevox/background/keyboard_handler.js');
     await importModule('KeyCode', '/common/key_code.js');
 
-    window.keyboardHandler = new BackgroundKeyboardHandler();
+    globalThis.keyboardHandler = new BackgroundKeyboardHandler();
   }
 };
 
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output.js
index df22397f..6a51159 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output.js
@@ -304,8 +304,8 @@
    * @return {!Output}
    */
   withString(value) {
-    this.append_(this.speechBuffer_, value);
-    this.append_(this.brailleBuffer_, value);
+    this.append(this.speechBuffer_, value);
+    this.append(this.brailleBuffer_, value);
     this.speechFormatLog_.write('withString: ' + value + '\n');
     this.brailleFormatLog_.write('withString: ' + value + '\n');
     return this;
@@ -1043,7 +1043,7 @@
     if (LocalStorage.get('languageSwitching')) {
       this.assignLocaleAndAppend_(text, node, buff, options);
     } else {
-      this.append_(buff, text, options);
+      this.append(buff, text, options);
     }
     formatLog.write('subNode_: ' + text + '\n');
 
@@ -1107,10 +1107,10 @@
     for (const msg of allMsgs) {
       if (msg.msgId) {
         const text = Msgs.getMsg(msg.msgId, msg.subs);
-        this.append_(buff, text, {annotation: [msg.props]});
+        this.append(buff, text, {annotation: [msg.props]});
         formatLog.write('hint_: ' + text + '\n');
       } else if (msg.text) {
-        this.append_(buff, msg.text, {annotation: [msg.props]});
+        this.append(buff, msg.text, {annotation: [msg.props]});
         formatLog.write('hint_: ' + msg.text + '\n');
       } else if (msg.outputFormat) {
         formatLog.write('hint_: ...');
@@ -1319,8 +1319,11 @@
     return ret;
   }
 
-  /** @override */
-  append_(buff, value, opt_options) {
+  /**
+   * Only to be used by output classes.
+   * @override
+   */
+  append(buff, value, opt_options) {
     opt_options = opt_options || {isUnique: false, annotation: []};
 
     // Reject empty values without meaningful annotations.
@@ -1495,7 +1498,7 @@
         LocaleOutputHelper.instance.computeTextAndLocale(text, contextNode);
     const speechProps = new outputTypes.OutputSpeechProperties();
     speechProps.properties['lang'] = data.locale;
-    this.append_(buff, data.text, options);
+    this.append(buff, data.text, options);
     // Attach associated SpeechProperties if the buffer is
     // non-empty.
     if (buff.length > 0) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_formatter.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_formatter.js
index 3619625..bee8d1e 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_formatter.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_formatter.js
@@ -200,7 +200,7 @@
     if (typeof value === 'number') {
       value = String(value);
     }
-    this.output_.append_(buff, value, options);
+    this.output_.append(buff, value, options);
     formatLog.writeTokenWithValue(token, value);
   }
 
@@ -231,7 +231,7 @@
     const msgId = this.output_.formatAsBraille ? resolvedInfo.msgId + '_brl' :
                                                  resolvedInfo.msgId;
     const msg = Msgs.getMsg(msgId);
-    this.output_.append_(buff, msg, options);
+    this.output_.append(buff, msg, options);
     formatLog.writeTokenWithValue(token, msg);
   }
 
@@ -256,7 +256,7 @@
         return;
       }
       value += row.htmlAttributes['aria-rowtext'];
-      this.output_.append_(buff, value, options);
+      this.output_.append(buff, value, options);
       formatLog.writeTokenWithValue(token, value);
     } else {
       formatLog.write(token);
@@ -357,7 +357,7 @@
 
       options.annotation.push(new outputTypes.OutputEarconAction(
           EarconId[tree.firstChild.value], node.location || undefined));
-      this.output_.append_(buff, '', options);
+      this.output_.append(buff, '', options);
       formatLog.writeTokenWithValue(token, tree.firstChild.value);
     }
   }
@@ -428,7 +428,7 @@
     }
 
     options.annotation.push(token);
-    this.output_.append_(buff, node.description || '', options);
+    this.output_.append(buff, node.description || '', options);
     formatLog.writeTokenWithValue(token, node.description);
   }
 
@@ -492,7 +492,7 @@
           break;
         }
       }
-      this.output_.append_(buff, String(count));
+      this.output_.append(buff, String(count));
       formatLog.writeTokenWithValue(token, String(count));
     }
   }
@@ -517,7 +517,7 @@
     if (this.output_.formatAsBraille) {
       msgId = msgId + '_brl';
     }
-    this.output_.append_(buff, Msgs.getMsg(msgId), options);
+    this.output_.append(buff, Msgs.getMsg(msgId), options);
     formatLog.writeTokenWithValue(token, Msgs.getMsg(msgId));
   }
 
@@ -540,7 +540,7 @@
       outputBuffer: unjoined,
       outputFormatLogger: formatLog,
     });
-    this.output_.append_(buff, unjoined.join(' '), options);
+    this.output_.append(buff, unjoined.join(' '), options);
     formatLog.write(
         '}: ' + (unjoined.length ? unjoined.join(' ') : 'EMPTY') + '\n');
   }
@@ -561,7 +561,7 @@
       }
       current = current.parent;
     }
-    this.output_.append_(buff, level.toString());
+    this.output_.append(buff, level.toString());
   }
 
   /**
@@ -658,7 +658,7 @@
     }
     formatLog.write('}');
 
-    this.output_.append_(buff, msg, options);
+    this.output_.append(buff, msg, options);
     formatLog.write(': ' + msg + '\n');
   }
 
@@ -689,7 +689,7 @@
     if (LocalStorage.get('languageSwitching')) {
       this.output_.assignLocaleAndAppend_(node.name || '', node, buff, options);
     } else {
-      this.output_.append_(buff, node.name || '', options);
+      this.output_.append(buff, node.name || '', options);
     }
 
     formatLog.writeTokenWithValue(token, node.name);
@@ -711,7 +711,7 @@
     }
 
     options.annotation.push('name');
-    this.output_.append_(buff, node.name || '', options);
+    this.output_.append(buff, node.name || '', options);
     formatLog.writeTokenWithValue(token, node.name);
   }
 
@@ -730,7 +730,7 @@
     if (node.name &&
         (node.nameFrom !== NameFromType.CONTENTS ||
          node.children.every(child => child.role === RoleType.STATIC_TEXT))) {
-      this.output_.append_(buff, node.name || '', options);
+      this.output_.append(buff, node.name || '', options);
       formatLog.writeTokenWithValue(token, node.name);
     } else {
       formatLog.writeToken(token);
@@ -776,7 +776,7 @@
         for (let i = 0; i < headers.length; i++) {
           const header = headers[i].name;
           if (header) {
-            this.output_.append_(buff, header, options);
+            this.output_.append(buff, header, options);
             formatLog.writeTokenWithValue(token, header);
           }
         }
@@ -787,7 +787,7 @@
         for (let i = 0; i < headers.length; i++) {
           const header = headers[i].name;
           if (header) {
-            this.output_.append_(buff, header, options);
+            this.output_.append(buff, header, options);
             formatLog.writeTokenWithValue(token, header);
           }
         }
@@ -810,7 +810,7 @@
 
     const text =
         PhoneticData.forText(node.name || '', chrome.i18n.getUILanguage());
-    this.output_.append_(buff, text);
+    this.output_.append(buff, text);
   }
 
   /**
@@ -830,7 +830,7 @@
     }
     current = current.previousSibling;
     if (current && current.role === RoleType.LIST_MARKER) {
-      this.output_.append_(buff, current.name || '');
+      this.output_.append(buff, current.name || '');
     }
   }
 
@@ -905,7 +905,7 @@
       // message id validity.
       return;
     }
-    this.output_.append_(buff, msg || '', options);
+    this.output_.append(buff, msg || '', options);
     formatLog.writeTokenWithValue(token, msg);
   }
 
@@ -952,7 +952,7 @@
     }
     value = String(value + 1);
     options.annotation.push(token);
-    this.output_.append_(buff, value, options);
+    this.output_.append(buff, value, options);
     formatLog.writeTokenWithValue(token, value);
   }
 
@@ -999,7 +999,7 @@
       }
     }
     const finalOutput = outputStrings.join(' ');
-    this.output_.append_(buff, finalOutput, options);
+    this.output_.append(buff, finalOutput, options);
     formatLog.writeTokenWithValue(token, finalOutput);
   }
 
@@ -1024,7 +1024,7 @@
         filename = filename.substring(0, 16) + '...';
       }
     }
-    this.output_.append_(buff, filename, options);
+    this.output_.append(buff, filename, options);
     formatLog.writeTokenWithValue(token, filename);
   }
 
@@ -1057,12 +1057,12 @@
     options.annotation.push(token);
     if (selectedText && !this.output_.formatAsBraille &&
         node.state[StateType.FOCUSED]) {
-      this.output_.append_(buff, selectedText, options);
-      this.output_.append_(buff, Msgs.getMsg('selected'));
+      this.output_.append(buff, selectedText, options);
+      this.output_.append(buff, Msgs.getMsg('selected'));
       formatLog.writeTokenWithValue(token, selectedText);
       formatLog.write('selected\n');
     } else {
-      this.output_.append_(buff, text, options);
+      this.output_.append(buff, text, options);
       formatLog.writeTokenWithValue(token, text);
     }
   }
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_interface.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_interface.js
index 8895dc45..db107fb8 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_interface.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/output/output_interface.js
@@ -23,7 +23,7 @@
    * @param {string|!Spannable} value
    * @param {{annotation: Array<*>, isUnique: (boolean|undefined)}=} opt_options
    */
-  append_(buff, value, opt_options) {}
+  append(buff, value, opt_options) {}
 
   /**
    * @param {string} text
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background_test.js
index 301c274..a445394c 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/tts_background_test.js
@@ -22,7 +22,7 @@
         ['QueueMode', 'TtsSpeechProperties'], '/chromevox/common/tts_types.js');
     await importModule('LocalStorage', '/common/local_storage.js');
 
-    window.tts = new PrimaryTts();
+    globalThis.tts = new PrimaryTts();
   }
 
   expectUtteranceQueueIsLike(expectedObjects) {
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options.html b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options.html
index 7afb892..b19e630 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options.html
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options.html
@@ -598,9 +598,9 @@
       <span>treeChanged</span>
     </div></label>
     <label><div class="option-eventstream">
-      <input name="checkedStateChanged" type="checkbox"
+      <input name="valueInTextFieldChanged" type="checkbox"
              class="checkbox pref eventstream">
-      <span>checkedStateChanged</span>
+      <span>valueInTextFieldChanged</span>
     </div></label>
   </div>
   </div>
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
index 02645a36..82ad4a0 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
@@ -61,7 +61,13 @@
         'kChromeVoxExtensionId', ChromeVoxE2ETest.prototype.failOnConsoleError);
   }
 
-  /** @return {!MockFeedback} */
+  /**
+   * Creates a mock feedback object. Please, note that created mock also gets
+   * installed, i.e. it starts collecting tts/braille/earcons output
+   * immediately, which can affect your expectations if the environment has its
+   * own (other than induced by your test scenario) announcements.
+   * @return {!MockFeedback}
+   */
   createMockFeedback() {
     const mockFeedback = new MockFeedback(this.newCallback());
     mockFeedback.install();
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
index 50eb0eb..fd735b5 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
@@ -38,12 +38,6 @@
     await importModule('Spannable', '/chromevox/common/spannable.js');
     await importModule('QueueMode', '/chromevox/common/tts_types.js');
   }
-
-  /** @override */
-  setUp() {
-    super.setUp();
-    window.ChromeVox = window.ChromeVox || {};
-  }
 };
 
 MockFeedbackUnitTest.prototype.extraLibraries = [
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb
index 1d360a8..7b79b1b 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ky.xtb
@@ -1083,7 +1083,7 @@
 <translation id="8378855320830505539">Аймак</translation>
 <translation id="8382679411218029383">Автотолуктоо кыналмасы жана тизме</translation>
 <translation id="8394908167088220973">Медиа файлды ойнотуу/бир азга токтотуу</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8428603554127842284">деңгээл <ph name="DEPTH" /></translation>
 <translation id="8430049249787218991">mnubr</translation>
 <translation id="8446884382197647889">Көбүрөөк билүү</translation>
diff --git a/chrome/browser/resources/new_tab_page/app.ts b/chrome/browser/resources/new_tab_page/app.ts
index 6f2ebdfb..f8c92bd 100644
--- a/chrome/browser/resources/new_tab_page/app.ts
+++ b/chrome/browser/resources/new_tab_page/app.ts
@@ -122,7 +122,6 @@
         type: Boolean,
         value: () =>
             WindowProxy.getInstance().url.searchParams.has(CUSTOMIZE_URL_PARAM),
-        observer: 'onShowCustomizeUpdate_',
       },
 
       showCustomizeDialog_: {
@@ -171,10 +170,6 @@
         value: () => loadTimeData.getBoolean('customizeChromeEnabled'),
       },
 
-      customizeChromeSidePanelShowing_: {
-        type: Boolean,
-      },
-
       logoColor_: {
         type: String,
         computed: 'computeLogoColor_(theme_)',
@@ -299,7 +294,6 @@
   private backgroundImageAttributionUrl_: string;
   private backgroundColor_: SkColor;
   private customizeChromeEnabled_: boolean;
-  private customizeChromeSidePanelShowing_: boolean;
   private logoColor_: string;
   private singleColoredLogo_: boolean;
   private realboxLensSearchEnabled_: boolean;
@@ -367,7 +361,13 @@
         });
     this.setCustomizeChromeSidePanelVisibilityListener_ =
         this.callbackRouter_.setCustomizeChromeSidePanelVisibility.addListener(
-            this.onCustomizeChromeSidePanelVisibilityChanged_.bind(this));
+            (visible: boolean) => {
+              this.showCustomize_ = visible;
+            });
+    // Open Customize Chrome if there are Customize Chrome URL params.
+    if (this.showCustomize_) {
+      this.pageHandler_.setCustomizeChromeSidePanelVisible(this.showCustomize_);
+    }
     this.eventTracker_.add(window, 'message', (event: MessageEvent) => {
       const data = event.data;
       // Something in OneGoogleBar is sending a message that is received here.
@@ -496,25 +496,15 @@
 
   private onCustomizeClick_() {
     if (this.customizeChromeEnabled_) {
-      this.showCustomize_ = !this.customizeChromeSidePanelShowing_;
+      // TODO(crbug.com/1402251): Scroll to section requested by
+      // |this.selectedCustomizeDialogPage_|.
+      this.pageHandler_.setCustomizeChromeSidePanelVisible(
+          !this.showCustomize_);
     } else {
       this.showCustomize_ = true;
     }
   }
 
-  private onShowCustomizeUpdate_() {
-    if (!this.customizeChromeEnabled_) {
-      return;
-    }
-    this.pageHandler_.setCustomizeChromeSidePanelVisible(this.showCustomize_);
-    // TODO(crbug.com/1402251): Scroll to section requested by
-    // |this.selectedCustomizeDialogPage_|.
-  }
-
-  private onCustomizeChromeSidePanelVisibilityChanged_(visible: boolean) {
-    this.customizeChromeSidePanelShowing_ = visible;
-  }
-
   private onCustomizeDialogClose_() {
     this.showCustomize_ = false;
     // Let customize dialog decide what page to show on next open.
@@ -705,6 +695,9 @@
 
   private onCustomizeModule_() {
     this.showCustomize_ = true;
+    if (this.customizeChromeEnabled_) {
+      this.pageHandler_.setCustomizeChromeSidePanelVisible(this.showCustomize_);
+    }
     this.selectedCustomizeDialogPage_ = CustomizeDialogPage.MODULES;
   }
 
diff --git a/chrome/browser/resources/settings/BUILD.gn b/chrome/browser/resources/settings/BUILD.gn
index d1b106fa..4aaf6ba 100644
--- a/chrome/browser/resources/settings/BUILD.gn
+++ b/chrome/browser/resources/settings/BUILD.gn
@@ -88,6 +88,8 @@
     "autofill_page/avatar_icon.ts",
     "autofill_page/credit_card_edit_dialog.ts",
     "autofill_page/credit_card_list_entry.ts",
+    "autofill_page/iban_edit_dialog.ts",
+    "autofill_page/iban_list_entry.ts",
     "autofill_page/password_check_edit_disclaimer_dialog.ts",
     "autofill_page/password_check_list_item.ts",
     "autofill_page/password_check.ts",
diff --git a/chrome/browser/resources/settings/autofill_page/autofill_manager_proxy.ts b/chrome/browser/resources/settings/autofill_page/autofill_manager_proxy.ts
index bbd6e2a..f19fd3fc 100644
--- a/chrome/browser/resources/settings/autofill_page/autofill_manager_proxy.ts
+++ b/chrome/browser/resources/settings/autofill_page/autofill_manager_proxy.ts
@@ -4,7 +4,8 @@
 
 export type PersonalDataChangedListener =
     (addresses: chrome.autofillPrivate.AddressEntry[],
-     creditCards: chrome.autofillPrivate.CreditCardEntry[]) => void;
+     creditCards: chrome.autofillPrivate.CreditCardEntry[],
+     ibans: chrome.autofillPrivate.IbanEntry[]) => void;
 
 /**
  * Interface for all callbacks to the autofill API.
diff --git a/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.html b/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.html
new file mode 100644
index 0000000..7e6233cf
--- /dev/null
+++ b/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.html
@@ -0,0 +1,59 @@
+<style include="cr-shared-style settings-shared">
+  cr-input {
+    /* Larger cr-input margin (by reserving space for error display). */
+    --cr-input-error-display: block;
+    margin-bottom: 0;
+    width: var(--settings-input-max-width);
+  }
+
+  /* Override the padding-top (the space is set by save-to-this-device). */
+  div[slot='button-container'] {
+    padding-top: 0;
+  }
+
+  #saved-to-this-device-only-label {
+    /* Overall space between input fields, including space between
+       nicknameInput and saved-to-this-device text, between
+       saved-to-this-device text and button. */
+    margin-bottom: 26px;
+    margin-top: 0;
+  }
+
+  #charCount {
+    font-size: var(--cr-form-field-label-font-size);
+    line-height: var(--cr-form-field-label-line-height);
+    padding-inline-start: 8px;
+  }
+
+  #nicknameInput:not(:focus-within) #charCount {
+    --cr-input-width: var(--settings-input-max-width);
+    display: none;
+    width: fit-content;
+  }
+</style>
+<cr-dialog id="dialog" close-text="$i18n{close}">
+  <div slot="title">[[title_]]</div>
+  <div slot="body">
+    <cr-input id="valueInput" label="$i18n{addPaymentMethodIban}"
+        value="{{value_}}" autofocus>
+    </cr-input>
+    <cr-input id="nicknameInput" label="$i18n{ibanNickname}"
+        value="{{nickname_}}" spellcheck="false" maxlength="25">
+      <div id="charCount" slot="suffix">
+        [[computeNicknameCharCount_(nickname_)]]/25
+      </div>
+    </cr-input>
+    <div id="saved-to-this-device-only-label">
+      $i18n{ibanSavedToThisDeviceOnly}
+    </div>
+  </div>
+  <div slot="button-container">
+    <cr-button id="cancelButton" class="cancel-button"
+        on-click="onCancelButtonClick_">$i18n{cancel}</cr-button>
+    <cr-button id="saveButton" class="action-button"
+        on-click="onIbanSaveButtonClick_"
+        disabled="[[!saveIbanEnabled_(value_)]]">
+      $i18n{save}
+    </cr-button>
+  </div>
+</cr-dialog>
diff --git a/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.ts b/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.ts
new file mode 100644
index 0000000..bf1fe05ea
--- /dev/null
+++ b/chrome/browser/resources/settings/autofill_page/iban_edit_dialog.ts
@@ -0,0 +1,151 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview 'settings-iban-edit-dialog' is the dialog that allows
+ * editing or creating an IBAN entry.
+ */
+
+import 'chrome://resources/cr_elements/cr_button/cr_button.js';
+import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
+import 'chrome://resources/cr_elements/cr_input/cr_input.js';
+import 'chrome://resources/cr_elements/cr_shared_style.css.js';
+import 'chrome://resources/cr_elements/cr_shared_vars.css.js';
+import '../settings_shared.css.js';
+import '../settings_vars.css.js';
+import '../i18n_setup.js';
+
+import {CrButtonElement} from 'chrome://resources/cr_elements/cr_button/cr_button.js';
+import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
+import {CrInputElement} from 'chrome://resources/cr_elements/cr_input/cr_input.js';
+import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
+import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {getTemplate} from './iban_edit_dialog.html.js';
+
+/**
+ * Regular expression for valid IBAN value.
+ */
+const IBAN_VALID_REGEX: RegExp = new RegExp(
+    '^[a-zA-Z]{2}[0-9]{2}[a-zA-Z0-9]{4}[0-9]{7}([a-zA-Z0-9]?){0,16}$');
+
+declare global {
+  interface HTMLElementEventMap {
+    'save-iban': CustomEvent<chrome.autofillPrivate.IbanEntry>;
+  }
+}
+
+export interface SettingsIbanEditDialogElement {
+  $: {
+    dialog: CrDialogElement,
+    valueInput: CrInputElement,
+    nicknameInput: CrInputElement,
+    cancelButton: CrButtonElement,
+    saveButton: CrButtonElement,
+  };
+}
+
+const SettingsIbanEditDialogElementBase = I18nMixin(PolymerElement);
+
+export class SettingsIbanEditDialogElement extends
+    SettingsIbanEditDialogElementBase {
+  static get is() {
+    return 'settings-iban-edit-dialog';
+  }
+
+  static get template() {
+    return getTemplate();
+  }
+
+  static get properties() {
+    return {
+      /**
+       * The IBAN being added or edited. Null means add a new IBAN, otherwise,
+       * edit the existing IBAN.
+       */
+      iban: {
+        type: Object,
+        value: null,
+      },
+
+      /**
+       * The actual title that's used for this dialog. Will be context sensitive
+       * based on which type of IBAN method is being viewed, and if it is being
+       * created or edited.
+       */
+      title_: String,
+
+      value_: String,
+      nickname_: String,
+    };
+  }
+
+  iban: chrome.autofillPrivate.IbanEntry|null;
+  private value_?: string;
+  private nickname_?: string;
+  private title_: string;
+
+  override connectedCallback() {
+    super.connectedCallback();
+
+    this.title_ = this.i18n(this.iban ? 'editIbanTitle' : 'addIbanTitle');
+    if (this.iban) {
+      this.value_ = this.iban.value;
+      this.nickname_ = this.iban.nickname;
+    }
+    this.$.dialog.showModal();
+  }
+
+  /** Closes the dialog. */
+  close() {
+    this.$.dialog.close();
+  }
+
+  /**
+   * Handler for clicking the 'cancel' button. Should just dismiss the dialog.
+   */
+  private onCancelButtonClick_() {
+    this.$.dialog.cancel();
+  }
+
+  /**
+   * Handler for clicking the save button.
+   */
+  private onIbanSaveButtonClick_() {
+    const iban = {
+      value: this.value_!.trim(),
+      nickname: this.nickname_ ? this.nickname_.trim() : '',
+    };
+    this.dispatchEvent(new CustomEvent(
+        'save-iban', {bubbles: true, composed: true, detail: iban}));
+    this.close();
+  }
+
+  private saveIbanEnabled_(): boolean {
+    if (!this.value_) {
+      return false;
+    }
+    // The save button is enabled if the value of the IBAN is invalid (after
+    // removing all whitespace from it).
+    const ibanWithoutWhitespace = this.value_.replace(/\s/g, '');
+    return !!IBAN_VALID_REGEX.test(ibanWithoutWhitespace!);
+  }
+
+  /**
+   * @param  nickname of the IBAN, undefined when not set.
+   * @return nickname character length.
+   */
+  private computeNicknameCharCount_(): number {
+    return (this.nickname_ || '').length;
+  }
+}
+
+declare global {
+  interface HTMLElementTagNameMap {
+    'settings-iban-edit-dialog': SettingsIbanEditDialogElement;
+  }
+}
+
+customElements.define(
+    SettingsIbanEditDialogElement.is, SettingsIbanEditDialogElement);
diff --git a/chrome/browser/resources/settings/autofill_page/iban_list_entry.html b/chrome/browser/resources/settings/autofill_page/iban_list_entry.html
new file mode 100644
index 0000000..ec09c995
--- /dev/null
+++ b/chrome/browser/resources/settings/autofill_page/iban_list_entry.html
@@ -0,0 +1,13 @@
+<style include="settings-shared passwords-shared">
+  .list-item {
+    margin-bottom: 8px;
+    margin-top: 8px;
+  }
+</style>
+
+<div class="list-item type-column" role="cell">
+  <div class="summary-column">
+    <div id="value" class="ellipses">[[iban.metadata.summaryLabel]]</div>
+    <div id="nickname" class="ellipses sub-label">[[iban.nickname]]</div>
+  </div>
+</div>
diff --git a/chrome/browser/resources/settings/autofill_page/iban_list_entry.ts b/chrome/browser/resources/settings/autofill_page/iban_list_entry.ts
new file mode 100644
index 0000000..56722541
--- /dev/null
+++ b/chrome/browser/resources/settings/autofill_page/iban_list_entry.ts
@@ -0,0 +1,39 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview 'iban-list-entry' is an IBAN row to be shown on the settings
+ * page.
+ */
+
+import 'chrome://resources/cr_elements/cr_shared_vars.css.js';
+import '../i18n_setup.js';
+import '../settings_shared.css.js';
+import './passwords_shared.css.js';
+
+import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {getTemplate} from './iban_list_entry.html.js';
+
+export class SettingsIbanListEntryElement extends PolymerElement {
+  static get is() {
+    return 'settings-iban-list-entry';
+  }
+
+  static get template() {
+    return getTemplate();
+  }
+
+  static get properties() {
+    return {
+      /** A saved IBAN. */
+      iban: Object,
+    };
+  }
+
+  iban: chrome.autofillPrivate.IbanEntry;
+}
+
+customElements.define(
+    SettingsIbanListEntryElement.is, SettingsIbanListEntryElement);
diff --git a/chrome/browser/resources/settings/autofill_page/payments_list.html b/chrome/browser/resources/settings/autofill_page/payments_list.html
index d917f80..bd3bb9d 100644
--- a/chrome/browser/resources/settings/autofill_page/payments_list.html
+++ b/chrome/browser/resources/settings/autofill_page/payments_list.html
@@ -31,6 +31,12 @@
           </settings-credit-card-list-entry>
         </template>
       </div>
+      <div class="vertical-list list-with-header" role="rowgroup">
+        <template is="dom-repeat" items="[[ibans]]">
+          <settings-iban-list-entry iban="[[item]]">
+          </settings-iban-list-entry>
+        </template>
+      </div>
       <template is="dom-if" if="[[showCreditCardUpiSeparator_]]">
         <div class="list-separator"></div>
       </template>
diff --git a/chrome/browser/resources/settings/autofill_page/payments_list.ts b/chrome/browser/resources/settings/autofill_page/payments_list.ts
index c97b61c..e7c6cecd 100644
--- a/chrome/browser/resources/settings/autofill_page/payments_list.ts
+++ b/chrome/browser/resources/settings/autofill_page/payments_list.ts
@@ -10,6 +10,7 @@
 import 'chrome://resources/cr_elements/cr_shared_vars.css.js';
 import '../settings_shared.css.js';
 import './credit_card_list_entry.js';
+import './iban_list_entry.js';
 import './passwords_shared.css.js';
 import './upi_id_list_entry.js';
 
@@ -36,11 +37,26 @@
       creditCards: Array,
 
       /**
+       * An array of all saved IBANs.
+       */
+      ibans: Array,
+
+      /**
        * An array of all saved UPI Virtual Payment Addresses.
        */
       upiIds: Array,
 
       /**
+       * True if displaying IBANs in settings is enabled.
+       */
+      enableIbans_: {
+        type: Boolean,
+        value() {
+          return loadTimeData.getBoolean('showIbansSettings');
+        },
+      },
+
+      /**
        * True if displaying UPI IDs in settings is enabled.
        */
       enableUpiIds_: {
@@ -78,14 +94,16 @@
       showAnyPaymentMethods_: {
         type: Boolean,
         value: false,
-        computed:
-            'computeShowAnyPaymentMethods_(creditCards, upiIds, enableUpiIds_)',
+        computed: 'computeShowAnyPaymentMethods_(' +
+            'creditCards, ibans, upiIds, enableIbans_, enableUpiIds_)',
       },
     };
   }
 
   creditCards: chrome.autofillPrivate.CreditCardEntry[];
+  ibans: chrome.autofillPrivate.IbanEntry[];
   upiIds: string[];
+  private enableIbans_: boolean;
   private enableUpiIds_: boolean;
   private removeCardExpirationAndTypeTitlesEnabled_: boolean;
   private showCreditCardUpiSeparator_: boolean;
@@ -114,6 +132,13 @@
   }
 
   /**
+   * @return true iff there are IBANs to be shown.
+   */
+  private showIbans_(): boolean {
+    return this.enableIbans_ && this.hasSome_(this.ibans);
+  }
+
+  /**
    * @return true iff both credit cards and UPI IDs will be shown.
    */
   private computeShowCreditCardUpiSeparator_(): boolean {
@@ -131,7 +156,7 @@
    * @return true iff any payment methods will be shown.
    */
   private computeShowAnyPaymentMethods_(): boolean {
-    return this.showCreditCards_() || this.showUpiIds_();
+    return this.showCreditCards_() || this.showIbans_() || this.showUpiIds_();
   }
 }
 
diff --git a/chrome/browser/resources/settings/autofill_page/payments_manager_proxy.ts b/chrome/browser/resources/settings/autofill_page/payments_manager_proxy.ts
index d5f1593e3..7662fafe 100644
--- a/chrome/browser/resources/settings/autofill_page/payments_manager_proxy.ts
+++ b/chrome/browser/resources/settings/autofill_page/payments_manager_proxy.ts
@@ -24,6 +24,11 @@
    */
   getCreditCardList(): Promise<chrome.autofillPrivate.CreditCardEntry[]>;
 
+  /**
+   * Request the list of IBANs.
+   */
+  getIbanList(): Promise<chrome.autofillPrivate.IbanEntry[]>;
+
   /** @param guid The GUID of the credit card to remove. */
   removeCreditCard(guid: string): void;
 
@@ -38,6 +43,11 @@
   saveCreditCard(creditCard: chrome.autofillPrivate.CreditCardEntry): void;
 
   /**
+   * Saves the given IBAN.
+   */
+  saveIban(iban: chrome.autofillPrivate.IbanEntry): void;
+
+  /**
    * Migrate the local credit cards.
    */
   migrateCreditCards(): void;
@@ -89,6 +99,10 @@
     return chrome.autofillPrivate.getCreditCardList();
   }
 
+  getIbanList() {
+    return chrome.autofillPrivate.getIbanList();
+  }
+
   removeCreditCard(guid: string) {
     chrome.autofillPrivate.removeEntry(guid);
   }
@@ -101,6 +115,10 @@
     chrome.autofillPrivate.saveCreditCard(creditCard);
   }
 
+  saveIban(iban: chrome.autofillPrivate.IbanEntry) {
+    chrome.autofillPrivate.saveIban(iban);
+  }
+
   migrateCreditCards() {
     chrome.autofillPrivate.migrateCreditCards();
   }
diff --git a/chrome/browser/resources/settings/autofill_page/payments_section.html b/chrome/browser/resources/settings/autofill_page/payments_section.html
index 90f7bd747..c634d67 100644
--- a/chrome/browser/resources/settings/autofill_page/payments_section.html
+++ b/chrome/browser/resources/settings/autofill_page/payments_section.html
@@ -94,7 +94,8 @@
               on-click="onAddCreditCardClick_">
             $i18n{addPaymentMethodCreditOrDebitCard}
           </button>
-          <button id="addIban" class="dropdown-item">
+          <button id="addIban" class="dropdown-item"
+              on-click="onAddIbanClick_">
             $i18n{addPaymentMethodIban}
           </button>
         </cr-action-menu>
@@ -112,7 +113,7 @@
     class$="list-frame [[computeCssClass_(
         removeCardExpirationAndTypeTitlesEnabled_,
             virtualCardMetadataEnabled_)]]"
-    credit-cards="[[creditCards]]" upi-ids="[[upiIds]]">
+    credit-cards="[[creditCards]]" ibans="[[ibans]]" upi-ids="[[upiIds]]">
 </settings-payments-list>
 
 <cr-action-menu id="creditCardSharedMenu" role-description="$i18n{menu}">
@@ -147,6 +148,11 @@
       on-close="onCreditCardDialogClose_">
   </settings-credit-card-edit-dialog>
 </template>
+<template is="dom-if" if="[[showIbanDialog_]]" restamp>
+  <settings-iban-edit-dialog iban="[[activeIban_]]"
+      on-close="onIbanDialogClose_" on-save-iban="onSaveIban_">
+  </settings-iban-edit-dialog>
+</template>
 
 <template is="dom-if" if="[[showVirtualCardUnenrollDialog_]]" restamp>
   <settings-virtual-card-unenroll-dialog credit-card="[[activeCreditCard_]]"
diff --git a/chrome/browser/resources/settings/autofill_page/payments_section.ts b/chrome/browser/resources/settings/autofill_page/payments_section.ts
index 23dfe88..51d29b3 100644
--- a/chrome/browser/resources/settings/autofill_page/payments_section.ts
+++ b/chrome/browser/resources/settings/autofill_page/payments_section.ts
@@ -17,6 +17,7 @@
 import '../controls/settings_toggle_button.js';
 import '../prefs/prefs.js';
 import './credit_card_edit_dialog.js';
+import './iban_edit_dialog.js';
 import './passwords_shared.css.js';
 import './payments_list.js';
 import './virtual_card_unenroll_dialog.js';
@@ -89,6 +90,14 @@
       },
 
       /**
+       * An array of all saved IBANs.
+       */
+      ibans: {
+        type: Array,
+        value: () => [],
+      },
+
+      /**
        * An array of all saved UPI IDs.
        */
       upiIds: {
@@ -119,11 +128,17 @@
       },
 
       /**
-       * The model for any credit card related action menus or dialogs.
+       * The model for any credit card-related action menus or dialogs.
        */
       activeCreditCard_: Object,
 
+      /**
+       * The model for any IBAN-related action menus or dialogs.
+       */
+      activeIban_: Object,
+
       showCreditCardDialog_: Boolean,
+      showIbanDialog_: Boolean,
       showVirtualCardUnenrollDialog_: Boolean,
       migratableCreditCardsInfo_: String,
 
@@ -176,11 +191,14 @@
 
   prefs: {[key: string]: any};
   creditCards: chrome.autofillPrivate.CreditCardEntry[];
+  ibans: chrome.autofillPrivate.IbanEntry[];
   upiIds: string[];
   private showIbanSettingsEnabled_: boolean;
   private userIsFidoVerifiable_: boolean;
   private activeCreditCard_: chrome.autofillPrivate.CreditCardEntry|null;
+  private activeIban_: chrome.autofillPrivate.IbanEntry|null;
   private showCreditCardDialog_: boolean;
+  private showIbanDialog_: boolean;
   private showVirtualCardUnenrollDialog_: boolean;
   private migratableCreditCardsInfo_: string;
   private migrationEnabled_: boolean;
@@ -234,10 +252,15 @@
         });
 
     const setPersonalDataListener: PersonalDataChangedListener =
-        (_addressList, cardList) => {
+        (_addressList, cardList, ibanList) => {
           this.creditCards = cardList;
+          this.ibans = ibanList;
         };
 
+    const setIbansListener = (ibanList: chrome.autofillPrivate.IbanEntry[]) => {
+      this.ibans = ibanList;
+    };
+
     const setUpiIdsListener = (upiIdList: string[]) => {
       this.upiIds = upiIdList;
     };
@@ -247,6 +270,7 @@
 
     // Request initial data.
     this.paymentsManager_.getCreditCardList().then(setCreditCardsListener);
+    this.paymentsManager_.getIbanList().then(setIbansListener);
     this.paymentsManager_.getUpiIdList().then(setUpiIdsListener);
 
     // Listen for changes.
@@ -344,6 +368,29 @@
   }
 
   /**
+   * Handles clicking on the add "IBAN" option.
+   */
+  private onAddIbanClick_(e: Event) {
+    e.preventDefault();
+    this.showIbanDialog_ = true;
+    this.activeDialogAnchor_ =
+        this.shadowRoot!.querySelector<CrButtonElement>('#addPaymentMethods');
+    const menu = this.shadowRoot!
+                     .querySelector<CrLazyRenderElement<CrActionMenuElement>>(
+                         '#paymentMethodsActionMenu')!.get();
+    assert(menu);
+    menu.close();
+  }
+
+  private onIbanDialogClose_() {
+    this.showIbanDialog_ = false;
+    assert(this.activeDialogAnchor_);
+    focusWithoutInk(this.activeDialogAnchor_);
+    this.activeDialogAnchor_ = null;
+    this.activeIban_ = null;
+  }
+
+  /**
    * Handles clicking on the "Edit" credit card button.
    */
   private onMenuEditCreditCardClick_(e: Event) {
@@ -426,6 +473,10 @@
     this.paymentsManager_.saveCreditCard(event.detail);
   }
 
+  private onSaveIban_(event: CustomEvent<chrome.autofillPrivate.IbanEntry>) {
+    this.paymentsManager_.saveIban(event.detail);
+  }
+
   /**
    * @return Whether the user is verifiable through FIDO authentication.
    */
diff --git a/chrome/browser/resources/settings/chromeos/os_about_page/about_page_browser_proxy.ts b/chrome/browser/resources/settings/chromeos/os_about_page/about_page_browser_proxy.ts
index e09e882..8cb22c5 100644
--- a/chrome/browser/resources/settings/chromeos/os_about_page/about_page_browser_proxy.ts
+++ b/chrome/browser/resources/settings/chromeos/os_about_page/about_page_browser_proxy.ts
@@ -138,7 +138,7 @@
   /**
    * Opens the feedback dialog.
    */
-  openFeedbackDialog(descriptionTemplate?: string): void;
+  openFeedbackDialog(): void;
   // </if>
 
   /** Opens the diagnostics page. */
@@ -236,14 +236,8 @@
   }
 
   // <if expr="_google_chrome">
-  openFeedbackDialog(descriptionTemplate?: string) {
-    if (descriptionTemplate) {
-      // pass the search query as the value for the feedback dialog
-      // description_template
-      chrome.send('openFeedbackDialog', [descriptionTemplate]);
-    } else {
-      chrome.send('openFeedbackDialog');
-    }
+  openFeedbackDialog() {
+    chrome.send('openFeedbackDialog');
   }
   // </if>
 
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.gni b/chrome/browser/resources/settings/chromeos/os_settings.gni
index 09ab3b16..72c16889 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.gni
+++ b/chrome/browser/resources/settings/chromeos/os_settings.gni
@@ -357,6 +357,7 @@
   "chromeos/os_reset_page/os_reset_browser_proxy.ts",
   "chromeos/os_route.js",
   "chromeos/os_search_page/search_engines_browser_proxy.ts",
+  "chromeos/os_settings_search_box/os_settings_search_box_browser_proxy.ts",
   "chromeos/os_settings.js",
   "chromeos/os_settings_routes.js",
   "chromeos/parental_controls_page/parental_controls_browser_proxy.ts",
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.js b/chrome/browser/resources/settings/chromeos/os_settings.js
index b6926ff55..e61e62a 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.js
+++ b/chrome/browser/resources/settings/chromeos/os_settings.js
@@ -194,6 +194,7 @@
 export {OsResetBrowserProxyImpl} from './os_reset_page/os_reset_browser_proxy.js';
 export {routes} from './os_route.js';
 export {SearchEngine, SearchEnginesBrowserProxy, SearchEnginesBrowserProxyImpl, SearchEnginesInfo} from './os_search_page/search_engines_browser_proxy.js';
+export {OsSettingsSearchBoxBrowserProxyImpl} from './os_settings_search_box/os_settings_search_box_browser_proxy.js';
 export {ParentalControlsBrowserProxy, ParentalControlsBrowserProxyImpl} from './parental_controls_page/parental_controls_browser_proxy.js';
 export {PersonalizationHubBrowserProxy, PersonalizationHubBrowserProxyImpl} from './personalization_page/personalization_hub_browser_proxy.js';
 export {Route, Router} from './router.js';
diff --git a/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.ts b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.ts
index 4b6e1d2..5f28f4a 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.ts
+++ b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box.ts
@@ -27,15 +27,15 @@
 
 import {SearchResultsObserverInterface as PersonalizationSearchResultsObserverInterface, SearchResultsObserverReceiver as PersonalizationSearchResultsObserverReceiver} from '../../mojom-webui/personalization/search.mojom-webui.js';
 import {ParentResultBehavior, SearchResultsObserverInterface, SearchResultsObserverReceiver} from '../../mojom-webui/search/search.mojom-webui.js';
-import {Router} from '../router.js';
 import {castExists} from '../assert_extras.js';
 import {recordSearch} from '../metrics_recorder.js';
-import {AboutPageBrowserProxy, AboutPageBrowserProxyImpl} from '../os_about_page/about_page_browser_proxy.js';
 import {routes} from '../os_route.js';
+import {Router} from '../router.js';
 import {combinedSearch, getPersonalizationSearchHandler, getSettingsSearchHandler, SearchResult} from '../search/combined_search_handler.js';
 
 import {OsSearchResultRowElement} from './os_search_result_row.js';
 import {getTemplate} from './os_settings_search_box.html.js';
+import {OsSettingsSearchBoxBrowserProxy, OsSettingsSearchBoxBrowserProxyImpl} from './os_settings_search_box_browser_proxy.js';
 
 const MAX_NUM_SEARCH_RESULTS = 5;
 
@@ -197,14 +197,15 @@
       null;
   private personalizationSearchResultObserverReceiver_:
       PersonalizationSearchResultsObserverReceiver|null;
-  private aboutPageBrowserProxy_: AboutPageBrowserProxy;
+  private osSettingsSearchBoxBrowserProxy_: OsSettingsSearchBoxBrowserProxy;
 
   constructor() {
     super();
 
     this.settingsSearchResultObserverReceiver_ = null;
     this.personalizationSearchResultObserverReceiver_ = null;
-    this.aboutPageBrowserProxy_ = AboutPageBrowserProxyImpl.getInstance();
+    this.osSettingsSearchBoxBrowserProxy_ =
+        OsSettingsSearchBoxBrowserProxyImpl.getInstance();
   }
 
   override ready() {
@@ -535,13 +536,14 @@
   }
 
   // <if expr="_google_chrome">
-  private onSendFeedbackClick_() {
+  private onSendFeedbackClick_(): void {
     const descriptionTemplate =
         this.i18nAdvanced('searchFeedbackDescriptionTemplate', {
               substitutions: [this.getCurrentQuery_()],
             })
             .toString();
-    this.aboutPageBrowserProxy_.openFeedbackDialog(descriptionTemplate);
+    this.osSettingsSearchBoxBrowserProxy_.openSearchFeedbackDialog(
+        descriptionTemplate);
   }
   // </if>
 
diff --git a/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box_browser_proxy.ts b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box_browser_proxy.ts
new file mode 100644
index 0000000..cbc55713
--- /dev/null
+++ b/chrome/browser/resources/settings/chromeos/os_settings_search_box/os_settings_search_box_browser_proxy.ts
@@ -0,0 +1,38 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview A helper object used from the os settings search section to
+ * interact with the browser.
+ */
+
+export interface OsSettingsSearchBoxBrowserProxy {
+  // <if expr="_google_chrome">
+  /**
+   * Opens the feedback dialog.
+   */
+  openSearchFeedbackDialog(descriptionTemplate: string): void;
+  // </if>
+}
+
+let instance: OsSettingsSearchBoxBrowserProxy|null = null;
+
+export class OsSettingsSearchBoxBrowserProxyImpl implements
+    OsSettingsSearchBoxBrowserProxy {
+  static getInstance(): OsSettingsSearchBoxBrowserProxy {
+    return instance || (instance = new OsSettingsSearchBoxBrowserProxyImpl());
+  }
+
+  static setInstanceForTesting(obj: OsSettingsSearchBoxBrowserProxy): void {
+    instance = obj;
+  }
+
+  // <if expr="_google_chrome">
+  openSearchFeedbackDialog(descriptionTemplate: string): void {
+    // pass the search query as the value for the feedback dialog
+    // description_template
+    chrome.send('openSearchFeedbackDialog', [descriptionTemplate]);
+  }
+  // </if>
+}
diff --git a/chrome/browser/resources/settings/lazy_load.ts b/chrome/browser/resources/settings/lazy_load.ts
index eae7dbf9..9022669 100644
--- a/chrome/browser/resources/settings/lazy_load.ts
+++ b/chrome/browser/resources/settings/lazy_load.ts
@@ -93,6 +93,7 @@
 export {BlockingRequestManager} from './autofill_page/blocking_request_manager.js';
 // </if>
 export {SettingsCreditCardEditDialogElement} from './autofill_page/credit_card_edit_dialog.js';
+export {SettingsIbanEditDialogElement} from './autofill_page/iban_edit_dialog.js';
 // <if expr="is_win or is_macosx">
 export {Passkey, PasskeysBrowserProxy, PasskeysBrowserProxyImpl} from './autofill_page/passkeys_browser_proxy.js';
 export {SettingsPasskeysDeleteConfirmationDialogElement} from './autofill_page/passkeys_delete_confirmation_dialog.js';
diff --git a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.html b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.html
index 90ab2f5..a9261ad 100644
--- a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.html
+++ b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.html
@@ -218,38 +218,41 @@
           on-click="onBulkEditClicked_"></cr-icon-button>
     </div>
   </div>
-  <div class="bookmarks" hidden="[[!shownBookmarks_.length]]"
+  <div id="bookmarks" class="bookmarks" hidden="[[!shownBookmarks_.length]]"
       role="[[getBookmarksListRole_(editing_)]]"
       aria-multiselectable="[[editing_]]">
-    <template is="dom-repeat" items="[[shownBookmarks_]]">
-      <power-bookmark-row id="bookmark-[[item.id]]" bookmark="[[item]]"
-          description= "[[getBookmarkDescription_(item, compactDescriptions_.*,
-                          expandedDescriptions_.*, compact_)]]"
-          compact="[[compact_]]" trailing-icon="cr:more-vert"
-          trailing-icon-aria-label="TODO"
-          has-checkbox="[[editing_]]"
-          checkbox-disabled="[[!canEdit_(item)]]"
-          has-input="[[renamingItem_(item.id, renamingId_)]]"
-          on-row-clicked="onRowClicked_"
-          on-context-menu="onShowContextMenuClicked_"
-          on-trailing-icon-clicked="onShowContextMenuClicked_"
-          on-checkbox-change="onRowSelectedChange_"
-          on-input-change="onRename_">
-        <div slot="chips">
-          <template is="dom-if"
-              if="[[isPriceTracked_(item, showPriceTracking_)]]" restamp>
-            <sp-label updated="[[showDiscountedPrice_(item)]]">
-              <iron-icon icon="bookmarks:price-tracking"></iron-icon>
-              <div>[[getCurrentPrice_(item)]]</div>
-              <div slot="previous-label"
-                  hidden$="[[!showDiscountedPrice_(item)]]">
-                [[getPreviousPrice_(item)]]
-              </div>
-            </sp-label>
-          </template>
-        </div>
-      </power-bookmark-row>
-    </template>
+    <iron-list items="[[shownBookmarks_]]" scroll-target="bookmarks">
+      <template>
+        <power-bookmark-row id="bookmark-[[item.id]]" bookmark="[[item]]"
+            description= "[[getBookmarkDescription_(item,
+                            compactDescriptions_.*, expandedDescriptions_.*,
+                            compact_)]]"
+            compact="[[compact_]]" trailing-icon="cr:more-vert"
+            trailing-icon-aria-label="TODO"
+            has-checkbox="[[editing_]]"
+            checkbox-disabled="[[!canEdit_(item)]]"
+            has-input="[[renamingItem_(item.id, renamingId_)]]"
+            on-row-clicked="onRowClicked_"
+            on-context-menu="onShowContextMenuClicked_"
+            on-trailing-icon-clicked="onShowContextMenuClicked_"
+            on-checkbox-change="onRowSelectedChange_"
+            on-input-change="onRename_">
+          <div slot="chips">
+            <template is="dom-if"
+                if="[[isPriceTracked_(item, showPriceTracking_)]]" restamp>
+              <sp-label updated="[[showDiscountedPrice_(item)]]">
+                <iron-icon icon="bookmarks:price-tracking"></iron-icon>
+                <div>[[getCurrentPrice_(item)]]</div>
+                <div slot="previous-label"
+                    hidden$="[[!showDiscountedPrice_(item)]]">
+                  [[getPreviousPrice_(item)]]
+                </div>
+              </sp-label>
+            </template>
+          </div>
+        </power-bookmark-row>
+      </template>
+    </iron-list>
   </div>
 
   <sp-empty-state
diff --git a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts
index 8e97fb3..7fd18708 100644
--- a/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts
+++ b/chrome/browser/resources/side_panel/bookmarks/power_bookmarks_list.ts
@@ -18,6 +18,7 @@
 import '//resources/cr_elements/cr_toolbar/cr_toolbar_search_field.js';
 import '//resources/cr_elements/cr_toolbar/cr_toolbar_selection_overlay.js';
 import '//resources/cr_elements/icons.html.js';
+import '//resources/polymer/v3_0/iron-list/iron-list.js';
 
 import {getInstance as getAnnouncerInstance} from '//resources/cr_elements/cr_a11y_announcer/cr_a11y_announcer.js';
 import {CrActionMenuElement} from '//resources/cr_elements/cr_action_menu/cr_action_menu.js';
diff --git a/chrome/browser/resources/side_panel/customize_chrome/app.html b/chrome/browser/resources/side_panel/customize_chrome/app.html
index 33124ab..040b0bb 100644
--- a/chrome/browser/resources/side_panel/customize_chrome/app.html
+++ b/chrome/browser/resources/side_panel/customize_chrome/app.html
@@ -56,10 +56,10 @@
   </div>
   <customize-chrome-categories on-back-click="onBackClick_"
       on-collection-select="onCollectionSelect_" page-name="categories"
-      id="categoriesPage" on-theme-select="onThemeSelect_">
+      id="categoriesPage" on-local-image-upload="onLocalImageUpload_">
   </customize-chrome-categories>
   <customize-chrome-themes on-back-click="onBackClick_"
-      on-theme-select="onThemeSelect_" page-name="themes"
-      id="themesPage" selected-collection="[[selectedCollection_]]">
+      page-name="themes" id="themesPage" 
+      selected-collection="[[selectedCollection_]]">
   </customize-chrome-themes>
 </iron-pages>
diff --git a/chrome/browser/resources/side_panel/customize_chrome/app.ts b/chrome/browser/resources/side_panel/customize_chrome/app.ts
index d7a8b86..30896a9 100644
--- a/chrome/browser/resources/side_panel/customize_chrome/app.ts
+++ b/chrome/browser/resources/side_panel/customize_chrome/app.ts
@@ -76,7 +76,7 @@
     this.page_ = CustomizeChromePage.THEMES;
   }
 
-  private onThemeSelect_() {
+  private onLocalImageUpload_() {
     this.page_ = CustomizeChromePage.OVERVIEW;
   }
 }
diff --git a/chrome/browser/resources/side_panel/customize_chrome/categories.ts b/chrome/browser/resources/side_panel/customize_chrome/categories.ts
index 7423cbb4..80a146b9 100644
--- a/chrome/browser/resources/side_panel/customize_chrome/categories.ts
+++ b/chrome/browser/resources/side_panel/customize_chrome/categories.ts
@@ -51,13 +51,12 @@
 
   private onClassicChromeClick_() {
     this.pageHandler_.setClassicChromeDefaultTheme();
-    this.dispatchEvent(new Event('theme-select'));
   }
 
   private async onUploadImageClick_() {
     const {success} = await this.pageHandler_.chooseLocalCustomBackground();
     if (success) {
-      this.dispatchEvent(new Event('theme-select'));
+      this.dispatchEvent(new Event('local-image-upload'));
     }
   }
 
diff --git a/chrome/browser/resources/side_panel/customize_chrome/themes.ts b/chrome/browser/resources/side_panel/customize_chrome/themes.ts
index 9f18dfa..78fa3cc8 100644
--- a/chrome/browser/resources/side_panel/customize_chrome/themes.ts
+++ b/chrome/browser/resources/side_panel/customize_chrome/themes.ts
@@ -111,7 +111,6 @@
     } = e.model.item;
     this.pageHandler_.setBackgroundImage(
         attribution1, attribution2, attributionUrl, imageUrl, previewImageUrl);
-    this.dispatchEvent(new Event('theme-select'));
   }
 
   private computeIsRefreshToggleChecked_(): boolean {
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_am.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_am.xtb
index ba958c950..818b9c5 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_am.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_am.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">የተቀመጠ የይለፍ ቃል ወይም የይለፍ ቁልፍ ይጠቀሙ?</translation>
 <translation id="5624120631404540903">የይለፍ ቃሎችን አስተዳድር</translation>
 <translation id="7736236483645733578">ለ<ph name="USERNAME" /> የይለፍ ቁልፍ፣ የማያ ገጽ መቆለፊያዎን ይጠቀሙ።</translation>
+<translation id="8891372124884726271">የመግቢያ ማስረጃዎች ዝርዝር ዝግ ነው።</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_cy.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_cy.xtb
index ef043f13..ab1415cb 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_cy.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_cy.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Defnyddio cyfrinair neu god pas sydd wedi'i gadw?</translation>
 <translation id="5624120631404540903">Rheoli cyfrineiriau</translation>
 <translation id="7736236483645733578">Cod pas ar gyfer <ph name="USERNAME" />, defnyddiwch eich clo sgrîn.</translation>
+<translation id="8891372124884726271">Rhestr o gymwysterau ar gau.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es-419.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es-419.xtb
index ce734559..7d140e8 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es-419.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es-419.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">¿Quieres usar una contraseña o llave de acceso guardada?</translation>
 <translation id="5624120631404540903">Administrar contraseñas</translation>
 <translation id="7736236483645733578">Llave de acceso de <ph name="USERNAME" />, usa el bloqueo de pantalla.</translation>
+<translation id="8891372124884726271">La lista de credenciales está cerrada.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es.xtb
index 0582e8d..275b23e0 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_es.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">¿Usar contraseña o llave de acceso guardada?</translation>
 <translation id="5624120631404540903">Gestionar contraseñas</translation>
 <translation id="7736236483645733578">Llave de acceso de <ph name="USERNAME" />, usa tu bloqueo de pantalla.</translation>
+<translation id="8891372124884726271">La lista de credenciales está cerrada.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_eu.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_eu.xtb
index 28ed76e..a6c5d6c 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_eu.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_eu.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Gordetako pasahitza edo sarbide-gakoa erabili nahi duzu?</translation>
 <translation id="5624120631404540903">Kudeatu pasahitzak</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> erabiltzaile-kontuko sarbide-gakoa. Erabili pantailaren blokeoa.</translation>
+<translation id="8891372124884726271">Kredentzialen zerrenda itxita dago.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_fi.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_fi.xtb
index 6995e99c..3258daf 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_fi.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_fi.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Käytetäänkö tallennettua salasanaa vai avainkoodia?</translation>
 <translation id="5624120631404540903">Hallitse salasanoja</translation>
 <translation id="7736236483645733578">Avainkoodi: <ph name="USERNAME" />, käytä näytön lukitusta.</translation>
+<translation id="8891372124884726271">Kirjautumistietolista on suljettu.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_hy.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_hy.xtb
index aeea6fa3..85276fd3 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_hy.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_hy.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Օգտագործե՞լ պահված գաղտնաբառ կամ անցաբառ</translation>
 <translation id="5624120631404540903">Կառավարել գաղտնաբառերը</translation>
 <translation id="7736236483645733578">Անցաբառ <ph name="USERNAME" /> օգտատիրոջ համար, օգտագործեք ձեր էկրանի կողպումը։</translation>
+<translation id="8891372124884726271">Մուտքի տվյալների ցուցակը փակ է։</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ka.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ka.xtb
index 70fa694..6dc6407 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ka.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ka.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">გსურთ შენახული პაროლის ან წვდომის გასაღების გამოყენება?</translation>
 <translation id="5624120631404540903">პაროლების მართვა</translation>
 <translation id="7736236483645733578">წვდომის გასაღები <ph name="USERNAME" />-ისთვის, გამოიყენეთ ეკრანის დაბლოკვის მეთოდი.</translation>
+<translation id="8891372124884726271">ავტორიზაციის მონაცემების სია დახურულია</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_km.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_km.xtb
index f3e5398d..c9bcca1 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_km.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_km.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">ប្រើប្រាស់​ពាក្យសម្ងាត់ ឬ​កូដសម្ងាត់​ដែល​បាន​រក្សាទុកឬ?</translation>
 <translation id="5624120631404540903">គ្រប់គ្រងពាក្យសម្ងាត់</translation>
 <translation id="7736236483645733578">កូដសម្ងាត់​សម្រាប់ <ph name="USERNAME" />, ប្រើប្រាស់ការចាក់សោអេក្រង់​របស់អ្នក។</translation>
+<translation id="8891372124884726271">បញ្ជី​ព័ត៌មានផ្ទៀងផ្ទាត់​ត្រូវ​បានបិទ។</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ko.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ko.xtb
index 2c49817..44d6019 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ko.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ko.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">저장된 비밀번호 또는 패스키를 사용하시겠습니까?</translation>
 <translation id="5624120631404540903">비밀번호 관리</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" />의 패스키입니다. 화면 잠금을 사용하세요.</translation>
+<translation id="8891372124884726271">사용자 인증 정보 목록이 닫힙니다.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ky.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ky.xtb
index 628d6e1..75eaa39 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ky.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ky.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Сакталган сырсөз же мүмкүндүк алуу ачкычы колдонулсунбу?</translation>
 <translation id="5624120631404540903">Сырсөздөрдү башкаруу</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> үчүн мүмкүндүк алуу ачкычы, экрандын кулпусун колдонуңуз.</translation>
+<translation id="8891372124884726271">Эсептик дайындардын тизмеси жабылды.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lo.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lo.xtb
index 53c2d08..935658dc 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lo.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lo.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">ໃຊ້ລະຫັດຜ່ານ ຫຼື ກະແຈຜ່ານທີ່ບັນທຶກໄວ້ບໍ?</translation>
 <translation id="5624120631404540903">ຈັດການລະ​ຫັດ​ຜ່ານ​</translation>
 <translation id="7736236483645733578">ກະແຈຜ່ານສຳລັບ <ph name="USERNAME" />, ໃຊ້ລັອກໜ້າຈໍຂອງທ່ານ.</translation>
+<translation id="8891372124884726271">ປິດລາຍຊື່ຂໍ້ມູນການເຂົ້າສູ່ລະບົບແລ້ວ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lt.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lt.xtb
index fe7c7f7e..41e547dc6 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lt.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lt.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Naudoti išsaugotą slaptažodį arba „passkey“?</translation>
 <translation id="5624120631404540903">Tvarkyti slaptažodžius</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> „passkey“, naudokite ekrano užraktą.</translation>
+<translation id="8891372124884726271">Prisijungimo duomenų sąrašas uždarytas.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lv.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lv.xtb
index 73f6c32..b95a91d 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lv.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_lv.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Vai izmantot saglabāto paroli vai piekļuves atslēgu?</translation>
 <translation id="5624120631404540903">Pārvaldīt paroles</translation>
 <translation id="7736236483645733578">Lietotāja <ph name="USERNAME" /> piekļuves atslēga. Izmantojiet ekrāna bloķēšanu.</translation>
+<translation id="8891372124884726271">Akreditācijas datu saraksts ir aizvērts.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
index 532c5bf..a1a5d259 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_pa.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">ਕੀ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਜਾਂ ਪਾਸਕੀ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ?</translation>
 <translation id="5624120631404540903">ਪਾਸਵਰਡ ਵਿਵਸਥਿਤ ਕਰੋ</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> ਲਈ ਪਾਸਕੀ, ਆਪਣਾ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ।</translation>
+<translation id="8891372124884726271">ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਦੀ ਸੂਚੀ ਬੰਦ ਹੈ।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ru.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ru.xtb
index 1a18aab..00953065d 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ru.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_ru.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Использовать сохраненный пароль или ключ доступа?</translation>
 <translation id="5624120631404540903">Настройки паролей</translation>
 <translation id="7736236483645733578">Ключ доступа для пользователя <ph name="USERNAME" />, использовать блокировку экрана.</translation>
+<translation id="8891372124884726271">Список учетных данных закрыт.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_si.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_si.xtb
index dbbf2ea..fb009aa 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_si.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_si.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">සුරකින ලද මුරපදය හෝ මුරයතුර භාවිතා කරන්න ද?</translation>
 <translation id="5624120631404540903">මුරපද පාලනය</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> සඳහා මුරයතුර, ඔබේ තිර අගුල භාවිත කරන්න.</translation>
+<translation id="8891372124884726271">අක්තපත්‍ර ලැයිස්තුව වසා ඇත.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_sw.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_sw.xtb
index 855bf6f0..155a2f7 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_sw.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_sw.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Ungependa kutumia nenosiri au ufunguo wa siri uliohifadhiwa?</translation>
 <translation id="5624120631404540903">Dhibiti manenosiri</translation>
 <translation id="7736236483645733578">Ufunguo wa siri wa <ph name="USERNAME" />, tumia kipengele chako cha kufunga skrini.</translation>
+<translation id="8891372124884726271">Orodha ya vitambulisho imefungwa.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
index 717d13fe..5495744 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_tr.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Kayıtlı şifre veya şifre anahtarı kullanılsın mı?</translation>
 <translation id="5624120631404540903">Şifreleri yönet</translation>
 <translation id="7736236483645733578"><ph name="USERNAME" /> için şifre anahtarı, ekran kilidinizi kullanın.</translation>
+<translation id="8891372124884726271">Kimlik bilgisi listesi kapatıldı.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_vi.xtb b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_vi.xtb
index 96751a8..c8639ac 100644
--- a/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_vi.xtb
+++ b/chrome/browser/touch_to_fill/android/internal/java/strings/translations/android_touch_to_fill_strings_vi.xtb
@@ -16,4 +16,5 @@
 <translation id="5591247451101092906">Sử dụng mật khẩu hoặc mã xác thực đã lưu?</translation>
 <translation id="5624120631404540903">Quản lý mật khẩu</translation>
 <translation id="7736236483645733578">Mã xác thực cho <ph name="USERNAME" />, dùng phương thức khoá màn hình.</translation>
+<translation id="8891372124884726271">Danh sách thông tin xác thực đã đóng.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index c2c04e3..0cf008e 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -3089,6 +3089,8 @@
       "webui/settings/ash/search_section.h",
       "webui/settings/ash/select_to_speak_handler.cc",
       "webui/settings/ash/select_to_speak_handler.h",
+      "webui/settings/ash/send_search_feedback_handler.cc",
+      "webui/settings/ash/send_search_feedback_handler.h",
       "webui/settings/ash/server_printer_url_util.cc",
       "webui/settings/ash/server_printer_url_util.h",
       "webui/settings/ash/settings_user_action_tracker.cc",
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
index fddca027..0ef9e01 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">Google-logoskets: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">Leeslys</translation>
 <translation id="1266864766717917324">Kon nie <ph name="CONTENT_TYPE" /> deel nie.</translation>
+<translation id="1273937721055267968">Blokkeer <ph name="DOMAIN" /></translation>
 <translation id="1283039547216852943">Tik om uit te vou</translation>
 <translation id="1285310382777185058">Verander taal</translation>
 <translation id="1291207594882862231">Maak geskiedenis, webkoekies, werfdata, kas skoon …</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">Web- en App-aktiwiteit</translation>
 <translation id="2239812875700136898">Beheer jou berigte vanaf die "Opsies vir Ontdek"-knoppie</translation>
 <translation id="2248941474044011069">Jou wagwoorde word op jou toestel geënkripteer voordat hulle in Google Wagwoordbestuurder gestoor word</translation>
+<translation id="2249635629516220541">Pasmaak die inligting wat deur werwe gebruik word om vir jou advertensies te wys</translation>
 <translation id="2259659629660284697">Voer wagwoorde uit …</translation>
 <translation id="2276231040576210443">Jy kan altyd in <ph name="BEGIN_LINK1" />instellings<ph name="END_LINK1" /> kies wat om te sinkroniseer. Google kan Search en ander dienste op grond van jou geskiedenis personaliseer.</translation>
 <translation id="2276696007612801991">Meld by jou Google-rekening aan om jou wagwoorde na te gaan</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">Kaartnommer</translation>
 <translation id="2625189173221582860">Wagwoord is gekopieer</translation>
 <translation id="2642087927315268160">Aanmelding se onderste blad is toegemaak.</translation>
+<translation id="2643064289437760082">Jy kan altyd advertensiemetingdata uitvee deur jou blaaierdata uit te vee</translation>
 <translation id="2647434099613338025">Voeg taal by</translation>
 <translation id="2649068648233607930">Jou blaaier word bestuur deur <ph name="DOMAIN" /></translation>
 <translation id="2650348088770008516">Privaatheidgidsverduideliking is toegemaak</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />Kry hulp<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">Spoor tans prys na</translation>
 <translation id="3037517125981011456">Wys porboodskappe om by Chrome aan te meld.</translation>
+<translation id="3038272154009688107">Sien alle werwe</translation>
 <translation id="3046945242843292318">Kom volgende keer vinniger by hierdie werf uit</translation>
 <translation id="3055113921564083271">Belangstellings wat jy verwyder het</translation>
 <translation id="3055259925215945098">Boekmerk is geskuif</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">Meld by Chrome aan</translation>
 <translation id="3285080554353377245">Video's oor hoe om Chrome te gebruik</translation>
 <translation id="3290249595466894471">Stuur ook 'n klein voorbeeld van bladsye, aflaaie, uitbreidingaktiwiteit en stelselinligting om te help om nuwe bedreigings te ontdek</translation>
+<translation id="3293181007446299124">Jou blaai-aktiwiteit word privaat op jou toestel gehou en verslae word met ’n vertraging gestuur om jou identiteit te beskerm</translation>
 <translation id="3297344142967351106">Stembystand</translation>
 <translation id="3303414029551471755">Gaan voort om die inhoud af te laai?</translation>
 <translation id="3305795716056605962">Vertaal bladsye deur die Meer Opsies-knoppie</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">Sinkronisering het ophou werk</translation>
 <translation id="3976396876660209797">Verwyder hierdie kortpad en skep dit weer</translation>
 <translation id="3981902534690264083">Adverteerders kan verstaan hoe advertensies presteer</translation>
+<translation id="3985022125189960801">Voeg ’n werf weer by as jy dit in die poel werwe wil hê wat kan raai waarvan jy hou</translation>
 <translation id="3985215325736559418">Wil jy <ph name="FILE_NAME" /> weer aflaai?</translation>
 <translation id="3987993985790029246">Kopieer skakel</translation>
 <translation id="3999683152997576765">Jy kan onderwerpe van belangstelling wat werwe gebruik om vir jou advertensies te wys, sien en verwyder. Chrome skat jou belangstellings op grond van jou onlangse blaaigeskiedenis.</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">Volg tans …</translation>
 <translation id="4335835283689002019">Veiligblaai is af</translation>
 <translation id="4351244548802238354">Maak dialoog toe</translation>
+<translation id="4369735607080757018">Beperkte soorte data word tussen werwe gedeel om die werkverrigting van hul advertensies te meet, soos die tyd van die dag waarop ’n advertensie vir jou gewys is</translation>
 <translation id="4378154925671717803">Foon</translation>
 <translation id="438319986296050901">Deel net kaart</translation>
 <translation id="4384468725000734951">Gebruik Sogou om te soek</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">Op Wi-Fi en mobiele data</translation>
 <translation id="4508528996305412043">Stroomkaartkieslys is oop</translation>
 <translation id="4508642716788467538">Kies jou taal</translation>
+<translation id="4509501256689523862">Terwyl jy blaai, sal hierdie instelling, <ph name="BEGIN_LINK_1" />Advertensie-onderwerpe<ph name="END_LINK_1" />, jou <ph name="BEGIN_LINK_2" />webkoekie-instellings<ph name="END_LINK_2" />, en óf die werf wat jy tans bekyk advertensies personaliseer, bepaal of ’n advertensie wat jy sien, gepersonaliseer word</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{# dag gelede}other{# dae gelede}}</translation>
 <translation id="451872707440238414">Deursoek jou boekmerke</translation>
 <translation id="4521489764227272523">Die gekose data is van Chrome en jou gesinkroniseerde toestelle verwyder.
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">Laat syfers uit bynaam</translation>
 <translation id="4663499661119906179">Sien topwerwe en -berigte vir jou</translation>
 <translation id="4663756553811254707"><ph name="NUMBER_OF_BOOKMARKS" /> boekmerke is uitgevee</translation>
+<translation id="4668279686271488041">Advertensiemetingdata word gereeld van jou toestel af uitgevee</translation>
 <translation id="4668347365065281350">Alle data wat deur werwe geberg is, insluitend webkoekies en ander data wat plaaslik gestoor is</translation>
 <translation id="4678082183394354975">Donkertema vir werwe is aan in Chrome</translation>
 <translation id="4684427112815847243">Sinkroniseer alles</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">Jy sal binnekort stories van <ph name="SITE_NAME" /> af sien wanneer jy 'n nuwe oortjie oopmaak. Werwe wat jy volg, word in jou Google-rekening gestoor. Jy kan hulle bestuur in Ontdek-instellings.</translation>
 <translation id="5091249083535528968">Uitgebreide datagebruik</translation>
 <translation id="509429900233858213">'n Fout het voorgekom.</translation>
+<translation id="5097349930204431044">Werwe wat jy besoek, kan bepaal waarvan jy hou en dan advertensies voorstel soos jy verder blaai</translation>
 <translation id="5099845111805573968">As jy een keer rekenaarwerf gekies het, sal die instelling elke keer wanneer jy besoek aflê op die werf toegepas word</translation>
 <translation id="5102401324271069229">As 'n werf probeer om jou wagwoord te steel, of wanneer jy 'n skadelike lêer aflaai, sal Chrome dalk URL'e, insluitend stukkies bladsyinhoud, na Veiligblaai toe stuur</translation>
 <translation id="510275257476243843">1 uur oor</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">Oortjie</translation>
 <translation id="666731172850799929">Maak oop in <ph name="APP_NAME" /></translation>
 <translation id="6671495933530132209">Kopieer prent</translation>
+<translation id="6672917148207387131">Voeg <ph name="DOMAIN" /> by</translation>
 <translation id="6674571176963658787">Voer jou wagfrase in om sinkronisering te begin</translation>
 <translation id="6676840375528380067">Vee jou Chrome-data op hierdie toestel uit?</translation>
 <translation id="6676927815633975364">Meld by hierdie werf en Chrome aan</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">Laat 'n belangstelling of werf toe as jy dink dat advertensies wat met die item verband hou, nuttig sal wees vir jou</translation>
 <translation id="6738516213925468394">Jou data is om <ph name="TIME" /> met jou <ph name="BEGIN_LINK" />sinkroniseringwagfrase<ph name="END_LINK" /> geënkripeer. Voer dit in om sinkronisering te begin.</translation>
 <translation id="6738867403308150051">Laai tans af …</translation>
+<translation id="674388916582496364">Dit is algemeen vir werwe wat jy besoek om dinge te onthou waarin jy belangstel en jou ervaring te personaliseer. Werwe kan ook inligting oor jou belangstellings in Chrome stoor.</translation>
 <translation id="6751521182688001123">Maak vinnig 'n nuwe oortjie oop. Raak en hou om hierdie kortpad te wysig.</translation>
 <translation id="6756507620369789050">Deel terugvoer</translation>
 <translation id="6767294960381293877">Lys toestelle om 'n oortjie mee te deel, is teen halwe hoogte oopgemaak.</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">Vee boekmerke uit</translation>
 <translation id="696447261358045621">Verlaat Incognitomodus</translation>
 <translation id="6971862865055170158">Moenie goedkeur nie</translation>
+<translation id="6978717888677691380">Werwe wat jy geblokkeer het</translation>
 <translation id="6979737339423435258">Van die begin af</translation>
 <translation id="6987047470128880212">Incognito is nie op hierdie toestel beskikbaar nie</translation>
 <translation id="6995899638241819463">Waarsku jou as wagwoorde in 'n dataskending blootgestel is</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">Gestileerde nota <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">Maak seker dat sinkronisering in Chrome op <ph name="TARGET_DEVICE_NAME" /> aangeskakel is.</translation>
 <translation id="7252076891734325316">Plaas jou foon naby die rekenaar</translation>
+<translation id="7260367682327802201">Jou Android-toestel kan ’n soortgelyke instelling insluit. As advertensiemeting in Chrome en op jou Android-toestel aangeskakel is, kan ’n maatskappy dalk die doeltreffendheid van ’n advertensie meet op alle webwerwe wat jy besoek en apps wat jy gebruik.</translation>
 <translation id="727288900855680735">Dien <ph name="ONE_TIME_CODE" /> in by <ph name="ORIGIN" />?</translation>
 <translation id="7274013316676448362">Geblokkeerde werf</translation>
 <translation id="7286572596625053347">Verander <ph name="LANGUAGE" />?</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">Artikels verskyn hier, wat jy kan lees selfs wanneer jy vanlyn is</translation>
 <translation id="768232549260819724">GIF is gekopieer</translation>
 <translation id="7682724950699840886">Probeer die volgende wenke: maak seker dat daar genoeg spasie op jou toestel is; probeer om weer uit te voer.</translation>
+<translation id="7686086654630106285">Meer oor advertensies wat deur ’n werf voorgestel is</translation>
 <translation id="768618399695552958">Sommige van die bladsye wat jy besoek, word vooraf gelaai. Bladsye kan vooraf deur Google-bedieners gelaai word wanneer hulle van 'n Google-werf af geskakel word.</translation>
 <translation id="7698359219371678927">Skep e-pos in <ph name="APP_NAME" /></translation>
 <translation id="7704317875155739195">Outovoltooi soektogte en URL'e</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">Voer 'n URL in wat reg geformateer is</translation>
 <translation id="854522910157234410">Maak hierdie bladsy oop</translation>
 <translation id="8551513938758868521">Sluit Incognito-oortjies wanneer jy Chrome verlaat</translation>
+<translation id="8559961053328923750">Chrome beperk die totale hoeveelheid data wat werwe deur die blaaier kan deel om advertensiewerkverrigting te meet</translation>
 <translation id="8559990750235505898">Aanbieding om bladsye in ander tale te vertaal</translation>
 <translation id="8560602726703398413">Kry jou leeslys in Boekmerke</translation>
 <translation id="8562452229998620586">Gestoorde wagwoorde sal hier verskyn.</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">Verwerk tans versoek</translation>
 <translation id="8788265440806329501">Navigasiegeskiedenis is toegemaak.</translation>
 <translation id="8788968922598763114">Heropen oortjie wat laaste toegemaak is</translation>
+<translation id="879027982257117598">Byvoorbeeld, as jy ’n werf besoek wat langafstandhardloopskoene verkoop, kan die werf dalk besluit dat jy belangstel om marathons te hardloop. As jy later ’n ander werf besoek, kan daardie werf vir jou ’n advertensie vir hardloopskoene wys wat deur die eerste werf voorgestel is.</translation>
 <translation id="8798449543960971550">Lees</translation>
 <translation id="8803526663383843427">As dit aan is</translation>
 <translation id="8805097383171548551">Gebruik 'n toestel met 'n kamera as jy 'n QR-kode wil skandeer.</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">Kies 'n ander verskaffer</translation>
 <translation id="8998729206196772491">Jy meld tans aan met 'n rekening wat deur <ph name="MANAGED_DOMAIN" /> bestuur word en gee sy administrateur beheer oor jou Chrome-data. Jou data sal permanent met hierdie rekening verbind word. As jy by Chrome afmeld, sal jou data van hierdie toestel af uitgevee word, maar dit sal steeds in jou Google-rekening geberg word.</translation>
 <translation id="9022774213089566801">Gereeld besoek</translation>
+<translation id="9022871169049522985">Werwe en adverteerders kan die werkverrigting van hul advertensies meet</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# video}other{# video's}}</translation>
 <translation id="9042893549633094279">Privaatheid en sekuriteit</translation>
 <translation id="9050666287014529139">Wagfrase</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">Foon as 'n sekuriteitsleutelvervanging</translation>
 <translation id="9108808586816295166">Veilige DNS is dalk nie die hele tyd beskikbaar nie</translation>
 <translation id="9128984223251192329">Privacy Sandbox-porboodskap is teen halwe hoogte oopgemaak</translation>
+<translation id="9131209053278896908">Geblokkeerde werwe verskyn hier</translation>
 <translation id="9133397713400217035">Verken vanlyn</translation>
 <translation id="9148126808321036104">Meld weer aan …</translation>
 <translation id="9158770349521403363">Deel net inhoud</translation>
 <translation id="9159716826369098114">Stel oortjiegroep van <ph name="TAB_COUNT" /> oortjies terug as ’n nuwe agtergrondoortjiegroep.</translation>
 <translation id="9169507124922466868">Navigasiegeskiedenis is half oopgemaak</translation>
+<translation id="9183331776983279456">Chrome vee werwe wat ouer as 4 weke is outomaties uit. ’n Werf wat jy weer besoek, kan weer op die lys verskyn. Of jy kan ’n werf blokkeer om vir jou advertensies voor te stel.</translation>
 <translation id="9190276265094487094">Jy sal jou geskiedenis op al jou gesinkroniseerde toestelle hê sodat jy kan voortgaan met dit waarmee jy besig was</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{1 minuut gelede nagegaan}other{# minute gelede nagegaan}}</translation>
 <translation id="9204836675896933765">1 lêer oor</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">Bekyk vereenvoudigde bladsy?</translation>
 <translation id="968900484120156207">Bladsye wat jy besoek, verskyn hier</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> minute oor</translation>
+<translation id="978317418833355355">Jy kan werwe blokkeer wat jy nie wil hê nie. Chrome vee werwe wat ouer as 4 weke is ook outomaties van die lys af uit. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">Vanlyn</translation>
 <translation id="983192555821071799">Maak alle oortjies toe</translation>
 <translation id="987264212798334818">Algemeen</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
index 31355e37..8d610b8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
@@ -357,6 +357,7 @@
 <translation id="2979025552038692506">Seçilmiş Gizli Panel</translation>
 <translation id="2979639724566107830">Yeni pəncərədə açın</translation>
 <translation id="2981364137500752533">5-ə qədər pəncərəniz ola bilər.</translation>
+<translation id="2983102365694924129">Saytdakı fəaliyyətinizə əsaslanır. Bu ayar deaktivdir.</translation>
 <translation id="2984978667043170458">Google axtarışlarına ətrafdakı mətni daxil edin</translation>
 <translation id="2987620471460279764">Digər cihazdan paylaşılan mətn</translation>
 <translation id="2989523299700148168">Son ziyarət</translation>
@@ -369,6 +370,7 @@
 <translation id="301080557829842765">Məxfilik bələdçisi</translation>
 <translation id="3016635187733453316">Bu cihazın internetə qoşulduğuna əmin olun</translation>
 <translation id="3026955690410463085">Keçid daxil edin</translation>
+<translation id="3027644380269727216">Saytdakı fəaliyyətinizə əsaslanır. Bu ayar aktivdir.</translation>
 <translation id="3029276696788198026">Əvvəlcədən yükləmə yoxdur</translation>
 <translation id="3029704984691124060">Parollar uyğun gəlmir</translation>
 <translation id="3031225630520268969">Assistentin səsli axtarış razılıq UI-si</translation>
@@ -575,6 +577,7 @@
 <translation id="4162867837470729563">Paylaşım seçimlərinin siyahısı tam yüksəklikdədir.</translation>
 <translation id="4170011742729630528">Xidmət əlçatmazdır. Yenidən cəhd edin.</translation>
 <translation id="4177222230309051052">Bütün əlfəcinlərinizi əldə edin</translation>
+<translation id="4177501066905053472">Reklam mövzuları</translation>
 <translation id="4181841719683918333">Dillər</translation>
 <translation id="4195643157523330669">Yeni tabda açın</translation>
 <translation id="4196597275619698563">Kart yaradın</translation>
@@ -659,6 +662,7 @@
 <translation id="4678082183394354975">Saytlar üçün tünd tema Chrome'da aktivdir</translation>
 <translation id="4684427112815847243">Hər şeyi sinxronlaşdırın</translation>
 <translation id="4685741273709472646">Aşağı açılan siyahıdan seçin</translation>
+<translation id="4687718960473379118">Saytın təklif etdiyi reklamlar</translation>
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 və <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> digəri}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 və <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> digəri}}</translation>
 <translation id="4699172675775169585">Keşlənmiş şəkillər və fayllar</translation>
 <translation id="4719927025381752090">Tərcümə təklif edin</translation>
@@ -937,6 +941,7 @@
 <translation id="6193448654517602979">Tablar seçin</translation>
 <translation id="6196315980958524839">Parollar bu cihazda Google Parol Menecerində saxlanılır</translation>
 <translation id="6202812185118613467">Sinxronizasiyanı başlatmaq üçün yenidən daxil olun</translation>
+<translation id="6205314730813004066">Reklam məxfiliyi</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> deyil?</translation>
 <translation id="6211386937064921208">Bu səhifə önizlənir</translation>
 <translation id="6221633008163990886">Parolları eksport etmək üçün kiliddən çıxarın</translation>
@@ -1165,6 +1170,7 @@
 <translation id="7375125077091615385">Növ:</translation>
 <translation id="7376560087009844242">Digər səhifə mətnini daxil etməklə "Axtarmaq üçün toxunun" funksiyasından istifadə etdiyiniz zaman daha yaxşı nəticələr görə bilərsiniz Bunu istənilən vaxt <ph name="BEGIN_LINK" />ayarlarda<ph name="END_LINK" /> dəyişə bilərsiniz.</translation>
 <translation id="7379900596734708416">Saytlar üçün tünd tema əlçatandır</translation>
+<translation id="7388615499319468910">Saytlar və reklamçılar reklamların necə işlədiyini başa düşə bilər. Bu ayar deaktivdir.</translation>
 <translation id="7400418766976504921">URL</translation>
 <translation id="7403691278183511381">İlkin Chrome Təcrübəsi</translation>
 <translation id="7411224099004328643">Google Hesabı istifadəçisi</translation>
@@ -1176,6 +1182,7 @@
 <translation id="7443901082822119557">Anonim rejimdə olduqda saytlar müxtəlif saytlarda axtarış fəaliyyətinizi görmək üçün kukilərinizdən istifadə edə bilmir (məsələn, reklamları fərdiləşdirmək üçün). Bəzi saytlarda funksiyalar işləməyə bilər.</translation>
 <translation id="7453467225369441013">Bununla əksər saytlardan çıxacaqsınız. Google Hesabından çıxmayacaqsınız.</translation>
 <translation id="7454641608352164238">Yetərincə yer yoxdur</translation>
+<translation id="7455988709578031708">Axtarış tarixçənizə əsaslanır. Bu ayar aktivdir.</translation>
 <translation id="7456774706094330779">Artırılmış əvvəlcədən yükləmə</translation>
 <translation id="7474822150871987353">Səhifədən çıxmadan veb saytdakı mövzular haqqında öyrənin. Axtarmaq üçün səhifədə bir və ya daha çox söz seçin.</translation>
 <translation id="7475192538862203634">Bunu tez-tez görürsünüzsə, bu <ph name="BEGIN_LINK" />təklifləri<ph name="END_LINK" /> nəzərdən keçirin.</translation>
@@ -1489,9 +1496,11 @@
 <translation id="9081543426177426948">Anonim rejimdə daxil olduğunuz saytlar yadda saxlanılmır</translation>
 <translation id="9086302186042011942">Sinxronizasiya edilir</translation>
 <translation id="9086455579313502267">Şəbəkəyə qoşulmaq olmur</translation>
+<translation id="9099220545925418560">Axtarış tarixçənizə əsaslanır. Bu ayar deaktivdir.</translation>
 <translation id="9100610230175265781">Parol tələb olunur</translation>
 <translation id="9101137867221042551">İdarəetmə</translation>
 <translation id="9102803872260866941">Önbaxış tabı açıqdır</translation>
+<translation id="9102864637938129124">Saytlar və reklamçılar reklamların necə işlədiyini başa düşə bilər. Bu ayar aktivdir.</translation>
 <translation id="9104217018994036254">Tabı paylaşa biləcəyiniz cihazların siyahısı.</translation>
 <translation id="9106148373857059373">Əlfəcin saxlama prosesi bağlanıb</translation>
 <translation id="9108312223223904744">Təhlükəsizlik Açarı Dəstəyi kimi telefon</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
index 2f5bbff..d8673be 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
@@ -56,7 +56,7 @@
 <translation id="1258753120186372309">Google crtež: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">Lista za čitanje</translation>
 <translation id="1266864766717917324">Nije moguće podijeliti <ph name="CONTENT_TYPE" /></translation>
-<translation id="1273937721055267968">Blokiraj <ph name="DOMAIN" /></translation>
+<translation id="1273937721055267968">Blokiranje web lokacije <ph name="DOMAIN" /></translation>
 <translation id="1283039547216852943">Dodirnite da proširite</translation>
 <translation id="1285310382777185058">Promijenite jezik</translation>
 <translation id="1291207594882862231">Brisanje historije, kolačića, podataka web lokacija, keš memorije…</translation>
@@ -225,7 +225,7 @@
 <translation id="223356358902285214">Aktivnost na webu i u aplikacijama</translation>
 <translation id="2239812875700136898">Kontrolirajte priče pomoću dugmeta Opcije za Discover</translation>
 <translation id="2248941474044011069">Lozinke se šifriraju na uređaju prije nego što se sačuvaju u Googleovom Upravitelju lozinki</translation>
-<translation id="2249635629516220541">Prilagodite podatke koje web-lokacije koriste da bi vam prikazivale oglase</translation>
+<translation id="2249635629516220541">Prilagodite informacije koje web lokacije koriste da vam prikazuju oglase</translation>
 <translation id="2259659629660284697">Izvoz lozinki…</translation>
 <translation id="2276231040576210443">Uvijek možete odabrati šta želite sinhronizirati u <ph name="BEGIN_LINK1" />postavkama<ph name="END_LINK1" />. Google može personalizirati Pretraživanje i druge usluge na osnovu vaše historije.</translation>
 <translation id="2276696007612801991">Prijavite se na svoj Google račun da provjerite lozinke</translation>
@@ -291,7 +291,7 @@
 <translation id="2612676031748830579">Broj kartice</translation>
 <translation id="2625189173221582860">Lozinka je kopirana</translation>
 <translation id="2642087927315268160">Donja tabela za prijavu je zatvorena.</translation>
-<translation id="2643064289437760082">Podatke o mjerenju oglasa uvijek možete izbrisati brisanjem podataka o pregledavanju</translation>
+<translation id="2643064289437760082">Uvijek možete izbrisati podatke o mjerenju oglasa brisanjem podataka o pregledanju</translation>
 <translation id="2647434099613338025">Dodavanje jezika</translation>
 <translation id="2649068648233607930">Vašim preglednikom upravlja <ph name="DOMAIN" /></translation>
 <translation id="2650348088770008516">Objašnjenje vodiča za privatnost je zatvoreno</translation>
@@ -375,7 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />Potražite pomoć<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">Praćenje cijene</translation>
 <translation id="3037517125981011456">Prikazuje upite za prijavu na Chrome</translation>
-<translation id="3038272154009688107">Pogledajte sve web-lokacije</translation>
+<translation id="3038272154009688107">Prikaži sve web lokacije</translation>
 <translation id="3046945242843292318">Sljedeći put brže pristupite ovoj web lokaciji</translation>
 <translation id="3055113921564083271">Interesovanja koja ste uklonili</translation>
 <translation id="3055259925215945098">Oznaka je premještena</translation>
@@ -425,7 +425,7 @@
 <translation id="3282568296779691940">Prijava na Chrome</translation>
 <translation id="3285080554353377245">Videozapisi o načinu korištenja Chromea</translation>
 <translation id="3290249595466894471">Također šalje mali uzorak stranica, preuzimanja, aktivnosti ekstenzija i informacija o sistemu radi lakšeg otkrivanja novih prijetnji</translation>
-<translation id="3293181007446299124">Vaša povijest pregledavanja ostaje privatna na vašem uređaju, a izvješća se šalju s odgodom radi zaštite vašeg identiteta</translation>
+<translation id="3293181007446299124">Vaša historija pregledanja se privatno pohranjuje na vašem uređaju, a izvještaji se šalju s kašnjenjem radi zaštite vašeg identiteta</translation>
 <translation id="3297344142967351106">Glasovna pomoć</translation>
 <translation id="3303414029551471755">Nastaviti s preuzimanjem sadržaja?</translation>
 <translation id="3305795716056605962">Prevedite stranice putem dugmeta Više opcija</translation>
@@ -537,7 +537,7 @@
 <translation id="397583555483684758">Sinhronizacija je prekinuta</translation>
 <translation id="3976396876660209797">Uklonite i ponovo napravite ovu prečicu</translation>
 <translation id="3981902534690264083">Oglašivači mogu razumjeti performanse oglasa</translation>
-<translation id="3985022125189960801">Dodajte web-lokaciju natrag ako je želite u grupi web-lokacija koje mogu pogoditi što vam se sviđa</translation>
+<translation id="3985022125189960801">Ponovo dodajte web lokaciju ako želite da bude u skupini web lokacija koje mogu pogađati šta vam se sviđa</translation>
 <translation id="3985215325736559418">Želite li ponovo preuzeti fajl <ph name="FILE_NAME" />?</translation>
 <translation id="3987993985790029246">Kopiraj link</translation>
 <translation id="3999683152997576765">Možete vidjeti i uklanjati teme koje vas zanimaju, a koje web lokacije koriste da vam prikazuju oglase. Chrome procjenjuje vaša interesovanja na osnovu vaše nedavne historije pregledanja.</translation>
@@ -602,7 +602,7 @@
 <translation id="433213510553688132">Praćenje...</translation>
 <translation id="4335835283689002019">Sigurno pregledanje je isključeno</translation>
 <translation id="4351244548802238354">Zatvori dijaloški okvir</translation>
-<translation id="4369735607080757018">Ograničene vrste podataka dijele se između web-lokacija radi mjerenja izvedbe oglasa, kao što je doba dana kad vam se oglas prikazao</translation>
+<translation id="4369735607080757018">Ograničene vrste podataka se dijele među web lokacijama da izmjere performanse svojih oglasa, npr. doba dana kada vam je oglas prikazan</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="438319986296050901">Dijeli samo karticu</translation>
 <translation id="4384468725000734951">Za pretraživanje se koristi Sogou</translation>
@@ -626,7 +626,7 @@
 <translation id="4504667196171871375">Na WiFi mreži i prijenosu podataka na mobilnoj mreži</translation>
 <translation id="4508528996305412043">Meni kartice za sažetak sadržaja je otvoren</translation>
 <translation id="4508642716788467538">Odaberite jezik</translation>
-<translation id="4509501256689523862">Hoće li se oglas koji vam se prikazuje dok pregledavate personalizirati ovisi o toj postavci, <ph name="BEGIN_LINK_1" />temama oglasa<ph name="END_LINK_1" />, <ph name="BEGIN_LINK_2" />postavkama kolačića<ph name="END_LINK_2" /> i o tome personalizira li web-lokacija koju pregledavate oglase</translation>
+<translation id="4509501256689523862">Dok pregledate, hoće li oglas koji vidite biti personaliziran ovisi o ovoj postavci, <ph name="BEGIN_LINK_1" />temama oglasa<ph name="END_LINK_1" />, vašim <ph name="BEGIN_LINK_2" />postavkama kolačića<ph name="END_LINK_2" /> i o tome personalizira li oglase web lokacija koju pregledate</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{Prije # dan}one{Prije # dan}few{Prije # dana}other{Prije # dana}}</translation>
 <translation id="451872707440238414">Pretražite svoje oznake</translation>
 <translation id="4521489764227272523">Odabrani podaci su uklonjeni iz Chromea i vaših sinhroniziranih uređaja.
@@ -654,7 +654,7 @@
 <translation id="4662373422909645029">Nadimak ne može imati brojeve</translation>
 <translation id="4663499661119906179">Pogledajte najpopularnije web lokacije i priče prilagođene vama</translation>
 <translation id="4663756553811254707">Broj izbrisanih oznaka: <ph name="NUMBER_OF_BOOKMARKS" /></translation>
-<translation id="4668279686271488041">Podaci o mjerenju oglasa redovito se brišu s vašeg uređaja</translation>
+<translation id="4668279686271488041">Podaci o mjerenjima oglasa se redovno brišu s uređaja</translation>
 <translation id="4668347365065281350">Svi podaci koje pohranjuju web lokacije, uključujući kolačiće i druge podatke koji se lokalno pohranjuju</translation>
 <translation id="4678082183394354975">Tamna tema za web lokacije je omogućena u Chromeu</translation>
 <translation id="4684427112815847243">Sinhroniziranje svega</translation>
@@ -746,7 +746,7 @@
 <translation id="5091199029769593641">Uskoro ćete vidjeti priče s web lokacije <ph name="SITE_NAME" /> kada otvorite novu karticu. Web lokacije koje pratite se pohranjuju na vaš Google račun. Njima možete upravljati u postavkama Discovera.</translation>
 <translation id="5091249083535528968">Prošireni podaci o korištenju</translation>
 <translation id="509429900233858213">Došlo je do greške.</translation>
-<translation id="5097349930204431044">Web-lokacije koje posjećujete mogu utvrditi što vam se sviđa, a zatim predlagati oglase dok pregledavate</translation>
+<translation id="5097349930204431044">Web lokacije koje posjetite mogu utvrditi šta vam se sviđa, a zatim predložiti oglase dok nastavljate pregledati</translation>
 <translation id="5099845111805573968">Kada jednom odaberete web lokaciju za računar, postavka se primjenjuje na web lokaciju svaki put kada je posjetite</translation>
 <translation id="5102401324271069229">Ako web lokacija pokuša ukrasti vašu lozinku ili kada preuzimate štetan fajl, Chrome može slati URL-ove, uključujući dijelove sadržaja stranice, u Sigurno pregledanje</translation>
 <translation id="510275257476243843">Još 1 sat</translation>
@@ -1041,7 +1041,7 @@
 <translation id="6659594942844771486">Kartica</translation>
 <translation id="666731172850799929">Otvorite u aplikaciji <ph name="APP_NAME" /></translation>
 <translation id="6671495933530132209">Kopiraj sliku</translation>
-<translation id="6672917148207387131">Dodaj <ph name="DOMAIN" /></translation>
+<translation id="6672917148207387131">Dodavanje web lokacije <ph name="DOMAIN" /></translation>
 <translation id="6674571176963658787">Da pokrenete sinhronizaciju, unesite pristupni izraz</translation>
 <translation id="6676840375528380067">Obrisati Chrome podatke s ovog uređaja?</translation>
 <translation id="6676927815633975364">Prijavite se na ovu web lokaciju i u Chrome</translation>
@@ -1054,7 +1054,7 @@
 <translation id="6737612727720318154">Omogućite interesovanje ili web lokaciju ako smatrate da će vam oglasi koji se odnose na tu stavku biti korisni</translation>
 <translation id="6738516213925468394">Vaši podaci su šifrirani vašim <ph name="BEGIN_LINK" />izrazom za pristup sinhroniziranju<ph name="END_LINK" /> u <ph name="TIME" />. Unesite ga da započnete sinhronizaciju.</translation>
 <translation id="6738867403308150051">Preuzimanje…</translation>
-<translation id="674388916582496364">Uobičajeno je da web-lokacije koje posjećujete pamte vaše interese radi personalizacije vašeg doživljaja. Web-lokacije mogu i pohraniti podatke o vašim interesima u Chrome.</translation>
+<translation id="674388916582496364">Uobičajeno je da web lokacije koje posjetite pamte stvari koje vas interesiraju radi personalizacije vašeg iskustva. Web lokacije mogu pohranjivati informacije o vašim interesovanjima i u Chromeu.</translation>
 <translation id="6751521182688001123">Brzo otvorite novu karticu. Dodirnite i zadržite da uredite ovu prečicu.</translation>
 <translation id="6756507620369789050">Dijeli povratne informacije</translation>
 <translation id="6767294960381293877">Spisak uređaja s kojim će se dijeliti kartica je otvoren na pola visine.</translation>
@@ -1098,7 +1098,7 @@
 <translation id="6963766334940102469">Izbriši oznake</translation>
 <translation id="696447261358045621">Napusti anonimni načina rada</translation>
 <translation id="6971862865055170158">Nemoj odobriti</translation>
-<translation id="6978717888677691380">Web-lokacije koje ste blokirali</translation>
+<translation id="6978717888677691380">Web lokacije koje ste blokirali</translation>
 <translation id="6979737339423435258">Sve vrijeme</translation>
 <translation id="6987047470128880212">Anonimni način rada nije dostupan na ovom uređaju</translation>
 <translation id="6995899638241819463">Upozori ako su lozinke izložene pri narušavanju podataka</translation>
@@ -1143,7 +1143,7 @@
 <translation id="7242755609445462077">Stilizirani istaknuti tekst <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">Provjerite je li na uređaju <ph name="TARGET_DEVICE_NAME" /> uključena sinhronizacija u Chromeu</translation>
 <translation id="7252076891734325316">Postavite telefon blizu računara</translation>
-<translation id="7260367682327802201">Vaš Android uređaj možda ima sličnu postavku. Ako je mjerenje oglasa uključeno u Chromeu i na vašem Android uređaju, tvrtka će možda moći mjeriti učinkovitost oglasa na web-lokacijama koje posjećujete i u aplikacijama koje upotrebljavate.</translation>
+<translation id="7260367682327802201">Android uređaj može sadržavati sličnu postavku. Ako je mjerenje oglasa uključeno u Chromeu i na Android uređaju, kompanija će možda moći izmjeriti učinkovitost oglasa na web lokacijama koje posjećujete i u aplikacijama koje koristite.</translation>
 <translation id="727288900855680735">Poslati <ph name="ONE_TIME_CODE" /> na <ph name="ORIGIN" />?</translation>
 <translation id="7274013316676448362">Blokirane web lokacije:</translation>
 <translation id="7286572596625053347">Promijeniti jezik <ph name="LANGUAGE" />?</translation>
@@ -1224,7 +1224,7 @@
 <translation id="766587987807204883">Članci se prikazuju ovdje i možete ih čitati čak i kada ste van mreže</translation>
 <translation id="768232549260819724">GIF je kopiran</translation>
 <translation id="7682724950699840886">Pokušajte sljedeće savjete: vodite računa da na uređaju ima dovoljno prostora i pokušajte ponovo izvršiti izvoz.</translation>
-<translation id="7686086654630106285">Više o oglasima koje predlaže web-lokacija</translation>
+<translation id="7686086654630106285">Više o oglasima koje predlažu web lokacije</translation>
 <translation id="768618399695552958">Neke od stranica koje posjećujete se predučitavaju. Stranice se mogu predučitati putem Googleovih servera kada se povežu s Googleove web lokacije.</translation>
 <translation id="7698359219371678927">Kreirajte e-poruku u aplikaciji <ph name="APP_NAME" /></translation>
 <translation id="7704317875155739195">Automatsko dovršavanje pretraživanja i URL-ova</translation>
@@ -1393,7 +1393,7 @@
 <translation id="8540136935098276800">Unesite URL s ispravnim formatom</translation>
 <translation id="854522910157234410">Otvori ovu stranicu</translation>
 <translation id="8551513938758868521">Zaključaj anonimne kartice pri napuštanju Chromea</translation>
-<translation id="8559961053328923750">Chrome ograničava ukupnu količinu podataka koje web-lokacije mogu dijeliti putem preglednika radi mjerenja izvedbe oglasa</translation>
+<translation id="8559961053328923750">Chrome ograničava ukupnu količinu podataka koje web lokacije mogu dijeliti putem preglednika radi mjerenja performansi oglasa</translation>
 <translation id="8559990750235505898">Ponudi prevođenje stranica na druge jezike</translation>
 <translation id="8560602726703398413">Pronađite listu za čitanje u oznakama</translation>
 <translation id="8562452229998620586">Sačuvane lozinke će se pojaviti ovdje.</translation>
@@ -1434,7 +1434,7 @@
 <translation id="8773160212632396039">Zahtjev se obrađuje</translation>
 <translation id="8788265440806329501">Historija navigacije je zatvorena</translation>
 <translation id="8788968922598763114">Ponovo otvori posljednju zatvorenu karticu</translation>
-<translation id="879027982257117598">Na primjer, ako posjetite neku web-lokaciju koja prodaje obuću za trčanje na duge staze, ta web-lokacija može odlučiti da vas zanima trčanje maratona. Ako poslije posjetite neku drugu web-lokaciju, ta vam web-lokacija može prikazati oglas za tenisice za trčanje koji predlaže prva web-lokacija.</translation>
+<translation id="879027982257117598">Naprimjer, ako posjetite web lokaciju koja prodaje patike za trčanje na duge staze, web lokacija može odlučiti da ste zainteresirani za trčanje maratona. Kasnije, ako posjetite drugu web lokaciju, ta web lokacija vam može prikazati oglas koji prikazuje patike za trčanje koje je predložila prva web lokacija.</translation>
 <translation id="8798449543960971550">Pročitano</translation>
 <translation id="8803526663383843427">Kada je uključeno</translation>
 <translation id="8805097383171548551">Da skenirate QR kôd, koristite uređaj s kamerom.</translation>
@@ -1477,7 +1477,7 @@
 <translation id="8996847606757455498">Odaberite drugog pružaoca</translation>
 <translation id="8998729206196772491">Prijavljujete se pomoću računa kojim upravlja domena <ph name="MANAGED_DOMAIN" /> te njenom administratoru dajete kontrolu nad svojim Chrome podacima. Vaši podaci će se trajno povezati s ovim računom. Odjavljivanjem iz Chromea ćete izbrisati podatke s ovog uređaja, ali će oni ostati pohranjeni na vašem Google računu.</translation>
 <translation id="9022774213089566801">Često posjećivano</translation>
-<translation id="9022871169049522985">Web-lokacije i oglašivači mogu mjeriti izvedbu svojih oglasa</translation>
+<translation id="9022871169049522985">Web lokacije i oglašivači mogu mjeriti performanse svojih oglasa</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# videozapis}one{# videozapis}few{# videozapisa}other{# videozapisa}}</translation>
 <translation id="9042893549633094279">Privatnost i sigurnost</translation>
 <translation id="9050666287014529139">Pristupni izraz</translation>
@@ -1499,13 +1499,13 @@
 <translation id="9108312223223904744">Podrška za telefon kao Sigurnosni ključ</translation>
 <translation id="9108808586816295166">Moguće je da sigurnosni DNS neće uvijek biti dostupan</translation>
 <translation id="9128984223251192329">Upit za Okruženje zaštićene privatnosti je otvoren do pola visine</translation>
-<translation id="9131209053278896908">Blokirane web-lokacije prikazuju se ovdje</translation>
+<translation id="9131209053278896908">Blokirane web lokacije se prikazuju ovdje</translation>
 <translation id="9133397713400217035">Istražite van mreže</translation>
 <translation id="9148126808321036104">Prijavi se ponovo</translation>
 <translation id="9158770349521403363">Dijeli samo sadržaj</translation>
 <translation id="9159716826369098114">Vratite grupu kartica (broj kartica: <ph name="TAB_COUNT" />) kao novu pozadinsku grupu kartica.</translation>
 <translation id="9169507124922466868">Historija navigacije je napola otvorena</translation>
-<translation id="9183331776983279456">Chrome automatski briše web-lokacije koje su na popisu duže od četiri tjedna. Web-lokacija koju posjetite ponovo može se opet pojaviti na popisu. Možete i blokirati web-lokaciju kako vam ne bi mogla predlagati oglase.</translation>
+<translation id="9183331776983279456">Chrome automatski briše web lokacije koje su starije od 4 sedmice. Web lokacija koju ponovo posjetite može se ponovo pojaviti na listi. Ili možete blokirati da vam web lokacija predlaže oglase.</translation>
 <translation id="9190276265094487094">Imat ćete historiju na svim sinhroniziranim uređajima da možete nastaviti ono što ste radili</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{Provjereno prije 1 minutu}one{Provjereno prije # minutu}few{Provjereno prije # minute}other{Provjereno prije # minuta}}</translation>
 <translation id="9204836675896933765">Ostao je još 1 fajl</translation>
@@ -1527,7 +1527,7 @@
 <translation id="96681097142096641">Prikazati pojednostavljenu stranicu?</translation>
 <translation id="968900484120156207">Stranice koje posjetite će se pojaviti ovdje</translation>
 <translation id="970715775301869095">Ostalo je još <ph name="MINUTES" /> min</translation>
-<translation id="978317418833355355">Možete blokirati web-lokacije koje ne želite. Chrome također automatski briše web-lokacije koje su na popisu više od četiri tjedna. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
+<translation id="978317418833355355">Možete blokirati web lokacije koje ne želite. Chrome također automatski briše web lokacije s liste koje su starije od 4 sedmice. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">Van mreže</translation>
 <translation id="983192555821071799">Zatvori sve kartice</translation>
 <translation id="987264212798334818">Opće</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
index cee1035..d701a6f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
@@ -279,6 +279,7 @@
 <translation id="2569733278091928697">You’ll be able to easily manage media controls, Incognito sessions, downloads and more</translation>
 <translation id="2571711316400087311">Offer to send pages in other languages to Google Translate</translation>
 <translation id="2573452357057307036">Learn how to set Chrome as your default</translation>
+<translation id="257470231920177468">When on, a list of sites that you visit that guess your interests appears here.</translation>
 <translation id="2580436639406015883">Spam and fraud reduction relies on private state tokens to help sites fight fraud and distinguish bots from people.
 
 Based on your interaction with a site, like regularly signing in to an account, that site can issue a private state token to your browser. Later, if other sites that you visit check for and find a valid private state token, they’re more likely to treat you like a person and not a bot.
@@ -582,6 +583,7 @@
 <translation id="4195643157523330669">Open in new tab</translation>
 <translation id="4196597275619698563">Create card</translation>
 <translation id="4198423547019359126">No available download locations</translation>
+<translation id="4202218894997543208">Topics that you blocked</translation>
 <translation id="4214315110991671325">If you allow cookies, Chrome may use them for preloading.</translation>
 <translation id="4225895483398857530">Toolbar shortcut</translation>
 <translation id="4242533952199664413">Open settings</translation>
@@ -614,6 +616,7 @@
 <translation id="4405224443901389797">Move to…</translation>
 <translation id="4405636711880428279">Remove your virtual card?</translation>
 <translation id="4409271659088619928">Your search engine is <ph name="DSE" />. See their instructions for deleting your search history, if applicable.</translation>
+<translation id="441383202534727410">It can take up to a week for a list of sites to appear here based on your browsing history.</translation>
 <translation id="4415276339145661267">Manage your Google Account</translation>
 <translation id="4425140285732600465">Tracking price. Get alerts if the price drops on any site.</translation>
 <translation id="442518031075347249">You’ll no longer be able to use your virtual card with Google Pay. <ph name="BEGIN_LINK1" />Learn more about virtual cards<ph name="END_LINK1" /></translation>
@@ -1262,6 +1265,7 @@
 <translation id="7851858861565204677">Other devices</translation>
 <translation id="7853202427316060426">Activity</translation>
 <translation id="7859988229622350291">Never translate</translation>
+<translation id="7864208933699511058">As you browse, whether an ad that you see is personalised depends on this setting, <ph name="BEGIN_LINK_1" />site-suggested ads<ph name="END_LINK_1" />, your <ph name="BEGIN_LINK_2" />cookie settings<ph name="END_LINK_2" />, and if the site that you're viewing personalises ads.</translation>
 <translation id="7866213166286285359">Translate pages here</translation>
 <translation id="78707286264420418"><ph name="PRODUCT_NAME" /> needs Nearby devices permission in order to connect to your device</translation>
 <translation id="7875915731392087153">Create email</translation>
@@ -1354,6 +1358,7 @@
 <translation id="829672787777123339">Connecting to your device…</translation>
 <translation id="8310344678080805313">Standard tabs</translation>
 <translation id="831192587911042850">Adds the current web site to the list of web sites that you are following.</translation>
+<translation id="8333340769932050274">You can block topics that you don't want to be shared with sites. Chrome also auto-deletes your topics that are older than four weeks. <ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /></translation>
 <translation id="834313815369870491">Never translate sites</translation>
 <translation id="8349795646647783032"><ph name="BEGIN_BOLD" />How we use this data:<ph name="END_BOLD" /> Sites can store information with Chrome about your interests. For example, if you visit a site to buy shoes for a marathon, the site might define your interest as running marathons. Later, if you visit a different site to register for a race, that site can show you an ad for running shoes based on your interests.</translation>
 <translation id="8354977102499939946">Quickly search with your voice. To edit this shortcut, go to Settings.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
index 27551b5..7b92ad36 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">Google ડૂડલ: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">વાચન સૂચિ</translation>
 <translation id="1266864766717917324"><ph name="CONTENT_TYPE" /> શેર કરી શકાયો નથી</translation>
+<translation id="1273937721055267968"><ph name="DOMAIN" />ને બ્લૉક કરો</translation>
 <translation id="1283039547216852943">વિસ્તૃત કરવા માટે ટૅપ કરો</translation>
 <translation id="1285310382777185058">ભાષા બદલો</translation>
 <translation id="1291207594882862231">ઇતિહાસ, કુકી, સાઇટ ડેટા, કૅશ સાફ કરો…</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">વેબ અને ઍપ પ્રવૃત્તિ</translation>
 <translation id="2239812875700136898">Discover બટન માટે વિકલ્પોમાંથી તમારી સ્ટોરીનું નિયંત્રણ કરો</translation>
 <translation id="2248941474044011069">તમારા પાસવર્ડ Google પાસવર્ડ મેનેજર પર સાચવવામાં આવે તે પહેલાં તેમને તમારા ડિવાઇસ પર એન્ક્રિપ્ટ કરવામાં આવે છે</translation>
+<translation id="2249635629516220541">તમારી જાહેરાતો બતાવવા માટે સાઇટ દ્વારા ઉપયોગમાં લેવામાં આવતી માહિતી કસ્ટમાઇઝ કરો</translation>
 <translation id="2259659629660284697">બધા પાસવર્ડની નિકાસ કરો…</translation>
 <translation id="2276231040576210443">શું સિંક કરવું, તે તમે <ph name="BEGIN_LINK1" />સેટિંગ<ph name="END_LINK1" />માં જઈને કોઈપણ સમયે પસંદ કરી શકો છો. Google તમારા ઇતિહાસના આધારે Search અને અન્ય સેવાઓને મનગમતી બનાવી શકે છે.</translation>
 <translation id="2276696007612801991">તમારા પાસવર્ડ ચેક કરવા માટે તમારા Google એકાઉન્ટમાં સાઇન ઇન કરો</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">કાર્ડ નંબર</translation>
 <translation id="2625189173221582860">પાસવર્ડ કૉપિ કર્યો</translation>
 <translation id="2642087927315268160">સાઇન ઇન કરવા માટેની બોટમ શીટ બંધ કરવામાં આવી છે.</translation>
+<translation id="2643064289437760082">તમારા બ્રાઉઝિંગ ડેટાને ડિલીટ કરીને, તમે હંમેશાં જાહેરાત-માપણીનો ડેટા ડિલીટ કરી શકો છો</translation>
 <translation id="2647434099613338025">ભાષા ઉમેરો</translation>
 <translation id="2649068648233607930">તમારું બ્રાઉઝર <ph name="DOMAIN" /> દ્વારા મેનેજ કરવામાં આવે છે</translation>
 <translation id="2650348088770008516">પ્રાઇવસી સંબંધિત માર્ગદર્શિકાની સમજૂતી બંધ કરી</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />સહાય મેળવો<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">કિંમત ટ્રૅક કરી રહ્યાં છીએ</translation>
 <translation id="3037517125981011456">Chromeમાં સાઇન ઇન કરવા માટે સંકેતો બતાવે છે</translation>
+<translation id="3038272154009688107">બધી સાઇટ જુઓ</translation>
 <translation id="3046945242843292318">આગલી વખતે આ સાઇટ પર ઝડપથી ઍક્સેસ મેળવો</translation>
 <translation id="3055113921564083271">તમે કાઢી નાખેલી રુચિઓ</translation>
 <translation id="3055259925215945098">બુકમાર્ક ખસેડ્યું</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">Chrome માં સાઇન ઇન કરો</translation>
 <translation id="3285080554353377245">Chromeનો ઉપયોગ કેવી રીતે કરવો તે વિશેના વીડિયો</translation>
 <translation id="3290249595466894471">નવા જોખમો શોધવામાં સહાય કરવા માટે પેજનો નાનો નમૂનો, ડાઉનલોડ, એક્સ્ટેન્શનની પ્રવૃત્તિ અને સિસ્ટમની માહિતી પણ મોકલે છે</translation>
+<translation id="3293181007446299124">તમારા બ્રાઉઝિંગ ઇતિહાસને તમારા ડિવાઇસમાં ખાનગી રાખવામાં આવે છે અને તમારી ઓળખને સુરક્ષિત રાખવા માટે રિપોર્ટને થોડા વિલંબ પછી મોકલવામાં આવે છે</translation>
 <translation id="3297344142967351106">વૉઇસ સહાયતા</translation>
 <translation id="3303414029551471755">કન્ટેન્ટ ડાઉનલોડ કરવા માટે આગળ વધીએ?</translation>
 <translation id="3305795716056605962">'વધુ વિકલ્પો' બટન વડે પેજનો અનુવાદ કરો</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">સમન્વયન એ કામ કરવાનું બંધ કરી દીધું છે</translation>
 <translation id="3976396876660209797">આ શૉર્ટકટ દૂર કરો અને ફરી બનાવો</translation>
 <translation id="3981902534690264083">જાહેરાતકર્તાઓ સમજી શકે છે કે જાહેરાતો કેવું કાર્યપ્રદર્શન કરે છે</translation>
+<translation id="3985022125189960801">તમને શું ગમે છે તેનું અનુમાન લગાવી શકતી સાઇટના પૂલમાં જો તમે કોઈ સાઇટ ઇચ્છતા હો, તો તેને ફરીથી ઉમેરો</translation>
 <translation id="3985215325736559418">શું તમે <ph name="FILE_NAME" /> ને ફરી ડાઉનલોડ કરવા માગો છો?</translation>
 <translation id="3987993985790029246">લિંક કૉપિ કરો</translation>
 <translation id="3999683152997576765">તમે રુચિના એ વિષયોને જોઈ અને કાઢી નાખી શકો છો કે જેનો ઉપયોગ સાઇટ તમને જાહેરાતો બતાવવા માટે કરે છે. Chrome તમારા તાજેતરના બ્રાઉઝિંગ ઇતિહાસના આધારે તમારી રુચિઓનું અનુમાન લગાવે છે.</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">ફૉલો કરી રહ્યાં છીએ...</translation>
 <translation id="4335835283689002019">Safe Browsing બંધ છે</translation>
 <translation id="4351244548802238354">સંવાદ બંધ કરો</translation>
+<translation id="4369735607080757018">સાઇટની જાહેરાતોના પ્રદર્શનની માપણી કરવા માટે તેમની વચ્ચે મર્યાદિત પ્રકારના ડેટા શેર કરવામાં આવે છે, જેમ કે તમને જે દિવસે જાહેરાત બતાવવામાં આવી હતી તેનો સમય</translation>
 <translation id="4378154925671717803">ફોન</translation>
 <translation id="438319986296050901">માત્ર કાર્ડ શેર કરો</translation>
 <translation id="4384468725000734951">શોધ માટે Sogouનો ઉપયોગ કરી રહ્યાં છીએ</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">વાઇ-ફાઇ અને મોબાઇલ ડેટા પર</translation>
 <translation id="4508528996305412043">ફીડ કાર્ડ મેનૂ ખુલ્લું છે</translation>
 <translation id="4508642716788467538">તમારી ભાષા પસંદ કરો</translation>
+<translation id="4509501256689523862">જેમ-જેમ તમે બ્રાઉઝ કરો છો, તેમ-તેમ તમે જુઓ છો તે જાહેરાત મનગમતી બનાવેલી છે કે નહીં તેનો આધાર આ સેટિંગ પર રહેલો છે, <ph name="BEGIN_LINK_1" />જાહેરાતના વિષયો<ph name="END_LINK_1" />, તમારા <ph name="BEGIN_LINK_2" />કુકીનાં સેટિંગ<ph name="END_LINK_2" /> અને તમે જોઈ રહ્યાં છો તે સાઇટ જાહેરાતોને મનગમતી બનાવે છે કે નહીં</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{# દિવસ પહેલાં}one{# દિવસ પહેલાં}other{# દિવસ પહેલાં}}</translation>
 <translation id="451872707440238414">તમારા બુકમાર્ક શોધો</translation>
 <translation id="4521489764227272523">પસંદ કરેલો ડેટા Chrome અને તમારા સિંક કરેલ ડિવાઇસમાંથી ડિલીટ કરવામાં આવ્યો છે.
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">ઉપનામમાં સંખ્યા ન હોઈ શકે</translation>
 <translation id="4663499661119906179">તમારા માટે શ્રેષ્ઠ હોય તેવી સાઇટ અને સ્ટોરી જુઓ</translation>
 <translation id="4663756553811254707"><ph name="NUMBER_OF_BOOKMARKS" /> બુકમાર્ક કાઢી નાખ્યાં</translation>
+<translation id="4668279686271488041">જાહેરાત-માપણીના ડેટાને નિયમિત રીતે તમારા ડિવાઇસમાંથી ડિલીટ કરવામાં આવે છે</translation>
 <translation id="4668347365065281350">સાઇટ દ્વારા સ્ટોર કરવામાં આવેલો બધો ડેટા, જેમાં કુકી અને સ્થાનિક સ્તરે સ્ટોર થયેલા અન્ય ડેટાનો સમાવેશ થાય છે</translation>
 <translation id="4678082183394354975">Chromeમાં સાઇટ માટે ઘેરી થીમ ચાલુ છે</translation>
 <translation id="4684427112815847243">દરેક વસ્તુ સમન્વયિત કરો</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">ટૂંક સમયમાં, જ્યારે તમે નવી ટૅબ ખોલશો ત્યારે તમને <ph name="SITE_NAME" /> પરથી સ્ટોરી દેખાશે. તમે જે સાઇટ ફૉલો કરો છો તેને તમારા Google એકાઉન્ટમાં સાચવવામાં આવે છે. તમે તેમને Discoverના સેટિંગમાં મેનેજ કરી શકો છો.</translation>
 <translation id="5091249083535528968">વપરાશનો વધારાનો ડેટા</translation>
 <translation id="509429900233858213">કોઈ ભૂલ આવી છે.</translation>
+<translation id="5097349930204431044">તમે મુલાકાત લો છો તે સાઇટ તમને શું ગમે છે તે નક્કી કરી શકે છે અને પછી જેમ-જેમ તમે બ્રાઉઝ કરવાનું ચાલુ રાખો છો, તેમ-તેમ જાહેરાતો સૂચવી શકે છે</translation>
 <translation id="5099845111805573968">જ્યારે તમે એકવાર ડેસ્કટૉપ સાઇટ પસંદ કરો છો, ત્યારે તમારી પ્રત્યેક મુલાકાત વખતે સાઇટ પર સેટિંગ લાગુ કરવામાં આવે છે</translation>
 <translation id="5102401324271069229">જો કોઈ સાઇટ તમારો પાસવર્ડ ચોરી કરવાનો પ્રયાસ કરે અથવા તમે કોઈ નુકસાનકારક ફાઇલ ડાઉનલોડ કરો, ત્યારે Chrome પેજ કન્ટેન્ટના બિટ સહિત URLs 'Safe Browsing'ને મોકલી શકે છે</translation>
 <translation id="510275257476243843">1 કલાક બાકી</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">બ્રાઉઝર ટૅબ</translation>
 <translation id="666731172850799929"><ph name="APP_NAME" /> માં ખોલો</translation>
 <translation id="6671495933530132209">છબી કૉપિ કરો</translation>
+<translation id="6672917148207387131"><ph name="DOMAIN" /> ઉમેરો</translation>
 <translation id="6674571176963658787">સિંક કરવાનું શરૂ કરવા માટે, તમારો પાસફ્રેઝ દાખલ કરો</translation>
 <translation id="6676840375528380067">આ ડિવાઇસમાંથી તમારા Chrome ડેટાને સાફ કરીએ?</translation>
 <translation id="6676927815633975364">આ સાઇટ અને Chromeમાં સાઇન ઇન કરો</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">જો તમને લાગે કે આઇટમથી સંબંધિત જાહેરાતો તમારા માટે ઉપયોગી થશે, તો રુચિ અથવા સાઇટને મંજૂરી આપો</translation>
 <translation id="6738516213925468394">તમારો ડેટા <ph name="TIME" />ના રોજ તમારા <ph name="BEGIN_LINK" />સિંક પાસફ્રેઝ<ph name="END_LINK" /> સાથે એન્ક્રિપ્ટ કરવામાં આવ્યો હતો. સિંક શરૂ કરવા માટે એ દાખલ કરો.</translation>
 <translation id="6738867403308150051">ડાઉનલોડ કરી રહ્યું છે...</translation>
+<translation id="674388916582496364">તમારા અનુભવને મનગમતો બનાવવા માટે તમે જે સાઇટની મુલાકાત લો છો તે સાઇટ તમને જેમાં રુચિ હોય એવી તમામ વસ્તુઓ યાદ રાખી લે તે સામાન્ય બાબત છે. સાઇટ, Chrome પર તમારી રુચિના વિષયો વિશેની માહિતી પણ સ્ટોર કરી શકે છે.</translation>
 <translation id="6751521182688001123">ઝડપથી નવું ટૅબ ખોલો. આ શૉર્ટકટમાં ફેરફાર કરવા માટે, ટચ કરીને થોડીવાર દબાવી રાખો.</translation>
 <translation id="6756507620369789050">પ્રતિસાદ શેર કરો</translation>
 <translation id="6767294960381293877">કોઈ ટૅબ સાથે શેર કરવાના ડિવાઇસની સૂચિ અડધી ઊંચાઈએ ખૂલે છે.</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">બુકમાર્ક ડિલીટ કરો</translation>
 <translation id="696447261358045621">છૂપો મોડ છોડો</translation>
 <translation id="6971862865055170158">મંજૂરી આપશો નહીં</translation>
+<translation id="6978717888677691380">તમે બ્લૉક કરેલી સાઇટ</translation>
 <translation id="6979737339423435258">હંમેશાં</translation>
 <translation id="6987047470128880212">છૂપી ટૅબ આ ડિવાઇસ પર ઉપલબ્ધ નથી</translation>
 <translation id="6995899638241819463">જો ડેટા ઉલ્લંઘનમાં પાસવર્ડ જાહેર થાય તો તમને ચેતવણી આપવામાં આવે છે</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">સ્ટાઇલિશ હાઇલાઇટ <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">ખાતરી કરો કે <ph name="TARGET_DEVICE_NAME" />માં Chromeમાં સિંક ચાલુ કરેલું છે</translation>
 <translation id="7252076891734325316">તમારા ફોનને કમ્પ્યુટરની નજીક રાખો</translation>
+<translation id="7260367682327802201">તમારા Android ડિવાઇસમાં કદાચ આ જ સેટિંગ શામેલ હોઈ શકે. જો Chromeમાં અને તમારા Android ડિવાઇસ પર જાહેરાત માપણીની સુવિધા ચાલુ કરેલી હોય, તો કંપની તમે મુલાકાત લો છો તેવી સમગ્ર વેબસાઇટ પર અને તમે ઉપયોગ કરો છો તેવી ઍપ પર જાહેરાતની અસરકારકતાની માપણી કરી શકે છે.</translation>
 <translation id="727288900855680735"><ph name="ONE_TIME_CODE" />ને <ph name="ORIGIN" /> પર સબમિટ કરીએ?</translation>
 <translation id="7274013316676448362">અવરોધિત સાઇટ</translation>
 <translation id="7286572596625053347"><ph name="LANGUAGE" /> બદલીએ?</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">લેખો અહીં દેખાય છે, જે તમે ઑફલાઇન હો ત્યારે પણ વાંચી શકો છો</translation>
 <translation id="768232549260819724">GIFની કૉપિ કરી</translation>
 <translation id="7682724950699840886">નીચેની ટિપ અજમાવી જુઓ: ખાતરી કરો કે તમારા ઉપકરણ પર પૂરતી સ્પેસ છે, ફરીથી નિકાસ કરવાનો પ્રયાસ કરો.</translation>
+<translation id="7686086654630106285">સાઇટ દ્વારા સૂચિત જાહેરાતો વિશે વધુ વિગતો</translation>
 <translation id="768618399695552958">તમે મુલાકાત લો છો તે કેટલાક પેજ પહેલેથી લોડ કરેલા છે. જ્યારે પેજ Google site પરથી લિંક કરવામાં આવેલા હોય, ત્યારે તેમને Googleના સર્વર મારફતે પહેલેથી લોડ કરી શકાય છે.</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> માં ઇમેઇલ બનાવો</translation>
 <translation id="7704317875155739195">શોધ અને URLsને ઑટોમૅટિક રીતે પૂર્ણ કરો</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">સાચી રીતે ફોર્મેટ કરેલું URL દાખલ કરો</translation>
 <translation id="854522910157234410">આ પેજ ખોલો</translation>
 <translation id="8551513938758868521">જ્યારે તમે Chromeમાંથી બહાર નીકળો, ત્યારે છૂપી ટૅબ લૉક કરો</translation>
+<translation id="8559961053328923750">જાહેરાતના કાર્યપ્રદર્શનની માપણી કરવા માટે સાઇટ દ્વારા બ્રાઉઝર મારફતે શેર કરી શકાય તેવા ડેટાની કુલ માત્રાને Chrome મર્યાદિત કરે છે</translation>
 <translation id="8559990750235505898">પેજનો અન્ય ભાષાઓમાં અનુવાદ કરવાનું ઑફર કરો</translation>
 <translation id="8560602726703398413">Bookmarksમાં તમારી વાંચન સૂચિ શોધો</translation>
 <translation id="8562452229998620586">તમારા સાચવેલા પાસવર્ડ્સ અહીં દેખાશે.</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">વિનંતી પર પ્રક્રિયા ચાલુ છે</translation>
 <translation id="8788265440806329501">નૅવિગેશન ઇતિહાસ બંધ છે</translation>
 <translation id="8788968922598763114">છેલ્લે બંધ કરેલ ટૅબ ફરીથી ખોલો</translation>
+<translation id="879027982257117598">ઉદાહરણ તરીકે, જો તમે લાંબા-અંતરની દોડ માટેના શૂઝ વેચતી કોઈ સાઇટની મુલાકાત લો છો, તો તે સાઇટ કદાચ એવું નક્કી કરી શકે તે તમને મૅરેથન દોડવામાં રૂચિ છે. એના પછી, જો તમે કોઈ અલગ સાઇટની મુલાકાત લો, તો તે સાઇટ તમને પહેલી સાઇટ દ્વારા સૂચવવામાં આવેલી દોડવાના શૂઝની જાહેરાત બતાવી શકે છે.</translation>
 <translation id="8798449543960971550">વાંચેલાં</translation>
 <translation id="8803526663383843427">જ્યારે ચાલુ હોય</translation>
 <translation id="8805097383171548551">QR કોડને સ્કૅન કરવા માટે કૅમેરાવાળા ડિવાઇસનો ઉપયોગ કરો.</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">કોઈ અન્ય પ્રદાતા પસંદ કરો</translation>
 <translation id="8998729206196772491">તમે <ph name="MANAGED_DOMAIN" /> દ્વારા મેનેજ એકાઉન્ટમાં સાઇન ઇન કરી રહ્યાં છો અને તમારા Chrome ડેટા પર એનું એડમિન નિયંત્રણ આપી રહ્યાં છો. તમારો ડેટા આ એકાઉન્ટ સાથે કાયમીરૂપે જોડાયેલું રહેશે. Chromeમાંથી સાઇન આઉટ કરવું આ ડિવાઇસ પરથી તમારો ડેટા ડિલીટ કરશે, પરંતુ એ તમારા Google એકાઉન્ટમાં સ્ટોર રહેશે.</translation>
 <translation id="9022774213089566801">વારંવાર મુલાકાત લેવાયેલ</translation>
+<translation id="9022871169049522985">સાઇટ અને જાહેરાતકર્તાઓ તેમની જાહેરાતોના કાર્યપ્રદર્શનની માપણી કરી શકે છે</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# વીડિયો}one{# વીડિયો}other{# વીડિયો}}</translation>
 <translation id="9042893549633094279">પ્રાઇવસી અને સુરક્ષા</translation>
 <translation id="9050666287014529139">પાસફ્રેઝ</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">સિક્યુરિટી કી તરીકે ફોનનો ઉપયોગ</translation>
 <translation id="9108808586816295166">સુરક્ષિત DNS હંમેશાં ઉપલબ્ધ ન હોઈ શકે</translation>
 <translation id="9128984223251192329">પ્રાઇવસી સૅન્ડબૉક્સનો સંકેત અડધી ઊંચાઈએ ખોલ્યો</translation>
+<translation id="9131209053278896908">બ્લૉક કરેલી સાઇટ અહીં દેખાય છે</translation>
 <translation id="9133397713400217035">ઑફલાઇનમાં શોધખોળ કરો</translation>
 <translation id="9148126808321036104">ફરીથી સાઇન ઇન કરો </translation>
 <translation id="9158770349521403363">માત્ર કન્ટેન્ટ શેર કરો</translation>
 <translation id="9159716826369098114"><ph name="TAB_COUNT" /> ટૅબવાળા ટૅબના ગ્રૂપને નવા બૅકગ્રાઉન્ડ ટૅબના ગ્રૂપ તરીકે રિસ્ટોર કરો.</translation>
 <translation id="9169507124922466868">નૅવિગેશન ઇતિહાસ અડધા ભાગમાં ખુલ્લો છે</translation>
+<translation id="9183331776983279456">4 અઠવાડિયાથી વધુ જૂની સાઇટને Chrome ઑટોમૅટિક રીતે ડિલીટ કરે છે. તમે ફરી વાર મુલાકાત લો છો તે સાઇટ ફરીથી સૂચિમાં દેખાઈ શકે છે. અથવા તમે કોઈ સાઇટને તમને જાહેરાતોનું સૂચન કરવાથી બ્લૉક કરી શકો છો.</translation>
 <translation id="9190276265094487094">તમને તમારા સિંક કરેલા તમામ ડિવાઇસ પર તમારો ઇતિહાસ મળશે, જેથી તમે જે કરતા હતા તે ચાલુ રાખી શકો</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{1 મિનિટ પહેલાં ચેક કર્યું}one{# મિનિટ પહેલાં ચેક કર્યું}other{# મિનિટ પહેલાં ચેક કર્યું}}</translation>
 <translation id="9204836675896933765">1 ફાઇલ બાકી છે</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">શું સરળ કરેલું પેજ જોવું છે?</translation>
 <translation id="968900484120156207">તમે મુલાકાત લીધેલા પેજ અહીં દેખાય છે</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> મિનિટ બાકી</translation>
+<translation id="978317418833355355">તમને ન જોઈતી સાઇટ તમે બ્લૉક કરી શકો છો. 4 અઠવાડિયાથી વધુ જૂની હોય તેવી સૂચિમાંથી Chrome પણ સાઇટને ઑટોમૅટિક રીતે ડિલીટ કરે છે. <ph name="BEGIN_LINK" />વધુ જાણો<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">ઑફલાઇન</translation>
 <translation id="983192555821071799">બધા ટેબ્સ બંધ કરો</translation>
 <translation id="987264212798334818">સામાન્ય</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
index 00c88226..8d99f8c6 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
@@ -357,6 +357,7 @@
 <translation id="2979025552038692506">ផ្ទាំងអនាមិកដែលបានជ្រើស</translation>
 <translation id="2979639724566107830">បើក​នៅក្នុង​វិនដូថ្មី</translation>
 <translation id="2981364137500752533">អ្នកអាចមាន​វិនដូរហូតដល់ 5។</translation>
+<translation id="2983102365694924129">ផ្អែក​លើ​សកម្មភាព​របស់​អ្នក​នៅលើ​គេហទំព័រ។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="2984978667043170458">រួមបញ្ចូល​អក្សរដែលនៅជុំវិញ​នៅក្នុង​ការស្វែងរកនៅលើ Google</translation>
 <translation id="2987620471460279764">អត្ថបទដែលបាន​ចែករំលែកពីឧបករណ៍​ផ្សេងទៀត</translation>
 <translation id="2989523299700148168">បាន​ចូល​ទៅ​កាន់​ថ្មីៗ</translation>
@@ -369,6 +370,7 @@
 <translation id="301080557829842765">ការណែនាំ​អំពី​ឯកជនភាព</translation>
 <translation id="3016635187733453316">ត្រូវប្រាកដថា ឧបករណ៍នេះ​មានការតភ្ជាប់អ៊ីនធឺណិត</translation>
 <translation id="3026955690410463085">រួមបញ្ចូល​តំណ</translation>
+<translation id="3027644380269727216">ផ្អែក​លើ​សកម្មភាព​របស់​អ្នក​នៅលើ​គេហទំព័រ។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="3029276696788198026">គ្មានការផ្ទុក​ជាមុនទេ</translation>
 <translation id="3029704984691124060">ឃ្លាសម្ងាត់មិនត្រូវគ្នា</translation>
 <translation id="3031225630520268969">ui នៃ​ការយល់ព្រម​ឱ្យប្រើជំនួយការ​សម្រាប់​ការស្វែងរក​តាមសំឡេង</translation>
@@ -575,6 +577,7 @@
 <translation id="4162867837470729563">បញ្ជីជម្រើសចែករំលែកបានបើកពេញអេក្រង់។</translation>
 <translation id="4170011742729630528">សេវាកម្មនេះមិនមានទេ។ សូមព្យាយាមម្តងទៀតពេលក្រោយ។</translation>
 <translation id="4177222230309051052">ទទួលបានចំណាំទាំងអស់របស់អ្នក</translation>
+<translation id="4177501066905053472">ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="4181841719683918333">ភាសា</translation>
 <translation id="4195643157523330669">បើកនៅក្នុងផ្ទាំងថ្មី</translation>
 <translation id="4196597275619698563">បង្កើត​​កាត</translation>
@@ -659,6 +662,7 @@
 <translation id="4678082183394354975">​រចនាប័ទ្ម​ងងឹតសម្រាប់គេហទំព័រត្រូវបានបើកនៅក្នុង Chrome</translation>
 <translation id="4684427112815847243">ធ្វើសមកម្មគ្រប់យ៉ាង</translation>
 <translation id="4685741273709472646">ជ្រើសរើស​ពី​បញ្ជី​ធ្លាក់ចុះ</translation>
+<translation id="4687718960473379118">ការផ្សាយពាណិជ្ជកម្មដែលបាន​ណែនាំ​ដោយ​គេហទំព័រ</translation>
 <translation id="4695891336199304370">{SHIPPING_OPTIONS,plural, =1{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 និង <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ទៀត}other{<ph name="SHIPPING_OPTION_PREVIEW" />\u2026 និង <ph name="NUMBER_OF_ADDITIONAL_SHIPPING_OPTIONS" /> ទៀត}}</translation>
 <translation id="4699172675775169585">រូបភាព និងឯកសារដែលផ្ទុកក្នុងឃ្លាំងសម្ងាត់</translation>
 <translation id="4719927025381752090">ផ្តល់ជូន​ការ​បកប្រែ</translation>
@@ -937,6 +941,7 @@
 <translation id="6193448654517602979">ជ្រើសរើសផ្ទាំង</translation>
 <translation id="6196315980958524839">ពាក្យសម្ងាត់ត្រូវបានរក្សាទុកទៅក្នុងកម្មវិធីគ្រប់គ្រង​ពាក្យសម្ងាត់ Google នៅលើឧបករណ៍នេះ</translation>
 <translation id="6202812185118613467">ចូល​គណនី​វិញ ដើម្បី​ចាប់ផ្ដើម​ធ្វើសមកាលកម្ម</translation>
+<translation id="6205314730813004066">ឯកជនភាពការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="6210748933810148297">មិនមែន <ph name="EMAIL" /> ទេ?</translation>
 <translation id="6211386937064921208">កំពុងមើល​ទំព័រនេះ​សាកល្បង</translation>
 <translation id="6221633008163990886">ដោះសោ​ដើម្បី​នាំពាក្យ​សម្ងាត់​របស់​អ្នកចេញ</translation>
@@ -1167,6 +1172,7 @@
 <translation id="7375125077091615385">ប្រភេទ៖</translation>
 <translation id="7376560087009844242">តាមរយៈ​ការរួមបញ្ចូល​អត្ថបទរបស់ទំព័រ​បន្ថែម អ្នកអាចមើលឃើញ​លទ្ធផលប្រសើរជាងមុន នៅពេលប្រើ​មុខងារ​ចុចដើម្បីស្វែងរក។ អ្នកអាចចូលទៅកាន់<ph name="BEGIN_LINK" />ការកំណត់<ph name="END_LINK" /> ដើម្បីផ្លាស់ប្ដូរ​ជម្រើសនេះ​បានជានិច្ច។</translation>
 <translation id="7379900596734708416">អាចប្រើ​រចនាប័ទ្ម​ងងឹត​សម្រាប់គេហទំព័របាន</translation>
+<translation id="7388615499319468910">គេហទំព័រ និង​អ្នក​ផ្សាយ​ពាណិជ្ជកម្ម​អាច​ដឹងថាការ​ផ្សាយ​ពាណិជ្ជកម្មដំណើរការយ៉ាងម៉េចដែរ។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="7400418766976504921">URL</translation>
 <translation id="7403691278183511381">បទពិសោធន៍​ដំណើរការ​ដំបូងរបស់ Chrome</translation>
 <translation id="7411224099004328643">អ្នកប្រើប្រាស់គណនី Google</translation>
@@ -1178,6 +1184,7 @@
 <translation id="7443901082822119557">នៅពេល​ប្រើមុខងារឯកជន គេហទំព័រមិន​អាចប្រើ​ខូគីរបស់អ្នក ដើម្បីមើល​សកម្មភាព​រុករក​តាមអ៊ីនធឺណិត​របស់អ្នក​នៅលើ​គេហទំព័រ​ផ្សេងៗ ឧទាហរណ៍ ដើម្បីកំណត់​ការផ្សាយ​ពាណិជ្ជកម្ម​ឱ្យ​ស្របនឹងអ្នកបានទេ។ មុខងារ​នៅលើ​គេហទំព័រ​មួយចំនួន​អាចដំណើរការ​មិន​ត្រឹមត្រូវ។</translation>
 <translation id="7453467225369441013">ធ្វើឱ្យអ្នកចេញពី​ទំព័រភាគច្រើន។ អ្នកនឹង​មិនត្រូវបាននាំចេញ​ពីគណនី Google របស់អ្នកទេ។</translation>
 <translation id="7454641608352164238">ទំហំផ្ទុក​មិនគ្រប់គ្រាន់​ទេ</translation>
+<translation id="7455988709578031708">ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នក។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="7456774706094330779">ការផ្ទុកជាមុន​បន្ថែម</translation>
 <translation id="7474822150871987353">ស្វែងយល់អំពី​ប្រធានបទនៅលើ​គេហទំព័រដោយមិន​ចាំបាច់ចាកចេញ​ពីទំព័រ។ ជ្រើសរើសពាក្យមួយ ឬច្រើននៅលើទំព័រនេះ ដើម្បីស្វែងរកពាក្យនោះ។</translation>
 <translation id="7475192538862203634">ប្រសិនបើអ្នកឃើញវាជាប្រចាំ សូមសាកល្បង<ph name="BEGIN_LINK" />ការផ្តល់យោបល់<ph name="END_LINK" />ទាំងនេះ។</translation>
@@ -1491,9 +1498,11 @@
 <translation id="9081543426177426948">គេហទំព័រ​ដែលអ្នកចូលមើល​មិនត្រូវបាន​រក្សាទុក​នៅក្នុងមុខងារ​ឯកជនទេ</translation>
 <translation id="9086302186042011942">កំពុងធ្វើសមកម្ម</translation>
 <translation id="9086455579313502267">មិនអាចចូលប្រើបណ្តាញ</translation>
+<translation id="9099220545925418560">ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នក។ ការកំណត់​នេះត្រូវបាន​បិទ។</translation>
 <translation id="9100610230175265781">តម្រូវឲ្យមានឃ្លាសម្ងាត់</translation>
 <translation id="9101137867221042551">ការ​គ្រប់គ្រង</translation>
 <translation id="9102803872260866941">ផ្ទាំងមើលសាកល្បងបានបើក</translation>
+<translation id="9102864637938129124">គេហទំព័រ និង​អ្នក​ផ្សាយ​ពាណិជ្ជកម្ម​អាច​ដឹងថាការ​ផ្សាយ​ពាណិជ្ជកម្មដំណើរការយ៉ាងម៉េចដែរ។ ការកំណត់​នេះ​ត្រូវ​បានបើក។</translation>
 <translation id="9104217018994036254">បញ្ជី​ឧបករណ៍​ដែលត្រូវ​ចែករំលែក​ផ្ទាំងជាមួយ។</translation>
 <translation id="9106148373857059373">លំហូរនៃការរក្សាទុកចំណាំបានបិទ</translation>
 <translation id="9108312223223904744">ជំនួយក្នុងការដំឡើងទូរសព្ទ​ធ្វើជាសោសុវត្ថិភាព</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
index 360f18ea..91632c3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
@@ -1079,7 +1079,7 @@
 <translation id="6903907808598579934">Шайкештирүүнү күйгүзүү</translation>
 <translation id="6908998565271542516">Вебсайтты ырастоо же ырастабоо параметри толук экранда ачылды</translation>
 <translation id="6909589135458168665">Барактарды алдын ала жүктөө</translation>
-<translation id="6942665639005891494">Жүктөлүп алынгандар үчүн демейки папканы каалаган убакта "Жөндөөлөр" менюсунан өзгөртүңүз</translation>
+<translation id="6942665639005891494">Жүктөлүп алынгандар үчүн демейки папканы каалаган убакта "Параметрлер" менюсунан өзгөртүңүз</translation>
 <translation id="694267552845942083">Учурда Шайкештирүү жөндөөлөрүн ыңгайлаштырып жатасыз. Шайкештирүүнү күйүгүзүү үчүн экрандын ылдый жагында жайгашкан "Ырастоо" баскычын таптап коюңуз. Мурунку экранга өтүү</translation>
 <translation id="6945221475159498467">Тандаңыз</translation>
 <translation id="6955535239952325894">Бул жөндөө көзөмөлдөнгөн серепчилерде өчүрүлгөн</translation>
@@ -1348,7 +1348,7 @@
 <translation id="8419244640277402268">Камтылсын</translation>
 <translation id="8424781820952413435">Барак жөнөтүлдү. Аны көрүү үчүн Chrome'ду <ph name="DEVICE_TYPE" /> ачыңыз</translation>
 <translation id="8427875596167638501">Алдын ала көрүү өтмөгүнүн жарымы жабык</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8430824733382774043">Скриншотту гана бөлүшүү</translation>
 <translation id="8438566539970814960">Издөө жана серептөө аракеттериңизди жакшыртыңыз</translation>
 <translation id="8439974325294139057"><ph name="LANG" /> - Тил жүктөлүп алынды. <ph name="APP_NAME" /> колдонмосун өчүрүп күйгүзүңүз.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
index f4d321d..bd0392e9c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
@@ -277,6 +277,7 @@
 <translation id="2569733278091928697">Galėsite lengvai valdyti medijos valdiklius, inkognito režimo seansus, atsisiuntimus ir kt.</translation>
 <translation id="2571711316400087311">Siūlyti siųsti puslapius kitomis kalbomis į „Google“ vertėją</translation>
 <translation id="2573452357057307036">Sužinokite, kaip nustatyti „Chrome“ kaip numatytąją naršyklę</translation>
+<translation id="257470231920177468">Įjungus čia rodomas svetainių, kuriose lankotės ir kurios daro prielaidas apie jūsų pomėgius, sąrašas.</translation>
 <translation id="2580436639406015883">Šlamšto ir apgaulių siekiama sumažinti pasikliaujant privačiais prieigos raktais, kurie padeda svetainėms išvengti apgaulių bei atskirti robotus nuo žmonių.
 
 Remiantis jūsų sąveika su svetaine, pvz., reguliariais prisijungimais prie paskyros, svetainė gali išduoti privatų prieigos raktą jūsų naršyklei. Vėliau, jei kitos svetainės, kuriose lankotės, tikrins, ar nėra galiojančio privataus prieigos rakto, ir jį ras, labiau tikėtina, kad jos jus laikys žmogumi, o ne robotu.
@@ -573,6 +574,7 @@
 <translation id="4195643157523330669">Atidaryti naujame skirtuke</translation>
 <translation id="4196597275619698563">Sukurti kortelę</translation>
 <translation id="4198423547019359126">Nėra pasiekiamų atsisiuntimo vietų</translation>
+<translation id="4202218894997543208">Jūsų užblokuotos temos</translation>
 <translation id="4214315110991671325">Jei leisite slapukus, „Chrome“ gali naudoti juos iš anksto įkeldama puslapius.</translation>
 <translation id="4225895483398857530">Įrankių juostos spartusis klavišas</translation>
 <translation id="4242533952199664413">Atidaryti nustatymus</translation>
@@ -604,6 +606,7 @@
 <translation id="4405224443901389797">Perkelti į…</translation>
 <translation id="4405636711880428279">Pašalinti virtualiąją kortelę?</translation>
 <translation id="4409271659088619928">Jūsų paieškos variklis yra „<ph name="DSE" />“. Peržiūrėkite jo instrukcijas, kaip ištrinti paieškos istoriją (jei taikoma).</translation>
+<translation id="441383202534727410">Gali užtrukti iki savaitės, kol čia bus pateiktas naršymo istorija pagrįstas svetainių sąrašas.</translation>
 <translation id="4415276339145661267">„Google“ paskyros tvarkymas</translation>
 <translation id="4425140285732600465">Kaina stebima. Gaukite įspėjimus, jei kaina bus sumažinta bet kurioje svetainėje.</translation>
 <translation id="442518031075347249">Nebegalėsite naudoti virtualiosios kortelės su „Google Pay“. <ph name="BEGIN_LINK1" />Sužinokite daugiau apie virtualiąsias korteles<ph name="END_LINK1" /></translation>
@@ -1240,6 +1243,7 @@
 <translation id="7851858861565204677">Kiti įrenginiai</translation>
 <translation id="7853202427316060426">Veikla</translation>
 <translation id="7859988229622350291">Niekada neversti</translation>
+<translation id="7864208933699511058">Tai, ar naršant rodomi suasmeninti skelbimai, priklauso nuo šio nustatymo, <ph name="BEGIN_LINK_1" />svetainėje siūlomų skelbimų<ph name="END_LINK_1" />, <ph name="BEGIN_LINK_2" />slapukų nustatymų<ph name="END_LINK_2" /> ir svetainės, kurioje lankotės, t. y. ar ji teikia suasmenintus skelbimus.</translation>
 <translation id="7866213166286285359">Verskite puslapius čia</translation>
 <translation id="78707286264420418">„<ph name="PRODUCT_NAME" />“ reikalingas įrenginių netoliese leidimas, kad galėtų prisijungti prie įrenginio</translation>
 <translation id="7875915731392087153">Kurti el. laišką</translation>
@@ -1332,6 +1336,7 @@
 <translation id="829672787777123339">Prisijungiama prie įrenginio…</translation>
 <translation id="8310344678080805313">Įprasti skirtukai</translation>
 <translation id="831192587911042850">Dabartinė svetainė pridedama prie stebimų svetainių sąrašo.</translation>
+<translation id="8333340769932050274">Galite blokuoti temas, kurių nenorite bendrinti su svetainėmis. „Chrome“ taip pat automatiškai ištrina senesnes nei keturių savaičių temas. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
 <translation id="834313815369870491">Niekada neversti svetainių</translation>
 <translation id="8349795646647783032"><ph name="BEGIN_BOLD" />Kaip naudojame šiuos duomenis:<ph name="END_BOLD" /> svetainėse gali būti renkama su „Chrome“ susijusi informacija apie jūsų pomėgius. Pavyzdžiui, jei apsilankote svetainėje norėdami įsigyti batelius maratonui, svetainė gali prie jūsų pomėgių prisikirti maratonų bėgimą. Vėliau, apsilankius kitoje svetainėje norint užsiregistruoti į lenktynes, atsižvelgiant į jūsų pomėgius joje galės būti rodomas bėgimo batelių skelbimas.</translation>
 <translation id="8354977102499939946">Sparčiai ieškokite balsu. Jei norite redaguoti šį spartųjį klavišą, eikite į skiltį „Nustatymai“.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
index 41e61945..cd13d5f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">Google-doodle: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">Leseliste</translation>
 <translation id="1266864766717917324">Kunne ikke dele <ph name="CONTENT_TYPE" /></translation>
+<translation id="1273937721055267968">Blokker <ph name="DOMAIN" /></translation>
 <translation id="1283039547216852943">Trykk for å vise</translation>
 <translation id="1285310382777185058">Bytt språk</translation>
 <translation id="1291207594882862231">Slett loggoppføringer, informasjonskapsler, nettstedsdata, bufferen …</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">Nett- og appaktivitet</translation>
 <translation id="2239812875700136898">Styr nyhetssakene dine via Alternativer for Discover-knappen</translation>
 <translation id="2248941474044011069">Passordene dine krypteres på enheten før de lagres i Google Passordlagring</translation>
+<translation id="2249635629516220541">Tilpass informasjonen som brukes av nettsteder for å vise deg annonser</translation>
 <translation id="2259659629660284697">Eksportér passord</translation>
 <translation id="2276231040576210443">Du kan når som helst velge hva du vil synkronisere, i <ph name="BEGIN_LINK1" />innstillingene<ph name="END_LINK1" />. Google kan gi Søk og andre tjenester personlig preg basert på loggen din.</translation>
 <translation id="2276696007612801991">Logg på Google-kontoen din for å sjekke passordene dine</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">Kortnummer</translation>
 <translation id="2625189173221582860">Passordet er kopiert</translation>
 <translation id="2642087927315268160">Påloggingsfeltet nederst er lukket.</translation>
+<translation id="2643064289437760082">Du kan alltid slette målingsdata for annonser ved å slette nettlesingsdataene dine</translation>
 <translation id="2647434099613338025">Legg til språk</translation>
 <translation id="2649068648233607930">Nettleseren administreres av <ph name="DOMAIN" /></translation>
 <translation id="2650348088770008516">Forklaringen til personvernveiledningen er lukket</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />Få hjelp<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">Sporer prisen</translation>
 <translation id="3037517125981011456">Viser beskjeder om å logge på Chrome</translation>
+<translation id="3038272154009688107">Se alle nettsteder</translation>
 <translation id="3046945242843292318">Åpne dette nettstedet raskere neste gang</translation>
 <translation id="3055113921564083271">Interesser du har fjernet</translation>
 <translation id="3055259925215945098">Bokmerket er flyttet</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">Logg på Chrome</translation>
 <translation id="3285080554353377245">Videoer om hvordan du bruker Chrome</translation>
 <translation id="3290249595466894471">Sender også et lite utvalg av sider, nedlastinger, utvidelsesaktivitet og systeminformasjon for å bidra til å oppdage nye trusler</translation>
+<translation id="3293181007446299124">Nettleserloggen din holdes privat på enheten din, og rapporter sendes med en forsinkelse for å beskytte identiteten din</translation>
 <translation id="3297344142967351106">Talehjelp</translation>
 <translation id="3303414029551471755">Vil du gå videre med å laste ned innholdet?</translation>
 <translation id="3305795716056605962">Oversett sider fra Flere alternativer-knappen</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">Synkroniseringen har sluttet å fungere</translation>
 <translation id="3976396876660209797">Fjern denne snarveien, og opprett den på nytt</translation>
 <translation id="3981902534690264083">Annonsører kan forstå hvordan annonsene deres presterer</translation>
+<translation id="3985022125189960801">Legg til et nettsted igjen hvis du vil ha det i gruppen med nettsteder som kan gjette hva du liker</translation>
 <translation id="3985215325736559418">Vil du laste ned <ph name="FILE_NAME" /> igjen?</translation>
 <translation id="3987993985790029246">Kopiér link</translation>
 <translation id="3999683152997576765">Du kan se og fjerne interesseemnene som nettsteder bruker for å vise deg annonser. Chrome anslår interessene dine basert på den nylige nettleserloggen din.</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">Følger …</translation>
 <translation id="4335835283689002019">Safe Browsing er av</translation>
 <translation id="4351244548802238354">Lukk dialogboks</translation>
+<translation id="4369735607080757018">Begrensede datatyper deles mellom nettsteder for å måle resultatene for annonsene, for eksempel når på dagen en annonse ble vist for deg</translation>
 <translation id="4378154925671717803">Telefon</translation>
 <translation id="438319986296050901">Del kun kort</translation>
 <translation id="4384468725000734951">Bruker Sogou til å søke</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">Via Wifi og mobildata</translation>
 <translation id="4508528996305412043">Feedkortmenyen er åpnet</translation>
 <translation id="4508642716788467538">Velg språk</translation>
+<translation id="4509501256689523862">Om en annonse du ser har et personlig preg avhenger av denne innstillingen, <ph name="BEGIN_LINK_1" />Annonseemner<ph name="END_LINK_1" />, <ph name="BEGIN_LINK_2" />innstillingene for informasjonskapsler<ph name="END_LINK_2" /> og om nettstedet du ser på viser personlig tilpassede annonser</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{for # dag siden}other{for # dager siden}}</translation>
 <translation id="451872707440238414">Søk i bokmerkene dine</translation>
 <translation id="4521489764227272523">De valgte dataene er er fjernet fra Chrome og de synkroniserte enhetene dine.
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">Kallenavnet kan ikke inneholde tall</translation>
 <translation id="4663499661119906179">Se anbefalte nettsteder og nyhetssaker for deg</translation>
 <translation id="4663756553811254707"><ph name="NUMBER_OF_BOOKMARKS" /> bokmerker ble slettet</translation>
+<translation id="4668279686271488041">Data om annonsemålinger slettes regelmessig fra enheten din.</translation>
 <translation id="4668347365065281350">Alle data som er lagret av nettsteder, inkludert informasjonskapsler og andre lokalt lagrede data</translation>
 <translation id="4678082183394354975">Mørkt tema for nettsteder er påslått i Chrome</translation>
 <translation id="4684427112815847243">Synkroniser alt</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">Snart ser du artikler fra <ph name="SITE_NAME" /> når du åpner nye faner. Nettstedene du følger, lagres i Google-kontoen din. Du kan administrere dem i innstillingene for Discover.</translation>
 <translation id="5091249083535528968">Utvidede bruksdata</translation>
 <translation id="509429900233858213">Det oppsto en feil.</translation>
+<translation id="5097349930204431044">Nettstedene du besøker, kan bestemme hva du liker, og deretter foreslå annonser ved kontinuerlig lesing</translation>
 <translation id="5099845111805573968">Når du velger nettsted for datamaskiner én gang, brukes innstillingen for nettstedet hver gang du besøker det</translation>
 <translation id="5102401324271069229">Hvis nettsteder prøver å stjele passordet ditt, eller når du laster ned skadelige filer, kan Chrome sende nettadresser, inkludert deler av sideinnholdet, til Safe Browsing</translation>
 <translation id="510275257476243843">1 time igjen</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">Fane</translation>
 <translation id="666731172850799929">Åpne i <ph name="APP_NAME" /></translation>
 <translation id="6671495933530132209">Kopiér bildet</translation>
+<translation id="6672917148207387131">Legg til <ph name="DOMAIN" /></translation>
 <translation id="6674571176963658787">For å starte synkroniseringen, skriv inn passordfrasen din</translation>
 <translation id="6676840375528380067">Vil du fjerne Chrome-dataene dine fra denne enheten?</translation>
 <translation id="6676927815633975364">Logg på dette nettstedet og Chrome</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">Tillat en interesse eller et nettsted hvis du tror at annonser relatert til det aktuelle elementet hadde vært nyttige for deg</translation>
 <translation id="6738516213925468394">Dataene dine ble kryptert med <ph name="BEGIN_LINK" />passordfrasen for synkronisering<ph name="END_LINK" /> <ph name="TIME" />. Skriv den inn for å starte synkroniseringen.</translation>
 <translation id="6738867403308150051">Laster ned …</translation>
+<translation id="674388916582496364">Det er vanlig at nettsteder du besøker, husker ting du er interessert i, for å gi opplevelsen din personlig preg. Nettsteder kan også lagre informasjon om interessene dine i Chrome.</translation>
 <translation id="6751521182688001123">Åpner raskt en ny fane. Trykk og hold for å redigere denne snarveien.</translation>
 <translation id="6756507620369789050">Gi tilbakemelding</translation>
 <translation id="6767294960381293877">Listen over enheter du kan dele faner med, er åpnet i halv høyde.</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">Slett bokmerker</translation>
 <translation id="696447261358045621">Avslutt Inkognitomodus</translation>
 <translation id="6971862865055170158">Ikke godkjenn</translation>
+<translation id="6978717888677691380">Nettsteder du har blokkert</translation>
 <translation id="6979737339423435258">Alle datoer</translation>
 <translation id="6987047470128880212">Inkognito er ikke tilgjengelig på denne enheten</translation>
 <translation id="6995899638241819463">Få en advarsel hvis passord blir avdekket i databrudd</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">Stilisert fremheving <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">Kontroller at <ph name="TARGET_DEVICE_NAME" /> har synkronisering påslått i Chrome</translation>
 <translation id="7252076891734325316">Plassér telefonen i nærheten av datamaskinen</translation>
+<translation id="7260367682327802201">Android-enheten din kan ha en lignende innstilling. Hvis måling av annonser er slått på i Chrome og på Android-enheten din, kan et selskap måle effektiviteten til en annonse på alle nettsteder du besøker og apper du bruker.</translation>
 <translation id="727288900855680735">Vil du sende inn <ph name="ONE_TIME_CODE" /> til <ph name="ORIGIN" />?</translation>
 <translation id="7274013316676448362">Blokkert nettsted</translation>
 <translation id="7286572596625053347">Vil du bytte til <ph name="LANGUAGE" />?</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">Her vises artikler, som du kan lese selv om du er uten nett</translation>
 <translation id="768232549260819724">GIF-en er kopiert</translation>
 <translation id="7682724950699840886">Prøv dette: Sørg for at det er nok plass på enheten, og prøv å eksportere på nytt.</translation>
+<translation id="7686086654630106285">Mer om annonser som foreslås på nettstedet</translation>
 <translation id="768618399695552958">Noen av sidene du besøker, er forhåndslastede. Sider kan bli forhåndslastet via Googles tjenere når de er linket på Google-nettsteder.</translation>
 <translation id="7698359219371678927">Opprett en e-post i <ph name="APP_NAME" /></translation>
 <translation id="7704317875155739195">Autofullfør søk og nettadresser</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">Skriv inn en riktig formatert nettadresse</translation>
 <translation id="854522910157234410">Åpne denne siden</translation>
 <translation id="8551513938758868521">Lås inkognitofaner når du går ut av Chrome</translation>
+<translation id="8559961053328923750">Chrome begrenser den totale mengden data nettsteder kan dele via nettleseren for å måle annonseresultater</translation>
 <translation id="8559990750235505898">Tilby å oversette sider på andre språk</translation>
 <translation id="8560602726703398413">Finn leselisten din i Bokmerker</translation>
 <translation id="8562452229998620586">Lagrede passord listes opp her.</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">Behandler forespørselen</translation>
 <translation id="8788265440806329501">Navigasjonsloggen er lukket</translation>
 <translation id="8788968922598763114">Åpne den sist lukkede fanen på nytt</translation>
+<translation id="879027982257117598">Hvis du for eksempel besøker et nettsted som selger joggesko for langdistanseturer, kan det hende at nettstedet bestemmer seg for at du er interessert i å løpe maraton. Hvis du senere besøker et annet nettsted, kan det aktuelle nettstedet vise deg en annonse for joggesko som er foreslått av det første nettstedet.</translation>
 <translation id="8798449543960971550">Lest</translation>
 <translation id="8803526663383843427">Når funksjonen er på</translation>
 <translation id="8805097383171548551">For å skanne QR-koder, bruk en enhet med kamera.</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">Velg en annen leverandør</translation>
 <translation id="8998729206196772491">Du logger på med en konto som administreres av <ph name="MANAGED_DOMAIN" />, og du gir administratoren for dette domenet kontroll over Chrome-dataene dine. Dataene dine blir permanent knyttet til denne kontoen. Når du logger av Chrome, slettes dataene dine fra denne enheten, men de fortsetter å være lagret i Google-kontoen din.</translation>
 <translation id="9022774213089566801">Ofte besøkte</translation>
+<translation id="9022871169049522985">Nettsteder og annonsører kan måle annonseresultater sine</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# video}other{# videoer}}</translation>
 <translation id="9042893549633094279">Personvern og sikkerhet</translation>
 <translation id="9050666287014529139">Passordfrase</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">Telefon som støtte for sikkerhetsnøkkel</translation>
 <translation id="9108808586816295166">Sikker DNS er kanskje ikke tilgjengelig hele tiden</translation>
 <translation id="9128984223251192329">Privacy Sandbox-forespørselen er åpnet i halv høyde</translation>
+<translation id="9131209053278896908">Blokkerte nettsteder her</translation>
 <translation id="9133397713400217035">Utforsk uten nett</translation>
 <translation id="9148126808321036104">Logg på igjen</translation>
 <translation id="9158770349521403363">Del kun innhold</translation>
 <translation id="9159716826369098114">Gjenopprett fanegruppen med <ph name="TAB_COUNT" /> faner som en ny bakgrunnsfanegruppe.</translation>
 <translation id="9169507124922466868">Navigasjonshistorikken er halvveis åpnet</translation>
+<translation id="9183331776983279456">Chrome sletter automatisk nettsteder som er eldre enn fire uker. Et nettsted som du besøker på nytt, kan havne på listen igjen. Du kan også blokkere et nettsted fra å foreslå annonser for deg.</translation>
 <translation id="9190276265094487094">Du får loggen din på alle synkroniserte enheter, slik at du kan fortsette med det du holdt på med</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{Sjekket for ett minutt siden}other{Sjekket for # minutter siden}}</translation>
 <translation id="9204836675896933765">1 fil gjenstår</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">Vil du se den forenklede siden?</translation>
 <translation id="968900484120156207">Sider du besøker, vises her</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> minutter igjen</translation>
+<translation id="978317418833355355">Du kan blokkere nettsteder du ikke vil ha. Chrome sletter også automatisk nettsteder som er eldre enn fire uker fra listen. <ph name="BEGIN_LINK" />Finn ut mer<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">Uten nett</translation>
 <translation id="983192555821071799">Lukk alle faner</translation>
 <translation id="987264212798334818">Generelt</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
index b97f1995..dc98276 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -279,6 +279,7 @@
 <translation id="2569733278091928697">Vai poder gerir facilmente controlos de multimédia, sessões de Navegação anónima, transferências e muito mais</translation>
 <translation id="2571711316400087311">Disponibilizar-se para enviar páginas noutros idiomas para o Google Tradutor</translation>
 <translation id="2573452357057307036">Saiba como definir o Chrome como o seu navegador predefinido</translation>
+<translation id="257470231920177468">Quando a opção está ativada, é apresentada aqui uma lista de sites que visita e que adivinham os seus interesses.</translation>
 <translation id="2580436639406015883">A redução de spam e fraudes depende de símbolos de estado privados para ajudar os sites a combater fraudes e distinguir bots de pessoas.
 
 Com base na sua interação com um site, como iniciar sessão regularmente numa conta, esse site pode emitir um símbolo de estado privado para o seu navegador. Posteriormente, se outros sites que visitar verificarem e encontrarem um símbolo de estado privado válido, é mais provável que tratem o utilizador como uma pessoa e não como um bot.
@@ -582,6 +583,7 @@
 <translation id="4195643157523330669">Abrir num novo separador</translation>
 <translation id="4196597275619698563">Criar cartão</translation>
 <translation id="4198423547019359126">Não existem localizações de transferência disponíveis.</translation>
+<translation id="4202218894997543208">Tópicos que bloqueou</translation>
 <translation id="4214315110991671325">Se permitir cookies, o Chrome pode utilizá-los para o pré-carregamento.</translation>
 <translation id="4225895483398857530">Atalho da barra de ferramentas</translation>
 <translation id="4242533952199664413">Abrir definições</translation>
@@ -614,6 +616,7 @@
 <translation id="4405224443901389797">Mover para…</translation>
 <translation id="4405636711880428279">Remover o seu cartão virtual?</translation>
 <translation id="4409271659088619928">O seu motor de pesquisa é o <ph name="DSE" />. Se aplicável, consulte as instruções para eliminar o histórico de pesquisas.</translation>
+<translation id="441383202534727410">Pode demorar até uma semana para que uma lista de sites seja apresentada aqui com base no seu histórico de navegação.</translation>
 <translation id="4415276339145661267">Gerir a sua Conta Google</translation>
 <translation id="4425140285732600465">A monitorizar o preço. Obtenha alertas se o preço descer em qualquer site.</translation>
 <translation id="442518031075347249">Vai deixar de poder utilizar o seu cartão virtual com o Google Pay. <ph name="BEGIN_LINK1" />Saiba mais sobre cartões virtuais<ph name="END_LINK1" /></translation>
@@ -1262,6 +1265,7 @@
 <translation id="7851858861565204677">Outros aparelhos</translation>
 <translation id="7853202427316060426">Atividade</translation>
 <translation id="7859988229622350291">Nunca traduzir</translation>
+<translation id="7864208933699511058">À medida que navega, a personalização de um anúncio que lhe é mostrado depende desta definição, dos <ph name="BEGIN_LINK_1" />anúncios sugeridos pelos sites<ph name="END_LINK_1" />, das <ph name="BEGIN_LINK_2" />definições de cookies<ph name="END_LINK_2" /> e de se o site que está a ver personaliza os anúncios.</translation>
 <translation id="7866213166286285359">Traduza páginas aqui</translation>
 <translation id="78707286264420418">O <ph name="PRODUCT_NAME" /> necessita da autorização Dispositivos próximos para estabelecer ligação ao seu dispositivo</translation>
 <translation id="7875915731392087153">Criar email</translation>
@@ -1354,6 +1358,7 @@
 <translation id="829672787777123339">A ligar ao seu dispositivo…</translation>
 <translation id="8310344678080805313">Separadores padrão</translation>
 <translation id="831192587911042850">Adiciona o Website atual à lista de Websites que está a seguir</translation>
+<translation id="8333340769932050274">Pode bloquear os tópicos que não quer partilhar com os sites. O Chrome também apaga automaticamente os tópicos com mais de 4 semanas. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="834313815369870491">Nunca traduzir sites</translation>
 <translation id="8349795646647783032"><ph name="BEGIN_BOLD" />Como usamos estes dados:<ph name="END_BOLD" /> os sites podem armazenar informações no Chrome sobre os seus interesses. Por exemplo, se visitar um site para comprar ténis para uma maratona, o site pode definir "correr maratonas" como o seu interesse. Posteriormente, se visitar um site diferente para se inscrever numa corrida, esse site pode mostrar-lhe um anúncio de ténis de corrida com base nos seus interesses.</translation>
 <translation id="8354977102499939946">Pesquise com a sua voz rapidamente. Para editar este atalho, aceda às Definições.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
index 5582642..cf526c9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">Sviatočné logo Google: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">Čitateľský zoznam</translation>
 <translation id="1266864766717917324"><ph name="CONTENT_TYPE" /> sa nepodarilo zdieľať</translation>
+<translation id="1273937721055267968">Blokovať <ph name="DOMAIN" /></translation>
 <translation id="1283039547216852943">Klepnutím rozbaliť</translation>
 <translation id="1285310382777185058">Zmena jazyka</translation>
 <translation id="1291207594882862231">Vymazať históriu, súbory cookie, dáta webov, vyrovnávaciu pamäť…</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">Aktivita na internete a v aplikáciách</translation>
 <translation id="2239812875700136898">Ovládajte svoje príbehy po stlačení tlačidla Možnosti kanála Objaviť</translation>
 <translation id="2248941474044011069">Heslá sú šifrované v zariadení ešte pred ich uložením do správcu hesiel Google</translation>
+<translation id="2249635629516220541">Prispôsobenie informácií, na základe ktorých weby zobrazujú reklamy</translation>
 <translation id="2259659629660284697">Exportovať heslá…</translation>
 <translation id="2276231040576210443">Položky, ktoré chcete synchronizovať, môžete kedykoľvek vybrať v <ph name="BEGIN_LINK1" />nastaveniach<ph name="END_LINK1" />. Google môže prispôsobiť Vyhľadávanie a ďalšie služby na základe vašej histórie.</translation>
 <translation id="2276696007612801991">Ak si chcete skontrolovať heslá, prihláste sa do svojho účtu Google</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">Číslo karty</translation>
 <translation id="2625189173221582860">Heslo bolo skopírované.</translation>
 <translation id="2642087927315268160">Dolný hárok prihlásenia je zavretý.</translation>
+<translation id="2643064289437760082">Údaje merania reklám môžete kedykoľvek odstrániť vymazaním dát prehliadania</translation>
 <translation id="2647434099613338025">Pridať jazyk</translation>
 <translation id="2649068648233607930">Váš prehliadač spravuje <ph name="DOMAIN" /></translation>
 <translation id="2650348088770008516">Vysvetlenie sprievodcu ochranou súkromia je zavreté</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />Získať pomoc<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">Cenu sledujete</translation>
 <translation id="3037517125981011456">Zobrazí výzvy na prihlásenie do Chromu</translation>
+<translation id="3038272154009688107">Zobraziť všetky weby</translation>
 <translation id="3046945242843292318">Nabudúce prejdite na tento web rýchlejšie</translation>
 <translation id="3055113921564083271">Záujmy, ktoré ste odstránili</translation>
 <translation id="3055259925215945098">Záložka bola premiestnená</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">Prihlásiť sa do Chromu</translation>
 <translation id="3285080554353377245">Videá, ako používať Chrome</translation>
 <translation id="3290249595466894471">Odosiela aj malú vzorku stránok, stiahnutých súborov, aktivity rozšírení a informácií o systéme, čím pomáha zisťovať nové hrozby</translation>
+<translation id="3293181007446299124">Vaša história prehliadania je v zariadení uchovaná v súkromí a hlásenia sa z dôvodu ochrany vašej totožnosti odosielajú s oneskorením</translation>
 <translation id="3297344142967351106">Hlasová pomoc</translation>
 <translation id="3303414029551471755">Pokračovať a stiahnuť obsah?</translation>
 <translation id="3305795716056605962">Tlačidlo na preklad stránok v ponuke Ďalšie možnosti</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">Synchronizácia prestala fungovať</translation>
 <translation id="3976396876660209797">Odstráňte túto skratku a znova ju vytvorte</translation>
 <translation id="3981902534690264083">Inzerenti môžu zistiť, akú výkonnosť dosahujú reklamy</translation>
+<translation id="3985022125189960801">Ak chcete, aby bol web v skupine webov, ktoré dokážu určiť, čo sa vám páči, pridajte ho späť</translation>
 <translation id="3985215325736559418">Chcete znova stiahnuť súbor <ph name="FILE_NAME" />?</translation>
 <translation id="3987993985790029246">Kopírovať odkaz</translation>
 <translation id="3999683152997576765">Môžete si prezrieť témy záujmu, pomocou ktorých vám weby zobrazujú reklamy, a odstrániť ich. Chrome odhaduje záujmy na základe nedávnej histórie prehliadania.</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">Sledované…</translation>
 <translation id="4335835283689002019">Bezpečné prehliadanie je vypnuté</translation>
 <translation id="4351244548802238354">Zavrieť dialógové okno</translation>
+<translation id="4369735607080757018">Medzi webmi sa zdieľajú obmedzené typy údajov na meranie výkonnosti reklám, napríklad čas dňa, kedy sa vám reklama zobrazila.</translation>
 <translation id="4378154925671717803">Telefón</translation>
 <translation id="438319986296050901">Zdieľať iba kartu</translation>
 <translation id="4384468725000734951">Na vyhľadávanie sa používa Sogou</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">Cez Wi-Fi alebo mobilné dáta</translation>
 <translation id="4508528996305412043">Ponuka karty feedu je otvorená</translation>
 <translation id="4508642716788467538">Vyberte jazyk</translation>
+<translation id="4509501256689523862">To, či je reklama zobrazená pri prehliadaní prispôsobená, závisí od <ph name="BEGIN_LINK_1" />tém reklamy<ph name="END_LINK_1" />, vašich <ph name="BEGIN_LINK_2" />nastavení súborov cookie<ph name="END_LINK_2" /> a od toho, či prehliadaný web prispôsobuje reklamy.</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{pred # dňom}few{pred # dňami}many{pred # dňom}other{pred # dňami}}</translation>
 <translation id="451872707440238414">Prehľadať záložky</translation>
 <translation id="4521489764227272523">Vybrané údaje boli odstránené z Chromu a vašich synchronizovaných zariadení.
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">Prezývka nemôže mať čísla</translation>
 <translation id="4663499661119906179">Zobraziť odporúčané najobľúbenejšie weby a správy</translation>
 <translation id="4663756553811254707">Počet odstránených záložiek: <ph name="NUMBER_OF_BOOKMARKS" /></translation>
+<translation id="4668279686271488041">Údaje merania reklám sa zo zariadenia pravidelne odstraňujú</translation>
 <translation id="4668347365065281350">Všetky dáta ukladané webmi vrátane súborov cookie a ďalších miestne uložených údajov</translation>
 <translation id="4678082183394354975">Tmavý motív pre weby je v Chrome zapnutý</translation>
 <translation id="4684427112815847243">Synchronizovať všetko</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">Keď otvoríte novú kartu, čoskoro sa vám budú zobrazovať príbehy z webu <ph name="SITE_NAME" />. Weby, ktoré sledujete, sa ukladajú do vášho účtu Google. Môžete ich spravovať v nastaveniach kanála Objaviť.</translation>
 <translation id="5091249083535528968">Rozšírené údaje o používaní</translation>
 <translation id="509429900233858213">Vyskytla sa chyba.</translation>
+<translation id="5097349930204431044">Weby, ktoré navštevujete, môžu určiť, čo sa vám páči, a na základe toho navrhovať počas vášho prehliadania reklamy</translation>
 <translation id="5099845111805573968">Keď raz vyberiete web pre počítače, toto nastavenie sa použije pri každej návšteve príslušného webu</translation>
 <translation id="5102401324271069229">Ak sa vám určitý web pokúsi ukradnúť heslo alebo stiahnete škodlivý súbor, Chrome môže odoslať Bezpečnému prehliadaniu webové adresy vrátane častí obsahu stránok</translation>
 <translation id="510275257476243843">Zostáva: 1 h</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">Karta</translation>
 <translation id="666731172850799929">Otvoriť v aplikácii <ph name="APP_NAME" /></translation>
 <translation id="6671495933530132209">Kopírovať obrázok</translation>
+<translation id="6672917148207387131">Pridať <ph name="DOMAIN" /></translation>
 <translation id="6674571176963658787">Ak chcete spustiť synchronizáciu, zadajte prístupovú frázu</translation>
 <translation id="6676840375528380067">Chcete vymazať údaje Chromu z tohto zariadenia?</translation>
 <translation id="6676927815633975364">Prihlásiť sa na tomto webe a v Chrome</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">Ak sa domnievate, že reklamy súvisia s položkou, ktorá by mohla byť pre váš užitočná, povoľte daný záujem alebo web</translation>
 <translation id="6738516213925468394">Vaše údaje boli <ph name="TIME" /> zašifrované pomocou <ph name="BEGIN_LINK" />prístupovej frázy synchronizácie<ph name="END_LINK" />. Synchronizácia sa spustí po jej zadaní.</translation>
 <translation id="6738867403308150051">Sťahuje sa...</translation>
+<translation id="674388916582496364">Je bežné, že navštívené weby si pamätajú veci, ktoré vás zaujímajú, aby vám mohli prispôsobiť prostredie. Weby môžu v Chrome ukladať aj údaje o vašich záujmoch.</translation>
 <translation id="6751521182688001123">Skratka na rýchle otvorenie novej karty. Ak ju chcete upraviť, pridržte ju.</translation>
 <translation id="6756507620369789050">Odoslať spätnú väzbu</translation>
 <translation id="6767294960381293877">Zoznam zariadení, s ktorými sa má zdieľať karta, je otvorený na polovičnú výšku.</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">Odstrániť záložky</translation>
 <translation id="696447261358045621">Ukončiť režim inkognito</translation>
 <translation id="6971862865055170158">Neschváliť</translation>
+<translation id="6978717888677691380">Weby, ktoré ste zablokovali</translation>
 <translation id="6979737339423435258">Celé obdobie</translation>
 <translation id="6987047470128880212">Režim inkognito nie je k dispozícii v tomto zariadení</translation>
 <translation id="6995899638241819463">Upozorňovať pri prezradení hesiel v rámci porušenia ochrany údajov</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">Štylizované zvýraznenie <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">Skontrolujte, či má <ph name="TARGET_DEVICE_NAME" /> v Chrome zapnutú synchronizáciu</translation>
 <translation id="7252076891734325316">Položte telefón k počítaču</translation>
+<translation id="7260367682327802201">Zariadenie s Androidom môže mať podobné nastavenie. Ak máte v Chrome a zariadení s Androidom zapnuté meranie reklám, príslušná firma môže merať účinnosť reklamy na weboch, ktoré navštevujete, aj v aplikáciách, ktoré používate.</translation>
 <translation id="727288900855680735">Chcete odoslať kód <ph name="ONE_TIME_CODE" /> do zdroja <ph name="ORIGIN" />?</translation>
 <translation id="7274013316676448362">Blokovaný web</translation>
 <translation id="7286572596625053347">Chcete zmeniť jazyk <ph name="LANGUAGE" />?</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">Tu sa zobrazia články, ktoré môžete čítať dokonca aj offline</translation>
 <translation id="768232549260819724">Gif bol skopírovaný</translation>
 <translation id="7682724950699840886">Skúste tieto tipy: Uistite sa, že máte v zariadení dosť miesta, a potom skúste znova spustiť exportovanie.</translation>
+<translation id="7686086654630106285">Ďalšie informácie o reklamách navrhovaných webmi</translation>
 <translation id="768618399695552958">Niektoré stránky, ktoré navštevujete, sú prednačítané. Stránky môžu byť prednačítané prostredníctvom serverov Googlu, keď s nimi prepojíte web Google.</translation>
 <translation id="7698359219371678927">Vytvorte správu v aplikácii <ph name="APP_NAME" /></translation>
 <translation id="7704317875155739195">Automaticky dopĺňať vyhľadávania a webové adresy</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">Zadajte správne naformátovanú webovú adresu</translation>
 <translation id="854522910157234410">Otvoriť túto stránku</translation>
 <translation id="8551513938758868521">Uzamknúť karty inkognito pri opustení Chromu</translation>
+<translation id="8559961053328923750">Chrome obmedzuje celkové množstvo údajov na meranie výkonnosti reklám, ktoré môžu weby zdieľať prostredníctvom prehliadača</translation>
 <translation id="8559990750235505898">Ponúkať preklad stránok v ďalších jazykoch</translation>
 <translation id="8560602726703398413">Čitateľský zoznam nájdete v záložkách</translation>
 <translation id="8562452229998620586">Tu sa zobrazia uložené heslá.</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">Žiadosť sa spracúva</translation>
 <translation id="8788265440806329501">História navigácie je zatvorená</translation>
 <translation id="8788968922598763114">Opätovné otvorenie poslednej zavretej karty</translation>
+<translation id="879027982257117598">Ak napríklad navštívite web predávajúci bežeckú obuv na dlhé trate, môže usúdiť, že máte záujem o behanie maratónov. Ak neskôr navštívite iný web, môže vám zobraziť reklamu na bežeckú obuv navrhnutú prvým webom.</translation>
 <translation id="8798449543960971550">Prečítané</translation>
 <translation id="8803526663383843427">Keď je funkcia zapnutá</translation>
 <translation id="8805097383171548551">Ak chcete nasnímať QR kód, použite zariadenie s kamerou.</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">Vybrať iného poskytovateľa</translation>
 <translation id="8998729206196772491">Prihlasujete sa pomocou účtu spravovaného doménou <ph name="MANAGED_DOMAIN" /> a jej správcovi tým dávate kontrolu nad svojimi údajmi Chromu. Vaše údaje budú natrvalo prepojené s týmto účtom. Odhlásením z Chromu odstránite údaje z príslušného zariadenia, avšak naďalej zostanú uložené vo vašom účte Google.</translation>
 <translation id="9022774213089566801">Často navštevované</translation>
+<translation id="9022871169049522985">Weby a inzerenti môžu merať výkonnosť svojich reklám</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# video}few{# videá}many{# Videos}other{# videí}}</translation>
 <translation id="9042893549633094279">Ochrana súkromia a zabezpečenie</translation>
 <translation id="9050666287014529139">Prístupová fráza</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">Podpora používania telefónu ako bezpečnostného kľúča</translation>
 <translation id="9108808586816295166">Zabezpečený systém DNS nemusí byť vždy k dispozícii</translation>
 <translation id="9128984223251192329">Výzva technológie Privacy Sandbox je otvorená na polovičnú výšku</translation>
+<translation id="9131209053278896908">Tu sa zobrazujú blokované weby</translation>
 <translation id="9133397713400217035">Preskúmať offline</translation>
 <translation id="9148126808321036104">Znova sa prihlásiť</translation>
 <translation id="9158770349521403363">Zdieľať iba obsah</translation>
 <translation id="9159716826369098114">Obnovte skupinu kariet s <ph name="TAB_COUNT" /> kartami ako novú skupinu kariet na pozadí.</translation>
 <translation id="9169507124922466868">História navigácie je dopoly otvorená</translation>
+<translation id="9183331776983279456">Chrome automaticky odstraňuje weby, ktoré sú staršie ako štyri týždne. Web, ktorý znova navštívite, sa môže v zozname opäť zobraziť. Prípadne môžete zablokovať navrhovanie reklám určitým webom.</translation>
 <translation id="9190276265094487094">Históriu budete mať vo všetkých synchronizovaných zariadeniach, takže budete môcť pokračovať v tom, čo ste robili</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{Kontrola prebehla pred minútou}few{Kontrola prebehla pred # minútami}many{Kontrola prebehla pred # minúty}other{Kontrola prebehla pred # minútami}}</translation>
 <translation id="9204836675896933765">Zostáva 1 súbor</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">Chcete zobraziť zjednodušenú stránku?</translation>
 <translation id="968900484120156207">Tu sa zobrazia vami navštívené stránky</translation>
 <translation id="970715775301869095">Zostáva: <ph name="MINUTES" /> min</translation>
+<translation id="978317418833355355">Nechcené weby môžete blokovať. Chrome automaticky odstraňuje zo zoznamu weby, ktoré sú staršie ako štyri týždne. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">Offline</translation>
 <translation id="983192555821071799">Zavrieť všetky karty</translation>
 <translation id="987264212798334818">Všeobecné</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
index 352924f3..9cb62023 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">Google doodle: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">پڑھنے کی فہرست</translation>
 <translation id="1266864766717917324"><ph name="CONTENT_TYPE" /> کا اشتراک نہیں کیا جا سکا</translation>
+<translation id="1273937721055267968"><ph name="DOMAIN" /> کو مسدود کریں</translation>
 <translation id="1283039547216852943">پھیلانے کیلئے تھپتھپائیں</translation>
 <translation id="1285310382777185058">زبان تبدیل کریں</translation>
 <translation id="1291207594882862231">سرگزشت، کوکیز، سائٹ ڈیٹا، کیش کو صاف کریں…</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">ویب اور ایپ سرگرمی</translation>
 <translation id="2239812875700136898">‏اختیارات برائے Discover بٹن سے اپنی کہانیاں کنٹرول کریں</translation>
 <translation id="2248941474044011069">‏آپ کے پاس ورڈز Google پاس ورڈ مینیجر میں محفوظ ہونے سے پہلے آپ کے آلے پر مرموز ہو جاتے ہیں</translation>
+<translation id="2249635629516220541">سائٹس کے ذریعے استعمال کردہ معلومات کو حسب ضرورت بنائیں تاکہ آپ کو اشتہارات دکھایا جا سکے</translation>
 <translation id="2259659629660284697">پاسورڈز برآمد کریں…</translation>
 <translation id="2276231040576210443">‏آپ کسی بھی وقت اس بات کا انتخاب کر سکتے ہیں کہ <ph name="BEGIN_LINK1" />ترتیبات<ph name="END_LINK1" /> میں کس چیز کی مطابقت پذیری کرنی ہے۔ Google آپ کی سرگزشت کی بنیاد پر تلاش اور دیگر سروسز کو ذاتی نوعیت کا بنا سکتا ہے۔</translation>
 <translation id="2276696007612801991">‏اپنے پاس ورڈز چیک کرنے کے لئے اپنے Google اکاؤنٹ میں سائن ان کریں</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">کارڈ نمبر</translation>
 <translation id="2625189173221582860">پاس ورڈ کاپی ہو گیا</translation>
 <translation id="2642087927315268160">سائن ان کرنے کے لیے نیچے کی شیٹ بند ہے۔</translation>
+<translation id="2643064289437760082">‏آپ اپنے براؤزنگ ڈیٹا کو حذف کر کے کبھی بھی Ad measurement ڈیٹا کو حذف کر سکتے ہیں</translation>
 <translation id="2647434099613338025">زبان شامل کریں</translation>
 <translation id="2649068648233607930">آپ کا براؤزر <ph name="DOMAIN" /> کے زیر انتظام ہے</translation>
 <translation id="2650348088770008516">رازداری کی گائیڈ کی وضاحت بند ہے</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />مدد حاصل کریں<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">قیمت ٹریک کی جا رہی ہے</translation>
 <translation id="3037517125981011456">‏Chrome میں سائن ان کرنے کے لیے پرامپٹس دکھاتا ہے</translation>
+<translation id="3038272154009688107">سبھی سائٹس دیکھیں</translation>
 <translation id="3046945242843292318">اگلی بار اس سائٹ تک زیادہ تیزی سے رسائی حاصل کریں</translation>
 <translation id="3055113921564083271">آپ کی ہٹائی گئی دلچسپیاں</translation>
 <translation id="3055259925215945098">بُک مارک منتقل کیا گیا</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">‏Chrome میں سائن ان کریں</translation>
 <translation id="3285080554353377245">‏Chrome استعمال کرنے کے طریقے سے متعلق ویڈیوز</translation>
 <translation id="3290249595466894471">نئے خطرات کا پتہ لگانے میں مدد کے لیے صفحات، ڈاؤن لوڈز، ایکسٹینشن کی سرگرمی اور سسٹم کی معلومات کا چھوٹا سا نمونہ بھی بھیجتا ہے</translation>
+<translation id="3293181007446299124">آپ کی براؤزنگ کی سرگزشت کو آپ کے آلے پر نجی رکھا جاتا ہے اور رپورٹس کو تاخیر سے بھیجا جاتا ہے تاکہ آپ کی شناخت کی حفاظ کی جائے</translation>
 <translation id="3297344142967351106">صوتی معاونت</translation>
 <translation id="3303414029551471755">مواد ڈاؤن لوڈ کرنے کیلئے آگے بڑھیں؟</translation>
 <translation id="3305795716056605962">مزید اختیارات کے بٹن سے صفحات کا ترجمہ کریں</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">مطابقت پذیری نے کام کرنا بند کر دیا ہے</translation>
 <translation id="3976396876660209797">ہٹا کر یہ شارٹ کٹ تخلیق کریں</translation>
 <translation id="3981902534690264083">مشتہرین اشتہارات کی کارکردگی کا طریقہ سمجھ سکتے ہیں</translation>
+<translation id="3985022125189960801">اگر آپ سائٹس کے پول میں ایسی سائٹ چاہتے ہیں جو اندازہ لگا سکے کہ آپ کو کیا پسند ہے تو اسے دوبارہ شامل کریں</translation>
 <translation id="3985215325736559418">کیا آپ <ph name="FILE_NAME" /> کو دوبارہ ڈاؤن لوڈ کرنا چاہتے ہیں؟</translation>
 <translation id="3987993985790029246">لنک کاپی کریں</translation>
 <translation id="3999683152997576765">‏آپ دلچسپی کے ان موضوعات کو دیکھ اور ہٹا سکتے ہیں جنہیں سائٹس آپ کو اشتہارات دکھانے کے لیے استعمال کرتی ہیں۔ Chrome آپ کی حالیہ براؤزنگ کی سرگزشت کی بنیاد پر آپ کی دلچسپیوں کا تخمینہ لگاتا ہے۔</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">پیروی جاری ہے...</translation>
 <translation id="4335835283689002019">محفوظ براؤزنگ آف ہے</translation>
 <translation id="4351244548802238354">ڈائیلاگ بند کریں</translation>
+<translation id="4369735607080757018">ڈیٹا کی محدود اقسام کا اشتراک ان کے اشتہارات کی کارکردگی کی پیمائش کرنے کے لیے کیا جاتا ہے، جیسے کہ دن کا وہ وقت جب آپ کو اشتہار دکھایا گیا تھا۔</translation>
 <translation id="4378154925671717803">فون</translation>
 <translation id="438319986296050901">صرف کارڈ کا اشتراک کریں</translation>
 <translation id="4384468725000734951">‏تلاش کیلئے Sogou کا استعمال کیا جا رہا ہے</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">‏Wi-Fi اور موبائل ڈیٹا پر</translation>
 <translation id="4508528996305412043">فیڈ کارڈ مینو کھلا ہوا ہے</translation>
 <translation id="4508642716788467538">اپنی زبان منتخب کریں</translation>
+<translation id="4509501256689523862">براؤز کرتے وقت، آپ جو اشتہار دیکھتے ہیں وہ ذاتی نوعیت کے ہیں یا نہیں اس کا انحصار اس ترتیب پر ہوتا ہے، <ph name="BEGIN_LINK_1" />اشتہار کے عنوانات<ph name="END_LINK_1" /> آپ کی<ph name="BEGIN_LINK_2" /> کوکی کی ترتیبات<ph name="END_LINK_2" /> اور آیا آپ جو سائٹ دیکھ رہے ہیں وہ اشتہارات کو ذاتی بناتی ہے یا نہیں۔</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{# دن پہلے}other{# دن پہلے}}</translation>
 <translation id="451872707440238414">اپنے بُک مارکس تلاش کریں</translation>
 <translation id="4521489764227272523">‏Chrome اور آپ کے مطابقت پذیر آلات سے منتخب ڈیٹا کو ہٹا دیا گیا ہے۔
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">عرفی نام میں نمبرز شامل نہیں ہو سکتے</translation>
 <translation id="4663499661119906179">اپنے لئے سر فہرست سائٹس اور کہانیاں دیکھیں</translation>
 <translation id="4663756553811254707"><ph name="NUMBER_OF_BOOKMARKS" /> بُک مارکس حذف کر دیے گئے</translation>
+<translation id="4668279686271488041">‏Ad-measurement ڈیٹا آپ کے آلے سے باقاعدگی سے ہو جاتا ہے</translation>
 <translation id="4668347365065281350">کوکیز اور مقامی طور پر اسٹور کردہ دوسرے ڈیٹا سمیت سائٹس کے ذریعے اسٹور کردہ تمام ڈیٹا</translation>
 <translation id="4678082183394354975">‏Chrome میں سائٹس کیلئے گہری تھیم آن ہے</translation>
 <translation id="4684427112815847243">ہر چیز کی مطابقت پذیری کریں</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">‏جلد ہی، نیا ٹیب کھولنے پر آپ کو <ph name="SITE_NAME" /> سے کہانیاں دکھائی دیں گی۔ آپ جن سائٹس کی پیروی کرتے ہیں انہیں آپ کے Google اکاؤنٹ میں محفوظ کیا جاتا ہے۔ آپ Discover کی ترتیبات میں ان کا نظم کر سکتے ہیں۔</translation>
 <translation id="5091249083535528968">توسیع کردہ استعمال کا ڈیٹا</translation>
 <translation id="509429900233858213">ایک خرابی پیش آگئی۔</translation>
+<translation id="5097349930204431044">آپ جو سائٹ ملاحظہ جاتے ہیں وہ اس بات کا تعین کر سکتی ہیں کہ آپ کیا پسند کرتے ہیں اور پھر جب آپ براؤز کرنا جاری رکھتے ہیں تو اشتہارات تجویز کر سکتی ہیں۔</translation>
 <translation id="5099845111805573968">آپ کے ڈیسک ٹاپ سائٹ کو منتخب کرنے کے بعد ہر بار آپ کے سائٹ کو ملاحظہ کرنے پر اس پر ترتیب لاگو ہوتی ہے</translation>
 <translation id="5102401324271069229">‏اگر کوئی سائٹ آپ کا پاس ورڈ چرانے کی کوشش کرتی ہے یا جب آپ نقصان دہ فائل ڈاؤن لوڈ کرتے ہیں تو Chrome محفوظ براؤزنگ پر صفحہ کے مواد کے کچھ حصوں سمیت URLs بھیج سکتا ہے</translation>
 <translation id="510275257476243843">1 گھنٹہ باقی</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">براؤزر ٹیب</translation>
 <translation id="666731172850799929"><ph name="APP_NAME" /> میں کھولیں</translation>
 <translation id="6671495933530132209">تصویر کاپی کریں</translation>
+<translation id="6672917148207387131"><ph name="DOMAIN" /> شامل کریں</translation>
 <translation id="6674571176963658787">مطابقت پذیری شروع کرنے کے لیے، اپنا پاس فریز درج کریں</translation>
 <translation id="6676840375528380067">‏اس آلہ سے آپ کا Chrome ڈیٹا صاف کریں؟</translation>
 <translation id="6676927815633975364">‏اس سائٹ اور Chrome پر سائن ان کریں</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">اگر آپ کو لگتا ہے کہ آئٹم سے متعلقہ اشتہارات آپ کے لیے مفید ہوں گے تو کسی دلچسپی یا سائٹ کی اجازت دیں</translation>
 <translation id="6738516213925468394">آپ کے ڈیٹا کی آپ کے <ph name="BEGIN_LINK" />مطابقت پذیر پاس فریز<ph name="END_LINK" /> کے ساتھ <ph name="TIME" /> کو مرموز کاری کی گئی تھی۔ مطابقت پذیری شروع کرنے کیلئے اسے درج کریں۔</translation>
 <translation id="6738867403308150051">ڈاؤن لوڈ ہو رہے ہیں…</translation>
+<translation id="674388916582496364">‏جن سائٹس کو آپ ملاحظہ کرتے ہیں ان میں آپ کی دلچسپیوں کو یاد رکھنا سائٹس کے لئے عام بات ہے تاکہ وہ آپ کے تجربے کو ذاتی نوعیت کا بنا سکیں۔ سائٹس Chrome کے ساتھ آپ کی دلچسپیوں کے بارے میں معلومات بھی اسٹور کر سکتی ہیں۔</translation>
 <translation id="6751521182688001123">فوری طور پر ایک نیا ٹیب کھولیں۔ اس شارٹ کٹ میں ترمیم کرنے کے لیے، ٹچ کریں اور دبائے رکھیں۔</translation>
 <translation id="6756507620369789050">تاثرات کا اشتراک کریں</translation>
 <translation id="6767294960381293877">ان آلات کی فہرست جن کے ساتھ ٹیب کا اشتراک کرنا ہے نصف اونچائی پر کھلی ہوئی ہے۔</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">بُک مارکس حذف کریں</translation>
 <translation id="696447261358045621">پوشیدگی وضع ترک کریں</translation>
 <translation id="6971862865055170158">منظوری نہ دیں</translation>
+<translation id="6978717888677691380">آپ کی مسدود کردہ سائٹس</translation>
 <translation id="6979737339423435258">ہر وقت</translation>
 <translation id="6987047470128880212">اس آلے پر پوشیدگی دستیاب نہیں ہے</translation>
 <translation id="6995899638241819463">اگر پاس ورڈز ڈیٹا کی خلاف ورزی میں افشاء ہوتے ہیں تو وارننگ حاصل کریں</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">اسٹائلائزڈ ہائی لائٹ <ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">‏یہ یقینی بنائیں کہ Chrome پر <ph name="TARGET_DEVICE_NAME" /> کی مطابقت پذیری آن ہے</translation>
 <translation id="7252076891734325316">اپنا فون کمپیوٹر کے قریب رکھیں</translation>
+<translation id="7260367682327802201">‏آپ کے Android آلے میں ملتی جلتی ترتیب شامل ہو سکتی ہے۔ اگر Ad measurement‏ Chrome میں اور آپ کے Android آلے پر آن ہو تو کمپنی آپ کی ملاحظہ کردہ ویب سائٹس اور آپ کی استعمال کردہ ایپس پر اشتہار کی اثر انگیزی پیمائش کر سکتی ہے۔</translation>
 <translation id="727288900855680735"><ph name="ORIGIN" /> میں <ph name="ONE_TIME_CODE" /> کو جمع کرائیں؟</translation>
 <translation id="7274013316676448362">مسدود سائٹ</translation>
 <translation id="7286572596625053347"><ph name="LANGUAGE" /> تبدیل کریں؟</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">مضامین یہاں دکھائی دیتے ہیں جنہیں آپ آف لائن ہونے پر بھی پڑھ سکتے ہیں</translation>
 <translation id="768232549260819724">‏GIF کاپی ہو گیا</translation>
 <translation id="7682724950699840886">مندرجہ ذیل تجاویز آزمائیں: یقینی بنائیں کہ آپ کے آلہ پر کافی جگہ ہے، دوبارہ برآمد کرنے کی کوشش کریں۔</translation>
+<translation id="7686086654630106285">سائٹ کے تجویز کردہ اشتہارات کے بارے میں مزید</translation>
 <translation id="768618399695552958">‏آپ کے ملاحظہ کردہ صفحات میں سے کچھ پیشگی لوڈ کردہ ہیں۔ کسی Google سائٹ سے لنک ہونے پر صفحات کو Google سرورز کے ذریعے پیشگی لوڈ کیا جا سکتا ہے۔</translation>
 <translation id="7698359219371678927"><ph name="APP_NAME" /> میں ای میل تخلیق کریں</translation>
 <translation id="7704317875155739195">‏تلاشوں اور URLs کی خودکار تکمیل کریں</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">‏صحیح طور پر فارمیٹ کیا ہوا URL درج کریں</translation>
 <translation id="854522910157234410">یہ صفحہ کھولیں</translation>
 <translation id="8551513938758868521">‏جب آپ Chrome کو چھوڑتے ہیں تب پوشیدگی ٹیبز کو مقفل کریں</translation>
+<translation id="8559961053328923750">‏اشتہار کی کارکردگی کی پیمائش کرنے کے لیے Chrome اس ڈیٹا کی کل مقدار کو محدود کرتا ہے جو ایک سائٹس براؤزر کے ذریعے اشتراک کر سکتی ہیں</translation>
 <translation id="8559990750235505898">صفحات کو دیگر زبانوں میں ترجمہ کرنے کی پیشکش کریں</translation>
 <translation id="8560602726703398413">‏Bookmarks میں اپنی پڑھنے کی فہرست پائيں</translation>
 <translation id="8562452229998620586">محفوظ کردہ پاس ورڈز یہاں نمودار ہوں گے۔</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">درخواست پر کارروائی ہو رہی ہے</translation>
 <translation id="8788265440806329501">نیویگیشن کی سرگزشت بند ہے</translation>
 <translation id="8788968922598763114">آخری بند کردہ ٹیب دوبارہ کھولیں</translation>
+<translation id="879027982257117598">مثال کے طور پر، اگر آپ کوئی ایسی سائٹ ملاحظہ کرتے ہیں جو لمبے فاصلے والے دوڑنے کے جوتوں کو فروخت کرتی ہے تو سائٹ یہ فیصلہ کر سکتی ہے کہ آپ کو دوڑ کے میراتھنز میں دلچسپی ہے۔ بعد میں اگر آپ کوئی مختلف سائٹ ملاحظہ کرتے ہیں تو وہ سائٹ آپ کو پہلی سائٹ کے ذریعے تجویز کردہ دوڑنے کے جوتوں کا اشتہار دکھا سکتی ہے۔</translation>
 <translation id="8798449543960971550">پڑھا ہوا</translation>
 <translation id="8803526663383843427">آن ہونے پر</translation>
 <translation id="8805097383171548551">‏QR کوڈ اسکین کرنے کیلئے کیمرا والا آلہ استعمال کریں۔</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">کسی دوسرے فراہم کنندہ کا انتخاب کریں</translation>
 <translation id="8998729206196772491">‏آپ <ph name="MANAGED_DOMAIN" /> کے زیر انتظام اکاؤنٹ کے ساتھ سائن ان کر رہے ہیں اور اس کے منتظم کو اپنے Chrome ڈیٹا پر کنٹرول دے رہے ہیں۔ آپ کا ڈیٹا اس اکاؤنٹ سے مستقل طور پر مربوط ہو جائے گا۔ Chrome سے سائن آؤٹ کرنے سے آپ کا ڈیٹا اس آلہ سے حذف ہو جائے گا، لیکن یہ آپ کے Google اکاؤنٹ میں اسٹور رہے گا۔</translation>
 <translation id="9022774213089566801">اکثر ملاحظہ کردہ</translation>
+<translation id="9022871169049522985">سائٹس اور مشتہرین اپنے اشتہارات کی کارکردگی کی پیمائش کر سکتے ہیں</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# ویڈیو}other{# ویڈیوز}}</translation>
 <translation id="9042893549633094279">رازداری اور سیکیورٹی</translation>
 <translation id="9050666287014529139">پاس فریز</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">سیکیورٹی کلید سپورٹ کے بطور فون</translation>
 <translation id="9108808586816295166">‏ممکن ہے کہ محفوظ DNS ہر وقت دستیاب نہ ہو</translation>
 <translation id="9128984223251192329">رازداری سینڈ باکس پرامٹ کی نیچے کی شیٹ آدھی اونچائی پر کھلی ہوئی ہے</translation>
+<translation id="9131209053278896908">مسدود کردہ سائٹس یہاں دکھائی دیں گی</translation>
 <translation id="9133397713400217035">آف لائن دریافت کریں</translation>
 <translation id="9148126808321036104">دوبارہ سائن ان کریں</translation>
 <translation id="9158770349521403363">صرف مواد کا استعمال کریں</translation>
 <translation id="9159716826369098114"><ph name="TAB_COUNT" /> ٹیبز کے ٹیب گروپ کو پس منظر کے ایک نئے ٹیب گروپ کے بطور بحال کریں۔</translation>
 <translation id="9169507124922466868">نیویگیشن کی سرگزشت آدھی کھلی ہوئی ہے</translation>
+<translation id="9183331776983279456">‏Chrome‏ 4 ہفتے سے زیادہ پرانی سائٹس کو خودکار طور پر حذف کر دیتا ہے۔ اگر کوئی سائٹ آپ دوبارہ ملاحظہ کرتے ہیں تو وہ فہرست میں دوبارہ نظر آ سکتی ہے۔ یا آپ کے لیے تجویز کردہ اشتہارات سے آپ سائٹ کو مسدود کر سکتے ہیں۔</translation>
 <translation id="9190276265094487094">آپ کے تمام مطابقت پذیر آلات پر آپ کی سرگزشت موجود ہوگی تاکہ آپ جو کچھ کر رہے تھے اسے جاری رکھ سکیں</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{1 منٹ پہلے چیک کیا گيا}other{# منٹ پہلے چیک کیا گیا}}</translation>
 <translation id="9204836675896933765">1 فائل باقی ہے</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">آسان کردہ صفحہ ملاحظہ کریں؟</translation>
 <translation id="968900484120156207">آپ کے ملاحظہ کردہ صفحات یہاں دکھائی دیتے ہیں</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> منٹ باقی</translation>
+<translation id="978317418833355355">‏آپ جن سائٹس کو نہیں چاہتے ہیں انہیں مسدود کر سکتے ہیں۔ Chrome بھی فہرست کی 4 ہفتے سے زیادہ پرانی سائٹس کو خودکار طور پر حذف کر دیتا ہے۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">آف لائن</translation>
 <translation id="983192555821071799">سبھی ٹیبز بند کریں</translation>
 <translation id="987264212798334818">عمومی</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
index 879ecc4..476a3142 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
@@ -56,6 +56,7 @@
 <translation id="1258753120186372309">I-Google doodle: <ph name="DOODLE_DESCRIPTION" /></translation>
 <translation id="1263231323834454256">Uhlu lokufunda</translation>
 <translation id="1266864766717917324">Ayikwazanga ukwabelana nge-<ph name="CONTENT_TYPE" /></translation>
+<translation id="1273937721055267968">Vimba i-<ph name="DOMAIN" /></translation>
 <translation id="1283039547216852943">Thepha ukuze unwebe</translation>
 <translation id="1285310382777185058">Shintsha ulimi</translation>
 <translation id="1291207594882862231">Sula umlando, amakhukhi, idatha yesayithi, inqolobane…</translation>
@@ -224,6 +225,7 @@
 <translation id="223356358902285214">Umsebenzi wewebhu nohlelo lokusebenza</translation>
 <translation id="2239812875700136898">Lawula izindaba zakho kusukela Kuzinketho zenkinobho ye-Discover</translation>
 <translation id="2248941474044011069">Amaphasiwedi akho abethelwa kudivayisi yakho ngaphambi kokuba alondolozwe ku-Google Password Manager</translation>
+<translation id="2249635629516220541">Enza ngokwezifiso ulwazi olusetshenziswa amasayithi ukukubonisa izikhangiso</translation>
 <translation id="2259659629660284697">Thumela amaphasiwedi...</translation>
 <translation id="2276231040576210443">Ungahlala ukhetha ukuthi yini ezovunyelaniswa <ph name="BEGIN_LINK1" />kumasethingi<ph name="END_LINK1" />. I-Google ingase yenze Usesho namanye amasevisi kube ngokwakho ngokususelwe emlandweni wakho.</translation>
 <translation id="2276696007612801991">Ngena ngemvume ku-akhawunti yakho ye-Google uhlole amaphasiwedi akho</translation>
@@ -289,6 +291,7 @@
 <translation id="2612676031748830579">Inombolo yekhadi</translation>
 <translation id="2625189173221582860">Iphasiwedi ikopishiwe</translation>
 <translation id="2642087927315268160">Ishidi lokungena ngemvume elingezansi livaliwe.</translation>
+<translation id="2643064289437760082">Ungakwazi njalo ukusula idatha yokulinganisa izikhangiso ngokusula idatha yakho yokubhrawuza</translation>
 <translation id="2647434099613338025">Engeza ulimi</translation>
 <translation id="2649068648233607930">I-browser yakho iphethwe i-<ph name="DOMAIN" /></translation>
 <translation id="2650348088770008516">Incazelo yomhlahlandlela wobumfihlo ivaliwe</translation>
@@ -372,6 +375,7 @@
 <translation id="3036750288708366620"><ph name="BEGIN_LINK" />Thola usizo<ph name="END_LINK" /></translation>
 <translation id="3037177537145227281">Ukulandelela intengo</translation>
 <translation id="3037517125981011456">Ibonisa izexwayiso zokungena ngemvume ku-Chrome</translation>
+<translation id="3038272154009688107">Bona wonke amasayithi</translation>
 <translation id="3046945242843292318">Fika kule sayithi ngokushesha esikhathini esizayo</translation>
 <translation id="3055113921564083271">Intshisekelo isusiwe</translation>
 <translation id="3055259925215945098">Ibhukhimakhi ihanjisiwe</translation>
@@ -421,6 +425,7 @@
 <translation id="3282568296779691940">Ngena ngemvume ku-Chrome</translation>
 <translation id="3285080554353377245">Amavidiyo wendlela yokusebenzisa i-Chrome</translation>
 <translation id="3290249595466894471">Iphinde ithumele namasampula wamakhasi ambalwa, okulandwayo, imisebenzi yezandiso, nokwaziswa kwesistimu ukukusiza uthole izinsongo ezintsha</translation>
+<translation id="3293181007446299124">Umlando wakho wokubhrawuza ugcinwa uyimfihlo kudivayisi yakho futhi imibiko ithunyelwa ngokubambezeleka ukuze kuvikelwe ubuwena</translation>
 <translation id="3297344142967351106">Umsizi wezwi</translation>
 <translation id="3303414029551471755">Qhubeka ngokulanda okuqukethwe?</translation>
 <translation id="3305795716056605962">Humusha amakhasi kusukela kwinkinobho Yezinketho Eziningi</translation>
@@ -532,6 +537,7 @@
 <translation id="397583555483684758">Ukuvumelanisa kuyeke ukusebenza</translation>
 <translation id="3976396876660209797">Susa futhi udale kabusha lesi sinqamuleli</translation>
 <translation id="3981902534690264083">Abakhangisi bangaqonda ukuthi izikhangiso zisebenza kanjani</translation>
+<translation id="3985022125189960801">Engeza isayithi futhi uma ulifuna echibini lamasayithi angaqagela ukuthi yini oyithandayo</translation>
 <translation id="3985215325736559418">Ingabe ufuna ukulanda i-<ph name="FILE_NAME" /> futhi?</translation>
 <translation id="3987993985790029246">Kopisha isixhumanisi</translation>
 <translation id="3999683152997576765">Ungabona futhi ususe izihloko zesayithi ongaba nentshisekelo kuzo ezisetshenziswa ukukubonisa izikhangiso. I-Chrome izolinganisa ongaba nentshisekelo kukho ngokusekelwe kumlando wakho wakamuva wokubhrawuza.</translation>
@@ -596,6 +602,7 @@
 <translation id="433213510553688132">Okulandelayo...</translation>
 <translation id="4335835283689002019">Ukuphequlula okuphephile kuvaliwe</translation>
 <translation id="4351244548802238354">Vala ingxoxo</translation>
+<translation id="4369735607080757018">Izinhlobo zedatha ezilinganiselwe zabiwa phakathi kwamasayithi ukuze kulinganiselwe ukusebenza kwezikhangiso zawo, njengesikhathi sosuku isikhangiso esiboniswe ngaso</translation>
 <translation id="4378154925671717803">Ifoni</translation>
 <translation id="438319986296050901">Yabelana ngekhadi kuphela</translation>
 <translation id="4384468725000734951">Isebenzisa i-Sogou ukuze iseshe</translation>
@@ -619,6 +626,7 @@
 <translation id="4504667196171871375">Ku-Wi-Fi nedatha yeselula</translation>
 <translation id="4508528996305412043">Imenyu yekhadi lokuphakelayo ivuliwe</translation>
 <translation id="4508642716788467538">Khetha ulimi lwakho</translation>
+<translation id="4509501256689523862">Njengoba ubhrawuza, ukuthi isikhangiso osibonayo siqondansiwe nomuntu siqu kuncike kule sethingi, <ph name="BEGIN_LINK_1" />Izihloko zesikhangiso<ph name="END_LINK_1" />, <ph name="BEGIN_LINK_2" />amasethingi akho ekhukhi<ph name="END_LINK_2" />, futhi uma isayithi olibukayo lenza izikhangiso ziqondaniswe nomuntu siqu</translation>
 <translation id="4513387527876475750">{DAYS,plural, =1{# usuku oludlule}one{# izinsuku ezedlule}other{# izinsuku ezedlule}}</translation>
 <translation id="451872707440238414">Sesha amabhukhimakhi akho</translation>
 <translation id="4521489764227272523">Idatha ekhethiwe isusiwe kusukela ku-Chrome kanye namadivayisi akho avunyelanisiwe.
@@ -646,6 +654,7 @@
 <translation id="4662373422909645029">Isiteketiso asikwazi ukuba nezinombolo</translation>
 <translation id="4663499661119906179">Bona amasayithi aphezulu nezindaba zakho</translation>
 <translation id="4663756553811254707"><ph name="NUMBER_OF_BOOKMARKS" /> amabhukhimakhi asusiwe</translation>
+<translation id="4668279686271488041">Idatha yokulinganisela izikhangiso isulwa njalo kudivayisi yakho</translation>
 <translation id="4668347365065281350">Yonke idatha egcinwe amasayithi, okufaka phakathi amakhukhi nenye idatha egcinwe endaweni</translation>
 <translation id="4678082183394354975">Itimu emnyama yamasayithi ivuliwe ku-Chrome</translation>
 <translation id="4684427112815847243">Vumelanisa yonke into</translation>
@@ -737,6 +746,7 @@
 <translation id="5091199029769593641">Maduze, uzobona izindaba ezivela ku-<ph name="SITE_NAME" /> uma uvula ithebhu entsha. Amasayithi owalandelayo alondolozwe ku-akhawunti yakho ye-Google. Ungawaphatha kumasethingi we-Discover.</translation>
 <translation id="5091249083535528968">Idatha yokusetshenziswa enwetshiwe</translation>
 <translation id="509429900233858213">Kuvele iphutha.</translation>
+<translation id="5097349930204431044">Amasayithi owavakashelayo anganquma ukuthi yini oyithandayo bese ephakamisa izikhangiso njengoba uqhubeka nokubhrawuza</translation>
 <translation id="5099845111805573968">Uma ukhetha isayithi ledeskithophu kanye, isethingi lisetshenziswa kusayithi njalo uma ulivakashela</translation>
 <translation id="5102401324271069229">Uma isayithi lizama ukuntshontsha iphasiwedi yakho, noma uma udawuniloda ifayela eliyingozi, i-Chrome ingathumela ama-URL kuhlanganise nokuthile okuqukethwe kulelo khasi ku-Safe Browsing</translation>
 <translation id="510275257476243843">1 ihora elisele</translation>
@@ -1031,6 +1041,7 @@
 <translation id="6659594942844771486">Ithebhu</translation>
 <translation id="666731172850799929">Vula ku-<ph name="APP_NAME" /></translation>
 <translation id="6671495933530132209">Kopisha isithombe</translation>
+<translation id="6672917148207387131">Engeza i-<ph name="DOMAIN" /></translation>
 <translation id="6674571176963658787">Ukuze uqale ukuvumelanisa, faka umushwana wakho wokungena</translation>
 <translation id="6676840375528380067">Sula idatha yakho ye-Chrome kusuka kule divayisi?</translation>
 <translation id="6676927815633975364">Ngena ngemvume kuleli sayithi naku-Chrome</translation>
@@ -1043,6 +1054,7 @@
 <translation id="6737612727720318154">Vumela intshisekelo noma isayithi uma ucabanga ukuthi izikhangiso ezihlobene nento zingaba usizo kuwe</translation>
 <translation id="6738516213925468394">Idatha yakho ibethelwe <ph name="BEGIN_LINK" />ngomshwana wakho wokuvumelanisa<ph name="END_LINK" /> ngo-<ph name="TIME" />. Ifake ukuze uqale ukuvumelanisa.</translation>
 <translation id="6738867403308150051">Iyalanda...</translation>
+<translation id="674388916582496364">Kujwayelekile ukuthi amasayithi owavakashelayo akhumbule izinto onentshisekelo kuzo, aqondaniswenomuntu siqu ukuzizwela. Amasayithi angagcina nolwazi nge-Chrome mayelana nezintshisekelo zakho.</translation>
 <translation id="6751521182688001123">Vula ithebhu entsha ngokushesha. Ukuze uhlele lesi sinqamuleli, thinta uphinde ubambe.</translation>
 <translation id="6756507620369789050">Yabelana ngempendulo</translation>
 <translation id="6767294960381293877">Uhlu lwamadivayisi lokwabelana ngethebhu ngokuvuleka okunguhafu.</translation>
@@ -1086,6 +1098,7 @@
 <translation id="6963766334940102469">Amabhukhimakhi asusiwe</translation>
 <translation id="696447261358045621">Shiya imodi ye-incognito</translation>
 <translation id="6971862865055170158">Ungagunyazi</translation>
+<translation id="6978717888677691380">Amasayithi owavimbile</translation>
 <translation id="6979737339423435258">Sonke isikhathi</translation>
 <translation id="6987047470128880212">I-Incognito ayitholakali kule divayisi.</translation>
 <translation id="6995899638241819463">Iyakuxwayisa uma amaphasiwedi avezwe ekuphulweni kwedatha</translation>
@@ -1130,6 +1143,7 @@
 <translation id="7242755609445462077">Isithombe esihle kakhulu senziwe isitayela ngomhla ka-<ph name="CURRENT_DATE" /></translation>
 <translation id="7248069434667874558">Qinisekisa ukuthi i-<ph name="TARGET_DEVICE_NAME" /> inokuvumelanisa okuvuliwe ku-Chrome</translation>
 <translation id="7252076891734325316">Beka ifoni yakho eduze nekhompyutha</translation>
+<translation id="7260367682327802201">Idivayisi yakho ye-Android ingase ihlanganise isethingi efanayo. Uma ukulinganisa kwesikhangiso kuvuliwe ku-Chrome nakudivayisi yakho ye-Android, inkampani ingase ikwazi ukulinganisela ukusebenza kahle kwesikhangiso kuwo wonke amawebhusayithi owavakashelayo nama-app owasebenzisayo.</translation>
 <translation id="727288900855680735">Thumela i-<ph name="ONE_TIME_CODE" /> ku-<ph name="ORIGIN" />?</translation>
 <translation id="7274013316676448362">Isayithi elivinjiwe</translation>
 <translation id="7286572596625053347">Shintsha i-<ph name="LANGUAGE" />?</translation>
@@ -1210,6 +1224,7 @@
 <translation id="766587987807204883">Ama-athikili abonakala lapha, lapho ungafunda ngisho noma ungaxhumekile ku-inthanethi</translation>
 <translation id="768232549260819724">I-GIF Ikopishiwe</translation>
 <translation id="7682724950699840886">Zama amathiphu alandelayo: qiniseka ukuthi kunesikhala esanele kudivayisi yakho, zama ukukhipha futhi.</translation>
+<translation id="7686086654630106285">Okuningi mayelana nezikhangiso eziphakanyiswe yisayithi</translation>
 <translation id="768618399695552958">Amanye amakhasi owavakashelayo alayishwe kusengaphambili. Amakhasi angalayishwa kusengaphambili ngeziphakeli ze-Google uma exhunywe kwisayithi le-Google.</translation>
 <translation id="7698359219371678927">Dala i-imeyili ku-<ph name="APP_NAME" /></translation>
 <translation id="7704317875155739195">Qedela ngokuzenzakalela usesho nama-URL</translation>
@@ -1378,6 +1393,7 @@
 <translation id="8540136935098276800">Faka i-URL efomethwe ngokulungile</translation>
 <translation id="854522910157234410">Vula leli khasi</translation>
 <translation id="8551513938758868521">Khiya amathebhu we-Incognito lapho ushiya i-Chrome</translation>
+<translation id="8559961053328923750">I-Chrome ikhawulela inani ledatha amasayithi angabelana ngayo ngebhrawuza ukulinganisela ukusebenza kwesikhangiso</translation>
 <translation id="8559990750235505898">Nika ukuhumusha amakhasi nezinye izilimi</translation>
 <translation id="8560602726703398413">Thola uhlu lwakho lokufunda kumabhukhimakhi</translation>
 <translation id="8562452229998620586">Amaphasiwedi alondoloziwe azovela lapha.</translation>
@@ -1418,6 +1434,7 @@
 <translation id="8773160212632396039">Icubungula isicelo</translation>
 <translation id="8788265440806329501">Umlando wokuzula uvaliwe</translation>
 <translation id="8788968922598763114">Phinda uvule ithebhu yokugcina evaliwe</translation>
+<translation id="879027982257117598">Ngokwesibonelo, uma uvakashela isayithi elithengisa izicathulo zokugijima ibanga elide, isayithi lingase linqume ukuthi uthanda ukugijima ama-marathon. Kamuva, uma uvakashela isayithi ehlukile, leyo sayithi ingakubonisa isikhangiso sezicathulo zokugijima eziphakanyiswe yisayithi lokuqala.</translation>
 <translation id="8798449543960971550">Funda</translation>
 <translation id="8803526663383843427">Lapho kuvuliwe</translation>
 <translation id="8805097383171548551">Ukuze uskene Ikhodi ye-QR, sebenzisa idivayisi enekhamera.</translation>
@@ -1460,6 +1477,7 @@
 <translation id="8996847606757455498">Khetha omunye umhlinzeki</translation>
 <translation id="8998729206196772491">Ungena ngemvume nge-akhawunti ephethwe yi-<ph name="MANAGED_DOMAIN" /> futhi unikeza umlawuli ulawulo olungaphezulu kwedatha yakho ye-Chrome. Idatha yakho izohlanganiswa ngunaphakade kule akhawunti. Ukuphuma ngemvume ku-Chrome kuzosusa idatha yakho kusukela kule divayisi, kodwa kuzohlala kugcinwe ku-akhawunti yakho ye-Google.</translation>
 <translation id="9022774213089566801">Okuvakashelwa njalo</translation>
+<translation id="9022871169049522985">Amasayithi nabakhangisi bangalinganisa ukusebenza kwezikhangiso zabo</translation>
 <translation id="9041669420854607037">{FILE_COUNT,plural, =1{# Ividiyo}one{# Amavidiyo}other{# Amavidiyo}}</translation>
 <translation id="9042893549633094279">Ubumfihlo nokuvikeleka</translation>
 <translation id="9050666287014529139">Umushwana wokungena</translation>
@@ -1481,11 +1499,13 @@
 <translation id="9108312223223904744">Ifoni njengosekelo lokhiye wokuqinisekisa ubunikazi</translation>
 <translation id="9108808586816295166">Ukuvikela i-DNS kungenzeka kungatholakali ngaso sonke isikhathi</translation>
 <translation id="9128984223251192329">Ukwaziswa kwe-Privacy Sandbox kuvulwe ngobude obuyisigamu</translation>
+<translation id="9131209053278896908">Amasayithi avinjiwe avela lapha</translation>
 <translation id="9133397713400217035">Hlola okungaxhunyiwe ku-inthanethi</translation>
 <translation id="9148126808321036104">Phinda ungene ngemvume</translation>
 <translation id="9158770349521403363">Yabelana ngokuqukethwe kuphela</translation>
 <translation id="9159716826369098114">Buyisela ithebhu yeqembu lamathebhu angu-<ph name="TAB_COUNT" /> njengeqembu lethebhu yangemuva entsha.</translation>
 <translation id="9169507124922466868">Umlando wokuzula uvuleke ngohhafu</translation>
+<translation id="9183331776983279456">I-Chrome isula ngokuzenzekela amasayithi amadala kunamaviki ama-4. Isayithi oyivakashelayo futhi ingase ivele ohlwini. Noma ungavimba isayithi ekuphakamiseni izikhangiso zakho.</translation>
 <translation id="9190276265094487094">Uzoba nomlando wakho kuwo wonke amadivayisi akho avunyelanisiwe ukuze uqhubeke nalokho ubukwenza</translation>
 <translation id="9199368092038462496">{NUM_MINS,plural, =1{Kuhlolwe kumzuzu o-1 odlule}one{Kuhlolwe kwimizuzu engu-# edlule}other{Kuhlolwe kwimizuzu engu-# edlule}}</translation>
 <translation id="9204836675896933765">1 ifayela elisele</translation>
@@ -1507,6 +1527,7 @@
 <translation id="96681097142096641">Bona ikhasi elenziwe laba lula?</translation>
 <translation id="968900484120156207">Amakhasi owavakashelayo avela lapha</translation>
 <translation id="970715775301869095"><ph name="MINUTES" /> amaminithi asele</translation>
+<translation id="978317418833355355">Ungavimba amasayithi ongawafuni. I-Chrome iphinda isuse ngokuzenzekela amasayithi ohlwini oludala kunamaviki ama-4. <ph name="BEGIN_LINK" />Funda kabanzi<ph name="END_LINK" /></translation>
 <translation id="981121421437150478">Ayixhunyiwe ku-inthanethi</translation>
 <translation id="983192555821071799">Vala wonke amathebhu</translation>
 <translation id="987264212798334818">Okujwayelekile</translation>
diff --git a/chrome/browser/ui/chrome_pages.h b/chrome/browser/ui/chrome_pages.h
index a3e31b2..01bd705 100644
--- a/chrome/browser/ui/chrome_pages.h
+++ b/chrome/browser/ui/chrome_pages.h
@@ -98,6 +98,7 @@
   kFeedbackSourceLauncher,
   kFeedbackSourceSettingsPerformancePage,
   kFeedbackSourceQuickOffice,
+  kFeedbackSourceOsSettingsSearch,
 
   // Must be last.
   kFeedbackSourceCount,
diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
index a7396cd..4e3ed0b 100644
--- a/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
+++ b/chrome/browser/ui/content_settings/content_setting_bubble_model.cc
@@ -1108,7 +1108,7 @@
   set_title(l10n_util::GetStringUTF16(title_id));
   set_manage_text_style(ContentSettingBubbleModel::ManageTextStyle::kNone);
   SetCustomLink();
-  set_done_button_text(l10n_util::GetStringUTF16(IDS_OPEN_PREFERENCES_LINK));
+  set_done_button_text(l10n_util::GetStringUTF16(IDS_OPEN_SETTINGS_LINK));
 }
 #endif  // BUILDFLAG(IS_MAC)
 
@@ -1308,7 +1308,7 @@
       l10n_util::GetStringUTF16(IDS_GEOLOCATION),
       l10n_util::GetStringUTF16(IDS_TURNED_OFF), false, true, 0));
   set_manage_text_style(ContentSettingBubbleModel::ManageTextStyle::kNone);
-  set_done_button_text(l10n_util::GetStringUTF16(IDS_OPEN_PREFERENCES_LINK));
+  set_done_button_text(l10n_util::GetStringUTF16(IDS_OPEN_SETTINGS_LINK));
   set_radio_group(RadioGroup());
   show_system_geolocation_bubble_ = true;
 #endif  // BUILDFLAG(IS_MAC)
diff --git a/chrome/browser/ui/views/accessibility/caption_bubble_context_views.cc b/chrome/browser/ui/views/accessibility/caption_bubble_context_views.cc
index 53341029..adf166e2 100644
--- a/chrome/browser/ui/views/accessibility/caption_bubble_context_views.cc
+++ b/chrome/browser/ui/views/accessibility/caption_bubble_context_views.cc
@@ -6,6 +6,8 @@
 
 #include <memory>
 
+#include "base/location.h"
+#include "base/task/sequenced_task_runner.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -31,15 +33,20 @@
 
 CaptionBubbleContextViews::~CaptionBubbleContextViews() = default;
 
-absl::optional<gfx::Rect> CaptionBubbleContextViews::GetBounds() const {
-  views::Widget* context_widget =
-      web_contents_ ? views::Widget::GetTopLevelWidgetForNativeView(
-                          web_contents_->GetNativeView())
-                    : nullptr;
-  absl::optional<gfx::Rect> context_bounds = absl::nullopt;
-  if (context_widget)
-    context_bounds = context_widget->GetClientAreaBoundsInScreen();
-  return context_bounds;
+void CaptionBubbleContextViews::GetBounds(GetBoundsCallback callback) const {
+  if (!web_contents_) {
+    return;
+  }
+
+  views::Widget* context_widget = views::Widget::GetTopLevelWidgetForNativeView(
+      web_contents_->GetNativeView());
+  if (!context_widget) {
+    return;
+  }
+
+  base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
+      FROM_HERE, base::BindOnce(std::move(callback),
+                                context_widget->GetClientAreaBoundsInScreen()));
 }
 
 const std::string CaptionBubbleContextViews::GetSessionId() const {
diff --git a/chrome/browser/ui/views/accessibility/caption_bubble_context_views.h b/chrome/browser/ui/views/accessibility/caption_bubble_context_views.h
index fbf53d6..0aa9123 100644
--- a/chrome/browser/ui/views/accessibility/caption_bubble_context_views.h
+++ b/chrome/browser/ui/views/accessibility/caption_bubble_context_views.h
@@ -33,7 +33,7 @@
       delete;
 
   // CaptionBubbleContextBrowser:
-  absl::optional<gfx::Rect> GetBounds() const override;
+  void GetBounds(GetBoundsCallback callback) const override;
   const std::string GetSessionId() const override;
   void Activate() override;
   bool IsActivatable() const override;
diff --git a/chrome/browser/ui/views/accessibility/caption_bubble_controller_views_browsertest.cc b/chrome/browser/ui/views/accessibility/caption_bubble_controller_views_browsertest.cc
index 587d06f..3b6a38f 100644
--- a/chrome/browser/ui/views/accessibility/caption_bubble_controller_views_browsertest.cc
+++ b/chrome/browser/ui/views/accessibility/caption_bubble_controller_views_browsertest.cc
@@ -5,6 +5,7 @@
 #include <memory>
 
 #include "base/functional/callback_forward.h"
+#include "base/run_loop.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/scoped_mock_time_message_loop_task_runner.h"
 #include "build/build_config.h"
@@ -52,16 +53,18 @@
       const CaptionBubbleControllerViewsTest&) = delete;
 
   CaptionBubbleControllerViews* GetController() {
-    if (!controller_)
+    if (!controller_) {
       controller_ = std::make_unique<CaptionBubbleControllerViews>(
           browser()->profile()->GetPrefs());
+    }
     return controller_.get();
   }
 
   CaptionBubbleContext* GetCaptionBubbleContext() {
-    if (!caption_bubble_context_)
+    if (!caption_bubble_context_) {
       caption_bubble_context_ = CaptionBubbleContextBrowser::Create(
           browser()->tab_strip_model()->GetActiveWebContents());
+    }
     return caption_bubble_context_.get();
   }
 
@@ -155,8 +158,9 @@
   void DestroyController() { controller_.reset(nullptr); }
 
   void ClickButton(views::Button* button) {
-    if (!button)
+    if (!button) {
       return;
+    }
     button->OnMousePressed(
         ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
                        ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON, 0));
@@ -169,8 +173,9 @@
     // TODO(crbug.com/1351722): This is a workaround for some tests which were
     // passing by side effect of the AccessibilityChecker's checks. The full
     // analysis can be found in the bug.
-    if (auto* label = GetLabel())
+    if (auto* label = GetLabel()) {
       label->GetTooltipText(gfx::Point());
+    }
 
     return OnPartialTranscription(text, GetCaptionBubbleContext());
   }
@@ -185,8 +190,9 @@
     // TODO(crbug.com/1351722): This is a workaround for some tests which were
     // passing by side effect of the AccessibilityChecker's checks. The full
     // analysis can be found in the bug.
-    if (auto* label = GetLabel())
+    if (auto* label = GetLabel()) {
       label->GetTooltipText(gfx::Point());
+    }
 
     return OnFinalTranscription(text, GetCaptionBubbleContext());
   }
@@ -227,8 +233,9 @@
   std::vector<ui::AXNodeData> GetAXLinesNodeData() {
     std::vector<ui::AXNodeData> node_datas;
     views::Label* label = GetLabel();
-    if (!label)
+    if (!label) {
       return node_datas;
+    }
     auto& ax_lines = GetLabel()->GetViewAccessibility().virtual_children();
     for (auto& ax_line : ax_lines) {
       node_datas.push_back(ax_line->GetCustomData());
@@ -246,6 +253,11 @@
     return line_texts;
   }
 
+  void SetWindowBounds(const gfx::Rect& bounds) {
+    browser()->window()->SetBounds(bounds);
+    base::RunLoop().RunUntilIdle();
+  }
+
   void SetTickClockForTesting(const base::TickClock* tick_clock) {
     GetController()->caption_bubble_->set_tick_clock_for_testing(tick_clock);
   }
@@ -296,7 +308,8 @@
   // with the bottom of the bubble.
   OnPartialTranscription(
       "Taylor Alison Swift (born December 13, 1989) is an American "
-      "singer-songwriter. She is known for narrative songs about her personal "
+      "singer-songwriter. She is known for narrative songs about her "
+      "personal "
       "life, which have received widespread media coverage. At age 14, Swift "
       "became the youngest artist signed by the Sony/ATV Music publishing "
       "house and, at age 15, she signed her first record deal.");
@@ -323,7 +336,8 @@
 
   OnPartialTranscription(
       "Taylor Alison Swift (born December 13, 1989) is an American "
-      "singer-songwriter. She is known for narrative songs about her personal "
+      "singer-songwriter. She is known for narrative songs about her "
+      "personal "
       "life, which have received widespread media coverage. At age 14, Swift "
       "became the youngest artist signed by the Sony/ATV Music publishing "
       "house and, at age 15, she signed her first record deal.");
@@ -334,14 +348,17 @@
   int bubble_width = 536;
   gfx::Insets bubble_margins(6);
 
-  browser()->window()->SetBounds(gfx::Rect(10, 10, 800, 600));
+  SetWindowBounds(gfx::Rect(10, 10, 800, 600));
   gfx::Rect context_rect = views::Widget::GetWidgetForNativeWindow(
                                browser()->window()->GetNativeWindow())
                                ->GetClientAreaBoundsInScreen();
+
   OnPartialTranscription("Mantis shrimp have 12-16 photoreceptors");
-  gfx::Rect bubble_bounds = GetCaptionWidget()->GetWindowBoundsInScreen();
+  base::RunLoop().RunUntilIdle();
+
   // There may be some rounding errors as we do floating point math with ints.
   // Check that points are almost the same.
+  gfx::Rect bubble_bounds = GetCaptionWidget()->GetWindowBoundsInScreen();
   EXPECT_LT(
       abs(bubble_bounds.CenterPoint().x() - context_rect.CenterPoint().x()), 2);
   EXPECT_EQ(bubble_bounds.bottom(), context_rect.bottom() - 20);
@@ -349,27 +366,29 @@
   EXPECT_EQ(GetBubble()->margins(), bubble_margins);
 
   // Move the window and the widget should stay in the same place.
-  browser()->window()->SetBounds(gfx::Rect(50, 50, 800, 600));
+  SetWindowBounds(gfx::Rect(50, 50, 800, 600));
   EXPECT_EQ(bubble_bounds, GetCaptionWidget()->GetWindowBoundsInScreen());
   EXPECT_EQ(GetBubble()->GetBoundsInScreen().width(), bubble_width);
   EXPECT_EQ(GetBubble()->margins(), bubble_margins);
 
   // Shrink the window's height. The widget should stay in the same place.
-  browser()->window()->SetBounds(gfx::Rect(50, 50, 800, 300));
+  SetWindowBounds(gfx::Rect(50, 50, 800, 300));
   EXPECT_EQ(bubble_bounds, GetCaptionWidget()->GetWindowBoundsInScreen());
   EXPECT_EQ(GetBubble()->GetBoundsInScreen().width(), bubble_width);
   EXPECT_EQ(GetBubble()->margins(), bubble_margins);
 
   // Now shrink the window width. The bubble width should not change.
-  browser()->window()->SetBounds(gfx::Rect(50, 50, 500, 500));
+  SetWindowBounds(gfx::Rect(50, 50, 500, 500));
   EXPECT_EQ(bubble_bounds, GetCaptionWidget()->GetWindowBoundsInScreen());
   EXPECT_EQ(GetBubble()->GetBoundsInScreen().width(), bubble_width);
   EXPECT_EQ(GetBubble()->margins(), bubble_margins);
 
-  // Now move the widget within the window. The bubble width should not change.
+  // Now move the widget within the window. The bubble width should not
+  // change.
   GetCaptionWidget()->SetBounds(
       gfx::Rect(200, 300, GetCaptionWidget()->GetWindowBoundsInScreen().width(),
                 GetCaptionWidget()->GetWindowBoundsInScreen().height()));
+  base::RunLoop().RunUntilIdle();
   EXPECT_EQ(GetBubble()->GetBoundsInScreen().width(), bubble_width);
   EXPECT_EQ(GetBubble()->margins(), bubble_margins);
 }
@@ -402,7 +421,8 @@
   EXPECT_TRUE(GetLabel()->GetVisible());
   EXPECT_FALSE(GetErrorMessage()->GetVisible());
 
-  // The error should still be visible when switching back to the first stream.
+  // The error should still be visible when switching back to the first
+  // stream.
   OnError();
   EXPECT_FALSE(GetTitle()->GetVisible());
   EXPECT_FALSE(GetLabel()->GetVisible());
@@ -435,8 +455,8 @@
   EXPECT_FALSE(IsWidgetVisible());
 }
 
-// TODO(crbug.com/1055150): Renable this test once it is passing. Tab traversal
-// works in app but doesn't work in tests right now.
+// TODO(crbug.com/1055150): Renable this test once it is passing. Tab
+// traversal works in app but doesn't work in tests right now.
 IN_PROC_BROWSER_TEST_F(CaptionBubbleControllerViewsTest,
                        DISABLED_FocusableInTabOrder) {
   OnPartialTranscription(
@@ -475,8 +495,8 @@
       false, false));
   EXPECT_TRUE(GetCollapseButton()->HasFocus());
 
-  // Pressing enter again should turn the collapse button into an expand button.
-  // Focus should remain on the expand button.
+  // Pressing enter again should turn the collapse button into an expand
+  // button. Focus should remain on the expand button.
   EXPECT_TRUE(ui_test_utils::SendKeyPressToWindowSync(
       GetCaptionWidget()->GetNativeWindow(), ui::VKEY_RETURN, false, false,
       false, false));
@@ -627,7 +647,8 @@
 
   GetController()->UpdateCaptionStyle(absl::nullopt);
   OnPartialTranscription(
-      "Marsupials first evolved in South America about 100 million years ago.");
+      "Marsupials first evolved in South America about 100 million years "
+      "ago.");
   EXPECT_EQ(default_color, GetLabel()->GetEnabledColor());
   EXPECT_EQ(default_color, GetTitle()->GetEnabledColor());
   EXPECT_EQ(default_color, GetErrorText()->GetEnabledColor());
@@ -805,9 +826,9 @@
   // Set some text, and ensure it stays visible when the window changes size.
   OnPartialTranscription("Newborn opossums are about 1cm long");
   EXPECT_TRUE(IsWidgetVisible());
-  browser()->window()->SetBounds(gfx::Rect(50, 50, 200, 100));
+  SetWindowBounds(gfx::Rect(50, 50, 200, 100));
   EXPECT_TRUE(IsWidgetVisible());
-  browser()->window()->SetBounds(gfx::Rect(50, 50, 800, 400));
+  SetWindowBounds(gfx::Rect(50, 50, 800, 400));
   EXPECT_TRUE(IsWidgetVisible());
 #endif
 
@@ -936,7 +957,8 @@
       prefs::kLiveCaptionBubblePinned));
 
   OnPartialTranscription(
-      "Sea otters have the densest fur of any mammal at about 1 million hairs "
+      "Sea otters have the densest fur of any mammal at about 1 million "
+      "hairs "
       "per square inch.");
   EXPECT_TRUE(GetPinButton()->GetVisible());
   EXPECT_FALSE(GetUnpinButton()->GetVisible());
@@ -1073,8 +1095,9 @@
 // Disable due to flaky, https://crbug.com/1206677
 IN_PROC_BROWSER_TEST_F(CaptionBubbleControllerViewsTest,
                        DISABLED_HidesAfterInactivity) {
-  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer with
-  // a mock tick clock that replaces the default tick clock with mock time.
+  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer
+  // with a mock tick clock that replaces the default tick clock with mock
+  // time.
   base::ScopedMockTimeMessageLoopTaskRunner test_task_runner;
   SetTickClockForTesting(test_task_runner->GetMockTickClock());
 
@@ -1129,8 +1152,9 @@
 #endif
 IN_PROC_BROWSER_TEST_F(CaptionBubbleControllerViewsTest,
                        MAYBE_ClearsTextAfterInactivity) {
-  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer with
-  // a mock tick clock that replaces the default tick clock with mock time.
+  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer
+  // with a mock tick clock that replaces the default tick clock with mock
+  // time.
   base::ScopedMockTimeMessageLoopTaskRunner test_task_runner;
   SetTickClockForTesting(test_task_runner->GetMockTickClock());
 
@@ -1179,12 +1203,15 @@
 
 IN_PROC_BROWSER_TEST_F(CaptionBubbleControllerViewsTest,
                        ErrorHidesAfterInactivity) {
-  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer with
-  // a mock tick clock that replaces the default tick clock with mock time.
+  // Use a ScopedMockTimeMessageLoopTaskRunner to test the inactivity timer
+  // with a mock tick clock that replaces the default tick clock with mock
+  // time.
   base::ScopedMockTimeMessageLoopTaskRunner test_task_runner;
   SetTickClockForTesting(test_task_runner->GetMockTickClock());
 
   OnError();
+  test_task_runner->RunUntilIdle();
+
   EXPECT_TRUE(IsWidgetVisible());
   EXPECT_FALSE(HasMediaFoundationError());
   EXPECT_EQ("", GetLabelText());
@@ -1200,10 +1227,6 @@
   EXPECT_TRUE(HasMediaFoundationError());
   EXPECT_EQ("", GetLabelText());
   ASSERT_TRUE(GetBubble()->GetInactivityTimerForTesting()->IsRunning());
-
-  // The Media Foundation renderer unsupported error should not hide to due
-  // inactivity.
-  test_task_runner->FastForwardBy(base::Seconds(15));
   EXPECT_TRUE(IsWidgetVisible());
   EXPECT_EQ("", GetLabelText());
 }
diff --git a/chrome/browser/ui/webauthn/sheet_models.cc b/chrome/browser/ui/webauthn/sheet_models.cc
index 03961d46..d8e51c5 100644
--- a/chrome/browser/ui/webauthn/sheet_models.cc
+++ b/chrome/browser/ui/webauthn/sheet_models.cc
@@ -691,9 +691,7 @@
 
 std::u16string AuthenticatorBlePermissionMacSheetModel::GetAcceptButtonLabel()
     const {
-  return l10n_util::GetStringUTF16(base::mac::IsAtMostOS12()
-                                       ? IDS_OPEN_PREFERENCES_LINK
-                                       : IDS_OPEN_SETTINGS_LINK);
+  return l10n_util::GetStringUTF16(IDS_OPEN_SETTINGS_LINK);
 }
 
 void AuthenticatorBlePermissionMacSheetModel::OnAccept() {
diff --git a/chrome/browser/ui/webui/sanitized_image_source.cc b/chrome/browser/ui/webui/sanitized_image_source.cc
index be8f2b9..ea0fb0a 100644
--- a/chrome/browser/ui/webui/sanitized_image_source.cc
+++ b/chrome/browser/ui/webui/sanitized_image_source.cc
@@ -46,9 +46,10 @@
 const int64_t kMaxImageSizeInBytes =
     static_cast<int64_t>(IPC::Channel::kMaximumMessageSize);
 
-constexpr char kUrlKey[] = "url";
-constexpr char kStaticEncodeKey[] = "staticEncode";
+constexpr char kEncodeTypeKey[] = "encodeType";
 constexpr char kIsGooglePhotosKey[] = "isGooglePhotos";
+constexpr char kStaticEncodeKey[] = "staticEncode";
+constexpr char kUrlKey[] = "url";
 
 std::map<std::string, std::string> ParseParams(
     const std::string& param_string) {
@@ -160,6 +161,14 @@
       request_attributes.static_encode = static_encode_it->second == "true";
     }
 
+    auto encode_type_ir = params.find(kEncodeTypeKey);
+    if (encode_type_ir != params.end()) {
+      request_attributes.encode_type =
+          encode_type_ir->second == "webp"
+              ? RequestAttributes::EncodeType::kWebP
+              : RequestAttributes::EncodeType::kPng;
+    }
+
     auto google_photos_it = params.find(kIsGooglePhotosKey);
     if (google_photos_it != params.end() &&
         google_photos_it->second == "true" && IsGooglePhotosUrl(image_url)) {
@@ -283,17 +292,20 @@
     data_decoder_delegate_->DecodeImage(
         *body,
         base::BindOnce(&SanitizedImageSource::EncodeAndReplyStaticImage,
-                       weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+                       weak_ptr_factory_.GetWeakPtr(),
+                       std::move(request_attributes), std::move(callback)));
     return;
   }
 
   data_decoder_delegate_->DecodeAnimation(
       *body,
       base::BindOnce(&SanitizedImageSource::OnAnimationDecoded,
-                     weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+                     weak_ptr_factory_.GetWeakPtr(),
+                     std::move(request_attributes), std::move(callback)));
 }
 
 void SanitizedImageSource::OnAnimationDecoded(
+    RequestAttributes request_attributes,
     content::URLDataSource::GotDataCallback callback,
     std::vector<data_decoder::mojom::AnimationFramePtr> mojo_frames) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
@@ -304,35 +316,40 @@
   }
 
 #if BUILDFLAG(IS_CHROMEOS)
-  // Re-encode static image as PNG and send to requester.
-  if (mojo_frames.size() == 1) {
-    EncodeAndReplyStaticImage(std::move(callback), mojo_frames[0]->bitmap);
+  if (mojo_frames.size() > 1) {
+    // The image is animated, re-encode as WebP animated image and send to
+    // requester.
+    EncodeAndReplyAnimatedImage(std::move(callback), std::move(mojo_frames));
     return;
   }
-
-  // The image is animated, re-encode as WebP animated image and send to
-  // requester.
-  EncodeAndReplyAnimatedImage(std::move(callback), std::move(mojo_frames));
-#else
-  // Re-encode as static image for non ChromeOS builds.
-  EncodeAndReplyStaticImage(std::move(callback), mojo_frames[0]->bitmap);
 #endif  // BUILDFLAG(IS_CHROMEOS)
+
+  // Re-encode as static image and send to requester.
+  EncodeAndReplyStaticImage(std::move(request_attributes), std::move(callback),
+                            mojo_frames[0]->bitmap);
 }
 
 void SanitizedImageSource::EncodeAndReplyStaticImage(
+    RequestAttributes request_attributes,
     content::URLDataSource::GotDataCallback callback,
     const SkBitmap& bitmap) {
   base::ThreadPool::PostTaskAndReplyWithResult(
       FROM_HERE,
       base::BindOnce(
-          [](const SkBitmap& bitmap) {
+          [](const SkBitmap& bitmap,
+             RequestAttributes::EncodeType encode_type) {
             auto encoded = base::MakeRefCounted<base::RefCountedBytes>();
-            return gfx::PNGCodec::EncodeBGRASkBitmap(
-                       bitmap, /*discard_transparency=*/false, &encoded->data())
-                       ? encoded
-                       : base::MakeRefCounted<base::RefCountedBytes>();
+            const bool success =
+                encode_type == RequestAttributes::EncodeType::kWebP
+                    ? gfx::WebpCodec::Encode(bitmap, /*quality=*/90,
+                                             &encoded->data())
+                    : gfx::PNGCodec::EncodeBGRASkBitmap(
+                          bitmap, /*discard_transparency=*/false,
+                          &encoded->data());
+            return success ? encoded
+                           : base::MakeRefCounted<base::RefCountedBytes>();
           },
-          bitmap),
+          bitmap, request_attributes.encode_type),
       std::move(callback));
   return;
 }
diff --git a/chrome/browser/ui/webui/sanitized_image_source.h b/chrome/browser/ui/webui/sanitized_image_source.h
index 7c2f323f..f9e09a2 100644
--- a/chrome/browser/ui/webui/sanitized_image_source.h
+++ b/chrome/browser/ui/webui/sanitized_image_source.h
@@ -35,20 +35,27 @@
 // external images in WebUIs by downloading the image in the browser process,
 // decoding the image in an isolated utility process, re-encoding the image and
 // sending the now sanitized image back to the requesting WebUI. You can reach
-// the image source via:
+// the image source in the following ways:
 //
 //   chrome://image?<external image URL>
+//   chrome://image?url=<external image URL>
 //
-// If the source is an animated image, it will be re-encoded as an animated
-// WebP image; otherwise it will be re-encoded as a static PNG image.
-// If static-encode attribute is set to true, it will always be re-encoded as
-// a static PNG image. See the example as follows:
+// If `static-encode` attribute is set, the image will be re-encoded as a static
+// PNG, or a static WebP image depending on if `encode-type` attribute is set to
+// `webp`. You can use these attributes in the following ways:
+//
 //   chrome://image?url=<external image URL>&staticEncode=true
+//   chrome://image?url=<external image URL>&encodeType=webp
+//   chrome://image?url=<external image URL>&staticEncode=true&encodeType=webp
 //
 // If the image source points to Google Photos storage, meaning it needs an auth
-// token to be downloaded, you can use the is-google-photos attribute as
-// follows:
+// token, you can use the `is-google-photos` attribute in the following way:
+//
 //   chrome://image?url=<external image URL>&isGooglePhotos=true
+//
+// [CrOS only]: If the source is an animated image, it will be re-encoded as an
+// animated WebP image; otherwise it will be re-encoded as a static image as
+// though `static-encode` attribute had been set.
 class SanitizedImageSource : public content::URLDataSource {
  public:
   using DecodeImageCallback = data_decoder::DecodeImageCallback;
@@ -100,12 +107,18 @@
 
  private:
   struct RequestAttributes {
+    enum EncodeType {
+      kPng = 0,
+      kWebP = 1,
+    };
+
     RequestAttributes();
     RequestAttributes(const RequestAttributes&);
     ~RequestAttributes();
 
     GURL image_url = GURL();
     bool static_encode = false;
+    EncodeType encode_type = EncodeType::kPng;
     absl::optional<signin::AccessTokenInfo> access_token_info;
   };
 
@@ -116,10 +129,12 @@
                      content::URLDataSource::GotDataCallback callback,
                      std::unique_ptr<std::string> body);
   void OnAnimationDecoded(
+      RequestAttributes request_attributes,
       content::URLDataSource::GotDataCallback callback,
       std::vector<data_decoder::mojom::AnimationFramePtr> mojo_frames);
 
   void EncodeAndReplyStaticImage(
+      RequestAttributes request_attributes,
       content::URLDataSource::GotDataCallback callback,
       const SkBitmap& bitmap);
   void EncodeAndReplyAnimatedImage(
diff --git a/chrome/browser/ui/webui/sanitized_image_source_unittest.cc b/chrome/browser/ui/webui/sanitized_image_source_unittest.cc
index 54753bd..d1cfb438 100644
--- a/chrome/browser/ui/webui/sanitized_image_source_unittest.cc
+++ b/chrome/browser/ui/webui/sanitized_image_source_unittest.cc
@@ -311,6 +311,48 @@
   task_environment_.RunUntilIdle();
 }
 
+TEST_F(SanitizedImageSourceTest, StaticImageWithWebPEncode) {
+  const std::string test_body = "abc";
+  const std::string test_url = "https://foo.com/img.png";
+
+  // Set up expectations and mock data.
+  base::MockCallback<content::URLDataSource::GotDataCallback> callback;
+  EXPECT_CALL(*mock_data_decoder_delegate_,
+              DecodeAnimation(test_body, testing::_))
+      .Times(1)
+      .WillOnce([](const std::string&,
+                   SanitizedImageSource::DecodeAnimationCallback callback) {
+        std::vector<AnimationFramePtr> frames;
+        frames.push_back(MakeImageFrame(SK_ColorRED));
+        std::move(callback).Run(std::move(frames));
+      });
+  auto image =
+      gfx::Image::CreateFrom1xBitmap(MakeImageFrame(SK_ColorRED)->bitmap);
+  EXPECT_CALL(callback, Run(testing::_))
+      .Times(1)
+      .WillOnce([](scoped_refptr<base::RefCountedMemory> bytes) {
+        std::string data_string(reinterpret_cast<char const*>(bytes->data()));
+        // Make sure the image is encoded into WebP format.
+        EXPECT_TRUE(base::StartsWith(data_string, "RIFF"));
+      });
+
+  // Issue requests.
+  sanitized_image_source_->StartDataRequest(
+      GURL(base::StrCat(
+          {chrome::kChromeUIImageURL, "?url=", test_url, "&encodeType=webp"})),
+      content::WebContents::Getter(), callback.Get());
+
+  // Answer requests and check correctness.
+  auto* request = test_url_loader_factory_.GetPendingRequest(0);
+  EXPECT_EQ(network::mojom::CredentialsMode::kOmit,
+            request->request.credentials_mode);
+  EXPECT_EQ(test_url, request->request.url);
+  test_url_loader_factory_.SimulateResponseWithoutRemovingFromPendingList(
+      request, test_body);
+
+  task_environment_.RunUntilIdle();
+}
+
 #if BUILDFLAG(IS_CHROMEOS)
 TEST_F(SanitizedImageSourceTest, AnimatedImage) {
   const std::string test_body = "abc";
diff --git a/chrome/browser/ui/webui/settings/about_handler.cc b/chrome/browser/ui/webui/settings/about_handler.cc
index 8966b11..3e3e407 100644
--- a/chrome/browser/ui/webui/settings/about_handler.cc
+++ b/chrome/browser/ui/webui/settings/about_handler.cc
@@ -444,22 +444,12 @@
 }
 #endif
 
-void AboutHandler::OpenFeedbackDialogWrapper(
-    const std::string& description_template) {
+void AboutHandler::HandleOpenFeedbackDialog(const base::Value::List& args) {
+  DCHECK(args.empty());
   Browser* browser =
       chrome::FindBrowserWithWebContents(web_ui()->GetWebContents());
   chrome::OpenFeedbackDialog(browser,
-                             chrome::kFeedbackSourceMdSettingsAboutPage,
-                             description_template);
-}
-
-void AboutHandler::HandleOpenFeedbackDialog(const base::Value::List& args) {
-  if (args.empty()) {
-    OpenFeedbackDialogWrapper(/*description_template =*/std::string());
-  } else {
-    DCHECK_EQ(args.size(), 1U);
-    OpenFeedbackDialogWrapper(args.front().GetString());
-  }
+                             chrome::kFeedbackSourceMdSettingsAboutPage);
 }
 
 void AboutHandler::HandleOpenHelpPage(const base::Value::List& args) {
diff --git a/chrome/browser/ui/webui/settings/about_handler.h b/chrome/browser/ui/webui/settings/about_handler.h
index 5ce73f4..bb5f73ee 100644
--- a/chrome/browser/ui/webui/settings/about_handler.h
+++ b/chrome/browser/ui/webui/settings/about_handler.h
@@ -77,12 +77,7 @@
 #endif
 
   // Opens the feedback dialog.
-  // |description_template| can be empty.
-  virtual void OpenFeedbackDialogWrapper(
-      const std::string& description_template);
-
-  // Opens the feedback dialog.
-  // |args| can be empty, or contains a description template.
+  // |args| must be empty.
   void HandleOpenFeedbackDialog(const base::Value::List& args);
 
   // Opens the help page. |args| must be empty.
diff --git a/chrome/browser/ui/webui/settings/about_handler_unittest.cc b/chrome/browser/ui/webui/settings/about_handler_unittest.cc
index c23571d..c6d3f39c 100644
--- a/chrome/browser/ui/webui/settings/about_handler_unittest.cc
+++ b/chrome/browser/ui/webui/settings/about_handler_unittest.cc
@@ -12,7 +12,6 @@
 #include "chromeos/ash/components/dbus/update_engine/update_engine_client.h"
 #include "content/public/test/browser_task_environment.h"
 #include "content/public/test/test_web_ui.h"
-#include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace chromeos {
@@ -30,10 +29,6 @@
 
   // Make public for testing.
   using AboutHandler::set_web_ui;
-
-  MOCK_METHOD(void,
-              OpenFeedbackDialogWrapper,
-              (const std::string& description_template));
 };
 
 class AboutHandlerTest : public testing::Test {
@@ -141,19 +136,6 @@
   EXPECT_EQ(1, fake_update_engine_client_->apply_deferred_update_count());
 }
 
-TEST_F(AboutHandlerTest, TestHandleOpenFeedbackDialog) {
-  base::Value::List args;
-  std::string description_template = "#Settings foo bar";
-  args.Append(description_template);
-  EXPECT_CALL(*handler_, OpenFeedbackDialogWrapper(description_template))
-      .Times(1);
-  web_ui_.HandleReceivedMessage("openFeedbackDialog", args);
-
-  base::Value::List emptyArgs;
-  EXPECT_CALL(*handler_, OpenFeedbackDialogWrapper("")).Times(1);
-  web_ui_.HandleReceivedMessage("openFeedbackDialog", emptyArgs);
-}
-
 }  // namespace
 
 }  // namespace settings
diff --git a/chrome/browser/ui/webui/settings/ash/main_section.cc b/chrome/browser/ui/webui/settings/ash/main_section.cc
index bba8437d..20cac29 100644
--- a/chrome/browser/ui/webui/settings/ash/main_section.cc
+++ b/chrome/browser/ui/webui/settings/ash/main_section.cc
@@ -23,6 +23,7 @@
 #include "chrome/browser/ui/webui/policy_indicator_localized_strings_provider.h"
 #include "chrome/browser/ui/webui/settings/ash/os_settings_features_util.h"
 #include "chrome/browser/ui/webui/settings/ash/search/search_tag_registry.h"
+#include "chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.h"
 #include "chrome/browser/ui/webui/settings/browser_lifetime_handler.h"
 #include "chrome/browser/ui/webui/webui_util.h"
 #include "chrome/common/chrome_features.h"
@@ -209,6 +210,8 @@
       std::make_unique<::settings::BrowserLifetimeHandler>());
 
   web_ui->AddMessageHandler(CreatePluralStringHandler());
+
+  web_ui->AddMessageHandler(std::make_unique<SendSearchFeedbackHandler>());
 }
 
 int MainSection::GetSectionNameMessageId() const {
diff --git a/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.cc b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.cc
new file mode 100644
index 0000000..0e5d513
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.cc
@@ -0,0 +1,42 @@
+// Copyright 2023 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/ash/send_search_feedback_handler.h"
+
+#include "chrome/browser/ui/browser_commands.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/chrome_pages.h"
+#include "content/public/browser/web_ui.h"
+
+namespace ash::settings {
+
+SendSearchFeedbackHandler::SendSearchFeedbackHandler() = default;
+
+SendSearchFeedbackHandler::~SendSearchFeedbackHandler() = default;
+
+void SendSearchFeedbackHandler::OnJavascriptAllowed() {}
+
+void SendSearchFeedbackHandler::OnJavascriptDisallowed() {}
+
+void SendSearchFeedbackHandler::RegisterMessages() {
+  web_ui()->RegisterMessageCallback(
+      "openSearchFeedbackDialog",
+      base::BindRepeating(&SendSearchFeedbackHandler::HandleOpenFeedbackDialog,
+                          base::Unretained(this)));
+}
+
+void SendSearchFeedbackHandler::OpenFeedbackDialogWrapper(
+    const std::string& description_template) {
+  Browser* browser =
+      chrome::FindBrowserWithWebContents(web_ui()->GetWebContents());
+  chrome::OpenFeedbackDialog(browser, chrome::kFeedbackSourceOsSettingsSearch,
+                             description_template);
+}
+
+void SendSearchFeedbackHandler::HandleOpenFeedbackDialog(
+    const base::Value::List& args) {
+  DCHECK_EQ(args.size(), 1U);
+  OpenFeedbackDialogWrapper(args.front().GetString());
+}
+}  // namespace ash::settings
diff --git a/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.h b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.h
new file mode 100644
index 0000000..c2887bd7
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler.h
@@ -0,0 +1,45 @@
+// Copyright 2023 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_ASH_SEND_SEARCH_FEEDBACK_HANDLER_H_
+#define CHROME_BROWSER_UI_WEBUI_SETTINGS_ASH_SEND_SEARCH_FEEDBACK_HANDLER_H_
+
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h"
+#include "content/public/browser/web_ui_message_handler.h"
+
+namespace ash::settings {
+
+// WebUI message handler for os settings send search feedback.
+class SendSearchFeedbackHandler : public ::settings::SettingsPageUIHandler {
+ public:
+  SendSearchFeedbackHandler();
+
+  SendSearchFeedbackHandler(const SendSearchFeedbackHandler&) = delete;
+  SendSearchFeedbackHandler& operator=(const SendSearchFeedbackHandler&) =
+      delete;
+
+  ~SendSearchFeedbackHandler() override;
+
+  // WebUIMessageHandler implementation.
+  void RegisterMessages() override;
+  void OnJavascriptAllowed() override;
+  void OnJavascriptDisallowed() override;
+
+ private:
+  // Wrapper for HandleOpenFeedbackDialog, needed for testing the correct value
+  // of description_template gets passed through from JS to C++ via
+  // chrome.send(). |description_template| contains a description template for
+  // the feedback dialog.
+  virtual void OpenFeedbackDialogWrapper(
+      const std::string& description_template);
+
+  // Opens the feedback dialog.
+  // |args| contains a description template.
+  virtual void HandleOpenFeedbackDialog(const base::Value::List& args);
+};
+
+}  // namespace ash::settings
+
+#endif  // CHROME_BROWSER_UI_WEBUI_SETTINGS_ASH_SEND_SEARCH_FEEDBACK_HANDLER_H_
diff --git a/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler_unittest.cc b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler_unittest.cc
new file mode 100644
index 0000000..f82d469
--- /dev/null
+++ b/chrome/browser/ui/webui/settings/ash/send_search_feedback_handler_unittest.cc
@@ -0,0 +1,61 @@
+// Copyright 2023 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/ash/send_search_feedback_handler.h"
+
+#include "content/public/test/test_web_ui.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace ash::settings {
+
+namespace {
+
+class TestSendSearchFeedbackHandler : public SendSearchFeedbackHandler {
+ public:
+  TestSendSearchFeedbackHandler() = default;
+  ~TestSendSearchFeedbackHandler() override = default;
+
+  // Make public for testing.
+  using SendSearchFeedbackHandler::set_web_ui;
+
+  MOCK_METHOD(void,
+              OpenFeedbackDialogWrapper,
+              (const std::string& description_template));
+};
+
+class SendSearchFeedbackHandlerTest : public testing::Test {
+ public:
+  SendSearchFeedbackHandlerTest() = default;
+  ~SendSearchFeedbackHandlerTest() override = default;
+  SendSearchFeedbackHandlerTest(const SendSearchFeedbackHandlerTest&) = delete;
+  SendSearchFeedbackHandlerTest& operator=(
+      const SendSearchFeedbackHandlerTest&) = delete;
+
+  void SetUp() override {
+    handler_ = std::make_unique<TestSendSearchFeedbackHandler>();
+    handler_->set_web_ui(&web_ui_);
+    handler_->RegisterMessages();
+    handler_->AllowJavascriptForTesting();
+  }
+
+  void TearDown() override { handler_.reset(); }
+
+ protected:
+  content::TestWebUI web_ui_;
+  std::unique_ptr<TestSendSearchFeedbackHandler> handler_;
+};
+
+TEST_F(SendSearchFeedbackHandlerTest, TestHandleOpenFeedbackDialog) {
+  base::Value::List args;
+  std::string description_template = "#Settings foo bar";
+  args.Append(description_template);
+  EXPECT_CALL(*handler_, OpenFeedbackDialogWrapper(description_template))
+      .Times(1);
+  web_ui_.HandleReceivedMessage("openSearchFeedbackDialog", args);
+}
+
+}  // namespace
+
+}  // namespace ash::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 7086389..91cd061e 100644
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
@@ -1023,6 +1023,10 @@
     {"addPaymentMethodCreditOrDebitCard",
      IDS_SETTINGS_ADD_PAYMENT_METHOD_CREDIT_OR_DEBIT_CARD},
     {"addPaymentMethodIban", IDS_SETTINGS_ADD_PAYMENT_METHOD_IBAN},
+    {"ibanSavedToThisDeviceOnly", IDS_SETTINGS_IBAN_SAVED_TO_THIS_DEVICE_ONLY},
+    {"addIbanTitle", IDS_SETTINGS_ADD_IBAN_TITLE},
+    {"editIbanTitle", IDS_SETTINGS_EDIT_IBAN_TITLE},
+    {"ibanNickname", IDS_IBAN_NICKNAME},
     {"migrateCreditCardsLabel", IDS_SETTINGS_MIGRATABLE_CARDS_LABEL},
     {"migratableCardsInfoSingle", IDS_SETTINGS_SINGLE_MIGRATABLE_CARD_INFO},
     {"migratableCardsInfoMultiple",
diff --git a/chrome/browser/web_applications/preinstalled_app_install_features.cc b/chrome/browser/web_applications/preinstalled_app_install_features.cc
index 42faac04..24cb863 100644
--- a/chrome/browser/web_applications/preinstalled_app_install_features.cc
+++ b/chrome/browser/web_applications/preinstalled_app_install_features.cc
@@ -24,8 +24,6 @@
 // kShippedPreinstalledAppInstallFeatures to ensure any external installation
 // configs that reference it continue to see it as enabled.
 constexpr const base::Feature* kPreinstalledAppInstallFeatures[] = {
-    &kMigrateDefaultChromeAppToWebAppsGSuite,
-    &kMigrateDefaultChromeAppToWebAppsNonGSuite,
 #if BUILDFLAG(IS_CHROMEOS)
     &kCursiveManagedStylusPreinstall,
     &kMessagesPreinstall,
@@ -36,6 +34,14 @@
     // Enables installing the PWA version of the chrome os calculator instead of
     // the deprecated chrome app.
     "DefaultCalculatorWebApp",
+
+    // Enables migration of default installed GSuite apps over to their
+    // replacement web apps.
+    "MigrateDefaultChromeAppToWebAppsGSuite",
+
+    // Enables migration of default installed non-GSuite apps over to their
+    // replacement web apps.
+    "MigrateDefaultChromeAppToWebAppsNonGSuite",
 };
 
 bool g_always_enabled_for_testing = false;
@@ -56,27 +62,8 @@
 #endif
 };
 
-// Checks if the feature being passed matches any of the migration features
-// above.
-bool IsMigrationFeature(const base::Feature& feature) {
-  return &feature == &kMigrateDefaultChromeAppToWebAppsGSuite ||
-         &feature == &kMigrateDefaultChromeAppToWebAppsNonGSuite;
-}
-
 }  // namespace
 
-// Enables migration of default installed GSuite apps over to their replacement
-// web apps.
-BASE_FEATURE(kMigrateDefaultChromeAppToWebAppsGSuite,
-             "MigrateDefaultChromeAppToWebAppsGSuite",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
-// Enables migration of default installed non-GSuite apps over to their
-// replacement web apps.
-BASE_FEATURE(kMigrateDefaultChromeAppToWebAppsNonGSuite,
-             "MigrateDefaultChromeAppToWebAppsNonGSuite",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
 #if BUILDFLAG(IS_CHROMEOS)
 // Enables installing the Cursive app on managed devices with a built-in
 // stylus-capable screen.
@@ -116,15 +103,9 @@
   return false;
 }
 
+// TODO(crbug.com/1406709): Retire this method.
 bool IsAnyChromeAppToWebAppMigrationEnabled(const Profile& profile) {
-  for (const base::Feature* feature : kPreinstalledAppInstallFeatures) {
-    if (IsMigrationFeature(*feature)) {
-      if (IsPreinstalledAppInstallFeatureEnabled(feature->name, profile)) {
-        return true;
-      }
-    }
-  }
-  return false;
+  return true;
 }
 
 base::AutoReset<bool>
diff --git a/chrome/browser/web_applications/preinstalled_app_install_features.h b/chrome/browser/web_applications/preinstalled_app_install_features.h
index 8645cdc1..0b6c131 100644
--- a/chrome/browser/web_applications/preinstalled_app_install_features.h
+++ b/chrome/browser/web_applications/preinstalled_app_install_features.h
@@ -14,10 +14,6 @@
 
 namespace web_app {
 
-BASE_DECLARE_FEATURE(kMigrateDefaultChromeAppToWebAppsGSuite);
-
-BASE_DECLARE_FEATURE(kMigrateDefaultChromeAppToWebAppsNonGSuite);
-
 #if BUILDFLAG(IS_CHROMEOS)
 BASE_DECLARE_FEATURE(kCursiveManagedStylusPreinstall);
 
diff --git a/chrome/browser/web_applications/preinstalled_web_app_manager.cc b/chrome/browser/web_applications/preinstalled_web_app_manager.cc
index 600fe85..1c35912 100644
--- a/chrome/browser/web_applications/preinstalled_web_app_manager.cc
+++ b/chrome/browser/web_applications/preinstalled_web_app_manager.cc
@@ -910,13 +910,8 @@
   base::UmaHistogramCounts100(kHistogramAppToReplaceStillInstalledInShelfCount,
                               app_to_replace_still_installed_in_shelf_count);
 
-  SetMigrationRun(profile_, kMigrateDefaultChromeAppToWebAppsGSuite.name,
-                  IsPreinstalledAppInstallFeatureEnabled(
-                      kMigrateDefaultChromeAppToWebAppsGSuite.name, *profile_));
-  SetMigrationRun(
-      profile_, kMigrateDefaultChromeAppToWebAppsNonGSuite.name,
-      IsPreinstalledAppInstallFeatureEnabled(
-          kMigrateDefaultChromeAppToWebAppsNonGSuite.name, *profile_));
+  SetMigrationRun(profile_, "MigrateDefaultChromeAppToWebAppsGSuite", true);
+  SetMigrationRun(profile_, "MigrateDefaultChromeAppToWebAppsNonGSuite", true);
   if (uninstall_and_replace_count > 0) {
     for (auto& observer : observers_) {
       observer.OnMigrationRun();
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/gmail.cc b/chrome/browser/web_applications/preinstalled_web_apps/gmail.cc
index c6deb0b..95aa432a 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/gmail.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/gmail.cc
@@ -28,7 +28,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("pjkljhegncpnkpknbcohdijeoejaedia");
   options.disable_if_tablet_form_factor = true;
   options.load_and_await_service_worker_registration = false;
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_calendar.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_calendar.cc
index 0692238..d8181ce9 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_calendar.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_calendar.cc
@@ -110,7 +110,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("ejjicmeblgpmajnghnpcppodonldlgfn");
   options.disable_if_tablet_form_factor = true;
   options.load_and_await_service_worker_registration = false;
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
index 42dda56..b42e7f0 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_docs.cc
@@ -107,7 +107,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("aohghmighlieiainnegkcijnfilokake");
   options.load_and_await_service_worker_registration = false;
   options.only_use_app_info_factory = true;
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
index 38e47b6..ae3ce986 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_drive.cc
@@ -110,7 +110,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("apdfllckaahabafndbhieahigkjlhalf");
   options.load_and_await_service_worker_registration = false;
   options.launch_query_params = "usp=installed_webapp";
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
index 06a04be..cc05702 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_sheets.cc
@@ -105,7 +105,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("felcaaldnbdncclmgdcncolpebgiejap");
   options.load_and_await_service_worker_registration = false;
   options.only_use_app_info_factory = true;
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc b/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
index bca3c11..75241db 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc
@@ -105,7 +105,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed", "child"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsGSuite.name;
   options.uninstall_and_replace.push_back("aapocclcgogkmnckokdopfmhonfmgoek");
   options.load_and_await_service_worker_registration = false;
   options.only_use_app_info_factory = true;
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
index c17569c..15371e80 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc
@@ -160,8 +160,8 @@
     // This is a temporary measure while the default web app duplication
     // issue is cleaned up.
     // TODO(crbug.com/1290716): Clean up once no longer needed.
-    if (IsPreinstalledAppInstallFeatureEnabled(
-            kMigrateDefaultChromeAppToWebAppsGSuite.name, profile)) {
+    // Default installed GSuite web apps.
+    {
       PreinstalledWebAppMigration keep_migration;
       keep_migration.install_url =
           GURL("https://keep.google.com/installwebapp?usp=chrome_default");
@@ -170,8 +170,8 @@
       migrations.push_back(std::move(keep_migration));
     }
 
-    if (IsPreinstalledAppInstallFeatureEnabled(
-            kMigrateDefaultChromeAppToWebAppsNonGSuite.name, profile)) {
+    // Default installed non-GSuite web apps.
+    {
       PreinstalledWebAppMigration books_migration;
       books_migration.install_url =
           GURL("https://play.google.com/books/installwebapp?usp=chromedefault");
diff --git a/chrome/browser/web_applications/preinstalled_web_apps/youtube.cc b/chrome/browser/web_applications/preinstalled_web_apps/youtube.cc
index 18c1f906..f2abfda1 100644
--- a/chrome/browser/web_applications/preinstalled_web_apps/youtube.cc
+++ b/chrome/browser/web_applications/preinstalled_web_apps/youtube.cc
@@ -28,7 +28,6 @@
       /*install_source=*/ExternalInstallSource::kExternalDefault);
 
   options.user_type_allowlist = {"unmanaged", "managed"};
-  options.gate_on_feature = kMigrateDefaultChromeAppToWebAppsNonGSuite.name;
   options.uninstall_and_replace.push_back("blpcfgokakmgnkcojhhkbfbldkacnbeo");
   options.disable_if_tablet_form_factor = true;
   options.load_and_await_service_worker_registration = false;
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 40081fd..cae12c2 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1673632771-e97dded35603a7fa2d7ba6d9afae0de2d47d88a7.profdata
+chrome-linux-main-1673697564-51e75d236774d5c874d29da23b29785ec084c59c.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index e462611..dfa5ce7 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1673632771-2b75619b4f8333d9bd191662efd87dc893655a02.profdata
+chrome-mac-arm-main-1673697564-79588c28364f426a16bdb08c302aa748e064ca23.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index d1b88902..2af32e6 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1673632771-466da0ebaa24790e8a6996b035ccecaefabdec6c.profdata
+chrome-mac-main-1673675728-4608df4c560ec152392178dbfd9972e4d9498e41.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index 481d6dba..415cd37 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1673632771-ad9a0a79648bfd8118599cd6e889463bd930619a.profdata
+chrome-win32-main-1673697564-b0aaf7904982b7fe3159ef138d37812f499b673d.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 2c92042..459b860 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1673632771-4811fa5794771759c6e2a7831f8ff0b07d04df2f.profdata
+chrome-win64-main-1673708288-7f1bdca84da6d871a5077219c59ad7fe8d3c12e5.profdata
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 90d084a..f6becf86 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2396,18 +2396,14 @@
         "../browser/safe_browsing/download_protection/deep_scanning_browsertest.cc",
 
         # Lacros does not seem to have any actual WebView-based UI to test.
-        "../browser/ui/webui/webui_webview_browsertest.cc",
-
-        # TODO(b/223493879): Migration of Live Caption feature to LaCrOS is not
-        # finished yet. These should probably be moved to
-        # lacros_chrome_browsertests as well.
-        "../browser/accessibility/live_caption_controller_browsertest.cc",
-        "../browser/accessibility/live_caption_speech_recognition_host_browsertest.cc",
         "../browser/accessibility/live_caption_unavailability_notifier_browsertest.cc",
         "../browser/accessibility/live_translate_controller_browsertest.cc",
+        "../browser/ui/webui/webui_webview_browsertest.cc",
 
         # These tests also run on Lacros, as part of
         # lacros_chrome_browsertests_run_in_series below.
+        "../browser/accessibility/live_caption_controller_browsertest.cc",
+        "../browser/accessibility/live_caption_speech_recognition_host_browsertest.cc",
         "../browser/media/webrtc/capture_handle_browsertest.cc",
         "../browser/media/webrtc/conditional_focus_browsertest.cc",
         "../browser/media/webrtc/webrtc_getdisplaymedia_browsertest.cc",
@@ -3096,7 +3092,6 @@
         "../browser/extensions/offscreen_document_browsertest.cc",
         "../browser/extensions/options_page_apitest.cc",
         "../browser/extensions/permissions_manager_browsertest.cc",
-        "../browser/extensions/preinstalled_apps_browsertest.cc",
         "../browser/extensions/process_management_browsertest.cc",
         "../browser/extensions/process_manager_browsertest.cc",
         "../browser/extensions/process_util_browsertest.cc",
@@ -4846,6 +4841,8 @@
     ]
 
     sources = [
+      "../browser/accessibility/live_caption_controller_browsertest.cc",
+      "../browser/accessibility/live_caption_speech_recognition_host_browsertest.cc",
       "../browser/apps/intent_helper/supported_links_infobar_delegate_browsertest.cc",
       "../browser/chromeos/extensions/login_screen/login_screen_storage/login_screen_storage_apitest.cc",
       "../browser/chromeos/extensions/wallpaper_apitest.cc",
@@ -4912,6 +4909,7 @@
       ":test_support_ui",
       ":webrtc_browser_tests_base",
       "//chrome/app:command_ids",
+      "//chrome/browser/accessibility:test_support",
       "//chrome/browser/apps/app_service",
       "//chrome/browser/chromeos",
       "//chrome/browser/chromeos:test_support",
@@ -4936,6 +4934,8 @@
       "//components/feature_engagement/public:public",
       "//components/feature_engagement/test:test_support",
       "//components/infobars/content:content",
+      "//components/live_caption:constants",
+      "//components/live_caption:live_caption",
       "//components/metrics/structured",
       "//components/metrics/structured:structured_events",
       "//components/onc:onc",
@@ -4943,6 +4943,7 @@
       "//components/services/app_service/public/cpp:intents",
       "//components/services/app_service/public/cpp:preferred_apps",
       "//components/services/app_service/public/cpp:test_support",
+      "//components/soda:constants",
       "//components/user_manager:user_manager",
       "//ui/gfx/codec",
       "//ui/ozone",
@@ -4955,6 +4956,7 @@
     }
 
     data = [
+      "//content/test/data/",
       "data/banners/",
       "data/extensions/",
       "data/media/",
diff --git a/chrome/test/data/webui/cr_elements/cr_auto_img_test.ts b/chrome/test/data/webui/cr_elements/cr_auto_img_test.ts
index 68e0c0c..d98c0b4 100644
--- a/chrome/test/data/webui/cr_elements/cr_auto_img_test.ts
+++ b/chrome/test/data/webui/cr_elements/cr_auto_img_test.ts
@@ -94,7 +94,7 @@
         const autoSrc = 'https://foo.com/img.png';
 
         // Act.
-        img.setAttribute('is-google-photos', '');
+        img.toggleAttribute('is-google-photos', true);
         img.autoSrc = autoSrc;
 
         // Assert.
@@ -164,7 +164,7 @@
         const autoSrc = 'https://foo.com/img.png';
 
         // Act.
-        img.setAttribute('static-encode', '');
+        img.toggleAttribute('static-encode', true);
         img.autoSrc = autoSrc;
 
         // Assert.
@@ -181,12 +181,57 @@
       });
 
   test(
+      'setting encodeType creates a URL with autoSrc and encodeType as params',
+      () => {
+        const autoSrc = 'https://foo.com/img.png';
+
+        // Act.
+        img.encodeType = 'jpeg';
+        img.autoSrc = autoSrc;
+
+        // Assert.
+        assertEquals(
+            `chrome://image/?url=${
+                encodeURIComponent(autoSrc)}&encodeType=jpeg`,
+            img.src);
+
+        // Act.
+        img.encodeType = '';
+
+        // Assert.
+        assertEquals(`chrome://image/?${autoSrc}`, img.src);
+      });
+
+  test(
+      'setting encode-type creates a URL with autoSrc and encodeType as params',
+      () => {
+        const autoSrc = 'https://foo.com/img.png';
+
+        // Act.
+        img.setAttribute('encode-type', 'webp');
+        img.autoSrc = autoSrc;
+
+        // Assert.
+        assertEquals(
+            `chrome://image/?url=${
+                encodeURIComponent(autoSrc)}&encodeType=webp`,
+            img.src);
+
+        // Act.
+        img.removeAttribute('encode-type');
+
+        // Assert.
+        assertEquals(`chrome://image/?${autoSrc}`, img.src);
+      });
+
+  test(
       'setting multiple attributes creates a URL with all of the params',
       () => {
         const autoSrc = 'https://foo.com/img.png';
 
         // Act.
-        img.setAttribute('static-encode', '');
+        img.toggleAttribute('static-encode', true);
+        img.toggleAttribute('encode-type', true);
         img.isGooglePhotos = true;
         img.autoSrc = autoSrc;
 
@@ -194,7 +239,7 @@
         assertEquals(
             `chrome://image/?url=${
                 encodeURIComponent(
-                    autoSrc)}&isGooglePhotos=true&staticEncode=true`,
+                    autoSrc)}&isGooglePhotos=true&staticEncode=true&encodeType=`,
             img.src);
       });
 });
diff --git a/chrome/test/data/webui/new_tab_page/app_test.ts b/chrome/test/data/webui/new_tab_page/app_test.ts
index edf4116d..993dc17d 100644
--- a/chrome/test/data/webui/new_tab_page/app_test.ts
+++ b/chrome/test/data/webui/new_tab_page/app_test.ts
@@ -11,7 +11,7 @@
 import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
 import {isMac} from 'chrome://resources/js/platform.js';
 import {PromiseResolver} from 'chrome://resources/js/promise_resolver.js';
-import {assertDeepEquals, assertEquals, assertFalse, assertGE, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {assertDeepEquals, assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
 import {TestBrowserProxy} from 'chrome://webui-test/test_browser_proxy.js';
 import {eventToPromise} from 'chrome://webui-test/test_util.js';
@@ -646,9 +646,7 @@
       $$<HTMLElement>(app, '#customizeButton')!.click();
 
       // Assert.
-      const args = handler.getArgs('setCustomizeChromeSidePanelVisible');
-      assertGE(args.length, 1);
-      assertTrue(args.at(-1));
+      assertTrue(handler.getArgs('setCustomizeChromeSidePanelVisible')[0]);
     });
 
     test('clicking customize button hides side panel', async () => {
@@ -658,9 +656,7 @@
       $$<HTMLElement>(app, '#customizeButton')!.click();
 
       // Assert.
-      const args = handler.getArgs('setCustomizeChromeSidePanelVisible');
-      assertGE(args.length, 1);
-      assertFalse(args.at(-1));
+      assertFalse(handler.getArgs('setCustomizeChromeSidePanelVisible')[0]);
     });
 
     suite('modules', () => {
@@ -675,9 +671,7 @@
         $$(app, 'ntp-modules')!.dispatchEvent(new Event('customize-module'));
 
         // Assert.
-        const args = handler.getArgs('setCustomizeChromeSidePanelVisible');
-        assertGE(args.length, 1);
-        assertTrue(args.at(-1));
+        assertTrue(handler.getArgs('setCustomizeChromeSidePanelVisible')[0]);
       });
     });
 
@@ -690,9 +684,7 @@
 
       test('URL opens side panel', () => {
         // Assert.
-        const args = handler.getArgs('setCustomizeChromeSidePanelVisible');
-        assertGE(args.length, 1);
-        assertTrue(args.at(-1));
+        assertTrue(handler.getArgs('setCustomizeChromeSidePanelVisible')[0]);
       });
     });
   });
diff --git a/chrome/test/data/webui/settings/autofill_page_test.ts b/chrome/test/data/webui/settings/autofill_page_test.ts
index db65f71..2d00af3 100644
--- a/chrome/test/data/webui/settings/autofill_page_test.ts
+++ b/chrome/test/data/webui/settings/autofill_page_test.ts
@@ -13,7 +13,7 @@
 import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
 
 import {FakeSettingsPrivate} from './fake_settings_private.js';
-import {AutofillManagerExpectations, createAddressEntry, createCreditCardEntry, createExceptionEntry, createPasswordEntry, PaymentsManagerExpectations, TestAutofillManager, TestPaymentsManager} from './passwords_and_autofill_fake_data.js';
+import {AutofillManagerExpectations, createAddressEntry, createCreditCardEntry, createExceptionEntry, createIbanEntry, createPasswordEntry, PaymentsManagerExpectations, TestAutofillManager, TestPaymentsManager} from './passwords_and_autofill_fake_data.js';
 import {makeInsecureCredential} from './passwords_and_autofill_fake_data.js';
 import {TestOpenWindowProxy} from './test_open_window_proxy.js';
 import {PasswordManagerExpectations,TestPasswordManagerProxy} from './test_password_manager_proxy.js';
@@ -132,6 +132,7 @@
     const expected = new PaymentsManagerExpectations();
     expected.requestedCreditCards = 1;
     expected.listeningCreditCards = 1;
+    expected.requestedIbans = 1;
     return expected;
   }
 
@@ -248,8 +249,9 @@
 
       const addressList = [createAddressEntry(), createAddressEntry()];
       const cardList = [createCreditCardEntry(), createCreditCardEntry()];
+      const ibanList = [createIbanEntry(), createIbanEntry()];
       autofillManager.lastCallback.setPersonalDataManagerListener!
-          (addressList, cardList);
+          (addressList, cardList, ibanList);
       flush();
 
       assertEquals(
@@ -274,8 +276,9 @@
 
       const addressList = [createAddressEntry(), createAddressEntry()];
       const cardList = [createCreditCardEntry(), createCreditCardEntry()];
+      const ibanList = [createIbanEntry(), createIbanEntry()];
       paymentsManager.lastCallback.setPersonalDataManagerListener!
-          (addressList, cardList);
+          (addressList, cardList, ibanList);
       flush();
 
       assertEquals(
@@ -293,6 +296,33 @@
       destroyPrefs(prefs);
     });
   });
+
+  test('loadIbansAsync', function() {
+    return createPrefs(true, true).then(function(prefs) {
+      const element = createAutofillElement(prefs);
+
+      const addressList = [createAddressEntry(), createAddressEntry()];
+      const cardList = [createCreditCardEntry(), createCreditCardEntry()];
+      const ibanList = [createIbanEntry(), createIbanEntry()];
+      paymentsManager.lastCallback.setPersonalDataManagerListener!
+          (addressList, cardList, ibanList);
+      flush();
+
+      assertEquals(
+          ibanList,
+          element.shadowRoot!
+              .querySelector<SettingsPaymentsSectionElement>(
+                  '#paymentsSection')!.ibans);
+
+      // The callback is coming from the manager, so the element shouldn't
+      // have additional calls to the manager after the base expectations.
+      passwordManager.assertExpectations(basePasswordExpectations());
+      autofillManager.assertExpectations(baseAutofillExpectations());
+      paymentsManager.assertExpectations(basePaymentsExpectations());
+
+      destroyPrefs(prefs);
+    });
+  });
 });
 
 function createAutofillPageSection() {
diff --git a/chrome/test/data/webui/settings/chromeos/BUILD.gn b/chrome/test/data/webui/settings/chromeos/BUILD.gn
index 232fb7091..750cf25 100644
--- a/chrome/test/data/webui/settings/chromeos/BUILD.gn
+++ b/chrome/test/data/webui/settings/chromeos/BUILD.gn
@@ -180,6 +180,7 @@
   "test_os_languages_metrics_proxy.js",
   "test_os_lifetime_browser_proxy.js",
   "test_os_reset_browser_proxy.js",
+  "test_os_settings_search_box_browser_proxy.js",
   "test_os_sync_browser_proxy.js",
   "test_parental_controls_browser_proxy.js",
   "test_personalization_hub_browser_proxy.js",
diff --git a/chrome/test/data/webui/settings/chromeos/os_settings_search_box_test.js b/chrome/test/data/webui/settings/chromeos/os_settings_search_box_test.js
index d360b6e..622b805 100644
--- a/chrome/test/data/webui/settings/chromeos/os_settings_search_box_test.js
+++ b/chrome/test/data/webui/settings/chromeos/os_settings_search_box_test.js
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {AboutPageBrowserProxyImpl, OpenWindowProxyImpl, personalizationSearchMojomWebui, Router, routes, routesMojomWebui, searchMojomWebui, searchResultIconMojomWebui, setPersonalizationSearchHandlerForTesting, setSettingsSearchHandlerForTesting, settingMojomWebui, setUserActionRecorderForTesting, userActionRecorderMojomWebui} from 'chrome://os-settings/chromeos/os_settings.js';
+import {OpenWindowProxyImpl, OsSettingsSearchBoxBrowserProxyImpl, personalizationSearchMojomWebui, Router, routes, routesMojomWebui, searchMojomWebui, searchResultIconMojomWebui, setPersonalizationSearchHandlerForTesting, setSettingsSearchHandlerForTesting, settingMojomWebui, setUserActionRecorderForTesting, userActionRecorderMojomWebui} from 'chrome://os-settings/chromeos/os_settings.js';
 import {loadTimeData} from 'chrome://resources/ash/common/load_time_data.m.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {assertDeepEquals, assertEquals, assertFalse, assertNotEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
@@ -12,7 +12,7 @@
 import {FakePersonalizationSearchHandler} from './fake_personalization_search_handler.js';
 import {FakeSettingsSearchHandler} from './fake_settings_search_handler.js';
 import {FakeUserActionRecorder} from './fake_user_action_recorder.js';
-import {TestAboutPageBrowserProxyChromeOS} from './test_about_page_browser_proxy_chromeos.js';
+import {TestOsSettingsSearchBoxBrowserProxy} from './test_os_settings_search_box_browser_proxy.js';
 
 /** @fileoverview Runs tests for the OS settings search box. */
 
@@ -772,14 +772,14 @@
 
   suite('SearchFeedback_OfficialBuild', () => {
     suite('when feature flag is enabled', () => {
-      /** @type {?TestAboutPageBrowserProxyChromeOS} */
+      /** @type {?TestOsSettingsSearchBoxBrowserProxy} */
       let browserProxy = null;
 
       setup(() => {
         loadTimeData.overrideValues({searchFeedbackEnabled: true});
 
-        browserProxy = new TestAboutPageBrowserProxyChromeOS();
-        AboutPageBrowserProxyImpl.setInstanceForTesting(browserProxy);
+        browserProxy = new TestOsSettingsSearchBoxBrowserProxy();
+        OsSettingsSearchBoxBrowserProxyImpl.setInstanceForTesting(browserProxy);
 
         setupSearchBox();
       });
@@ -831,7 +831,7 @@
                 })
                 .toString();
         return browserProxy.whenCalled(
-            'openFeedbackDialog', descriptionTemplate);
+            'openSearchFeedbackDialog', descriptionTemplate);
       });
     });
 
diff --git a/chrome/test/data/webui/settings/chromeos/test_os_settings_search_box_browser_proxy.js b/chrome/test/data/webui/settings/chromeos/test_os_settings_search_box_browser_proxy.js
new file mode 100644
index 0000000..0a73090
--- /dev/null
+++ b/chrome/test/data/webui/settings/chromeos/test_os_settings_search_box_browser_proxy.js
@@ -0,0 +1,19 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import {TestBrowserProxy} from 'chrome://webui-test/test_browser_proxy.js';
+
+/** @implements {OsSettingsSearchBoxBrowserProxy} */
+export class TestOsSettingsSearchBoxBrowserProxy extends TestBrowserProxy {
+  constructor() {
+    super([
+      'openSearchFeedbackDialog',
+    ]);
+  }
+
+  /** @override */
+  openSearchFeedbackDialog() {
+    this.methodCalled('openSearchFeedbackDialog');
+  }
+}
\ No newline at end of file
diff --git a/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.ts b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.ts
index 8752234..2d7df01 100644
--- a/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.ts
+++ b/chrome/test/data/webui/settings/passwords_and_autofill_fake_data.ts
@@ -170,6 +170,23 @@
 }
 
 /**
+ * Creates a new valid IBAN entry for testing.
+ */
+export function createIbanEntry(
+    value?: string, nickname?: string): chrome.autofillPrivate.IbanEntry {
+  return {
+    guid: makeGuid(),
+    value: (value || value === '') ? value : 'CR99 0000 0000 0000 8888 88',
+    nickname: (nickname || nickname === '') ? nickname : 'My doctor\'s IBAN',
+    metadata: {
+      isLocal: true,
+      summaryLabel: ibanPatternMaker(value || 'CR99 0000 0000 0000 8888 88'),
+      summarySublabel: nickname || 'My doctor\'s IBAN',
+    },
+  };
+}
+
+/**
  * Creates a new insecure credential.
  */
 export function makeInsecureCredential(
@@ -235,6 +252,31 @@
 }
 
 /**
+ * Converts value (E.g., CH12 1234 1234 1234 1234) of IBAN to a partially masked
+ * text formatted by the following rules:
+ * 1. Reveal the first and the last four characters.
+ * 2. Mask the remaining digits.
+ * 3. The identifier string will be arranged in groups of four with a space
+ *    between each group.
+ * Examples: BE71 0961 2345 6769 will be shown as: BE71 **** **** 6769.
+ */
+function ibanPatternMaker(ibanValue: string): string {
+  let output = '';
+  const strippedValue = ibanValue.replace(/\s/g, '');
+  for (let i = 0; i < strippedValue.length; ++i) {
+    if (i % 4 === 0 && i > 0) {
+      output += ' ';
+    }
+    if (i < 4 || i >= strippedValue.length - 4) {
+      output += strippedValue.charAt(i);
+    } else {
+      output += `*`;
+    }
+  }
+  return output;
+}
+
+/**
  * Helper class for creating password-section sub-element from fake data and
  * appending them to the document.
  */
@@ -449,6 +491,7 @@
   removedCreditCards: number = 0;
   clearedCachedCreditCards: number = 0;
   addedVirtualCards: number = 0;
+  requestedIbans: number = 0;
 }
 
 /**
@@ -460,6 +503,7 @@
 
   data: {
     creditCards: chrome.autofillPrivate.CreditCardEntry[],
+    ibans: chrome.autofillPrivate.IbanEntry[],
     upiIds: string[],
   };
 
@@ -471,6 +515,7 @@
       'setPersonalDataManagerListener',
       'removePersonalDataManagerListener',
       'getCreditCardList',
+      'getIbanList',
       'getUpiIdList',
       'clearCachedCreditCard',
       'removeCreditCard',
@@ -480,6 +525,7 @@
     // Set these to have non-empty data.
     this.data = {
       creditCards: [],
+      ibans: [],
       upiIds: [],
     };
 
@@ -530,6 +576,14 @@
 
   removeVirtualCard(_cardId: string) {}
 
+  saveIban(_iban: chrome.autofillPrivate.IbanEntry) {}
+
+  getIbanList() {
+    this.methodCalled('getIbanList');
+    return Promise.resolve(this.data.ibans);
+  }
+
+
   setIsUserVerifyingPlatformAuthenticatorAvailable(available: boolean|null) {
     this.isUserVerifyingPlatformAuthenticatorAvailable_ = available;
   }
@@ -555,5 +609,6 @@
         this.getCallCount('clearCachedCreditCard'));
     assertEquals(
         expected.addedVirtualCards, this.getCallCount('addVirtualCard'));
+    assertEquals(expected.requestedIbans, this.getCallCount('getIbanList'));
   }
 }
diff --git a/chrome/test/data/webui/settings/payments_section_interactive_test.ts b/chrome/test/data/webui/settings/payments_section_interactive_test.ts
index 32cf882..1b9bb548 100644
--- a/chrome/test/data/webui/settings/payments_section_interactive_test.ts
+++ b/chrome/test/data/webui/settings/payments_section_interactive_test.ts
@@ -7,7 +7,7 @@
 
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 import {CrButtonElement, loadTimeData} from 'chrome://settings/settings.js';
-import {CrInputElement, PaymentsManagerImpl, SettingsCreditCardEditDialogElement, SettingsPaymentsSectionElement} from 'chrome://settings/lazy_load.js';
+import {CrInputElement, PaymentsManagerImpl, SettingsCreditCardEditDialogElement, SettingsIbanEditDialogElement, SettingsPaymentsSectionElement} from 'chrome://settings/lazy_load.js';
 import {assertEquals, assertFalse, assertNotEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {eventToPromise, isVisible, whenAttributeIs} from 'chrome://webui-test/test_util.js';
 import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
@@ -33,14 +33,16 @@
   });
 
   /**
-   * Creates the payments section for the given credit card list.
+   * Creates the payments section for the given credit card and IBAN list.
    */
   async function createPaymentsSection(
-      creditCards: chrome.autofillPrivate.CreditCardEntry[]):
+      creditCards: chrome.autofillPrivate.CreditCardEntry[],
+      ibans: chrome.autofillPrivate.IbanEntry[]):
       Promise<SettingsPaymentsSectionElement> {
     // Override the PaymentsManagerImpl for testing.
     const paymentsManager = new TestPaymentsManager();
     paymentsManager.data.creditCards = creditCards;
+    paymentsManager.data.ibans = ibans;
     PaymentsManagerImpl.setInstance(paymentsManager);
 
     const section = document.createElement('settings-payments-section');
@@ -56,7 +58,8 @@
    */
   async function createAddCreditCardDialog():
       Promise<SettingsCreditCardEditDialogElement> {
-    const section = await createPaymentsSection(/*creditCards=*/[]);
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], /*ibans=*/[]);
     // Simulate clicking "Add" button in payments section.
     assertFalse(!!section.shadowRoot!.querySelector(
         'settings-credit-card-edit-dialog'));
@@ -77,7 +80,8 @@
    */
   async function createAddCreditCardDialogFromDropdown():
       Promise<SettingsCreditCardEditDialogElement> {
-    const section = await createPaymentsSection(/*creditCards=*/[]);
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], /*ibans=*/[]);
     // Simulate clicking "Add" button in payments section.
     assertFalse(!!section.shadowRoot!.querySelector(
         'settings-credit-card-edit-dialog'));
@@ -101,6 +105,36 @@
   }
 
   /**
+   * Creates the Add IBAN dialog. Simulate clicking "IBAN" option from the
+   * dropdown list.
+   */
+  async function createAddIbanDialogFromDropdown():
+      Promise<SettingsIbanEditDialogElement> {
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], /*ibans=*/[]);
+    // Simulate clicking "Add" button in payments section.
+    assertFalse(!!section.shadowRoot!.querySelector(
+        'settings-credit-card-edit-dialog'));
+    const addpaymentMethodsButton =
+        section.shadowRoot!.querySelector<CrButtonElement>(
+            '#addPaymentMethods');
+    assertTrue(!!addpaymentMethodsButton);
+    addpaymentMethodsButton.click();
+    flush();
+
+    // Simulate clicking the 'IBAN' option in the menu.
+    const addIbanOption =
+        section.shadowRoot!.querySelector<CrButtonElement>('#addIban');
+    assertTrue(!!addIbanOption);
+    addIbanOption.click();
+    flush();
+    const ibanDialog =
+        section.shadowRoot!.querySelector('settings-iban-edit-dialog');
+    assertTrue(!!ibanDialog);
+    return ibanDialog!;
+  }
+
+  /**
    * Creates the Edit Credit Card dialog for existing local card by simulating
    * clicking three-dots menu button then clicking editing button of the first
    * card in the card list.
@@ -108,7 +142,7 @@
   async function createEditCreditCardDialog(
       creditCards: chrome.autofillPrivate.CreditCardEntry[]):
       Promise<SettingsCreditCardEditDialogElement> {
-    const section = await createPaymentsSection(creditCards);
+    const section = await createPaymentsSection(creditCards, /*ibans=*/[]);
     // Simulate clicking three-dots menu button for the first card in the list.
     const rowShadowRoot =
         section.$.paymentsList.shadowRoot!
@@ -523,4 +557,91 @@
     }
   });
 
+  test('add iban dialog from dropdown list', async function() {
+    loadTimeData.overrideValues({
+      showIbansSettings: true,
+    });
+    const ibanDialog = await createAddIbanDialogFromDropdown();
+
+    // Wait for the dialog to open.
+    await whenAttributeIs(ibanDialog.$.dialog, 'open', '');
+
+    const nicknameInput = ibanDialog.$.nicknameInput;
+    const valueInput = ibanDialog.$.valueInput;
+
+    // Verify the value and nickname input fields are shown.
+    assertTrue(!!valueInput);
+    assertTrue(!!nicknameInput);
+  });
+
+  test('save new IBAN', async function() {
+    loadTimeData.overrideValues({
+      showIbansSettings: true,
+    });
+    const ibanDialog = await createAddIbanDialogFromDropdown();
+
+    // Wait for the dialog to open.
+    await whenAttributeIs(ibanDialog.$.dialog, 'open', '');
+
+    const nicknameInput = ibanDialog.$.nicknameInput;
+    const valueInput = ibanDialog.$.valueInput;
+    const characterCount =
+        ibanDialog.shadowRoot!.querySelector<HTMLElement>('#charCount');
+
+    assertTrue(!!characterCount);
+    assertFalse(isVisible(characterCount));
+    // User clicks on nickname input.
+    nicknameInput!.focus();
+    // Character count is shown when nickname input field is focused.
+    assertTrue(isVisible(characterCount));
+    // For new IBAN, the nickname is unset.
+    assertTrue(characterCount.textContent!.includes('0/25'));
+
+    // Fill in IBAN value and nickname, and trigger the on-input handler.
+    nicknameInput.value = 'My doctor\'s IBAN';
+    assertTrue(characterCount.textContent!.includes('16/25'));
+
+    valueInput.value = 'IT60X0542811101000000123456';
+    flush();
+
+    const savedPromise = eventToPromise('save-iban', ibanDialog);
+    const saveButton = ibanDialog.$.saveButton;
+    saveButton!.click();
+    const saveEvent = await savedPromise;
+
+    // Verify the input values are correctly passed to save-iban.
+    // `guid` is undefined when saving a new IBAN.
+    assertEquals(saveEvent.detail.guid, undefined);
+    assertEquals(saveEvent.detail.value, 'IT60X0542811101000000123456');
+    assertEquals(saveEvent.detail.nickname, 'My doctor\'s IBAN');
+  });
+
+  test('trim IBAN when saving', async function() {
+    loadTimeData.overrideValues({
+      showIbansSettings: true,
+    });
+    const ibanDialog = await createAddIbanDialogFromDropdown();
+
+    // Wait for the dialog to open.
+    await whenAttributeIs(ibanDialog.$.dialog, 'open', '');
+
+    // Fill in IBAN value and nickname, and trigger the on-input handler.
+    const nicknameInput = ibanDialog.$.nicknameInput;
+    const valueInput = ibanDialog.$.valueInput;
+    nicknameInput.value = '   My doctor\'s IBAN  ';
+    valueInput.value = '  IT60 X054 2811 1010 0000 0123 456 ';
+    flush();
+
+    const savedPromise = eventToPromise('save-iban', ibanDialog);
+    const saveButton = ibanDialog.$.saveButton;
+    saveButton.click();
+    const saveEvent = await savedPromise;
+
+    // Verify the input values are correctly passed to save-iban.
+    // `guid` is undefined when saving a new IBAN.
+    assertEquals(saveEvent.detail.guid, undefined);
+    assertEquals(saveEvent.detail.value, 'IT60 X054 2811 1010 0000 0123 456');
+    assertEquals(saveEvent.detail.nickname, 'My doctor\'s IBAN');
+  });
+
 });
diff --git a/chrome/test/data/webui/settings/payments_section_test.ts b/chrome/test/data/webui/settings/payments_section_test.ts
index 79ad13d..56857a07 100644
--- a/chrome/test/data/webui/settings/payments_section_test.ts
+++ b/chrome/test/data/webui/settings/payments_section_test.ts
@@ -4,13 +4,13 @@
 
 // clang-format off
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-import {PaymentsManagerImpl, SettingsCreditCardEditDialogElement, SettingsPaymentsSectionElement, SettingsVirtualCardUnenrollDialogElement} from 'chrome://settings/lazy_load.js';
+import {PaymentsManagerImpl, SettingsCreditCardEditDialogElement, SettingsIbanEditDialogElement, SettingsPaymentsSectionElement, SettingsVirtualCardUnenrollDialogElement} from 'chrome://settings/lazy_load.js';
 import {CrButtonElement, loadTimeData, MetricsBrowserProxyImpl, PrivacyElementInteractions, SettingsToggleButtonElement} from 'chrome://settings/settings.js';
 import {assertEquals, assertFalse, assertNotEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {eventToPromise, whenAttributeIs} from 'chrome://webui-test/test_util.js';
 import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
 
-import {createCreditCardEntry, createEmptyCreditCardEntry, PaymentsManagerExpectations,TestPaymentsManager} from './passwords_and_autofill_fake_data.js';
+import {createCreditCardEntry, createIbanEntry, createEmptyCreditCardEntry, PaymentsManagerExpectations,TestPaymentsManager} from './passwords_and_autofill_fake_data.js';
 import {TestMetricsBrowserProxy} from './test_metrics_browser_proxy.js';
 
 // clang-format on
@@ -54,11 +54,13 @@
    * @param {!Object} prefValues
    */
   async function createPaymentsSection(
-      creditCards: chrome.autofillPrivate.CreditCardEntry[], upiIds: string[],
+      creditCards: chrome.autofillPrivate.CreditCardEntry[],
+      ibans: chrome.autofillPrivate.IbanEntry[], upiIds: string[],
       prefValues: any): Promise<SettingsPaymentsSectionElement> {
     // Override the PaymentsManagerImpl for testing.
     const paymentsManager = new TestPaymentsManager();
     paymentsManager.data.creditCards = creditCards;
+    paymentsManager.data.ibans = ibans;
     paymentsManager.data.upiIds = upiIds;
     PaymentsManagerImpl.setInstance(paymentsManager);
 
@@ -84,6 +86,18 @@
   }
 
   /**
+   * Creates the Edit IBAN dialog.
+   */
+  function createIbanDialog(ibanItem: chrome.autofillPrivate.IbanEntry):
+      SettingsIbanEditDialogElement {
+    const dialog = document.createElement('settings-iban-edit-dialog');
+    dialog.iban = ibanItem;
+    document.body.appendChild(dialog);
+    flush();
+    return dialog;
+  }
+
+  /**
    * Creates a virtual card unenroll dialog.
    */
   function createVirtualCardUnenrollDialog(
@@ -114,6 +128,15 @@
   }
 
   /**
+   * Returns an array containing all local IBAN items.
+   */
+  function getLocalIbanListItems() {
+    return document.body.querySelector('settings-payments-section')!.shadowRoot!
+        .querySelector('#paymentsList')!.shadowRoot!.querySelectorAll(
+            'settings-iban-list-entry')!;
+  }
+
+  /**
    * Returns the shadow root of the card row from the specified list of
    * payment methods.
    */
@@ -121,7 +144,18 @@
     const row = paymentsList.shadowRoot!.querySelector(
         'settings-credit-card-list-entry');
     assertTrue(!!row);
-    return row!.shadowRoot!;
+    return row.shadowRoot!;
+  }
+
+  /**
+   * Returns the shadow root of the IBAN row from the specified list of
+   * payment methods.
+   */
+  function getIbanRowShadowRoot(paymentsList: HTMLElement): ShadowRoot {
+    const row =
+        paymentsList.shadowRoot!.querySelector('settings-iban-list-entry');
+    assertTrue(!!row);
+    return row.shadowRoot!;
   }
 
   /**
@@ -132,7 +166,7 @@
     const row =
         paymentsList.shadowRoot!.querySelector('settings-upi-id-list-entry');
     assertTrue(!!row);
-    return row!.shadowRoot!;
+    return row.shadowRoot!;
   }
 
   /**
@@ -146,12 +180,13 @@
     expected.removedCreditCards = 0;
     expected.clearedCachedCreditCards = 0;
     expected.addedVirtualCards = 0;
+    expected.requestedIbans = 1;
     return expected;
   }
 
   test('verifyNoCreditCards', async function() {
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: true}});
 
     const creditCardList = section.$.paymentsList;
@@ -184,7 +219,7 @@
       showIbansSettings: false,
     });
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: false}});
 
     assertFalse(section.$.autofillCreditCardToggle.disabled);
@@ -208,7 +243,8 @@
     ];
 
     const section = await createPaymentsSection(
-        creditCards, /*upiIds=*/[], {credit_card_enabled: {value: true}});
+        creditCards, /*ibans=*/[], /*upiIds=*/[],
+        {credit_card_enabled: {value: true}});
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
     assertEquals(
@@ -238,7 +274,7 @@
   test('verifyCreditCardFields', async function() {
     const creditCard = createCreditCardEntry();
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
     assertEquals(
         creditCard.metadata!.summaryLabel,
@@ -254,7 +290,7 @@
     const creditCard = createCreditCardEntry();
     creditCard.metadata!.isLocal = true;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
     const menuButton = rowShadowRoot.querySelector('#creditCardMenu');
     assertTrue(!!menuButton);
@@ -267,14 +303,15 @@
     let creditCard = createCreditCardEntry();
     creditCard.metadata!.isLocal = true;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
     const menuButton = rowShadowRoot.querySelector('#creditCardMenu');
     assertTrue(!!menuButton);
     const updateCreditCardCallback =
         (creditCard: chrome.autofillPrivate.CreditCardEntry) => {
           (PaymentsManagerImpl.getInstance() as TestPaymentsManager)
-              .lastCallback.setPersonalDataManagerListener!([], [creditCard]);
+              .lastCallback.setPersonalDataManagerListener!
+              ([], [creditCard], []);
           flush();
         };
 
@@ -315,7 +352,7 @@
     const creditCard = createCreditCardEntry();
     creditCard.metadata!.isLocal = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
     const menuButton = rowShadowRoot.querySelector('#creditCardMenu');
     assertFalse(!!menuButton);
@@ -334,7 +371,7 @@
     creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
     creditCard.metadata!.isVirtualCardEnrolled = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
@@ -351,7 +388,7 @@
     const creditCard = createCreditCardEntry();
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
@@ -373,7 +410,7 @@
         creditCard.metadata!.isVirtualCardEnrollmentEligible = true;
         creditCard.metadata!.isVirtualCardEnrolled = false;
         const section = await createPaymentsSection(
-            [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+            [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
         const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
         const menuButton = rowShadowRoot.querySelector('#creditCardMenu');
         assertTrue(!!menuButton);
@@ -388,7 +425,7 @@
     creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
     creditCard.metadata!.isVirtualCardEnrolled = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
@@ -408,7 +445,7 @@
         creditCard.metadata!.isVirtualCardEnrolled = false;
         creditCard.metadata!.summarySublabel = '';
         const section = await createPaymentsSection(
-            [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+            [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
         const creditCardList = section.$.paymentsList;
         assertTrue(!!creditCardList);
@@ -428,7 +465,7 @@
         creditCard.metadata!.isVirtualCardEnrollmentEligible = true;
         creditCard.metadata!.isVirtualCardEnrolled = false;
         const section = await createPaymentsSection(
-            [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+            [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
         const creditCardList = section.$.paymentsList;
         assertTrue(!!creditCardList);
@@ -454,7 +491,7 @@
         creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
         creditCard.metadata!.isVirtualCardEnrolled = true;
         const section = await createPaymentsSection(
-            [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+            [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
         const creditCardList = section.$.paymentsList;
         assertTrue(!!creditCardList);
@@ -480,7 +517,7 @@
         creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
         creditCard.metadata!.isVirtualCardEnrolled = true;
         const section = await createPaymentsSection(
-            [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+            [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
         const creditCardList = section.$.paymentsList;
         assertTrue(!!creditCardList);
@@ -506,7 +543,7 @@
     creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
     creditCard.metadata!.isVirtualCardEnrolled = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
@@ -526,7 +563,7 @@
     creditCard.metadata!.isVirtualCardEnrollmentEligible = false;
     creditCard.metadata!.isVirtualCardEnrolled = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
@@ -542,7 +579,7 @@
     });
     const creditCard = createCreditCardEntry();
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const creditCardList = section.$.paymentsList;
     assertTrue(!!creditCardList);
@@ -751,7 +788,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     // Local credit cards will show the overflow menu.
@@ -784,7 +821,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     // Cached remote CCs will show overflow menu.
@@ -817,7 +854,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     // No overflow menu when not cached.
@@ -835,7 +872,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     // Server cards that are eligible for virtual card enrollment should show
@@ -869,7 +906,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = true;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     // Server cards that are eligible for virtual card enrollment should show
@@ -903,7 +940,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
@@ -934,7 +971,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
@@ -965,7 +1002,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = false;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
@@ -995,7 +1032,7 @@
     creditCard.metadata!.isVirtualCardEnrolled = true;
 
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], /*prefValues=*/ {});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
     assertEquals(1, getLocalAndServerCreditCardListItems().length);
 
     const rowShadowRoot = getCardRowShadowRoot(section.$.paymentsList);
@@ -1037,7 +1074,8 @@
     const creditCard = createCreditCardEntry();
     creditCard.metadata!.isMigratable = true;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], {credit_card_enabled: {value: true}});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[],
+        {credit_card_enabled: {value: true}});
 
     assertTrue(section.$.migrateCreditCards.hidden);
   });
@@ -1048,7 +1086,8 @@
     creditCard.metadata!.isMigratable = true;
     // Mock credit card save toggle is turned off by users.
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], {credit_card_enabled: {value: false}});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[],
+        {credit_card_enabled: {value: false}});
 
     assertTrue(section.$.migrateCreditCards.hidden);
   });
@@ -1059,7 +1098,8 @@
     // Mock credit card is not valid.
     creditCard.metadata!.isMigratable = false;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], {credit_card_enabled: {value: true}});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[],
+        {credit_card_enabled: {value: true}});
 
     assertTrue(section.$.migrateCreditCards.hidden);
   });
@@ -1069,7 +1109,8 @@
     const creditCard = createCreditCardEntry();
     creditCard.metadata!.isMigratable = true;
     const section = await createPaymentsSection(
-        [creditCard], /*upiIds=*/[], {credit_card_enabled: {value: true}});
+        [creditCard], /*ibans=*/[], /*upiIds=*/[],
+        {credit_card_enabled: {value: true}});
 
     assertFalse(section.$.migrateCreditCards.hidden);
   });
@@ -1079,7 +1120,7 @@
     loadTimeData.overrideValues({fidoAuthenticationAvailableForAutofill: true});
     addFakePlatformAuthenticator();
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: true}});
 
     assertTrue(!!section.shadowRoot!.querySelector(
@@ -1091,7 +1132,7 @@
     loadTimeData.overrideValues(
         {fidoAuthenticationAvailableForAutofill: false});
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: true}});
     assertFalse(!!section.shadowRoot!.querySelector(
         '#autofillCreditCardFIDOAuthToggle'));
@@ -1101,8 +1142,8 @@
     // Set FIDO auth pref value to true.
     loadTimeData.overrideValues({fidoAuthenticationAvailableForAutofill: true});
     addFakePlatformAuthenticator();
-    const section =
-        await createPaymentsSection(/*creditCards=*/[], /*upiIds=*/[], {
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[], {
           credit_card_enabled: {value: true},
           credit_card_fido_auth_enabled: {value: true},
         });
@@ -1115,8 +1156,8 @@
     // Set FIDO auth pref value to false.
     loadTimeData.overrideValues({fidoAuthenticationAvailableForAutofill: true});
     addFakePlatformAuthenticator();
-    const section =
-        await createPaymentsSection(/*creditCards=*/[], /*upiIds=*/[], {
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[], {
           credit_card_enabled: {value: true},
           credit_card_fido_auth_enabled: {value: false},
         });
@@ -1129,7 +1170,8 @@
     loadTimeData.overrideValues({showUpiIdSettings: true});
 
     const section = await createPaymentsSection(
-        /*creditCards=*/[], ['vpa@indianbank'], /*prefValues=*/ {});
+        /*creditCards=*/[], /*ibans=*/[], ['vpa@indianbank'],
+        /*prefValues=*/ {});
     const rowShadowRoot = getUPIRowShadowRoot(section.$.paymentsList);
     assertTrue(!!rowShadowRoot);
     assertEquals(
@@ -1141,7 +1183,7 @@
     loadTimeData.overrideValues({showUpiIdSettings: true});
 
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[], /*prefValues=*/ {});
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     const paymentsList = section.$.paymentsList;
     const upiRows =
@@ -1155,7 +1197,7 @@
 
     const upiIds = ['vpa1@indianbank', 'vpa2@indianbank'];
     const section = await createPaymentsSection(
-        /*creditCards=*/[], upiIds, /*prefValues=*/ {});
+        /*creditCards=*/[], /*ibans=*/[], upiIds, /*prefValues=*/ {});
 
     const paymentsList = section.$.paymentsList;
     const upiRows =
@@ -1170,7 +1212,7 @@
 
     const upiIds = ['vpa1@indianbank'];
     const section = await createPaymentsSection(
-        /*creditCards=*/[], upiIds, /*prefValues=*/ {});
+        /*creditCards=*/[], /*ibans=*/[], upiIds, /*prefValues=*/ {});
 
     const paymentsList = section.$.paymentsList;
     const upiRows =
@@ -1184,7 +1226,7 @@
     MetricsBrowserProxyImpl.setInstance(testMetricsBrowserProxy);
 
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[], /*prefValues=*/ {});
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[], /*prefValues=*/ {});
 
     section.$.canMakePaymentToggle.click();
     const result =
@@ -1209,7 +1251,7 @@
   test(
       'verifyNoAddPaymentMethodsButtonIfPaymentPrefDisabled', async function() {
         const section = await createPaymentsSection(
-            /*creditCards=*/[], /*upiIds=*/[],
+            /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
             {credit_card_enabled: {value: false}});
 
         const addPaymentMethodsButton =
@@ -1224,7 +1266,7 @@
       showIbansSettings: false,
     });
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: true}});
     const addPaymentMethodsButton =
         section.shadowRoot!.querySelector<CrButtonElement>(
@@ -1239,7 +1281,7 @@
 
   test('verifyAddCardOrIbanPaymentMenu', async function() {
     const section = await createPaymentsSection(
-        /*creditCards=*/[], /*upiIds=*/[],
+        /*creditCards=*/[], /*ibans=*/[], /*upiIds=*/[],
         {credit_card_enabled: {value: true}});
     const addPaymentMethodsButton =
         section.shadowRoot!.querySelector<CrButtonElement>(
@@ -1260,4 +1302,66 @@
     assertFalse(addIbanButton.hidden);
   });
 
+  test('verifyListingAllLocalIBANs', async function() {
+    const iban1 = createIbanEntry();
+    const iban2 = createIbanEntry();
+    await createPaymentsSection(
+        /*creditCards=*/[], [iban1, iban2], /*upiIds=*/[], /*prefValues=*/ {});
+
+    assertEquals(2, getLocalIbanListItems().length);
+  });
+
+  test('verifyIbanSummarySublabelWithNickname', async function() {
+    const iban = createIbanEntry('BA393385804800211234', 'My doctor\'s IBAN');
+
+    const section = await createPaymentsSection(
+        /*creditCards=*/[], [iban], /*upiIds=*/[], /*prefValues=*/ {});
+
+    assertEquals(1, getLocalIbanListItems().length);
+
+    const ibanItemValue = getIbanRowShadowRoot(section.$.paymentsList)
+                              .querySelector<HTMLElement>('#value');
+    const ibanItemNickname = getIbanRowShadowRoot(section.$.paymentsList)
+                                 .querySelector<HTMLElement>('#nickname');
+
+    assertTrue(!!ibanItemValue);
+    assertTrue(!!ibanItemNickname);
+    assertEquals('BA39 **** **** **** 1234', ibanItemValue.textContent!.trim());
+    assertEquals('My doctor\'s IBAN', ibanItemNickname.textContent!.trim());
+  });
+
+  test('verifySavingNewIBAN', async function() {
+    // Creates an IBAN with empty value and nickname.
+    const iban = createIbanEntry('', '');
+    const ibanDialog = createIbanDialog(iban);
+
+    await whenAttributeIs(ibanDialog.$.dialog, 'open', '');
+
+    const saveButton = ibanDialog.$.saveButton;
+    assertTrue(!!saveButton);
+    // Can't be saved, because there's no value.
+    assertTrue(saveButton.disabled);
+
+    // Add invalid IBAN value.
+    const valueInput = ibanDialog.$.valueInput;
+    valueInput.value = '11112222333344445678';
+    flush();
+    // Can't be saved, because the value of IBAN is invalid.
+    assertTrue(saveButton.disabled);
+
+    // Add valid IBAN value.
+    valueInput.value = 'FI1410093000123458';
+    flush();
+    // Can be saved, because the value of IBAN is valid.
+    assertFalse(saveButton.disabled);
+
+    const savePromise = eventToPromise('save-iban', ibanDialog);
+    saveButton.click();
+    const event = await savePromise;
+
+    assertEquals(undefined, event.detail.guid);
+    assertEquals('FI1410093000123458', event.detail.value);
+    assertEquals('', event.detail.nickname);
+  });
+
 });
diff --git a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts
index 78b0280..36cf4311 100644
--- a/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts
+++ b/chrome/test/data/webui/side_panel/bookmarks/power_bookmarks_list_test.ts
@@ -93,6 +93,8 @@
   });
 
   test('DefaultsToSortByNewest', () => {
+    flush();
+
     const bookmarkElements = getBookmarkElements(powerBookmarksList);
     // All folders should come first
     assertEquals(bookmarkElements[0]!.id, 'bookmark-5');
@@ -108,6 +110,7 @@
       title: 'New title',
       url: 'http://new/url',
     });
+    flush();
 
     const bookmarkElement = getBookmarkElements(powerBookmarksList)[2]!;
     assertEquals(
diff --git a/chrome/test/data/webui/side_panel/customize_chrome/app_test.ts b/chrome/test/data/webui/side_panel/customize_chrome/app_test.ts
index 4479a2155..f978431 100644
--- a/chrome/test/data/webui/side_panel/customize_chrome/app_test.ts
+++ b/chrome/test/data/webui/side_panel/customize_chrome/app_test.ts
@@ -44,21 +44,22 @@
     assertTrue(
         customizeChromeApp.$.themesPage.classList.contains('iron-selected'));
 
-    // Send event for theme selected.
-    customizeChromeApp.$.themesPage.dispatchEvent(new Event('theme-select'));
-    // Current page should now be overview.
-    assertTrue(
-        customizeChromeApp.$.overviewPage.classList.contains('iron-selected'));
-
-    // Set page back to themes and then go back a page.
-    customizeChromeApp.$.categoriesPage.dispatchEvent(
-        new CustomEvent<BackgroundCollection>(
-            'collection-select', {detail: testCollection}));
+    // Send event for back click.
     customizeChromeApp.$.themesPage.dispatchEvent(new Event('back-click'));
     // Current page should now be categories.
     assertTrue(customizeChromeApp.$.categoriesPage.classList.contains(
         'iron-selected'));
-    // Go back again.
+
+    // Send event for upload image.
+    customizeChromeApp.$.categoriesPage.dispatchEvent(
+        new Event('local-image-upload'));
+    // Current page should now be overview.
+    assertTrue(
+        customizeChromeApp.$.overviewPage.classList.contains('iron-selected'));
+
+    // Set page back to categories and go back a page.
+    customizeChromeApp.$.appearanceElement.dispatchEvent(
+        new Event('edit-theme-click'));
     customizeChromeApp.$.categoriesPage.dispatchEvent(new Event('back-click'));
     // Current page should now be overview.
     assertTrue(
diff --git a/chrome/test/data/webui/side_panel/customize_chrome/categories_test.ts b/chrome/test/data/webui/side_panel/customize_chrome/categories_test.ts
index a3c3951e..b9200e1e 100644
--- a/chrome/test/data/webui/side_panel/customize_chrome/categories_test.ts
+++ b/chrome/test/data/webui/side_panel/customize_chrome/categories_test.ts
@@ -88,13 +88,9 @@
     assertTrue(!!event);
   });
 
-  test('clicking classic chrome sets theme and sends event', async () => {
+  test('clicking classic chrome sets theme', async () => {
     await setInitialSettings(0);
-
-    const eventPromise = eventToPromise('theme-select', categoriesElement);
     categoriesElement.$.classicChromeTile.click();
-    const event = await eventPromise;
-    assertTrue(!!event);
     assertEquals(1, handler.getCallCount('setClassicChromeDefaultTheme'));
   });
 
@@ -104,7 +100,8 @@
       success: true,
     }));
 
-    const eventPromise = eventToPromise('theme-select', categoriesElement);
+    const eventPromise =
+        eventToPromise('local-image-upload', categoriesElement);
     categoriesElement.$.uploadImageTile.click();
     const event = await eventPromise;
     assertTrue(!!event);
diff --git a/chrome/test/data/webui/side_panel/customize_chrome/themes_test.ts b/chrome/test/data/webui/side_panel/customize_chrome/themes_test.ts
index ad5bf56..bde683b 100644
--- a/chrome/test/data/webui/side_panel/customize_chrome/themes_test.ts
+++ b/chrome/test/data/webui/side_panel/customize_chrome/themes_test.ts
@@ -71,18 +71,13 @@
     assertTrue(!!event);
   });
 
-  test('set theme and send event on theme click', async () => {
+  test('set theme on theme click', async () => {
     await setCollection('test', 2);
 
-    // Check that clicking a theme produces a theme-select event.
-    const eventPromise = eventToPromise('theme-select', themesElement);
+    // Check that setBackgroundImage was called on click.
     const theme =
         themesElement.shadowRoot!.querySelector('.theme')! as HTMLButtonElement;
     theme.click();
-    const event = await eventPromise;
-    assertTrue(!!event);
-
-    // Check that setBackgroundImage was called on click.
     assertEquals(1, handler.getCallCount('setBackgroundImage'));
   });
 
diff --git a/chromeos/ash/components/network/geolocation_handler.cc b/chromeos/ash/components/network/geolocation_handler.cc
index 0b2a4bd..83e2055 100644
--- a/chromeos/ash/components/network/geolocation_handler.cc
+++ b/chromeos/ash/components/network/geolocation_handler.cc
@@ -105,7 +105,7 @@
     return;
 
   const base::Value* value =
-      properties->FindKey(shill::kEnabledTechnologiesProperty);
+      properties->GetDict().Find(shill::kEnabledTechnologiesProperty);
   if (value)
     HandlePropertyChanged(shill::kEnabledTechnologiesProperty, *value);
 }
@@ -164,19 +164,18 @@
   //   kGeoCellTowersProperty: [ {kGeoCellIdProperty: cell_id_value, ...}, ... ]
   // }
   for (auto* device_type : kDevicePropertyNames) {
-    const base::Value* entry_list = properties->FindKey(device_type);
+    const base::Value::List* entry_list =
+        properties->GetDict().FindList(device_type);
     if (!entry_list) {
-      continue;
-    }
-
-    if (!entry_list->is_list()) {
-      LOG(WARNING) << "Geolocation dictionary value not a List: "
-                   << device_type;
+      if (properties->GetDict().contains(device_type)) {
+        LOG(WARNING) << "Geolocation dictionary value not a List: "
+                     << device_type;
+      }
       continue;
     }
 
     // List[Dictionary<key, value_str>]
-    for (const auto& entry : entry_list->GetList()) {
+    for (const auto& entry : *entry_list) {
       if (!entry.is_dict()) {
         LOG(WARNING) << "Geolocation list value not a Dictionary";
         continue;
diff --git a/chromeos/ash/components/network/network_profile_handler.cc b/chromeos/ash/components/network/network_profile_handler.cc
index fcda400..06e85d8 100644
--- a/chromeos/ash/components/network/network_profile_handler.cc
+++ b/chromeos/ash/components/network/network_profile_handler.cc
@@ -78,7 +78,8 @@
     return;
   }
 
-  const base::Value* profiles = properties->FindKey(shill::kProfilesProperty);
+  const base::Value* profiles =
+      properties->GetDict().Find(shill::kProfilesProperty);
   if (!profiles) {
     LOG(ERROR) << "Manager properties returned from Shill don't contain "
                << "the field " << shill::kProfilesProperty;
diff --git a/chromeos/ash/components/network/onc/onc_translator_onc_to_shill.cc b/chromeos/ash/components/network/onc/onc_translator_onc_to_shill.cc
index 98dbcc87..80c9fff 100644
--- a/chromeos/ash/components/network/onc/onc_translator_onc_to_shill.cc
+++ b/chromeos/ash/components/network/onc/onc_translator_onc_to_shill.cc
@@ -288,7 +288,7 @@
                           shill::kSaveCredentialsProperty);
 
   const base::Value* lcp_echo_disabled =
-      onc_object_->FindKey(::onc::l2tp::kLcpEchoDisabled);
+      onc_object_->GetDict().Find(::onc::l2tp::kLcpEchoDisabled);
   if (lcp_echo_disabled) {
     base::Value lcp_echo_disabled_value =
         ConvertVpnValueToString(*lcp_echo_disabled);
@@ -392,10 +392,10 @@
 
   // Set shill::kEapUseLoginPasswordProperty according to whether or not the
   // password substitution variable is set.
-  const base::Value* password_field =
-      onc_object_->FindKey(::onc::eap::kPassword);
-  if (password_field && password_field->GetString() ==
-                            ::onc::substitutes::kPasswordPlaceholderVerbatim) {
+  const std::string* password_field =
+      onc_object_->GetDict().FindString(::onc::eap::kPassword);
+  if (password_field &&
+      *password_field == ::onc::substitutes::kPasswordPlaceholderVerbatim) {
     shill_dictionary_->SetKey(shill::kEapUseLoginPasswordProperty,
                               base::Value(true));
   }
@@ -425,18 +425,19 @@
   // Shill expects 4 valid nameserver values. Ensure all values are valid and
   // replace any invalid values with 0.0.0.0 (which has no effect). See
   // https://crbug.com/922219 for details.
-  base::Value* name_servers =
-      shill_dictionary_->FindKey(shill::kNameServersProperty);
+  base::Value::List* name_servers =
+      shill_dictionary_->GetDict().FindList(shill::kNameServersProperty);
   if (name_servers) {
     static const char kDefaultIpAddr[] = "0.0.0.0";
     net::IPAddress ip_addr;
-    for (base::Value& value_ref : name_servers->GetList()) {
+    for (base::Value& value_ref : *name_servers) {
       // AssignFromIPLiteral returns true if a string is valid ipv4 or ipv6.
       if (!ip_addr.AssignFromIPLiteral(value_ref.GetString()))
         value_ref = base::Value(kDefaultIpAddr);
     }
-    while (name_servers->GetList().size() < 4)
+    while (name_servers->size() < 4) {
       name_servers->Append(base::Value(kDefaultIpAddr));
+    }
   }
 }
 
@@ -519,7 +520,7 @@
 void LocalTranslator::CopyFieldFromONCToShill(
     const std::string& onc_field_name,
     const std::string& shill_property_name) {
-  const base::Value* value = onc_object_->FindKey(onc_field_name);
+  const base::Value* value = onc_object_->GetDict().Find(onc_field_name);
   if (!value)
     return;
 
diff --git a/chromeos/ash/components/network/onc/onc_translator_shill_to_onc.cc b/chromeos/ash/components/network/onc/onc_translator_shill_to_onc.cc
index 6088846..0526ac0 100644
--- a/chromeos/ash/components/network/onc/onc_translator_shill_to_onc.cc
+++ b/chromeos/ash/components/network/onc/onc_translator_shill_to_onc.cc
@@ -263,13 +263,15 @@
 }
 
 void ShillToONCTranslator::TranslateOpenVPN() {
-  if (shill_dictionary_->FindKey(shill::kOpenVPNVerifyX509NameProperty))
+  if (shill_dictionary_->GetDict().contains(
+          shill::kOpenVPNVerifyX509NameProperty)) {
     TranslateAndAddNestedObject(::onc::openvpn::kVerifyX509);
+  }
 
   // Shill supports only one RemoteCertKU but ONC requires a list. If
   // existing, wraps the value into a list.
-  const std::string* certKU =
-      shill_dictionary_->FindStringKey(shill::kOpenVPNRemoteCertKUProperty);
+  const std::string* certKU = shill_dictionary_->GetDict().FindString(
+      shill::kOpenVPNRemoteCertKUProperty);
   if (certKU) {
     base::Value certKUs(base::Value::Type::LIST);
     certKUs.Append(base::Value(*certKU));
@@ -299,8 +301,9 @@
                               field_translation_table_, &shill_property_name)) {
       continue;
     }
+
     const base::Value* shill_value =
-        shill_dictionary_->FindKey(shill_property_name);
+        shill_dictionary_->GetDict().Find(shill_property_name);
     if (!shill_value) {
       continue;
     }
@@ -342,8 +345,10 @@
   }
 
   // This is an L2TP/IPsec VPN service.
-  if (shill_dictionary_->FindKey(shill::kL2TPIPsecXauthUserProperty))
+  if (shill_dictionary_->GetDict().contains(
+          shill::kL2TPIPsecXauthUserProperty)) {
     TranslateAndAddNestedObject(::onc::ipsec::kXAUTH);
+  }
 
   std::string authentication_type;
   if (SetPKCS11Id(shill_dictionary_, shill::kL2TPIPsecClientCertIdProperty,
@@ -359,11 +364,12 @@
 void ShillToONCTranslator::TranslateL2TP() {
   CopyPropertiesAccordingToSignature();
 
-  const base::Value* lcp_echo_disabled =
-      shill_dictionary_->FindKey(shill::kL2TPIPsecLcpEchoDisabledProperty);
-  if (lcp_echo_disabled && lcp_echo_disabled->is_string()) {
-    base::Value lcp_echo_disabled_value = ConvertVpnStringToValue(
-        lcp_echo_disabled->GetString(), base::Value::Type::BOOLEAN);
+  const std::string* lcp_echo_disabled =
+      shill_dictionary_->GetDict().FindString(
+          shill::kL2TPIPsecLcpEchoDisabledProperty);
+  if (lcp_echo_disabled) {
+    base::Value lcp_echo_disabled_value =
+        ConvertVpnStringToValue(*lcp_echo_disabled, base::Value::Type::BOOLEAN);
     onc_object_.SetKey(::onc::l2tp::kLcpEchoDisabled,
                        std::move(lcp_echo_disabled_value));
   }
@@ -971,7 +977,7 @@
     return;
   }
   const base::Value* shill_value =
-      shill_dictionary_->FindKey(shill_property_name);
+      shill_dictionary_->GetDict().Find(shill_property_name);
   if (!shill_value) {
     return;
   }
@@ -1003,10 +1009,12 @@
   for (const chromeos::onc::OncFieldSignature* field_signature =
            value_signature->fields;
        field_signature->onc_field_name != nullptr; ++field_signature) {
-    if (!field_signature->default_value_setter)
+    if (!field_signature->default_value_setter) {
       continue;
-    if (onc_object_.FindKey(field_signature->onc_field_name))
+    }
+    if (onc_object_.GetDict().contains(field_signature->onc_field_name)) {
       continue;
+    }
     onc_object_.SetKey(field_signature->onc_field_name,
                        field_signature->default_value_setter());
   }
diff --git a/chromeos/ash/components/network/shill_property_handler.cc b/chromeos/ash/components/network/shill_property_handler.cc
index 812054ab..0c8ba1c2c 100644
--- a/chromeos/ash/components/network/shill_property_handler.cc
+++ b/chromeos/ash/components/network/shill_property_handler.cc
@@ -614,12 +614,14 @@
 
   if (type == ManagedState::MANAGED_TYPE_NETWORK) {
     // Request IPConfig properties.
-    const base::Value* value = properties->FindKey(shill::kIPConfigProperty);
+    const base::Value* value =
+        properties->GetDict().Find(shill::kIPConfigProperty);
     if (value)
       RequestIPConfig(type, path, *value);
   } else if (type == ManagedState::MANAGED_TYPE_DEVICE) {
     // Clear and request IPConfig properties for each entry in IPConfigs.
-    const base::Value* value = properties->FindKey(shill::kIPConfigsProperty);
+    const base::Value* value =
+        properties->GetDict().Find(shill::kIPConfigsProperty);
     if (value)
       RequestIPConfigsList(type, path, *value);
   }
diff --git a/chromeos/components/quick_answers/BUILD.gn b/chromeos/components/quick_answers/BUILD.gn
index 41562d8..5a53a8be 100644
--- a/chromeos/components/quick_answers/BUILD.gn
+++ b/chromeos/components/quick_answers/BUILD.gn
@@ -64,6 +64,7 @@
     "//components/signin/public/base",
     "//components/signin/public/identity_manager",
     "//components/spellcheck/common",
+    "//components/translate/core/browser",
     "//content/public/browser",
     "//google_apis",
     "//net:net",
diff --git a/chromeos/components/quick_answers/DEPS b/chromeos/components/quick_answers/DEPS
index ede05d71..78c3990 100644
--- a/chromeos/components/quick_answers/DEPS
+++ b/chromeos/components/quick_answers/DEPS
@@ -3,6 +3,7 @@
   "+chrome/common",
   "+components/language/core/browser",
   "+components/spellcheck/common",
+  "+components/translate/core/browser",
   "+content/public/browser",
   "+google_apis",
   "+services/data_decoder/public",
diff --git a/chromeos/components/quick_answers/understanding/intent_generator.cc b/chromeos/components/quick_answers/understanding/intent_generator.cc
index 9bbcea3..b9a6be4 100644
--- a/chromeos/components/quick_answers/understanding/intent_generator.cc
+++ b/chromeos/components/quick_answers/understanding/intent_generator.cc
@@ -20,6 +20,7 @@
 #include "chromeos/constants/chromeos_features.h"
 #include "chromeos/services/machine_learning/public/cpp/service_connection.h"
 #include "chromeos/services/machine_learning/public/mojom/machine_learning_service.mojom.h"
+#include "components/translate/core/browser/translate_download_manager.h"
 #include "ui/base/l10n/l10n_util.h"
 
 namespace quick_answers {
@@ -138,6 +139,16 @@
   return false;
 }
 
+// Check that both the source and target languages are supported by the
+// translation API.
+bool AreTranslationLanguagesSupported(const std::string& source_language,
+                                      const std::string& target_language) {
+  return translate::TranslateDownloadManager::IsSupportedLanguage(
+             source_language) &&
+         translate::TranslateDownloadManager::IsSupportedLanguage(
+             target_language);
+}
+
 bool HasDigits(const std::string& word) {
   for (const auto& character : word) {
     if (std::isdigit(character))
@@ -352,8 +363,10 @@
 
   // Generate translation intent if the detected language is different to the
   // system language and is not one of the preferred languages.
+  // Skip translation if the source or target languages are not supported.
   if (!detected_language.empty() && detected_language != device_language &&
-      !IsPreferredLanguage(detected_language)) {
+      !IsPreferredLanguage(detected_language) &&
+      AreTranslationLanguagesSupported(detected_language, device_language)) {
     std::move(complete_callback_)
         .Run(IntentInfo(request.selected_text, IntentType::kTranslation,
                         device_language, detected_language));
diff --git a/chromeos/components/quick_answers/understanding/intent_generator_unittest.cc b/chromeos/components/quick_answers/understanding/intent_generator_unittest.cc
index bb3efd57..4d35058 100644
--- a/chromeos/components/quick_answers/understanding/intent_generator_unittest.cc
+++ b/chromeos/components/quick_answers/understanding/intent_generator_unittest.cc
@@ -135,9 +135,7 @@
 };
 
 TEST_F(IntentGeneratorTest, TranslationIntent) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text = "quick answers";
@@ -176,9 +174,7 @@
 }
 
 TEST_F(IntentGeneratorTest, TranslationIntentSameLanguage) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text = "quick answers";
@@ -195,9 +191,7 @@
 }
 
 TEST_F(IntentGeneratorTest, TranslationIntentPreferredLocale) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text = "quick answers";
@@ -214,9 +208,7 @@
 }
 
 TEST_F(IntentGeneratorTest, TranslationIntentPreferredLanguage) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text = "quick answers";
@@ -233,9 +225,7 @@
 }
 
 TEST_F(IntentGeneratorTest, TranslationIntentTextLengthAboveThreshold) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text =
@@ -290,9 +280,7 @@
 }
 
 TEST_F(IntentGeneratorTest, TranslationIntentDeviceLanguageNotSet) {
-  std::vector<TextLanguagePtr> languages;
-  languages.push_back(DefaultLanguage());
-  UseFakeServiceConnection({}, languages);
+  UseFakeServiceConnection();
 
   QuickAnswersRequest request;
   request.selected_text = "quick answers";
@@ -306,6 +294,42 @@
   EXPECT_EQ("quick answers", intent_info_.intent_text);
 }
 
+TEST_F(IntentGeneratorTest, TranslationIntentUnsupportedDeviceLanguage) {
+  UseFakeServiceConnection();
+
+  QuickAnswersRequest request;
+  request.selected_text = "quick answers";
+  fake_quick_answers_state()->SetApplicationLocale("unk");
+  fake_quick_answers_state()->SetPreferredLanguages("unk");
+  intent_generator_->GenerateIntent(request);
+
+  FlushForTesting();
+
+  // Should not generate translation intent since the device language is
+  // not in the supported languages list.
+  EXPECT_EQ(IntentType::kUnknown, intent_info_.intent_type);
+  EXPECT_EQ("quick answers", intent_info_.intent_text);
+}
+
+TEST_F(IntentGeneratorTest, TranslationIntentUnsupportedSourceLanguage) {
+  std::vector<TextLanguagePtr> languages;
+  languages.push_back(TextLanguage::New("unk", /* confidence */ 1));
+  UseFakeServiceConnection({}, languages);
+
+  QuickAnswersRequest request;
+  request.selected_text = "quick answers";
+  fake_quick_answers_state()->SetApplicationLocale("en");
+  fake_quick_answers_state()->SetPreferredLanguages("en");
+  intent_generator_->GenerateIntent(request);
+
+  FlushForTesting();
+
+  // Should not generate translation intent since the detected source
+  // language is not in the supported languages list.
+  EXPECT_EQ(IntentType::kUnknown, intent_info_.intent_type);
+  EXPECT_EQ("quick answers", intent_info_.intent_text);
+}
+
 TEST_F(IntentGeneratorTest, TextAnnotationDefinitionIntent) {
   std::unique_ptr<QuickAnswersRequest> quick_answers_request =
       std::make_unique<QuickAnswersRequest>();
diff --git a/chromeos/strings/chromeos_strings_af.xtb b/chromeos/strings/chromeos_strings_af.xtb
index 5e87bc19..bfd80cbc 100644
--- a/chromeos/strings/chromeos_strings_af.xtb
+++ b/chromeos/strings/chromeos_strings_af.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">Nuwe APN</translation>
 <translation id="4093865285251893588">Profielprent</translation>
 <translation id="409427325554347132">Stoor toetsbesonderhede</translation>
+<translation id="4095829376260267438">WPA2WPA3</translation>
 <translation id="4110686435123617899">Kies album <ph name="TITLE" /> <ph name="DESC" /></translation>
 <translation id="4111761024568264522">USB-raakpaneel</translation>
 <translation id="4117637339509843559">Donkermodus</translation>
@@ -719,6 +720,7 @@
 <translation id="7690294790491645610">Bevestig nuwe wagwoord</translation>
 <translation id="7701040980221191251">Geen</translation>
 <translation id="7705524343798198388">VPN</translation>
+<translation id="7716280709122323042">WPA3</translation>
 <translation id="773153675489693198">Siklustelling</translation>
 <translation id="7747039790905080783">Voorafgedeelde sleutel</translation>
 <translation id="7762130827864645708">Jou wagwoord is suksesvol verander. Gebruik asseblief van nou af die nuwe wagwoord.</translation>
@@ -802,6 +804,7 @@
 <translation id="8503836310948963452">Net 'n paar minute …</translation>
 <translation id="8508640263392900755">APN-besonderhede</translation>
 <translation id="8528615187455571738">Crosvm</translation>
+<translation id="8557447961879934694">WPA2</translation>
 <translation id="8575298406870537639">Jou selfoonmaatskappy kan hierdie opsie vereis om aan hul netwerk te koppel. Kontak jou selfoonmaatskappy vir besonderhede.</translation>
 <translation id="8576249514688522074">Ongeïnisieer</translation>
 <translation id="8620617069779373398">Swerfstatus</translation>
diff --git a/chromeos/strings/chromeos_strings_bs.xtb b/chromeos/strings/chromeos_strings_bs.xtb
index 15ab6c5..54756f7 100644
--- a/chromeos/strings/chromeos_strings_bs.xtb
+++ b/chromeos/strings/chromeos_strings_bs.xtb
@@ -318,7 +318,7 @@
 <translation id="4060260348856573701">Novi APN</translation>
 <translation id="4093865285251893588">Slika profila</translation>
 <translation id="409427325554347132">Sačuvaj detalje testa</translation>
-<translation id="4095829376260267438">WPA2WPA3</translation>
+<translation id="4095829376260267438">WPA2 i WPA3</translation>
 <translation id="4110686435123617899">Odaberite album <ph name="TITLE" /> <ph name="DESC" /></translation>
 <translation id="4111761024568264522">USB dodirna podloga</translation>
 <translation id="4117637339509843559">Tamni način rada</translation>
diff --git a/chromeos/strings/chromeos_strings_gu.xtb b/chromeos/strings/chromeos_strings_gu.xtb
index 1f40290..5e05f6c7 100644
--- a/chromeos/strings/chromeos_strings_gu.xtb
+++ b/chromeos/strings/chromeos_strings_gu.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">નવું APN</translation>
 <translation id="4093865285251893588">પ્રોફાઇલ ફોટો</translation>
 <translation id="409427325554347132">પરીક્ષણની વિગતો સાચવો</translation>
+<translation id="4095829376260267438">WPA2/WPA3</translation>
 <translation id="4110686435123617899">પસંદ કરો આલ્બમ <ph name="TITLE" /> <ph name="DESC" /></translation>
 <translation id="4111761024568264522">USB ટચપૅડ</translation>
 <translation id="4117637339509843559">ઘેરો મોડ</translation>
@@ -718,6 +719,7 @@
 <translation id="7690294790491645610">નવા પાસવર્ડની પુષ્ટિ કરો</translation>
 <translation id="7701040980221191251">કોઈ નથી</translation>
 <translation id="7705524343798198388">VPN</translation>
+<translation id="7716280709122323042">WPA3</translation>
 <translation id="773153675489693198">ચક્રની સંખ્યા</translation>
 <translation id="7747039790905080783">પહેલેથી-શેર કરેલી કી</translation>
 <translation id="7762130827864645708">પાસવર્ડ બદલવાનું સફળ રહ્યું. કૃપા કરીને હવેથી નવા પાસવર્ડનો ઉપયોગ કરો.</translation>
@@ -801,6 +803,7 @@
 <translation id="8503836310948963452">બસ થોડો વધુ સમય...</translation>
 <translation id="8508640263392900755">APNની વિગતો</translation>
 <translation id="8528615187455571738">Crosvm</translation>
+<translation id="8557447961879934694">WPA2</translation>
 <translation id="8575298406870537639">તમારા મોબાઇલ ઑપરેટરને તેમના નેટવર્ક સાથે કનેક્ટ કરવા માટે, આ વિકલ્પની જરૂર પડી શકે છે. વિગતો માટે તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો.</translation>
 <translation id="8576249514688522074">શરૂ કરી નથી</translation>
 <translation id="8620617069779373398">રોમિંગ સ્થિતિ</translation>
diff --git a/chromeos/strings/chromeos_strings_ky.xtb b/chromeos/strings/chromeos_strings_ky.xtb
index 9acf1f8..2f9c85c 100644
--- a/chromeos/strings/chromeos_strings_ky.xtb
+++ b/chromeos/strings/chromeos_strings_ky.xtb
@@ -335,7 +335,7 @@
 <translation id="4227825898293920515">Сырсөздүн мөөнөтү <ph name="TIME" /> кийин бүтөт</translation>
 <translation id="4238516577297848345">Аткарылып жаткан иш жок</translation>
 <translation id="4239069858505860023">GPRS</translation>
-<translation id="4244962993387259361">Эстутумду сыноо үчүн кеминде 500 Мб бош орун керек. Орун бошотуу үчүн Жөндөөлөр &gt; Сактагычты башкаргычка өтүңүз.</translation>
+<translation id="4244962993387259361">Эстутумду сыноо үчүн кеминде 500 Мб бош орун керек. Орун бошотуу үчүн Параметрлер &gt; Сактагычты башкаргычка өтүңүз.</translation>
 <translation id="4250229828105606438">Скриншот</translation>
 <translation id="4258281355379922695">HTTP күтүү убакыты</translation>
 <translation id="4271957103967917607">Толук экран режими</translation>
diff --git a/chromeos/strings/chromeos_strings_no.xtb b/chromeos/strings/chromeos_strings_no.xtb
index 89163a43..e8e810c 100644
--- a/chromeos/strings/chromeos_strings_no.xtb
+++ b/chromeos/strings/chromeos_strings_no.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">Nytt APN</translation>
 <translation id="4093865285251893588">Profilbilde</translation>
 <translation id="409427325554347132">Lagre testdetaljer</translation>
+<translation id="4095829376260267438">WPA2WPA3</translation>
 <translation id="4110686435123617899">Velg albumet <ph name="TITLE" /> med <ph name="DESC" /></translation>
 <translation id="4111761024568264522">USB-styreflate</translation>
 <translation id="4117637339509843559">Mørk modus</translation>
@@ -719,6 +720,7 @@
 <translation id="7690294790491645610">Bekreft det nye passordet</translation>
 <translation id="7701040980221191251">Ingen</translation>
 <translation id="7705524343798198388">VPN</translation>
+<translation id="7716280709122323042">WPA3</translation>
 <translation id="773153675489693198">Syklusantall</translation>
 <translation id="7747039790905080783">Forhåndsdelt nøkkel</translation>
 <translation id="7762130827864645708">Passordendringen var vellykket. Bruk det nye passordet fra nå av.</translation>
@@ -802,6 +804,7 @@
 <translation id="8503836310948963452">Bare noen få minutter igjen …</translation>
 <translation id="8508640263392900755">APN-detaljer</translation>
 <translation id="8528615187455571738">Crosvm</translation>
+<translation id="8557447961879934694">WPA2</translation>
 <translation id="8575298406870537639">Det kan hende operatøren din krever dette alternativet for at du skal kunne koble til nettverket deres Kontakt operatøren for mer informasjon.</translation>
 <translation id="8576249514688522074">Ikke initialisert</translation>
 <translation id="8620617069779373398">Status for roaming</translation>
diff --git a/chromeos/strings/chromeos_strings_sk.xtb b/chromeos/strings/chromeos_strings_sk.xtb
index 127d9ffd..88912668 100644
--- a/chromeos/strings/chromeos_strings_sk.xtb
+++ b/chromeos/strings/chromeos_strings_sk.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">Nový názov prístupového bodu (APN)</translation>
 <translation id="4093865285251893588">Profilový obrázok</translation>
 <translation id="409427325554347132">Uložiť podrobnosti o teste</translation>
+<translation id="4095829376260267438">WPA2WPA3</translation>
 <translation id="4110686435123617899">Vyberte album <ph name="TITLE" /> <ph name="DESC" /></translation>
 <translation id="4111761024568264522">Touchpad USB</translation>
 <translation id="4117637339509843559">Tmavý režim</translation>
@@ -719,6 +720,7 @@
 <translation id="7690294790491645610">Potvrďte nové heslo</translation>
 <translation id="7701040980221191251">Žiadne</translation>
 <translation id="7705524343798198388">VPN</translation>
+<translation id="7716280709122323042">WPA3</translation>
 <translation id="773153675489693198">Počet cyklov</translation>
 <translation id="7747039790905080783">Predzdieľaný kľúč</translation>
 <translation id="7762130827864645708">Zmena hesla bola úspešná. Odteraz používajte nové heslo.</translation>
@@ -802,6 +804,7 @@
 <translation id="8503836310948963452">Už iba niekoľko minút…</translation>
 <translation id="8508640263392900755">Podrobnosti názvu prístupového bodu (APN)</translation>
 <translation id="8528615187455571738">Crosvm</translation>
+<translation id="8557447961879934694">WPA2</translation>
 <translation id="8575298406870537639">Váš operátor môže túto možnosť vyžadovať na pripojenie k jeho sieti. Podrobnosti vám poskytne operátor.</translation>
 <translation id="8576249514688522074">Nespustené</translation>
 <translation id="8620617069779373398">Stav roamingu</translation>
diff --git a/chromeos/strings/chromeos_strings_ur.xtb b/chromeos/strings/chromeos_strings_ur.xtb
index 6a13ee3..5d64f3a5 100644
--- a/chromeos/strings/chromeos_strings_ur.xtb
+++ b/chromeos/strings/chromeos_strings_ur.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">‏نیا APN</translation>
 <translation id="4093865285251893588">پروفائل تصویر</translation>
 <translation id="409427325554347132">ٹیسٹ کی تفصیلات محفوظ کریں</translation>
+<translation id="4095829376260267438">WPA2WPA3</translation>
 <translation id="4110686435123617899">البم <ph name="TITLE" /> <ph name="DESC" /> منتخب کریں</translation>
 <translation id="4111761024568264522">‏USB ٹچ پیڈ</translation>
 <translation id="4117637339509843559">تاریک وضع</translation>
@@ -718,6 +719,7 @@
 <translation id="7690294790491645610">نئے پاس ورڈ کی توثیق کریں</translation>
 <translation id="7701040980221191251">کوئی نہیں</translation>
 <translation id="7705524343798198388">VPN</translation>
+<translation id="7716280709122323042">WPA3</translation>
 <translation id="773153675489693198">دورانیے کی تعداد</translation>
 <translation id="7747039790905080783">پہلے سے اشتراک کردہ کلید</translation>
 <translation id="7762130827864645708">آپ کا پاس ورڈ کامیابی سے تبدیل کر دیا گیا۔ براہ کرم اب سے نیا پاس ورڈ استعمال کریں۔</translation>
@@ -801,6 +803,7 @@
 <translation id="8503836310948963452">صرف چند مزید منٹ...</translation>
 <translation id="8508640263392900755">‏APN کی تفصیلات</translation>
 <translation id="8528615187455571738">Crosvm</translation>
+<translation id="8557447961879934694">WPA2</translation>
 <translation id="8575298406870537639">آپ کے کیریئر کو اپنے نیٹ ورک سے منسلک ہونے کیلئے اس اختیار کی ضرورت پڑ سکتی ہے۔ تفصیلات کیلئے اپنے کیریئر سے رابطہ کریں۔</translation>
 <translation id="8576249514688522074">شروع نہیں کیا گیا</translation>
 <translation id="8620617069779373398">رومنگ کی صورتحال</translation>
diff --git a/chromeos/strings/chromeos_strings_zu.xtb b/chromeos/strings/chromeos_strings_zu.xtb
index 1287af3..5636820 100644
--- a/chromeos/strings/chromeos_strings_zu.xtb
+++ b/chromeos/strings/chromeos_strings_zu.xtb
@@ -318,6 +318,7 @@
 <translation id="4060260348856573701">I-APN Entsha</translation>
 <translation id="4093865285251893588">Isithombe sephrofayela</translation>
 <translation id="409427325554347132">Londoloza imininingwane yohlolo</translation>
+<translation id="4095829376260267438">I-WPA2WPA3</translation>
 <translation id="4110686435123617899">Khetha i-albhamu <ph name="TITLE" /> <ph name="DESC" /></translation>
 <translation id="4111761024568264522">Iphedi yokuthinta ye-USB</translation>
 <translation id="4117637339509843559">Imodi emnyama</translation>
@@ -719,6 +720,7 @@
 <translation id="7690294790491645610">Qinisekisa iphasiwedi entsha</translation>
 <translation id="7701040980221191251">Lutho</translation>
 <translation id="7705524343798198388">I-VPN</translation>
+<translation id="7716280709122323042">I-WPA3</translation>
 <translation id="773153675489693198">Isibalo somjikelezo</translation>
 <translation id="7747039790905080783">Ukhiye owabiwe ngaphambilini</translation>
 <translation id="7762130827864645708">Iphasiwedi yakho ishintshwe ngempumelelo. Sicela usebenzise iphasiwedi entsha kusuka manje.</translation>
@@ -802,6 +804,7 @@
 <translation id="8503836310948963452">Amaninithi ambalwa nje asele…</translation>
 <translation id="8508640263392900755">Imininingwane ye-APN</translation>
 <translation id="8528615187455571738">I-Crosvm</translation>
+<translation id="8557447961879934694">I-WPA2</translation>
 <translation id="8575298406870537639">Inkampani yenethiwekhi yakho idinga le nketho ukuze ixhume kunethiwekhi yayo. Xhumana nenkampani yakho yenethiwekhi mayelana nemininingwane.</translation>
 <translation id="8576249514688522074">Akuqaliswanga</translation>
 <translation id="8620617069779373398">Isimo sokuzulazula</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_af.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_af.xtb
index b02da06..599637a 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_af.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_af.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">Ja</translation>
 <translation id="1446450296470737166">Laat vol MIDI-toestelbeheer toe</translation>
 <translation id="1448064542941920355">Verklein zoem</translation>
+<translation id="1547123415014299762">Derdepartywebkoekies word toegelaat</translation>
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1633720957382884102">Verwante werwe</translation>
 <translation id="1644574205037202324">Geskiedenis</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">Rangskik volgens:</translation>
 <translation id="8067883171444229417">Speel video</translation>
 <translation id="8068648041423924542">Kan nie sertifikaat kies nie.</translation>
+<translation id="8077120325605624147">Enige werf wat jy besoek, kan vir jou enige advertensie wys</translation>
 <translation id="8087000398470557479">Hierdie inhoud kom van <ph name="DOMAIN_NAME" /> af, afgelewer deur Google.</translation>
 <translation id="8116925261070264013">Gedemp</translation>
 <translation id="813082847718468539">Bekyk werfinligting</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">Toegelaat (aanbeveel)</translation>
 <translation id="8609465669617005112">Skuif op</translation>
 <translation id="8676374126336081632">Vee invoer uit</translation>
+<translation id="8681886425883659911">Advertensies word geblokkeer op werwe wat bekend is daarvoor dat hulle indringerige of misleidende advertensies wys</translation>
 <translation id="868929229000858085">Deursoek jou kontakte</translation>
 <translation id="8702612070107455751">Enige vanlyn data sal uitgevee word.</translation>
 <translation id="8712637175834984815">Het dit</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">Blokkeer werwe om toegang tot sensors kry</translation>
 <translation id="8823559166155093873">Blokkeer webkoekies</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="8899807382908246773">Indringerige advertensies</translation>
 <translation id="8903921497873541725">Zoem in</translation>
 <translation id="8921772741368021346"><ph name="POSITION" /> / <ph name="DURATION" /></translation>
 <translation id="8926666909099850184">NFC is af vir hierdie toestel. Skakel dit aan in <ph name="BEGIN_LINK" />Android-instellings<ph name="END_LINK" />.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
index d1b72679..0926067 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
@@ -13,7 +13,9 @@
 <translation id="1289742167380433257">Datanızı yadda saxlamaq üçün bu səhifənin şəkilləri Google tərəfindən optimallaşdırılıb.</translation>
 <translation id="129382876167171263">Veb saytların yadda saxladığı fayllar burada görünür</translation>
 <translation id="1317194122196776028">Bu saytı unudun</translation>
+<translation id="1343356790768851700">Bu sayt bəyəndiklərinizi müəyyənləşdirir və sonra digər saytlara reklam təklif edir</translation>
 <translation id="1369915414381695676"><ph name="SITE_NAME" /> saytı əlavə edildi</translation>
+<translation id="1371239764779356792">Sayta cihazınızda data saxlamağa icazə verin</translation>
 <translation id="1383876407941801731">Axtar</translation>
 <translation id="1384959399684842514">Endirmə durduruldu</translation>
 <translation id="1409426117486808224">Açıq tablar üçün sadələşdirilmiş görünüş</translation>
@@ -21,6 +23,7 @@
 <translation id="1426410128494586442">Bəli</translation>
 <translation id="1446450296470737166">MIDI cihazlar üzərində tam nəzarətə icazə verin</translation>
 <translation id="1448064542941920355">Zoom'u azaldın</translation>
+<translation id="1510341833810331442">Saytlara cihazınızda data saxlamaq icazəsi verilmir</translation>
 <translation id="1547123415014299762">Üçüncü tərəf kukilərinə icazə verilir</translation>
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1633720957382884102">Əlaqəli saytlar</translation>
@@ -55,6 +58,7 @@
 <translation id="2182457891543959921">Saytların ətrafınızdakı sahələrin 3D xəritəsini yaratmasına və ya kamera mövqeyini izləməsinə icazə verməzdən əvvəl icazə tələb edin (tövsiyə edilir)</translation>
 <translation id="2212565012507486665">Kukilərə icazə verin</translation>
 <translation id="2228071138934252756"><ph name="APP_NAME" /> tətbiqinə kameranıza giriş icazəsi vermək üçün <ph name="BEGIN_LINK" />Android Ayarlarında<ph name="END_LINK" /> kameranı da aktiv edin.</translation>
+<translation id="2230120995564025978">Suspendisse vitae malesuada purus, ut molestie eros. Fusce malesuada ullamcorper sem a blandit.</translation>
 <translation id="2235344399760031203">Üçüncü tərəf kukiləri bloklanıb</translation>
 <translation id="2238944249568001759">Son tabınıza əsasən təklif olunan axtarışlar</translation>
 <translation id="2241634353105152135">Sadəcə bir dəfə</translation>
@@ -69,7 +73,9 @@
 <translation id="2390272837142897736">Zoom'u artırın</translation>
 <translation id="2402980924095424747"><ph name="MEGABYTES" /> MB</translation>
 <translation id="2404630663942400771">{PERMISSIONS_SUMMARY_ALLOWED,plural, =1{<ph name="PERMISSION_1" />, <ph name="PERMISSION_2" /> və daha <ph name="NUM_MORE" /> üçün icazə verilib}other{<ph name="PERMISSION_1" />, <ph name="PERMISSION_2" /> və daha <ph name="NUM_MORE" /> üçün icazə verilib}}</translation>
+<translation id="2410940059315936967">Baxdığınız sayt şəkillər, reklamlar və mətn kimi digər saytlardan məzmunu daxil edə bilər. Digər saytlar tərəfindən təyin olunan kukilərə üçüncü tərəf kukiləri deyilir.</translation>
 <translation id="2434158240863470628">Endirmə tamamlandı <ph name="SEPARATOR" /> <ph name="BYTES_DOWNLOADED" /></translation>
+<translation id="244264527810019436">Bəzi saytlardakı funksiyalar Anonim rejimdə işləməyə bilər</translation>
 <translation id="2442870161001914531">Həmişə masaüstü saytını tələb edin</translation>
 <translation id="2482878487686419369">Bildirişlər</translation>
 <translation id="2485422356828889247">Sistemdən silin</translation>
@@ -83,6 +89,7 @@
 <translation id="2586657967955657006">Mübadilə buferi</translation>
 <translation id="2597457036804169544">Saytlara tünd tema tətbiq etməyin</translation>
 <translation id="2621115761605608342">Xüsusi sayt üçün JavaScript'ə icazə verin.</translation>
+<translation id="2639227409413857192">Bu sayt bəyəndiklərinizi müəyyənləşdirir və sonra digər saytlara reklam təklif edir. Bu sayt sizə daha uyğun reklamlar göstərmək üçün Chrome'dan reklam mövzularınızı da əldə edir.</translation>
 <translation id="2653659639078652383">Təqdim edin</translation>
 <translation id="2677748264148917807">Tərk edin</translation>
 <translation id="2687403674020088961">Bütün kukiləri bloklayın (tövsiyə edilmir)</translation>
@@ -93,6 +100,7 @@
 <translation id="2822354292072154809"><ph name="CHOSEN_OBJECT_NAME" /> üçün bütün sayt icazələrini sıfırlamaq istədiyinizə əminsiniz?</translation>
 <translation id="2870560284913253234">Sayt</translation>
 <translation id="2874939134665556319">Öncəki trek</translation>
+<translation id="2891975107962658722">Saytın cihazınızda data saxlamasını bloklayın</translation>
 <translation id="2903493209154104877">Ünvanlar</translation>
 <translation id="2910701580606108292">Saytlar qorunan kontenti göstərmədən öncə icazə tələb edilsin</translation>
 <translation id="2913331724188855103">Saytlara kuki datanı saxlamağa və oxumağa imkan verir (tövsiyə olunur)</translation>
@@ -135,6 +143,7 @@
 <translation id="3628308229821498208">Təklif edilən axtarışlar</translation>
 <translation id="3744111561329211289">Arxa fon sinx</translation>
 <translation id="3763247130972274048">10 saniyə keçmək üçün videonun sol və ya sağına iki dəfə toxunun</translation>
+<translation id="3794286421982011626">Ziyarət etdiyiniz sayt gözlədiyiniz kimi işləmək üçün (məsələn, sizi sayta daxil olmuş vəziyyətdə saxlamaq və ya alış-veriş səbətinizdəki elementləri saxlamaq üçün) gördüyünüz iş haqqında məlumatı yadda saxlaya bilər. Adətən saytlar bu məlumatı müvəqqəti olaraq cihazınızda saxlayır.</translation>
 <translation id="3797520601150691162">Müəyyən sayta tünd tema tətbiq etməyin</translation>
 <translation id="3803367742635802571">Ziyarət etdiyiniz saytlar nəzərdə tutulduğu kimi fəaliyyətini dayandıra bilər</translation>
 <translation id="3804247818991980532"><ph name="TYPE_1" />. <ph name="TYPE_2" />.</translation>
@@ -144,6 +153,7 @@
 <translation id="385051799172605136">Geri</translation>
 <translation id="3859306556332390985">İrəli axtarın</translation>
 <translation id="3895926599014793903">Zoom'a icazə verməyə məcbur edin</translation>
+<translation id="3908288065506437185">Anonim rejimdə üçüncü tərəf kukilərini bloklayın</translation>
 <translation id="3955193568934677022">Saytlara qorunan datanı oxumağa icazə verin (tövsiyə olunur)</translation>
 <translation id="3967822245660637423">Endirmə tamamdır</translation>
 <translation id="3987993985790029246">Linki kopyalayın</translation>
@@ -192,6 +202,7 @@
 <translation id="4976702386844183910">Son ziyarət: <ph name="DATE" /></translation>
 <translation id="4994033804516042629">Kontakt tapılmadı</translation>
 <translation id="4996978546172906250">Paylaşma vasitəsi:</translation>
+<translation id="5001526427543320409">Üçüncü tərəf kukiləri</translation>
 <translation id="5039804452771397117">İcazə verin</translation>
 <translation id="5048398596102334565">Saytların hərəkət sensorlarınıza daxil olmasına icazə verin (tövsiyə edilir)</translation>
 <translation id="5050380848339752099">Bu sayt Anonim rejimdə olmayan tətbiqlə məlumat paylaşmaq üzrədir.</translation>
@@ -212,6 +223,7 @@
 <translation id="5317780077021120954">Yadda saxlayın</translation>
 <translation id="5335288049665977812">Saytlara JavaScript işlətməyə icazə verin (tövsiyə olunur)</translation>
 <translation id="534295439873310000">NFC cihazları</translation>
+<translation id="5344522958567249764">Reklam məxfiliyini idarə edin</translation>
 <translation id="5354152178998424783">Bununla saytlar tərəfindən saxlanılan <ph name="DATASIZE" /> data və kuki silinəcək.</translation>
 <translation id="5394307150471348411">{DETAIL_COUNT,plural, =1{(+1)}other{(+ #)}}</translation>
 <translation id="5403592356182871684">Adlar</translation>
@@ -235,6 +247,7 @@
 <translation id="5706552988683188916">Bu, <ph name="WEBSITE" /> üçün kukiləri və digər sayt datasını silir</translation>
 <translation id="5719847187258001597">Bununla Əsas ekranda <ph name="ORIGIN" /> və ya onun tətbiqi tərəfindən saxlanılan bütün data və kukilər silinəcək.</translation>
 <translation id="5723967018671998714">Üçüncü tərəf kukiləri Anonim rejimdə bloklanır</translation>
+<translation id="5740126560802162366">Saytlar cihazınızda data saxlaya bilər</translation>
 <translation id="5771720122942595109"><ph name="PERMISSION_1" /> bloklanıb</translation>
 <translation id="5804241973901381774">İcazələr</translation>
 <translation id="5860033963881614850">Deaktiv</translation>
@@ -258,6 +271,7 @@
 <translation id="6181444274883918285">Sayt istisnası əlavə edin</translation>
 <translation id="6192792657125177640">İstisnalar</translation>
 <translation id="6196640612572343990">Üçüncü tərəf kukiləri blok edin</translation>
+<translation id="6205314730813004066">Reklam məxfiliyi</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> Seçimləri</translation>
 <translation id="6231752747840485235">"<ph name="APP_NAME" />" sistemdən silinsin?</translation>
 <translation id="6262191102408817757">Son tabınıza əsasən</translation>
@@ -385,6 +399,7 @@
 <translation id="8514955299594277296">Saytlara cihazınızda məlumat saxlamağa icazə verməyin (tövsiyə edilmir)</translation>
 <translation id="851751545965956758">Saytların cihazlara qoşulmasını blok edin</translation>
 <translation id="8525306231823319788">Tam ekran</translation>
+<translation id="8541410041357371550">Bu sayt həmçinin sizə daha uyğun reklamlar göstərmək üçün Chrome'dan reklam mövzularınızı da əldə edir</translation>
 <translation id="8564613706851221529">{COUNT,plural, =1{<ph name="FPS_MEMBERS_COUNT" /> <ph name="FPS_OWNER" /> saytı üçün kukilərə icazə verilir}other{<ph name="FPS_MEMBERS_COUNT" /> <ph name="FPS_OWNER" /> saytı üçün kukilərə icazə verilir}}</translation>
 <translation id="857943718398505171">İcazə verilib (tövsiyə olunur)</translation>
 <translation id="8609465669617005112">Yuxarı köçürün</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
index f8c9900..968c5b6 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_bs.xtb
@@ -21,7 +21,7 @@
 <translation id="1426410128494586442">Da</translation>
 <translation id="1446450296470737166">Puna kontrola MIDI uređaja</translation>
 <translation id="1448064542941920355">Smanjenje zumiranja</translation>
-<translation id="1547123415014299762">Dopušteni su kolačići trećih strana</translation>
+<translation id="1547123415014299762">Kolačići treće strane su dozvoljeni</translation>
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1633720957382884102">Srodne web lokacije</translation>
 <translation id="1644574205037202324">Historija</translation>
@@ -351,7 +351,7 @@
 <translation id="8042586301629853791">Poredaj po:</translation>
 <translation id="8067883171444229417">Reproduciraj videozapis</translation>
 <translation id="8068648041423924542">Nije moguće odabrati potvrdu.</translation>
-<translation id="8077120325605624147">Svaka web-lokacija koju posjetite može vam prikazati bilo koji oglas</translation>
+<translation id="8077120325605624147">Bilo koja web lokacija koju posjetite vam može prikazivati bilo koje oglase</translation>
 <translation id="8087000398470557479">Ovaj sadržaj je iz domene <ph name="DOMAIN_NAME" />, a isporučio ga je Google.</translation>
 <translation id="8116925261070264013">Isključen zvuk</translation>
 <translation id="813082847718468539">Prikaz informacija o web lokaciji</translation>
@@ -389,7 +389,7 @@
 <translation id="857943718398505171">Dozvoljeno (preporučeno)</translation>
 <translation id="8609465669617005112">Pomjeri nagore</translation>
 <translation id="8676374126336081632">Brisanje unosa</translation>
-<translation id="8681886425883659911">Oglasi su blokirani na web-lokacijama za koje se zna da prikazuju ometajuće ili obmanjujuće oglase</translation>
+<translation id="8681886425883659911">Oglasi se blokiraju na web lokacijama za koje je poznato da prikazuju ometajuće ili obmanjujuće oglase</translation>
 <translation id="868929229000858085">Pretražite kontakte</translation>
 <translation id="8702612070107455751">Obrisat će se svi offline podaci.</translation>
 <translation id="8712637175834984815">Razumijem</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_en-GB.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_en-GB.xtb
index 0b35329..7c2070b 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_en-GB.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_en-GB.xtb
@@ -12,6 +12,7 @@
 <translation id="1272079795634619415">Stop</translation>
 <translation id="1289742167380433257">To save you data, this page's images have been optimised by Google.</translation>
 <translation id="129382876167171263">Files saved by websites appear here</translation>
+<translation id="131112695174432497">Data that affects Ad Personalisation is deleted</translation>
 <translation id="1317194122196776028">Forget this site</translation>
 <translation id="1343356790768851700">This site determines things that you like and then suggests ads to other sites</translation>
 <translation id="1369915414381695676">Site <ph name="SITE_NAME" /> added</translation>
@@ -203,7 +204,6 @@
 <translation id="4994033804516042629">No contacts found</translation>
 <translation id="4996978546172906250">Share via</translation>
 <translation id="5001526427543320409">Third-party cookies</translation>
-<translation id="5038049331464490262">Allow third-party cookies for a specific site</translation>
 <translation id="5039804452771397117">Allow</translation>
 <translation id="5048398596102334565">Allow sites to access motion sensors (recommended)</translation>
 <translation id="5050380848339752099">This site is about to share information with an app outside of Incognito mode.</translation>
@@ -304,7 +304,6 @@
 <translation id="6746124502594467657">Move down</translation>
 <translation id="6749077623962119521">Reset permissions?</translation>
 <translation id="6766622839693428701">Swipe down to close.</translation>
-<translation id="6785073030727361123">Block third-party cookies for a specific site</translation>
 <translation id="6790428901817661496">Play</translation>
 <translation id="6818926723028410516">Select items</translation>
 <translation id="6864395892908308021">This device can't read NFC</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_gu.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_gu.xtb
index 3cfb6d0b..2b62c73 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_gu.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_gu.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">હા</translation>
 <translation id="1446450296470737166">MIDI ઉપકરણોના પૂર્ણ નિયંત્રણની મંજૂરી આપો</translation>
 <translation id="1448064542941920355">નાનું-મોટું કરવાની ટકાવારી ઘટાડો</translation>
+<translation id="1547123415014299762">ત્રીજા પક્ષની કુકીને મંજૂરી આપવામાં આવી છે</translation>
 <translation id="1620510694547887537">કૅમેરા</translation>
 <translation id="1633720957382884102">સંબંધિત સાઇટ</translation>
 <translation id="1644574205037202324">ઇતિહાસ</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">આ પ્રમાણે સૉર્ટ કરો:</translation>
 <translation id="8067883171444229417">વીડિયો ચલાવો</translation>
 <translation id="8068648041423924542">પ્રમાણપત્ર પસંદ કરવામાં અસમર્થ.</translation>
+<translation id="8077120325605624147">તમે મુલાકાત લો છો તેવી કોઈપણ સાઇટ તમને કોઈપણ જાહેરાત બતાવી શકે છે</translation>
 <translation id="8087000398470557479">આ કન્ટેન્ટ <ph name="DOMAIN_NAME" /> માંથી, Google દ્વારા વિતરિત કરેલ છે.</translation>
 <translation id="8116925261070264013">મ્યૂટ કરેલ</translation>
 <translation id="813082847718468539">સ્થાન માહિતી જુઓ</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">મંજૂર (ભલામણ કરેલ)</translation>
 <translation id="8609465669617005112">ઉપર ખસેડો</translation>
 <translation id="8676374126336081632">ઇનપુટ સાફ કરો</translation>
+<translation id="8681886425883659911">ખલેલ પાડતી અથવા ગેરમાર્ગે દોરતી જાહેરાતો બતાવવા માટે જાણીતી સાઇટ પર જાહેરાતો બ્લૉક કરવામાં આવે છે</translation>
 <translation id="868929229000858085">તમારા સંપર્કો શોધો</translation>
 <translation id="8702612070107455751">બધો ઑફલાઇન ડેટા સાફ કરવામાં આવશે.</translation>
 <translation id="8712637175834984815">સમજાઈ ગયું</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">સાઇટને સેન્સરને ઍક્સેસ કરવાથી બ્લૉક કરો</translation>
 <translation id="8823559166155093873">કુકી બ્લૉક કરો</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="8899807382908246773">ખલેલ પાડતી જાહેરાતો</translation>
 <translation id="8903921497873541725">ઝૂમ વધારો</translation>
 <translation id="8921772741368021346"><ph name="POSITION" /> / <ph name="DURATION" /></translation>
 <translation id="8926666909099850184">આ ડિવાઇસ માટે NFC સેવા બંધ કરેલી છે. તેને <ph name="BEGIN_LINK" />Android સેટિંગ<ph name="END_LINK" />માં ચાલુ કરો.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_km.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_km.xtb
index f2397c7..7ab359a 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_km.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_km.xtb
@@ -13,7 +13,9 @@
 <translation id="1289742167380433257">ដើម្បី​សន្សំសំចៃ​ទិន្នន័យ​ឱ្យអ្នក រូបភាព​របស់ទំព័រនេះ​ត្រូវបានបង្កើន​គុណភាព​ដោយ Google។</translation>
 <translation id="129382876167171263">ឯកសារ​ដែលបានរក្សាទុក​ដោយគេហទំព័រ​បង្ហាញ​នៅទីនេះ</translation>
 <translation id="1317194122196776028">បំភ្លេចគេហទំព័រនេះ</translation>
+<translation id="1343356790768851700">គេហទំព័រ​នេះ​កំណត់​អ្វី​ៗ​ដែល​អ្នក​ចូលចិត្ត រួច​ណែនាំ​ការផ្សាយពាណិជ្ជកម្ម​ដល់​គេហទំព័រ​ផ្សេងទៀត</translation>
 <translation id="1369915414381695676">គេហទំព័រ <ph name="SITE_NAME" /> ត្រូវបានបន្ថែម</translation>
+<translation id="1371239764779356792">អនុញ្ញាត​ឱ្យ​គេហទំព័រ​រក្សាទុក​ទិន្នន័យ​នៅលើ​ឧបករណ៍​របស់​អ្នក</translation>
 <translation id="1383876407941801731">ស្វែងរក</translation>
 <translation id="1384959399684842514">បានផ្អាកការទាញយក</translation>
 <translation id="1409426117486808224">ទិដ្ឋភាព​សាមញ្ញ​សម្រាប់​ផ្ទាំង​បើក</translation>
@@ -21,6 +23,7 @@
 <translation id="1426410128494586442">បាទ/ចាស</translation>
 <translation id="1446450296470737166">អនុញ្ញាតឲ្យមានការគ្រប់គ្រងពេញលេញលើឧបករណ៍ MIDI</translation>
 <translation id="1448064542941920355">បន្ថយការពង្រីកបង្រួម</translation>
+<translation id="1510341833810331442">គេហទំព័រ​មិន​ត្រូវបាន​អនុញ្ញាត​ឱ្យ​រក្សាទុក​ទិន្នន័យ​លើ​ឧបករណ៍​របស់​អ្នក​ទេ</translation>
 <translation id="1547123415014299762">ខូគី​ភាគីទីបី​ត្រូវ​បាន​អនុញ្ញាត</translation>
 <translation id="1620510694547887537">កាមេរ៉ា</translation>
 <translation id="1633720957382884102">គេហទំព័រដែលពាក់ព័ន្ធ</translation>
@@ -55,6 +58,7 @@
 <translation id="2182457891543959921">សួរ​មុនពេល​អនុញ្ញាតឱ្យ​គេហទំព័របង្កើតផែនទី 3D នៃមជ្ឈដ្ឋានជុំវិញរបស់អ្នក ឬតាមដានទីតាំងកាមេរ៉ា (បានណែនាំ)</translation>
 <translation id="2212565012507486665">អនុញ្ញាត​ខូគី</translation>
 <translation id="2228071138934252756">ដើម្បីអនុញ្ញាតឱ្យ <ph name="APP_NAME" /> ចូលប្រើកាមេរ៉ា​របស់អ្នក អ្នកក៏ត្រូវបើក​កាមេរ៉ា​នៅក្នុង​<ph name="BEGIN_LINK" />ការកំណត់ Android<ph name="END_LINK" /> ផងដែរ។</translation>
+<translation id="2230120995564025978">Suspendisse vitae malesuada purus, ut molestie eros. Fusce malesuada ullamcorper sem a blandit.</translation>
 <translation id="2235344399760031203">បាន​ទប់ស្កាត់ខូគី​ភាគី​ទីបី</translation>
 <translation id="2238944249568001759">ការស្វែងរក​ដែលបានណែនាំ​ផ្អែកលើ​ផ្ទាំង​ចុងក្រោយ​របស់អ្នក</translation>
 <translation id="2241634353105152135">ម្តងប៉ុណ្ណោះ</translation>
@@ -69,7 +73,9 @@
 <translation id="2390272837142897736">បង្កើនការពង្រីកបង្រួម</translation>
 <translation id="2402980924095424747"><ph name="MEGABYTES" /> MB</translation>
 <translation id="2404630663942400771">{PERMISSIONS_SUMMARY_ALLOWED,plural, =1{បានអនុញ្ញាត <ph name="PERMISSION_1" />, <ph name="PERMISSION_2" /> និង <ph name="NUM_MORE" /> ទៀត}other{បានអនុញ្ញាត <ph name="PERMISSION_1" />, <ph name="PERMISSION_2" /> និង <ph name="NUM_MORE" /> ទៀត}}</translation>
+<translation id="2410940059315936967">គេហទំព័រ​ដែលអ្នកចូលមើល​អាច​បង្កប់ខ្លឹមសារ​ពីគេហទំព័រ​ផ្សេងទៀត ដូចជា​រូបភាព ការផ្សាយពាណិជ្ជកម្ម និង​អក្សរ​ជាដើម។ ខូគី​ដែលបានកំណត់ដោយ​គេហទំព័រផ្សេងទៀត​ទាំង​នេះត្រូវបាន​ហៅ​ថា​ខូគី​ភាគីទីបី។</translation>
 <translation id="2434158240863470628">ការទាញយក​បានបញ្ចប់ <ph name="SEPARATOR" /> <ph name="BYTES_DOWNLOADED" /></translation>
+<translation id="244264527810019436">មុខងារនៅលើ​គេហទំព័រមួយចំនួន​អាចមិនដំណើរការ​នៅក្នុងមុខងារ​ឯកជនទេ</translation>
 <translation id="2442870161001914531">ស្នើគេហទំព័រសម្រាប់កុំព្យូទ័រជានិច្ច</translation>
 <translation id="2482878487686419369">ការជូនដំណឹង</translation>
 <translation id="2485422356828889247">លុប</translation>
@@ -83,6 +89,7 @@
 <translation id="2586657967955657006">អង្គ​ចងចាំ</translation>
 <translation id="2597457036804169544">កុំប្រើរចនាប័ទ្មងងឹតលើគេហទំព័រ</translation>
 <translation id="2621115761605608342">អនុញ្ញាត JavaScript សម្រាប់គេហទំព័រជាក់លាក់។</translation>
+<translation id="2639227409413857192">គេហទំព័រ​នេះ​កំណត់​អ្វី​ៗ​ដែល​អ្នក​ចូលចិត្ត រួច​ណែនាំ​ការផ្សាយពាណិជ្ជកម្ម​ដល់​គេហទំព័រ​ផ្សេងទៀត។ គេហទំព័រ​នេះ​ក៏​ប្រមូល​ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក​ពី Chrome ផងដែរ ដើម្បី​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​កាន់តែ​ពាក់ព័ន្ធ​ដល់​អ្នក។</translation>
 <translation id="2653659639078652383">ដាក់ស្នើ</translation>
 <translation id="2677748264148917807">ចាកចេញ</translation>
 <translation id="2687403674020088961">ទប់ស្កាត់ខូគីទាំងអស់ (មិនណែនាំ)</translation>
@@ -93,6 +100,7 @@
 <translation id="2822354292072154809">តើ​អ្នកប្រាកដថា​ចង់​កំណត់​ការអនុញ្ញាត​គេហទំព័រ​ទាំងអស់​ឡើងវិញ​សម្រាប់ <ph name="CHOSEN_OBJECT_NAME" /> ដែរទេ?</translation>
 <translation id="2870560284913253234">គេហទំព័រ</translation>
 <translation id="2874939134665556319">បទ​មុន</translation>
+<translation id="2891975107962658722">ទប់ស្កាត់​គេហទំព័រ​មិន​ឱ្យ​រក្សាទុក​ទិន្នន័យ​នៅ​លើ​ឧបករណ៍​របស់​អ្នក</translation>
 <translation id="2903493209154104877">អាសយដ្ឋាន</translation>
 <translation id="2910701580606108292">សួរ​មុនពេល​អនុញ្ញតឱ្យគេហទំព័រ​លេង​ខ្លឹមសារ​ដែលមាន​ការការពារ</translation>
 <translation id="2913331724188855103">អនុញ្ញាតឲ្យគេហទំព័ររក្សាទុក និងអានទិន្នន័យខុកឃី (បានណែនាំ)</translation>
@@ -135,6 +143,7 @@
 <translation id="3628308229821498208">ការស្វែងរក​ដែលបាន​ណែនាំ</translation>
 <translation id="3744111561329211289">សមកាលកម្មផ្ទៃខាងក្រោយ</translation>
 <translation id="3763247130972274048">ចុច​ខាងឆ្វេង ឬ​ខាងស្ដាំពីរដង​​លើវីដេអូ ដើម្បី​រំលង 10 វិ</translation>
+<translation id="3794286421982011626">គេហទំព័រ​ដែល​អ្នក​ចូលមើល​អាច​រក្សាទុក​ព័ត៌មាន​អំពី​អ្វី​ដែល​អ្នក​កំពុង​ធ្វើ​ ដើម្បី​ឱ្យ​វា​ដំណើរការ​ដូច​ដែល​អ្នក​រំពឹង​ទុក — ឧទាហរណ៍ ដើម្បី​​ឱ្យ​អ្នក​បន្តចូល​គេហទំព័រ ឬ​ដើម្បី​រក្សាទុក​ទំនិញ​នៅ​ក្នុង​កន្ត្រកទិញ​ទំនិញ​របស់​អ្នក។ ជារឿយៗ គេហទំព័រ​រក្សាទុក​ព័ត៌មាននេះ​ជា​បណ្ដោះអាសន្ន​នៅលើ​ឧបករណ៍​របស់​អ្នក។</translation>
 <translation id="3797520601150691162">កុំប្រើរចនាប័ទ្មងងឹតសម្រាប់គេហទំព័រជាក់លាក់</translation>
 <translation id="3803367742635802571">គេហទំព័រ​ដែល​អ្នក​ចូលមើល​អាច​ឈប់​ដំណើរការ​​ដូច​អ្វីដែលបាន​រៀបចំ</translation>
 <translation id="3804247818991980532"><ph name="TYPE_1" />។ <ph name="TYPE_2" />។</translation>
@@ -144,6 +153,7 @@
 <translation id="385051799172605136">ថយក្រោយ</translation>
 <translation id="3859306556332390985">ស្វែងរក​ទៅ​មុខ</translation>
 <translation id="3895926599014793903">បង្ខំបើកដំណើរការពង្រីក</translation>
+<translation id="3908288065506437185">ទប់ស្កាត់​ខូគីភាគីទីបី​ក្នុងមុខងារ​ឯកជន</translation>
 <translation id="3955193568934677022">អនុញ្ញាត​ឲ្យ​ទំព័រ​ចាក់​មាតិកា​ដែលមាន​ការ​ការពារ (ត្រូវបាន​ណែនាំ)</translation>
 <translation id="3967822245660637423">ការទាញយកបានបញ្ចប់</translation>
 <translation id="3987993985790029246">ចម្លងតំណ</translation>
@@ -192,6 +202,7 @@
 <translation id="4976702386844183910">បានចូល​មើល​លើកចុង​ក្រោយនៅថ្ងៃទី <ph name="DATE" /></translation>
 <translation id="4994033804516042629">រកមិនឃើញ​ទំនាក់ទំនង​ទេ</translation>
 <translation id="4996978546172906250">ចែករំលែកតាមរយៈ</translation>
+<translation id="5001526427543320409">ខូគី​ភាគីទីបី</translation>
 <translation id="5039804452771397117">អនុញ្ញាត</translation>
 <translation id="5048398596102334565">អនុញ្ញាតឱ្យ​គេហទំព័រ​ចូលប្រើ​ឧបករណ៍​ចាប់ចលនា (បាន​ណែនាំ)</translation>
 <translation id="5050380848339752099">គេហទំព័រនេះនឹង​ចែករំលែក​ព័ត៌មានជាមួយ​កម្មវិធី​នៅក្រៅ​មុខងារ​ឯកជន​បន្តិចទៀតនេះ។</translation>
@@ -212,6 +223,7 @@
 <translation id="5317780077021120954">រក្សាទុក</translation>
 <translation id="5335288049665977812">អនុញ្ញាតឲ្យគេហទំព័រដំណើរការ JavaScript (បានណែនាំ)</translation>
 <translation id="534295439873310000">ឧបករណ៍ NFC</translation>
+<translation id="5344522958567249764">គ្រប់គ្រង​ឯកជនភាពនៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="5354152178998424783">សកម្មភាពនេះ​នឹងសម្អាតទិន្នន័យ និងខូគីទំហំ <ph name="DATASIZE" /> ដែលគេហទំព័រនានាបានរក្សាទុក។</translation>
 <translation id="5394307150471348411">{DETAIL_COUNT,plural, =1{(+ 1 ទៀត)}other{(+ # ទៀត)}}</translation>
 <translation id="5403592356182871684">ឈ្មោះ</translation>
@@ -235,6 +247,7 @@
 <translation id="5706552988683188916">សកម្មភាពនេះ​លុប​ខូគី និង​ទិន្នន័យ​គេហទំព័រ​ផ្សេងទៀត​សម្រាប់ <ph name="WEBSITE" /></translation>
 <translation id="5719847187258001597">សកម្មភាពនេះនឹង​សម្អាត​ទិន្នន័យ និងខូគីទាំងអស់​ដែល <ph name="ORIGIN" /> ឬកម្មវិធីរបស់ខ្លួនបានរក្សាទុក នៅលើ​អេក្រង់ដើម​របស់អ្នក។</translation>
 <translation id="5723967018671998714">បានទប់ស្កាត់ខូគី​ភាគទីបីនៅក្នុងមុខងារឯកជន</translation>
+<translation id="5740126560802162366">គេហ​ទំព័រ​អាច​រក្សាទុក​ទិន្នន័យ​នៅលើ​ឧបករណ៍​របស់​អ្នក</translation>
 <translation id="5771720122942595109">បានទប់​ស្កាត់ <ph name="PERMISSION_1" /></translation>
 <translation id="5804241973901381774">ការអនុញ្ញាត</translation>
 <translation id="5860033963881614850">បិទ</translation>
@@ -258,6 +271,7 @@
 <translation id="6181444274883918285">បន្ថែមការលើកលែងចំពោះគេហទំព័រ</translation>
 <translation id="6192792657125177640">ការលើកលែង</translation>
 <translation id="6196640612572343990">រារាំង​ខូគី​ភាគី​ទីបី</translation>
+<translation id="6205314730813004066">ឯកជនភាពការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="6216432067784365534">ជម្រើស <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">លុប '<ph name="APP_NAME" />' ឬ?</translation>
 <translation id="6262191102408817757">ដោយផ្អែកលើ​ផ្ទាំង​ចុងក្រោយ​របស់អ្នក</translation>
@@ -385,6 +399,7 @@
 <translation id="8514955299594277296">កុំ​អនុញ្ញាត​ឱ្យ​គេហទំព័រ​រក្សាទុក​ទិន្នន័យ​នៅលើ​ឧបករណ៍​របស់​អ្នក (មិនណែនាំទេ)</translation>
 <translation id="851751545965956758">ទប់​ស្កាត់​ទំព័រ​មិន​ឱ្យ​ភ្ជាប់​ជាមួយ​ឧបករណ៍</translation>
 <translation id="8525306231823319788">ពេញអេក្រង់</translation>
+<translation id="8541410041357371550">គេហទំព័រ​នេះ​​ប្រមូល​ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក​ពី Chrome ដើម្បី​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​កាន់តែ​ពាក់ព័ន្ធ​ដល់​អ្នក</translation>
 <translation id="8564613706851221529">{COUNT,plural, =1{បានអនុញ្ញាត​ខូគី​សម្រាប់​គេហទំព័រ <ph name="FPS_OWNER" /> ចំនួន <ph name="FPS_MEMBERS_COUNT" />}other{បានអនុញ្ញាត​ខូគី​សម្រាប់​គេហទំព័រ <ph name="FPS_OWNER" /> ចំនួន <ph name="FPS_MEMBERS_COUNT" />}}</translation>
 <translation id="857943718398505171">បានអនុញ្ញាត (បានណែនាំ)</translation>
 <translation id="8609465669617005112">រំកិលទៅលើ</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb
index a4b5ce8..b1785ae 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb
@@ -372,7 +372,7 @@
 <translation id="8394832520002899662">Сайтка кайтуу үчүн таптаңыз</translation>
 <translation id="8409345997656833551">Макаланын жөнөкөйлөтүлгөн көрүнүшү жеткиликтүү болгондо кабар алуу</translation>
 <translation id="8423565414844018592">Тексттин масштабы <ph name="TEXT_SCALING" /> деп коюлду</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8441146129660941386">Артка түрдүрүү</translation>
 <translation id="8444433999583714703"><ph name="APP_NAME" /> колдонмосуна жайгашкан жериңизге кирүүгө уруксат берүү үчүн, <ph name="BEGIN_LINK" />Android Жөндөөлөрүнөн<ph name="END_LINK" /> жайгашкан жер кызматын күйгүзүңүз.</translation>
 <translation id="8447861592752582886">Түзмөккө болгон уруксатты жоюу</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
index 58061f0d..edee21f 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
@@ -108,6 +108,7 @@
 <translation id="3123473560110926937">ບລັອກໃນບາງເວັບໄຊ</translation>
 <translation id="3143754809889689516">ຫຼິ້ນແຕ່ເລີ່ມຕົ້ນ</translation>
 <translation id="3162899666601560689">ເວັບໄຊສາມາດໃຊ້ຄຸກກີ້ເພື່ອປັບປຸງປະສົບການທ່ອງເວັບຂອງທ່ານ, ຕົວຢ່າງ: ເພື່ອໃຫ້ທ່ານສືບຕໍ່ຢູ່ໃນລະບົບ ຫຼື ຈື່ລາຍການຕ່າງໆໃນກະຕ່າຊື້ເຄື່ອງຂອງທ່ານ</translation>
+<translation id="3165022941318558018">ອະນຸຍາດໃຫ້ເວັບໄຊໃຊ້ຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="3198916472715691905"><ph name="STORAGE_AMOUNT" /> ຂໍ້​ມູນ​ເກັບ​ຮັກ​ສາ​ໄວ້</translation>
 <translation id="3203366800380907218">​ຈາກ​ເວັບ​ໄຊ</translation>
 <translation id="321187648315454507">ເພື່ອອະນຸຍາດໃຫ້ <ph name="APP_NAME" /> ສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານ, ກະລຸນາເປີດການແຈ້ງເຕືອນໃນ <ph name="BEGIN_LINK" />ການຕັ້ງຄ່າ Android<ph name="END_LINK" /> ນຳ.</translation>
@@ -144,6 +145,7 @@
 <translation id="385051799172605136">ກັບ​ຄືນ​</translation>
 <translation id="3859306556332390985">ເລື່ອນໄປໜ້າ</translation>
 <translation id="3895926599014793903">ບັງຄັບໃຫ້ເປີດ​ໃຊ້​ການ​ຊູມ</translation>
+<translation id="3918378745482005425">ຄຸນສົມບັດບາງຢ່າງອາດບໍ່ເຮັດວຽກ. ເວັບໄຊທີ່ກ່ຽວຂ້ອງຍັງສາມາດໃຊ້ຄຸກກີ້ພາກສ່ວນທີສາມຢູ່.</translation>
 <translation id="3955193568934677022">ອະນຸຍາດໃຫ້ເວັບໄຊຕ່າງໆຫຼິ້ນເນື້ອຫາທີ່ໄດ້ຮັບການປົກປ້ອງ (ແນະນຳ)</translation>
 <translation id="3967822245660637423">ດາວ​ໂຫຼດ​ສຳ​ເລັດ</translation>
 <translation id="3987993985790029246">ອັດ​ສຳ​ເນົາລິ້ງເຊື່ອມໂຍງ</translation>
@@ -328,6 +330,7 @@
 <translation id="7649070708921625228">ຊ່ວຍ​ເຫຼືອ</translation>
 <translation id="7658239707568436148">ຍົກ​ເລີກ​</translation>
 <translation id="7667547420449112975">ພໍ່ມົດອັດສະຈັນແຫ່ງອອດຊ໌</translation>
+<translation id="7684642910516280563">ບໍ່ອະນຸຍາດໃຫ້ເວັບໄຊໃຊ້ຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="7690549345586282764">ສະແດງຊູມ</translation>
 <translation id="7695658402549134106">ການຕັ້ງຄ່າສຳລັບເວັບໄຊ <ph name="SITE_NAME" /></translation>
 <translation id="7719367874908701697">ຊູມໜ້າ</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_lt.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_lt.xtb
index b57839c6..c5de854 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_lt.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_lt.xtb
@@ -12,6 +12,7 @@
 <translation id="1272079795634619415">Sustabdyti</translation>
 <translation id="1289742167380433257">Siekdama apsaugoti jūsų duomenis, „Google“ optimizavo šio puslapio vaizdus.</translation>
 <translation id="129382876167171263">Svetainių išsaugoti failai rodomi čia</translation>
+<translation id="131112695174432497">Duomenys, turintys įtakos suasmeninant skelbimus, ištrinami</translation>
 <translation id="1317194122196776028">Pamiršti šią svetainę</translation>
 <translation id="1369915414381695676">Pridėta svetainė <ph name="SITE_NAME" /></translation>
 <translation id="1383876407941801731">Ieškoti</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_mk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_mk.xtb
index 13a8b6f..46443a2d 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_mk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_mk.xtb
@@ -203,7 +203,6 @@
 <translation id="4994033804516042629">Не се најдени контакти</translation>
 <translation id="4996978546172906250">Сподели преку</translation>
 <translation id="5001526427543320409">Колачиња од трети страни</translation>
-<translation id="5038049331464490262">Дозволете колачиња од трети страни за конкретен сајт</translation>
 <translation id="5039804452771397117">Дозволи</translation>
 <translation id="5048398596102334565">Дозволете сајтовите да пристапуваат до сензорите за движење (препорачано)</translation>
 <translation id="5050380848339752099">Сајтов ќе сподели информации со апликација надвор од режимот „Инкогнито“.</translation>
@@ -304,7 +303,6 @@
 <translation id="6746124502594467657">Премести долу</translation>
 <translation id="6749077623962119521">Да се ресетираат дозволите?</translation>
 <translation id="6766622839693428701">Повлечете надолу за да затворите.</translation>
-<translation id="6785073030727361123">Блокирајте колачиња од трети страни за конкретен сајт</translation>
 <translation id="6790428901817661496">Репродуцирај</translation>
 <translation id="6818926723028410516">Изберете ставки</translation>
 <translation id="6864395892908308021">Уредов не може да чита NFC</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_no.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_no.xtb
index b0f2cde..53f190b 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_no.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_no.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">Ja</translation>
 <translation id="1446450296470737166">Full kontroll over MIDI-enheter</translation>
 <translation id="1448064542941920355">Zoom ut</translation>
+<translation id="1547123415014299762">Informasjonskapsler fra tredjeparter tillates</translation>
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1633720957382884102">Relaterte nettsteder</translation>
 <translation id="1644574205037202324">Logg</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">Sorter etter:</translation>
 <translation id="8067883171444229417">Spill av videoen</translation>
 <translation id="8068648041423924542">Kan ikke velge sertifikat.</translation>
+<translation id="8077120325605624147">Alle nettsteder du besøker, kan vise deg alle slags annonser</translation>
 <translation id="8087000398470557479">Dette innholdet er fra <ph name="DOMAIN_NAME" /> og er levert av Google.</translation>
 <translation id="8116925261070264013">Kuttet lyd</translation>
 <translation id="813082847718468539">Vis nettstedsinformasjon</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">Tillatt (anbefales)</translation>
 <translation id="8609465669617005112">Flytt opp</translation>
 <translation id="8676374126336081632">Slett teksten</translation>
+<translation id="8681886425883659911">Annonser blokkeres på nettsteder som er kjent for å vise forstyrrende eller villedende annonser</translation>
 <translation id="868929229000858085">Søk i kontaktene dine</translation>
 <translation id="8702612070107455751">Eventuelle frakoblede data blir slettet.</translation>
 <translation id="8712637175834984815">Skjønner</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">Blokkér nettsteder fra å få tilgang til sensorer</translation>
 <translation id="8823559166155093873">Blokkering av informasjonskapsler</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="8899807382908246773">Forstyrrende annonser</translation>
 <translation id="8903921497873541725">Zoom inn</translation>
 <translation id="8921772741368021346"><ph name="POSITION" />/<ph name="DURATION" /></translation>
 <translation id="8926666909099850184">NFC er av for denne enheten. Slå det på i <ph name="BEGIN_LINK" />Android-innstillingene<ph name="END_LINK" />.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb
index e655e26..e138e66 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_pt-PT.xtb
@@ -12,6 +12,7 @@
 <translation id="1272079795634619415">Parar</translation>
 <translation id="1289742167380433257">Para guardar os seus dados, as imagens desta página foram otimizadas pela Google.</translation>
 <translation id="129382876167171263">Os ficheiros guardados por Websites são apresentados aqui.</translation>
+<translation id="131112695174432497">Os dados que afetam a personalização de anúncios são apagados</translation>
 <translation id="1317194122196776028">Esquecer este site</translation>
 <translation id="1343356790768851700">Este site determina o conteúdo de que gosta e, em seguida, sugere anúncios para outros sites</translation>
 <translation id="1369915414381695676">Site <ph name="SITE_NAME" /> adicionado</translation>
@@ -203,7 +204,6 @@
 <translation id="4994033804516042629">Não foram encontrados contactos</translation>
 <translation id="4996978546172906250">Partilhar através de</translation>
 <translation id="5001526427543320409">Cookies de terceiros</translation>
-<translation id="5038049331464490262">Permita cookies de terceiros para um site específico</translation>
 <translation id="5039804452771397117">Permitir</translation>
 <translation id="5048398596102334565">Permitir que os sites acedam aos sensores de movimentos (recomendado)</translation>
 <translation id="5050380848339752099">Este site está prestes a partilhar informações com uma app fora do Modo de navegação anónima.</translation>
@@ -304,7 +304,6 @@
 <translation id="6746124502594467657">Mover para baixo</translation>
 <translation id="6749077623962119521">Pretende repor as autorizações?</translation>
 <translation id="6766622839693428701">Deslize rapidamente para baixo para fechar.</translation>
-<translation id="6785073030727361123">Bloqueie cookies de terceiros para um site específico</translation>
 <translation id="6790428901817661496">Reproduzir</translation>
 <translation id="6818926723028410516">Selecionar itens</translation>
 <translation id="6864395892908308021">Este dispositivo não suporta a tecnologia NFC.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sk.xtb
index f6559f38..78bf169 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sk.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">Áno</translation>
 <translation id="1446450296470737166">Povoliť úplné ovlád. zar. MIDI</translation>
 <translation id="1448064542941920355">Znížiť úroveň lupy</translation>
+<translation id="1547123415014299762">Súbory cookie tretích strán sú povolené</translation>
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1633720957382884102">Súvisiace weby</translation>
 <translation id="1644574205037202324">História</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">Zoradiť podľa:</translation>
 <translation id="8067883171444229417">Prehrať video</translation>
 <translation id="8068648041423924542">Nedá sa vybrať certifikát</translation>
+<translation id="8077120325605624147">Všetky weby, ktoré navštívite, vám môžu zobrazovať ľubovoľné reklamy</translation>
 <translation id="8087000398470557479">Tento obsah pochádza z domény <ph name="DOMAIN_NAME" /> a bol doručený Googlom.</translation>
 <translation id="8116925261070264013">Vypnuté</translation>
 <translation id="813082847718468539">Zobraziť informácie o stránkach</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">Povolené (odporúčané)</translation>
 <translation id="8609465669617005112">Presunúť nahor</translation>
 <translation id="8676374126336081632">Vymazať vstup</translation>
+<translation id="8681886425883659911">Na weboch, o ktorých sa vie, že zobrazujú obťažujúce alebo zavádzajúce reklamy, sú reklamy blokované</translation>
 <translation id="868929229000858085">Prehľadať kontakty</translation>
 <translation id="8702612070107455751">Všetky offline dáta budú vymazané.</translation>
 <translation id="8712637175834984815">Dobre</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">Brániť webom v prístupe k senzorom</translation>
 <translation id="8823559166155093873">Blokovať súbory cookie</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="8899807382908246773">Obťažujúce reklamy</translation>
 <translation id="8903921497873541725">Priblížiť</translation>
 <translation id="8921772741368021346"><ph name="POSITION" />/<ph name="DURATION" /></translation>
 <translation id="8926666909099850184">Technológia NFC je v tomto zariadení vypnutá. Zapnite ju v <ph name="BEGIN_LINK" />Nastaveniach Androidu<ph name="END_LINK" />.</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ur.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ur.xtb
index ea22a46..b65660c 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ur.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ur.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">ہاں</translation>
 <translation id="1446450296470737166">‏MIDI آلات کے مکمل کنٹرول کی اجازت دیں</translation>
 <translation id="1448064542941920355">زوم آؤٹ کریں</translation>
+<translation id="1547123415014299762">فریق ثالث کوکیز کی اجازت ہے</translation>
 <translation id="1620510694547887537">کیمرا</translation>
 <translation id="1633720957382884102">متعلقہ سائٹس</translation>
 <translation id="1644574205037202324">سرگزشت</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">ترتیب دیں بلحاظ:</translation>
 <translation id="8067883171444229417">ویڈیو چلائیں</translation>
 <translation id="8068648041423924542">سرٹیفکیٹ منتخب کرنے سے قاصر ہے۔</translation>
+<translation id="8077120325605624147">آپ کی ملاحظہ کردہ کوئی بھی سائٹ آپ کو کوئی بھی اشتہار دکھا سکتی ہے</translation>
 <translation id="8087000398470557479">‏یہ مواد <ph name="DOMAIN_NAME" /> کی جانب سے ہے، جسے Google نے ڈیلیور کیا ہے۔</translation>
 <translation id="8116925261070264013">‏خاموش کردہ</translation>
 <translation id="813082847718468539">سائٹ کی معلومات دیکھیں</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">اجازت یافتہ (تجویز کردہ)</translation>
 <translation id="8609465669617005112">اوپر منتقل کریں</translation>
 <translation id="8676374126336081632">ان پٹ صاف کریں</translation>
+<translation id="8681886425883659911">اشتہارات دخل انداز یا گمراہ کن اشتہارات دکھانے کے لیے جانی جانے والی سائٹس پر مسدود ہیں</translation>
 <translation id="868929229000858085">اپنے رابطوں کو تلاش کریں</translation>
 <translation id="8702612070107455751">تمام آف لائن ڈیٹا حذف ہو جائے گا۔</translation>
 <translation id="8712637175834984815">سمجھ آ گئی</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">سینسرز تک رسائی حاصل کرنے سے سائٹس کو مسدود کریں</translation>
 <translation id="8823559166155093873">کوکیز کو مسدود کریں</translation>
 <translation id="8847988622838149491">USB</translation>
+<translation id="8899807382908246773">دخل انداز اشتہارات</translation>
 <translation id="8903921497873541725">زوم ان کریں</translation>
 <translation id="8921772741368021346"><ph name="POSITION" /> / <ph name="DURATION" /></translation>
 <translation id="8926666909099850184">‏اس آلہ کے لیے NFC آف ہے۔ اسے <ph name="BEGIN_LINK" />Android ترتیبات<ph name="END_LINK" /> میں آن کریں۔</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
index c77bd98..6775558 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
@@ -107,6 +107,7 @@
 <translation id="3123473560110926937">在部分網站上設定封鎖</translation>
 <translation id="3143754809889689516">從頭開始播放</translation>
 <translation id="3162899666601560689">網站可使用 Cookie 來改善瀏覽體驗,例如讓您保持登入狀態或記住購物車中的商品</translation>
+<translation id="3165022941318558018">允許網站使用第三方 Cookie</translation>
 <translation id="3198916472715691905">已使用 <ph name="STORAGE_AMOUNT" /> 儲存空間</translation>
 <translation id="3203366800380907218">來自網絡</translation>
 <translation id="321187648315454507">如要讓 <ph name="APP_NAME" /> 傳送通知,請一併在 <ph name="BEGIN_LINK" />Android 設定<ph name="END_LINK" />中開啟通知功能。</translation>
@@ -143,6 +144,7 @@
 <translation id="385051799172605136">返回</translation>
 <translation id="3859306556332390985">向前快轉</translation>
 <translation id="3895926599014793903">強制啟用縮放功能</translation>
+<translation id="3918378745482005425">部分功能可能無法正常運作。相關網站仍可使用第三方 Cookie。</translation>
 <translation id="3955193568934677022">允許網站播放受保護的內容 (建議)</translation>
 <translation id="3967822245660637423">下載完成</translation>
 <translation id="3987993985790029246">複製連結</translation>
@@ -327,6 +329,7 @@
 <translation id="7649070708921625228">說明</translation>
 <translation id="7658239707568436148">取消</translation>
 <translation id="7667547420449112975">《綠野仙蹤》</translation>
+<translation id="7684642910516280563">不允許網站使用第三方 Cookie</translation>
 <translation id="7690549345586282764">顯示縮放</translation>
 <translation id="7695658402549134106"><ph name="SITE_NAME" /> 的網站偏好設定</translation>
 <translation id="7719367874908701697">頁面縮放</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zu.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zu.xtb
index c4b4bb2..536aded 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zu.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zu.xtb
@@ -21,6 +21,7 @@
 <translation id="1426410128494586442">Yebo</translation>
 <translation id="1446450296470737166">Vumela ulawulo olugcwele lwamadivayisi we-MIDI</translation>
 <translation id="1448064542941920355">Nciphisa ukusondeza</translation>
+<translation id="1547123415014299762">Amakhukhi wongahlangene ngqo awavunyelwe</translation>
 <translation id="1620510694547887537">Ikhamela</translation>
 <translation id="1633720957382884102">Amasayithi ahambisanayo</translation>
 <translation id="1644574205037202324">Umlando</translation>
@@ -350,6 +351,7 @@
 <translation id="8042586301629853791">Hlunga nge:</translation>
 <translation id="8067883171444229417">Dlala ividiyo</translation>
 <translation id="8068648041423924542">Ayikwazi ukukhetha isitifiketi.</translation>
+<translation id="8077120325605624147">Noma iyiphi isayithi oyivakashelayo ingakubonisa noma yisiphi isikhangiso</translation>
 <translation id="8087000398470557479">Lokhu okuqukethwe kubuya ku-<ph name="DOMAIN_NAME" />, kulethwa i-Google.</translation>
 <translation id="8116925261070264013">Kuthulisiwe</translation>
 <translation id="813082847718468539">Buka ulwazi lwesayithi</translation>
@@ -387,6 +389,7 @@
 <translation id="857943718398505171">Kuvunyelwe (kunconyiwe)</translation>
 <translation id="8609465669617005112">Hambisa phezulu</translation>
 <translation id="8676374126336081632">Sula okokufaka</translation>
+<translation id="8681886425883659911">Izikhangiso zivinjelwe kumasayithi aziwa ngokubonisa izikhangiso ezizivelelayo noma ezidukisayo</translation>
 <translation id="868929229000858085">Sesha oxhumana nabo</translation>
 <translation id="8702612070107455751">Noma iyiphi idatha engaxhunyiwe ku-inthanethi izosulwa.</translation>
 <translation id="8712637175834984815">Ngiyitholile</translation>
@@ -399,6 +402,7 @@
 <translation id="8816026460808729765">Vimbela amasayithi kusukela ekufinyeleleni kuzinzwa</translation>
 <translation id="8823559166155093873">Vimba amakhukhi</translation>
 <translation id="8847988622838149491">I-USB</translation>
+<translation id="8899807382908246773">Izikhangiso ezizivelelayo</translation>
 <translation id="8903921497873541725">Sondeza</translation>
 <translation id="8921772741368021346"><ph name="POSITION" /> / <ph name="DURATION" /></translation>
 <translation id="8926666909099850184">I-NFC ivaliwe kule divayisi. Ivule kokuthi <ph name="BEGIN_LINK" />Izilungiselelo ze-Android<ph name="END_LINK" />.</translation>
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json
index b86d2a5..1282b01 100644
--- a/components/certificate_transparency/data/log_list.json
+++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@
 {
-  "version": "17.43",
-  "log_list_timestamp": "2023-01-13T12:53:47Z",
+  "version": "17.44",
+  "log_list_timestamp": "2023-01-14T12:54:07Z",
   "operators": [
     {
       "name": "Google",
diff --git a/components/live_caption/caption_bubble_context.h b/components/live_caption/caption_bubble_context.h
index 1e62958..c9bb566 100644
--- a/components/live_caption/caption_bubble_context.h
+++ b/components/live_caption/caption_bubble_context.h
@@ -29,11 +29,15 @@
   CaptionBubbleContext(const CaptionBubbleContext&) = delete;
   CaptionBubbleContext& operator=(const CaptionBubbleContext&) = delete;
 
-  // Returns the bounds of the context widget. On Chrome browser, this is the
-  // bounds in screen of the top level widget of the browser window. When Live
-  // Caption is implemented in ash, this will be bounds of the top level widget
-  // of the ash window.
-  virtual absl::optional<gfx::Rect> GetBounds() const = 0;
+  using GetBoundsCallback = base::OnceCallback<void(const gfx::Rect&)>;
+
+  // Calls the given callback with the bounds of the context widget. On Chrome
+  // browser, this is the bounds in screen of the top level widget of the
+  // browser window. When Live Caption is implemented in ash, this will be
+  // bounds of the top level widget of the ash window.
+  //
+  // If the context can't provide bounds, the callback is never executed.
+  virtual void GetBounds(GetBoundsCallback callback) const = 0;
 
   // Returns the unique identifier for a caption bubble session. A caption
   // bubble session is per-tab and resets when a user navigates away or reloads
diff --git a/components/live_caption/views/caption_bubble.cc b/components/live_caption/views/caption_bubble.cc
index 456262b6..8323ee6 100644
--- a/components/live_caption/views/caption_bubble.cc
+++ b/components/live_caption/views/caption_bubble.cc
@@ -1019,6 +1019,33 @@
   set_color(background_color);
 }
 
+void CaptionBubble::RepositionInContextRect(const CaptionBubbleModel* model,
+                                            const gfx::Rect& context_rect) {
+  // We shouldn't reposition ourselves into the context rect of a model that is
+  // no longer active.
+  if (model_ != model) {
+    return;
+  }
+
+  gfx::Rect inset_rect = context_rect;
+  inset_rect.Inset(gfx::Insets(kMinAnchorMarginDip));
+  gfx::Rect bubble_bounds = GetBubbleBounds();
+
+  // The placement is based on the ratio between the center of the widget and
+  // the center of the inset_rect.
+  int target_x = inset_rect.x() + inset_rect.width() * kDefaultRatioInParentX -
+                 bubble_bounds.width() / 2.0;
+  int target_y = inset_rect.y() + inset_rect.height() * kDefaultRatioInParentY -
+                 bubble_bounds.height() / 2.0;
+  gfx::Rect target_bounds = gfx::Rect(target_x, target_y, bubble_bounds.width(),
+                                      bubble_bounds.height());
+  if (!inset_rect.Contains(target_bounds)) {
+    target_bounds.AdjustToFit(inset_rect);
+  }
+
+  GetWidget()->SetBounds(target_bounds);
+}
+
 void CaptionBubble::UpdateContentSize() {
   double text_scale_factor = GetTextScaleFactor();
   int width = kMaxWidthDip * text_scale_factor;
@@ -1068,36 +1095,11 @@
     return;
   has_been_shown_ = true;
 
-  // The first time that the caption bubble is shown, place it at the bottom
-  // center of the context widget for the currently set model. We do the
-  // placement at this time to ensure that the caption bubble is positioned
-  // where the user will spot it. If there are multiple browser windows open,
-  // and the user plays media on the second window, the caption bubble will show
-  // up in the bottom center of the second window, which is where the user is
-  // already looking. It also ensures that the caption bubble will appear in the
-  // right workspace if a user has Chrome windows open on multiple workspaces.
-  if (!model_->GetContext()->GetBounds().has_value())
-    return;
-  gfx::Rect context_rect = model_->GetContext()->GetBounds().value();
-
-  context_rect.Inset(gfx::Insets(kMinAnchorMarginDip));
-  gfx::Rect bubble_bounds = GetBubbleBounds();
-
-  // The placement is based on the ratio between the center of the widget and
-  // the center of the context_rect.
-  int target_x = context_rect.x() +
-                 context_rect.width() * kDefaultRatioInParentX -
-                 bubble_bounds.width() / 2.0;
-  int target_y = context_rect.y() +
-                 context_rect.height() * kDefaultRatioInParentY -
-                 bubble_bounds.height() / 2.0;
-  gfx::Rect target_bounds = gfx::Rect(target_x, target_y, bubble_bounds.width(),
-                                      bubble_bounds.height());
-  if (!context_rect.Contains(target_bounds)) {
-    target_bounds.AdjustToFit(context_rect);
-  }
-
-  GetWidget()->SetBounds(target_bounds);
+  // The first time that the caption bubble is shown, reposition it to the
+  // bottom center of the context widget for the currently set model.
+  model_->GetContext()->GetBounds(
+      base::BindOnce(&CaptionBubble::RepositionInContextRect,
+                     weak_ptr_factory_.GetWeakPtr(), model_));
 }
 
 void CaptionBubble::Hide() {
diff --git a/components/live_caption/views/caption_bubble.h b/components/live_caption/views/caption_bubble.h
index 1df894da..18bcc30ef2 100644
--- a/components/live_caption/views/caption_bubble.h
+++ b/components/live_caption/views/caption_bubble.h
@@ -11,6 +11,7 @@
 #include "base/functional/callback.h"
 #include "base/functional/callback_helpers.h"
 #include "base/memory/raw_ptr.h"
+#include "base/memory/weak_ptr.h"
 #include "build/buildflag.h"
 #include "components/live_caption/views/caption_bubble_model.h"
 #include "components/prefs/pref_service.h"
@@ -176,6 +177,17 @@
   void SetTextColor();
   void SetBackgroundColor();
 
+  // Places the bubble at the bottom center of the context widget for the active
+  // model, ensuring that it's positioned where the user will spot it. If there
+  // are multiple browser windows open, and the user plays media on the second
+  // window, the caption bubble will show up in the bottom center of the second
+  // window, which is where the user is already looking. It also ensures that
+  // the caption bubble will appear in the right workspace if a user has Chrome
+  // windows open on multiple workspaces. This method has no effect if the
+  // active model has changed between when it was posted and executed.
+  void RepositionInContextRect(const CaptionBubbleModel* model,
+                               const gfx::Rect& context_rect);
+
   // After 5 seconds of inactivity, hide the caption bubble. Activity is defined
   // as transcription received from the speech service or user interacting with
   // the bubble through focus, pressing buttons, or dragging.
@@ -240,6 +252,8 @@
   // specified interval.
   std::unique_ptr<base::RetainingOneShotTimer> inactivity_timer_;
   raw_ptr<const base::TickClock, DanglingUntriaged> tick_clock_;
+
+  base::WeakPtrFactory<CaptionBubble> weak_ptr_factory_{this};
 };
 
 BEGIN_VIEW_BUILDER(/* no export */,
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index 7a66798..cfdc8d3 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -8156,21 +8156,6 @@
 <translation id="8882307005437314052">Bildschirmtastatur auf dem Anmeldebildschirm aktivieren und dem Nutzer erlauben, sie vorübergehend zu deaktivieren</translation>
 <translation id="8883577480680089760">Dienst <ph name="PRODUCT_NAME" /> Version 2 deaktivieren und Remote-Desktop nach der Anmeldung nicht starten</translation>
 <translation id="8887709920496070892">Zeitraum ohne Nutzereingabe, nach dem eine Warnung angezeigt wird, angegeben in Millisekunden.</translation>
-<translation id="8887847586787956456">Liste der Aktionen, die ausgeführt werden sollen, wenn das Zeitlimit in der Richtlinie <ph name="IDLE_TIMEOUT_POLICY_NAME" /> erreicht ist.
-
-      Wenn die Richtlinie <ph name="IDLE_TIMEOUT_POLICY_NAME" /> nicht konfiguriert ist, hat diese Richtlinie keine Auswirkungen.
-
-      Wird das Zeitlimit in der Richtlinie <ph name="IDLE_TIMEOUT_POLICY_NAME" /> erreicht, führt <ph name="PRODUCT_NAME" /> die in dieser Richtlinie konfigurierten Aktionen aus.
-
-      Wenn diese Richtlinie leer oder nicht konfiguriert ist, hat die Richtlinie <ph name="IDLE_TIMEOUT_POLICY_NAME" /> keine Auswirkungen.
-
-      Unterstützte Aktionen:
-
-      „<ph name="CLOSE_BROWSERS_ACTION" />“: Alle Browserfenster und PWAs für dieses Profil werden geschlossen.
-
-      „<ph name="SHOW_PROFILE_PICKER_ACTION" />“: Das Fenster mit der Profilauswahl wird angezeigt.
-
-      „<ph name="CLEAR_BROWSING_HISTORY_ACTION" />“, „<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />“, „<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />“, „<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />“, „<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />“, „<ph name="CLEAR_AUTOFILL_ACTION" />“, „<ph name="CLEAR_SITE_SETTINGS_ACTION" />“, „ <ph name="CLEAR_HOSTED_APP_DATA_ACTION" />: Die entsprechenden Browserdaten werden gelöscht. Weitere Informationen findest du in der Richtlinie „<ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />“.</translation>
 <translation id="8890438048579188548">Warnungen zu veralteten Funktionen für <ph name="CLOUD_PRINT_NAME" /> ausblenden</translation>
 <translation id="8891334958985336685">Melden der Systeminformationen auf Geräten deaktivieren</translation>
 <translation id="8892286064305622118">Erforderlicher freier Speicherplatz für <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 1287265..4c0401f 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -8291,21 +8291,6 @@
 <translation id="8882307005437314052">Habilitar el teclado en pantalla en la pantalla de acceso y permitir que el usuario lo inhabilite temporalmente</translation>
 <translation id="8883577480680089760">Inhabilitar el servicio de <ph name="PRODUCT_NAME" /> V2 y no abrir el escritorio remoto al acceder</translation>
 <translation id="8887709920496070892">El período sin intervención del usuario después del cual se muestra un diálogo de advertencia (en milisegundos).</translation>
-<translation id="8887847586787956456">Lista de acciones para ejecutar cuando se alcanza el tiempo de espera de la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Si no estableces la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />, esta política no tendrá efecto.
-
-      Cuando se alcanza el tiempo de espera de la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />, <ph name="PRODUCT_NAME" /> ejecuta las acciones configuradas en esta política.
-
-      Si la dejas vacía o no la estableces, la política <ph name="IDLE_TIMEOUT_POLICY_NAME" /> no tendrá efecto.
-
-      Se admiten las siguientes acciones:
-
-      "<ph name="CLOSE_BROWSERS_ACTION" />": cierra todas las ventanas del navegador y las AWP de este perfil.
-
-      "<ph name="SHOW_PROFILE_PICKER_ACTION" />": muestra la ventana del Selector de perfiles.
-
-      "<ph name="CLEAR_BROWSING_HISTORY_ACTION" />", "<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />", "<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />", "<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />", "<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />", "<ph name="CLEAR_AUTOFILL_ACTION" />" , "<ph name="CLEAR_SITE_SETTINGS_ACTION" />" , "<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />": borran los datos de navegación correspondientes. Para obtener más información, consulta la política <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />.</translation>
 <translation id="8890438048579188548">Oculta las advertencias de baja de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Inhabilitar los informes del sistema del dispositivo</translation>
 <translation id="8892286064305622118">Espacio libre en disco que se requiere para <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 030b0f7..733570e3e 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -8232,21 +8232,6 @@
 <translation id="8882307005437314052">Habilitar el teclado en pantalla en la pantalla de inicio de sesión y permitir que el usuario lo inhabilite temporalmente</translation>
 <translation id="8883577480680089760">Inhabilitar la versión 2 del servicio <ph name="PRODUCT_NAME" /> y no iniciar el escritorio remoto al iniciar sesión</translation>
 <translation id="8887709920496070892">El tiempo que debe transcurrir (en milisegundos) sin que el usuario realice ninguna acción antes de que se muestre un cuadro de diálogo de advertencia</translation>
-<translation id="8887847586787956456">Lista de acciones que se ejecutarán cuando se agote el tiempo de espera de la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Si no se define la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />, esta política no tendrá efecto.
-
-      Cuando se agote el tiempo de espera de la política <ph name="IDLE_TIMEOUT_POLICY_NAME" />, <ph name="PRODUCT_NAME" /> ejecutará las acciones configuradas en esta política.
-
-      Si esta política se deja vacía o no se define, la política <ph name="IDLE_TIMEOUT_POLICY_NAME" /> no tendrá efecto.
-
-      Estas son las acciones que se pueden realizar:
-
-      <ph name="CLOSE_BROWSERS_ACTION" />: cierra todas las ventanas del navegador y PWAs de este perfil.
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" />: muestra la ventana del selector de perfil.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" /> y <ph name="CLEAR_HOSTED_APP_DATA_ACTION" />: borran los datos de navegación correspondientes. Consulta la política <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> para obtener más información.</translation>
 <translation id="8890438048579188548">Ocultar las advertencias de desactivación de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Inhabilitar los informes sobre el sistema del dispositivo</translation>
 <translation id="8892286064305622118">Espacio disponible en disco necesario para <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 4e79c52..2466c4f 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -8170,21 +8170,6 @@
 <translation id="8882307005437314052">Activer le clavier à l'écran sur l'écran de connexion et permettre à l'utilisateur de le désactiver temporairement</translation>
 <translation id="8883577480680089760">Désactive le service <ph name="PRODUCT_NAME" /> V2 et ne lance pas le bureau à distance lors de la connexion</translation>
 <translation id="8887709920496070892">Délai d'inactivité, en millisecondes, au terme duquel un message d'avertissement s'affiche.</translation>
-<translation id="8887847586787956456">Liste des actions à exécuter lorsque le délai d'inactivité de la règle <ph name="IDLE_TIMEOUT_POLICY_NAME" /> est atteint.
-
-      Cette règle n'a aucune incidence si la règle <ph name="IDLE_TIMEOUT_POLICY_NAME" /> n'est pas configurée.
-
-      Lorsque le délai d'inactivité de la règle <ph name="IDLE_TIMEOUT_POLICY_NAME" /> est atteint, <ph name="PRODUCT_NAME" /> exécute les actions configurées dans celle-ci.
-
-      La règle <ph name="IDLE_TIMEOUT_POLICY_NAME" /> n'a aucune incidence si elle est vide ou si elle n'est pas configurée.
-
-      Actions acceptées :
-
-      <ph name="CLOSE_BROWSERS_ACTION" /> : ferme toutes les fenêtres du navigateur et les PWA pour ce profil.
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" /> : affiche la fenêtre de l'outil de sélection des profils.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" />, <ph name="CLEAR_HOSTED_APP_DATA_ACTION" /> : efface les données de navigation correspondantes. Pour en savoir plus, consultez la règle <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />.</translation>
 <translation id="8890438048579188548">Masquer les avertissements liés à l'abandon de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Désactiver les rapports sur les informations système de l'appareil</translation>
 <translation id="8892286064305622118">Espace disque libre requis pour <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 41d172e6..9d60a7ac 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -8284,21 +8284,6 @@
 <translation id="8882307005437314052">Aktifkan keyboard virtual di layar login dan izinkan pengguna menonaktifkannya untuk sementara</translation>
 <translation id="8883577480680089760">Nonaktifkan Layanan <ph name="PRODUCT_NAME" /> V2 dan jangan luncurkan desktop jarak jauh saat login</translation>
 <translation id="8887709920496070892">Durasi waktu tanpa input pengguna sebelum dialog peringatan ditampilkan, dalam milidetik.</translation>
-<translation id="8887847586787956456">Daftar tindakan yang akan dijalankan saat waktu tunggu dari kebijakan <ph name="IDLE_TIMEOUT_POLICY_NAME" /> tercapai.
-
-      Jika kebijakan <ph name="IDLE_TIMEOUT_POLICY_NAME" /> tidak disetel, kebijakan ini tidak akan berpengaruh.
-
-      Saat waktu tunggu dari kebijakan <ph name="IDLE_TIMEOUT_POLICY_NAME" /> tercapai, <ph name="PRODUCT_NAME" /> akan menjalankan tindakan yang dikonfigurasi di kebijakan ini.
-
-      Jika kebijakan ini disetel ke kosong atau tidak disetel, kebijakan <ph name="IDLE_TIMEOUT_POLICY_NAME" /> tidak akan berpengaruh.
-
-      Tindakan yang didukung adalah:
-
-      '<ph name="CLOSE_BROWSERS_ACTION" />': menutup semua jendela browser dan PWA untuk profil ini.
-
-      '<ph name="SHOW_PROFILE_PICKER_ACTION" />': menampilkan jendela Pemilih Profil.
-
-      '<ph name="CLEAR_BROWSING_HISTORY_ACTION" />', '<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />', '<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />', '<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />', '<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />', '<ph name="CLEAR_AUTOFILL_ACTION" />', '<ph name="CLEAR_SITE_SETTINGS_ACTION" />', '<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />': menghapus data penjelajahan yang sesuai. Lihat kebijakan <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> untuk detail selengkapnya.</translation>
 <translation id="8890438048579188548">Sembunyikan peringatan <ph name="CLOUD_PRINT_NAME" /> tidak digunakan lagi</translation>
 <translation id="8891334958985336685">Nonaktifkan pelaporan info sistem perangkat</translation>
 <translation id="8892286064305622118">Perlu ruang disk kosong untuk <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 0db6adc..c047e24 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -8144,21 +8144,6 @@
 <translation id="8882307005437314052">Attiva la tastiera sullo schermo nella schermata di accesso e consenti all'utente di disattivarla temporaneamente</translation>
 <translation id="8883577480680089760">Disattiva il servizio <ph name="PRODUCT_NAME" /> V2 e non avviare la scrivania remota all'accesso</translation>
 <translation id="8887709920496070892">Il periodo di tempo, in millisecondi, senza input dell'utente trascorso il quale viene mostrata una finestra di dialogo di avviso.</translation>
-<translation id="8887847586787956456">Elenco di azioni da eseguire quando viene raggiunto il timeout del criterio <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Se il criterio <ph name="IDLE_TIMEOUT_POLICY_NAME" /> non viene configurato, questo criterio non ha alcun effetto.
-
-      Quando viene raggiunto il timeout del criterio <ph name="IDLE_TIMEOUT_POLICY_NAME" />, <ph name="PRODUCT_NAME" /> esegue le azioni configurate in questo criterio.
-
-      Se questo criterio è vuoto o se non viene configurato, il criterio <ph name="IDLE_TIMEOUT_POLICY_NAME" /> non ha alcun effetto.
-
-      Le azioni supportate sono:
-
-      "<ph name="CLOSE_BROWSERS_ACTION" />": vengono chiuse tutte le finestre del browser e le PWA di questo profilo.
-
-      "<ph name="SHOW_PROFILE_PICKER_ACTION" />": viene mostrata la finestra Selettore profilo.
-
-      "<ph name="CLEAR_BROWSING_HISTORY_ACTION" />", "<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />", "<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />", "<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />", "<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />", "<ph name="CLEAR_AUTOFILL_ACTION" />", "<ph name="CLEAR_SITE_SETTINGS_ACTION" />", "<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />": vengono cancellati i dati di navigazione corrispondenti. Per maggiori informazioni, vedi il criterio <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />.</translation>
 <translation id="8890438048579188548">Nascondi avvisi di ritiro di <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Disattiva i report sulle informazioni di sistema del dispositivo</translation>
 <translation id="8892286064305622118">Spazio libero su disco necessario per <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 62673e4..b6cfebf3 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -7804,21 +7804,6 @@
 <translation id="8882307005437314052">ログイン画面で画面キーボードを有効にして、ユーザーが一時的に無効にすることを許可する</translation>
 <translation id="8883577480680089760"><ph name="PRODUCT_NAME" /> V2 サービスを無効にして、ログイン時にリモートデスクを起動しない</translation>
 <translation id="8887709920496070892">ユーザー入力が行われなくなってから警告ダイアログを表示するまでの時間(ミリ秒)</translation>
-<translation id="8887847586787956456"><ph name="IDLE_TIMEOUT_POLICY_NAME" /> ポリシーで定義されるタイムアウトに達したときに行う動作のリストを指定します。
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> ポリシーが設定されていない場合、このポリシーは無視されます。
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> ポリシーで定義されるタイムアウトに達すると、<ph name="PRODUCT_NAME" /> は、このポリシーで指定された動作を行います。
-
-      このポリシーを空にするか未設定のままにした場合、<ph name="IDLE_TIMEOUT_POLICY_NAME" /> ポリシーは無視されます。
-
-      サポートされている動作は次のとおりです。
-
-      「<ph name="CLOSE_BROWSERS_ACTION" />」: このプロフィールのすべてのブラウザ ウィンドウと PWA を閉じます。
-
-      「<ph name="SHOW_PROFILE_PICKER_ACTION" />」: プロフィール選択ウィンドウを表示します。
-
-      「<ph name="CLEAR_BROWSING_HISTORY_ACTION" />」、「<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />」、「<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />」、「<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />」、「<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />」、「<ph name="CLEAR_AUTOFILL_ACTION" />」、「<ph name="CLEAR_SITE_SETTINGS_ACTION" />」、「<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />」: それぞれ該当する閲覧データを消去します。詳しくは、<ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> ポリシーをご覧ください。</translation>
 <translation id="8890438048579188548"><ph name="CLOUD_PRINT_NAME" /> のサポート終了の警告を表示しない</translation>
 <translation id="8891334958985336685">デバイスのシステム情報レポートを無効にする</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> に必要なディスクの空き容量</translation>
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 206c7da..6ec745f 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -8213,21 +8213,6 @@
 <translation id="8882307005437314052">로그인 화면에서 터치 키보드를 사용 설정하고 사용자가 일시적으로 사용 중지할 수 있도록 허용</translation>
 <translation id="8883577480680089760"><ph name="PRODUCT_NAME" /> V2 서비스를 사용 중지하고 로그인 시 원격 데스크를 실행하지 않음</translation>
 <translation id="8887709920496070892">사용자의 입력 없어서 경고 대화상자가 표시되기까지 걸리는 시간(밀리초)입니다.</translation>
-<translation id="8887847586787956456"><ph name="IDLE_TIMEOUT_POLICY_NAME" /> 정책에 설정된 제한 시간 도달 시 실행할 작업 목록입니다.
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 정책이 설정되어 있지 않으면 이 정책이 적용되지 않습니다.
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 정책에 설정된 제한 시간 도달 시 <ph name="PRODUCT_NAME" />에서 이 정책에 구성된 작업을 실행합니다.
-
-      정책이 비어 있거나 설정되어 있지 않으면 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 정책이 적용되지 않습니다.
-
-      지원되는 작업:
-
-      '<ph name="CLOSE_BROWSERS_ACTION" />': 프로필의 모든 브라우저 창과 PWA를 닫습니다.
-
-      '<ph name="SHOW_PROFILE_PICKER_ACTION" />': 프로필 선택 도구 창을 표시합니다.
-
-      '<ph name="CLEAR_BROWSING_HISTORY_ACTION" />', '<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />', '<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />', '<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />', '<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />', '<ph name="CLEAR_AUTOFILL_ACTION" />', '<ph name="CLEAR_SITE_SETTINGS_ACTION" />', '<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />': 해당 인터넷 사용 기록을 삭제합니다. 자세한 내용은 <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> 정책을 참고하세요.</translation>
 <translation id="8890438048579188548"><ph name="CLOUD_PRINT_NAME" /> 지원 중단 경고 숨기기</translation>
 <translation id="8891334958985336685">기기 시스템 정보 보고 사용 중지</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" />에 필요한 디스크 여유 공간</translation>
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 05ef7e8c..855586a 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -8110,21 +8110,6 @@
 <translation id="8882307005437314052">Schermtoetsenbord op het inlogscherm aanzetten en de gebruiker toestaan dit tijdelijk uit te zetten</translation>
 <translation id="8883577480680089760"><ph name="PRODUCT_NAME" /> V2-service uitzetten en geen extern bureau starten bij inloggen</translation>
 <translation id="8887709920496070892">De tijdsduur zonder gebruikersinvoer waarna een waarschuwingsdialoogvenster wordt getoond (in milliseconden)</translation>
-<translation id="8887847586787956456">Lijst met acties die moeten worden uitgevoerd als de time-out van het beleid <ph name="IDLE_TIMEOUT_POLICY_NAME" /> is bereikt.
-
-      Als het beleid <ph name="IDLE_TIMEOUT_POLICY_NAME" /> niet is ingesteld, heeft dit beleid geen effect.
-
-      Als de time-out van het beleid <ph name="IDLE_TIMEOUT_POLICY_NAME" /> is bereikt, voert <ph name="PRODUCT_NAME" /> de acties uit die in dit beleid zijn geconfigureerd.
-
-      Als je dit beleid leeg laat of niet instelt, heeft het beleid <ph name="IDLE_TIMEOUT_POLICY_NAME" /> geen effect.
-
-      Deze acties worden ondersteund:
-
-<ph name="CLOSE_BROWSERS_ACTION" />: alle browservensters en PWA's voor dit profiel sluiten.
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" />: het profielkiezervenster tonen.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" />, <ph name="CLEAR_HOSTED_APP_DATA_ACTION" />: de bijbehorende browsegegevens wissen. Zie het beleid <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> voor meer informatie.</translation>
 <translation id="8890438048579188548">Waarschuwingen over beëindiging van <ph name="CLOUD_PRINT_NAME" /> verbergen</translation>
 <translation id="8891334958985336685">Rapportage van systeeminformatie van apparaat uitzetten</translation>
 <translation id="8892286064305622118">Vrije schijfruimte vereist voor <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index 5658c6d..246e8e60 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -8265,21 +8265,6 @@
 <translation id="8882307005437314052">Ativar o teclado na tela de login e permitir que o usuário desative o recurso temporariamente</translation>
 <translation id="8883577480680089760">Desativar o serviço <ph name="PRODUCT_NAME" /> V2 e não iniciar o espaço de trabalho remoto após o login</translation>
 <translation id="8887709920496070892">O tempo, em milissegundos, sem entrada do usuário após o qual uma caixa de diálogo de alerta é exibida.</translation>
-<translation id="8887847586787956456">Lista de ações a serem executadas quando o tempo limite da política <ph name="IDLE_TIMEOUT_POLICY_NAME" /> for atingido.
-
-      Se a <ph name="IDLE_TIMEOUT_POLICY_NAME" /> não for definida, esta política não terá efeito.
-
-      Quando o tempo limite da <ph name="IDLE_TIMEOUT_POLICY_NAME" /> for atingido, o <ph name="PRODUCT_NAME" /> vai executar as ações configuradas nesta política.
-
-      Se esta política for deixada em branco ou sem definição, a <ph name="IDLE_TIMEOUT_POLICY_NAME" /> não terá efeito.
-
-      As ações disponíveis são:
-
-      <ph name="CLOSE_BROWSERS_ACTION" />: fechar todos os PWAs e janelas do navegador deste perfil.
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" />: mostrar a janela do seletor de perfil.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" />, <ph name="CLEAR_HOSTED_APP_DATA_ACTION" />: limpar os dados de navegação correspondentes. Consulte a política <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> para saber mais detalhes.</translation>
 <translation id="8890438048579188548">Ocultar avisos de suspensão de uso de <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Desativar relatórios de informações do sistema do dispositivo</translation>
 <translation id="8892286064305622118">Espaço livre em disco necessário para o <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 98ef555..235cc5a 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -8207,21 +8207,6 @@
 <translation id="8882307005437314052">Включить экранную клавиатуру на экране входа и разрешить пользователю временно ее отключать</translation>
 <translation id="8883577480680089760">Отключить функцию "<ph name="PRODUCT_NAME" />" (версия 2) и не запускать удаленный стол после входа в аккаунт</translation>
 <translation id="8887709920496070892">Время бездействия, после которого появляется диалоговое окно с предупреждением (в миллисекундах).</translation>
-<translation id="8887847586787956456">Список действий, которые необходимо выполнить, когда истечет период, заданный в правиле <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Это правило не действует, если не настроено правило <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Когда период из правила <ph name="IDLE_TIMEOUT_POLICY_NAME" /> истечет, <ph name="PRODUCT_NAME" /> выполнит указанные действия.
-
-      Если правило не настроено или значение для него не задано, правило <ph name="IDLE_TIMEOUT_POLICY_NAME" /> работать не будет.
-
-      Поддерживаемые действия:
-
-      <ph name="CLOSE_BROWSERS_ACTION" /> (закрытие всех окон браузеров и современных веб-приложений в этом профиле).
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" />.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" />, <ph name="CLEAR_HOSTED_APP_DATA_ACTION" /> (очистка разных категорий данных о работе в браузере). Подробные сведения об этом можно найти в правиле <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />.</translation>
 <translation id="8890438048579188548">Скрывать предупреждения о прекращении поддержки сервиса "<ph name="CLOUD_PRINT_NAME" />"</translation>
 <translation id="8891334958985336685">Отключить отправку данных о системе устройства</translation>
 <translation id="8892286064305622118">Требуется свободное пространство на диске для <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 51073ea9..92cad77 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -8111,19 +8111,6 @@
 <translation id="8882307005437314052">เปิดใช้แป้นพิมพ์บนหน้าจอในหน้าจอการเข้าสู่ระบบและอนุญาตให้ผู้ใช้ปิดใช้ชั่วคราว</translation>
 <translation id="8883577480680089760">ปิดใช้บริการ <ph name="PRODUCT_NAME" /> V2 และไม่ต้องเปิดเดสก์ระยะไกลเมื่อเข้าสู่ระบบ</translation>
 <translation id="8887709920496070892">ระยะเวลาเป็นมิลลิวินาทีก่อนแสดงกล่องคำเตือนหลังจากไม่มีการป้อนข้อมูลจากผู้ใช้</translation>
-<translation id="8887847586787956456">รายการการดำเนินการที่จะเรียกใช้เมื่อหมดเวลาตามนโยบาย <ph name="IDLE_TIMEOUT_POLICY_NAME" />
-
-      หากไม่ได้ตั้งค่านโยบาย <ph name="IDLE_TIMEOUT_POLICY_NAME" /> ไว้ นโยบายนี้จะไม่มีผล
-
-      เมื่อหมดเวลาตามนโยบาย <ph name="IDLE_TIMEOUT_POLICY_NAME" /> <ph name="PRODUCT_NAME" /> จะเรียกใช้การดำเนินการที่กำหนดค่าไว้ในนโยบายนี้
-
-      หากนโยบายนี้ว่างเปล่าหรือไม่ได้ตั้งค่า นโยบาย <ph name="IDLE_TIMEOUT_POLICY_NAME" /> จะไม่มีผล
-
-      การดำเนินการที่รองรับ ได้แก่ "<ph name="CLOSE_BROWSERS_ACTION" />": ปิดหน้าต่างเบราว์เซอร์และ PWA ทั้งหมดสำหรับโปรไฟล์นี้
-
-      "<ph name="SHOW_PROFILE_PICKER_ACTION" />": แสดงหน้าต่างเครื่องมือเลือกโปรไฟล์
-
-      "<ph name="CLEAR_BROWSING_HISTORY_ACTION" />", "<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />", "<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />", "<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />", "<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />", "<ph name="CLEAR_AUTOFILL_ACTION" />", "<ph name="CLEAR_SITE_SETTINGS_ACTION" />", "<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />": ล้างข้อมูลการท่องเว็บที่เกี่ยวข้อง ดูรายละเอียดเพิ่มเติมจากนโยบาย <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /></translation>
 <translation id="8890438048579188548">ซ่อนคำเตือนการเลิกใช้งาน <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">ปิดใช้การรายงานข้อมูลระบบของอุปกรณ์</translation>
 <translation id="8892286064305622118">ต้องมีพื้นที่ว่างในดิสก์เพื่อติดตั้ง <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index 98a72eb..b0e2be0f 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -8213,21 +8213,6 @@
 <translation id="8882307005437314052">Giriş ekranında dokunmatik klavyeyi etkinleştir ve kullanıcının bunu geçici olarak devre dışı bırakmasına izin ver</translation>
 <translation id="8883577480680089760"><ph name="PRODUCT_NAME" /> V2 hizmetini devre dışı bırak ve giriş yaptıktan sonra uzaktan masayı başlatma</translation>
 <translation id="8887709920496070892">Kullanıcı ne kadar süre giriş yapmazsa bir uyarı iletişim kutusu görüntüleneceği (milisaniye olarak)</translation>
-<translation id="8887847586787956456"><ph name="IDLE_TIMEOUT_POLICY_NAME" /> politikasındaki zaman aşımına ulaşıldığında gerçekleştirilecek işlemlerin listesi.
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> politikası ayarlanmazsa bu politikanın hiçbir etkisi olmaz.
-
-      <ph name="IDLE_TIMEOUT_POLICY_NAME" /> politikasındaki zaman aşımına ulaşıldığında <ph name="PRODUCT_NAME" />, bu politikada yapılandırılan işlemleri çalıştırır.
-
-      Bu politika boşsa veya ayarlanmamışsa <ph name="IDLE_TIMEOUT_POLICY_NAME" /> politikasının hiçbir etkisi yoktur.
-
-      Desteklenen işlemler şunlardır:
-
-      "<ph name="CLOSE_BROWSERS_ACTION" />": Bu profildeki tüm tarayıcı pencerelerini ve PWA'ları (Progresif Web Uygulaması) kapatır.
-
-      "<ph name="SHOW_PROFILE_PICKER_ACTION" />": Profil seçici penceresini gösterir.
-
-      "<ph name="CLEAR_BROWSING_HISTORY_ACTION" />", "<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />", "<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />", "<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />", "<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />", "<ph name="CLEAR_AUTOFILL_ACTION" />" , "<ph name="CLEAR_SITE_SETTINGS_ACTION" />" , "<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />': İlgili tarama verilerini temizleyin. Daha fazla bilgi için <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> politikasına bakın.</translation>
 <translation id="8890438048579188548"><ph name="CLOUD_PRINT_NAME" /> ürününün kullanımdan kaldırma uyarılarını gizler</translation>
 <translation id="8891334958985336685">Cihazın sistem bilgileri raporlamasını devre dışı bırak</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> için gereken boş disk alanı</translation>
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 7b5dc20d0..0f38c8a 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -8211,21 +8211,6 @@
 <translation id="8882307005437314052">Увімкнути екранну клавіатуру на екрані входу й дозволити користувачам тимчасово вимкнути цю функцію</translation>
 <translation id="8883577480680089760">Вимкнути сервіс <ph name="PRODUCT_NAME" /> версії 2 й не запускати віддалений робочий стіл після входу</translation>
 <translation id="8887709920496070892">Період часу неактивності користувача в мілісекундах, після якого з'являється діалогове вікно з попередженням</translation>
-<translation id="8887847586787956456">Список дій, які виконуються, коли спливає час очікування, заданий у правилі <ph name="IDLE_TIMEOUT_POLICY_NAME" />.
-
-      Якщо правило <ph name="IDLE_TIMEOUT_POLICY_NAME" /> не налаштовано, це правило не діє.
-
-      Коли спливає час очікування, заданий у правилі <ph name="IDLE_TIMEOUT_POLICY_NAME" />, <ph name="PRODUCT_NAME" /> виконує дії, указані в цьому правилі.
-
-      Якщо це правило не налаштувати або не вказати для нього значення, правило <ph name="IDLE_TIMEOUT_POLICY_NAME" /> не діятиме.
-
-      Підтримувані дії:
-
-      <ph name="CLOSE_BROWSERS_ACTION" />: закрити всі вікна веб-переглядача та прогресивні веб-додатки для цього профілю.
-
-      <ph name="SHOW_PROFILE_PICKER_ACTION" />: показати вікно засобу вибору профілю.
-
-      <ph name="CLEAR_BROWSING_HISTORY_ACTION" />, <ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />, <ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />, <ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />, <ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />, <ph name="CLEAR_AUTOFILL_ACTION" />, <ph name="CLEAR_SITE_SETTINGS_ACTION" />, <ph name="CLEAR_HOSTED_APP_DATA_ACTION" />: очистити всі відповідні дані веб-перегляду. Щоб дізнатися більше, перегляньте правило <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" />.</translation>
 <translation id="8890438048579188548">Приховувати попередження про припинення підтримки <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Вимкнути звітування щодо інформації про систему пристрою</translation>
 <translation id="8892286064305622118">Потрібне вільне місце на диску для <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 9c2f3385..795db2b 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -8208,21 +8208,6 @@
 <translation id="8882307005437314052">Bật bàn phím ảo trên màn hình đăng nhập và cho phép người dùng tạm thời tắt tính năng này</translation>
 <translation id="8883577480680089760">Tắt dịch vụ <ph name="PRODUCT_NAME" /> phiên bản 2 và không chạy không gian làm việc từ xa khi đăng nhập</translation>
 <translation id="8887709920496070892">Khoảng thời gian (tính bằng mili giây) kể từ khi không có hoạt động đầu vào của người dùng cho đến thời điểm hệ thống hiện hộp thoại cảnh báo</translation>
-<translation id="8887847586787956456">Danh sách thao tác sẽ diễn ra khi hết thời gian chờ do chính sách <ph name="IDLE_TIMEOUT_POLICY_NAME" /> quy định.
-
-      Nếu bạn không đặt chính sách <ph name="IDLE_TIMEOUT_POLICY_NAME" />, chính sách này sẽ không có hiệu lực.
-
-      Khi hết thời gian chờ do chính sách <ph name="IDLE_TIMEOUT_POLICY_NAME" /> quy định, <ph name="PRODUCT_NAME" /> sẽ thực hiện các thao tác được định cấu hình trong chính sách này.
-
-      Nếu bạn để trống hoặc không đặt chính sách này, thì chính sách <ph name="IDLE_TIMEOUT_POLICY_NAME" /> sẽ không có hiệu lực.
-
-      Các thao tác được hỗ trợ là:
-
-      "<ph name="CLOSE_BROWSERS_ACTION" />": đóng tất cả cửa sổ trình duyệt và PWA của hồ sơ này.
-
-      "<ph name="SHOW_PROFILE_PICKER_ACTION" />": hiện cửa sổ Bộ chọn hồ sơ.
-
-      "<ph name="CLEAR_BROWSING_HISTORY_ACTION" />", "<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />", "<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />", "<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />", "<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />", "<ph name="CLEAR_AUTOFILL_ACTION" />", "<ph name="CLEAR_SITE_SETTINGS_ACTION" />", "<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />": xoá dữ liệu duyệt web tương ứng. Hãy xem chính sách <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> để biết thêm chi tiết.</translation>
 <translation id="8890438048579188548">Ẩn cảnh báo về việc ngừng cung cấp <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="8891334958985336685">Tắt tính năng báo cáo thông tin về hệ thống của thiết bị</translation>
 <translation id="8892286064305622118">Dung lượng ổ đĩa trống cần có cho <ph name="PLUGIN_VM_NAME" /></translation>
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index ec717f2..4bb2c62 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -8094,21 +8094,6 @@
 <translation id="8882307005437314052">为登录屏幕启用屏幕键盘,并允许用户暂时停用它</translation>
 <translation id="8883577480680089760">停用<ph name="PRODUCT_NAME" /> V2 服务,且登录时不启动远程桌面</translation>
 <translation id="8887709920496070892">系统应在设备闲置多久(以毫秒为单位)后显示警告对话框</translation>
-<translation id="8887847586787956456">以列表形式指定在达到 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策所设的超时时限后要运行的一系列操作。
-
-      如果 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策未设置,此政策将不会产生任何效力。
-
-      达到 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策所设的超时时限后,<ph name="PRODUCT_NAME" /> 会运行此政策中配置的操作。
-
-      如果此政策为空或未设置,<ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策将不会产生任何效力。
-
-      支持的操作如下:
-
-      “<ph name="CLOSE_BROWSERS_ACTION" />”:关闭该个人资料的所有浏览器窗口和 PWA。
-
-      “<ph name="SHOW_PROFILE_PICKER_ACTION" />”:显示“个人资料选择器”窗口。
-
-      “<ph name="CLEAR_BROWSING_HISTORY_ACTION" />”“<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />”“<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />”“<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />”“<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />”“<ph name="CLEAR_AUTOFILL_ACTION" />”“<ph name="CLEAR_SITE_SETTINGS_ACTION" />”“<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />”:清除相应的浏览数据。有关详情,请参阅 <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> 政策。</translation>
 <translation id="8890438048579188548">隐藏 <ph name="CLOUD_PRINT_NAME" />弃用警告</translation>
 <translation id="8891334958985336685">停用设备系统信息报告功能</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> 所需的可用磁盘空间</translation>
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 32f54ee..3bb430b 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -8044,21 +8044,6 @@
 <translation id="8882307005437314052">在登入畫面上啟用螢幕小鍵盤,並允許使用者暫時停用</translation>
 <translation id="8883577480680089760">停用<ph name="PRODUCT_NAME" /> V2 服務,不要在登入時啟動遠端桌面</translation>
 <translation id="8887709920496070892">顯示警告對話方塊前的閒置時間長度 (以毫秒為單位)。如果使用者在這段時間內沒有任何動作,系統就會顯示警告對話方塊</translation>
-<translation id="8887847586787956456">如果達到 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策指定的逾時時間,系統要執行的動作清單。
-
-      如果不設定 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策,這項政策就不會有任何作用。
-
-      假如達到 <ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策指定的逾時時間,<ph name="PRODUCT_NAME" /> 就會執行在這項政策中設定的動作。
-
-      如果將這項政策留空或未設定,<ph name="IDLE_TIMEOUT_POLICY_NAME" /> 政策就不會有任何作用。
-
-      支援的動作為:
-
-      「<ph name="CLOSE_BROWSERS_ACTION" />」:關閉這個設定檔的所有瀏覽器視窗和 PWA。
-
-      「<ph name="SHOW_PROFILE_PICKER_ACTION" />」:顯示設定檔選擇畫面視窗。
-
-      「<ph name="CLEAR_BROWSING_HISTORY_ACTION" />」、「<ph name="CLEAR_DOWNLOAD_HISTORY_ACTION" />」、「<ph name="CLEAR_COOKIES_AND_OTHER_SITE_DATA_ACTION" />」、「<ph name="CLEAR_CACHED_IMAGES_AND_FILES_ACTION" />」、「<ph name="CLEAR_PASSWORD_SIGNIN_ACTION" />」、「<ph name="CLEAR_AUTOFILL_ACTION" />」、「<ph name="CLEAR_SITE_SETTINGS_ACTION" />」、「<ph name="CLEAR_HOSTED_APP_DATA_ACTION" />」:清除對應的瀏覽資料。詳情請參閱 <ph name="CLEAR_BROWSING_DATA_ON_EXIT_LIST_POLICY_NAME" /> 政策。</translation>
 <translation id="8890438048579188548">隱藏 <ph name="CLOUD_PRINT_NAME" />淘汰警告訊息</translation>
 <translation id="8891334958985336685">停用裝置系統資訊回報功能</translation>
 <translation id="8892286064305622118"><ph name="PLUGIN_VM_NAME" /> 需要的可用磁碟空間</translation>
diff --git a/components/strings/components_strings_af.xtb b/components/strings/components_strings_af.xtb
index 65e9321..af2fac34 100644
--- a/components/strings/components_strings_af.xtb
+++ b/components/strings/components_strings_af.xtb
@@ -1153,6 +1153,7 @@
 <translation id="3872834068356954457">Wetenskap</translation>
 <translation id="3875783148670536197">Wys my hoe</translation>
 <translation id="3881478300875776315">Wys minder reëls</translation>
+<translation id="3883500545751229739">indringerige advertensies</translation>
 <translation id="3884278016824448484">Teenstrydige toestelidentifiseerder</translation>
 <translation id="388632593194507180">Monitering is bespeur</translation>
 <translation id="3886948180919384617">Stapelaar 3</translation>
@@ -3117,6 +3118,7 @@
 <translation id="8891727572606052622">Ongeldige instaanbedienermodus.</translation>
 <translation id="8894794286471754040">Lang kant eerste</translation>
 <translation id="8897428486789851669">Swem</translation>
+<translation id="8899807382908246773">Indringerige advertensies</translation>
 <translation id="8903921497873541725">Zoem in</translation>
 <translation id="890493561996401738">Verwyder Voorstel-knoppie; druk Enter om te verwyder; <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">Google-rekening</translation>
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index c63ce05d..4eaae95 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">ይህ የመውሰጃ ዘዴ አይደገፍም። የተለየ ዘዴ ይምረጡ።</translation>
 <translation id="2987034854559945715">ምንም ተዛማጅ ባህሪያት የሉም</translation>
 <translation id="2989742184762224133">ድርብ ከላይ ስቴፕለር ምታ</translation>
+<translation id="2990882401221831923">የክሬዲት ካርዶች ዝርዝር ዝግ ነው።</translation>
 <translation id="2991174974383378012">ከድረ ገጾች ጋር ማጋራት</translation>
 <translation id="299122504639061328">ነባሪ የፍለጋ ፕሮግራምዎን እና የጣቢያ ፍለጋዎን ያቀናብሩ</translation>
 <translation id="2991571918955627853">የድር ጣቢያው HSTS ስለሚጠቀም አሁን <ph name="SITE" />ን መጎብኘት አይችሉም። የአውታረ መረብ ስህተቶች እና ጥቃቶች አብዛኛው ጊዜ ጊዜያዊ ናቸው፣ ስለዚህ ይህ ገጽ በኋላ ላይ ሳይሠራ አይቀርም።</translation>
@@ -1583,6 +1584,7 @@
 <translation id="4976702386844183910">ለመጨረሻ ጊዜ የተጎበኘው በ<ph name="DATE" /></translation>
 <translation id="498323057460789381">የንድፍ ማረጋገጫ ስህተት፦ <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">ማይክፎሮን ይጠቀም?</translation>
+<translation id="4988822846878841743">በንክኪ የሚሞሉ የክሬዲት ካርዶች ዝርዝር በግማሽ ቁመት ተከፍቷል።</translation>
 <translation id="4989163558385430922">ሁሉንም ይመልከቱ</translation>
 <translation id="4989542687859782284">አይገኝም</translation>
 <translation id="4989809363548539747">ይህ ተሰኪ አይደገፍም</translation>
@@ -1930,6 +1932,7 @@
 <translation id="5863847714970149516">ከፊት ያለው ገጽ እርስዎን ገንዘብ ለማስከፈል ሊሞክር ይችላል</translation>
 <translation id="5866257070973731571">ስልክ ቁጥር ያክሉ</translation>
 <translation id="5866898949289125849">እርስዎ የገንቢ መሣሪያዎች ገጽ እየተመለከቱ ነው</translation>
+<translation id="5868548454963263350">በንክኪ የሚሞሉ የክሬዲት ካርዶች ዝርዝር በሙሉ ቁመት ተከፍቷል።</translation>
 <translation id="5869405914158311789">ይህ ጣቢያ ሊደረስበት አይችልም</translation>
 <translation id="5869522115854928033">የተቀመጡ የይለፍ ቃሎች</translation>
 <translation id="5873013647450402046">ባንክዎ እርስዎ መሆንዎን ማረጋገጥ ይፈልጋል።</translation>
@@ -2642,6 +2645,7 @@
 <translation id="7653957176542370971">የክፍያ ተቆጣጣሪ ሉህ ተዘግቷል</translation>
 <translation id="7654909834015434372">ማብራሪያዎችን ሲያርትዑ ይህ ሰነድ ወደ መጀመሪያው ማዞር ይመለሳል</translation>
 <translation id="765676359832457558">የላቁ ቅንብሮችን ደብቅ...</translation>
+<translation id="7656935528854393684">በንክኪ የሚሞሉ የክሬዲት ካርዶች ዝርዝር።</translation>
 <translation id="7658239707568436148">ይቅር</translation>
 <translation id="7659327900411729175">ካኩ 8 ፖስታ</translation>
 <translation id="7659878911471462949">የደስታ እንባ</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 9aec827..8bc3fa5 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -162,6 +162,7 @@
 <translation id="1337692097987160377">Bu tabı paylaşın</translation>
 <translation id="1339601241726513588">Qeydiyyat domeni:</translation>
 <translation id="1340482604681802745">Götürmə ünvanı</translation>
+<translation id="1343356790768851700">Bu sayt bəyəndiklərinizi müəyyənləşdirir və sonra digər saytlara reklam təklif edir</translation>
 <translation id="1346748346194534595">Sağ</translation>
 <translation id="1348198688976932919">Sonrakı saytda təhlükəli tətbiq var</translation>
 <translation id="1348779747280417563">Adı təsdiq edin</translation>
@@ -273,6 +274,7 @@
 <translation id="1583429793053364125">Bu veb səhifəni göstərərkən xəta baş verdi.</translation>
 <translation id="1586541204584340881">Quraşdırdığınız artırmalar</translation>
 <translation id="1588438908519853928">Normal</translation>
+<translation id="1589286740290249903"><ph name="BEGIN_BOLD" />Hansı data istifadə olunur:<ph name="END_BOLD" /> Reklam mövzularınız son baxış tarixçənizə, bu cihazda Chrome istifadə edərək ziyarət etdiyiniz saytların siyahısına əsaslanır.</translation>
 <translation id="1592005682883173041">Yerli Data Girişi</translation>
 <translation id="1593359183944365958">270 dərəcə</translation>
 <translation id="1594030484168838125">Seçin</translation>
@@ -311,6 +313,7 @@
 <translation id="1682696192498422849">Qısa kənar əvvəldə</translation>
 <translation id="168693727862418163">Bu siyasət dəyəri sxem əsasında doğrulanmadı və nəzərə alınmayacaq.</translation>
 <translation id="168841957122794586">Server sertifikatının kriptoqrafik açarı zəifdir.</translation>
+<translation id="1697430960030447570"><ph name="BEGIN_BOLD" />Datanızı necə idarə edə bilərsiniz:<ph name="END_BOLD" /> Chrome 4 həftədən köhnə mövzuları avtomatik silir. Baxmağa davam etdikcə mövzu siyahıda yenidən görünə bilər. Həmçinin Chrome-un saytlarla paylaşmasını istəmədiyiniz mövzuları bloklaya və istənilən vaxt Chrome ayarlarında reklam mövzularını deaktiv edə bilərsiniz.</translation>
 <translation id="1697532407822776718">Hər şey hazırdır!</translation>
 <translation id="1702815194757674443">ROC 16K</translation>
 <translation id="1703835215927279855">Letter</translation>
@@ -340,6 +343,7 @@
 <translation id="1736420071277903564">Kompüter</translation>
 <translation id="1740951997222943430">Düzgün bitmə ayı daxil edin</translation>
 <translation id="1741613555002899862">Təyin edilməli və DnsOverHttpsMode <ph name="SECURE_DNS_MODE_SECURE" /> olduqda, doğru dəyər olmalıdır.</translation>
+<translation id="1745399796851657441"><ph name="BEGIN_BOLD" />Bu datanı necə istifadə edirik:<ph name="END_BOLD" /> Baxış keçirərkən Chrome maraqlandığınız mövzuları qeyd edir. Mövzu etiketləri əvvəlcədən müəyyən edilir və İncəsənət və Əyləncə, Alış-veriş və İdman kimi sahələri əhatə edir. Daha sonra ziyarət etdiyiniz sayt gördüyünüz reklamları fərdiləşdirmək üçün Chrome'dan bəzi mövzularınızı (baxış tarixçənizi deyil) istəyə bilər.</translation>
 <translation id="1745880797583122200">Brauzer idarə edilir</translation>
 <translation id="1746113442205726301">Şəklin Y oxu üzrə yerdəyişməsi</translation>
 <translation id="1746531169546376413">0 dərəcə</translation>
@@ -430,6 +434,7 @@
 <translation id="1992331125980284532">JIS B3</translation>
 <translation id="1997484222658892567"><ph name="URL" /> böyük həcmli datanı həmişəlik lokal kompüterinizdə yadda saxlamaq istəyir</translation>
 <translation id="2001146170449793414">{COUNT,plural, =1{və daha 1}other{və daha #}}</translation>
+<translation id="2002436619517051938">Chrome ayarlarında dəyişiklik edə bilərsiniz.</translation>
 <translation id="2003709556000175978">Parolu indi sıfırlayın</translation>
 <translation id="2003775180883135320">Yuxarıdan dördlü deşik açın</translation>
 <translation id="201174227998721785">Chrome ayarlarında saytlarda saxlanılan icazələri və datanı idarə edin</translation>
@@ -452,6 +457,7 @@
 <translation id="205212645995975601">Kabab və qrill</translation>
 <translation id="2053111141626950936"><ph name="LANGUAGE" /> dilindəki səhifələr tərcümə edilməyəcək.</translation>
 <translation id="2053373601901562871">{NUM_DAYS,plural, =0{Bu kontrol aktiv olduqda və status "aktiv" olduğu zaman Chrome axtarış fəaliyyətinizin ən çox bənzədiyi çox iştirakçısı olan qrupu, yaxud "kohortu" müəyyən edir. Reklamçılar qrup üçün reklamlar seçə bilər və axtarış fəaliyyətiniz cihazınızda məxfi saxlanılır. Qrupunuz hər gün yenilənir.}=1{Bu kontrol aktiv olduqda və status "aktiv" olduğu zaman Chrome axtarış fəaliyyətinizin ən çox bənzədiyi çox iştirakçısı olan qrupu, yaxud "kohortu" müəyyən edir. Reklamçılar qrup üçün reklamlar seçə bilər və axtarış fəaliyyətiniz cihazınızda məxfi saxlanılır. Qrupunuz hər gün yenilənir.}other{Bu kontrol aktiv olduqda və status "aktiv" olduğu zaman Chrome axtarış fəaliyyətinizin ən çox bənzədiyi çox iştirakçısı olan qrupu, yaxud "kohortu" müəyyən edir. Reklamçılar qrup üçün reklamlar seçə bilər və axtarış fəaliyyətiniz cihazınızda məxfi saxlanılır. Qrupunuz {NUM_DAYS} gündən bir yenilənir.}}</translation>
+<translation id="2056658168519009885">Saytlar gördüyünüz reklamları fərdiləşdirmək üçün Chrome'dan məlumat istəyə bilər.</translation>
 <translation id="2059202684901022309">22 x 34 düym</translation>
 <translation id="2064691555167957331">{COUNT,plural, =1{1 təklif}other{# təklif}}</translation>
 <translation id="2066915425250589881">silinməsini tələb edin</translation>
@@ -671,6 +677,7 @@
 <translation id="262745152991669301">Saytlar USB cihazlarına qoşulmaq icazəsi istəyə bilər</translation>
 <translation id="2629325967560697240">Chrome'un ən yüksək təhlükəsizlik səviyyəsini əldə etmək üçün<ph name="BEGIN_ENHANCED_PROTECTION_LINK" />genişləndirilmiş qorumanı aktiv edin<ph name="END_ENHANCED_PROTECTION_LINK" /></translation>
 <translation id="2634124572758952069"><ph name="HOST_NAME" /> serverinin IP ünvanı tapılmadı.</translation>
+<translation id="2639227409413857192">Bu sayt bəyəndiklərinizi müəyyənləşdirir və sonra digər saytlara reklam təklif edir. Bu sayt sizə daha uyğun reklamlar göstərmək üçün Chrome'dan reklam mövzularınızı da əldə edir.</translation>
 <translation id="2639739919103226564">Status:</translation>
 <translation id="2643134278432436513">Saça qulluq</translation>
 <translation id="2647852283046201479">Strategiya oyunları</translation>
@@ -812,6 +819,7 @@
 <translation id="301521992641321250">Avtomatik olaraq blok edildi</translation>
 <translation id="3016780570757425217">Məkanınızı bilin</translation>
 <translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, Təklifi ləğv etmək üçün Tab, sonra Enter düyməsini basın.</translation>
+<translation id="3023165109041533893">Saytın təklif etdiyi reklamlar saytlara sizə müvafiq reklamlar göstərməyə imkan verərkən, baxış tarixçənizi və şəxsiyyətinizi qorumağa kömək edir. Fəaliyyətinizə əsasən, baxışa davam etdiyiniz zaman ziyarət etdiyiniz sayt əlaqəli reklamlar təklif edə bilər. Bu saytların siyahısını görə və ayarlarda istəmədiklərinizi bloklaya bilərsiniz.</translation>
 <translation id="3024663005179499861">Yanlış siyasət növü</translation>
 <translation id="3029752078111257850">Dünya xəbərləri</translation>
 <translation id="3037177537145227281">Qiymət izlənilir</translation>
@@ -823,6 +831,7 @@
 <translation id="306573536155379004">Oyun başladı.</translation>
 <translation id="3068991664510324412">Kompüter və video oyunları</translation>
 <translation id="3080254622891793721">Qrafik</translation>
+<translation id="3081538120861307764">Reklamın performansını ölçmək üçün reklamın sizə göstərildiyi vaxt kimi məhdud data növləri saytlar arasında paylaşılır.</translation>
 <translation id="3082007635241601060">Əlçatan olduqda fərdiləşdirilmiş endirimlər tapmaq üçün Google'a səbətlərinizdən istifadə etməyə icazə verin</translation>
 <translation id="3086579638707268289">Vebdəki fəaliyyətinizə nəzarət edilir</translation>
 <translation id="3087734570205094154">Alt</translation>
@@ -900,6 +909,7 @@
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab düyməsi, sonra Enter düyməsinə basaraq Google Calendar'da cəld yeni tədbir yaradın</translation>
 <translation id="3261488570342242926">Virtual kartlar barədə məlumat</translation>
 <translation id="3264837738038045344">"Chrome ayarlarını idarə edin" düyməsi, Enter düyməsinə basaraq Chrome ayarlarını ziyarət edin</translation>
+<translation id="3266367459139339908">Sizə fərdiləşdirilmiş reklamlar göstərdikdə saytların sizin haqqınızda öyrənə biləcəklərini məhdudlaşdırmaq üçün yeni yollar başladırıq, məsələn:</translation>
 <translation id="3266793032086590337">Dəyər (zidd)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{Əlaqəli saytlar daxil olmaqla heç bir sayt bloklanmayıb}=1{Əlaqəli saytlar daxil olmaqla 1 sayt bloklanıb}other{Əlaqəli saytlar daxil olmaqla # sayt bloklanıb}}</translation>
 <translation id="3268451620468152448">Panelləri Açın</translation>
@@ -931,6 +941,7 @@
 <translation id="3339440062908617027">Qaçış və gəzinti</translation>
 <translation id="3339446062576134663">Bulud (Ash)</translation>
 <translation id="3340978935015468852">ayarlar</translation>
+<translation id="3342018947887487892">Daha sonra ziyarət etdiyiniz sayt bu məlumatı istəyə bilər – ya reklam mövzularınız, ya da ziyarət etdiyiniz saytlar tərəfindən təklif olunan reklamlar.</translation>
 <translation id="3342366525167526994">Bədən rəsmləri</translation>
 <translation id="3345782426586609320">Gözlər</translation>
 <translation id="3349952286488694786">SRA2</translation>
@@ -1056,6 +1067,7 @@
 <translation id="3634530185120165534">Qab 5</translation>
 <translation id="3634567936866541746">İndicə parolunuzu aldadıcı sayt içində yazdınız. Hesablarınızı qorumaq üçün Chrome yadda saxladığınız parolları yoxlamağı tövsiyə edir.</translation>
 <translation id="3642638418806704195">Tətbiq:</translation>
+<translation id="3646643500201740985">Bir reklamın nə qədər yaxşı performans göstərdiyini ölçmək</translation>
 <translation id="3647286794400715637">Hər bir keçid sətri daxiletməsində 1-2 keçid olmalıdır.</translation>
 <translation id="3650584904733503804">Yoxlama uğurludur</translation>
 <translation id="3653033846669030038">Tematik parklar</translation>
@@ -1073,6 +1085,7 @@
 <translation id="3678342917559046352">Yanlış Artırma: Dəyər bu formatlardan birində olmalıdır: &lt;extension_id&gt; və ya &lt;extension_id&gt;;&lt;update_url&gt;.</translation>
 <translation id="3678529606614285348">Yeni Gizli pəncərədə səhifə açın (Ctrl-Shift-N)</translation>
 <translation id="3681007416295224113">Sertifikat məlumatı</translation>
+<translation id="3681421644246505351">Chrome son baxış tarixçənizə əsaslanaraq maraqlandığınız mövzuları qeyd edir.</translation>
 <translation id="3693327506115126094">Kimliyinizi necə doğrulayacağınızı seçin</translation>
 <translation id="3701427423622901115">Sıfırlanma doğrulandı.</translation>
 <translation id="3704162925118123524">İstifadə etdiyiniz şəbəkə login səhifəsinə daxil olmağınızı tələb edə bilər.</translation>
@@ -1158,6 +1171,7 @@
 <translation id="3901925938762663762">Kartın vaxtı bitib.</translation>
 <translation id="3906954721959377182">Planşet</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
+<translation id="3911401144270344103">İstənilən vaxt Chrome ayarlarında fikrinizi dəyişə bilərsiniz</translation>
 <translation id="3921869355029467742">Təhlükəsizlik kodunuzu daxil edin</translation>
 <translation id="3927932062596804919">Rədd edin</translation>
 <translation id="393316646445601645">İnternet və telekom</translation>
@@ -1185,6 +1199,7 @@
 <translation id="3987940399970879459">1 MB-dan az</translation>
 <translation id="3990250421422698716">Kənarını bükün</translation>
 <translation id="3992684624889376114">Bu səhifə haqqında</translation>
+<translation id="399952081411886534">Reklamları daha məxfi edən digər funksiyalar</translation>
 <translation id="4006465311664329701">Google Pay istifadə edən Ödəniş Metodları, Təkliflər və Ünvanlar</translation>
 <translation id="4009243425692662128">Çap etdiyiniz səhifələrin məzmunu təhlil üçün Google Cloud və ya üçüncü tərəflərə göndərilir. Məsələn, onlar həssas dataya görə skanlana bilər.</translation>
 <translation id="4010758435855888356">Yaddaşa giriş icazəsi verilsin?</translation>
@@ -1202,6 +1217,7 @@
 <translation id="4063924980214801036">Kartları daha sürətli təsdiqləmək üçün cihazın kiliddən çıxarılmasından istifadə edin</translation>
 <translation id="4067098466788473230">Təhsil qrantları və təqaüdləri</translation>
 <translation id="4067947977115446013">Düzgün Ünvan Əlavə Edin</translation>
+<translation id="4070790659619547722">Reklamın ölçülməsi ilə, reklamın sizə göstərildiyi vaxt kimi reklamlarının performansını ölçmək üçün saytlar arasında məhdud data növləri paylaşılır.</translation>
 <translation id="4072193657607981494">Siyasətlər yüklənir</translation>
 <translation id="4072486802667267160">Sifariş hazırlanarkən xəta baş verdi. Yenidən cəhd edin.</translation>
 <translation id="4073376909608563327">Cihazın kiliddən çıxarılmasından istifadə etmək mümkün olmadı</translation>
@@ -1254,6 +1270,7 @@
 <translation id="4173827307318847180">{MORE_ITEMS,plural, =1{Daha <ph name="ITEM_COUNT" /> element}other{Daha <ph name="ITEM_COUNT" /> element}}</translation>
 <translation id="4176463684765177261">Deaktiv edildi</translation>
 <translation id="4176535426287761656">Vaxt keçirmə və tətil yerləri</translation>
+<translation id="4177501066905053472">Reklam mövzuları</translation>
 <translation id="4179515394835346607"><ph name="ROW_NAME" /> <ph name="ROW_CONTENT" /></translation>
 <translation id="4186035307311647330">Qiyməti izləməyin</translation>
 <translation id="4194250254487269611">Hazırda kartınızı yadda saxlamaq mümkün deyil</translation>
@@ -1309,6 +1326,7 @@
 <translation id="4282346679996504092">Bu məhsul üçün xəbərdarlıqlar deaktiv edilib və əlfəcin silinib</translation>
 <translation id="4285498937028063278">Çıxarın</translation>
 <translation id="428639260510061158">{NUM_CARDS,plural, =1{Bu kart Google Hesabında yadda saxlanılıb}other{Bu kartlar Google Hesabında yadda saxlanılıb}}</translation>
+<translation id="4287495839370498922">Chrome'da təkmilləşdirilmiş reklam məxfiliyi</translation>
 <translation id="4287885627794386150">Sınaq üçün uyğundur, lakin aktiv deyil</translation>
 <translation id="4297502707443874121"><ph name="THUMBNAIL_PAGE" /> səhifəsi üçün miniatür</translation>
 <translation id="4298000214066716287">İnvestisiya</translation>
@@ -1389,6 +1407,7 @@
 <translation id="449126573531210296">Sinxronlaşdırılmış parolları Google Hesabınız ilə şifrləyin</translation>
 <translation id="4492519888999857993">Bu funksiyalar defolt olaraq deaktiv edilib. Onlar Chrome'un gələcək versiyalarında əlçatan olmayacaq.</translation>
 <translation id="4493480324863638523">Yanlış link. Standart sxemli link olmalıdır, məs., http://example.com və ya https://example.com.</translation>
+<translation id="4494323206460475851">Ayarlarda reklam mövzularına baxa və saytlarla paylaşılmasını istəmədiyiniz mövzuları bloklaya bilərsiniz. Chrome həmçinin 4 həftədən köhnə reklam mövzularını avtomatik silir.</translation>
 <translation id="4500587658229086076">təhlükəli məzmun</translation>
 <translation id="4506176782989081258">Doğrulama xətası: <ph name="VALIDATION_ERROR" /></translation>
 <translation id="4506599922270137252">Sistem admini ilə əlaqə yardılır</translation>
@@ -1459,6 +1478,7 @@
 <translation id="467809019005607715">Google Slayd</translation>
 <translation id="4682496302933121474">Səhifə tərcümə edilsin?</translation>
 <translation id="468314109939257734">Virtual kart nömrənizə baxın</translation>
+<translation id="4687718960473379118">Saytın təklif etdiyi reklamlar</translation>
 <translation id="4692623383562244444">Axtarış Sistemləri</translation>
 <translation id="4701488924964507374"><ph name="SENTENCE1" /> <ph name="SENTENCE2" /></translation>
 <translation id="4702504834785592287">Tərəf</translation>
@@ -1740,6 +1760,7 @@
 <translation id="5337569431717511221">"Chrome'u defolt brauzer kimi ayarlayın" düyməsi, Enter düyməsinə basaraq Chrome'u sistemin defolt brauzeri kimi ayarlayın</translation>
 <translation id="5340250774223869109">Tətbiq bloklanıb</translation>
 <translation id="534295439873310000">NFC cihazları</translation>
+<translation id="5344522958567249764">Reklam məxfiliyini idarə edin</translation>
 <translation id="5344579389779391559">Bu səhifədə Sizdən ödəniş tutula bilər</translation>
 <translation id="5347645913823149105">"Chrome'da şriftləri fərdiləşdirin" düyməsi, Enter düyməsinə basaraq Chrome'da şrift ölçülərini və şriftləri fərdiləşdirin</translation>
 <translation id="5355557959165512791">Hazırda <ph name="SITE" /> saytına daxil olmaq mümkün deyil, çünki onun sertifikatı silinib. Şəbəkə xətaları və hücumları adətən müvəqqəti olur, beləliklə, səhifə yəqin ki daha sonra işləyəcək.</translation>
@@ -1838,6 +1859,7 @@
 <translation id="5598944008576757369">Ödəniş Üsulu seçin</translation>
 <translation id="560412284261940334">İdarəetmə dəstəklənmir</translation>
 <translation id="5605670050355397069">Qeyd Kitabçası</translation>
+<translation id="5606444889871204172"><ph name="BEGIN_BOLD" />Datanızı necə idarə edə bilərsiniz:<ph name="END_BOLD" /> Chrome 4 həftədən köhnə saytları avtomatik silir. Yenidən ziyarət etdiyiniz sayt yenidən siyahıda görünə bilər. Həmçinin, istənilən vaxt Chrome ayarlarında saytın sizə reklam təklif etməsini bloklaya və sayt tərəfindən təklif olunan reklamları deaktiv edə bilərsiniz.</translation>
 <translation id="5610142619324316209">Bağlantınız yoxlanılır</translation>
 <translation id="5610807607761827392"><ph name="BEGIN_LINK" />Ayarlar<ph name="END_LINK" /> bölməsindən kart və ünvanları idarə edə bilərsiniz.</translation>
 <translation id="561165882404867731">Bu səhifəni Google Tərcümə ilə tərcümə edin</translation>
@@ -1976,6 +1998,7 @@
 <translation id="598637245381783098">Ödəniş tətbiqini açmaq mümkün deyil</translation>
 <translation id="5989320800837274978">Proksi serverlər və .pac skript URL-i göstərilməyib.</translation>
 <translation id="5992691462791905444">Mühəndislikdə Z-qatlama</translation>
+<translation id="5992805036496113940">Sizə reklam göstərmək üçün istifadə olunan məlumata baxın</translation>
 <translation id="5995727681868049093">Google Hesabınızda məlumat, məxfilik və təhlükəsizliyinizi idarə edin</translation>
 <translation id="5997247540087773573">İndicə istifadə etdiyiniz parol bir data pozuntusunda tapılıb. Hesablarınızı qorumaq üçün Google Parol Meneceri onu indi dəyişməyi və sonra yadda saxladığınız parolları yoxlamağı tövsiyə edir.</translation>
 <translation id="6000758707621254961">"<ph name="SEARCH_TEXT" />" üçün <ph name="RESULT_COUNT" /> nəticə</translation>
@@ -2012,6 +2035,7 @@
 <translation id="6051221802930200923">Hazırda <ph name="SITE" /> saytına daxil olmaq mümkün deyil, çünki veb səhifə sertifikat bağlantısı istifadə edir. Şəbəkə xətaları və hücumları adətən müvəqqəti olur, beləliklə, səhifə yəqin ki daha sonra işləyəcək.</translation>
 <translation id="6051898664905071243">Səhifə sayı:</translation>
 <translation id="6052284303005792909">•</translation>
+<translation id="6053735090575989697">Məxfilik Siyasətimizdə Google'un datanızı necə qoruduğu haqqında ətraflı məlumat əldə edin.</translation>
 <translation id="6055888660316801977">"Təhlükəsiz ödəniş giriş məlumatları uyğun gəlmir" giriş məlumatları səhifəsi</translation>
 <translation id="6058977677006700226">Kartlardan bütün cihazlarda istifadə edilsin?</translation>
 <translation id="6059925163896151826">USB cihazları</translation>
@@ -2060,6 +2084,7 @@
 <translation id="6196640612572343990">Üçüncü tərəf kukiləri blok edin</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
 <translation id="6203231073485539293">İnternet bağlantısını yoxlayın</translation>
+<translation id="6205314730813004066">Reklam məxfiliyi</translation>
 <translation id="6212314149070368045">ABŞ Fanfold</translation>
 <translation id="6218753634732582820">Ünvan Chromium'dan silinsin?</translation>
 <translation id="622039917539443112">Paralel qatlayın</translation>
@@ -2150,6 +2175,7 @@
 <translation id="6429267199680088961">A4 Tab</translation>
 <translation id="643051589346665201">Google parolunu dəyişin</translation>
 <translation id="6431119592588449664">Hesabat yüklənib</translation>
+<translation id="6432297414176614592">Reklam mövzuları haqqında ətraflı</translation>
 <translation id="6433490469411711332">Kontakt məlumatını redaktə edin</translation>
 <translation id="6433595998831338502"><ph name="HOST_NAME" /> qoşulmaq istəmədi.</translation>
 <translation id="6433797564277305076">Bundan sonra cihazın kiliddən çıxarılmasından istifadə edərək kartlarınızı daha sürətli təsdiqləyin</translation>
@@ -2170,6 +2196,7 @@
 <translation id="646793340882508547">Macəra oyunları</translation>
 <translation id="6468485451923838994">Şriftlər</translation>
 <translation id="647261751007945333">Cihaz siyasəti</translation>
+<translation id="6475672344094591109">Ziyarət etdiyiniz saytlar Chrome'dan reklamlarının performansını ölçməyə kömək edən məlumat istəyə bilər. Chrome saytların bir-biri ilə paylaşa biləcəyi məlumatları məhdudlaşdırmaqla məxfiliyinizi qoruyur.</translation>
 <translation id="6476284679642588870">Ödəniş metodlarını idarə edin</translation>
 <translation id="6486200200930923183">Sənədli filmlər</translation>
 <translation id="6489534406876378309">Dəyişiklikləri yükləməyə başlayın</translation>
@@ -2273,6 +2300,7 @@
 <translation id="6786145470008421571">Zərf 6 x 9 düym</translation>
 <translation id="67862343314499040">Tünd-bənövşəyi</translation>
 <translation id="6786747875388722282">Artırmalar</translation>
+<translation id="6787094689637422836">Sizə gördüyünüz reklamlar üzərində daha çox seçim imkanı verən yeni məxfilik funksiyalarını işə salırıq.</translation>
 <translation id="678982761784843853">Qorunan məzmun ID-ləri</translation>
 <translation id="6790428901817661496">Oxudun</translation>
 <translation id="679355240208270552">Defolt axtarış siyasət tərəfindən aktiv edilmədiyinə görə blok edilib.</translation>
@@ -2573,6 +2601,7 @@
 <translation id="7507075214339298899">Zərf #9</translation>
 <translation id="7508255263130623398">Qaytarılmış qaydalar cihaz İD'si boşdur və ya cari cihaz İD'si ilə üst-üstə düşmür</translation>
 <translation id="7508870219247277067">Avokado Yaşılı</translation>
+<translation id="7510225383966760306"><ph name="BEGIN_BOLD" />Saytlar bu datadan necə istifadə edir:<ph name="END_BOLD" /> Saytlar bəyəndikləriniz haqqında Chrome ilə məlumat saxlaya bilər. Məsələn, marafon təlimi ilə bağlı sayta daxil olsanız, sayt qaçış ayaqqabıları ilə maraqlandığınıza qərar verə bilər. Daha sonra başqa sayta daxil olsanız, həmin sayt sizə ilk saytın təklif etdiyi qaçış ayaqqabısı reklamını göstərə bilər.</translation>
 <translation id="7510269639068718544">Pişiklər</translation>
 <translation id="7511955381719512146">İşlətdiyiniz Wi-Fi <ph name="BEGIN_BOLD" /><ph name="LOGIN_URL" /><ph name="END_BOLD" /> linkinə daxil olmağı tələb edə bilər.</translation>
 <translation id="7512685745044087310">Bu siyasət "Doğru" olaraq ayarlana və məcburi ola bilməz, buna görə "tövsiyə olunan" kimi dəyişdirilib.</translation>
@@ -2701,11 +2730,13 @@
 <translation id="7766518757692125295">Ətək</translation>
 <translation id="7773005668374414287">Eyni sıra ilə üzü yuxarı</translation>
 <translation id="7785790577395078482">bu planşet</translation>
+<translation id="7790488044432570133">Ziyarət etdiyiniz saytlar reklamlarının performansını ölçməyə kömək üçün Chrome'dan məlumat istəyə bilər. Chrome saytlara reklamın sizə göstərildiyi vaxt kimi məhdud data növlərini toplamaq imkanı verir.</translation>
 <translation id="7791011319128895129">Buraxılmayıb</translation>
 <translation id="7791196057686275387">Balanslaşdırın</translation>
 <translation id="7791543448312431591">Əlavə etmək</translation>
 <translation id="7798389633136518089">Siyasət bulud mənbəyi tərəfindən təyin edilmədiyinə görə nəzərə alınmayıb.</translation>
 <translation id="7800304661137206267">Bağlantı <ph name="CIPHER" /> istifadə olunaraq şifrələndi, mesaj doğrulanması üçün <ph name="MAC" /> və açar mübadiləsi mexanizmi üçün <ph name="KX" /> oldu.</translation>
+<translation id="7800977246388195491">Chrome son baxış tarixçənizə əsaslanaraq maraqlandığınız mövzuları qeyd edir. Həmçinin ziyarət etdiyiniz saytlar nəyi bəyəndiyinizi müəyyən edə bilər. Daha sonra saytlar sizə fərdiləşdirilmiş reklamlar göstərmək üçün bu məlumatı istəyə bilər. Sizə reklam göstərmək üçün hansı mövzuların və saytların istifadə olunacağını seçə bilərsiniz.</translation>
 <translation id="7802523362929240268">Sayt qanunidir</translation>
 <translation id="7802989406998618639">Bankın kimliyinizi doğrulaması üçün <ph name="SIDE_OF_CARD" />ndəki <ph name="NUMBER_OF_DIGITS" /> rəqəmli təhlükəsizlik kodunu daxil edin</translation>
 <translation id="780301667611848630">Yox, çox sağ olun</translation>
@@ -2987,6 +3018,7 @@
 <translation id="8533619373899488139">Bloklanmış URL-ləri və sistem admininin tətbiq etdiyi digər siyasətləri görmək üçün buraya keçin: &lt;strong&gt;chrome://policy&lt;/strong&gt;</translation>
 <translation id="8539500321752640291">2 icazə verilsin?</translation>
 <translation id="8541158209346794904">Bluetooth cihazı</translation>
+<translation id="8541410041357371550">Bu sayt həmçinin sizə daha uyğun reklamlar göstərmək üçün Chrome'dan reklam mövzularınızı da əldə edir</translation>
 <translation id="8542014550340843547">Aşağıdan üçlü ştapel vurun</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784"><ph name="BEGIN_ERROR_LINK" />Aşkarlama problemini bildirə<ph name="END_ERROR_LINK" /> bilərsiniz, təhlükəsizliyiniz ilə bağlı riski başa düşürsünüzsə, <ph name="BEGIN_LINK" />bu təhlükəli sayta daxil ola bilərsiniz<ph name="END_LINK" />.</translation>
@@ -3005,7 +3037,9 @@
 <translation id="8589998999637048520">Ən yüksək keyfiyyət</translation>
 <translation id="8600271352425265729">Yalnız bu dəfə</translation>
 <translation id="860043288473659153">Kart sahibinin adı</translation>
+<translation id="8601027005147870853"><ph name="BEGIN_BOLD" />Hansı data istifadə olunur:<ph name="END_BOLD" /> Bu cihazda Chrome istifadə edərək ziyarət etdiyiniz saytdakı fəaliyyətiniz.</translation>
 <translation id="8606726445206553943">MIDI cihazlarınızı istifadə edin</translation>
+<translation id="8606988009912891950">Reklam mövzuları saytlara baxış tarixçənizi və şəxsiyyətinizi qoruyarkən sizə müvafiq reklamlar göstərməyə kömək edir. Chrome son baxış tarixçənizə əsaslanaraq maraqlandığınız mövzuları qeyd edə bilər. Daha sonra ziyarət etdiyiniz sayt gördüyünüz reklamları fərdiləşdirmək üçün Chrome'dan müvafiq mövzular istəyə bilər.</translation>
 <translation id="8617269623452051934">cihazdan istifadəniz</translation>
 <translation id="861775596732816396">Ölçü 4</translation>
 <translation id="8620276786115098679">Zərf Kaku 7</translation>
@@ -3111,6 +3145,7 @@
 <translation id="8876033571432926051">Əyləncə oyunları</translation>
 <translation id="8877780815363510165">Balıqçılıq</translation>
 <translation id="8884537526797090108">Məxfi məzmunu yazmaq olmur</translation>
+<translation id="8890798179125483517">Chrome 4 həftədən köhnə reklamlar təklif edən mövzuları və saytları avtomatik silir. Və ya bəyənmədiyiniz xüsusi mövzuları və saytları bloklaya bilərsiniz.</translation>
 <translation id="8891727572606052622">Yanlış proksi rejimi.</translation>
 <translation id="8894794286471754040">Əvvəlcə uzun kənar</translation>
 <translation id="8897428486789851669">Üzgüçülük</translation>
@@ -3199,6 +3234,7 @@
 <translation id="91108059142052966">Administrator suyasəti məxfi məzmun göründüyü zaman <ph name="APPLICATION_TITLE" /> ilə ekran paylaşımını deaktiv edir</translation>
 <translation id="9114524666733003316">Kart təsdiqlənir...</translation>
 <translation id="9114581008513152754">Bu brauzer şirkət və ya başqa təşkilat tərəfindən idarə edilmir. Bu cihazdakı fəaliyyət Chrome'dan kənarda idarə edilə bilər. <ph name="BEGIN_LINK" />Ətraflı məlumat<ph name="END_LINK" /></translation>
+<translation id="9116548361133462832">Chrome'da reklamlar haqqında ətraflı</translation>
 <translation id="9117930699067497412">Təzə</translation>
 <translation id="9118692854637641831"><ph name="HISTORY_CLUSTERS_SEARCH_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab düyməsi, sonra Enter düyməsinə basaraq baxışa davam edin və Chrome tarixçəsində əlaqəli fəaliyyəti görün</translation>
 <translation id="9119042192571987207">Yüklənib</translation>
@@ -3222,6 +3258,8 @@
 <translation id="9155211586651734179">Köməkçi audio cihazları əlavə edilib</translation>
 <translation id="9157595877708044936">Ayarlanır...</translation>
 <translation id="9164742147345933553">os://flags</translation>
+<translation id="9165305804774426672">Ziyarət etdiyiniz saytlar saytdakı fəaliyyətinizə əsasən nəyi bəyəndiyinizi də müəyyən edə bilər. Məsələn, uzun məsafəli qaçış ayaqqabıları satan sayta baş çəksəniz, sayt marafonlarda qaçmaqda maraqlı olduğunuza qərar verə bilər.</translation>
+<translation id="9166851138617700776">Saytın təklif etdiyi reklamlar və reklamın ölçülməsi haqqında ətraflı</translation>
 <translation id="9168814207360376865">Saytlara ödəniş üsullarını yadda saxlayıb-saxlamadığınızı yoxlamaq icazəsi verin</translation>
 <translation id="9169664750068251925">Həmişə bu saytda blok edin</translation>
 <translation id="9169931577761441333">Əsas Səhifə ekranına <ph name="APP_NAME" /> əlavə edin</translation>
@@ -3266,6 +3304,7 @@
 <translation id="975560348586398090">{COUNT,plural, =0{Yoxdur}=1{1 element}other{# element}}</translation>
 <translation id="976522784004777030">5 x 8 düym</translation>
 <translation id="977502174772294970">Toy mərasimləri</translation>
+<translation id="979503328401807348">Digər faydalı reklamlar</translation>
 <translation id="981121421437150478">Oflayn</translation>
 <translation id="982885543310356857">Klassik avtomobillər</translation>
 <translation id="984275831282074731">Ödəniş üsulları</translation>
diff --git a/components/strings/components_strings_cy.xtb b/components/strings/components_strings_cy.xtb
index 2f49861..b0d095dd 100644
--- a/components/strings/components_strings_cy.xtb
+++ b/components/strings/components_strings_cy.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Nid yw'r dull casglu hwn ar gael. Rhowch gynnig ar ddull gwahanol.</translation>
 <translation id="2987034854559945715">Nid oes unrhyw nodweddion sy'n cyfateb</translation>
 <translation id="2989742184762224133">Dwy stapl ar y brig</translation>
+<translation id="2990882401221831923">Rhestr o gardiau credyd ar gau.</translation>
 <translation id="2991174974383378012">Rhannu â Gwefannau</translation>
 <translation id="299122504639061328">Rheoli eich peiriant chwilio diofyn a'ch dull chwilio gwefan</translation>
 <translation id="2991571918955627853">Ni allwch fynd i <ph name="SITE" /> ar hyn o bryd oherwydd bod y wefan yn defnyddio HSTS. Mae gwallau ac ymosodiadau rhwydwaith fel arfer dros dro, felly mae'n debyg y bydd y dudalen hon yn gweithio'n nes ymlaen.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">Ymwelwyd ddiwethaf <ph name="DATE" /></translation>
 <translation id="498323057460789381">Gwall dilysu sgema: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Defnyddio'r meicroffon?</translation>
+<translation id="4988822846878841743">Rhestr o gardiau credyd i'w llenwi ar ôl agor ar hanner uchder.</translation>
 <translation id="4989163558385430922">Gweld popeth</translation>
 <translation id="4989542687859782284">Nid yw ar gael</translation>
 <translation id="4989809363548539747">Ni chefnogir yr ategyn hwn</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">Gallai'r dudalen rydych ar fin mynd arni geisio codi tâl arnoch</translation>
 <translation id="5866257070973731571">Ychwanegu Rhif Ffôn</translation>
 <translation id="5866898949289125849">Rydych yn edrych ar dudalen offer datblygwyr</translation>
+<translation id="5868548454963263350">Rhestr o gardiau credyd i'w llenwi ar ôl agor ar uchder llawn.</translation>
 <translation id="5869405914158311789">Methu â chyrraedd y wefan hon</translation>
 <translation id="5869522115854928033">Cyfrineiriau sydd wedi'u cadw</translation>
 <translation id="5873013647450402046">Mae eich banc eisiau cadarnhau mai chi sydd yno.</translation>
@@ -2643,6 +2646,7 @@
 <translation id="7653957176542370971">Mae'r ddalen trinyddion taliadau ar gau</translation>
 <translation id="7654909834015434372">Pan fyddwch yn golygu anodiadau, bydd y ddogfen hon yn dychwelyd i'w chylchroad gwreiddiol</translation>
 <translation id="765676359832457558">Cuddio'r gosodiadau uwch...</translation>
+<translation id="7656935528854393684">Rhestr o gardiau credyd i'w llenwi ar gyffwrdd.</translation>
 <translation id="7658239707568436148">Canslo</translation>
 <translation id="7659327900411729175">Amlen Kaku 8</translation>
 <translation id="7659878911471462949">Dagrau Llawenydd</translation>
diff --git a/components/strings/components_strings_en-GB.xtb b/components/strings/components_strings_en-GB.xtb
index 0666607..dd4ab71 100644
--- a/components/strings/components_strings_en-GB.xtb
+++ b/components/strings/components_strings_en-GB.xtb
@@ -176,6 +176,7 @@
 <translation id="1363819917331173092">Don‘t offer to translate pages in <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="1364822246244961190">This policy is blocked; its value will be ignored.</translation>
 <translation id="1368318639262510626">Dino game. A pixelated dinosaur dodges cacti and pterodactyls as it runs across a desolate landscape. When you hear an audio cue, press space to jump over obstacles.</translation>
+<translation id="136907351928231527">It can take up to a week for a list of topics to appear here based on your recent browsing history</translation>
 <translation id="1374468813861204354">suggestions</translation>
 <translation id="1375198122581997741">About Version</translation>
 <translation id="1376836354785490390">Show Less</translation>
@@ -267,6 +268,7 @@
 <translation id="1559839503761818503">Your administrator will restart your device at <ph name="TIME" /> on <ph name="DATE" /></translation>
 <translation id="156703335097561114">Networking information, such as addresses, interface configuration and connection quality</translation>
 <translation id="1567040042588613346">This policy is working as intended but the same value is set elsewhere and is superseded by this policy.</translation>
+<translation id="1567405528131216114">Add <ph name="TOPIC" /></translation>
 <translation id="1569487616857761740">Enter expiry date</translation>
 <translation id="1569694109004336106">Google Chrome is trying to turn on Windows Hello for filling in passwords.</translation>
 <translation id="1572765991610098222"><ph name="WIDTH" /> x <ph name="HEIGHT" /> in</translation>
@@ -515,6 +517,7 @@
 <translation id="2185836064961771414">American football</translation>
 <translation id="2187317261103489799">Detect (default)</translation>
 <translation id="2188375229972301266">Multiple punch bottom</translation>
+<translation id="2197398642355049178">Your topics</translation>
 <translation id="219906046732893612">Home improvement</translation>
 <translation id="2202020181578195191">Enter a valid expiry year</translation>
 <translation id="2202627062836089804">back of your card</translation>
@@ -1212,6 +1215,7 @@
 <translation id="4023431997072828269">Because this form is being submitted using a connection that’s not secure, your information will be visible to others.</translation>
 <translation id="4025913568718019429">Manage Google Privacy settings button, press Enter to visit your Google Account privacy settings</translation>
 <translation id="4030383055268325496">&amp;Undo add</translation>
+<translation id="4030545038933060179">When on, a list of topics appears here based on your recent browsing history</translation>
 <translation id="4031179711345676612">Microphone allowed</translation>
 <translation id="4040350669425716613">Colleges and universities</translation>
 <translation id="4047351652147966654">18 in x 24 in</translation>
@@ -1280,6 +1284,7 @@
 <translation id="4194250254487269611">Your card can't be saved at the moment</translation>
 <translation id="4195643157523330669">Open in new tab</translation>
 <translation id="4196861286325780578">&amp;Redo move</translation>
+<translation id="4202218894997543208">Topics that you blocked</translation>
 <translation id="4202554117186904723">Fifth roll</translation>
 <translation id="4203769790323223880">Camera not allowed</translation>
 <translation id="4203896806696719780"><ph name="BEGIN_LINK" />Checking firewall and antivirus configurations<ph name="END_LINK" /></translation>
@@ -1373,6 +1378,7 @@
 <translation id="4363222835916186793">Alerts for this product have been turned off</translation>
 <translation id="437040971055499437">Security event occurs</translation>
 <translation id="4372948949327679948">Expected <ph name="VALUE_TYPE" /> value.</translation>
+<translation id="4375864595697821259">Add an item back if you want it in the pool of topics that Chrome can choose from when estimating your interests</translation>
 <translation id="4377125064752653719">You attempted to reach <ph name="DOMAIN" />, but the certificate that the server presented has been revoked by its issuer. This means that the security credentials the server presented absolutely should not be trusted. You may be communicating with an attacker.</translation>
 <translation id="4378154925671717803">Phone</translation>
 <translation id="4384395682990721132">A4 x 3</translation>
@@ -1425,6 +1431,7 @@
 <translation id="4521916730539354575">Left tray</translation>
 <translation id="4522570452068850558">Details</translation>
 <translation id="4524138615196389145">Confirm your cards faster by using WebAuthn from now on</translation>
+<translation id="45243788195988825">Block <ph name="TOPIC" /></translation>
 <translation id="4524805452350978254">Manage cards</translation>
 <translation id="4526465106919207193">People and society</translation>
 <translation id="4530347922939905757">Text message</translation>
@@ -1437,6 +1444,7 @@
 <translation id="4558551763791394412">Try disabling your extensions.</translation>
 <translation id="4566017918361049074">Outdoors</translation>
 <translation id="4567686777917670400">Your administrator can change your browser setup remotely. Activity on this device may also be managed outside of Chromium. <ph name="BEGIN_LINK" />Learn more<ph name="END_LINK" /></translation>
+<translation id="4568329205873177285">Review a list of cookies and site data in a new window</translation>
 <translation id="457875822857220463">Delivery</translation>
 <translation id="4582204425268416675">Remove card</translation>
 <translation id="4582595824823167856">Get a text message</translation>
@@ -1474,6 +1482,7 @@
 <translation id="4663373278480897665">Camera allowed</translation>
 <translation id="4666114623408286498">Pharmaceuticals and biotech</translation>
 <translation id="4668929960204016307">,</translation>
+<translation id="4669856024297417878">Chrome notes topics of interest based on your browsing history from the last few weeks.</translation>
 <translation id="4670064810192446073">Virtual reality</translation>
 <translation id="4671339777629075741">Envelope DL</translation>
 <translation id="4673460618347856347">Dino game, play</translation>
@@ -2343,6 +2352,7 @@
 <translation id="6888584790432772780">Chrome simplified this page to make it easier to read. Chrome retrieved the original page over an insecure connection.</translation>
 <translation id="6890443033788248019">Allow location?</translation>
 <translation id="6890531741535756070">You chose to verify with <ph name="DEVICE_LABEL" /> on websites that use <ph name="PROVIDER_ORIGIN" />. This provider may have stored information about your payment method, which you can <ph name="BEGIN_LINK" />request to have deleted<ph name="END_LINK" />.</translation>
+<translation id="6890956352250146925">Options for cookies and site data</translation>
 <translation id="6891596781022320156">Policy level is not supported.</translation>
 <translation id="6895330447102777224">Your card is confirmed</translation>
 <translation id="6896758677409633944">Copy</translation>
@@ -2532,6 +2542,7 @@
 <translation id="7365849542400970216">Know your device use?</translation>
 <translation id="7366117520888504990">198 x 275 mm</translation>
 <translation id="7366362069757178916">Payment handlers</translation>
+<translation id="7367985555340314048">Topics of interest are based on your recent browsing history and are used by sites to show you personalised ads</translation>
 <translation id="7372973238305370288">search result</translation>
 <translation id="7374461526650987610">Protocol Handlers</translation>
 <translation id="7374733840632556089">This problem happens because of a certificate that you or someone else installed on your device. The certificate is known to be used to monitor and intercept networks, and is not trusted by Chrome. While some legitimate cases for monitoring do exist, like on a school or company network, Chrome wants to make sure that you're aware it's happening, even if you can't stop it. Monitoring may happen in any browser or application that accesses the web.</translation>
@@ -2707,6 +2718,7 @@
 <translation id="7701040980221191251">None</translation>
 <translation id="7704050614460855821"><ph name="BEGIN_LINK" />Proceed to <ph name="SITE" /> (unsafe)<ph name="END_LINK" /></translation>
 <translation id="770607638235926858">Skiing and snowboarding</translation>
+<translation id="7706689436519265630">Files that you copy or move are sent to Google Cloud or third parties for analysis. For example, they might be scanned for sensitive data or malware and might be stored based on company policies.</translation>
 <translation id="7709911732293795808">Insurance</translation>
 <translation id="7714464543167945231">Certificate</translation>
 <translation id="7716147886133743102">Blocked by your administrator</translation>
@@ -2755,6 +2767,7 @@
 <translation id="7840103971441592723">Screen capture has started</translation>
 <translation id="7844689747373518809">{COUNT,plural, =0{None}=1{1 app (<ph name="EXAMPLE_APP_1" />)}=2{2 apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# apps (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" /> <ph name="AND_MORE" />)}}</translation>
 <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation>
+<translation id="7857116075376571629">Later, a site that you visit can ask Chrome for your topics to personalise the ads that you see. Chrome shares up to three topics while protecting your browsing history and identity.</translation>
 <translation id="7862185352068345852">Leave site?</translation>
 <translation id="7865448901209910068">Best speed</translation>
 <translation id="7871445724586827387">Change your Google Account password</translation>
@@ -2819,6 +2832,7 @@
 <translation id="8019861005170389898"><ph name="TRADITIONAL_TEXT" /> (<ph name="ADDITIONAL_TEXT" />)</translation>
 <translation id="8023231537967344568"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, press Tab then Enter to set Chrome as the system's default browser</translation>
 <translation id="8025119109950072390">Attackers on this site may trick you into doing something dangerous like installing software or revealing your personal information (for example passwords, phone numbers or credit cards).</translation>
+<translation id="8026126421313327427">Chrome auto-deletes topics that are older than four weeks. As you keep browsing, a topic might reappear on the list. Or you can block topics that you don’t want Chrome to share with sites.</translation>
 <translation id="8026334261755873520">Clear browsing data</translation>
 <translation id="8027077570865220386">Tray 15</translation>
 <translation id="8028698320761417183"><ph name="CREATE_GOOGLE_FORM_FOCUSED_FRIENDLY_MATCH_TEXT" />: press Tab then Enter to create a new form in Google Forms quickly</translation>
@@ -3088,6 +3102,7 @@
 <translation id="8730621377337864115">Done</translation>
 <translation id="8731268612289859741">Security code</translation>
 <translation id="8731544501227493793">Manage passwords button; press enter to view and manage your passwords in Chrome settings</translation>
+<translation id="8733764070897080460">You can block topics that you don’t want to be shared with sites. Chrome also auto-deletes your topics that are older than four weeks. Learn more</translation>
 <translation id="8734529307927223492">Your <ph name="DEVICE_TYPE" /> is managed by <ph name="MANAGER" /></translation>
 <translation id="8736059027199600831">30 in x 40 in</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to open a new incognito window to browse privately</translation>
@@ -3119,6 +3134,7 @@
 <translation id="8805819170075074995">List entry '<ph name="LANGUAGE_ID" />': entry ignored because it is also included in the SpellcheckLanguage policy.</translation>
 <translation id="8806285662264631610">Bath and body products</translation>
 <translation id="8807160976559152894">Trim after each page</translation>
+<translation id="8809203544698246977">Blocked topics appear here</translation>
 <translation id="8813277370772331957">Remind me later</translation>
 <translation id="8814707942599948500">Envelope C8</translation>
 <translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, press tab, then enter to update Chrome from your Chrome settings</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 9adddbd..26eea5b 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">El método de retiro no está disponible. Prueba otro método.</translation>
 <translation id="2987034854559945715">No hay funciones que coincidan</translation>
 <translation id="2989742184762224133">Grapas dobles en la parte superior</translation>
+<translation id="2990882401221831923">La lista de tarjetas de crédito está cerrada.</translation>
 <translation id="2991174974383378012">Compartir con los sitios web</translation>
 <translation id="299122504639061328">Administra el motor de búsqueda predeterminado y las búsquedas en sitios</translation>
 <translation id="2991571918955627853">No puedes visitar <ph name="SITE" /> ahora porque el sitio web usa HSTS. Los ataques y errores de red suelen ser temporales, por lo que es posible que esta página funcione más tarde.</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">Última visita: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Error de validación del esquema: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">¿Permitir el uso del micrófono?</translation>
+<translation id="4988822846878841743">La lista de tarjetas de crédito que se debe tocar para completar está abierta a media altura.</translation>
 <translation id="4989163558385430922">Ver todo</translation>
 <translation id="4989542687859782284">No disponible</translation>
 <translation id="4989809363548539747">Este complemento no es compatible</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">Es posible que la página siguiente intente cobrarte dinero</translation>
 <translation id="5866257070973731571">Agregar número de teléfono</translation>
 <translation id="5866898949289125849">Estás viendo una página de herramientas para desarrolladores</translation>
+<translation id="5868548454963263350">La lista de tarjetas de crédito que se debe tocar para completar está totalmente abierta.</translation>
 <translation id="5869405914158311789">No se puede acceder a este sitio</translation>
 <translation id="5869522115854928033">Contraseñas almacenadas</translation>
 <translation id="5873013647450402046">El banco desea confirmar tu identidad.</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">La hoja del controlador de pagos está cerrada</translation>
 <translation id="7654909834015434372">Cuando edites anotaciones, se mostrará este documento en su rotación original</translation>
 <translation id="765676359832457558">Ocultar configuración avanzada...</translation>
+<translation id="7656935528854393684">Lista de tarjetas de crédito que se debe tocar para completar.</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7659327900411729175">Sobre Kaku n.º 8</translation>
 <translation id="7659878911471462949">Lágrimas de felicidad</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index d69c421..7055c23 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Este método de recogida no está disponible. Selecciona otro.</translation>
 <translation id="2987034854559945715">No se ha encontrado ninguna función</translation>
 <translation id="2989742184762224133">Grapado doble en la parte superior</translation>
+<translation id="2990882401221831923">La lista de tarjetas de crédito está cerrada.</translation>
 <translation id="2991174974383378012">Compartir con otros sitios web</translation>
 <translation id="299122504639061328">Gestiona el buscador predeterminado y las búsquedas en el sitio</translation>
 <translation id="2991571918955627853">No puedes acceder a <ph name="SITE" /> en este momento porque el sitio web utiliza HSTS. Los ataques y los errores de red suelen ser temporales, por lo que es probable que esta página funcione más tarde.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">Última visita: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Error de validación del esquema: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">¿Usar micrófono?</translation>
+<translation id="4988822846878841743">Lista de tarjetas de crédito cuyos datos puedes rellenar con un toque. Está abierta a media altura.</translation>
 <translation id="4989163558385430922">Ver todo</translation>
 <translation id="4989542687859782284">No disponibles</translation>
 <translation id="4989809363548539747">Este complemento no es compatible</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">Es posible que la página a la que vas a acceder intente aplicar algún cargo</translation>
 <translation id="5866257070973731571">Añade un número de teléfono</translation>
 <translation id="5866898949289125849">Estás viendo una página de las herramientas para desarrolladores</translation>
+<translation id="5868548454963263350">Lista de tarjetas de crédito cuyos datos puedes rellenar con un toque. Está abierta a altura completa.</translation>
 <translation id="5869405914158311789">No se puede acceder a este sitio web</translation>
 <translation id="5869522115854928033">Contraseñas guardadas</translation>
 <translation id="5873013647450402046">Tu banco quiere confirmar tu identidad.</translation>
@@ -2643,6 +2646,7 @@
 <translation id="7653957176542370971">La hoja del controlador de pagos está cerrada</translation>
 <translation id="7654909834015434372">Si editas anotaciones, este documento volverá a su rotación original</translation>
 <translation id="765676359832457558">Ocultar configuración avanzada...</translation>
+<translation id="7656935528854393684">Lista de tarjetas de crédito cuyos datos puedes rellenar con un toque.</translation>
 <translation id="7658239707568436148">Cancelar</translation>
 <translation id="7659327900411729175">Sobre Kaku 8</translation>
 <translation id="7659878911471462949">Lágrimas de alegría</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index f50e86c..d6281f96 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Ez dago erabilgarri jasotze-metodo hori. Saiatu beste metodo batekin.</translation>
 <translation id="2987034854559945715">Ez dago bat datorren eginbiderik</translation>
 <translation id="2989742184762224133">Bi grapa goian</translation>
+<translation id="2990882401221831923">Kreditu-txartelen zerrenda itxita dago.</translation>
 <translation id="2991174974383378012">Webguneekin partekatzea</translation>
 <translation id="299122504639061328">Kudeatu bilatzaile eta webgune-bilaketa lehenetsiak</translation>
 <translation id="2991571918955627853">Une honetan ezin zara joan <ph name="SITE" /> webgunera, webguneak HSTS darabilelako. Sareko erroreak eta erasoak aldi baterakoak izan ohi dira; beraz, geroago funtzionatuko du orriak, segur aski.</translation>
@@ -1580,6 +1581,7 @@
 <translation id="4976702386844183910">Azken bisita: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Eskemaren baliozkotze-errorea: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Mikrofonoa erabili nahi duzu?</translation>
+<translation id="4988822846878841743">Haien eremuak sakatzean automatikoki beteko diren kreditu-txartelen zerrenda, altuera erdian irekia.</translation>
 <translation id="4989163558385430922">Ikusi guztiak</translation>
 <translation id="4989542687859782284">Erabilgarri ez daudenak</translation>
 <translation id="4989809363548539747">Ez da onartzen plugin hau</translation>
@@ -1927,6 +1929,7 @@
 <translation id="5863847714970149516">Baliteke orria dirua kobratzen saiatzea</translation>
 <translation id="5866257070973731571">Gehitu telefono-zenbakia</translation>
 <translation id="5866898949289125849">Garatzaileen tresnen orria ikusten ari zara</translation>
+<translation id="5868548454963263350">Haien eremuak sakatzean automatikoki beteko diren kreditu-txartelen zerrenda, altuera osoan irekia.</translation>
 <translation id="5869405914158311789">Ezin gara konektatu webgunera</translation>
 <translation id="5869522115854928033">Gordetako pasahitzak</translation>
 <translation id="5873013647450402046">Bankuak zeu zarela berretsi nahi du.</translation>
@@ -2638,6 +2641,7 @@
 <translation id="7653957176542370971">Ordainketa kudeatzeko orria itxita dago</translation>
 <translation id="7654909834015434372">Oharpenak editatzen dituzunean, jatorrizko biratzera itzuliko da dokumentua</translation>
 <translation id="765676359832457558">Ezkutatu ezarpen aurreratuak…</translation>
+<translation id="7656935528854393684">Haien eremuak sakatzean automatikoki beteko diren kreditu-txartelen zerrenda.</translation>
 <translation id="7658239707568436148">Utzi</translation>
 <translation id="7659327900411729175">Kaku gutun-azala 8</translation>
 <translation id="7659878911471462949">Pozezko malkoak</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index d3aa35ed..5503979 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Tämä noutotapa ei ole käytettävissä. Kokeile toista tapaa.</translation>
 <translation id="2987034854559945715">Ei hakua vastaavia ominaisuuksia</translation>
 <translation id="2989742184762224133">Kaksi niittiä yläreunassa</translation>
+<translation id="2990882401221831923">Credit-korttilista on suljettu.</translation>
 <translation id="2991174974383378012">Jakaminen verkkosivustojen kanssa</translation>
 <translation id="299122504639061328">Hallinnoi oletushakukonetta ja sivustohakua</translation>
 <translation id="2991571918955627853"><ph name="SITE" /> ei ole juuri nyt käytettävissä, koska se käyttää HSTS:ää. Verkkovirheet ja hyökkäykset ovat yleensä väliaikaisia, joten sivu luultavasti toimii myöhemmin.</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">Viimeksi avattu <ph name="DATE" /></translation>
 <translation id="498323057460789381">Mallin todennusvirhe: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Käytetäänkö mikrofonia?</translation>
+<translation id="4988822846878841743">Lista kosketuksella täytettävistä credit-korteista avattu puolen näytön korkeudella.</translation>
 <translation id="4989163558385430922">Näytä kaikki</translation>
 <translation id="4989542687859782284">Ei käytettävissä</translation>
 <translation id="4989809363548539747">Tätä laajennusta ei tueta.</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">Avaamasi sivu voi yrittää veloittaa sinulta rahaa</translation>
 <translation id="5866257070973731571">Lisää puhelinnumero</translation>
 <translation id="5866898949289125849">Katselet kehittäjätyökalut-sivustoa</translation>
+<translation id="5868548454963263350">Lista kosketuksella täytettävistä credit-korteista avattu koko näytön korkeudella.</translation>
 <translation id="5869405914158311789">Sivustoon ei saada yhteyttä</translation>
 <translation id="5869522115854928033">Tallennetut salasanat</translation>
 <translation id="5873013647450402046">Pankkisi edellyttää henkilöllisyytesi vahvistamista.</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">Maksujenkäsittelytaulukko on suljettu</translation>
 <translation id="7654909834015434372">Kun muokkaat merkintöjä, tämä dokumentti palaa alkuperäiseen asentoon</translation>
 <translation id="765676359832457558">Piilota lisäasetukset...</translation>
+<translation id="7656935528854393684">Kosketuksella täytettävät credit-kortit.</translation>
 <translation id="7658239707568436148">Peru</translation>
 <translation id="7659327900411729175">Kirjekuori Kaku 8</translation>
 <translation id="7659878911471462949">Ilon kyyneleet</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index ea3c7ea..62bdb15f 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -1153,6 +1153,7 @@
 <translation id="3872834068356954457">વિજ્ઞાન</translation>
 <translation id="3875783148670536197">મને બતાવો કે કેવી રીતે</translation>
 <translation id="3881478300875776315">ઓછી પંક્તિઓ બતાવો</translation>
+<translation id="3883500545751229739">ખલેલ પાડતી જાહેરાતો</translation>
 <translation id="3884278016824448484">વિરોધાભાસી ઉપકરણ ઓળખકર્તા</translation>
 <translation id="388632593194507180">નિરીક્ષણ કરતું જણાયું</translation>
 <translation id="3886948180919384617">સ્ટૅકર 3</translation>
@@ -3117,6 +3118,7 @@
 <translation id="8891727572606052622">અમાન્ય પ્રૉક્સી મોડ.</translation>
 <translation id="8894794286471754040">પહેલાં લાંબી કિનારી</translation>
 <translation id="8897428486789851669">સ્વિમિંગ</translation>
+<translation id="8899807382908246773">ખલેલ પાડતી જાહેરાતો</translation>
 <translation id="8903921497873541725">ઝૂમ વધારો</translation>
 <translation id="890493561996401738">સૂચન કાઢી નાખો બટન, આ કાઢી નાખવા માટે Enter દબાવો, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">Google એકાઉન્ટ</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb
index f0110ba..47ec1d7 100644
--- a/components/strings/components_strings_hy.xtb
+++ b/components/strings/components_strings_hy.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Ստացման այս եղանակը հասանելի չէ: Փորձեք այլ եղանակ:</translation>
 <translation id="2987034854559945715">Համընկնող գործառույթներ չկան</translation>
 <translation id="2989742184762224133">Երկու ամրակ վերևում</translation>
+<translation id="2990882401221831923">Վարկային քարտերի ցուցակը փակ է։</translation>
 <translation id="2991174974383378012">Համօգտագործում այլ կայքերի հետ</translation>
 <translation id="299122504639061328">Կառավարել ձեր կանխադրված որոնողական համակարգը և կայքերում որոնումը</translation>
 <translation id="2991571918955627853">Այս պահին չեք կարող այցելել <ph name="SITE" /> կայք, քանի որ այն օգտագործում է HSTS հաղորդակարգ։ Ցանցային սխալներն ու հարձակումները սովորաբար ժամանակավոր բնույթ են կրում, և հավանաբար այս էջը հասանելի կլինի ավելի ուշ:</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">Վերջին այցելությունը՝ <ph name="DATE" /></translation>
 <translation id="498323057460789381">Սխեմայի ստուգման սխալ՝ <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Օգտագործե՞լ խոսափողը</translation>
+<translation id="4988822846878841743">Վարկային քարտերը, որոնք կարելի է լրացնել հպումով, ցուցադրված են էկրանի կեսով։</translation>
 <translation id="4989163558385430922">Տեսնել բոլորը</translation>
 <translation id="4989542687859782284">Անհասանելի է</translation>
 <translation id="4989809363548539747">Այս փլագինը չի աջակցվում</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">Հաջորդ էջում հնարավոր է ձեզնից գումար գանձելու փորձ արվի</translation>
 <translation id="5866257070973731571">Ավելացրեք հեռախոսահամար</translation>
 <translation id="5866898949289125849">Դուք դիտում եք ծրագրավորողի գործիքների էջը</translation>
+<translation id="5868548454963263350">Վարկային քարտերը, որոնք կարելի է լրացնել հպումով, ցուցադրված են ամբողջ էկրանով։</translation>
 <translation id="5869405914158311789">Կայքն անհասանելի է</translation>
 <translation id="5869522115854928033">Պահված գաղտնաբառեր</translation>
 <translation id="5873013647450402046">Ձեր բանկը պետք է հաստատի ձեր ինքնությունը։</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">Վճարման մշակման թերթը փակված է</translation>
 <translation id="7654909834015434372">Երբ դուք խմբագրեք ծանոթագրությունները, փաստաթուղթը կցուցադրվի իր սկզբնական դիրքով</translation>
 <translation id="765676359832457558">Թաքցնել լրացուցիչ կարգավորումները…</translation>
+<translation id="7656935528854393684">Վարկային քարտերը, որոնք կարելի է լրացնել հպումով։</translation>
 <translation id="7658239707568436148">Չեղարկել</translation>
 <translation id="7659327900411729175">Envelope Kaku 8</translation>
 <translation id="7659878911471462949">Ուրախության արցունքներ</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index 980286d..4b50f01 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">წაღების ეს მეთოდი მიუწვდომელია. ცადეთ სხვა ვარიანტი.</translation>
 <translation id="2987034854559945715">შესატყვისი ფუნქციები ვერ მოიძებნა</translation>
 <translation id="2989742184762224133">ორმაგად დასტეპლერება ზემოთ</translation>
+<translation id="2990882401221831923">საკრედიტო ბარათების სია დახურულია</translation>
 <translation id="2991174974383378012">ვებსაიტებთან გაზიარება</translation>
 <translation id="299122504639061328">თქვენი ნაგულისხმევი საძიებო სისტემისა და საიტების მეშეობით ძიების პარამეტრების მართვა</translation>
 <translation id="2991571918955627853"><ph name="SITE" />-ზე შესვლა ამჟამად ვერ მოხერხდება, რადგან ვებსაიტი იყენებს HSTS-ს. ქსელის შეცდომები და მასზე შეტევები, ჩვეულებრივ, დროებითი მოვლენებია და შესაბამისად, ეს გვერდი შეიძლება მოგვიანებით ამუშავდეს.</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">ბოლო ვიზიტი: <ph name="DATE" /></translation>
 <translation id="498323057460789381">შეცდომა სქემის დამოწმებისას: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">გსურთ მიკროფონის გამოყენება?</translation>
+<translation id="4988822846878841743">იმ საკრედიტო ბარათების სია, რომლებიც უნდა შეივსოს შეხებისას, გახსნილია ნახევარ სიმაღლეზე.</translation>
 <translation id="4989163558385430922">ყველას ნახვა</translation>
 <translation id="4989542687859782284">მიუწვდომელია</translation>
 <translation id="4989809363548539747">ეს დანამატი მხარდაუჭერელია</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">გვერდმა, რომელზე გადასვლასაც აპირებთ, შეიძლება დაგაკისროთ თანხის გადახდა</translation>
 <translation id="5866257070973731571">დაამატეთ ტელეფონის ნომერი</translation>
 <translation id="5866898949289125849">თქვენ ათვალიერებთ დეველოპერთა ხელსაწყოების გვერდს</translation>
+<translation id="5868548454963263350">იმ საკრედიტო ბარათების სია, რომლებიც უნდა შეივსოს შეხებისას, გახსნილია სრულ სიმაღლეზე.</translation>
 <translation id="5869405914158311789">ეს საიტი მიუწვდომელია</translation>
 <translation id="5869522115854928033">შენახული პაროლები</translation>
 <translation id="5873013647450402046">თქვენს ბანკს სურს, დაადასტუროს, რომ ეს ნამდვილად თქვენ ხართ.</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">გადახდების დამმუშავებლის გვერდი დახურულია</translation>
 <translation id="7654909834015434372">ანოტაციების რედაქტირებისას ეს დოკუმენტი შეტრიალდება თავდაპირველი ვერსიის მიხედვით</translation>
 <translation id="765676359832457558">დამალეთ გაფართოებული პარამეტრები…</translation>
+<translation id="7656935528854393684">იმ საკრედიტო ბარათების სია, რომლებიც უნდა შეივსოს შეხებისას.</translation>
 <translation id="7658239707568436148">გაუქმება</translation>
 <translation id="7659327900411729175">კონვერტი Kaku 8</translation>
 <translation id="7659878911471462949">სიხარულის ცრემლები</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index c854e68..0937ea1 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -163,6 +163,7 @@
 <translation id="1337692097987160377">ចែករំលែក​ផ្ទាំងនេះ</translation>
 <translation id="1339601241726513588">ដែនចុះឈ្មោះ៖</translation>
 <translation id="1340482604681802745">អាសយដ្ឋានទទួល</translation>
+<translation id="1343356790768851700">គេហទំព័រ​នេះ​កំណត់​អ្វី​ៗ​ដែល​អ្នក​ចូលចិត្ត រួច​ណែនាំ​ការផ្សាយពាណិជ្ជកម្ម​ដល់​គេហទំព័រ​ផ្សេងទៀត</translation>
 <translation id="1346748346194534595">ស្តាំ</translation>
 <translation id="1348198688976932919">ទំព័រ​ខាងមុខ​ផ្ទុក​កម្មវិធី​ដែល​មាន​គ្រោះថ្នាក់</translation>
 <translation id="1348779747280417563">បញ្ជាក់​ឈ្មោះ</translation>
@@ -274,6 +275,7 @@
 <translation id="1583429793053364125">មានបញ្ហាអ្វីមួយកើតឡើង ខណៈពេលកំពុងបង្ហាញគេហទំព័រនេះ</translation>
 <translation id="1586541204584340881">ថាតើកម្មវិធីបន្ថែមណាខ្លះដែលអ្នកបានដំឡើង</translation>
 <translation id="1588438908519853928">ធម្មតា</translation>
+<translation id="1589286740290249903"><ph name="BEGIN_BOLD" />ទិន្នន័យ​អ្វីត្រូ​វបាន​ប្រើប្រាស់៖<ph name="END_BOLD" /> ប្រធានបទ​នៃការ​ផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក​គឺផ្អែក​លើប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នកក្នុងពេលថ្មីៗ បញ្ជី​គេហទំព័រ​ដែល​អ្នក​បាន​ចូលមើល​ដោយ​ប្រើ Chrome នៅ​លើ​ឧបករណ៍​នេះ។</translation>
 <translation id="1592005682883173041">ការចូលប្រើទិន្នន័យមូលដ្ឋាន</translation>
 <translation id="1593359183944365958">270 ដឺក្រេ</translation>
 <translation id="1594030484168838125">ជ្រើសរើស</translation>
@@ -312,6 +314,7 @@
 <translation id="1682696192498422849">គែមខ្លី​មុនគេ</translation>
 <translation id="168693727862418163">តម្លៃគោលការណ៍នេះមិនត្រូវនឹងគំនូស​តាងរបស់វាទេ ហើយនឹងមិនត្រូវបានអើពើទេ។</translation>
 <translation id="168841957122794586">វិញ្ញាបនប័ត្រម៉ាស៊ីនមេផ្ទុកសោគ្រីបខ្សោយ។</translation>
+<translation id="1697430960030447570"><ph name="BEGIN_BOLD" />របៀប​ដែល​អ្នក​អាច​គ្រប់គ្រង​ទិន្នន័យ​របស់​អ្នក៖<ph name="END_BOLD" /> Chrome លុប​ប្រធានបទ​ដែល​ចាស់​ជាង 4 សប្ដាហ៍ដោយ​ស្វ័យ​ប្រវត្តិ។ នៅ​ពេល​អ្នក​បន្ត​រុករក​ ប្រធានបទ​ប្រហែលជា​បង្ហាញ​ឡើងវិញ​នៅ​ក្នុង​បញ្ជី។ អ្នក​ក៏​អាច​ទប់ស្កាត់​ប្រធានបទ​ដែល​អ្នក​មិន​ចង់​ឱ្យ Chrome ចែករំលែក​ជា​មួយគេហទំព័រ និង​បិទ​ប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម​បាន​គ្រប់​ពេល​នៅក្នុង​ការកំណត់ Chrome ផងដែរ។</translation>
 <translation id="1697532407822776718">អ្នកត្រូវបានកំណត់រួចអស់ហើយ!</translation>
 <translation id="1702815194757674443">ROC 16K</translation>
 <translation id="1703835215927279855">សំបុត្រ</translation>
@@ -341,6 +344,7 @@
 <translation id="1736420071277903564">កុំព្យូទ័រ</translation>
 <translation id="1740951997222943430">បញ្ចូលខែផុតកំណត់ឲ្យបានត្រឹមត្រូវ</translation>
 <translation id="1741613555002899862">ត្រូវតែ​បានបញ្ជាក់ និងជា​ជួរអក្សរ​ដែលត្រឹមត្រូវ​នៅពេល DnsOverHttpsMode គឺ <ph name="SECURE_DNS_MODE_SECURE" />។</translation>
+<translation id="1745399796851657441"><ph name="BEGIN_BOLD" />របៀប​ដែល​យើង​ប្រើប្រាស់​ទិន្នន័យ​នេះ៖<ph name="END_BOLD" /> Chrome កត់​ចំណាំ​ប្រធានបទ​ដែលគួរឱ្យចាប់អារម្មណ៍​នៅ​ពេល​អ្នក​រុករក។ ស្លាក​ប្រធានបទ​ត្រូវ​បាន​កំណត់​ជាមុន និង​រួមមាន​អ្វីៗ​ ដូច​ជាសិល្បៈនិង​ការ​កម្សាន្ដ ការ​ទិញ​ទំនិញ និង​កីឡា។ ក្រោយ​មក គេហទំព័រ​ដែល​អ្នក​ចូលមើល​​អាច​ស្នើសុំ​ប្រធានបទ​មួយចំនួនរបស់​អ្នក​ពី Chrome (ប៉ុន្តែ​មិនមែន​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នក​ទេ) ដើម្បី​កំណត់​ការ​ផ្សាយពាណិជ្ជកម្ម​​ដែល​អ្នក​មើល​ឃើញ​ឱ្យ​មាន​លក្ខណៈ​ផ្ទាល់ខ្លួន។</translation>
 <translation id="1745880797583122200">កម្មវិធីរុករកតាមអ៊ីនធឺណិត​របស់អ្នកត្រូវ​បានគ្រប់គ្រង</translation>
 <translation id="1746113442205726301">ការប្ដូរ​រូបភាព Y</translation>
 <translation id="1746531169546376413">0 ដឺក្រេ</translation>
@@ -432,6 +436,7 @@
 <translation id="1992331125980284532">JIS B3</translation>
 <translation id="1997484222658892567"><ph name="URL" /> ចង់ផ្ទុក​ទិន្នន័យ​ទំហំ​ធំ​នៅលើ​កុំព្យូទ័រ​មូលដ្ឋាន​របស់អ្នក​ជាអចិន្ត្រៃយ៍</translation>
 <translation id="2001146170449793414">{COUNT,plural, =1{និង 1 ទៀត}other{និង # ទៀត}}</translation>
+<translation id="2002436619517051938">អ្នក​អាច​ធ្វើការ​ផ្លាស់ប្ដូរ​នៅក្នុងការ​កំណត់ Chrome។</translation>
 <translation id="2003709556000175978">កំណត់​ពាក្យសម្ងាត់​របស់អ្នក​ឡើងវិញ​ឥឡូវនេះ</translation>
 <translation id="2003775180883135320">ចោះ​បួនរន្ធ​ខាងលើ</translation>
 <translation id="201174227998721785">គ្រប់គ្រងការអនុញ្ញាត និងទិន្នន័យដែលបានរក្សាទុកនៅលើគេហទំព័រនានានៅក្នុងការកំណត់ Chrome</translation>
@@ -454,6 +459,7 @@
 <translation id="205212645995975601">BBQ និង​ការអាំងសាច់</translation>
 <translation id="2053111141626950936">ទំព័រជា <ph name="LANGUAGE" /> នឹងមិនត្រូវ​បានបកប្រែទេ។</translation>
 <translation id="2053373601901562871">{NUM_DAYS,plural, =0{នៅពេលបើកការគ្រប់គ្រងនេះ ហើយស្ថានភាពកំពុងសកម្ម នោះ Chrome កំណត់ថាតើក្រុមមនុស្សមួយក្រុមធំ ឬ "ក្រុមមនុស្សដូចគ្នា" ណា ដែលសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតថ្មីៗរបស់អ្នកស្រដៀងបំផុត។ អ្នកផ្សាយ​ពាណិជ្ជកម្ម​អាចជ្រើសរើស​ការផ្សាយពាណិជ្ជកម្ម​សម្រាប់ក្រុម​នោះ ហើយសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតរបស់អ្នកត្រូវបានរក្សាជាលក្ខណៈឯកជននៅលើឧបករណ៍របស់អ្នក។ ក្រុមរបស់អ្នកត្រូវបានធ្វើបច្ចុប្បន្នភាពរៀងរាល់ថ្ងៃ។}=1{នៅពេលបើកការគ្រប់គ្រងនេះ ហើយស្ថានភាពកំពុងសកម្ម នោះ Chrome កំណត់ថាតើក្រុមមនុស្សមួយក្រុមធំ ឬ "ក្រុមមនុស្សដូចគ្នា" ណា ដែលសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតថ្មីៗរបស់អ្នកស្រដៀងបំផុត។ អ្នកផ្សាយ​ពាណិជ្ជកម្ម​អាចជ្រើសរើស​ការផ្សាយពាណិជ្ជកម្ម​សម្រាប់ក្រុម​នោះ ហើយសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតរបស់អ្នកត្រូវបានរក្សាជាលក្ខណៈឯកជននៅលើឧបករណ៍របស់អ្នក។ ក្រុមរបស់អ្នកត្រូវបានធ្វើបច្ចុប្បន្នភាពរៀងរាល់ថ្ងៃ។}other{នៅពេលបើកការគ្រប់គ្រងនេះ ហើយស្ថានភាពកំពុងសកម្ម នោះ Chrome កំណត់ថាតើក្រុមមនុស្សមួយក្រុមធំ ឬ "ក្រុមមនុស្សដូចគ្នា" ណា ដែលសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតថ្មីៗរបស់អ្នកស្រដៀងបំផុត។ អ្នកផ្សាយ​ពាណិជ្ជកម្ម​អាចជ្រើសរើស​ការផ្សាយពាណិជ្ជកម្ម​សម្រាប់ក្រុម​នោះ ហើយសកម្មភាព​រុករក​តាមអ៊ីនធឺណិតរបស់អ្នកត្រូវបានរក្សាជាលក្ខណៈឯកជននៅលើឧបករណ៍របស់អ្នក។ ក្រុមរបស់អ្នកត្រូវបានធ្វើបច្ចុប្បន្នភាពរៀងរាល់ {NUM_DAYS} ថ្ងៃ។}}</translation>
+<translation id="2056658168519009885">គេហទំព័រ​អាច​ស្នើសុំ​​ព័ត៌មានពី Chrome ​ដើម្បី​ជួយកំណត់​កា​រផ្សាយពាណិជ្ជកម្ម​ដែល​អ្នកមើលឃើញ​ឱ្យ​មានលក្ខណៈ​ផ្ទាល់ខ្លួន។</translation>
 <translation id="2059202684901022309">22 x 34 in</translation>
 <translation id="2064691555167957331">{COUNT,plural, =1{ការផ្តល់យោបល់ 1}other{ការផ្តល់យោបល់ #}}</translation>
 <translation id="2066915425250589881">ស្នើសុំ​ឱ្យលុប</translation>
@@ -674,6 +680,7 @@
 <translation id="262745152991669301">អាចស្នើសុំភ្ជាប់​ជាមួយ​ឧបករណ៍ USB</translation>
 <translation id="2629325967560697240">ដើម្បីទទួលបានកម្រិតសុវត្ថិភាពខ្ពស់បំផុតរបស់ Chrome <ph name="BEGIN_ENHANCED_PROTECTION_LINK" />សូមបើកការការពារ​ដែលប្រសើរជាងមុន<ph name="END_ENHANCED_PROTECTION_LINK" /></translation>
 <translation id="2634124572758952069">រកមិន​ឃើញអាសយដ្ឋាន IP ម៉ាស៊ីនមេរបស់ <ph name="HOST_NAME" /> ទេ។</translation>
+<translation id="2639227409413857192">គេហទំព័រ​នេះ​កំណត់​អ្វី​ៗ​ដែល​អ្នក​ចូលចិត្ត រួច​ណែនាំ​ការផ្សាយពាណិជ្ជកម្ម​ដល់​គេហទំព័រ​ផ្សេងទៀត។ គេហទំព័រ​នេះ​ក៏​ប្រមូល​ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក​ពី Chrome ផងដែរ ដើម្បី​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​កាន់តែ​ពាក់ព័ន្ធ​ដល់​អ្នក។</translation>
 <translation id="2639739919103226564">ស្ថានភាព៖</translation>
 <translation id="2643134278432436513">ផលិតផល​ថែទាំសក់</translation>
 <translation id="2647852283046201479">ហ្គេម​យុទ្ធសាស្ត្រ</translation>
@@ -803,6 +810,7 @@
 <translation id="2986368408720340940">មិនមានមធ្យោបាយទៅយកនេះទេ។ សូម​សាកល្បងមធ្យោបាយផ្សេង។</translation>
 <translation id="2987034854559945715">គ្មាន​មុខងារ​ដែលត្រូវគ្នា​ទេ</translation>
 <translation id="2989742184762224133">កិប​ពីរគ្រាប់​ខាងលើ</translation>
+<translation id="2990882401221831923">បញ្ជី​កាតឥណទាន​ត្រូវ​បាន​បិទ។</translation>
 <translation id="2991174974383378012">ការចែករំលែកជាមួយគេហទំព័រ</translation>
 <translation id="299122504639061328">គ្រប់គ្រងការស្វែងរកនៅលើគេហទំព័រ និងម៉ាស៊ីនស្វែងរកលំនាំដើមរបស់អ្នក</translation>
 <translation id="2991571918955627853">អ្នក​មិន​អាច​ចូល​ទៅកាន់ <ph name="SITE" /> ឥឡូវនេះ​បានទេ ដោយសារតែគេហទំព័រ​នេះ​ប្រើ HSTS ។ ជាទូទៅបញ្ហា​បណ្តញ ឬ​ការវាយប្រហារ​​កើត​ឡើង​ជាបណ្តោះអាសន្ន ដូច្នេះ​ទំព័រ​នេះ​នឹងដំណើរការល្អឡើងវិញនៅពេលក្រោយ។</translation>
@@ -814,6 +822,7 @@
 <translation id="301521992641321250">បាន​ទប់ស្កាត់ដោយ​ស្វ័យ​ប្រវត្តិ</translation>
 <translation id="3016780570757425217">ដឹងពីទីតាំងរបស់អ្នក</translation>
 <translation id="3017086357773116182"><ph name="REMOVE_SUGGESTION_SUFFIX" />, ចុច "Tab" រួចចុច "Enter" ដើម្បី​លុបការណែនាំ។</translation>
+<translation id="3023165109041533893">ការផ្សាយពាណិជ្ជកម្ម​ដែល​បាន​ណែនាំដោយ​គេហទំព័រ​ជួយការ​ពារ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​ និង​អត្តសញ្ញាណ​របស់​អ្នក នៅ​ពេល​ផ្ដល់លទ្ធភាពឱ្យ​គេហទំព័រ​បង្ហាញ​ការផ្សាយ​ពាណិជ្ជកម្ម​ដែល​ពាក់ព័ន្ធ​ដល់​អ្នក។ ផ្អែក​លើ​សកម្មភាព​របស់​អ្នក គេហទំព័រ​ដែលអ្នក​បាន​ចូលមើល​អាច​ណែនាំ​ការ​ផ្សាយពាណិជ្ជកម្ម​ដែល​ពាក់ព័ន្ធ​នៅ​ពេល​អ្នក​បន្ត​រុករក។ អ្នក​អាច​មើល​បញ្ជី​គេហទំព័រ​ទាំង​នេះ រួច​ទប់ស្កាត់គេហទំព័រ​ដែល​អ្នក​មិន​ចង់​បាន​នៅ​ក្នុង​ការកំណត់។</translation>
 <translation id="3024663005179499861">ប្រភេទគោលការណ៍ខុស</translation>
 <translation id="3029752078111257850">ព័ត៌មាន​ពិភពលោក</translation>
 <translation id="3037177537145227281">កំពុងតាមដាន​តម្លៃ</translation>
@@ -825,6 +834,7 @@
 <translation id="306573536155379004">ហ្គេម​បានចាប់ផ្ដើម។</translation>
 <translation id="3068991664510324412">វីដេអូ​ហ្គេម និង​ហ្គេមកុំព្យូទ័រ</translation>
 <translation id="3080254622891793721">ក្រាហ្វិក</translation>
+<translation id="3081538120861307764">ដើម្បី​វាស់វែង​លទ្ធផលប្រតិបត្តិការ​នៃ​ការផ្សាយពាណិជ្ជកម្ម ប្រភេទ​ទិន្នន័យមួយចំនួនតូច​ត្រូវ​បាន​ចែករំលែក​រវាង​គេហទំព័រ​នានា ដូច​ជាពេលវេលា​ប្រចាំថ្ងៃ​ដែល​ការផ្សាយ​ពាណិជ្ជកម្ម​ត្រូវ​បាន​បង្ហាញ​ដល់​អ្នកជាដើម។</translation>
 <translation id="3082007635241601060">អនុញ្ញាតឱ្យ Google ប្រើរទេះ​របស់អ្នក ដើម្បីស្វែងរក​ការបញ្ចុះតម្លៃ​ដែលស្របនឹងអ្នក នៅពេលដែលមាន</translation>
 <translation id="3086579638707268289">សកម្មភាព​របស់អ្នក​នៅលើ​បណ្ដាញ​កំពុង​ត្រូវបាន​ឃ្លាំមើល</translation>
 <translation id="3087734570205094154">ខាងក្រោម</translation>
@@ -904,6 +914,7 @@
 <translation id="3259648571731540213"><ph name="CREATE_GOOGLE_CALENDAR_EVENT_FOCUSED_FRIENDLY_MATCH_TEXT" />, ចុច Tab រួចចុច Enter ដើម្បីបង្កើត​ព្រឹត្តិការណ៍ថ្មី​នៅក្នុង Google ប្រតិទិន​បានរហ័ស</translation>
 <translation id="3261488570342242926">ស្វែងយល់អំពីកាតនិម្មិត</translation>
 <translation id="3264837738038045344">ប៊ូតុង "គ្រប់គ្រង​ការកំណត់ Chrome" ចុច "Enter" ដើម្បីចូលទៅកាន់​ការកំណត់ Chrome របស់អ្នក</translation>
+<translation id="3266367459139339908">យើង​​កំពុង​ដាក់ចេញ​វិធី​ថ្មីៗក្នុងការរឹតបន្តឹងលើ​អ្វី​ដែល​គេហទំព័រ​អាច​ស្វែងយល់​អំពី​អ្នក នៅ​ពេល​គេហទំព័រ​ទាំង​នោះ​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​ដែល​មានលក្ខណៈផ្ទាល់ខ្លួន​ដល់​អ្នក ឧទាហរណ៍៖</translation>
 <translation id="3266793032086590337">តម្លៃ (ជាន់គ្នា)</translation>
 <translation id="3266972086368072861">{NUM_COOKIES,plural, =0{គ្មាន​គេហទំព័រ​ត្រូវបាន​ទប់ស្កាត់ទេ រួមទាំង​គេហទំព័រដែលពាក់ព័ន្ធ}=1{បានទប់ស្កាត់គេហទំព័រ​ចំនួន 1 រួមទាំង​គេហទំព័រដែលពាក់ព័ន្ធ}other{បានទប់ស្កាត់គេហទំព័រ​ចំនួន # រួមទាំង​គេហទំព័រដែលពាក់ព័ន្ធ}}</translation>
 <translation id="3268451620468152448">បើកផ្ទាំង</translation>
@@ -935,6 +946,7 @@
 <translation id="3339440062908617027">ការរត់ និង​ការដើរ</translation>
 <translation id="3339446062576134663">ពពក (ប្រផេះ)</translation>
 <translation id="3340978935015468852">ការកំណត់</translation>
+<translation id="3342018947887487892">ក្រោយមក គេហទំព័រ​ដែល​អ្នក​ចូលមើល​អាច​ស្នើសុំ​ព័ត៌មាននេះ — ប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក ឬ​ការផ្សាយពាណិជ្ជកម្ម​ដែល​ត្រូវ​បានណែនាំ​ដោយ​គេហទំព័រ​ដែល​អ្នក​បាន​ចូលមើល។</translation>
 <translation id="3342366525167526994">សិល្បៈ​លើដងខ្លួន</translation>
 <translation id="3345782426586609320">ភ្នែក</translation>
 <translation id="3349952286488694786">SRA2</translation>
@@ -1062,6 +1074,7 @@
 <translation id="3634530185120165534">ទម្រទី 5</translation>
 <translation id="3634567936866541746">អ្នកទើបតែ​បានបញ្ចូល​ពាក្យសម្ងាត់​របស់អ្នក​នៅលើ​គេហទំព័របញ្ឆោត។ ដើម្បី​រក្សាសុវត្ថិភាព​គណនី​របស់អ្នក Chrome សូមណែនាំឱ្យ​ពិនិត្យមើល​ពាក្យសម្ងាត់​ដែលអ្នកបានរក្សាទុក។</translation>
 <translation id="3642638418806704195">កម្មវិធី៖</translation>
+<translation id="3646643500201740985">ការវាស់វែង​ថាការ​ផ្សាយ​ពាណិជ្ជកម្មធ្វើបាន​ល្អប៉ុនណា</translation>
 <translation id="3647286794400715637">ធាតុ​ជួរ​អក្សរ url នីមួយៗ​ត្រូវតែ​មាន​ពី 1 ទៅ 2 URL។</translation>
 <translation id="3650584904733503804">ការពិនិត្យសុពលភាពបានជោគជ័យ</translation>
 <translation id="3653033846669030038">សួន​កម្សាន្ត</translation>
@@ -1079,6 +1092,7 @@
 <translation id="3678342917559046352">កន្ទុយឯកសារ​មិន​ត្រឹមត្រូវ៖ បានរំពឹង​ទុក​តម្លៃ​ជា​ទម្រង់​ណា​មួយ​ដូច​ខាងក្រោម៖ &lt;extension_id&gt; ឬ &lt;extension_id&gt;;&lt;update_url&gt;។</translation>
 <translation id="3678529606614285348">បើក​ទំព័រ​នៅក្នុង​ផ្ទាំង​ឯកជនថ្មី (Ctrl-Shift-N)</translation>
 <translation id="3681007416295224113">ព័ត៌មានវិញ្ញាបនប័ត្រ</translation>
+<translation id="3681421644246505351">Chrome កត់​ចំណាំ​ប្រធានបទ​ដែលគួរឱ្យចាប់អារម្មណ៍ដោយ​ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិតរបស់អ្នកក្នុងពេល​ថ្មីៗនេះ។</translation>
 <translation id="3693327506115126094">ជ្រើសរើស​របៀប​ដែលអ្នកនឹងផ្ទៀងផ្ទាត់​ថាជាអ្នក</translation>
 <translation id="3701427423622901115">បានទទួលស្គាល់​ការកំណត់​ឡើងវិញ។</translation>
 <translation id="3704162925118123524">បណ្តាញដែលអ្នកកំពុងប្រើតម្រូវឲ្យអ្នកទៅកាន់ទំព័រចូលរបស់វា។</translation>
@@ -1164,6 +1178,7 @@
 <translation id="3901925938762663762">កាតនេះផុតកំណត់។</translation>
 <translation id="3906954721959377182">ថេប្លេត</translation>
 <translation id="3909695131102177774"><ph name="LABEL" /> <ph name="ERROR" /></translation>
+<translation id="3911401144270344103">អ្នកអាចប្ដូរចិត្តរបស់អ្នកបានគ្រប់ពេលនៅក្នុងការកំណត់ Chrome</translation>
 <translation id="3921869355029467742">បញ្ចូល​លេខកូដ​សុវត្ថិភាព​របស់អ្នក</translation>
 <translation id="3927932062596804919">បដិសេធ</translation>
 <translation id="393316646445601645">អ៊ីនធឺណិត និង​ទូរគមនាគមន៍</translation>
@@ -1191,6 +1206,7 @@
 <translation id="3987940399970879459">តិចជាង 1 MB</translation>
 <translation id="3990250421422698716">គម្លាតរុញ</translation>
 <translation id="3992684624889376114">អំពី​ទំព័រ​នេះ</translation>
+<translation id="399952081411886534">មុខងារ​ផ្សេង​ទៀត​ដែល​ធ្វើ​ឱ្យ​ការផ្សាយពាណិជ្ជកម្ម​កាន់តែ​មាន​លក្ខណៈ​ឯកជន</translation>
 <translation id="4006465311664329701">វិធី​បង់ប្រាក់ ការផ្ដល់ជូន និង​អាសយដ្ឋាន​ដែលប្រើ Google Pay</translation>
 <translation id="4009243425692662128">ខ្លឹមសារក្នុងទំព័រដែលអ្នកបោះពុម្ពត្រូវបានផ្ញើទៅ Google Cloud ឬភាគីទីបីដើម្បីវិភាគ។ ឧទាហរណ៍ ខ្លឹមសារនោះ​អាចត្រូវបាន​ស្កេន ដើម្បីរកមើល​ទិន្នន័យ​រសើប​។</translation>
 <translation id="4010758435855888356">អនុញ្ញាត​ឱ្យចូលប្រើ​ទំហំផ្ទុក​ដែរទេ?</translation>
@@ -1208,6 +1224,7 @@
 <translation id="4063924980214801036">ប្រើការដោះសោឧបករណ៍ដើម្បីបញ្ជាក់កាតលឿនជាងមុន</translation>
 <translation id="4067098466788473230">ជំនួយផ្នែក​ហិរញ្ញវត្ថុដល់​ការសិក្សា និង​អាហារូបករណ៍</translation>
 <translation id="4067947977115446013">បញ្ចូល​អាសយដ្ឋានដែល​ត្រឹមត្រូវ</translation>
+<translation id="4070790659619547722">តាមរយៈ​ការ​វាស់វែង​ការ​ផ្សាយពាណិជ្ជកម្ម ប្រភេទ​ទិន្នន័យមួយចំនួនតូច​ត្រូវ​បាន​ចែករំលែក​រវាង​គេហទំព័រ​នានា ដើម្បី​វាស់វែង​លទ្ធផលប្រតិបត្តិការ​នៃ​ការ​ផ្សាយពាណិជ្ជកម្ម​របស់​គេហទំព័រ​ទាំ​ងនោះ ដូច​ជាពេលវេលា​ប្រចាំថ្ងៃ​ដែល​ការផ្សាយ​ពាណិជ្ជកម្ម​ត្រូវ​បាន​បង្ហាញ​ដល់​អ្នកជាដើម។</translation>
 <translation id="4072193657607981494">កំពុងផ្ទុកគោលការណ៍</translation>
 <translation id="4072486802667267160">មាន​បញ្ហា​ក្នុងការដំណើរការ​ការ​បញ្ជា​ទិញ​របស់​អ្នក។ សូម​ព្យាយាម​ម្ដង​ទៀត។</translation>
 <translation id="4073376909608563327">មិនអាចប្រើការដោះសោឧបករណ៍បានទេ</translation>
@@ -1260,6 +1277,7 @@
 <translation id="4173827307318847180">{MORE_ITEMS,plural, =1{ធាតុ <ph name="ITEM_COUNT" /> ទៀត}other{ធាតុ <ph name="ITEM_COUNT" /> ទៀត}}</translation>
 <translation id="4176463684765177261">បានបិទដំណើរការ</translation>
 <translation id="4176535426287761656">អចលនទ្រព្យ​វិស្សមកាល និង​អចលនទ្រព្យ​រួម</translation>
+<translation id="4177501066905053472">ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="4179515394835346607"><ph name="ROW_NAME" /> <ph name="ROW_CONTENT" /></translation>
 <translation id="4186035307311647330">ឈប់​តាមដាន​តម្លៃ</translation>
 <translation id="4194250254487269611">មិនអាចរក្សាទុក​បណ្ណរបស់អ្នកបានទេ​នៅពេលនេះ</translation>
@@ -1315,6 +1333,7 @@
 <translation id="4282346679996504092">ការជូនដំណឹង​សម្រាប់​ផលិតផល​នេះ​ត្រូវបាន​បិទ ហើយ​ចំណាំ​ត្រូវបានដកចេញ</translation>
 <translation id="4285498937028063278">ដកការដៅ</translation>
 <translation id="428639260510061158">{NUM_CARDS,plural, =1{បណ្ណនេះ​ត្រូវបានរក្សាទុក​នៅក្នុងគណនី Google របស់អ្នក}other{បណ្ណទាំងនេះ​ត្រូវបានរក្សាទុក​នៅក្នុងគណនី Google របស់អ្នក}}</translation>
+<translation id="4287495839370498922">ឯកជនភាពនៃ​ការផ្សាយពាណិជ្ជកម្ម​ដែលបានធ្វើឱ្យប្រសើរឡើង​នៅ​ក្នុង Chrome</translation>
 <translation id="4287885627794386150">អាច​សាកល្បងបាន ប៉ុន្តែ​មិនដំណើរការទេ</translation>
 <translation id="4297502707443874121">រូបភាព​តូចៗសម្រាប់ទំព័រ <ph name="THUMBNAIL_PAGE" /></translation>
 <translation id="4298000214066716287">ការ​វិនិយោគ</translation>
@@ -1396,6 +1415,7 @@
 <translation id="449126573531210296">អ៊ីនគ្រីប​ពាក្យសម្ងាត់​ដែលបាន​ធ្វើសមកាលកម្ម​ជាមួយគណនី Google របស់អ្នក</translation>
 <translation id="4492519888999857993">មុខងារទាំងនេះ​ត្រូវបានបិទ​តាមលំនាំដើម។ មុខងារទាំងនេះ​នឹងមិនមាន​នៅក្នុងកំណែ Chrome ក្នុងពេល​អនាគត​ទេ។</translation>
 <translation id="4493480324863638523">URL គ្មានសុពលភាព។ ត្រូវតែជា URL ដែលមានគម្រោងស្តង់ដារ ឧ. http://example.com ឬ https://example.com ។</translation>
+<translation id="4494323206460475851">អ្នក​អាច​មើល​ឃើញប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម​នៅ​ក្នុងការ​កំណត់ និង​ទប់ស្កាត់​ប្រធានបទ​ដែល​អ្នក​មិន​ចង់​ឱ្យ​ចែករំលែក​ជា​មួយ​គេហទំព័រ។ Chrome ក៏លុប​ប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម​ដែល​​ចាស់​ជាង 4 សប្ដាហ៍ដោយ​ស្វ័យប្រវត្តិ​ផងដែរ។</translation>
 <translation id="4500587658229086076">ខ្លឹមសារ​ដែលគ្មាន​សុវត្ថិភាព</translation>
 <translation id="4506176782989081258">កំហុសឆ្គងសុពលភាព៖ <ph name="VALIDATION_ERROR" /></translation>
 <translation id="4506599922270137252">ទាក់ទងទៅអ្នកគ្រប់គ្រងប្រព័ន្ធ</translation>
@@ -1466,6 +1486,7 @@
 <translation id="467809019005607715">Google បទបង្ហាញ</translation>
 <translation id="4682496302933121474">បកប្រែ​ទំព័រឬ?</translation>
 <translation id="468314109939257734">មើលលេខកាតនិម្មិតរបស់អ្នក</translation>
+<translation id="4687718960473379118">ការផ្សាយពាណិជ្ជកម្មដែលបាន​ណែនាំ​ដោយ​គេហទំព័រ</translation>
 <translation id="4692623383562244444">ម៉ាស៊ីនស្វែងរក</translation>
 <translation id="4701488924964507374"><ph name="SENTENCE1" /> <ph name="SENTENCE2" /></translation>
 <translation id="4702504834785592287">ចំហៀង</translation>
@@ -1589,6 +1610,7 @@
 <translation id="4976702386844183910">បានចូល​មើល​លើកចុង​ក្រោយនៅថ្ងៃទី <ph name="DATE" /></translation>
 <translation id="498323057460789381">បញ្ហា​ផ្ទៀងផ្ទាត់​គ្រោងតាង៖ <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">ប្រើមីក្រូហ្វូនឬ?</translation>
+<translation id="4988822846878841743">បញ្ជី​កាតឥណទាន​ដែល​ត្រូវ​​បំពេញ​នៅ​ពេល​ប៉ះ ត្រូវ​បាន​បើក​ពាក់កណ្ដាល​អេក្រង់។</translation>
 <translation id="4989163558385430922">មើល​ទាំងអស់</translation>
 <translation id="4989542687859782284">មិន​អាច​ប្រើ​បាន</translation>
 <translation id="4989809363548539747">មិនស្គាល់កម្មវិធីជំនួយនេះទេ</translation>
@@ -1746,6 +1768,7 @@
 <translation id="5337569431717511221">ប៊ូតុង "កំណត់ Chrome ជា​កម្មវិធីរុករកតាមអ៊ីនធឺណិតលំនាំដើម", ចុច Enter ដើម្បី​កំណត់​ Chrome ជា​កម្មវិធីរុករកតាមអ៊ីនធឺណិតលំនាំដើម​របស់​ប្រព័ន្ធ</translation>
 <translation id="5340250774223869109">កម្មវិធី​ត្រូវបាន​ទប់ស្កាត់</translation>
 <translation id="534295439873310000">ឧបករណ៍ NFC</translation>
+<translation id="5344522958567249764">គ្រប់គ្រង​ឯកជនភាពនៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="5344579389779391559">ទំព័រ​នេះ​អាច​នឹងព្យាយាម​គិតប្រាក់ពីអ្នក</translation>
 <translation id="5347645913823149105">ប៊ូតុង "ប្ដូរពុម្ពអក្សរ​តាមបំណងនៅក្នុង Chrome" ចុច Enter ដើម្បី​ប្ដូរទំហំពុម្ពអក្សរ និងពុម្ពអក្សរនៅក្នុង Chrome</translation>
 <translation id="5355557959165512791">អ្នក​មិន​អាច​ចូលទៅ​កាន់ <ph name="SITE" /> ឥឡូវនេះ​បានទេ ដោយសារតែវិញ្ញាបនបត្ររបស់វា​ត្រូវ​បានដក​ហូតហើយ។ ជាទូទៅបញ្ហា​បណ្តាញ ឬ​ការវាយប្រហារ​​កើត​ឡើង​ជាបណ្តោះអាសន្ន ដូច្នេះ​ទំព័រ​នេះ​នឹងដំណើរការល្អឡើងវិញនៅពេលក្រោយ។</translation>
@@ -1844,6 +1867,7 @@
 <translation id="5598944008576757369">ជ្រើសរើស​វិធី​បង់ប្រាក់</translation>
 <translation id="560412284261940334">ការគ្រប់គ្រងមិនត្រូវបានគាំទ្រទេ</translation>
 <translation id="5605670050355397069">Ledger</translation>
+<translation id="5606444889871204172"><ph name="BEGIN_BOLD" />របៀប​ដែល​អ្នក​អាច​គ្រប់គ្រង​ទិន្នន័យ​របស់អ្នក៖<ph name="END_BOLD" /> Chrome លុប​គេហទំព័រ​​ដែល​ចាស់​ជាង 4 សប្ដាហ៍ដោយ​ស្វ័យ​ប្រវត្តិ។ គេហទំព័រ​ដែល​អ្នក​ចូលមើល​ម្ដង​ទៀត ប្រហែលជា​បង្ហាញ​ឡើងវិញ​នៅ​ក្នុង​បញ្ជី។ អ្នក​ក៏​អាច​ទប់ស្កាត់​គេហទំព័រ​មិន​ឱ្យ​​​ណែនាំការ​ផ្សាយពាណិជ្ជកម្ម​សម្រាប់​អ្នក និង​បិទ​ការ​ផ្សាយពាណិជ្ជកម្ម​ដែល​បានណែនាំ​ដោយ​គេហទំព័រ​បាន​គ្រប់​ពេល​នៅ​ក្នុងការកំណត់ Chrome។</translation>
 <translation id="5610142619324316209">ពិនិត្យការតភ្ជាប់</translation>
 <translation id="5610807607761827392">អ្នក​អាច​គ្រប់គ្រង​កាត​ និង​អាសយដ្ឋាន​នៅក្នុង​ <ph name="BEGIN_LINK" />ការកំណត់​<ph name="END_LINK" />។</translation>
 <translation id="561165882404867731">បកប្រែទំព័រនេះដោយប្រើ Google បកប្រែ</translation>
@@ -1936,6 +1960,7 @@
 <translation id="5863847714970149516">ទំព័រ​ខាងមុខ​អាច​ព្យាយាម​គិតប្រាក់​ពីអ្នក</translation>
 <translation id="5866257070973731571">បញ្ចូល​លេខ​ទូរសព្ទ</translation>
 <translation id="5866898949289125849">អ្នកកំពុងមើល​ទំព័រឧបករណ៍​របស់​អ្នកអភិវឌ្ឍន៍</translation>
+<translation id="5868548454963263350">បញ្ជី​កាតឥណទាន​ដែល​ត្រូវ​បំពេញ​នៅ​ពេល​ប៉ះ ​ត្រូវ​បាន​បើក​ពេញ​អេក្រង់។</translation>
 <translation id="5869405914158311789">គេហទំព័រនេះមិនអាចចូលបានទេ</translation>
 <translation id="5869522115854928033">ពាក្យសម្ងាត់ដែលបានរក្សាទុក</translation>
 <translation id="5873013647450402046">ធនាគារ​របស់អ្នក​ចង់បញ្ជាក់ថា ពិតជាអ្នក។</translation>
@@ -1981,6 +2006,7 @@
 <translation id="598637245381783098">មិនអាចបើកកម្មវិធីបង់ប្រាក់បានទេ</translation>
 <translation id="5989320800837274978">ទាំងម៉ាស៊ីនមេប្រូកស៊ីដែលថេរ និង URL ស្គ្រីបផេកមិនត្រូវបានបញ្ជាក់ទេ។</translation>
 <translation id="5992691462791905444">បត់​ជាអក្សរ Z</translation>
+<translation id="5992805036496113940">មើល​ព័ត៌មាន​ដែលត្រូវ​បានប្រើ ដើម្បីបង្ហាញ​កា​រផ្សាយពាណិជ្ជកម្ម​ដល់​អ្នក</translation>
 <translation id="5995727681868049093">គ្រប់គ្រង​ព័ត៌មាន ឯកជនភាព និង​សុវត្ថិភាព​របស់អ្នក​នៅក្នុង​គណនី Google របស់អ្នក</translation>
 <translation id="5997247540087773573">ពាក្យសម្ងាត់ដែលអ្នកទើបតែប្រើត្រូវបានរកឃើញនៅក្នុងការបែកធ្លាយទិន្នន័យ។ ដើម្បីការពារសុវត្ថិភាពគណនីរបស់អ្នក កម្មវិធីគ្រប់គ្រងពាក្យសម្ងាត់ Google ណែនាំឱ្យផ្លាស់ប្ដូរពាក្យសម្ងាត់នេះឥឡូវនេះ រួចពិនិត្យមើលពាក្យសម្ងាត់ដែលអ្នកបានរក្សាទុក។</translation>
 <translation id="6000758707621254961">លទ្ធផល <ph name="RESULT_COUNT" /> សម្រាប់ '<ph name="SEARCH_TEXT" />'</translation>
@@ -2017,6 +2043,7 @@
 <translation id="6051221802930200923">អ្នក​មិន​អាច​ចូលទៅកាន់ <ph name="SITE" /> ឥឡូវនេះ​បានទេ ដោយសារតែគេហទំព័រនេះ​ប្រើ​ការខ្ទាស់វិញ្ញាបនបត្រ។ ជាទូទៅបញ្ហា​បណ្តាញ ឬ​ការវាយប្រហារ​កើត​ឡើង​ជាបណ្តោះអាសន្ន ដូច្នេះ​ទំព័រ​នេះ​នឹងដំណើរការល្អឡើងវិញនៅពេលក្រោយ។</translation>
 <translation id="6051898664905071243">ចំនួន​ទំព័រ៖</translation>
 <translation id="6052284303005792909">•</translation>
+<translation id="6053735090575989697">ស្វែងយល់​បន្ថែមអំពី​របៀប​ដែល​ Google ការពារ​ទិន្នន័យ​របស់​អ្នក​នៅ​ក្នុង​គោលការណ៍​ឯកជនភាព​របស់​យើង។</translation>
 <translation id="6055888660316801977">សន្លឹក​ព័ត៌មានផ្ទៀងផ្ទាត់​ការបង់ប្រាក់​មានសុវត្ថិភាព ដែលគ្មានព័ត៌មានផ្ទៀងផ្ទាត់​ត្រូវគ្នា</translation>
 <translation id="6058977677006700226">ប្រើបណ្ណរបស់អ្នក​នៅលើឧបករណ៍​ទាំងអស់របស់អ្នកឬ?</translation>
 <translation id="6059925163896151826">ឧបករណ៍ USB</translation>
@@ -2065,6 +2092,7 @@
 <translation id="6196640612572343990">រារាំង​ខូគី​ភាគី​ទីបី</translation>
 <translation id="6197648101609735209">89 x 89 mm</translation>
 <translation id="6203231073485539293">ពិនិត្យការភ្ជាប់អ៊ីនធឺណិតរបស់អ្នក</translation>
+<translation id="6205314730813004066">ឯកជនភាពការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="6212314149070368045">US Fanfold</translation>
 <translation id="6218753634732582820">យកអាសយដ្ឋានចេញពី Chromium ឬ?</translation>
 <translation id="622039917539443112">បត់ឱ្យ​ស្របគ្នា</translation>
@@ -2155,6 +2183,7 @@
 <translation id="6429267199680088961">A4 Tab</translation>
 <translation id="643051589346665201">ប្ដូរ​ពាក្យសម្ងាត់ Google</translation>
 <translation id="6431119592588449664">របាយការណ៍ត្រូវបានបង្ហោះ</translation>
+<translation id="6432297414176614592">ច្រើន​ទៀត​អំពី​ប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="6433490469411711332">កែសម្រួលព័ត៌មានទំនាក់ទំនង</translation>
 <translation id="6433595998831338502"><ph name="HOST_NAME" /> បានបដិសេធក្នុងការតភ្ជាប់</translation>
 <translation id="6433797564277305076">បញ្ជាក់កាតរបស់អ្នកកាន់តែលឿនដោយប្រើការដោះសោឧបករណ៍ចាប់ពីពេលនេះតទៅ</translation>
@@ -2175,6 +2204,7 @@
 <translation id="646793340882508547">ហ្គេម​ផ្សងព្រេង</translation>
 <translation id="6468485451923838994">ពុម្ពអក្សរ</translation>
 <translation id="647261751007945333">គោលការណ៍ឧបករណ៍</translation>
+<translation id="6475672344094591109">គេហទំព័រ​ដែល​អ្នក​ចូលមើលអាច​ស្នើសុំព័ត៌មានពី Chrome ដែល​ជួយ​គេហទំព័រ​ទាំង​នោះ​វាស់វែងលទ្ធផល​ប្រតិបត្តិការ​នៃ​ការ​ផ្សាយពាណិជ្ជកម្ម​របស់​ខ្លួន។ Chrome ការពារ​ឯកជនភាព​របស់​អ្នក ដោយ​ការដាក់កំហិត​លើព័ត៌មាន​ដែល​គេហទំព័រ​​អាច​ចែករំលែក​ជា​មួយ​គេហទំព័រ​ផ្សេងបាន។</translation>
 <translation id="6476284679642588870">គ្រប់គ្រង​វិធីបង់ប្រាក់</translation>
 <translation id="6486200200930923183">ភាពយន្ត​ឯកសារ</translation>
 <translation id="6489534406876378309">ចាប់ផ្តើមទាញឡើងការគាំង</translation>
@@ -2278,6 +2308,7 @@
 <translation id="6786145470008421571">ស្រោមសំបុត្រ 6 x 9 អ៊ីង</translation>
 <translation id="67862343314499040">ស្វាយ</translation>
 <translation id="6786747875388722282">កម្មវិធីបន្ថែម</translation>
+<translation id="6787094689637422836">យើង​កំពុង​ដាក់ចេញ​មុខងារ​ឯកជនភាព​ថ្មីៗ​ដែល​​ផ្ដល់​ជម្រើសកាន់តែច្រើន​ដល់​អ្នក​លើ​ការ​ផ្សាយពាណិជ្ជកម្ម​ដែល​អ្នក​មើលឃើញ។</translation>
 <translation id="678982761784843853">លេខសម្គាល់​ខ្លឹមសារ​ដែលមាន​ការការពារ</translation>
 <translation id="6790428901817661496">លេង</translation>
 <translation id="679355240208270552">មិនត្រូវ​បាន​អើពើ​ព្រោះ​ការស្វែង​រក​លំនាំដើម​មិន​បានបើក​ដោយ​គោលការណ៍​ទេ។</translation>
@@ -2578,6 +2609,7 @@
 <translation id="7507075214339298899">ស្រោមសំបុត្រ #9</translation>
 <translation id="7508255263130623398">លេខសម្គាល់ឧបករណ៍គោលការណ៍ប្រគល់ត្រឡប់វិញគឺទទេ ឬមិនត្រូវគ្នាជាមួយលេខសម្គាល់ឧបករណ៍បច្ចុប្បន្ន</translation>
 <translation id="7508870219247277067">បៃតងខ្ចី</translation>
+<translation id="7510225383966760306"><ph name="BEGIN_BOLD" />របៀប​ដែល​គេហទំព័រ​ប្រើ​ទិន្នន័យ​នេះ៖<ph name="END_BOLD" /> គេហទំព័រ​អាច​រក្សាទុក​ព័ត៌មាន​ជា​មួយ Chrome អំពី​អ្វី​ដែល​អ្នក​ចូលចិត្ត។ ឧទាហរណ៍ ប្រសិនបើ​អ្នក​ចូល​មើល​គេហទំព័រ​​អំពី​ការ​ហ្វឹកហ្វាត់​រត់ម៉ារ៉ាតុង គេហទំព័រ​នោះ​​ប្រហែលជា​សម្រេចចិត្ត​ថា អ្នក​ចាប់អារម្មណ៍​លើ​ស្បែកជើង​សម្រាប់​រត់។ ក្រោយ​មក ប្រសិនបើ​អ្នក​ចូលមើល​គេហទំព័រ​ផ្សេង គេហទំព័រ​នោះ​អាច​បង្ហាញ​​ដល់អ្នកនូវការផ្សាយ​ពាណិជ្ជកម្ម​អំពី​ស្បែក​ជើង​សម្រាប់​រត់ ​ដែលត្រូវ​​បានណែនាំ​ដោយ​គេហទំព័រ​ដំបូង។</translation>
 <translation id="7510269639068718544">ឆ្មា</translation>
 <translation id="7511955381719512146">Wi-Fi ដែលអ្នកកំពុងប្រើអាចតម្រូវឲ្យអ្នកទៅកាន់ <ph name="BEGIN_BOLD" /><ph name="LOGIN_URL" /><ph name="END_BOLD" />។</translation>
 <translation id="7512685745044087310">មិនអាច​កំណត់គោលការណ៍នេះ​ទៅ "ពិត" និង "ចាំបាច់" បានទេ ដូច្នេះគោលការណ៍នេះ​ត្រូវបានប្ដូរទៅ "បានណែនាំ"។</translation>
@@ -2649,6 +2681,7 @@
 <translation id="7653957176542370971">សន្លឹកកម្មវិធីគ្រប់គ្រង​ការបង់ប្រាក់បានបិទ</translation>
 <translation id="7654909834015434372">នៅពេល​អ្នក​កែ​ចំណារ ឯកសារនេះ​នឹងត្រឡប់ទៅ​ការបង្វិល​ដើម​របស់វា​វិញ</translation>
 <translation id="765676359832457558">លាក់ការកំណត់កម្រិតខ្ពស់...</translation>
+<translation id="7656935528854393684">បញ្ជី​កាតឥណទាន​​ដែល​ត្រូវ​បំពេញ​នៅ​ពេល​ប៉ះ។</translation>
 <translation id="7658239707568436148">បដិសេធ</translation>
 <translation id="7659327900411729175">ស្រោមសំបុត្រ Kaku 8</translation>
 <translation id="7659878911471462949">រំភើបចិត្តដល់ស្រក់ទឹកភ្នែក</translation>
@@ -2706,11 +2739,13 @@
 <translation id="7766518757692125295">ស្រទាប់ខាងក្រៅ</translation>
 <translation id="7773005668374414287">ផ្ងារឡើង​តាមលំដាប់​លំដោយដូចគ្នា</translation>
 <translation id="7785790577395078482">ថេប្លេតនេះ</translation>
+<translation id="7790488044432570133">គេហទំព័រ​ដែល​អ្នក​ចូលមើលអាច​ស្នើសុំព័ត៌មាន​ពី Chrome ដើម្បីជួយ​គេហទំព័រ​ទាំង​នោះ​វាស់វែង​លទ្ធផលប្រតិបត្តិការ​នៃ​ការ​ផ្សាយពាណិជ្ជកម្ម​របស់​ខ្លួន។ Chrome អនុញ្ញាត​ឱ្យ​គេហទំព័រ​ប្រមូល​ប្រភេទ​ទិន្នន័យ​មួយចំនួន​តូច​ ដូច​ជា​ពេលវេលា​ប្រចាំ​ថ្ងៃ​ដែល​ការ​ផ្សាយពាណិជ្ជកម្ម​ត្រូ​វបាន​បង្ហាញ​ដល់​អ្នក។</translation>
 <translation id="7791011319128895129">មិនទាន់​ដាក់ចេញ</translation>
 <translation id="7791196057686275387">ចងរមូរ</translation>
 <translation id="7791543448312431591">បន្ថែម</translation>
 <translation id="7798389633136518089">មិនអើពើ ដោយសារ​គោលការណ៍មិនត្រូវបានកំណត់ដោយ​ប្រភព​ពពកទេ។</translation>
 <translation id="7800304661137206267">ការភ្ជាប់ត្រូវបានអ៊ីនគ្រីប ដោយប្រើ <ph name="CIPHER" /> ជាមួយ <ph name="MAC" /> សម្រាប់ការសម្គាល់អត្តសញ្ញាណសារ និង <ph name="KX" /> ជាយន្តការផ្តោះប្តូរសោ។</translation>
+<translation id="7800977246388195491">Chrome កត់​ចំណាំ​ប្រធានបទ​ដែលគួរឱ្យចាប់អារម្មណ៍ដោយ​ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិតរបស់អ្នកក្នុងពេល​ថ្មីៗនេះ។ គេហទំព័រ​ដែល​អ្នក​ចូលមើលក៏​អាច​កំណត់​​អ្វី​ដែល​អ្នក​ចូលចិត្ត​បាន​ផងដែរ។ ក្រោយមក គេហទំព័រ​អាច​ស្នើសុំ​ព័ត៌មាននេះ​ ដើម្បី​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​ដែលមានលក្ខណៈផ្ទាល់ខ្លួន​ដល់​អ្នក។ អ្នក​អាច​ជ្រើសរើស​ប្រធានបទ និង​គេហទំព័រ​​ណាខ្លះដែល​ត្រូ​វបានប្រើប្រាស់​ ដើម្បី​បង្ហាញ​ការ​ផ្សាយពាណិជ្ជកម្ម​ដល់​អ្នក។</translation>
 <translation id="7802523362929240268">ទំព័រ​ស្របច្បាប់</translation>
 <translation id="7802989406998618639">បញ្ចូល​លេខកូដសុវត្ថិភាព <ph name="NUMBER_OF_DIGITS" /> ខ្ទង់នៅលើ<ph name="SIDE_OF_CARD" /> ដើម្បីឱ្យធនាគារ​របស់អ្នក​អាច​ផ្ទៀងផ្ទាត់​ថា​ជាអ្នក</translation>
 <translation id="780301667611848630">ទេ អរគុណ</translation>
@@ -2993,6 +3028,7 @@
 <translation id="8533619373899488139">សូមចូលទៅកាន់ &lt;strong&gt;chrome://policy&lt;/strong&gt; ដើម្បីមើល​បញ្ជី URL ដែលបាន​ទប់ស្កាត់ និងគោលការណ៍​ផ្សេងទៀត ដែលបានអនុវត្ត​ដោយអ្នកគ្រប់គ្រងប្រព័ន្ធ​របស់អ្នក។</translation>
 <translation id="8539500321752640291">ផ្ដល់​ការអនុញ្ញាត 2 ដែរទេ?</translation>
 <translation id="8541158209346794904">ឧបករណ៍​ប៊្លូធូស</translation>
+<translation id="8541410041357371550">គេហទំព័រ​នេះ​​ប្រមូល​ប្រធានបទនៃការផ្សាយពាណិជ្ជកម្ម​របស់​អ្នក​ពី Chrome ដើម្បី​បង្ហាញ​ការផ្សាយពាណិជ្ជកម្ម​កាន់តែ​ពាក់ព័ន្ធ​ដល់​អ្នក</translation>
 <translation id="8542014550340843547">កិប​បីគ្រាប់​ខាងក្រោម</translation>
 <translation id="8542617028204211143">SRA0</translation>
 <translation id="8543181531796978784">អ្នកអាច<ph name="BEGIN_ERROR_LINK" />រាយការណ៍អំពីបញ្ហាដែលបានរកឃើញ<ph name="END_ERROR_LINK" /> ឬប្រសិនបើអ្នកយល់ពីហានិភ័យចំពោះសុវត្ថិភាពរបស់អ្នកហើយ <ph name="BEGIN_LINK" />សូមចូលទៅកាន់គេហទំព័រគ្មានសុវត្ថិភាពនេះ<ph name="END_LINK" />។</translation>
@@ -3011,7 +3047,9 @@
 <translation id="8589998999637048520">គុណភាព​ល្អបំផុត</translation>
 <translation id="8600271352425265729">តែពេលនេះ​ប៉ុណ្ណោះ</translation>
 <translation id="860043288473659153">ឈ្មោះ​ម្ចាស់​កាត</translation>
+<translation id="8601027005147870853"><ph name="BEGIN_BOLD" />ទិន្នន័យ​អ្វីត្រូ​វបាន​ប្រើប្រាស់៖<ph name="END_BOLD" /> សកម្មភាព​របស់​អ្នក​នៅលើ​គេហទំព័រ​ដែល​អ្នក​ចូលមើល​ដោយប្រើ Chrome នៅលើ​ឧបករណ៍​នេះ។</translation>
 <translation id="8606726445206553943">ប្រើឧបករណ៍ MIDI របស់អ្នក</translation>
+<translation id="8606988009912891950">ប្រធានបទ​នៃការផ្សាយពាណិជ្ជកម្ម​ជួយ​ឱ្យ​គេហទំព័រ​បង្ហាញ​ការ​ផ្សាយ​ពាណិជ្ជកម្ម​ដែល​ពាក់ព័ន្ធដល់​អ្នក ព្រមទាំងការពារ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត និង​អត្តសញ្ញាណ​របស់​អ្នក។ Chrome អាច​កត់​ចំណាំ​ប្រធានបទ​ដែលគួរឱ្យចាប់អារម្មណ៍​ផ្អែកលើ​ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់​អ្នកក្នុងពេលថ្មីៗនេះ។ ក្រោយ​មក​ គេហទំព័រ​ដែល​អ្នក​ចូលមើលអាច​ស្នើសុំ​ប្រធានបទ​ដែល​ពាក់ព័ន្ធ​ពី Chrome ដើម្បី​កំណត់​ការ​ផ្សាយពាណិជ្ជកម្ម​​ដែល​អ្នក​មើល​ឃើញ​ឱ្យ​មាន​លក្ខណៈ​ផ្ទាល់ខ្លួន។</translation>
 <translation id="8617269623452051934">ការប្រើប្រាស់​ឧបករណ៍របស់អ្នក</translation>
 <translation id="861775596732816396">ទំហំ 4</translation>
 <translation id="8620276786115098679">ស្រោមសំបុត្រ Kaku 7</translation>
@@ -3117,6 +3155,7 @@
 <translation id="8876033571432926051">ហ្គេម​ធម្មតា</translation>
 <translation id="8877780815363510165">ការស្ទូច​ត្រី</translation>
 <translation id="8884537526797090108">មិនអាចថតខ្លឹមសារសម្ងាត់បានទេ</translation>
+<translation id="8890798179125483517">Chrome លុប​ប្រធានបទ​ និង​គេហទំព័រដែល​ណែនាំ​ការ​ផ្សាយពាណិជ្ជកម្ម​ចាស់​ជាង 4 សប្ដាហ៍​ដោយ​ស្វ័យ​ប្រវត្តិ។ ឬ​អ្នក​អាច​ទប់ស្កាត់​ប្រធានបទ​ និង​គេហទំព័រ​ជាក់លាក់​ដែល​អ្នកមិន​ចូលចិត្ត។</translation>
 <translation id="8891727572606052622">របៀបប្រូកស៊ីគ្មានសុពលភាព។</translation>
 <translation id="8894794286471754040">គែមវែង​មុនគេ</translation>
 <translation id="8897428486789851669">កីឡា​ហែលទឹក</translation>
@@ -3205,6 +3244,7 @@
 <translation id="91108059142052966">គោលការណ៍​របស់អ្នកគ្រប់គ្រង​បិទការបង្ហាញអេក្រង់​ជាមួយ <ph name="APPLICATION_TITLE" /> នៅពេលអាច​មើលឃើញខ្លឹមសារ​សម្ងាត់</translation>
 <translation id="9114524666733003316">កំពុង​បញ្ជាក់​បណ្ណ​ឥណទាន...</translation>
 <translation id="9114581008513152754">កម្មវិធីរុករក​តាមអ៊ីនធឺណិត​នេះ​មិនស្ថិតក្រោម​ការគ្រប់គ្រង​របស់ក្រុមហ៊ុន ឬ​ស្ថាប័នផ្សេងទេ​។ សកម្មភាព​នៅលើឧបករណ៍នេះ​អាចនឹងត្រូវបាន​គ្រប់គ្រងក្រៅពី Chrome។ <ph name="BEGIN_LINK" />ស្វែងយល់បន្ថែម<ph name="END_LINK" /></translation>
+<translation id="9116548361133462832">ច្រើន​ទៀត​អំពី​ការផ្សាយពាណិជ្ជកម្ម​នៅ​ក្នុង Chrome</translation>
 <translation id="9117930699067497412">ស្រស់ស្រាយ</translation>
 <translation id="9118692854637641831"><ph name="HISTORY_CLUSTERS_SEARCH_FOCUSED_FRIENDLY_MATCH_TEXT" />, ចុច Tab រួចចុច Enter ដើម្បីបន្ត​ការស្វែងរក​របស់អ្នក និងមើល​សកម្មភាព​ដែលពាក់ព័ន្ធ​នៅក្នុងប្រវត្តិ Chrome របស់អ្នក</translation>
 <translation id="9119042192571987207">បាន​បង្ហោះ</translation>
@@ -3228,6 +3268,8 @@
 <translation id="9155211586651734179">បានភ្ជាប់ឧបករណ៍សំឡេងខាងក្រៅ</translation>
 <translation id="9157595877708044936">កំពុងតំឡើង...</translation>
 <translation id="9164742147345933553">os://flags</translation>
+<translation id="9165305804774426672">គេហទំព័រ​ដែល​អ្នក​ចូលមើលក៏​អាច​កំណត់​អ្វីៗ​ដែល​អ្នក​ចូលចិត្តដោយ​ផ្អែកលើ​សកម្មភាព​របស់​អ្នក​នៅ​លើ​គេហទំព័រផងដែរ។ ឧទាហរណ៍ ប្រសិនបើ​អ្នកចូលមើលគេហទំព័រ​ដែល​​លក់ស្បែក​ជើង​សម្រាប់ការ​រត់​រយៈចម្ងាយឆ្ងាយ គេហទំព័រ​នោះ​ប្រហែលជា​សម្រេចចិត្ត​ថា ​អ្នក​​ចាប់​អារម្មណ៍​លើ​ការ​រត់​ម៉ារ៉ាតុង។</translation>
+<translation id="9166851138617700776">ច្រើន​ទៀត​អំពី​កា​រផ្សាយពាណិជ្ជកម្ម​ដែល​បានណែនាំ​ដោយគេហទំព័រ និង​ការ​វាស់វែង​ការ​ផ្សាយពាណិជ្ជកម្ម</translation>
 <translation id="9168814207360376865">អនុញ្ញាត​ឱ្យ​គេហទំព័រ​ពិនិត្យមើល​ថា​វិធីបង់ប្រាក់របស់អ្នកត្រូវបានរក្សាទុក​ហើយឬនៅ</translation>
 <translation id="9169664750068251925">រារាំងនៅលើគេហទំព័រនេះជានិច្ច</translation>
 <translation id="9169931577761441333">បញ្ចូល <ph name="APP_NAME" /> ទៅ​អេក្រង់​ដើម</translation>
@@ -3272,6 +3314,7 @@
 <translation id="975560348586398090">{COUNT,plural, =0{គ្មាន}=1{ធាតុ 1}other{ធាតុ #}}</translation>
 <translation id="976522784004777030">5 x 8 in</translation>
 <translation id="977502174772294970">អាពាហ៍ពិពាហ៍</translation>
+<translation id="979503328401807348">ការផ្សាយពាណិជ្ជកម្ម​ដែលមាន​ប្រយោជន៍​ជា​ច្រើន​ទៀត</translation>
 <translation id="981121421437150478">ក្រៅបណ្តាញ</translation>
 <translation id="982885543310356857">យានជំនិះ​ស៊េរីចាស់</translation>
 <translation id="984275831282074731">វិធី​បង់ប្រាក់</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index a60b668..f08aee5 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">사용할 수 없는 수령 방법입니다. 다른 방법을 선택하세요.</translation>
 <translation id="2987034854559945715">일치하는 기능 없음</translation>
 <translation id="2989742184762224133">상단 듀얼 스테이플</translation>
+<translation id="2990882401221831923">신용카드 목록이 닫힙니다.</translation>
 <translation id="2991174974383378012">웹사이트와 공유</translation>
 <translation id="299122504639061328">기본 검색엔진 및 사이트 검색 관리</translation>
 <translation id="2991571918955627853">웹사이트에서 HSTS를 사용하므로 지금은 <ph name="SITE" />에 방문할 수 없습니다. 네트워크 오류와 공격은 대체로 일시적인 문제이기 때문에 나중에 이 페이지가 정상적으로 작동할 수 있습니다.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">최근 방문: <ph name="DATE" /></translation>
 <translation id="498323057460789381">스키마 유효성 검사 오류: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">마이크를 사용하시겠습니까?</translation>
+<translation id="4988822846878841743">터치하여 입력할 수 있는 신용카드 목록이 절반 높이로 열렸습니다.</translation>
 <translation id="4989163558385430922">모두 보기</translation>
 <translation id="4989542687859782284">사용할 수 없음</translation>
 <translation id="4989809363548539747">이 플러그인은 지원되지 않습니다.</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">방문하려는 페이지에서 금액을 청구할 수 있습니다.</translation>
 <translation id="5866257070973731571">전화번호 추가</translation>
 <translation id="5866898949289125849">개발자 도구 페이지를 보는 중입니다.</translation>
+<translation id="5868548454963263350">터치하여 입력할 수 있는 신용카드 목록이 전체 높이로 열렸습니다.</translation>
 <translation id="5869405914158311789">사이트에 연결할 수 없음</translation>
 <translation id="5869522115854928033">저장된 비밀번호</translation>
 <translation id="5873013647450402046">은행에서 본인 확인을 요청합니다.</translation>
@@ -2642,6 +2645,7 @@
 <translation id="7653957176542370971">결제 핸들러 시트가 닫힘</translation>
 <translation id="7654909834015434372">주석을 수정하면 문서가 원래 방향으로 돌아갑니다.</translation>
 <translation id="765676359832457558">고급 설정 숨기기</translation>
+<translation id="7656935528854393684">터치하여 입력할 수 있는 신용카드 목록입니다.</translation>
 <translation id="7658239707568436148">취소</translation>
 <translation id="7659327900411729175">봉투 Kaku 8</translation>
 <translation id="7659878911471462949">기쁨의 눈물</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index 6cf63038..c2ad2973 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -262,7 +262,7 @@
 <translation id="1559528461873125649">Мындай файл же каталог жок</translation>
 <translation id="1559572115229829303">&lt;p&gt;Түзмөгүңүздүн күнү жана убакыты (<ph name="DATE_AND_TIME" />) туура эмес болгондуктан, <ph name="BEGIN_BOLD" /><ph name="DOMAIN" /><ph name="END_BOLD" /> менен купуя туташуу мүмкүн болбой жатат.&lt;/p&gt;
 
-      &lt;p&gt;Күн менен убакытты &lt;strong&gt;Жөндөөлөр&lt;/strong&gt; колдонмосунун &lt;strong&gt;Жалпы&lt;/strong&gt; бөлүмүнөн тууралаңыз.&lt;/p&gt;</translation>
+      &lt;p&gt;Күн менен убакытты &lt;strong&gt;Параметрлер&lt;/strong&gt; колдонмосунун &lt;strong&gt;Жалпы&lt;/strong&gt; бөлүмүнөн тууралаңыз.&lt;/p&gt;</translation>
 <translation id="1559839503761818503">Администраторуңуз түзмөктү <ph name="DATE" /> күнү саат <ph name="TIME" /> өчүрүп күйгүзөт</translation>
 <translation id="156703335097561114">Даректер, интерфейс конфигурациясы жана байланыштын сапаты сыяктуу тармак маалыматы</translation>
 <translation id="1567040042588613346">Бул саясат талаптагыдай иштеп жатат, бирок ал башка жерде коюлган окшош мааниге алмаштырып койду.</translation>
@@ -780,7 +780,7 @@
 <translation id="2941952326391522266">Бул сервер <ph name="DOMAIN" /> экендигин далилдей алган жок; себеби анын коопсуздук тастыктамасы бул жерден <ph name="DOMAIN2" /> алынган. Мындай көйгөй туура эмес конфигурация менен шартталышы мүмкүн же туташууңузга чабуулчу кийлигишип жатат.</translation>
 <translation id="2943895734390379394">Жүктөп берүү убакыты:</translation>
 <translation id="2945026002409061480">Интернет коомдоштуктары</translation>
-<translation id="2948083400971632585">Жөндөөлөр бетинен туташат деп конфигурацияланган бардык проксилерди өчүрүп койсоңуз болот.</translation>
+<translation id="2948083400971632585">Параметрлер бетинен туташат деп конфигурацияланган бардык проксилерди өчүрүп койсоңуз болот.</translation>
 <translation id="2949183777371959169">Машина Chrome серепчисинин Булуттан башкаруу тутумунда катталган эмес болгондуктан этибарга алынган жок.</translation>
 <translation id="2951588413176968965">Электрондук каттар кутум</translation>
 <translation id="2952820037279740115">Бардык жашыруун терезелерди жабуу</translation>
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Алып кетүүнүн мындай ыкмасы мүмкүн эмес. Башка ыкмасын байкап көрүңүз.</translation>
 <translation id="2987034854559945715">Дал келген функциялар жок</translation>
 <translation id="2989742184762224133">Жогорку жагын эки жолу илмек менен бекитүү</translation>
+<translation id="2990882401221831923">Насыя карталарынын тизмеси жабылды.</translation>
 <translation id="2991174974383378012">Вебсайттар менен бөлүшүлүүдө</translation>
 <translation id="299122504639061328">Демейки издөө каражатын жана сайттан издөөнү башкаруу</translation>
 <translation id="2991571918955627853">Азыр <ph name="SITE" /> сайтына кире албайсыз, анткени вебсайт HSTS протоколун иштетип жатат. Тармак каталары жана чабуулдар адатта убактылуу көйгөй болгондуктан, бул барак кийинчерээк иштеп калышы мүмкүн.</translation>
@@ -1209,7 +1210,7 @@
 <translation id="4073797364926776829">Картаны көрүү</translation>
 <translation id="4075732493274867456">Кардар менен серверде ар кандай SSL протоколунун версиялары же шифрлер топтому колдоого алынат.</translation>
 <translation id="4079302484614802869">Прокси конфигурациясы боюнча бекитилген прокси серверлери эмес, .pac скрипт URL'и колдонулат.</translation>
-<translation id="4082393374666368382">Жөндөөлөр – Башкаруу</translation>
+<translation id="4082393374666368382">Параметрлер – Башкаруу</translation>
 <translation id="4084219288110917128">Конверт C1</translation>
 <translation id="4087296516249690906">Иш-чара түзүү баскычы. Google Жылнаамада жаңы иш-чараны тез түзүү Enter баскычын басыңыз</translation>
 <translation id="4088981014127559358">1-тараптын Y сүрөтүн жылдыруу</translation>
@@ -1583,6 +1584,7 @@
 <translation id="4976702386844183910">Акыркы жолу кирген: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Схеманы текшерүү катасы: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Микрофон колдонулсунбу?</translation>
+<translation id="4988822846878841743">Тийип толтурула турган насыя карталарынын тизмеси жарымына чейин ачылды.</translation>
 <translation id="4989163558385430922">Баарын көрүү</translation>
 <translation id="4989542687859782284">Жеткиликсиз</translation>
 <translation id="4989809363548539747">Бул плагин колдоого алынбайт</translation>
@@ -1930,6 +1932,7 @@
 <translation id="5863847714970149516">Кийинки баракка өтсөңүз, акы алынышы мүмкүн</translation>
 <translation id="5866257070973731571">Телефон номерин кошуу</translation>
 <translation id="5866898949289125849">Иштеп чыгуучунун куралдар барагын көрүп жатасыз</translation>
+<translation id="5868548454963263350">Тийип толтурула турган насыя карталарынын тизмеси толугу менен ачылды.</translation>
 <translation id="5869405914158311789">Бул сайт жеткиликсиз</translation>
 <translation id="5869522115854928033">Сакталган сырсөздөр</translation>
 <translation id="5873013647450402046">Банк аныктыгыңызды текшергени жатат.</translation>
@@ -2642,6 +2645,7 @@
 <translation id="7653957176542370971">Төлөм иштетүүчү барак жабылды</translation>
 <translation id="7654909834015434372">Аннотацияны түзөтүүдө бул документ өзүнүн түпнуска айлануусуна кайтып келет</translation>
 <translation id="765676359832457558">Өркүндөтүлгөн параметрлерди жашыруу…</translation>
+<translation id="7656935528854393684">Тийип толтурула турган насыя карталарынын тизмеси.</translation>
 <translation id="7658239707568436148">Жокко чыгаруу</translation>
 <translation id="7659327900411729175">Конверт Каку 8</translation>
 <translation id="7659878911471462949">Көздөрүнөн жаш чыккыча күлгөн жүз</translation>
@@ -2943,7 +2947,7 @@
 <ph name="DEBUG_INFO" /></translation>
 <translation id="8424582179843326029"><ph name="FIRST_LABEL" /> <ph name="SECOND_LABEL" /> <ph name="THIRD_LABEL" /></translation>
 <translation id="8427848540066057481">500 x 750 мм.</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8428634594422941299">Түшүнүктүү</translation>
 <translation id="8431194080598727332"><ph name="MANAGE_COOKIES_FOCUSED_FRIENDLY_MATCH_TEXT" />, Chrome жөндөөлөрүнөн cookie файлдарынын параметрлерин башкаруу үчүн Tab, андан соң Enter баскычын басыңыз</translation>
 <translation id="8433057134996913067">Ушуну менен көпчүлүк вебсайттардын каттоо эсебинен чыгарыласыз.</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index 79f0955..93f2c1ea1 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">ວິທີການຮັບເຄື່ອງນີ້ບໍ່ສາມາດໃຊ້ໄດ້. ລອງວິທີອື່ນ.</translation>
 <translation id="2987034854559945715">ບໍ່ມີຄຸນສົມບັດທີ່ກົງກັນ</translation>
 <translation id="2989742184762224133">ໜີບກະຫຼັບເຟີຢູ່ເທິງສຸດສອງເທື່ອ</translation>
+<translation id="2990882401221831923">ປິດລາຍຊື່ບັດເຄຣດິດແລ້ວ.</translation>
 <translation id="2991174974383378012">ການແບ່ງປັນກັບເວັບໄຊ</translation>
 <translation id="299122504639061328">ຈັດການໂປຣແກຣມຊອກຫາ ແລະ ການຊອກຫາເວັບໄຊເລີ່ມຕົ້ນຂອງທ່ານ</translation>
 <translation id="2991571918955627853">ທ່ານບໍ່ສາມາດເຂົ້າເບິ່ງ <ph name="SITE" /> ໄດ້ໃນຂະນະນີ້ ເພາະວ່າເວັບໄຊນີ້ໃຊ້ HSTS. ໂດຍປົກກະຕິແລ້ວ ຂໍ້ຜິດພາດ ແລະ ການໂຈມຕີທາງເຄືອຂ່າຍແມ່ນຊົ່ວຄາວເທົ່ານັ້ນ, ສະນັ້ນ ໜ້ານີ້ອາດຈະໃຊ້ໄດ້ໃນພາຍຫຼັງ.</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">ເຂົ້າເບິ່ງຫຼ້າສຸດ <ph name="DATE" /></translation>
 <translation id="498323057460789381">ການກວດສອບຮູບແບບຜິດພາດ: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">ໃຊ້ໄມໂຄຣໂຟນບໍ?</translation>
+<translation id="4988822846878841743">ລາຍຊື່ບັດເຄຣດິດທີ່ຈະຕື່ມໃສ່ເມື່ອສຳຜັດເປີດຢູ່ລະດັບຄວາມສູງເຄິ່ງໜຶ່ງຂອງໜ້າຈໍ.</translation>
 <translation id="4989163558385430922">ເບິ່ງທັງໝົດ</translation>
 <translation id="4989542687859782284">ບໍ່ສາມາດໃຊ້ໄດ້</translation>
 <translation id="4989809363548539747">ບໍ່ຮອງຮັບປລັກອິນນີ້</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">ໜ້າທີ່ຈະໄປຫາອາດຈະພະຍາຍາມເກັບເງິນນຳທ່ານ</translation>
 <translation id="5866257070973731571">ເພີ່ມເບີໂທລະສັບ</translation>
 <translation id="5866898949289125849">ທ່ານກຳລັງເບິ່ງໜ້າເຄື່ອງມືສຳລັບຜູ້ພັດທະນາ</translation>
+<translation id="5868548454963263350">ລາຍຊື່ບັດເຄຣດິດທີ່ຈະຕື່ມໃສ່ເມື່ອສຳຜັດເປີດຢູ່ລະດັບຄວາມສູງເຕັມໜ້າຈໍ.</translation>
 <translation id="5869405914158311789">ບໍ່ສາມາດເຂົ້າເຖິງເວັບໄຊນີ້ໄດ້</translation>
 <translation id="5869522115854928033">ລະ​ຫັດ​ຜ່ານ​ທີ່ບັນທຶກໄວ້</translation>
 <translation id="5873013647450402046">ທະນາຄານຂອງທ່ານຕ້ອງການຢືນຢັນວ່າແມ່ນທ່ານແທ້.</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">ແຜ່ນວຽກຂອງເຄື່ອງຈັດການການຈ່າຍເງິນປິດຢູ່</translation>
 <translation id="7654909834015434372">ເມື່ອທ່ານແກ້ໄຂຄຳອະທິບາຍຄວາມເຫັນ, ເອກະສານນີ້ຈະກັບໄປໃຊ້ການໝຸນແບບເດີມຂອງມັນ</translation>
 <translation id="765676359832457558">ເຊື່ອງ​ການ​ຕັ້ງຄ່າຂັ້ນສູງ ...</translation>
+<translation id="7656935528854393684">ລາຍຊື່ບັດເຄຣດິດທີ່ຈະຕື່ມໃສ່ເມື່ອສຳຜັດ.</translation>
 <translation id="7658239707568436148">ຍົກ​ເລີກ​</translation>
 <translation id="7659327900411729175">Envelope Kaku 8</translation>
 <translation id="7659878911471462949">ນ້ຳຕາແຫ່ງຄວາມສຸກ</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 9e8bf05..aef536e 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -175,6 +175,7 @@
 <translation id="1363819917331173092">Nesiūlyti versti puslapių <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="1364822246244961190">Ši politika blokuojama, jos vertės bus nepaisoma.</translation>
 <translation id="1368318639262510626">Dinozauro žaidimas. Pikseliais atvaizduotas dinozauras bėga per dykynę ir bando išvengti kaktusų ir pterodaktilių. Išgirdę garsinį signalą, paspauskite tarpo klavišą, kad peršoktumėte per kliūtis.</translation>
+<translation id="136907351928231527">Gali užtrukti iki savaitės, kol čia bus pateiktas naujausia naršymo istorija pagrįstas temų sąrašas</translation>
 <translation id="1374468813861204354">pasiūlymai</translation>
 <translation id="1375198122581997741">Apie versiją</translation>
 <translation id="1376836354785490390">Rodyti mažiau</translation>
@@ -266,6 +267,7 @@
 <translation id="1559839503761818503">Jūsų administratorius paleis jūsų įrenginį iš naujo <ph name="TIME" />, <ph name="DATE" /></translation>
 <translation id="156703335097561114">Tinklų informacija, pvz., adresai, sąsajos konfigūracija ir ryšio kokybė</translation>
 <translation id="1567040042588613346">Ši politika veikia, kaip numatyta, bet ta pati vertė yra nustatyta kitur ir ją pakeičia ši politika.</translation>
+<translation id="1567405528131216114">Pridėti „<ph name="TOPIC" />“</translation>
 <translation id="1569487616857761740">Įveskite galiojimo laiko pabaigos datą</translation>
 <translation id="1569694109004336106">„Google Chrome“ bando įjungti „Windows Hello“ slaptažodžiams užpildyti.</translation>
 <translation id="1572765991610098222"><ph name="WIDTH" /> x <ph name="HEIGHT" /> col.</translation>
@@ -509,6 +511,7 @@
 <translation id="2185836064961771414">Amerikietiškasis futbolas</translation>
 <translation id="2187317261103489799">Aptikti (numatytoji parinktis)</translation>
 <translation id="2188375229972301266">Kelios skylės apačioje</translation>
+<translation id="2197398642355049178">Jūsų temos</translation>
 <translation id="219906046732893612">Namų tobulinimas</translation>
 <translation id="2202020181578195191">Įveskite tinkamus galiojimo laiko pabaigos metus</translation>
 <translation id="2202627062836089804">užpakalinėje kortelės dalyje</translation>
@@ -800,6 +803,7 @@
 <translation id="2986368408720340940">Šis paėmimo metodas nepasiekiamas. Išbandykite kitą metodą.</translation>
 <translation id="2987034854559945715">Nėra jokių atitinkančių funkcijų</translation>
 <translation id="2989742184762224133">Dvi sankabėlės viršuje</translation>
+<translation id="2990882401221831923">Kredito kortelių sąrašas uždarytas.</translation>
 <translation id="2991174974383378012">Bendrinimas su svetainėmis</translation>
 <translation id="299122504639061328">Valdykite numatytąjį paieškos variklį ir svetainių paiešką</translation>
 <translation id="2991571918955627853">Negalite dabar apsilankyti <ph name="SITE" />, nes svetainėje naudojama HSTS. Tinklo klaidos ir užpuolimai dažniausiai yra laikini, todėl šis puslapis vėliau tikriausiai veiks.</translation>
@@ -1196,6 +1200,7 @@
 <translation id="4023431997072828269">Kadangi ši forma teikiama naudojant nesaugų ryšį, jūsų informacija bus matoma kitiems.</translation>
 <translation id="4025913568718019429">„Google“ privatumo nustatymų tvarkymo mygtukas; paspauskite „Enter“, kad apsilankytumėte „Google“ paskyros privatumo nustatymų skiltyje.</translation>
 <translation id="4030383055268325496">&amp;Anuliuoti pridėjimą</translation>
+<translation id="4030545038933060179">Įjungus, čia rodomas naujausia naršymo istorija pagrįstas temų sąrašas</translation>
 <translation id="4031179711345676612">Mikrofonas leidžiamas</translation>
 <translation id="4040350669425716613">Koledžai ir universitetai</translation>
 <translation id="4047351652147966654">18 x 24 col.</translation>
@@ -1262,6 +1267,7 @@
 <translation id="4194250254487269611">Šiuo metu jūsų kortelės išsaugoti negalima</translation>
 <translation id="4195643157523330669">Atidaryti naujame skirtuke</translation>
 <translation id="4196861286325780578">&amp;Perkelti dar kartą</translation>
+<translation id="4202218894997543208">Jūsų užblokuotos temos</translation>
 <translation id="4202554117186904723">Penktas ritinėlis</translation>
 <translation id="4203769790323223880">Fotoaparatas neleidžiamas</translation>
 <translation id="4203896806696719780"><ph name="BEGIN_LINK" />Patikrinti užkardos ir antivirusinės sistemos konfigūracijas<ph name="END_LINK" /></translation>
@@ -1354,6 +1360,7 @@
 <translation id="4363222835916186793">Šio produkto įspėjimai išjungti</translation>
 <translation id="437040971055499437">Įvyksta saugos įvykis</translation>
 <translation id="4372948949327679948">Numatyta „<ph name="VALUE_TYPE" />“ vertė.</translation>
+<translation id="4375864595697821259">Vėl pridėkite elementą, jei norite, kad jis būtų temų grupėje, iš kurios „Chrome“ gali pasirinkti įvertindama jūsų pomėgius</translation>
 <translation id="4377125064752653719">Bandėte pasiekti svetainę „<ph name="DOMAIN" />“, bet sertifikatą, kurį pateikė serveris, anuliavo jo išdavėjas. Tai reiškia, kad saugos kredencialais, kuriuos pateikė serveris, visiškai negalima pasitikėti. Galbūt bendraujate su užpuoliku.</translation>
 <translation id="4378154925671717803">Telefonas</translation>
 <translation id="4384395682990721132">A4x3</translation>
@@ -1405,6 +1412,7 @@
 <translation id="4521916730539354575">Kairysis dėklas</translation>
 <translation id="4522570452068850558">Išsami informacija</translation>
 <translation id="4524138615196389145">Nuo šiol patvirtinkite korteles greičiau su „WebAuthn“</translation>
+<translation id="45243788195988825">Blokuoti temą „<ph name="TOPIC" />“</translation>
 <translation id="4524805452350978254">Tvarkyti korteles</translation>
 <translation id="4526465106919207193">Žmonės ir visuomenė</translation>
 <translation id="4530347922939905757">Teksto pranešimas</translation>
@@ -1417,6 +1425,7 @@
 <translation id="4558551763791394412">Pabandykite išjungti plėtinius.</translation>
 <translation id="4566017918361049074">Renginiai lauke</translation>
 <translation id="4567686777917670400">Administratorius gali nuotoliniu būdu keisti naršyklės sąranką. Veiklą šiame įrenginyje taip pat galima tvarkyti ne naršyklėje „Chromium“. <ph name="BEGIN_LINK" />Sužinokite daugiau<ph name="END_LINK" /></translation>
+<translation id="4568329205873177285">Peržiūrėti slapukų ir svetainės duomenų sąrašą naujame lange</translation>
 <translation id="457875822857220463">Pristatymas</translation>
 <translation id="4582204425268416675">Pašalinti kortelę</translation>
 <translation id="4582595824823167856">Gaukite teksto pranešimą</translation>
@@ -1454,6 +1463,7 @@
 <translation id="4663373278480897665">Fotoaparatas leidžiamas</translation>
 <translation id="4666114623408286498">Vaistai ir biotechnologija</translation>
 <translation id="4668929960204016307">,</translation>
+<translation id="4669856024297417878">„Chrome“ pažymi dominančias temas pagal pastarųjų kelių savaičių naršymo istoriją.</translation>
 <translation id="4670064810192446073">Virtualioji realybė</translation>
 <translation id="4671339777629075741">DL vokas</translation>
 <translation id="4673460618347856347">Dinozauro žaidimas, paleisti</translation>
@@ -1585,6 +1595,7 @@
 <translation id="4976702386844183910">Paskutinį kartą lankytasi <ph name="DATE" /></translation>
 <translation id="498323057460789381">Schemos patvirtinimo klaida: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Naudoti mikrofoną?</translation>
+<translation id="4988822846878841743">Kredito kortelių, kurias galima užpildyti palietus, sąrašas, atidarytas per pusę ekrano aukščio.</translation>
 <translation id="4989163558385430922">Žr. viską</translation>
 <translation id="4989542687859782284">Nepasiekiama</translation>
 <translation id="4989809363548539747">Šis papildinys nepalaikomas</translation>
@@ -1932,6 +1943,7 @@
 <translation id="5863847714970149516">Toliau pateiktame puslapyje gali būti bandoma jus apmokestinti</translation>
 <translation id="5866257070973731571">Telefono numerio pridėjimas</translation>
 <translation id="5866898949289125849">Peržiūrite kūrėjo įrankių puslapį</translation>
+<translation id="5868548454963263350">Kredito kortelių, kurias galima užpildyti palietus, sąrašas atidarytas per visą ekrano aukštį.</translation>
 <translation id="5869405914158311789">Nepavyksta pasiekti šios svetainės</translation>
 <translation id="5869522115854928033">Išsaugoti slaptažodžiai</translation>
 <translation id="5873013647450402046">Bankas nori, kad patvirtintumėte savo tapatybę.</translation>
@@ -2312,6 +2324,7 @@
 <translation id="6888584790432772780">„Chrome“ supaprastino šį puslapį, kad būtų paprasčiau skaityti. „Chrome“ gavo pradinį puslapį prisijungusi nesaugiu ryšiu.</translation>
 <translation id="6890443033788248019">Leisti pasiekti vietovę?</translation>
 <translation id="6890531741535756070">Pasirinkote patvirtinti naudodami <ph name="DEVICE_LABEL" /> svetainėse, kuriose naudojama <ph name="PROVIDER_ORIGIN" />. Šis teikėjas galėjo išsaugoti informaciją apie jūsų mokėjimo metodą, kurią <ph name="BEGIN_LINK" />galite paprašyti ištrinti<ph name="END_LINK" />.</translation>
+<translation id="6890956352250146925">Slapukų ir svetainės duomenų parinktys</translation>
 <translation id="6891596781022320156">Politikos lygis nepalaikomas.</translation>
 <translation id="6895330447102777224">Kortelė patvirtinta</translation>
 <translation id="6896758677409633944">Kopijuoti</translation>
@@ -2501,6 +2514,7 @@
 <translation id="7365849542400970216">Leisti žinoti, kada naudojamas įrenginys?</translation>
 <translation id="7366117520888504990">198 x 275 mm</translation>
 <translation id="7366362069757178916">Mokėjimų doroklės</translation>
+<translation id="7367985555340314048">Dominančios temos nustatomos pagal jūsų naujausią naršymo istoriją ir svetainėse naudojamos suasmenintiems skelbimams rodyti</translation>
 <translation id="7372973238305370288">paieškos rezultatas</translation>
 <translation id="7374461526650987610">Protokolų doroklės</translation>
 <translation id="7374733840632556089">Ši problema kyla dėl sertifikato, kurį jūs ar kitas asmuo įdiegėte įrenginyje. Žinoma, kad sertifikatas naudojamas tinklams stebėti ir nuskaityti ir nėra patikimas sistemoje „Chrome“. Kai kurie stebėjimo atvejai yra teisėti, pvz., mokyklos ar įmonės tinkle, bet „Chrome“ nori būti tikra, kad apie stebėjimą būsite informuoti, net jei jo nutraukti negalite. Stebėjimas galimas bet kurioje naršyklėje ar programoje, iš kurių pasiekiamas žiniatinklis.</translation>
@@ -2644,6 +2658,7 @@
 <translation id="7653957176542370971">Mokėjimo doroklės lapas uždarytas</translation>
 <translation id="7654909834015434372">Kai redaguosite komentarus, bus pateiktas šio dokumento pradinis pasukimas</translation>
 <translation id="765676359832457558">Slėpti išplėstinius nustatymus...</translation>
+<translation id="7656935528854393684">Kredito kortelių, kurias galima užpildyti palietus, sąrašas.</translation>
 <translation id="7658239707568436148">Atšaukti</translation>
 <translation id="7659327900411729175">„Kaku 8“ vokas</translation>
 <translation id="7659878911471462949">Džiaugsmo ašaros</translation>
@@ -2674,6 +2689,7 @@
 <translation id="7701040980221191251">Nėra</translation>
 <translation id="7704050614460855821"><ph name="BEGIN_LINK" />Eiti į svetainę <ph name="SITE" /> (nesaugu)<ph name="END_LINK" /></translation>
 <translation id="770607638235926858">Slidinėjimas ir snieglentės</translation>
+<translation id="7706689436519265630">Failai, kuriuos nukopijuojate ar perkeliate, siunčiami „Google Cloud“ arba trečiosioms šalims, kad būtų atlikta analizė. Pavyzdžiui, jie gali būti nuskaityti tikrinant, ar juose nėra neskelbtinų duomenų arba kenkėjiškų programų, ir saugomi laikantis įmonės politikos nuostatų.</translation>
 <translation id="7709911732293795808">Draudimas</translation>
 <translation id="7714464543167945231">Sertifikatas</translation>
 <translation id="7716147886133743102">Užblokavo jūsų administratorius</translation>
@@ -2720,6 +2736,7 @@
 <translation id="7840103971441592723">Ekrano fiksavimas pradėtas</translation>
 <translation id="7844689747373518809">{COUNT,plural, =0{Nėra}=1{1 programa („<ph name="EXAMPLE_APP_1" />“)}=2{2 programos („<ph name="EXAMPLE_APP_1" />“, „<ph name="EXAMPLE_APP_2" />“)}one{# programa („<ph name="EXAMPLE_APP_1" />“, „<ph name="EXAMPLE_APP_2" />“ <ph name="AND_MORE" />)}few{# programos („<ph name="EXAMPLE_APP_1" />“, „<ph name="EXAMPLE_APP_2" />“ <ph name="AND_MORE" />)}many{# programos („<ph name="EXAMPLE_APP_1" />“, „<ph name="EXAMPLE_APP_2" />“ <ph name="AND_MORE" />)}other{# programų („<ph name="EXAMPLE_APP_1" />“, „<ph name="EXAMPLE_APP_2" />“ <ph name="AND_MORE" />)}}</translation>
 <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="FORMATTED_TOTAL_AMOUNT" /> <ph name="CURRENCY_CODE" /></translation>
+<translation id="7857116075376571629">Vėliau svetainė, kurioje lankotės, gali paprašyti „Chrome“ jūsų temų, kad galėtų suasmeninti jums rodomus skelbimus. „Chrome“ bendrina iki trijų temų, išsaugodama jūsų naršymo istoriją ir tapatybę.</translation>
 <translation id="7862185352068345852">Išeiti iš svetainės?</translation>
 <translation id="7865448901209910068">Geriausias greitis</translation>
 <translation id="7871445724586827387">Pakeiskite „Google“ paskyros slaptažodį</translation>
@@ -2784,6 +2801,7 @@
 <translation id="8019861005170389898"><ph name="TRADITIONAL_TEXT" /> (<ph name="ADDITIONAL_TEXT" />)</translation>
 <translation id="8023231537967344568"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />; paspauskite tabuliavimo klavišą, tada „Enter“, kad nustatytumėte „Chrome“ kaip numatytąją sistemos naršyklę</translation>
 <translation id="8025119109950072390">Šios svetainės užpuolėjai gali bandyti apgaulingai priversti atlikti pavojingus veiksmus, pvz., įdiegti programinę įrangą ar atskleisti asmens informaciją (pvz., slaptažodžius, telefonų numerius ar kredito kortelių informaciją).</translation>
+<translation id="8026126421313327427">„Chrome“ automatiškai ištrina senesnes nei keturių savaičių temas. Jums naršant toliau, tema gali būti vėl rodoma sąraše. Arba galite blokuoti temas, kurių „Chrome“ neturėtų bendrinti su svetainėmis.</translation>
 <translation id="8026334261755873520">Išvalyti naršymo duomenis</translation>
 <translation id="8027077570865220386">Penkioliktas dėklas</translation>
 <translation id="8028698320761417183"><ph name="CREATE_GOOGLE_FORM_FOCUSED_FRIENDLY_MATCH_TEXT" />, paspauskite tabuliavimo klavišą, tada – „Enter“, jei norite greitai sukurti naują formą „Google“ formose</translation>
@@ -3051,6 +3069,7 @@
 <translation id="8730621377337864115">Atlikta</translation>
 <translation id="8731268612289859741">Saugos kodas</translation>
 <translation id="8731544501227493793">Mygtukas „Tvarkyti slaptažodžius“, paspauskite „Enter“, jei norite peržiūrėti ir tvarkyti slaptažodžius „Chrome“ nustatymuose</translation>
+<translation id="8733764070897080460">Galite blokuoti temas, kurių nenorite bendrinti su svetainėmis. „Chrome“ taip pat automatiškai ištrina senesnes nei keturių savaičių temas. Sužinokite daugiau</translation>
 <translation id="8734529307927223492">Jūsų „<ph name="DEVICE_TYPE" />“ tvarko <ph name="MANAGER" /></translation>
 <translation id="8736059027199600831">30 x 40 col.</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, paspauskite tabuliavimo klavišą, tada – „Enter“, kad būtų atidarytas naujas privataus naršymo inkognito langas</translation>
@@ -3082,6 +3101,7 @@
 <translation id="8805819170075074995">Sąrašo įrašas „<ph name="LANGUAGE_ID" />“: įrašo nepaisoma, nes jis taip pat įtrauktas į politiką „SpellcheckLanguage“.</translation>
 <translation id="8806285662264631610">Vonios ir kūno priežiūros produktai</translation>
 <translation id="8807160976559152894">Apkarpymas po kiekvieno puslapio</translation>
+<translation id="8809203544698246977">Čia rodomos užblokuotos temos</translation>
 <translation id="8813277370772331957">Priminti vėliau</translation>
 <translation id="8814707942599948500">C8 vokas</translation>
 <translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, paspauskite tabuliavimo klavišą, tada – „Enter“, kad „Chrome“ nustatymuose būtų atnaujinta naršyklė „Chrome“</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index d61583f..aa6eb3a 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Šis saņemšanas veids nav pieejams. Izmēģiniet citu veidu.</translation>
 <translation id="2987034854559945715">Nav atbilstošu līdzekļu</translation>
 <translation id="2989742184762224133">Divkāršs skavojums augšdaļā</translation>
+<translation id="2990882401221831923">Kredītkaršu saraksts ir aizvērts.</translation>
 <translation id="2991174974383378012">Kopīgošana ar vietnēm</translation>
 <translation id="299122504639061328">Pārvaldīt noklusējuma meklētājprogrammu un meklēšanu vietnēs</translation>
 <translation id="2991571918955627853">Pašlaik nevarat apmeklēt vietni <ph name="SITE" />, jo tā izmanto HSTS. Tā kā tīkla kļūdas un uzbrukumi parasti ir īslaicīgi, visticamāk, šī lapa vēlāk darbosies.</translation>
@@ -1583,6 +1584,7 @@
 <translation id="4976702386844183910">Pēdējoreiz apmeklēta: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Shēmas validācijas kļūda. <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Vai lietot mikrofonu?</translation>
+<translation id="4988822846878841743">Pieskaroties aizpildāmo kredītkaršu saraksts ir atvērts pusekrāna augstumā.</translation>
 <translation id="4989163558385430922">Skatīt visu</translation>
 <translation id="4989542687859782284">Nav pieejami</translation>
 <translation id="4989809363548539747">Šis spraudnis netiek atbalstīts</translation>
@@ -1930,6 +1932,7 @@
 <translation id="5863847714970149516">Nākamajā lapā var tikt mēģināts pieprasīt naudu</translation>
 <translation id="5866257070973731571">Tālruņa numura pievienošana</translation>
 <translation id="5866898949289125849">Jūs skatāt izstrādātāja rīku lapu</translation>
+<translation id="5868548454963263350">Pieskaroties aizpildāmo kredītkaršu saraksts ir atvērts pilna ekrāna augstumā.</translation>
 <translation id="5869405914158311789">Šī vietne nav sasniedzama</translation>
 <translation id="5869522115854928033">Saglabātās paroles</translation>
 <translation id="5873013647450402046">Banka vēlas apstiprināt jūsu identitāti</translation>
@@ -2642,6 +2645,7 @@
 <translation id="7653957176542370971">Maksājumu apstrādātāja lapa ir aizvērta</translation>
 <translation id="7654909834015434372">Ja rediģēsiet piezīmes, šī dokumenta rotācija tiks atiestatīta.</translation>
 <translation id="765676359832457558">Slēpt papildu iestatījumus...</translation>
+<translation id="7656935528854393684">Pieskaroties aizpildāmo kredītkaršu saraksts.</translation>
 <translation id="7658239707568436148">Atcelt</translation>
 <translation id="7659327900411729175">Aploksne Kaku 8</translation>
 <translation id="7659878911471462949">Prieka asaras</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index 59bd55a..2e071f3e 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -1153,6 +1153,7 @@
 <translation id="3872834068356954457">Vitenskap</translation>
 <translation id="3875783148670536197">Vis meg hvordan</translation>
 <translation id="3881478300875776315">Vis færre linjer</translation>
+<translation id="3883500545751229739">forstyrrende annonser</translation>
 <translation id="3884278016824448484">Motstridende enhetsidentifikator</translation>
 <translation id="388632593194507180">Overvåking er oppdaget</translation>
 <translation id="3886948180919384617">Hylle 3</translation>
@@ -3116,6 +3117,7 @@
 <translation id="8891727572606052622">Ugyldig modus for proxy-tjener.</translation>
 <translation id="8894794286471754040">Langsiden først</translation>
 <translation id="8897428486789851669">Svømming</translation>
+<translation id="8899807382908246773">Forstyrrende annonser</translation>
 <translation id="8903921497873541725">Zoom inn</translation>
 <translation id="890493561996401738">Knapp for å fjerne forslag – trykk på Enter for å fjerne. <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">Google-konto</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 9418f91..da9c5f8 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">ਇਹ ਪਿਕਅੱਪ ਵਿਧੀ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਕੋਈ ਵੱਖਰੀ ਵਿਧੀ ਅਜ਼ਮਾਓ।</translation>
 <translation id="2987034854559945715">ਮੇਲ ਖਾਂਦੀ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਨਹੀਂ ਹੈ</translation>
 <translation id="2989742184762224133">ਉੱਪਰ ਦੋ ਪਿੰਨਾਂ</translation>
+<translation id="2990882401221831923">ਕ੍ਰੈਡਿਟ ਕਾਰਡਾਂ ਦੀ ਸੂਚੀ ਬੰਦ ਹੈ।</translation>
 <translation id="2991174974383378012">ਵੈੱਬਸਾਈਟਾਂ ਨਾਲ ਸ਼ੇਅਰਿੰਗ</translation>
 <translation id="299122504639061328">ਆਪਣੇ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਖੋਜ ਇੰਜਣ ਅਤੇ ਸਾਈਟ ਖੋਜ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="2991571918955627853">ਤੁਸੀਂ ਇਸ ਵੇਲੇ <ph name="SITE" /> 'ਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ ਕਿਉਂਕਿ ਵੈੱਬਸਾਈਟ HSTS ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਨੈੱਟਵਰਕ ਗੜਬੜੀਆਂ ਅਤੇ ਹਮਲੇ ਆਮ ਤੌਰ 'ਤੇ ਅਸਥਾਈ ਹੁੰਦੇ ਹਨ, ਇਸ ਕਰਕੇ ਸੰਭਾਵੀ ਤੌਰ 'ਤੇ ਇਹ ਪੰਨਾ ਬਾਅਦ ਵਿੱਚ ਕੰਮ ਕਰੇਗਾ।</translation>
@@ -1581,6 +1582,7 @@
 <translation id="4976702386844183910">ਪਿਛਲੀ ਵਾਰ <ph name="DATE" /> ਨੂੰ ਦੇਖੀ ਗਈ</translation>
 <translation id="498323057460789381">ਸਕੀਮਾ ਪ੍ਰਮਾਣੀਕਰਨ ਗੜਬੜ: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">ਕੀ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਵਰਤਣਾ ਹੈ?</translation>
+<translation id="4988822846878841743">ਸਪਰਸ਼ ਕਰ ਕੇ ਭਰੇ ਜਾਣ ਵਾਲੀ ਕ੍ਰੈਡਿਟ ਕਾਰਡਾਂ ਦੀ ਸੂਚੀ ਅੱਧੀ ਉਚਾਈ ਤੱਕ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।</translation>
 <translation id="4989163558385430922">ਸਭ ਦੇਖੋ</translation>
 <translation id="4989542687859782284">ਅਣਉਪਲਬਧ</translation>
 <translation id="4989809363548539747">ਇਹ ਪਲੱਗਇਨ ਸਮਰਥਿਤ ਨਹੀਂ ਹੈ</translation>
@@ -1928,6 +1930,7 @@
 <translation id="5863847714970149516">ਅਗਲੇ ਪੰਨੇ 'ਤੇ ਜਾਣ ਨਾਲ ਤੁਹਾਡੇ ਤੋਂ ਖਰਚਾ ਲਿਆ ਜਾ ਸਕਦਾ ਹੈ</translation>
 <translation id="5866257070973731571">ਫ਼ੋਨ ਨੰਬਰ ਸ਼ਾਮਲ ਕਰੋ</translation>
 <translation id="5866898949289125849">ਤੁਸੀਂ ਵਿਕਾਸਕਾਰ ਟੂਲਾਂ ਵਾਲਾ ਪੰਨਾ ਦੇਖ ਰਹੇ ਹੋ</translation>
+<translation id="5868548454963263350">ਸਪਰਸ਼ ਕਰ ਕੇ ਭਰੇ ਜਾਣ ਵਾਲੀ ਕ੍ਰੈਡਿਟ ਕਾਰਡਾਂ ਦੀ ਸੂਚੀ ਪੂਰੀ ਉਚਾਈ ਤੱਕ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।</translation>
 <translation id="5869405914158311789">ਇਸ ਸਾਈਟ 'ਤੇ ਪਹੁੰਚਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ</translation>
 <translation id="5869522115854928033">ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ</translation>
 <translation id="5873013647450402046">ਤੁਹਾਡਾ ਬੈਂਕ ਤਸਦੀਕ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ ਕਿ ਇਹ ਤੁਸੀਂ ਹੀ ਹੋ।</translation>
@@ -2639,6 +2642,7 @@
 <translation id="7653957176542370971">ਭੁਗਤਾਨ ਹੈਂਡਲਰ ਸ਼ੀਟ ਬੰਦ ਹੈ</translation>
 <translation id="7654909834015434372">ਜਦੋਂ ਤੁਸੀਂ ਐਨੋਟੇਸ਼ਨਾਂ ਦਾ ਸੰਪਾਦਨ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਦਸਤਾਵੇਜ਼ ਆਪਣੇ ਮੂਲ ਘੁਮਾਅ 'ਤੇ ਵਾਪਸ ਆ ਜਾਵੇਗਾ</translation>
 <translation id="765676359832457558">ਉੱਨਤ ਸੈਟਿੰਗਾਂ ਲੁਕਾਓ...</translation>
+<translation id="7656935528854393684">ਸਪਰਸ਼ ਕਰ ਕੇ ਭਰੇ ਜਾਣ ਵਾਲੇ ਕ੍ਰੈਡਿਟ ਕਾਰਡਾਂ ਦੀ ਸੂਚੀ।</translation>
 <translation id="7658239707568436148">ਰੱਦ ਕਰੋ</translation>
 <translation id="7659327900411729175">ਕਾਕੂ 8 ਆਕਾਰ ਦਾ ਲਿਫ਼ਾਫ਼ਾ</translation>
 <translation id="7659878911471462949">ਖੁਸ਼ੀ ਦੇ ਹੰਝੂ</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index dc46c4ce..c9c5cc7 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -176,6 +176,7 @@
 <translation id="1363819917331173092">Não se disponibilizar para traduzir páginas em <ph name="SOURCE_LANGUAGE" /></translation>
 <translation id="1364822246244961190">Esta política está bloqueada e o valor será ignorado.</translation>
 <translation id="1368318639262510626">Jogo Dino. Um dinossauro pixelizado desvia-se de catos e de pterodáctilos enquanto corre numa paisagem deserta. Quando ouvir uma pista de áudio, prima a tecla de espaço para saltar sobre os obstáculos.</translation>
+<translation id="136907351928231527">Pode demorar até uma semana para que uma lista de tópicos seja apresentada aqui com base no seu histórico de navegação recente</translation>
 <translation id="1374468813861204354">sugestões</translation>
 <translation id="1375198122581997741">Acerca da versão</translation>
 <translation id="1376836354785490390">Mostrar menos</translation>
@@ -267,6 +268,7 @@
 <translation id="1559839503761818503">O seu administrador vai reiniciar o dispositivo à(s) <ph name="TIME" /> de <ph name="DATE" /></translation>
 <translation id="156703335097561114">Informações de rede, tais como endereços, a configuração da interface e a qualidade da ligação</translation>
 <translation id="1567040042588613346">Esta política está a funcionar conforme esperado, mas o mesmo valor está definido noutro local e foi substituído por esta política.</translation>
+<translation id="1567405528131216114">Adicionar <ph name="TOPIC" /></translation>
 <translation id="1569487616857761740">Introduza a data de validade</translation>
 <translation id="1569694109004336106">O Google Chrome está a tentar ativar o Windows Hello para preencher palavras-passe.</translation>
 <translation id="1572765991610098222"><ph name="WIDTH" /> x <ph name="HEIGHT" /> pol.</translation>
@@ -515,6 +517,7 @@
 <translation id="2185836064961771414">Futebol americano</translation>
 <translation id="2187317261103489799">Detetar (predefinição)</translation>
 <translation id="2188375229972301266">Perfuração múltipla na parte inferior</translation>
+<translation id="2197398642355049178">Os seus tópicos</translation>
 <translation id="219906046732893612">Bricolage</translation>
 <translation id="2202020181578195191">Introduza um ano de expiração válido</translation>
 <translation id="2202627062836089804">no verso do cartão</translation>
@@ -1212,6 +1215,7 @@
 <translation id="4023431997072828269">Uma vez que este formulário está a ser enviado através de uma ligação insegura, as suas informações vão ficar visíveis para outras pessoas.</translation>
 <translation id="4025913568718019429">Botão Gerir definições de privacidade do Google, prima Enter para visitar as definições de privacidade da sua Conta Google</translation>
 <translation id="4030383055268325496">&amp;Anular adição</translation>
+<translation id="4030545038933060179">Quando esta opção está ativada, é apresentada aqui uma lista de tópicos com base no seu histórico de navegação recente</translation>
 <translation id="4031179711345676612">Microfone permitido</translation>
 <translation id="4040350669425716613">Universidades</translation>
 <translation id="4047351652147966654">18 x 24 pol.</translation>
@@ -1280,6 +1284,7 @@
 <translation id="4194250254487269611">Não é possível guardar o seu cartão neste momento.</translation>
 <translation id="4195643157523330669">Abrir num novo separador</translation>
 <translation id="4196861286325780578">&amp;Refazer movimentação</translation>
+<translation id="4202218894997543208">Tópicos que bloqueou</translation>
 <translation id="4202554117186904723">Quinto rolo</translation>
 <translation id="4203769790323223880">Acesso à câmara não permitido</translation>
 <translation id="4203896806696719780"><ph name="BEGIN_LINK" />Verificar as configurações da firewall e de antivírus<ph name="END_LINK" /></translation>
@@ -1373,6 +1378,7 @@
 <translation id="4363222835916186793">Os alertas para este produto foram desativados</translation>
 <translation id="437040971055499437">Ocorre um evento de segurança</translation>
 <translation id="4372948949327679948">Valor <ph name="VALUE_TYPE" /> esperado.</translation>
+<translation id="4375864595697821259">Volte a adicionar um item caso queira incluí-lo no conjunto de tópicos que o Chrome pode escolher ao estimar os seus interesses</translation>
 <translation id="4377125064752653719">Tentou aceder a <ph name="DOMAIN" />, mas o certificado que o servidor apresentou foi revogado pelo emissor. Isto significa que as credenciais de segurança apresentadas pelo servidor não deverão, em circunstância alguma, ser consideradas fidedignas. Pode estar a comunicar com um utilizador mal intencionado.</translation>
 <translation id="4378154925671717803">Telemóvel</translation>
 <translation id="4384395682990721132">A4x3</translation>
@@ -1425,6 +1431,7 @@
 <translation id="4521916730539354575">Tabuleiro esquerdo</translation>
 <translation id="4522570452068850558">Detalhes</translation>
 <translation id="4524138615196389145">Confirme os seus cartões mais rapidamente ao utilizar o WebAuthn a partir de agora.</translation>
+<translation id="45243788195988825">Bloquear <ph name="TOPIC" /></translation>
 <translation id="4524805452350978254">Gerir cartões</translation>
 <translation id="4526465106919207193">Pessoas e sociedade</translation>
 <translation id="4530347922939905757">Mensagem de texto</translation>
@@ -1437,6 +1444,7 @@
 <translation id="4558551763791394412">Experimente desativar as extensões.</translation>
 <translation id="4566017918361049074">Ar livre</translation>
 <translation id="4567686777917670400">O administrador pode alterar a configuração do navegador remotamente. A atividade neste dispositivo também pode ser gerida fora do Chromium. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
+<translation id="4568329205873177285">Consulte uma lista de cookies e dados de sites numa nova janela</translation>
 <translation id="457875822857220463">Entrega</translation>
 <translation id="4582204425268416675">Remover cartão</translation>
 <translation id="4582595824823167856">Receber uma mensagem de texto</translation>
@@ -1474,6 +1482,7 @@
 <translation id="4663373278480897665">Câmara permitida</translation>
 <translation id="4666114623408286498">Farmacêutica e biotecnologia</translation>
 <translation id="4668929960204016307">,</translation>
+<translation id="4669856024297417878">O Chrome regista tópicos de interesse com base no seu histórico de navegação das últimas semanas.</translation>
 <translation id="4670064810192446073">Realidade virtual</translation>
 <translation id="4671339777629075741">Envelope DL</translation>
 <translation id="4673460618347856347">Jogo Dino, jogar</translation>
@@ -2343,6 +2352,7 @@
 <translation id="6888584790432772780">O Chrome simplificou esta página para facilitar a leitura. O Chrome obteve a página original através de uma ligação insegura.</translation>
 <translation id="6890443033788248019">Permitir o acesso à localização?</translation>
 <translation id="6890531741535756070">Optou por validar com <ph name="DEVICE_LABEL" /> em Websites que usam o fornecedor <ph name="PROVIDER_ORIGIN" />. Este fornecedor pode ter armazenado informações sobre o seu método de pagamento, que pode <ph name="BEGIN_LINK" />pedir para ser eliminado<ph name="END_LINK" />.</translation>
+<translation id="6890956352250146925">Opções para cookies e dados de sites</translation>
 <translation id="6891596781022320156">O nível da política não é suportado.</translation>
 <translation id="6895330447102777224">O seu cartão foi confirmado</translation>
 <translation id="6896758677409633944">Copiar</translation>
@@ -2532,6 +2542,7 @@
 <translation id="7365849542400970216">Sabe qual é a utilização do seu dispositivo?</translation>
 <translation id="7366117520888504990">198 x 275 mm</translation>
 <translation id="7366362069757178916">Controladores de pagamento</translation>
+<translation id="7367985555340314048">Os tópicos de interesse baseiam-se no seu histórico de navegação recente e são usados pelos sites para lhe mostrar anúncios personalizados</translation>
 <translation id="7372973238305370288">resultado da pesquisa</translation>
 <translation id="7374461526650987610">Processadores de protocolos</translation>
 <translation id="7374733840632556089">Este problema ocorre devido a um certificado que o utilizador ou outra pessoa instalou no dispositivo. Sabe-se que o certificado é utilizado para monitorizar e intercetar redes e não é considerado fidedigno pelo Chrome. Embora existam alguns casos legítimos para a monitorização, como numa rede escolar ou da empresa, o Chrome pretende certificar-se de que o utilizador tem conhecimento da situação, mesmo que não seja possível interrompê-la. A monitorização pode ocorrer em qualquer navegador ou aplicação que aceda à Web.</translation>
@@ -2706,6 +2717,7 @@
 <translation id="7701040980221191251">Nenhuma</translation>
 <translation id="7704050614460855821"><ph name="BEGIN_LINK" />Prosseguir para <ph name="SITE" /> (não seguro)<ph name="END_LINK" /></translation>
 <translation id="770607638235926858">Esqui e snowboard</translation>
+<translation id="7706689436519265630">Os ficheiros que copiar ou mover são enviados para o Google Cloud ou terceiros para análise. Por exemplo, podem ser analisados quanto a dados confidenciais ou software malicioso e podem ser armazenados com base nas políticas da empresa.</translation>
 <translation id="7709911732293795808">Seguros</translation>
 <translation id="7714464543167945231">Certificado</translation>
 <translation id="7716147886133743102">Bloqueada pelo gestor</translation>
@@ -2754,6 +2766,7 @@
 <translation id="7840103971441592723">A captura de ecrã foi iniciada</translation>
 <translation id="7844689747373518809">{COUNT,plural, =0{Nenhuma}=1{1 aplicação (<ph name="EXAMPLE_APP_1" />)}=2{2 aplicações (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />)}other{# aplicações (<ph name="EXAMPLE_APP_1" />, <ph name="EXAMPLE_APP_2" />, <ph name="AND_MORE" />)}}</translation>
 <translation id="7855695075675558090"><ph name="TOTAL_LABEL" /> <ph name="CURRENCY_CODE" /> <ph name="FORMATTED_TOTAL_AMOUNT" /></translation>
+<translation id="7857116075376571629">Posteriormente, um site que visitar pode pedir ao Chrome os seus tópicos para personalizar os anúncios que vê. O Chrome partilha até 3 tópicos enquanto protege o seu histórico de navegação e identidade.</translation>
 <translation id="7862185352068345852">Pretende sair do site?</translation>
 <translation id="7865448901209910068">A melhor velocidade</translation>
 <translation id="7871445724586827387">Altere a palavra-passe da sua Conta Google</translation>
@@ -2818,6 +2831,7 @@
 <translation id="8019861005170389898"><ph name="TRADITIONAL_TEXT" /> (<ph name="ADDITIONAL_TEXT" />)</translation>
 <translation id="8023231537967344568"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, de seguida, Enter para definir o Chrome como o navegador predefinido do sistema</translation>
 <translation id="8025119109950072390">Os utilizadores mal intencionados neste site podem enganá-lo no sentido de fazer algo perigoso como instalar software ou revelar as suas informações pessoais (por exemplo, palavras-passe, números de telefone ou cartões de crédito).</translation>
+<translation id="8026126421313327427">O Chrome apaga automaticamente os tópicos com mais de 4 semanas. Enquanto navega, um tópico pode voltar a ser apresentado na lista. Em alternativa, pode bloquear os tópicos que não quer que o Chrome partilhe com sites.</translation>
 <translation id="8026334261755873520">Limpar dados de navegação</translation>
 <translation id="8027077570865220386">Tabuleiro 15</translation>
 <translation id="8028698320761417183"><ph name="CREATE_GOOGLE_FORM_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para criar rapidamente um novo formulário no Google Forms</translation>
@@ -3088,6 +3102,7 @@
 <translation id="8730621377337864115">Concluído</translation>
 <translation id="8731268612289859741">Código de segurança</translation>
 <translation id="8731544501227493793">Botão Gerir palavras-passe; prima Enter para ver e gerir as suas palavras-passes nas Definições do Chrome.</translation>
+<translation id="8733764070897080460">Pode bloquear os tópicos que não quer partilhar com os sites. O Chrome também apaga automaticamente os tópicos com mais de 4 semanas. Saiba mais</translation>
 <translation id="8734529307927223492">O seu <ph name="DEVICE_TYPE" /> é gerido por <ph name="MANAGER" /></translation>
 <translation id="8736059027199600831">30 x 40 pol.</translation>
 <translation id="8737134861345396036"><ph name="LAUNCH_INCOGNITO_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para abrir uma nova janela de navegação anónima para navegar em privado.</translation>
@@ -3119,6 +3134,7 @@
 <translation id="8805819170075074995">Entrada da lista "<ph name="LANGUAGE_ID" />": a entrada foi ignorada porque também está incluída na política SpellcheckLanguage.</translation>
 <translation id="8806285662264631610">Produtos para o banho e o corpo</translation>
 <translation id="8807160976559152894">Cortar no fim de cada página</translation>
+<translation id="8809203544698246977">Os tópicos bloqueados aparecem aqui</translation>
 <translation id="8813277370772331957">Lembrar-me mais tarde</translation>
 <translation id="8814707942599948500">Envelope C8</translation>
 <translation id="8816395686387277279"><ph name="UPDATE_CHROME_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para atualizar o Chrome nas Definições do Chrome.</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index 2758be1..a36cbd6 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Этот способ выдачи недоступен. Выберите другой.</translation>
 <translation id="2987034854559945715">Совпадений не найдено.</translation>
 <translation id="2989742184762224133">Две скобы сверху</translation>
+<translation id="2990882401221831923">Список кредитных карт закрыт.</translation>
 <translation id="2991174974383378012">Доступ веб-сайтов</translation>
 <translation id="299122504639061328">Настроить поисковую систему по умолчанию и поиск по сайту</translation>
 <translation id="2991571918955627853">Веб-сайт <ph name="SITE" /> использует механизм HSTS. Открыть сайт в настоящее время нельзя. Сбой мог быть вызван сетевой ошибкой или действиями злоумышленников. Скорее всего, сайт заработает через некоторое время.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">Последнее посещение: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Ошибка проверки схемы: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Использовать микрофон?</translation>
+<translation id="4988822846878841743">Список кредитных карт, данные которых можно ввести нажатием, развернут на половину экрана.</translation>
 <translation id="4989163558385430922">Показать все</translation>
 <translation id="4989542687859782284">Недоступные</translation>
 <translation id="4989809363548539747">Плагин не поддерживается</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">При открытии этой страницы с вашего счета могут быть списаны средства</translation>
 <translation id="5866257070973731571">Добавьте номер телефона</translation>
 <translation id="5866898949289125849">Вы просматриваете страницу инструментов разработчика</translation>
+<translation id="5868548454963263350">Список кредитных карт, данные которых можно ввести нажатием, развернут на весь экран.</translation>
 <translation id="5869405914158311789">Не удается получить доступ к сайту</translation>
 <translation id="5869522115854928033">Сайты с сохраненными паролями</translation>
 <translation id="5873013647450402046">Банку нужно убедиться, что это действительно вы.</translation>
@@ -2643,6 +2646,7 @@
 <translation id="7653957176542370971">Лист с обработчиком платежа закрыт</translation>
 <translation id="7654909834015434372">При редактировании заметок будет возвращена исходная ориентация документа.</translation>
 <translation id="765676359832457558">Скрыть дополнительные настройки</translation>
+<translation id="7656935528854393684">Список кредитных карт, данные которых можно ввести нажатием.</translation>
 <translation id="7658239707568436148">Отмена</translation>
 <translation id="7659327900411729175">Конверт Kaku 8</translation>
 <translation id="7659878911471462949">Слезы счастья</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index d0915ed..4518246 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">මෙම භාර ගැනීමේ ක්‍රමය ලබා ගත නොහැකිය. වෙනත් ක්‍රමයක් උත්සාහ කරන්න.</translation>
 <translation id="2987034854559945715">ගැළපෙන විශේෂාංග නැත</translation>
 <translation id="2989742184762224133">ඉහළට දෙවරක් ස්ටේපල් කරන්න</translation>
+<translation id="2990882401221831923">ණය කාඩ්පත් ලැයිස්තුව වසා ඇත.</translation>
 <translation id="2991174974383378012">වෙබ අඩවි සමග බෙදා ගැනීම</translation>
 <translation id="299122504639061328">ඔබගේ පෙරනිමි සෙවීම් යන්ත්‍රය සහ අඩවි සෙවීම කළමනාකරණය කරන්න</translation>
 <translation id="2991571918955627853">වෙබ් අඩවිය HSTS භාවිතා කරන නිසා ඔබට මේ දැන් <ph name="SITE" /> වෙත පිවිසිය නොහැක. ජාල දෝෂ සහ ප්‍රහාර සාමාන්‍යයෙන් තාවකාලිකය, එනිසා මෙම පිටුව සමහර විට පසුව වැඩ කරනු ඇත.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">අවසන් වරට <ph name="DATE" /> පිවිසි</translation>
 <translation id="498323057460789381">නිරූපණ වලංගු කිරීමේ දෝෂයකි: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">මයික්‍රෆෝනය භාවිත කරන්නද?</translation>
+<translation id="4988822846878841743">ස්පර්ශයෙන් පිරවිය යුතු ණය කාඩ්පත් ලැයිස්තුව අඩක් උසින් විවෘත වේ.</translation>
 <translation id="4989163558385430922">සියල්ල බලන්න</translation>
 <translation id="4989542687859782284">නොතිබේ</translation>
 <translation id="4989809363548539747">මෙම පේනු මෘදුකාංගය සහාය නොදක්වයි</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">ඉදිරියෙන් ඇති පිටුව ඔබගෙන් මුදල් අය කිරීමට උත්සාහ කරනු ඇත</translation>
 <translation id="5866257070973731571">දුරකථන අංකය එක් කරන්න</translation>
 <translation id="5866898949289125849">ඔබ සංවර්ධක මෙවලම් පිටුවක් දකියි</translation>
+<translation id="5868548454963263350">ස්පර්ශයෙන් පිරවිය යුතු ණය කාඩ්පත් ලැයිස්තුව සම්පූර්ණ උසින් විවෘත වේ.</translation>
 <translation id="5869405914158311789">මෙම අඩවියට ළඟා විය නොහැකිය</translation>
 <translation id="5869522115854928033">සුරැකි රහස්වචන</translation>
 <translation id="5873013647450402046">ඔබගේ බැංකුවට මේ ඔබ බව තහවුරු කර ගැනීමට අවශ්‍යයි.</translation>
@@ -2643,6 +2646,7 @@
 <translation id="7653957176542370971">ගෙවීම් හසුරුවන පත්‍රය වසා ඇත</translation>
 <translation id="7654909834015434372">ඔබ අනුසටහන් සංස්කරණය කරන විට, මෙම ලේඛනය එහි මුල් කරකැවීමට ආපසු යනු ඇත</translation>
 <translation id="765676359832457558">උසස් සැකසුම් සඟවන්න...</translation>
+<translation id="7656935528854393684">ස්පර්ශයෙන් පිරවිය යුතු ණය කාඩ්පත් ලැයිස්තුව.</translation>
 <translation id="7658239707568436148">අවලංගු කරන්න</translation>
 <translation id="7659327900411729175">ලියුම් කවරය කකු 8</translation>
 <translation id="7659878911471462949">සතුටු කඳුළු</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index e8e6b430..677b0046 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -1149,6 +1149,7 @@
 <translation id="3872834068356954457">Veda</translation>
 <translation id="3875783148670536197">Ukázať postup</translation>
 <translation id="3881478300875776315">Zobraziť menej riadkov</translation>
+<translation id="3883500545751229739">obťažujúce reklamy</translation>
 <translation id="3884278016824448484">Kolidujúci identifikátor zariadenia</translation>
 <translation id="388632593194507180">Bolo rozpoznané monitorovanie</translation>
 <translation id="3886948180919384617">Odkladač č. 3</translation>
@@ -3113,6 +3114,7 @@
 <translation id="8891727572606052622">Neplatný režim proxy.</translation>
 <translation id="8894794286471754040">Dlhým okrajom</translation>
 <translation id="8897428486789851669">Plávanie</translation>
+<translation id="8899807382908246773">Obťažujúce reklamy</translation>
 <translation id="8903921497873541725">Priblížiť</translation>
 <translation id="890493561996401738">Tlačidlo odstránenia návrhu, odstránenie vykonáte stlačením klávesa Enter, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">účtu Google</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index f1c5b80..aac664a 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Mbinu hii ya kuchukua haipatikani. Jaribu mbinu tofauti.</translation>
 <translation id="2987034854559945715">Hakuna vipengele vinavyolingana</translation>
 <translation id="2989742184762224133">Bana mara mbili juu</translation>
+<translation id="2990882401221831923">Orodha ya kadi za mikopo imefungwa.</translation>
 <translation id="2991174974383378012">Kushiriki kwenye Tovuti</translation>
 <translation id="299122504639061328">Dhibiti mtambo wako chaguomsingi wa kutafuta na utafutaji kwenye tovuti</translation>
 <translation id="2991571918955627853">Huwezi kutembelea <ph name="SITE" /> sasa hivi kwa sababu tovuti inatumia HSTS. Hitilafu na uvamizi wa mtandao kwa kawaida huwa vya muda, kwa hivyo huenda ukurasa huu ukafanya kazi baadaye.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">Ilitembelewa mara ya mwisho <ph name="DATE" /></translation>
 <translation id="498323057460789381">Hitilafu ya uthibitishaji wa taratibu: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Ungependa kutumia maikrofoni?</translation>
+<translation id="4988822846878841743">Orodha ya kadi za mikopo ya kujaza kwa kugusa imefunguliwa kwenye skrini nzima.</translation>
 <translation id="4989163558385430922">Angalia vyote</translation>
 <translation id="4989542687859782284">Hayapatikani</translation>
 <translation id="4989809363548539747">Programu jalizi hii haitumiki</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">Huenda ukurasa unaofuata ukajaribu kukutoza pesa</translation>
 <translation id="5866257070973731571">Ongeza Nambari ya Simu</translation>
 <translation id="5866898949289125849">Unaangalia ukurasa wa zana za msanidi programu</translation>
+<translation id="5868548454963263350">Orodha ya kadi za mikopo ya kujaza kwa kugusa imefunguliwa kwenye skrini nzima.</translation>
 <translation id="5869405914158311789">Imeshindwa kufungua tovuti hii</translation>
 <translation id="5869522115854928033">Manenosiri yaliyohifadhiwa</translation>
 <translation id="5873013647450402046">Benki yako ingependa kuthibitisha kwamba ni wewe.</translation>
@@ -2641,6 +2644,7 @@
 <translation id="7653957176542370971">Laha la kidhibiti cha malipo limefungwa</translation>
 <translation id="7654909834015434372">Ukibadilisha vidokezo, hati hii itarejea kwenye mzunguko wake wa asili</translation>
 <translation id="765676359832457558">Ficha mipangilio ya kina...</translation>
+<translation id="7656935528854393684">Orodha ya kadi za mikopo ya kujaza kwa kugusa.</translation>
 <translation id="7658239707568436148">Ghairi</translation>
 <translation id="7659327900411729175">Bahasha ya muundo wa Kaku ya ukubwa wa 8</translation>
 <translation id="7659878911471462949">Machozi ya Furaha</translation>
diff --git a/components/strings/components_strings_tr.xtb b/components/strings/components_strings_tr.xtb
index a3ad653..b0460753 100644
--- a/components/strings/components_strings_tr.xtb
+++ b/components/strings/components_strings_tr.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Bu alım yöntemi kullanılamıyor. Farklı bir yöntem deneyin.</translation>
 <translation id="2987034854559945715">Eşleşen özellik yok</translation>
 <translation id="2989742184762224133">Üstte ikili tel zımba</translation>
+<translation id="2990882401221831923">Kredi kartı listesi kapatıldı.</translation>
 <translation id="2991174974383378012">Web Siteleriyle Paylaşma</translation>
 <translation id="299122504639061328">Varsayılan arama motorunuzu ve site aramanızı yönetin</translation>
 <translation id="2991571918955627853"><ph name="SITE" /> web sitesi HSTS kullandığından şu anda siteyi ziyaret edemezsiniz. Ağ hataları ve saldırılar genellikle geçici olduğundan bu sayfa muhtemelen daha sonra çalışacaktır.</translation>
@@ -1584,6 +1585,7 @@
 <translation id="4976702386844183910">Son ziyaret tarihi: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Şema doğrulama hatası: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Mikrofon kullanılsın mı?</translation>
+<translation id="4988822846878841743">Dokunarak doldurulacak kredi kartı listesi ekranın yarısında açıldı.</translation>
 <translation id="4989163558385430922">Tümünü göster</translation>
 <translation id="4989542687859782284">Kullanılamıyor</translation>
 <translation id="4989809363548539747">Bu eklenti desteklenmiyor</translation>
@@ -1931,6 +1933,7 @@
 <translation id="5863847714970149516">Gireceğiniz sayfa sizden para almaya çalışabilir</translation>
 <translation id="5866257070973731571">Telefon Numarası Ekleyin</translation>
 <translation id="5866898949289125849">Geliştirici araçları sayfasını görüntülüyorsunuz</translation>
+<translation id="5868548454963263350">Dokunarak doldurulacak kredi kartı listesi tam ekranda açıldı.</translation>
 <translation id="5869405914158311789">Bu siteye ulaşılamıyor</translation>
 <translation id="5869522115854928033">Kayıtlı şifreler</translation>
 <translation id="5873013647450402046">Bankanız kimliğinizi doğrulamak istiyor.</translation>
@@ -2643,6 +2646,7 @@
 <translation id="7653957176542370971">Ödeme işleyici sayfası kapatıldı</translation>
 <translation id="7654909834015434372">Ek açıklamaları düzenlediğinizde bu doküman orijinal rotasyonuna geri döner</translation>
 <translation id="765676359832457558">Gelişmiş ayarları gizle...</translation>
+<translation id="7656935528854393684">Dokunarak doldurulacak kredi kartı listesi</translation>
 <translation id="7658239707568436148">İptal</translation>
 <translation id="7659327900411729175">Zarf Kaku 8</translation>
 <translation id="7659878911471462949">Mutluluk Gözyaşları</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index b1f201ff6..37ef025c 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -1155,6 +1155,7 @@
 <translation id="3872834068356954457">سائنس</translation>
 <translation id="3875783148670536197">مجھے طریقہ دکھائیں</translation>
 <translation id="3881478300875776315">قدرے کم لائنز دکھائیں</translation>
+<translation id="3883500545751229739">دخل انداز اشتہارات</translation>
 <translation id="3884278016824448484">متنازع آلہ شناخت کنندہ</translation>
 <translation id="388632593194507180">مانیٹر کرنے کا پتہ چلا</translation>
 <translation id="3886948180919384617">اسٹیکر 3</translation>
@@ -3120,6 +3121,7 @@
 <translation id="8891727572606052622">پراکسی کی غلط وضع۔</translation>
 <translation id="8894794286471754040">طویل کنارہ پہلے</translation>
 <translation id="8897428486789851669">تیراکی</translation>
+<translation id="8899807382908246773">دخل انداز اشتہارات</translation>
 <translation id="8903921497873541725">زوم ان کریں</translation>
 <translation id="890493561996401738">‏تجویز کا بٹن ہٹائیں، ہٹانے کے لیے Enter دبائیں، <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">‏Google اکاؤنٹ</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index f5b21c3..c34a4f85 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -800,6 +800,7 @@
 <translation id="2986368408720340940">Phương thức nhận hàng này không có sẵn. Hãy thử một phương thức khác.</translation>
 <translation id="2987034854559945715">Không có tính năng nào phù hợp</translation>
 <translation id="2989742184762224133">Dập 2 ghim trên cùng</translation>
+<translation id="2990882401221831923">Danh sách thẻ tín dụng đã đóng.</translation>
 <translation id="2991174974383378012">Chia sẻ với trang web</translation>
 <translation id="299122504639061328">Quản lý công cụ tìm kiếm mặc định và công cụ tìm kiếm trang web</translation>
 <translation id="2991571918955627853">Bạn không thể truy cập vào <ph name="SITE" /> ngay bây giờ vì trang web sử dụng HSTS. Lỗi mạng và các cuộc tấn công mạng thường chỉ là tạm thời nên trang này có thể sẽ hoạt động lại sau.</translation>
@@ -1585,6 +1586,7 @@
 <translation id="4976702386844183910">Lần truy cập gần đây nhất: <ph name="DATE" /></translation>
 <translation id="498323057460789381">Lỗi xác thực giản đồ: <ph name="ERROR" /></translation>
 <translation id="4984088539114770594">Sử dụng micrô?</translation>
+<translation id="4988822846878841743">Danh sách thẻ tín dụng có thể điền bằng thao tác chạm đã mở trên một nửa màn hình.</translation>
 <translation id="4989163558385430922">Xem tất cả</translation>
 <translation id="4989542687859782284">Không được hỗ trợ</translation>
 <translation id="4989809363548539747">Plugin này không được hỗ trợ</translation>
@@ -1932,6 +1934,7 @@
 <translation id="5863847714970149516">Trang phía trước có thể tìm cách tính phí bạn</translation>
 <translation id="5866257070973731571">Thêm số điện thoại</translation>
 <translation id="5866898949289125849">Bạn đang xem trang công cụ dành cho nhà phát triển</translation>
+<translation id="5868548454963263350">Danh sách thẻ tín dụng có thể điền bằng thao tác chạm đã mở trên toàn màn hình.</translation>
 <translation id="5869405914158311789">Không thể truy cập trang web này</translation>
 <translation id="5869522115854928033">Mật khẩu đã lưu</translation>
 <translation id="5873013647450402046">Ngân hàng của bạn muốn xác nhận danh tính của bạn.</translation>
@@ -2644,6 +2647,7 @@
 <translation id="7653957176542370971">Trang tính trình xử lý thanh toán đang đóng</translation>
 <translation id="7654909834015434372">Khi bạn chỉnh sửa chú thích, tài liệu này sẽ trở về hướng xoay ban đầu</translation>
 <translation id="765676359832457558">Ẩn cài đặt nâng cao...</translation>
+<translation id="7656935528854393684">Danh sách thẻ tín dụng có thể điền bằng thao tác chạm.</translation>
 <translation id="7658239707568436148">Hủy</translation>
 <translation id="7659327900411729175">Phong bì Kaku 8</translation>
 <translation id="7659878911471462949">Vui chảy nước mắt</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index ef409a0..48a22905 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -1150,6 +1150,7 @@
 <translation id="3872834068356954457">Isayensi</translation>
 <translation id="3875783148670536197">Ngibonise Ukuthi Kanjani</translation>
 <translation id="3881478300875776315">Bonisa imigqa embalwa</translation>
+<translation id="3883500545751229739">izikhangiso ezizivelelayo</translation>
 <translation id="3884278016824448484">Isikhombi sedivayisi esishayisanayo</translation>
 <translation id="388632593194507180">Ukwengamela kutholiwe</translation>
 <translation id="3886948180919384617">Isitaki esingu-3</translation>
@@ -3114,6 +3115,7 @@
 <translation id="8891727572606052622">Imodi yommeleli engavumelekile.</translation>
 <translation id="8894794286471754040">Umkhawulo omude kuqala</translation>
 <translation id="8897428486789851669">Ukubhukuda</translation>
+<translation id="8899807382908246773">Izikhangiso ezizivelelayo</translation>
 <translation id="8903921497873541725">Sondeza</translation>
 <translation id="890493561996401738">Susa inkinobho yesiphazamiso, cindezela ku-Enter ukuze ususe, <ph name="REMOVE_BUTTON_FOCUSED_FRIENDLY_MATCH_TEXT" /></translation>
 <translation id="8912362522468806198">I-Akhawunti ye-Google</translation>
diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc
index 175fc06..6d7c853 100644
--- a/content/browser/accessibility/browser_accessibility_manager_android.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_android.cc
@@ -345,6 +345,7 @@
     case ui::AXEventGenerator::Event::ATK_TEXT_OBJECT_ATTRIBUTE_CHANGED:
     case ui::AXEventGenerator::Event::ATOMIC_CHANGED:
     case ui::AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
+    case ui::AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
     case ui::AXEventGenerator::Event::BUSY_CHANGED:
     case ui::AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
     case ui::AXEventGenerator::Event::CHECKED_STATE_DESCRIPTION_CHANGED:
diff --git a/content/browser/accessibility/browser_accessibility_manager_auralinux.cc b/content/browser/accessibility/browser_accessibility_manager_auralinux.cc
index 87d4a58..e1fc7fd 100644
--- a/content/browser/accessibility/browser_accessibility_manager_auralinux.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_auralinux.cc
@@ -310,6 +310,7 @@
     case ui::AXEventGenerator::Event::ALERT:
     case ui::AXEventGenerator::Event::ATOMIC_CHANGED:
     case ui::AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
+    case ui::AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
     case ui::AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
     case ui::AXEventGenerator::Event::CHECKED_STATE_DESCRIPTION_CHANGED:
     case ui::AXEventGenerator::Event::CHILDREN_CHANGED:
diff --git a/content/browser/accessibility/browser_accessibility_manager_mac.mm b/content/browser/accessibility/browser_accessibility_manager_mac.mm
index c3dc838..22e8250d 100644
--- a/content/browser/accessibility/browser_accessibility_manager_mac.mm
+++ b/content/browser/accessibility/browser_accessibility_manager_mac.mm
@@ -359,6 +359,7 @@
     case ui::AXEventGenerator::Event::ATK_TEXT_OBJECT_ATTRIBUTE_CHANGED:
     case ui::AXEventGenerator::Event::ATOMIC_CHANGED:
     case ui::AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
+    case ui::AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
     case ui::AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
     case ui::AXEventGenerator::Event::CHECKED_STATE_DESCRIPTION_CHANGED:
     case ui::AXEventGenerator::Event::CHILDREN_CHANGED:
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc
index 334d09e4..42846c3f 100644
--- a/content/browser/accessibility/browser_accessibility_manager_win.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_win.cc
@@ -482,6 +482,7 @@
     case ui::AXEventGenerator::Event::NONE:
     case ui::AXEventGenerator::Event::ATK_TEXT_OBJECT_ATTRIBUTE_CHANGED:
     case ui::AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
+    case ui::AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
     case ui::AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
     case ui::AXEventGenerator::Event::CHECKED_STATE_DESCRIPTION_CHANGED:
     case ui::AXEventGenerator::Event::DETAILS_CHANGED:
diff --git a/content/browser/interest_group/auction_runner.cc b/content/browser/interest_group/auction_runner.cc
index bfe14896..7bb01802 100644
--- a/content/browser/interest_group/auction_runner.cc
+++ b/content/browser/interest_group/auction_runner.cc
@@ -88,14 +88,15 @@
 AuctionRunner::~AuctionRunner() = default;
 
 void AuctionRunner::ResolvedPromiseParam(
-    blink::mojom::AuctionAdConfigAuctionIdPtr auction,
+    blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
     blink::mojom::AuctionAdConfigField field,
     const absl::optional<std::string>& json_value) {
   if (state_ == State::kFailed) {
     return;
   }
 
-  blink::AuctionConfig* config = LookupAuction(*owned_auction_config_, auction);
+  blink::AuctionConfig* config =
+      LookupAuction(*owned_auction_config_, auction_id);
   if (!config) {
     // TODO(morlovich): Abort on these.
     mojo::ReportBadMessage("Invalid auction ID in ResolvedPromiseParam");
@@ -122,20 +123,62 @@
       config->non_shared_params.seller_signals = std::move(new_val);
       break;
   }
-  --promise_fields_in_auction_config_;
-  DCHECK_EQ(promise_fields_in_auction_config_,
-            owned_auction_config_->non_shared_params.NumPromises());
 
-  if (!auction->is_main_auction() &&
-      config->non_shared_params.NumPromises() == 0) {
-    auction_.NotifyComponentConfigPromisesResolved(
-        auction->get_component_auction());
+  NotifyPromiseResolved(auction_id.get(), config);
+}
+
+void AuctionRunner::ResolvedPerBuyerSignalsPromise(
+    blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
+    const absl::optional<base::flat_map<url::Origin, std::string>>&
+        per_buyer_signals) {
+  if (state_ == State::kFailed) {
+    return;
   }
 
-  // This may happen when updating a component auction as well.
-  if (promise_fields_in_auction_config_ == 0) {
-    auction_.NotifyConfigPromisesResolved();
+  blink::AuctionConfig* config =
+      LookupAuction(*owned_auction_config_, auction_id);
+  if (!config) {
+    mojo::ReportBadMessage(
+        "Invalid auction ID in ResolvedPerBuyerSignalsPromise");
+    return;
   }
+
+  if (!config->non_shared_params.per_buyer_signals.is_promise()) {
+    mojo::ReportBadMessage(
+        "ResolvedPerBuyerSignalsPromise updating non-promise");
+    return;
+  }
+
+  config->non_shared_params.per_buyer_signals =
+      blink::AuctionConfig::MaybePromisePerBuyerSignals::FromValue(
+          per_buyer_signals);
+  NotifyPromiseResolved(auction_id.get(), config);
+}
+
+void AuctionRunner::ResolvedBuyerTimeoutsPromise(
+    blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
+    const blink::AuctionConfig::BuyerTimeouts& buyer_timeouts) {
+  if (state_ == State::kFailed) {
+    return;
+  }
+
+  blink::AuctionConfig* config =
+      LookupAuction(*owned_auction_config_, auction_id);
+  if (!config) {
+    mojo::ReportBadMessage(
+        "Invalid auction ID in ResolvedBuyerTimeoutsPromise");
+    return;
+  }
+
+  if (!config->non_shared_params.buyer_timeouts.is_promise()) {
+    mojo::ReportBadMessage("ResolvedBuyerTimeoutsPromise updating non-promise");
+    return;
+  }
+
+  config->non_shared_params.buyer_timeouts =
+      blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+          buyer_timeouts);
+  NotifyPromiseResolved(auction_id.get(), config);
 }
 
 void AuctionRunner::Abort() {
@@ -295,4 +338,23 @@
       update_owners, client_security_state_.Clone());
 }
 
+void AuctionRunner::NotifyPromiseResolved(
+    const blink::mojom::AuctionAdConfigAuctionId* auction_id,
+    blink::AuctionConfig* config) {
+  --promise_fields_in_auction_config_;
+  DCHECK_EQ(promise_fields_in_auction_config_,
+            owned_auction_config_->non_shared_params.NumPromises());
+
+  if (!auction_id->is_main_auction() &&
+      config->non_shared_params.NumPromises() == 0) {
+    auction_.NotifyComponentConfigPromisesResolved(
+        auction_id->get_component_auction());
+  }
+
+  // This may happen when updating a component auction as well.
+  if (promise_fields_in_auction_config_ == 0) {
+    auction_.NotifyConfigPromisesResolved();
+  }
+}
+
 }  // namespace content
diff --git a/content/browser/interest_group/auction_runner.h b/content/browser/interest_group/auction_runner.h
index 3e8b29d..d209446 100644
--- a/content/browser/interest_group/auction_runner.h
+++ b/content/browser/interest_group/auction_runner.h
@@ -150,9 +150,16 @@
 
   // AbortableAdAuction implementation.
   void ResolvedPromiseParam(
-      blink::mojom::AuctionAdConfigAuctionIdPtr auction,
+      blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
       blink::mojom::AuctionAdConfigField field,
       const absl::optional<std::string>& json_value) override;
+  void ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
+      const absl::optional<base::flat_map<url::Origin, std::string>>&
+          per_buyer_signals) override;
+  void ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionIdPtr auction_id,
+      const blink::AuctionConfig::BuyerTimeouts& buyer_timeouts) override;
   void Abort() override;
 
   // Fails the auction, invoking `callback_` and prevents any future calls into
@@ -211,6 +218,12 @@
   // auction.
   void UpdateInterestGroupsPostAuction();
 
+  // Notify relevant InterestGroupAuctions of progress in resolving promises in
+  // config, as appropriate. Manages `promise_fields_in_auction_config_`.
+  void NotifyPromiseResolved(
+      const blink::mojom::AuctionAdConfigAuctionId* auction_id,
+      blink::AuctionConfig* config);
+
   const raw_ptr<InterestGroupManagerImpl> interest_group_manager_;
 
   // ClientSecurityState built from the frame that issued the auction request;
diff --git a/content/browser/interest_group/auction_runner_unittest.cc b/content/browser/interest_group/auction_runner_unittest.cc
index a912d2c..7a1a3a1 100644
--- a/content/browser/interest_group/auction_runner_unittest.cc
+++ b/content/browser/interest_group/auction_runner_unittest.cc
@@ -69,6 +69,7 @@
 #include "third_party/blink/public/mojom/fenced_frame/fenced_frame.mojom-shared.h"
 
 using auction_worklet::TestDevToolsAgentClient;
+using testing::HasSubstr;
 
 namespace content {
 namespace {
@@ -242,6 +243,9 @@
       // into the top-level auction.
       // TODO(mmenke): Worth fixing that?
       if (interestGroupName !== bid + '') {
+        if (perBuyerSignals === null) {
+          throw new Error("unexpectedly perBuyerSignals is null");
+        }
         if (perBuyerSignals[seller + 'Signals'] !==
             interestGroupName + 'Signals') {
           throw new Error("wrong perBuyerSignals");
@@ -1806,7 +1810,7 @@
 
   blink::AuctionConfig::MaybePromiseJson MakeAuctionSignals(
       bool use_promise,
-      url::Origin seller) {
+      const url::Origin& seller) {
     if (use_promise) {
       return blink::AuctionConfig::MaybePromiseJson::FromPromise();
     } else {
@@ -1816,6 +1820,45 @@
     }
   }
 
+  blink::AuctionConfig::MaybePromisePerBuyerSignals MakePerBuyerSignals(
+      bool use_promise,
+      const url::Origin& seller) {
+    if (use_promise) {
+      return blink::AuctionConfig::MaybePromisePerBuyerSignals::FromPromise();
+    } else {
+      base::flat_map<url::Origin, std::string> per_buyer_signals;
+      // Use a combination of bidder and seller values, so can make sure bidders
+      // get the value from the correct seller script. Also append a fixed
+      // string, as a defense against pulling the right values from the wrong
+      // places.
+      per_buyer_signals[kBidder1] =
+          base::StringPrintf(R"({"%sSignals": "%sSignals"})",
+                             seller.Serialize().c_str(), kBidder1Name.c_str());
+      per_buyer_signals[kBidder2] =
+          base::StringPrintf(R"({"%sSignals": "%sSignals"})",
+                             seller.Serialize().c_str(), kBidder2Name.c_str());
+      return blink::AuctionConfig::MaybePromisePerBuyerSignals::FromValue(
+          std::move(per_buyer_signals));
+    }
+  }
+
+  blink::AuctionConfig::MaybePromiseBuyerTimeouts MakeBuyerTimeouts(
+      bool use_promise) {
+    if (use_promise) {
+      return blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromPromise();
+    } else {
+      blink::AuctionConfig::BuyerTimeouts buyer_timeouts;
+      // Any per buyer timeout higher than 500 ms will be clamped to 500 ms by
+      // the AuctionRunner.
+      buyer_timeouts.per_buyer_timeouts.emplace();
+      buyer_timeouts.per_buyer_timeouts.value()[kBidder1] =
+          base::Milliseconds(1000);
+      buyer_timeouts.all_buyers_timeout = base::Milliseconds(150);
+      return blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+          std::move(buyer_timeouts));
+    }
+  }
+
   // Helper to create an auction config with the specified values.
   blink::AuctionConfig CreateAuctionConfig(
       const GURL& seller_decision_logic_url,
@@ -1829,29 +1872,10 @@
     auction_config.non_shared_params.seller_signals = MakeSellerSignals(
         use_promise_for_seller_signals_, seller_decision_logic_url);
     auction_config.non_shared_params.seller_timeout = base::Milliseconds(1000);
-
-    base::flat_map<url::Origin, std::string> per_buyer_signals;
-    // Use a combination of bidder and seller values, so can make sure bidders
-    // get the value from the correct seller script. Also append a fixed string,
-    // as a defense against pulling the right values from the wrong places.
-    per_buyer_signals[kBidder1] = base::StringPrintf(
-        R"({"%sSignals": "%sSignals"})",
-        auction_config.seller.Serialize().c_str(), kBidder1Name.c_str());
-    per_buyer_signals[kBidder2] = base::StringPrintf(
-        R"({"%sSignals": "%sSignals"})",
-        auction_config.seller.Serialize().c_str(), kBidder2Name.c_str());
-    auction_config.non_shared_params.per_buyer_signals =
-        std::move(per_buyer_signals);
-
-    base::flat_map<url::Origin, base::TimeDelta> per_buyer_timeouts;
-    // Any per buyer timeout higher than 500 ms will be clamped to 500 ms by the
-    // AuctionRunner.
-    per_buyer_timeouts[kBidder1] = base::Milliseconds(1000);
-    auction_config.non_shared_params.per_buyer_timeouts =
-        std::move(per_buyer_timeouts);
-    auction_config.non_shared_params.all_buyers_timeout =
-        base::Milliseconds(150);
-
+    auction_config.non_shared_params.per_buyer_signals = MakePerBuyerSignals(
+        use_promise_for_per_buyer_signals_, auction_config.seller);
+    auction_config.non_shared_params.buyer_timeouts =
+        MakeBuyerTimeouts(use_promise_for_buyer_timeouts_);
     auction_config.non_shared_params.auction_signals = MakeAuctionSignals(
         use_promise_for_auction_signals_, auction_config.seller);
 
@@ -2368,6 +2392,8 @@
 
   bool use_promise_for_seller_signals_ = false;
   bool use_promise_for_auction_signals_ = false;
+  bool use_promise_for_per_buyer_signals_ = false;
+  bool use_promise_for_buyer_timeouts_ = false;
   absl::optional<uint16_t> seller_experiment_group_id_;
   absl::optional<uint16_t> all_buyer_experiment_group_id_;
   std::map<url::Origin, uint16_t> per_buyer_experiment_group_id_;
@@ -5595,11 +5621,129 @@
 
   EXPECT_FALSE(result_.winning_group_id.has_value());
   EXPECT_FALSE(result_.ad_url.has_value());
-  EXPECT_THAT(result_.errors, testing::UnorderedElementsAre(
-                                  "https://adplatform.com/offers.js:74 "
-                                  "Uncaught Error: wrong auctionSignals.",
-                                  "https://anotheradthing.com/bids.js:74 "
-                                  "Uncaught Error: wrong auctionSignals."));
+  EXPECT_THAT(
+      result_.errors,
+      testing::UnorderedElementsAre(
+          testing::AllOf(HasSubstr("https://adplatform.com/offers.js"),
+                         HasSubstr("Uncaught Error: wrong auctionSignals.")),
+          testing::AllOf(HasSubstr("https://anotheradthing.com/bids.js"),
+                         HasSubstr("Uncaught Error: wrong auctionSignals."))));
+}
+
+// An auction that passes perBuyerSignals and buyerTimeouts via promises.
+TEST_F(AuctionRunnerTest, PromiseSignals3) {
+  use_promise_for_per_buyer_signals_ = true;
+  use_promise_for_buyer_timeouts_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in perBuyerSignals.
+  abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0),
+      MakePerBuyerSignals(/*use_promise=*/false,
+                          url::Origin::Create(kSellerUrl))
+          .value());
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in buyerTimeouts.
+  abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0),
+      MakeBuyerTimeouts(/*use_promise=*/false).value());
+
+  auction_run_loop_->Run();
+
+  EXPECT_EQ(InterestGroupKey(kBidder2, kBidder2Name), result_.winning_group_id);
+  EXPECT_EQ(GURL("https://ad2.com/"), result_.ad_url);
+  EXPECT_THAT(result_.errors, testing::ElementsAre());
+}
+
+// An auction that passes perBuyerSignals and buyerTimeouts via promises.
+// Empty values are provided, which causes the validation scripts to complain.
+TEST_F(AuctionRunnerTest, PromiseSignals4) {
+  use_promise_for_per_buyer_signals_ = true;
+  use_promise_for_buyer_timeouts_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in perBuyerSignals.
+  abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0), absl::nullopt);
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in buyerTimeouts.
+  abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0),
+      blink::AuctionConfig::BuyerTimeouts());
+
+  auction_run_loop_->Run();
+
+  EXPECT_FALSE(result_.winning_group_id.has_value());
+  EXPECT_FALSE(result_.ad_url.has_value());
+  EXPECT_THAT(
+      result_.errors,
+      testing::UnorderedElementsAre(
+          testing::AllOf(
+              HasSubstr("https://adplatform.com/offers.js"),
+              HasSubstr(
+                  "Uncaught Error: unexpectedly perBuyerSignals is null.")),
+          testing::AllOf(
+              HasSubstr("https://anotheradthing.com/bids.js"),
+              HasSubstr(
+                  "Uncaught Error: unexpectedly perBuyerSignals is null."))));
 }
 
 // Runs an auction that passes auctionSignals via a promise, and makes sure that
@@ -5941,6 +6085,87 @@
   EXPECT_EQ("Invalid auction ID in ResolvedPromiseParam", TakeBadMessage());
 }
 
+TEST_F(AuctionRunnerTest, PromiseSignalsBadAuctionId2) {
+  use_promise_for_per_buyer_signals_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in sellerSignals with wrong component ID.
+  abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewComponentAuction(0),
+      absl::nullopt);
+  auction_run_loop_->RunUntilIdle();
+  EXPECT_EQ("Invalid auction ID in ResolvedPerBuyerSignalsPromise",
+            TakeBadMessage());
+}
+
+TEST_F(AuctionRunnerTest, PromiseSignalsBadAuctionId3) {
+  use_promise_for_buyer_timeouts_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in sellerSignals with wrong component ID.
+  blink::AuctionConfig::BuyerTimeouts buyer_timeouts;
+  abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewComponentAuction(0),
+      buyer_timeouts);
+  auction_run_loop_->RunUntilIdle();
+  EXPECT_EQ("Invalid auction ID in ResolvedBuyerTimeoutsPromise",
+            TakeBadMessage());
+}
+
 // Trying to update auctionSignals which wasn't originally passed in as a
 // promise.
 TEST_F(AuctionRunnerTest, PromiseSignalsUpdateNonPromise) {
@@ -6101,7 +6326,7 @@
   task_environment()->RunUntilIdle();
   EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
 
-  // Feed in auctionSignals twice.
+  // Feed in sellerSignals twice.
   abortable_ad_auction_->ResolvedPromiseParam(
       blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0),
       blink::mojom::AuctionAdConfigField::kSellerSignals, absl::nullopt);
@@ -6112,6 +6337,96 @@
   EXPECT_EQ("ResolvedPromiseParam updating non-promise", TakeBadMessage());
 }
 
+// Trying to update perBuyerSignals twice.
+TEST_F(AuctionRunnerTest, PromiseSignalsUpdateNonPromise5) {
+  // Have two kind of promises so we don't just finish after first
+  // perBuyerSignals update
+  use_promise_for_per_buyer_signals_ = true;
+  use_promise_for_buyer_timeouts_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in perBuyerSignals twice.
+  abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0), absl::nullopt);
+  abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0), absl::nullopt);
+  task_environment()->RunUntilIdle();
+  EXPECT_EQ("ResolvedPerBuyerSignalsPromise updating non-promise",
+            TakeBadMessage());
+}
+
+// Trying to update buyer timeouts twice.
+TEST_F(AuctionRunnerTest, PromiseSignalsUpdateNonPromise6) {
+  // Have two kind of promises so we don't just finish after first update
+  use_promise_for_per_buyer_signals_ = true;
+  use_promise_for_buyer_timeouts_ = true;
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/0,
+                    kBidder1, kBidder1Name));
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/0,
+                    kBidder2, kBidder2Name));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScript());
+
+  std::vector<StorageInterestGroup> bidders;
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder1, kBidder1Name, kBidder1Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad1.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  bidders.emplace_back(MakeInterestGroup(
+      kBidder2, kBidder2Name, kBidder2Url,
+      /*trusted_bidding_signals_url=*/absl::nullopt,
+      /*trusted_bidding_signals_keys=*/{}, GURL("https://ad2.com"),
+      /*ad_component_urls=*/absl::nullopt));
+  StartAuction(kSellerUrl, std::move(bidders));
+
+  // Can't complete yet.
+  task_environment()->RunUntilIdle();
+  EXPECT_FALSE(auction_run_loop_->AnyQuitCalled());
+
+  // Feed in buyer timeouts twice.
+  blink::AuctionConfig::BuyerTimeouts timeouts;
+  abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0), timeouts);
+  abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+      blink::mojom::AuctionAdConfigAuctionId::NewMainAuction(0), timeouts);
+  task_environment()->RunUntilIdle();
+  EXPECT_EQ("ResolvedBuyerTimeoutsPromise updating non-promise",
+            TakeBadMessage());
+}
+
 // Test the case where the ProcessManager initially prevents creating worklets,
 // due to being at its process limit.
 TEST_F(AuctionRunnerTest, ProcessManagerBlocksWorkletCreation) {
diff --git a/content/browser/interest_group/interest_group_auction.cc b/content/browser/interest_group/interest_group_auction.cc
index 23a721c..84ff208 100644
--- a/content/browser/interest_group/interest_group_auction.cc
+++ b/content/browser/interest_group/interest_group_auction.cc
@@ -1763,10 +1763,12 @@
     const url::Origin& buyer) {
   const auto& auction_config_per_buyer_signals =
       config.non_shared_params.per_buyer_signals;
-  if (auction_config_per_buyer_signals.has_value()) {
-    auto it = auction_config_per_buyer_signals.value().find(buyer);
-    if (it != auction_config_per_buyer_signals.value().end())
+  DCHECK(!auction_config_per_buyer_signals.is_promise());
+  if (auction_config_per_buyer_signals.value().has_value()) {
+    auto it = auction_config_per_buyer_signals.value()->find(buyer);
+    if (it != auction_config_per_buyer_signals.value()->end()) {
       return it->second;
+    }
   }
   return absl::nullopt;
 }
@@ -2369,16 +2371,17 @@
 
 absl::optional<base::TimeDelta> InterestGroupAuction::PerBuyerTimeout(
     const BidState* state) {
+  DCHECK(!config_->non_shared_params.buyer_timeouts.is_promise());
   const auto& per_buyer_timeouts =
-      config_->non_shared_params.per_buyer_timeouts;
+      config_->non_shared_params.buyer_timeouts.value().per_buyer_timeouts;
   if (per_buyer_timeouts.has_value()) {
-    auto it =
-        per_buyer_timeouts.value().find(state->bidder->interest_group.owner);
-    if (it != per_buyer_timeouts.value().end())
+    auto it = per_buyer_timeouts->find(state->bidder->interest_group.owner);
+    if (it != per_buyer_timeouts->end()) {
       return std::min(it->second, kMaxTimeout);
+    }
   }
   const auto& all_buyers_timeout =
-      config_->non_shared_params.all_buyers_timeout;
+      config_->non_shared_params.buyer_timeouts.value().all_buyers_timeout;
   if (all_buyers_timeout.has_value())
     return std::min(all_buyers_timeout.value(), kMaxTimeout);
   return absl::nullopt;
diff --git a/content/browser/interest_group/interest_group_browsertest.cc b/content/browser/interest_group/interest_group_browsertest.cc
index 026163ca..bfa921e 100644
--- a/content/browser/interest_group/interest_group_browsertest.cc
+++ b/content/browser/interest_group/interest_group_browsertest.cc
@@ -3155,9 +3155,16 @@
           () => { resolve(function() {}); }, 10) }),
       interestGroupBuyers: [$1]
   })";
+  WebContentsConsoleObserver console_observer(shell()->web_contents());
+  console_observer.SetPattern(
+      "Uncaught (in promise) TypeError: Failed to execute 'runAdAuction' on "
+      "'NavigatorAuction': auctionSignals for AuctionAdConfig with seller "
+      "'https://a.test:*' must be a JSON-serializable object.");
+
   EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
             RunAuctionAndWait(
                 JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  EXPECT_TRUE(console_observer.Wait());
   WaitForAccessObserved({});
 }
 
@@ -3248,9 +3255,97 @@
       interestGroupBuyers: [$1]
   })";
 
+  WebContentsConsoleObserver console_observer(shell()->web_contents());
+  console_observer.SetPattern(
+      "Uncaught (in promise) TypeError: Failed to execute 'runAdAuction' on "
+      "'NavigatorAuction': sellerSignals for AuctionAdConfig with seller "
+      "'https://a.test:*' must be a JSON-serializable object.");
   EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
             RunAuctionAndWait(
                 JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  EXPECT_TRUE(console_observer.Wait());
+  WaitForAccessObserved({});
+}
+
+// Test rejection path in the renderer for promise-delivered perBuyerSignals.
+IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
+                       RunAdAuctionRejectPromisePerBuyerSignals) {
+  GURL test_url = https_server_->GetURL("a.test", "/echo");
+  url::Origin test_origin = url::Origin::Create(test_url);
+  ASSERT_TRUE(NavigateToURL(shell(), test_url));
+  GURL ad_url = https_server_->GetURL("c.test", "/echo?render_cars");
+  GURL decision_url =
+      https_server_->GetURL("a.test", "/interest_group/decision_logic.js");
+  // Note: at present at least one bid must be made for promise checking to
+  // be guaranteed to happen; if the auction is (effectively) empty whether
+  // it happens or not is timing-dependent.
+  EXPECT_EQ(
+      kSuccess,
+      JoinInterestGroupAndVerify(
+          /*owner=*/test_origin,
+          /*name=*/"cars",
+          /*priority=*/0.0,
+          /*execution_mode=*/
+          blink::InterestGroup::ExecutionMode::kCompatibilityMode,
+          /*bidding_url=*/
+          https_server_->GetURL("a.test", "/interest_group/bidding_logic.js"),
+          /*ads=*/{{{ad_url, /*metadata=*/absl::nullopt}}}));
+
+  const char kAuctionConfigTemplate[] = R"({
+      seller: $1,
+      decisionLogicUrl: $2,
+      perBuyerSignals: new Promise((resolve, reject) => { setTimeout(
+          () => { reject('boo'); }, 10) }),
+      interestGroupBuyers: [$1]
+  })";
+
+  EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
+            RunAuctionAndWait(
+                JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  WaitForAccessObserved({});
+}
+
+// Exercise error-handling path in the renderer for promise-delivered
+// perBuyerSignals.
+IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
+                       RunAdAuctionResolvePromiseInvalidPerBuyerSignals) {
+  GURL test_url = https_server_->GetURL("a.test", "/echo");
+  url::Origin test_origin = url::Origin::Create(test_url);
+  ASSERT_TRUE(NavigateToURL(shell(), test_url));
+  GURL ad_url = https_server_->GetURL("c.test", "/echo?render_cars");
+  GURL decision_url =
+      https_server_->GetURL("a.test", "/interest_group/decision_logic.js");
+  // Note: at present at least one bid must be made for promise checking to
+  // be guaranteed to happen; if the auction is (effectively) empty whether
+  // it happens or not is timing-dependent.
+  EXPECT_EQ(
+      kSuccess,
+      JoinInterestGroupAndVerify(
+          /*owner=*/test_origin,
+          /*name=*/"cars",
+          /*priority=*/0.0,
+          /*execution_mode=*/
+          blink::InterestGroup::ExecutionMode::kCompatibilityMode,
+          /*bidding_url=*/
+          https_server_->GetURL("a.test", "/interest_group/bidding_logic.js"),
+          /*ads=*/{{{ad_url, /*metadata=*/absl::nullopt}}}));
+
+  const char kAuctionConfigTemplate[] = R"({
+      seller: $1,
+      decisionLogicUrl: $2,
+      perBuyerSignals: new Promise((resolve, reject) => { setTimeout(
+          () => { resolve(52); }, 10) }),
+      interestGroupBuyers: [$1]
+  })";
+
+  WebContentsConsoleObserver console_observer(shell()->web_contents());
+  console_observer.SetPattern(
+      "Uncaught (in promise) TypeError: Failed to execute 'runAdAuction' on "
+      "'NavigatorAuction': Only objects can be converted to record<K,V> types");
+  EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
+            RunAuctionAndWait(
+                JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  EXPECT_TRUE(console_observer.Wait());
   WaitForAccessObserved({});
 }
 
@@ -3270,6 +3365,90 @@
   WaitForAccessObserved({});
 }
 
+// Test rejection path in the renderer for promise-delivered perBuyerTimeouts.
+IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
+                       RunAdAuctionRejectPromisePerBuyerTimeouts) {
+  GURL test_url = https_server_->GetURL("a.test", "/echo");
+  url::Origin test_origin = url::Origin::Create(test_url);
+  ASSERT_TRUE(NavigateToURL(shell(), test_url));
+  GURL ad_url = https_server_->GetURL("c.test", "/echo?render_cars");
+  GURL decision_url =
+      https_server_->GetURL("a.test", "/interest_group/decision_logic.js");
+  // Note: at present at least one bid must be made for promise checking to
+  // be guaranteed to happen; if the auction is (effectively) empty whether
+  // it happens or not is timing-dependent.
+  EXPECT_EQ(
+      kSuccess,
+      JoinInterestGroupAndVerify(
+          /*owner=*/test_origin,
+          /*name=*/"cars",
+          /*priority=*/0.0,
+          /*execution_mode=*/
+          blink::InterestGroup::ExecutionMode::kCompatibilityMode,
+          /*bidding_url=*/
+          https_server_->GetURL("a.test", "/interest_group/bidding_logic.js"),
+          /*ads=*/{{{ad_url, /*metadata=*/absl::nullopt}}}));
+
+  const char kAuctionConfigTemplate[] = R"({
+      seller: $1,
+      decisionLogicUrl: $2,
+      perBuyerTimeouts: new Promise((resolve, reject) => { setTimeout(
+          () => { reject('boo'); }, 10) }),
+      interestGroupBuyers: [$1]
+  })";
+
+  EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
+            RunAuctionAndWait(
+                JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  WaitForAccessObserved({});
+}
+
+// Exercise error-handling path in the renderer for promise-delivered
+// perBuyerSignals.
+IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
+                       RunAdAuctionResolvePromiseInvalidPerBuyerTimeouts) {
+  GURL test_url = https_server_->GetURL("a.test", "/echo");
+  url::Origin test_origin = url::Origin::Create(test_url);
+  ASSERT_TRUE(NavigateToURL(shell(), test_url));
+  GURL ad_url = https_server_->GetURL("c.test", "/echo?render_cars");
+  GURL decision_url =
+      https_server_->GetURL("a.test", "/interest_group/decision_logic.js");
+  // Note: at present at least one bid must be made for promise checking to
+  // be guaranteed to happen; if the auction is (effectively) empty whether
+  // it happens or not is timing-dependent.
+  EXPECT_EQ(
+      kSuccess,
+      JoinInterestGroupAndVerify(
+          /*owner=*/test_origin,
+          /*name=*/"cars",
+          /*priority=*/0.0,
+          /*execution_mode=*/
+          blink::InterestGroup::ExecutionMode::kCompatibilityMode,
+          /*bidding_url=*/
+          https_server_->GetURL("a.test", "/interest_group/bidding_logic.js"),
+          /*ads=*/{{{ad_url, /*metadata=*/absl::nullopt}}}));
+
+  const char kAuctionConfigTemplate[] = R"({
+      seller: $1,
+      decisionLogicUrl: $2,
+      perBuyerTimeouts: new Promise((resolve, reject) => { setTimeout(
+          () => { resolve({'http://b.com': 52}); }, 10) }),
+      interestGroupBuyers: [$1]
+  })";
+
+  WebContentsConsoleObserver console_observer(shell()->web_contents());
+  console_observer.SetPattern(
+      "Uncaught (in promise) TypeError: Failed to execute 'runAdAuction' on "
+      "'NavigatorAuction': perBuyerTimeouts buyer 'http://b.com' for "
+      "AuctionAdConfig with seller 'https://a.test:*' must be \"*\" (wildcard) "
+      "or a valid https origin.");
+  EXPECT_EQ("Promise argument rejected or resolved to invalid value.",
+            RunAuctionAndWait(
+                JsReplace(kAuctionConfigTemplate, test_origin, decision_url)));
+  EXPECT_TRUE(console_observer.Wait());
+  WaitForAccessObserved({});
+}
+
 IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest,
                        RunAdAuctionInvalidPerBuyerTimeoutsOrigin) {
   ASSERT_TRUE(NavigateToURL(shell(), https_server_->GetURL("a.test", "/echo")));
@@ -7883,7 +8062,7 @@
 function validatePerBuyerSignals(perBuyerSignals) {
   const perBuyerSignalsJson = JSON.stringify(perBuyerSignals);
   if (perBuyerSignalsJson !== '5')
-    throw 'Wrong perBuyerSignas ' + perBuyerSignalsJson;
+    throw 'Wrong perBuyerSignals ' + perBuyerSignalsJson;
 }
 
 function validateTrustedBiddingSignals(trustedBiddingSignals) {
@@ -7912,10 +8091,10 @@
 function validateAuctionConfig(auctionConfig) {
   const auctionSignalsJSON = JSON.stringify(auctionConfig.auctionSignals);
   if (auctionSignalsJSON !== '3')
-    throw 'Wrong auctionSignals ' + auctionConfig.auctionSignalsJSON;
+    throw 'Wrong auctionSignals ' + auctionSignalsJSON;
   const sellerSignalsJSON = JSON.stringify(auctionConfig.sellerSignals);
   if (sellerSignalsJSON !== '4')
-    throw 'Wrong sellerSignals ' + auctionConfig.sellerSignalsJSON;
+    throw 'Wrong sellerSignals ' + sellerSignalsJSON;
   const perBuyerSignalsJson = JSON.stringify(auctionConfig.perBuyerSignals);
   if (!perBuyerSignalsJson.includes('a.test') ||
       !perBuyerSignalsJson.includes('5')) {
@@ -7981,8 +8160,8 @@
   EXPECT_EQ(GURL("https://example.com/render"), observer.mapped_url());
 }
 
-// Test for auctionSignals and sellerSignals being passed to runAdAuction
-// as promises.
+// Test for auctionSignals, perBuyerSignals, and sellerSignals being passed to
+// runAdAuction as promises.
 IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest, PromiseSignals) {
   // These scripts are generated by this test.
   constexpr char kBiddingLogicPath[] =
@@ -8002,6 +8181,8 @@
     interestGroup, auctionSignals, perBuyerSignals, trustedBiddingSignals,
     unusedBrowserSignals) {
   validateAuctionSignals(auctionSignals);
+  if (perBuyerSignals !== 5)
+    throw 'Wrong perBuyerSignals ' + JSON.stringify(perBuyerSignals);
   const ad = interestGroup.ads[0];
   return {'ad': ad, 'bid': 1, 'render': ad.renderUrl};
 }
@@ -8025,10 +8206,22 @@
 function validateAuctionConfig(auctionConfig) {
   const auctionSignalsJSON = JSON.stringify(auctionConfig.auctionSignals);
   if (auctionSignalsJSON !== '3')
-    throw 'Wrong auctionSignals ' + auctionConfig.auctionSignalsJSON;
+    throw 'Wrong auctionSignals ' + auctionSignalsJSON;
   const sellerSignalsJSON = JSON.stringify(auctionConfig.sellerSignals);
   if (sellerSignalsJSON !== '4')
-    throw 'Wrong sellerSignals ' + auctionConfig.sellerSignalsJSON;
+    throw 'Wrong sellerSignals ' + sellerSignalsJSON;
+  let ok = false;
+  const perBuyerSignalsJson = JSON.stringify(auctionConfig.perBuyerSignals);
+  for (key in auctionConfig.perBuyerSignals) {
+    if (key.startsWith("https://a.test")) {
+      ok = (auctionConfig.perBuyerSignals[key] === 5);
+    } else {
+      throw 'Wrong key in perBuyerSignals ' + perBuyerSignalsJson;
+    }
+  }
+  if (!ok) {
+    throw 'Wrong perBuyerSignals ' + perBuyerSignalsJson;
+  }
 }
 )";
 
@@ -8077,7 +8270,10 @@
       setTimeout(
           () => { resolve(4); }, 1)
     }),
-    perBuyerSignals: {$1: 5}
+    perBuyerSignals: new Promise((resolve, reject) => {
+      setTimeout(
+          () => { resolve({$1: 5}); }, 1)
+    })
   });
 })())",
                       test_origin,
@@ -8127,10 +8323,10 @@
 function validateAuctionConfig(auctionConfig) {
   const auctionSignalsJSON = JSON.stringify(auctionConfig.auctionSignals);
   if (auctionSignalsJSON !== '3')
-    throw 'Wrong auctionSignals ' + auctionConfig.auctionSignalsJSON;
+    throw 'Wrong auctionSignals ' + auctionSignalsJSON;
   const sellerSignalsJSON = JSON.stringify(auctionConfig.sellerSignals);
   if (sellerSignalsJSON !== '4')
-    throw 'Wrong sellerSignals ' + auctionConfig.sellerSignalsJSON;
+    throw 'Wrong sellerSignals ' + sellerSignalsJSON;
 }
 )";
 
@@ -8188,8 +8384,8 @@
             EvalJs(shell(), script).error);
 }
 
-// Test for auctionSignals and sellerSignals being passed to runAdAuction
-// as promises... which resolve to nothing.
+// Test for auctionSignals, perBuyerSignals, and sellerSignals being passed to
+// runAdAuction as promises... which resolve to nothing.
 IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest, PromiseSignalsNothing) {
   // These scripts are generated by this test.
   constexpr char kBiddingLogicPath[] =
@@ -8206,6 +8402,8 @@
     unusedBrowserSignals) {
   validateAuctionSignals(auctionSignals);
   const ad = interestGroup.ads[0];
+  if (perBuyerSignals !== null)
+    throw 'perBuyerSignals in generateBid not null!';
   return {'ad': ad, 'bid': 1, 'render': ad.renderUrl};
 }
 
@@ -8229,6 +8427,8 @@
     throw 'Have auctionSignals in scoreAd auctionConfig!';
   if ('sellerSignals' in auctionConfig)
     throw 'Have sellerSignals in scoreAd auctionConfig!';
+  if ('perBuyerSignals' in auctionConfig)
+    throw 'Have perBuyerSignals in scoreAd auctionConfig!';
 }
 )";
 
@@ -8277,7 +8477,117 @@
       setTimeout(
           () => { resolve(undefined); }, 1)
     }),
-    perBuyerSignals: {$1: 5}
+    perBuyerSignals: new Promise((resolve, reject) => {
+      setTimeout(
+          () => { resolve(undefined); }, 1)
+    }),
+  });
+})())",
+                      test_origin,
+                      https_server_->GetURL("a.test", kDecisionLogicPath)))
+               .ExtractString()),
+      &observer);
+
+  EXPECT_EQ(GURL("https://example.com/render"), observer.mapped_url());
+}
+
+// Test for perBuyerTimeouts being passed to runAdAuction as promises.
+IN_PROC_BROWSER_TEST_F(InterestGroupBrowserTest, PromiseBuyerTimeouts) {
+  // These scripts are generated by this test.
+  constexpr char kBiddingLogicPath[] =
+      "/interest_group/test_generated_bidding_argument_validator.js";
+  constexpr char kDecisionLogicPath[] =
+      "/interest_group/test_generated_decision_argument_validator.js";
+  const GURL test_url = https_server_->GetURL("a.test", "/echo");
+  ASSERT_TRUE(NavigateToURL(shell(), test_url));
+  url::Origin test_origin = url::Origin::Create(test_url);
+
+  // In the below JavaScript, if fields are incorrectly passed in as a string
+  // ("2") instead of a number (2), JSON.stringify() will wrap it in another
+  // layer of quotes, causing the test to fail.
+
+  constexpr char kBiddingLogicScript[] = R"(
+function generateBid(
+    interestGroup, auctionSignals, perBuyerSignals, trustedBiddingSignals,
+    unusedBrowserSignals) {
+  const ad = interestGroup.ads[0];
+  return {'ad': ad, 'bid': 1, 'render': ad.renderUrl};
+}
+
+)";
+
+  constexpr char kDecisionLogicScript[] = R"(
+function scoreAd(
+    adMetadata, bid, auctionConfig, unusedTrustedScoringSignals,
+    unusedBrowserSignals) {
+  validateAuctionConfig(auctionConfig);
+  return bid;
+}
+
+function validateAuctionConfig(auctionConfig) {
+  const perBuyerTimeoutsJSON = JSON.stringify(auctionConfig.perBuyerTimeouts);
+  let ok = 0;
+  for (key in auctionConfig.perBuyerTimeouts) {
+    if (key.startsWith("https://a.test") &&
+        auctionConfig.perBuyerTimeouts[key] === 50) {
+      ++ok;
+    } else if (key.startsWith("https://b.test") &&
+        auctionConfig.perBuyerTimeouts[key] === 60) {
+      ++ok;
+    } else if (key === '*' &&
+        auctionConfig.perBuyerTimeouts[key] === 56) {
+      ++ok;
+    } else {
+      throw 'Wrong key in perBuyerTimeouts ' + perBuyerTimeoutsJSON;
+    }
+  }
+  if (ok !== 3) {
+    throw 'Wrong perBuyerTimeouts ' + perBuyerTimeoutsJSON;
+  }
+}
+)";
+
+  network_responder_->RegisterNetworkResponse(
+      kBiddingLogicPath, kBiddingLogicScript, "application/javascript");
+  network_responder_->RegisterNetworkResponse(
+      kDecisionLogicPath, kDecisionLogicScript, "application/javascript");
+
+  EXPECT_EQ(
+      "done",
+      EvalJs(shell(), JsReplace(
+                          R"(
+(async function() {
+  try {
+    await navigator.joinAdInterestGroup(
+        {
+          name: 'cars',
+          owner: $1,
+          biddingLogicUrl: $2,
+          ads: [{renderUrl:"https://example.com/render", metadata:2}],
+        },
+        /*joinDurationSec=*/100);
+  } catch (e) {
+    return e.toString();
+  }
+  return 'done';
+})())",
+                          test_origin,
+                          https_server_->GetURL("a.test", kBiddingLogicPath))));
+
+  TestFencedFrameURLMappingResultObserver observer;
+  ConvertFencedFrameURNToURL(
+      GURL(EvalJs(shell(),
+                  JsReplace(
+                      R"(
+(async function() {
+  return await navigator.runAdAuction({
+    seller: $1,
+    decisionLogicUrl: $2,
+    interestGroupBuyers: [$1],
+    perBuyerTimeouts: new Promise((resolve, reject) => {
+      setTimeout(
+          () => { resolve({$1: 50, 'https://b.test': 60, '*': 56}); }, 1)
+    })
   });
 })())",
                       test_origin,
diff --git a/content/services/auction_worklet/seller_worklet.cc b/content/services/auction_worklet/seller_worklet.cc
index ba5981ab..72bf6bb 100644
--- a/content/services/auction_worklet/seller_worklet.cc
+++ b/content/services/auction_worklet/seller_worklet.cc
@@ -152,10 +152,13 @@
     return false;
   }
 
-  if (auction_ad_config_non_shared_params.per_buyer_signals.has_value()) {
+  DCHECK(!auction_ad_config_non_shared_params.per_buyer_signals.is_promise());
+  if (auction_ad_config_non_shared_params.per_buyer_signals.value()
+          .has_value()) {
     v8::Local<v8::Object> per_buyer_value = v8::Object::New(isolate);
     for (const auto& kv :
-         auction_ad_config_non_shared_params.per_buyer_signals.value()) {
+         auction_ad_config_non_shared_params.per_buyer_signals.value()
+             .value()) {
       if (!v8_helper->InsertJsonValue(context, kv.first.Serialize(), kv.second,
                                       per_buyer_value)) {
         return false;
@@ -165,10 +168,12 @@
   }
 
   v8::Local<v8::Object> per_buyer_timeouts;
-  if (auction_ad_config_non_shared_params.per_buyer_timeouts.has_value()) {
+  DCHECK(!auction_ad_config_non_shared_params.buyer_timeouts.is_promise());
+  const blink::AuctionConfig::BuyerTimeouts& buyer_timeouts =
+      auction_ad_config_non_shared_params.buyer_timeouts.value();
+  if (buyer_timeouts.per_buyer_timeouts.has_value()) {
     per_buyer_timeouts = v8::Object::New(isolate);
-    for (const auto& kv :
-         auction_ad_config_non_shared_params.per_buyer_timeouts.value()) {
+    for (const auto& kv : buyer_timeouts.per_buyer_timeouts.value()) {
       if (!v8_helper->InsertJsonValue(
               context, kv.first.Serialize(),
               base::NumberToString(kv.second.InMilliseconds()),
@@ -177,14 +182,13 @@
       }
     }
   }
-  if (auction_ad_config_non_shared_params.all_buyers_timeout.has_value()) {
+  if (buyer_timeouts.all_buyers_timeout.has_value()) {
     if (per_buyer_timeouts.IsEmpty())
       per_buyer_timeouts = v8::Object::New(isolate);
     if (!v8_helper->InsertJsonValue(
             context, "*",
             base::NumberToString(
-                auction_ad_config_non_shared_params.all_buyers_timeout.value()
-                    .InMilliseconds()),
+                buyer_timeouts.all_buyers_timeout.value().InMilliseconds()),
             per_buyer_timeouts)) {
       return false;
     }
diff --git a/content/services/auction_worklet/seller_worklet_unittest.cc b/content/services/auction_worklet/seller_worklet_unittest.cc
index 164a98b..188801d 100644
--- a/content/services/auction_worklet/seller_worklet_unittest.cc
+++ b/content/services/auction_worklet/seller_worklet_unittest.cc
@@ -2500,15 +2500,18 @@
   per_buyer_signals[url::Origin::Create(GURL("https://b.com"))] =
       R"({"signals_b": "B"})";
   auction_ad_config_non_shared_params_.per_buyer_signals =
-      std::move(per_buyer_signals);
+      blink::AuctionConfig::MaybePromisePerBuyerSignals::FromValue(
+          std::move(per_buyer_signals));
 
-  base::flat_map<url::Origin, base::TimeDelta> per_buyer_timeouts;
-  per_buyer_timeouts[url::Origin::Create(GURL("https://a.com"))] =
+  blink::AuctionConfig::BuyerTimeouts buyer_timeouts;
+  buyer_timeouts.per_buyer_timeouts.emplace();
+  buyer_timeouts.per_buyer_timeouts
+      .value()[url::Origin::Create(GURL("https://a.com"))] =
       base::Milliseconds(100);
-  auction_ad_config_non_shared_params_.per_buyer_timeouts =
-      std::move(per_buyer_timeouts);
-  auction_ad_config_non_shared_params_.all_buyers_timeout =
-      base::Milliseconds(150);
+  buyer_timeouts.all_buyers_timeout = base::Milliseconds(150);
+  auction_ad_config_non_shared_params_.buyer_timeouts =
+      blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+          std::move(buyer_timeouts));
 
   auction_ad_config_non_shared_params_.per_buyer_priority_signals = {
       {url::Origin::Create(GURL("https://a.com")), {{"signals_c", 0.5}}}};
@@ -2576,25 +2579,36 @@
       R"("decisionLogicUrl":"https://example.com/auction.js"})",
       /*expected_report_url=*/absl::nullopt);
 
-  base::flat_map<url::Origin, base::TimeDelta> per_buyer_timeouts;
-  auction_ad_config_non_shared_params_.per_buyer_timeouts =
-      std::move(per_buyer_timeouts);
+  {
+    blink::AuctionConfig::BuyerTimeouts buyer_timeouts;
+    buyer_timeouts.per_buyer_timeouts.emplace();
+    auction_ad_config_non_shared_params_.buyer_timeouts =
+        blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+            std::move(buyer_timeouts));
 
-  RunReportResultCreatedScriptExpectingResult(
-      "auctionConfig", /*extra_code=*/std::string(),
-      R"({"seller":"https://example.com",)"
-      R"("decisionLogicUrl":"https://example.com/auction.js",)"
-      R"("perBuyerTimeouts":{}})",
-      /*expected_report_url=*/absl::nullopt);
+    RunReportResultCreatedScriptExpectingResult(
+        "auctionConfig", /*extra_code=*/std::string(),
+        R"({"seller":"https://example.com",)"
+        R"("decisionLogicUrl":"https://example.com/auction.js",)"
+        R"("perBuyerTimeouts":{}})",
+        /*expected_report_url=*/absl::nullopt);
+  }
 
-  auction_ad_config_non_shared_params_.all_buyers_timeout =
-      base::Milliseconds(150);
-  RunReportResultCreatedScriptExpectingResult(
-      "auctionConfig", /*extra_code=*/std::string(),
-      R"({"seller":"https://example.com",)"
-      R"("decisionLogicUrl":"https://example.com/auction.js",)"
-      R"("perBuyerTimeouts":{"*":150}})",
-      /*expected_report_url=*/absl::nullopt);
+  {
+    blink::AuctionConfig::BuyerTimeouts buyer_timeouts;
+    buyer_timeouts.per_buyer_timeouts.emplace();
+    buyer_timeouts.all_buyers_timeout = base::Milliseconds(150);
+    auction_ad_config_non_shared_params_.buyer_timeouts =
+        blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+            std::move(buyer_timeouts));
+
+    RunReportResultCreatedScriptExpectingResult(
+        "auctionConfig", /*extra_code=*/std::string(),
+        R"({"seller":"https://example.com",)"
+        R"("decisionLogicUrl":"https://example.com/auction.js",)"
+        R"("perBuyerTimeouts":{"*":150}})",
+        /*expected_report_url=*/absl::nullopt);
+  }
 }
 
 TEST_F(SellerWorkletTest, ReportResultExperimentGroupIdParam) {
diff --git a/extensions/common/api/automation.idl b/extensions/common/api/automation.idl
index 74299556..da6930f 100644
--- a/extensions/common/api/automation.idl
+++ b/extensions/common/api/automation.idl
@@ -21,6 +21,7 @@
     atomicChanged,
     autoCompleteChanged,
     autocorrectionOccured,
+    autofillAvailabilityChanged,
     blur,
     busyChanged,
     caretBoundsChanged,
@@ -62,7 +63,7 @@
     labeledByChanged,
     languageChanged,
     layoutComplete,
-    layoutInvalidated,   // fired when aria-busy goes false
+    layoutInvalidated,  // fired when aria-busy goes false
     liveRegionChanged,
     liveRegionCreated,
     liveRegionNodeChanged,  // fired on a node within a live region.
diff --git a/infra/config/generated/luci/cr-buildbucket.cfg b/infra/config/generated/luci/cr-buildbucket.cfg
index c95b6d0..edf423d 100644
--- a/infra/config/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/generated/luci/cr-buildbucket.cfg
@@ -58292,7 +58292,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -58402,7 +58402,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -66687,7 +66687,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -73829,7 +73829,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -77484,7 +77484,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -78355,7 +78355,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -79233,7 +79233,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -79555,7 +79555,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -86309,7 +86309,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
@@ -93785,7 +93785,7 @@
         '  "led_builder_is_bootstrapped": true,'
         '  "recipe": "chromium_trybot"'
         '}'
-      execution_timeout_secs: 14400
+      execution_timeout_secs: 72000
       expiration_secs: 7200
       grace_period {
         seconds: 120
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.android.star b/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
index 62982c8..1fffd7e67 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
@@ -748,9 +748,11 @@
 try_.builder(
     name = "android-code-coverage",
     mirrors = ["ci/android-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.builder(
     name = "android-code-coverage-native",
     mirrors = ["ci/android-code-coverage-native"],
+    execution_timeout = 20 * time.hour,
 )
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star b/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
index e64611f4..a6a8f2a 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
@@ -195,4 +195,5 @@
 try_.builder(
     name = "fuchsia-code-coverage",
     mirrors = ["ci/fuchsia-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star b/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
index dbd8012..6d39cbb 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.linux.star
@@ -733,21 +733,25 @@
 try_.builder(
     name = "linux-code-coverage",
     mirrors = ["ci/linux-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.builder(
     name = "linux-chromeos-code-coverage",
     mirrors = ["ci/linux-chromeos-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.builder(
     name = "linux-lacros-code-coverage",
     mirrors = ["ci/linux-lacros-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.builder(
     name = "linux-js-code-coverage",
     mirrors = ["ci/linux-js-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 # RTS builders
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star b/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
index 2bdb65f..850f62676 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
@@ -303,6 +303,7 @@
 try_.builder(
     name = "mac-code-coverage",
     mirrors = ["ci/mac-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 ios_builder(
@@ -470,6 +471,7 @@
 ios_builder(
     name = "ios-simulator-code-coverage",
     mirrors = ["ci/ios-simulator-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.gpu.optional_tests_builder(
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.win.star b/infra/config/subprojects/chromium/try/tryserver.chromium.win.star
index ee4c4f6..b1812fd 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.win.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.win.star
@@ -267,6 +267,7 @@
 try_.builder(
     name = "win10-code-coverage",
     mirrors = ["ci/win10-code-coverage"],
+    execution_timeout = 20 * time.hour,
 )
 
 try_.gpu.optional_tests_builder(
diff --git a/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb
index e4a7097..7b159def 100644
--- a/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_chromium_strings_ky.xtb
@@ -102,7 +102,7 @@
 <translation id="7357211569052832586">Тандалган дайындар Chromium'дан жана шайкештирилген түзмөктөрдөн өчүрүлдү. Google Аккаунтуңуздун башка Google кызматтарынан алынган серептөө таржымалы history.google.com дарегинде болушу мүмкүн.</translation>
 <translation id="7395825497086981028">Сырсөзүңүз <ph name="EMAIL" /> аккаунту үчүн Google'дун Сырсөздөрдү башкаргычына сакталат.</translation>
 <translation id="7400689562045506105">Chromium'ду каалаган жерден пайдаланыңыз</translation>
-<translation id="7674213385180944843">Жөндөөлөр &gt; Купуялык &gt; Камера &gt; Chromium'ду ачып туруп, камераны иштетиңиз.</translation>
+<translation id="7674213385180944843">Параметрлер &gt; Купуялык &gt; Камера &gt; Chromium'ду ачып туруп, камераны иштетиңиз.</translation>
 <translation id="7746854981345936341">Chromium'дан кеңеш. Артка, Алдыга жана Издөө сыяктуу айрым баскычтар эми экраныңыздын төмөн жагында жайгашкан.</translation>
 <translation id="7763454117143368771">Кооптуу сайттардан коргонуу жана сырсөздөрүңүздү коопсуз сактоо үчүн Chromium'ду демейки серепчи катары колдонуңуз</translation>
 <translation id="7812317783196516890">Аккаунтуңузга кирип, дайын-даректериңизди <ph name="DOMAIN" /> домени тарабынан башкарылган аккаунт менен шайкештирип жатасыз. Домендин администратору колдонуучулар үчүн ошол аккаунтта Chromimum'дун иштөө тартибин өзгөрткөн саясаттарды коё алат.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ky.xtb
index 7f838c1..6407cce 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ky.xtb
@@ -67,7 +67,7 @@
 <translation id="5389212809648216794">Google Chrome камераңызды иштете албайт, себеби аны башка колдонмо пайдаланып жатат</translation>
 <translation id="5460571915754665838">4. Chrome'ду тандаңыз</translation>
 <translation id="5552137475244467770">Chrome Интернетке жарыяланган тизмелерден сырсөздөрүңүздү маал-маалы менен текшерип турат. Мындай учурда сырсөздөрүңүз менен колдонуучу аттарыңыз шифрленет. Аларды эч ким, анын ичинде Google да окуй албайт.</translation>
-<translation id="5639704535586432836">Жөндөөлөр &gt; Купуялык &gt; Камера &gt; Google Chrome'ду ачып туруп, камераны иштетиңиз.</translation>
+<translation id="5639704535586432836">Параметрлер &gt; Купуялык &gt; Камера &gt; Google Chrome'ду ачып туруп, камераны иштетиңиз.</translation>
 <translation id="5642200033778930880">Экранды бөлүп көрсөтүү режиминде Google Chrome камераны иштете албайт</translation>
 <translation id="5690427481109656848">Google LLC</translation>
 <translation id="571296537125272375">Оффлайнсыз. Chrome жаңыртууларды текшере алган жок.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index eb68c2a..3e6ccd46 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -12,7 +12,7 @@
 
         
 Издөө каражатыңыз: <ph name="DSE_NAME" />. Издөө таржымалын өчүрүү үчүн издөө каражатындагы нускамаларды (бар болсо) караңыз.</translation>
-<translation id="1054045277222934172">Жөндөөлөр, андан соң Контент жөндөөлөрү бөлүмүнө өтүп, сайттын демейки көрүнүшүн иш тактага өзгөртсөңүз болот</translation>
+<translation id="1054045277222934172">Параметрлер, андан соң Контент жөндөөлөрү бөлүмүнө өтүп, сайттын демейки көрүнүшүн иш тактага өзгөртсөңүз болот</translation>
 <translation id="1054745118061919935">Улантуу менен, <ph name="BEGIN_LINK" />Тейлөө шарттарына<ph name="END_LINK" /> макул болосуз.</translation>
 <translation id="1063454504051558093">Башка сырсөздү колдонуу…</translation>
 <translation id="1066060668811609597">Шайкештирүүнү башкаруу</translation>
@@ -416,7 +416,7 @@
 <translation id="411254640334432676">Жүктөлүп алынбай калды.</translation>
 <translation id="4112644173421521737">Издөө</translation>
 <translation id="4113030288477039509">Администраторуңуз башкарат</translation>
-<translation id="4121993058175073134">Накта экспорт дайындарын жөнөтүү үчүн, электрондук почта аккаунтуңузду Жөндөөлөр колдонмосунан конфигурациялаңыз.</translation>
+<translation id="4121993058175073134">Накта экспорт дайындарын жөнөтүү үчүн, электрондук почта аккаунтуңузду Параметрлер колдонмосунан конфигурациялаңыз.</translation>
 <translation id="4124987746317609294">Убакыт аралыгы</translation>
 <translation id="4133265950310064865">Жакшыртылган коргоо</translation>
 <translation id="4148023517926189160">Бул вебсайт файлды жүктөп алып, жылнаамаңызга кошкону жатат.</translation>
@@ -456,7 +456,7 @@
 <translation id="4462491365653392320">Бааларга өтмөктөрдө көз салуу</translation>
 <translation id="4469418912670346607">Жөндөөнү улантуу</translation>
 <translation id="4474494258097106883">iPhone үчүн түзүлгөн</translation>
-<translation id="4476574785019001431">Жөндөөлөр</translation>
+<translation id="4476574785019001431">Параметрлер</translation>
 <translation id="448433063499977729">Шайкештирүү өчүрүлгөн</translation>
 <translation id="4496373720959965247">Өтмөктөрдү кошуп, барактарды которуштуруңуз</translation>
 <translation id="4502566650163919158">Азыр текшерүү</translation>
@@ -628,7 +628,7 @@
 <translation id="5738887413654608789">Бул айланаңыздагы колдонмолордун негизинде ылайыктуу веб беттерди таап берет.</translation>
 <translation id="5745916533876677730">Мурунку өтмөккө өтүү</translation>
 <translation id="5758631781033351321">Окула тургандардын тизмесин ушул жерден табасыз</translation>
-<translation id="5765456154762864099">Меню → Жөндөөлөр → Демейки серепчи</translation>
+<translation id="5765456154762864099">Меню → Параметрлер → Демейки серепчи</translation>
 <translation id="5782227691023083829">Которулууда...</translation>
 <translation id="5791632441210678828">Жазылуу түрмөгүн иреттөө баскычы.</translation>
 <translation id="5802829331520313983">Жөндөө…</translation>
@@ -999,9 +999,9 @@
 <translation id="8386068868580335421">Кайра коюу</translation>
 <translation id="8407669440184693619">Бул сайт үчүн бир да сырсөз табылган жок</translation>
 <translation id="842017693807136194">Төмөнкү дайындар менен кирүү:</translation>
-<translation id="8427613705947111202">Меню → Жөндөөлөр → Сырсөздөр</translation>
+<translation id="8427613705947111202">Меню → Параметрлер → Сырсөздөр</translation>
 <translation id="8428045167754449968">Шаар/Шаарча</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8428634594422941299">Түшүнүктүү</translation>
 <translation id="8446884382197647889">Көбүрөөк билүү</translation>
 <translation id="8458397775385147834">1 нерсе өчүрүлдү</translation>
@@ -1025,7 +1025,7 @@
 <translation id="8591976964826315682">Жашыруун режимде үчүнчү тараптын cookie файлдарын бөгөттөө</translation>
 <translation id="8605219856220328675">Өтмөктү жабуу.</translation>
 <translation id="8620640915598389714">Түзөтүү</translation>
-<translation id="8626393685701737946">Жөндөөлөр &gt; Контент жөндөөлөрү бөлүмүнө өтүп, сайттын демейки көрүнүшүн иш тактага өзгөртсөңүз болот</translation>
+<translation id="8626393685701737946">Параметрлер &gt; Контент жөндөөлөрү бөлүмүнө өтүп, сайттын демейки көрүнүшүн иш тактага өзгөртсөңүз болот</translation>
 <translation id="8636825310635137004">Өтмөктөрүңүздү башка түзмөктөрүңүздөн алуу үчүн шайкештирүүнү күйгүзүңүз.</translation>
 <translation id="8654802032646794042">Жокко чыгаруу</translation>
 <translation id="8668210798914567634">Бул барак Окуу тизмеңизге сакталды.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index f0d4644..520b0c0c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -145,6 +145,7 @@
 <translation id="2015722694326466240">ເພື່ອເບິ່ງລະຫັດຜ່ານ, ກ່ອນອື່ນທາງຕ້ອງຕັ້ງລະຫັດຜ່ານໃນອຸປະກອນຂອງທ່ານ.</translation>
 <translation id="2021670401941426298">ກະລຸນາອ່ານຄຳແນະນຳຂອງໂປຣແກຣມຊອກຫາຂອງທ່ານສຳລັບວິທີການລຶບປະຫວັດການຊອກຫາ, ຖ້າມີ.</translation>
 <translation id="202292859882676807">ອະນຸຍາດສິດເຂົ້າເຖິງໄມໂຄຣໂຟນແລ້ວ</translation>
+<translation id="20485545164632846">ລາຍການໃໝ່</translation>
 <translation id="2050196510205866090">{count,plural, =1{ວິທີການຈ່າຍເງິນທີ່ບັນທຶກໄວ້ {count} ລາຍການຈະສາມາດໃຊ້ໄດ້ຢູ່ທາງເທິງແປ້ນພິມຂອງທ່ານ.}other{ວິທີການຈ່າຍເງິນທີ່ບັນທຶກໄວ້ {count} ລາຍການຈະສາມາດໃຊ້ໄດ້ຢູ່ທາງເທິງແປ້ນພິມຂອງທ່ານ.}}</translation>
 <translation id="2073572773299281212">ນຳໃຊ້ເມື່ອ <ph name="DAYS" /> ກ່ອນ</translation>
 <translation id="2074131957428911366">ທ່ານສາມາດເລືອກສິ່ງທີ່ຈະຊິ້ງຂໍ້ມູນໄດ້ໃນ <ph name="BEGIN_LINK" />ການຕັ້ງຄ່າ<ph name="END_LINK" />.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
index 7d9281b..cb61212 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -145,6 +145,7 @@
 <translation id="2015722694326466240">如要查看密碼,您必須先在裝置上設定密碼。</translation>
 <translation id="2021670401941426298">建議您查看搜尋引擎的搜尋記錄刪除指示 (如有)。</translation>
 <translation id="202292859882676807">已允許存取麥克風</translation>
+<translation id="20485545164632846">新項目</translation>
 <translation id="2050196510205866090">{count,plural, =1{有 {count} 個可以用嘅付款方法儲存咗喺鍵盤上面。}other{有 {count} 個可以用嘅付款方法儲存咗喺鍵盤上面。}}</translation>
 <translation id="2073572773299281212">曾於 <ph name="DAYS" /> 天前在線</translation>
 <translation id="2074131957428911366">您隨時可在<ph name="BEGIN_LINK" />設定<ph name="END_LINK" />中選擇要同步的資料。</translation>
diff --git a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
index 07ef394..637896f 100644
--- a/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
+++ b/ios/google_internal/frameworks/ChromeInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@
-21c64dda0793db20ef6c6b96d49279a3100ef055
\ No newline at end of file
+d3331df465976bc7bb089170db18ee6155db669c
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1 b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
index 372fe41..b2ca17ca 100644
--- a/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
+++ b/ios/google_internal/frameworks/ChromeSSOInternal.framework.dSYM.ios.zip.sha1
@@ -1 +1 @@
-9557c715e337d235b8613cfa81e0e04d0f080203
\ No newline at end of file
+f7aaededcaa20d3df54854c404e35034879f4fa2
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
index b1b7d1f..4db6842d 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-7161db71bb8d9bd04ad51dbfd5b0bf65c958d224
\ No newline at end of file
+3056dd83081f17153ea297a6ccbfc193da84dc48
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
index 28ab63b46..debd579 100644
--- a/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-536115cdaa3e3142df06dfa0852144afa0603c65
\ No newline at end of file
+2e9f662686b8c8d0d609f3d4c5bf53921d787b37
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
index 959fe55..1a7f206 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-02df12abd9791f3014607620f20232561536e264
\ No newline at end of file
+0e4cabff7e1a2e442e71341d75ad300dcffc9bf1
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
index e246b97e..6eccf20 100644
--- a/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_sso_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-50f4f2864b8b352bdb1d535a512e6664ce5dd8bd
\ No newline at end of file
+8dcd6f1f278f3236e9de43e68364c4fe59e7c861
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
index 24f1454..8b802358 100644
--- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-1cec94c5dc5356f356338c60f8978f6a0e279ee7
\ No newline at end of file
+8fd4ecf8e81ff88101cad419bae4a8364d7a7339
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
index ff91a63..1be95b99 100644
--- a/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/chrome_test_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-d97698c1de504928deb20c8f884545adb38b6c15
\ No newline at end of file
+1a5fc17edcf152993d66963c3be8c6ed7bc8a84f
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
index 2f2bb2e4..bd241d5 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-320fd2b4d03fabac1f87ffe1410e97ce5bd97e90
\ No newline at end of file
+65a5c25a1a29adeda6f5539e5e8518a5e9aaf34b
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
index e93f334b..b2c42c4 100644
--- a/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/remoting_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-d7e4c313df1f6d10559a3b7c1d6952188b517655
\ No newline at end of file
+943a9a958038ea829aff7da5b3ccec5b37b55d82
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
index af410bf..e9d5a6c0 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.ios.zip.sha1
@@ -1 +1 @@
-d18b6158ac6fa60125f81cd5056defe029f72c56
\ No newline at end of file
+46043d445b166fa903b5b6fbee6434ad459fa0c9
\ No newline at end of file
diff --git a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1 b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
index efdf516..6545273 100644
--- a/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
+++ b/ios/google_internal/frameworks/web_view_shell_internal_dynamic_framework.iossimulator.zip.sha1
@@ -1 +1 @@
-f8fa4de0ffc701c6c8347147238e2f8881e8ee10
\ No newline at end of file
+5a2fba2e60ff61c36250b15714a3dd28841848ce
\ No newline at end of file
diff --git a/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.cc b/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.cc
index 5a25bf0d..c5748108 100644
--- a/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.cc
@@ -18,6 +18,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/numerics/safe_conversions.h"
 #include "base/sequence_checker.h"
+#include "base/task/sequenced_task_runner.h"
 #include "base/task/single_thread_task_runner.h"
 #include "base/task/thread_pool.h"
 #include "base/thread_annotations.h"
@@ -501,9 +502,7 @@
 
 VaapiJpegEncodeAccelerator::VaapiJpegEncodeAccelerator(
     scoped_refptr<base::SingleThreadTaskRunner> io_task_runner)
-    : io_task_runner_(std::move(io_task_runner)),
-      encoder_thread_("VaapiJpegEncoderThread"),
-      weak_this_factory_(this) {
+    : io_task_runner_(std::move(io_task_runner)), weak_this_factory_(this) {
   DCHECK(io_task_runner_->BelongsToCurrentThread());
   VLOGF(2);
   weak_this_ = weak_this_factory_.GetWeakPtr();
@@ -518,7 +517,6 @@
   if (encoder_task_runner_) {
     encoder_task_runner_->DeleteSoon(FROM_HERE, std::move(encoder_));
   }
-  encoder_thread_.Stop();
 }
 
 void VaapiJpegEncodeAccelerator::NotifyError(int32_t task_id, Status status) {
@@ -544,18 +542,15 @@
   DCHECK(io_task_runner_->BelongsToCurrentThread());
   client_ = client;
 
-  // Bind to |io_task_runner| to guarantee |init_cb| is called asynchronously.
-  init_cb = BindToCurrentLoop(std::move(init_cb));
-  if (!encoder_thread_.Start()) {
-    VLOGF(1) << "Failed to start encoding thread.";
-    std::move(init_cb).Run(THREAD_CREATION_FAILED);
-    return;
-  }
-  encoder_task_runner_ = encoder_thread_.task_runner();
+  encoder_task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(
+      {base::TaskPriority::BEST_EFFORT});
   DCHECK(encoder_task_runner_);
 
   encoder_ = std::make_unique<Encoder>();
 
+  // base::Unretained(encoder_) is safe because |encoder_| is passed to
+  // and destroyed on |encoder_task_runner_| in destructor. Thus |encoder_| is
+  // outlive any task that has been posted by |this|.
   encoder_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(
@@ -569,7 +564,7 @@
               io_task_runner_,
               base::BindRepeating(&VaapiJpegEncodeAccelerator::NotifyError,
                                   weak_this_)),
-          std::move(init_cb)));
+          BindToCurrentLoop(std::move(init_cb))));
 }
 
 size_t VaapiJpegEncodeAccelerator::GetMaxCodedBufferSize(
@@ -633,6 +628,9 @@
       task_id, std::move(video_frame), std::move(exif_mapping),
       std::move(output_mapping), quality);
 
+  // base::Unretained(encoder_) is safe because |encoder_| is passed to
+  // and destroyed on |encoder_task_runner_| in destructor. Thus |encoder_| is
+  // outlive any task that has been posted by |this|.
   encoder_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&VaapiJpegEncodeAccelerator::Encoder::EncodeTask,
@@ -686,6 +684,9 @@
     }
   }
 
+  // base::Unretained(encoder_) is safe because |encoder_| is passed to
+  // and destroyed on |encoder_task_runner_| in destructor. Thus |encoder_| is
+  // outlive any task that has been posted by |this|.
   encoder_task_runner_->PostTask(
       FROM_HERE,
       base::BindOnce(&VaapiJpegEncodeAccelerator::Encoder::EncodeWithDmaBufTask,
diff --git a/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.h b/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.h
index ee9560a..f2b593f3 100644
--- a/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.h
+++ b/media/gpu/vaapi/vaapi_jpeg_encode_accelerator.h
@@ -9,13 +9,17 @@
 
 #include "base/memory/shared_memory_mapping.h"
 #include "base/memory/weak_ptr.h"
-#include "base/task/single_thread_task_runner.h"
 #include "base/threading/thread.h"
 #include "components/chromeos_camera/jpeg_encode_accelerator.h"
 #include "media/base/bitstream_buffer.h"
 #include "media/gpu/media_gpu_export.h"
 #include "media/gpu/vaapi/vaapi_wrapper.h"
 
+namespace base {
+class SingleThreadTaskRunner;
+class SequencedTaskRunner;
+}  // namespace base
+
 namespace media {
 
 // Class to provide JPEG encode acceleration for Intel systems with hardware
@@ -95,11 +99,8 @@
   // The client of this class.
   Client* client_ = nullptr;
 
-  base::Thread encoder_thread_;
-
-  // Use this to post tasks to encoder thread.
-  scoped_refptr<base::SingleThreadTaskRunner> encoder_task_runner_;
-
+  // The task runner on which the functions of |encoder_| are executed.
+  scoped_refptr<base::SequencedTaskRunner> encoder_task_runner_;
   std::unique_ptr<Encoder> encoder_;
 
   // |weak_this_| is used to post tasks from |encoder_task_runner_| to
diff --git a/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc b/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
index b139689..de9a647 100644
--- a/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.cc
@@ -88,68 +88,85 @@
 
 }  // namespace
 
-void VaapiMjpegDecodeAccelerator::NotifyError(int32_t task_id, Error error) {
-  if (!io_task_runner_->BelongsToCurrentThread()) {
-    io_task_runner_->PostTask(
-        FROM_HERE,
-        base::BindOnce(&VaapiMjpegDecodeAccelerator::NotifyError,
-                       weak_this_factory_.GetWeakPtr(), task_id, error));
-    return;
-  }
-  VLOGF(1) << "Notifying of error " << error;
-  // |error| shouldn't be NO_ERRORS because successful decodes should be handled
-  // by VideoFrameReady().
-  DCHECK_NE(chromeos_camera::MjpegDecodeAccelerator::Error::NO_ERRORS, error);
-  ReportToVAJDAResponseToClientUMA(error);
-  DCHECK(client_);
-  client_->NotifyError(task_id, error);
+class VaapiMjpegDecodeAccelerator::Decoder final {
+ public:
+  Decoder(base::RepeatingCallback<void(int32_t task_id)> video_frame_ready_cb,
+          base::RepeatingCallback<void(int32_t task_id, Error)> error_cb);
+  ~Decoder();
+
+  void Initialize(chromeos_camera::MjpegDecodeAccelerator::InitCB init_cb);
+
+  // Processes one decode request.
+  void DecodeFromShmTask(int32_t task_id,
+                         base::WritableSharedMemoryMapping mapping,
+                         scoped_refptr<VideoFrame> dst_frame);
+  void DecodeFromDmaBufTask(int32_t task_id,
+                            base::ScopedFD src_dmabuf_fd,
+                            size_t src_size,
+                            off_t src_offset,
+                            scoped_refptr<VideoFrame> dst_frame);
+
+ private:
+  // Decodes the JPEG in |src_image| into |dst_frame| and notifies the client
+  // when finished or when an error occurs.
+  void DecodeImpl(int32_t task_id,
+                  base::span<const uint8_t> src_image,
+                  scoped_refptr<VideoFrame> dst_frame);
+
+  void OnImageProcessorError();
+  // Creates |image_processor_| for converting |src_frame| into |dst_frame|.
+  void CreateImageProcessor(const VideoFrame* src_frame,
+                            const VideoFrame* dst_frame);
+
+  // Puts contents of |surface| within |crop_rect| into given |video_frame|
+  // using VA-API Video Processing Pipeline (VPP), and passes the |task_id| of
+  // the resulting picture to client for output.
+  bool OutputPictureVpp(int32_t task_id,
+                        const ScopedVASurface* surface,
+                        scoped_refptr<VideoFrame> video_frame,
+                        const gfx::Rect& crop_rect);
+
+  // Puts contents of |image| within |crop_rect| into the given |video_frame|
+  // using libyuv, and passes the |task_id| of the resulting picture to client
+  // for output.
+  bool OutputPictureLibYuv(int32_t task_id,
+                           std::unique_ptr<ScopedVAImage> image,
+                           scoped_refptr<VideoFrame> video_frame,
+                           const gfx::Rect& crop_rect);
+
+  const base::RepeatingCallback<void(int32_t task_id)> video_frame_ready_cb_;
+  const base::RepeatingCallback<void(int32_t task_id, Error)> error_cb_;
+
+  std::unique_ptr<media::VaapiJpegDecoder> decoder_
+      GUARDED_BY_CONTEXT(decoder_sequence_checker_);
+  // VaapiWrapper for VPP context. This is used to convert decoded data into
+  // client buffer.
+  scoped_refptr<VaapiWrapper> vpp_vaapi_wrapper_
+      GUARDED_BY_CONTEXT(decoder_sequence_checker_);
+  // Image processor to convert the decoded frame into client buffer when VA-API
+  // is not capable.
+  std::unique_ptr<ImageProcessorBackend> image_processor_
+      GUARDED_BY_CONTEXT(decoder_sequence_checker_);
+
+  SEQUENCE_CHECKER(decoder_sequence_checker_);
+};
+
+VaapiMjpegDecodeAccelerator::Decoder::Decoder(
+    base::RepeatingCallback<void(int32_t task_id)> video_frame_ready_cb,
+    base::RepeatingCallback<void(int32_t task_id, Error)> error_cb)
+    : video_frame_ready_cb_(std::move(video_frame_ready_cb)),
+      error_cb_(std::move(error_cb)) {
+  // Decoder is constructed on |io_task_runner_|.
+  DETACH_FROM_SEQUENCE(decoder_sequence_checker_);
 }
 
-void VaapiMjpegDecodeAccelerator::VideoFrameReady(int32_t task_id) {
-  DCHECK(io_task_runner_->BelongsToCurrentThread());
-  ReportToVAJDAResponseToClientUMA(
-      chromeos_camera::MjpegDecodeAccelerator::Error::NO_ERRORS);
-  client_->VideoFrameReady(task_id);
+VaapiMjpegDecodeAccelerator::Decoder::~Decoder() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
 }
 
-VaapiMjpegDecodeAccelerator::VaapiMjpegDecodeAccelerator(
-    const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
-    : io_task_runner_(io_task_runner),
-      client_(nullptr),
-      decoder_thread_("VaapiMjpegDecoderThread"),
-      weak_this_factory_(this) {
-  DCHECK(io_task_runner_->BelongsToCurrentThread());
-}
-
-// Some members expect to be destroyed on the |decoder_thread_|.
-void VaapiMjpegDecodeAccelerator::CleanUpOnDecoderThread() {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
-  DCHECK(vpp_vaapi_wrapper_->HasOneRef());
-  vpp_vaapi_wrapper_.reset();
-  decoder_.reset();
-  image_processor_.reset();
-}
-
-VaapiMjpegDecodeAccelerator::~VaapiMjpegDecodeAccelerator() {
-  DCHECK(io_task_runner_->BelongsToCurrentThread());
-  VLOGF(2) << "Destroying VaapiMjpegDecodeAccelerator";
-  weak_this_factory_.InvalidateWeakPtrs();
-
-  if (decoder_task_runner_) {
-    // base::Unretained() is fine here because we control |decoder_task_runner_|
-    // lifetime.
-    decoder_task_runner_->PostTask(
-        FROM_HERE,
-        base::BindOnce(&VaapiMjpegDecodeAccelerator::CleanUpOnDecoderThread,
-                       base::Unretained(this)));
-  }
-  decoder_thread_.Stop();
-}
-
-void VaapiMjpegDecodeAccelerator::InitializeOnDecoderTaskRunner(
+void VaapiMjpegDecodeAccelerator::Decoder::Initialize(
     chromeos_camera::MjpegDecodeAccelerator::InitCB init_cb) {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
-
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
   decoder_ = std::make_unique<media::VaapiJpegDecoder>();
   if (!decoder_->Initialize(base::BindRepeating(
           &ReportVaapiErrorToUMA,
@@ -180,47 +197,163 @@
   std::move(init_cb).Run(true);
 }
 
-void VaapiMjpegDecodeAccelerator::InitializeOnTaskRunner(
-    chromeos_camera::MjpegDecodeAccelerator::Client* client,
-    chromeos_camera::MjpegDecodeAccelerator::InitCB init_cb) {
-  DCHECK(io_task_runner_->BelongsToCurrentThread());
-  client_ = client;
+void VaapiMjpegDecodeAccelerator::Decoder::DecodeFromShmTask(
+    int32_t task_id,
+    base::WritableSharedMemoryMapping mapping,
+    scoped_refptr<VideoFrame> dst_frame) {
+  DVLOGF(4);
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
+  TRACE_EVENT0("jpeg", __func__);
 
-  if (!decoder_thread_.Start()) {
-    VLOGF(1) << "Failed to start decoding thread.";
-    std::move(init_cb).Run(false);
+  auto src_image = mapping.GetMemoryAsSpan<uint8_t>();
+  DecodeImpl(task_id, src_image, std::move(dst_frame));
+}
+
+void VaapiMjpegDecodeAccelerator::Decoder::DecodeFromDmaBufTask(
+    int32_t task_id,
+    base::ScopedFD src_dmabuf_fd,
+    size_t src_size,
+    off_t src_offset,
+    scoped_refptr<VideoFrame> dst_frame) {
+  DVLOGF(4);
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
+  TRACE_EVENT0("jpeg", __func__);
+
+  // The DMA-buf FD should be mapped as read-only since it may only have read
+  // permission, e.g. when it comes from camera driver.
+  DCHECK(src_dmabuf_fd.is_valid());
+  DCHECK_GT(src_size, 0u);
+  void* src_addr = mmap(nullptr, src_size, PROT_READ, MAP_SHARED,
+                        src_dmabuf_fd.get(), src_offset);
+  if (src_addr == MAP_FAILED) {
+    VPLOGF(1) << "Failed to map input DMA buffer";
+    error_cb_.Run(task_id, UNREADABLE_INPUT);
     return;
   }
-  decoder_task_runner_ = decoder_thread_.task_runner();
+  base::span<const uint8_t> src_image =
+      base::make_span(static_cast<const uint8_t*>(src_addr), src_size);
 
-  // base::Unretained() is fine here because we control |decoder_task_runner_|
-  // lifetime.
-  decoder_task_runner_->PostTask(
-      FROM_HERE,
-      base::BindOnce(
-          &VaapiMjpegDecodeAccelerator::InitializeOnDecoderTaskRunner,
-          base::Unretained(this), std::move(init_cb)));
+  DecodeImpl(task_id, src_image, std::move(dst_frame));
+
+  const int ret = munmap(src_addr, src_size);
+  DPCHECK(ret == 0);
 }
 
-void VaapiMjpegDecodeAccelerator::InitializeAsync(
-    chromeos_camera::MjpegDecodeAccelerator::Client* client,
-    chromeos_camera::MjpegDecodeAccelerator::InitCB init_cb) {
-  VLOGF(2);
-  DCHECK(io_task_runner_->BelongsToCurrentThread());
+void VaapiMjpegDecodeAccelerator::Decoder::DecodeImpl(
+    int32_t task_id,
+    base::span<const uint8_t> src_image,
+    scoped_refptr<VideoFrame> dst_frame) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
+  VaapiImageDecodeStatus status = decoder_->Decode(src_image);
+  if (status != VaapiImageDecodeStatus::kSuccess) {
+    VLOGF(1) << "Failed to decode JPEG image";
+    error_cb_.Run(task_id, VaapiJpegDecodeStatusToError(status));
+    return;
+  }
+  const ScopedVASurface* surface = decoder_->GetScopedVASurface();
+  DCHECK(surface);
+  DCHECK(surface->IsValid());
 
-  // To guarantee that the caller receives an asynchronous call after the
-  // return path, we are making use of InitializeOnTaskRunner.
-  io_task_runner_->PostTask(
-      FROM_HERE,
-      base::BindOnce(&VaapiMjpegDecodeAccelerator::InitializeOnTaskRunner,
-                     weak_this_factory_.GetWeakPtr(), client,
-                     BindToCurrentLoop(std::move(init_cb))));
+  // For camera captures, we assume that the visible size is the same as the
+  // coded size.
+  if (dst_frame->visible_rect().size() != dst_frame->coded_size() ||
+      dst_frame->visible_rect().x() != 0 ||
+      dst_frame->visible_rect().y() != 0) {
+    VLOGF(1)
+        << "The video frame visible size should be the same as the coded size";
+    error_cb_.Run(task_id, INVALID_ARGUMENT);
+    return;
+  }
+
+  // Note that |surface->size()| is the visible size of the JPEG image. The
+  // underlying VASurface size (coded size) can be larger because of alignments.
+  if (surface->size().width() < dst_frame->visible_rect().width() ||
+      surface->size().height() < dst_frame->visible_rect().height()) {
+    VLOGF(1) << "Invalid JPEG image and video frame sizes: "
+             << surface->size().ToString() << ", "
+             << dst_frame->visible_rect().size().ToString();
+    error_cb_.Run(task_id, INVALID_ARGUMENT);
+    return;
+  }
+
+  // For DMA-buf backed |dst_frame|, we will import it as a VA surface and use
+  // VPP to convert the decoded |surface| into it, if the formats and sizes are
+  // supported.
+  const auto dst_frame_fourcc =
+      Fourcc::FromVideoPixelFormat(dst_frame->format());
+  if (!dst_frame_fourcc) {
+    VLOGF(1) << "Unsupported video frame format: " << dst_frame->format();
+    error_cb_.Run(task_id, PLATFORM_FAILURE);
+    return;
+  }
+
+  const auto dst_frame_va_fourcc = dst_frame_fourcc->ToVAFourCC();
+  if (!dst_frame_va_fourcc) {
+    VLOGF(1) << "Unsupported video frame format: " << dst_frame->format();
+    error_cb_.Run(task_id, PLATFORM_FAILURE);
+    return;
+  }
+
+  // Crop and scale the decoded image into |dst_frame|.
+  // The VPP is known to have some problems with odd-sized buffers, so we
+  // request a crop rectangle whose dimensions are aligned to 2.
+  const gfx::Rect crop_rect = CropSizeForScalingToTarget(
+      surface->size(), dst_frame->visible_rect().size(), /*alignment=*/2u);
+  if (crop_rect.IsEmpty()) {
+    VLOGF(1) << "Failed to calculate crop rectangle for "
+             << surface->size().ToString() << " to "
+             << dst_frame->visible_rect().size().ToString();
+    error_cb_.Run(task_id, PLATFORM_FAILURE);
+    return;
+  }
+
+  // TODO(kamesan): move HasDmaBufs() to DCHECK when we deprecate
+  // shared-memory-backed video frame.
+  // Check all the sizes involved until we figure out the definition of min/max
+  // resolutions in the VPP profile (b/195312242).
+  if (dst_frame->HasDmaBufs() &&
+      VaapiWrapper::IsVppResolutionAllowed(surface->size()) &&
+      VaapiWrapper::IsVppResolutionAllowed(crop_rect.size()) &&
+      VaapiWrapper::IsVppResolutionAllowed(dst_frame->visible_rect().size()) &&
+      VaapiWrapper::IsVppSupportedForJpegDecodedSurfaceToFourCC(
+          surface->format(), *dst_frame_va_fourcc)) {
+    if (!OutputPictureVpp(task_id, surface, std::move(dst_frame), crop_rect)) {
+      VLOGF(1) << "Output picture using VPP failed";
+      error_cb_.Run(task_id, PLATFORM_FAILURE);
+    }
+    return;
+  }
+
+  // Fallback to do conversion by libyuv. This happens when:
+  // 1. |dst_frame| is backed by shared memory.
+  // 2. VPP doesn't support the format conversion. This is intended for AMD
+  //    VAAPI driver whose VPP only supports converting decoded 4:2:0 JPEGs.
+  std::unique_ptr<ScopedVAImage> image =
+      decoder_->GetImage(*dst_frame_va_fourcc, &status);
+  if (status != VaapiImageDecodeStatus::kSuccess) {
+    error_cb_.Run(task_id, VaapiJpegDecodeStatusToError(status));
+    return;
+  }
+  DCHECK_EQ(image->image()->width, surface->size().width());
+  DCHECK_EQ(image->image()->height, surface->size().height());
+  if (!OutputPictureLibYuv(task_id, std::move(image), std::move(dst_frame),
+                           crop_rect)) {
+    VLOGF(1) << "Output picture using libyuv failed";
+    error_cb_.Run(task_id, PLATFORM_FAILURE);
+  }
 }
 
-void VaapiMjpegDecodeAccelerator::CreateImageProcessor(
+void VaapiMjpegDecodeAccelerator::Decoder::OnImageProcessorError() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
+  VLOGF(1) << "Failed to process frames using the libyuv image processor";
+  error_cb_.Run(kInvalidTaskId, PLATFORM_FAILURE);
+  image_processor_.reset();
+}
+
+void VaapiMjpegDecodeAccelerator::Decoder::CreateImageProcessor(
     const VideoFrame* src_frame,
     const VideoFrame* dst_frame) {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
 
   // The fourcc of |src_frame| will be either Fourcc(YUYV) or Fourcc(YU12) based
   // on the implementation of OutputPictureLibYuvOnTaskRunner(). The fourcc of
@@ -247,17 +380,18 @@
   image_processor_ = LibYUVImageProcessorBackend::Create(
       input_config, output_config, ImageProcessorBackend::OutputMode::IMPORT,
       VIDEO_ROTATION_0,
-      base::BindRepeating(&VaapiMjpegDecodeAccelerator::OnImageProcessorError,
-                          base::Unretained(this)),
-      decoder_task_runner_);
+      base::BindRepeating(
+          &VaapiMjpegDecodeAccelerator::Decoder::OnImageProcessorError,
+          base::Unretained(this)),
+      base::SequencedTaskRunner::GetCurrentDefault());
 }
 
-bool VaapiMjpegDecodeAccelerator::OutputPictureLibYuvOnTaskRunner(
+bool VaapiMjpegDecodeAccelerator::Decoder::OutputPictureLibYuv(
     int32_t task_id,
     std::unique_ptr<ScopedVAImage> scoped_image,
     scoped_refptr<VideoFrame> video_frame,
     const gfx::Rect& crop_rect) {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
 
   TRACE_EVENT1("jpeg", __func__, "task_id", task_id);
 
@@ -325,29 +459,21 @@
   image_processor_->Process(
       std::move(src_frame), std::move(video_frame),
       base::BindOnce(
-          [](scoped_refptr<base::SingleThreadTaskRunner> runner,
-             base::OnceClosure cb, scoped_refptr<VideoFrame> frame) {
-            runner->PostTask(FROM_HERE, std::move(cb));
+          [](base::RepeatingCallback<void(int32_t task_id)>
+                 video_frame_ready_cb,
+             int32_t task_id, scoped_refptr<VideoFrame> frame) {
+            video_frame_ready_cb.Run(task_id);
           },
-          io_task_runner_,
-          base::BindOnce(&VaapiMjpegDecodeAccelerator::VideoFrameReady,
-                         weak_this_factory_.GetWeakPtr(), task_id)));
+          video_frame_ready_cb_, task_id));
   return true;
 }
 
-void VaapiMjpegDecodeAccelerator::OnImageProcessorError() {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
-  VLOGF(1) << "Failed to process frames using the libyuv image processor";
-  NotifyError(kInvalidTaskId, PLATFORM_FAILURE);
-  image_processor_.reset();
-}
-
-bool VaapiMjpegDecodeAccelerator::OutputPictureVppOnTaskRunner(
+bool VaapiMjpegDecodeAccelerator::Decoder::OutputPictureVpp(
     int32_t task_id,
     const ScopedVASurface* surface,
     scoped_refptr<VideoFrame> video_frame,
     const gfx::Rect& crop_rect) {
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
+  DCHECK_CALLED_ON_VALID_SEQUENCE(decoder_sequence_checker_);
   DCHECK(surface);
   DCHECK(video_frame);
   DCHECK(gfx::Rect(surface->size()).Contains(crop_rect));
@@ -396,157 +522,80 @@
     return false;
   }
 
-  io_task_runner_->PostTask(
-      FROM_HERE, base::BindOnce(&VaapiMjpegDecodeAccelerator::VideoFrameReady,
-                                weak_this_factory_.GetWeakPtr(), task_id));
-
+  video_frame_ready_cb_.Run(task_id);
   return true;
 }
 
-void VaapiMjpegDecodeAccelerator::DecodeFromShmTask(
-    int32_t task_id,
-    base::WritableSharedMemoryMapping mapping,
-    scoped_refptr<VideoFrame> dst_frame) {
-  DVLOGF(4);
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
-  TRACE_EVENT0("jpeg", __func__);
-
-  auto src_image = mapping.GetMemoryAsSpan<uint8_t>();
-  DecodeImpl(task_id, src_image, std::move(dst_frame));
+void VaapiMjpegDecodeAccelerator::NotifyError(int32_t task_id, Error error) {
+  DCHECK(io_task_runner_->BelongsToCurrentThread());
+  VLOGF(1) << "Notifying of error " << error;
+  // |error| shouldn't be NO_ERRORS because successful decodes should be handled
+  // by VideoFrameReady().
+  DCHECK_NE(chromeos_camera::MjpegDecodeAccelerator::Error::NO_ERRORS, error);
+  ReportToVAJDAResponseToClientUMA(error);
+  DCHECK(client_);
+  client_->NotifyError(task_id, error);
 }
 
-void VaapiMjpegDecodeAccelerator::DecodeFromDmaBufTask(
-    int32_t task_id,
-    base::ScopedFD src_dmabuf_fd,
-    size_t src_size,
-    off_t src_offset,
-    scoped_refptr<VideoFrame> dst_frame) {
-  DVLOGF(4);
-  DCHECK(decoder_task_runner_->BelongsToCurrentThread());
-  TRACE_EVENT0("jpeg", __func__);
-
-  // The DMA-buf FD should be mapped as read-only since it may only have read
-  // permission, e.g. when it comes from camera driver.
-  DCHECK(src_dmabuf_fd.is_valid());
-  DCHECK_GT(src_size, 0u);
-  void* src_addr = mmap(nullptr, src_size, PROT_READ, MAP_SHARED,
-                        src_dmabuf_fd.get(), src_offset);
-  if (src_addr == MAP_FAILED) {
-    VPLOGF(1) << "Failed to map input DMA buffer";
-    NotifyError(task_id, UNREADABLE_INPUT);
-    return;
-  }
-  base::span<const uint8_t> src_image =
-      base::make_span(static_cast<const uint8_t*>(src_addr), src_size);
-
-  DecodeImpl(task_id, src_image, std::move(dst_frame));
-
-  const int ret = munmap(src_addr, src_size);
-  DPCHECK(ret == 0);
+void VaapiMjpegDecodeAccelerator::VideoFrameReady(int32_t task_id) {
+  DCHECK(io_task_runner_->BelongsToCurrentThread());
+  ReportToVAJDAResponseToClientUMA(
+      chromeos_camera::MjpegDecodeAccelerator::Error::NO_ERRORS);
+  client_->VideoFrameReady(task_id);
 }
 
-void VaapiMjpegDecodeAccelerator::DecodeImpl(
-    int32_t task_id,
-    base::span<const uint8_t> src_image,
-    scoped_refptr<VideoFrame> dst_frame) {
-  VaapiImageDecodeStatus status = decoder_->Decode(src_image);
-  if (status != VaapiImageDecodeStatus::kSuccess) {
-    VLOGF(1) << "Failed to decode JPEG image";
-    NotifyError(task_id, VaapiJpegDecodeStatusToError(status));
-    return;
-  }
-  const ScopedVASurface* surface = decoder_->GetScopedVASurface();
-  DCHECK(surface);
-  DCHECK(surface->IsValid());
+VaapiMjpegDecodeAccelerator::VaapiMjpegDecodeAccelerator(
+    const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner)
+    : io_task_runner_(io_task_runner),
+      client_(nullptr),
+      decoder_thread_("VaapiMjpegDecoderThread"),
+      weak_this_factory_(this) {
+  DCHECK(io_task_runner_->BelongsToCurrentThread());
+}
 
-  // For camera captures, we assume that the visible size is the same as the
-  // coded size.
-  if (dst_frame->visible_rect().size() != dst_frame->coded_size() ||
-      dst_frame->visible_rect().x() != 0 ||
-      dst_frame->visible_rect().y() != 0) {
-    VLOGF(1)
-        << "The video frame visible size should be the same as the coded size";
-    NotifyError(task_id, INVALID_ARGUMENT);
-    return;
-  }
+VaapiMjpegDecodeAccelerator::~VaapiMjpegDecodeAccelerator() {
+  DCHECK(io_task_runner_->BelongsToCurrentThread());
+  VLOGF(2) << "Destroying VaapiMjpegDecodeAccelerator";
+  weak_this_factory_.InvalidateWeakPtrs();
 
-  // Note that |surface->size()| is the visible size of the JPEG image. The
-  // underlying VASurface size (coded size) can be larger because of alignments.
-  if (surface->size().width() < dst_frame->visible_rect().width() ||
-      surface->size().height() < dst_frame->visible_rect().height()) {
-    VLOGF(1) << "Invalid JPEG image and video frame sizes: "
-             << surface->size().ToString() << ", "
-             << dst_frame->visible_rect().size().ToString();
-    NotifyError(task_id, INVALID_ARGUMENT);
-    return;
+  if (decoder_task_runner_) {
+    decoder_task_runner_->DeleteSoon(FROM_HERE, std::move(decoder_));
   }
+  decoder_thread_.Stop();
+}
 
-  // For DMA-buf backed |dst_frame|, we will import it as a VA surface and use
-  // VPP to convert the decoded |surface| into it, if the formats and sizes are
-  // supported.
-  const auto dst_frame_fourcc =
-      Fourcc::FromVideoPixelFormat(dst_frame->format());
-  if (!dst_frame_fourcc) {
-    VLOGF(1) << "Unsupported video frame format: " << dst_frame->format();
-    NotifyError(task_id, PLATFORM_FAILURE);
-    return;
-  }
+void VaapiMjpegDecodeAccelerator::InitializeAsync(
+    chromeos_camera::MjpegDecodeAccelerator::Client* client,
+    chromeos_camera::MjpegDecodeAccelerator::InitCB init_cb) {
+  VLOGF(2);
+  DCHECK(io_task_runner_->BelongsToCurrentThread());
 
-  const auto dst_frame_va_fourcc = dst_frame_fourcc->ToVAFourCC();
-  if (!dst_frame_va_fourcc) {
-    VLOGF(1) << "Unsupported video frame format: " << dst_frame->format();
-    NotifyError(task_id, PLATFORM_FAILURE);
+  client_ = client;
+  // Bind to |io_task_runner| to guarantee |init_cb| is called asynchronously
+  init_cb = BindToCurrentLoop(std::move(init_cb));
+  if (!decoder_thread_.Start()) {
+    VLOGF(1) << "Failed to start decoding thread.";
+    std::move(init_cb).Run(false);
     return;
   }
+  decoder_task_runner_ = decoder_thread_.task_runner();
 
-  // Crop and scale the decoded image into |dst_frame|.
-  // The VPP is known to have some problems with odd-sized buffers, so we
-  // request a crop rectangle whose dimensions are aligned to 2.
-  const gfx::Rect crop_rect = CropSizeForScalingToTarget(
-      surface->size(), dst_frame->visible_rect().size(), /*alignment=*/2u);
-  if (crop_rect.IsEmpty()) {
-    VLOGF(1) << "Failed to calculate crop rectangle for "
-             << surface->size().ToString() << " to "
-             << dst_frame->visible_rect().size().ToString();
-    NotifyError(task_id, PLATFORM_FAILURE);
-    return;
-  }
-
-  // TODO(kamesan): move HasDmaBufs() to DCHECK when we deprecate
-  // shared-memory-backed video frame.
-  // Check all the sizes involved until we figure out the definition of min/max
-  // resolutions in the VPP profile (b/195312242).
-  if (dst_frame->HasDmaBufs() &&
-      VaapiWrapper::IsVppResolutionAllowed(surface->size()) &&
-      VaapiWrapper::IsVppResolutionAllowed(crop_rect.size()) &&
-      VaapiWrapper::IsVppResolutionAllowed(dst_frame->visible_rect().size()) &&
-      VaapiWrapper::IsVppSupportedForJpegDecodedSurfaceToFourCC(
-          surface->format(), *dst_frame_va_fourcc)) {
-    if (!OutputPictureVppOnTaskRunner(task_id, surface, std::move(dst_frame),
-                                      crop_rect)) {
-      VLOGF(1) << "Output picture using VPP failed";
-      NotifyError(task_id, PLATFORM_FAILURE);
-    }
-    return;
-  }
-
-  // Fallback to do conversion by libyuv. This happens when:
-  // 1. |dst_frame| is backed by shared memory.
-  // 2. VPP doesn't support the format conversion. This is intended for AMD
-  //    VAAPI driver whose VPP only supports converting decoded 4:2:0 JPEGs.
-  std::unique_ptr<ScopedVAImage> image =
-      decoder_->GetImage(*dst_frame_va_fourcc, &status);
-  if (status != VaapiImageDecodeStatus::kSuccess) {
-    NotifyError(task_id, VaapiJpegDecodeStatusToError(status));
-    return;
-  }
-  DCHECK_EQ(image->image()->width, surface->size().width());
-  DCHECK_EQ(image->image()->height, surface->size().height());
-  if (!OutputPictureLibYuvOnTaskRunner(task_id, std::move(image),
-                                       std::move(dst_frame), crop_rect)) {
-    VLOGF(1) << "Output picture using libyuv failed";
-    NotifyError(task_id, PLATFORM_FAILURE);
-  }
+  auto video_frame_ready_cb = base::BindPostTask(
+      io_task_runner_,
+      base::BindRepeating(&VaapiMjpegDecodeAccelerator::VideoFrameReady,
+                          weak_this_factory_.GetWeakPtr()));
+  auto error_cb = base::BindPostTask(
+      io_task_runner_,
+      base::BindRepeating(&VaapiMjpegDecodeAccelerator::NotifyError,
+                          weak_this_factory_.GetWeakPtr()));
+  decoder_ = std::make_unique<Decoder>(std::move(video_frame_ready_cb),
+                                       std::move(error_cb));
+  // base::Unretained(decoder_.get()) is safe because |decoder_| is posted
+  // to |decoder_task_runner_| with DeleteSoon() in destructor.
+  decoder_task_runner_->PostTask(
+      FROM_HERE,
+      base::BindOnce(&VaapiMjpegDecodeAccelerator::Decoder::Initialize,
+                     base::Unretained(decoder_.get()), std::move(init_cb)));
 }
 
 void VaapiMjpegDecodeAccelerator::Decode(
@@ -586,12 +635,13 @@
     return;
   }
 
-  // It's safe to use base::Unretained(this) because |decoder_task_runner_| runs
-  // tasks on |decoder_thread_| which is stopped in the destructor of |this|.
+  // base::Unretained(decoder_.get()) is safe because |decoder_| is posted
+  // to |decoder_task_runner_| with DeleteSoon() in destructor.
   decoder_task_runner_->PostTask(
-      FROM_HERE, base::BindOnce(&VaapiMjpegDecodeAccelerator::DecodeFromShmTask,
-                                base::Unretained(this), bitstream_buffer.id(),
-                                std::move(mapping), std::move(video_frame)));
+      FROM_HERE,
+      base::BindOnce(&VaapiMjpegDecodeAccelerator::Decoder::DecodeFromShmTask,
+                     base::Unretained(decoder_.get()), bitstream_buffer.id(),
+                     std::move(mapping), std::move(video_frame)));
 }
 
 void VaapiMjpegDecodeAccelerator::Decode(int32_t task_id,
@@ -641,13 +691,14 @@
     return;
   }
 
-  // It's safe to use base::Unretained(this) because |decoder_task_runner_| runs
-  // tasks on |decoder_thread_| which is stopped in the destructor of |this|.
+  // base::Unretained(decoder_.get()) is safe because |decoder_| is posted
+  // to |decoder_task_runner_| with DeleteSoon() in destructor.
   decoder_task_runner_->PostTask(
       FROM_HERE,
-      base::BindOnce(&VaapiMjpegDecodeAccelerator::DecodeFromDmaBufTask,
-                     base::Unretained(this), task_id, std::move(src_dmabuf_fd),
-                     src_size, src_offset, std::move(dst_frame)));
+      base::BindOnce(
+          &VaapiMjpegDecodeAccelerator::Decoder::DecodeFromDmaBufTask,
+          base::Unretained(decoder_.get()), task_id, std::move(src_dmabuf_fd),
+          src_size, src_offset, std::move(dst_frame)));
 }
 
 bool VaapiMjpegDecodeAccelerator::IsSupported() {
diff --git a/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.h b/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.h
index 48122c0..934176cd 100644
--- a/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.h
+++ b/media/gpu/vaapi/vaapi_mjpeg_decode_accelerator.h
@@ -24,10 +24,7 @@
 }
 
 namespace media {
-
 class BitstreamBuffer;
-class ScopedVAImage;
-class VaapiWrapper;
 class VideoFrame;
 
 // Class to provide MJPEG decode acceleration for Intel systems with hardware
@@ -64,6 +61,7 @@
   bool IsSupported() override;
 
  private:
+  class Decoder;
   // Notifies the client that an error has occurred and decoding cannot
   // continue. The client is notified on the |task_runner_|, i.e., the thread in
   // which |*this| was created.
@@ -73,67 +71,13 @@
   // |task_runner_|, i.e., the thread in which |*this| was created.
   void VideoFrameReady(int32_t task_id);
 
-  // Processes one decode request.
-  void DecodeFromShmTask(int32_t task_id,
-                         base::WritableSharedMemoryMapping mapping,
-                         scoped_refptr<VideoFrame> dst_frame);
-  void DecodeFromDmaBufTask(int32_t task_id,
-                            base::ScopedFD src_dmabuf_fd,
-                            size_t src_size,
-                            off_t src_offset,
-                            scoped_refptr<VideoFrame> dst_frame);
-
-  // Decodes the JPEG in |src_image| into |dst_frame| and notifies the client
-  // when finished or when an error occurs.
-  void DecodeImpl(int32_t task_id,
-                  base::span<const uint8_t> src_image,
-                  scoped_refptr<VideoFrame> dst_frame);
-
-  // Creates |image_processor_| for converting |src_frame| into |dst_frame|.
-  void CreateImageProcessor(const VideoFrame* src_frame,
-                            const VideoFrame* dst_frame);
-
-  // Puts contents of |surface| within |crop_rect| into given |video_frame|
-  // using VA-API Video Processing Pipeline (VPP), and passes the |task_id| of
-  // the resulting picture to client for output.
-  bool OutputPictureVppOnTaskRunner(int32_t task_id,
-                                    const ScopedVASurface* surface,
-                                    scoped_refptr<VideoFrame> video_frame,
-                                    const gfx::Rect& crop_rect);
-
-  // Puts contents of |image| within |crop_rect| into the given |video_frame|
-  // using libyuv, and passes the |task_id| of the resulting picture to client
-  // for output.
-  bool OutputPictureLibYuvOnTaskRunner(int32_t task_id,
-                                       std::unique_ptr<ScopedVAImage> image,
-                                       scoped_refptr<VideoFrame> video_frame,
-                                       const gfx::Rect& crop_rect);
-
-  void OnImageProcessorError();
-
-  void InitializeOnDecoderTaskRunner(InitCB init_cb);
-
-  void InitializeOnTaskRunner(
-      chromeos_camera::MjpegDecodeAccelerator::Client* client,
-      InitCB init_cb);
-
-  void CleanUpOnDecoderThread();
-
   // GPU IO task runner.
   const scoped_refptr<base::SingleThreadTaskRunner> io_task_runner_;
 
   // The client of this class.
   chromeos_camera::MjpegDecodeAccelerator::Client* client_;
 
-  std::unique_ptr<media::VaapiJpegDecoder> decoder_;
-
-  // VaapiWrapper for VPP context. This is used to convert decoded data into
-  // client buffer.
-  scoped_refptr<VaapiWrapper> vpp_vaapi_wrapper_;
-
-  // Image processor to convert the decoded frame into client buffer when VA-API
-  // is not capable.
-  std::unique_ptr<ImageProcessorBackend> image_processor_;
+  std::unique_ptr<Decoder> decoder_;
 
   base::Thread decoder_thread_;
   // Use this to post tasks to |decoder_thread_| instead of
diff --git a/media/mojo/clients/mojo_demuxer_stream_impl.cc b/media/mojo/clients/mojo_demuxer_stream_impl.cc
index 04b567e..19f7423 100644
--- a/media/mojo/clients/mojo_demuxer_stream_impl.cc
+++ b/media/mojo/clients/mojo_demuxer_stream_impl.cc
@@ -100,16 +100,17 @@
   }
 
   DCHECK_EQ(status, Status::kOk);
-  DCHECK_EQ(buffers.size(), 1u);
 
   std::vector<mojom::DecoderBufferPtr> output_mojo_buffers;
-  mojom::DecoderBufferPtr mojo_buffer =
-      mojo_decoder_buffer_writer_->WriteDecoderBuffer(std::move(buffers[0]));
-  if (!mojo_buffer) {
-    std::move(callback).Run(Status::kAborted, {}, audio_config, video_config);
-    return;
+  for (auto& buffer : buffers) {
+    mojom::DecoderBufferPtr mojo_buffer =
+        mojo_decoder_buffer_writer_->WriteDecoderBuffer(std::move(buffer));
+    if (!mojo_buffer) {
+      std::move(callback).Run(Status::kAborted, {}, audio_config, video_config);
+      return;
+    }
+    output_mojo_buffers.emplace_back(std::move(mojo_buffer));
   }
-  output_mojo_buffers.emplace_back(std::move(mojo_buffer));
 
   // TODO(dalecurtis): Once we can write framed data to the DataPipe, fill via
   // the producer handle and then read more to keep the pipe full.  Waiting for
diff --git a/media/mojo/services/mojo_demuxer_stream_adapter.cc b/media/mojo/services/mojo_demuxer_stream_adapter.cc
index d5dd403..52db15a3 100644
--- a/media/mojo/services/mojo_demuxer_stream_adapter.cc
+++ b/media/mojo/services/mojo_demuxer_stream_adapter.cc
@@ -91,8 +91,8 @@
     std::vector<mojom::DecoderBufferPtr> batch_buffers,
     const absl::optional<AudioDecoderConfig>& audio_config,
     const absl::optional<VideoDecoderConfig>& video_config) {
-  DVLOG(3) << __func__ << "status=" << status
-           << " batch_buffers.size=" << batch_buffers.size();
+  DVLOG(3) << __func__ << ": status=" << status
+           << ", batch_buffers.size=" << batch_buffers.size();
   DCHECK(read_cb_);
   DCHECK_NE(type_, UNKNOWN);
 
@@ -108,13 +108,14 @@
   }
 
   DCHECK_EQ(status, kOk);
-  DCHECK_EQ(batch_buffers.size(), 1u);
   status_ = status;
   actual_read_count_ = batch_buffers.size();
-  mojo_decoder_buffer_reader_->ReadDecoderBuffer(
-      std::move(batch_buffers[0]),
-      base::BindOnce(&MojoDemuxerStreamAdapter::OnBufferRead,
-                     weak_factory_.GetWeakPtr()));
+  for (mojom::DecoderBufferPtr& buffer : batch_buffers) {
+    mojo_decoder_buffer_reader_->ReadDecoderBuffer(
+        std::move(buffer),
+        base::BindOnce(&MojoDemuxerStreamAdapter::OnBufferRead,
+                       weak_factory_.GetWeakPtr()));
+  }
 }
 
 void MojoDemuxerStreamAdapter::OnBufferRead(
diff --git a/media/mojo/services/mojo_demuxer_stream_adapter_unittest.cc b/media/mojo/services/mojo_demuxer_stream_adapter_unittest.cc
index 3eef121..1ef1faf4 100644
--- a/media/mojo/services/mojo_demuxer_stream_adapter_unittest.cc
+++ b/media/mojo/services/mojo_demuxer_stream_adapter_unittest.cc
@@ -53,9 +53,10 @@
     init_loop.Run();
   }
 
-  void ReadBuffer(DemuxerStream::ReadCB done_cb) {
+  void ReadBuffer(int count, DemuxerStream::ReadCB done_cb) {
     EXPECT_TRUE(is_stream_ready_);
-    mojo_stream_adapter_->Read(1, std::move(done_cb));
+    EXPECT_GT(count, 0);
+    mojo_stream_adapter_->Read(count, std::move(done_cb));
   }
 
   base::test::TaskEnvironment task_environment_;
@@ -75,13 +76,16 @@
   EXPECT_TRUE(mojo_stream_adapter_->SupportsConfigChanges());
 }
 
-TEST_F(MojoDemuxerStreamAdapterTest, InitializeAudioStreamAndReadBuffer) {
+TEST_F(MojoDemuxerStreamAdapterTest, InitializeAudioStreamAndReadMultiBuffer) {
   Initialize(DemuxerStream::Type::AUDIO);
 
   {
     base::RunLoop success_read_loop;
     DemuxerStream::DecoderBufferVector buffers;
-    buffers.emplace_back(base::MakeRefCounted<DecoderBuffer>(12));
+    // Requested 200 but just return 100 buffer.
+    for (int i = 0; i < 100; ++i) {
+      buffers.emplace_back(base::MakeRefCounted<DecoderBuffer>(12));
+    }
     EXPECT_CALL(*stream_, OnRead(_))
         .WillOnce(RunOnceCallback<0>(DemuxerStream::Status::kOk, buffers));
 
@@ -89,9 +93,10 @@
         [&](DemuxerStream::Status status,
             DemuxerStream::DecoderBufferVector buffers) {
           EXPECT_EQ(status, DemuxerStream::Status::kOk);
+          EXPECT_EQ(buffers.size(), 100u);
           success_read_loop.QuitWhenIdle();
         });
-    ReadBuffer(done_cb);
+    ReadBuffer(200, done_cb);
     success_read_loop.Run();
   }
 
@@ -108,7 +113,7 @@
           EXPECT_TRUE(buffers.empty());
           config_changed_read_loop.QuitWhenIdle();
         });
-    ReadBuffer(done_cb);
+    ReadBuffer(200, done_cb);
     config_changed_read_loop.Run();
   }
 
@@ -125,7 +130,62 @@
           EXPECT_TRUE(buffers.empty());
           abort_read_loop.QuitWhenIdle();
         });
-    ReadBuffer(done_cb);
+    ReadBuffer(200, done_cb);
+    abort_read_loop.Run();
+  }
+}
+
+TEST_F(MojoDemuxerStreamAdapterTest, InitializeAudioStreamAndReadOneBuffer) {
+  Initialize(DemuxerStream::Type::AUDIO);
+
+  {
+    base::RunLoop success_read_loop;
+    DemuxerStream::DecoderBufferVector buffers;
+    buffers.emplace_back(base::MakeRefCounted<DecoderBuffer>(12));
+    EXPECT_CALL(*stream_, OnRead(_))
+        .WillOnce(RunOnceCallback<0>(DemuxerStream::Status::kOk, buffers));
+
+    auto done_cb = base::BindLambdaForTesting(
+        [&](DemuxerStream::Status status,
+            DemuxerStream::DecoderBufferVector buffers) {
+          EXPECT_EQ(status, DemuxerStream::Status::kOk);
+          success_read_loop.QuitWhenIdle();
+        });
+    ReadBuffer(1, done_cb);
+    success_read_loop.Run();
+  }
+
+  {
+    base::RunLoop config_changed_read_loop;
+    EXPECT_CALL(*stream_, OnRead(_))
+        .WillOnce(RunOnceCallback<0>(DemuxerStream::Status::kConfigChanged,
+                                     DemuxerStream::DecoderBufferVector()));
+
+    auto done_cb = base::BindLambdaForTesting(
+        [&](DemuxerStream::Status status,
+            DemuxerStream::DecoderBufferVector buffers) {
+          EXPECT_EQ(status, DemuxerStream::Status::kConfigChanged);
+          EXPECT_TRUE(buffers.empty());
+          config_changed_read_loop.QuitWhenIdle();
+        });
+    ReadBuffer(1, done_cb);
+    config_changed_read_loop.Run();
+  }
+
+  {
+    base::RunLoop abort_read_loop;
+    EXPECT_CALL(*stream_, OnRead(_))
+        .WillOnce(RunOnceCallback<0>(DemuxerStream::Status::kAborted,
+                                     DemuxerStream::DecoderBufferVector()));
+
+    auto done_cb = base::BindLambdaForTesting(
+        [&](DemuxerStream::Status status,
+            DemuxerStream::DecoderBufferVector buffers) {
+          EXPECT_EQ(status, DemuxerStream::Status::kAborted);
+          EXPECT_TRUE(buffers.empty());
+          abort_read_loop.QuitWhenIdle();
+        });
+    ReadBuffer(1, done_cb);
     abort_read_loop.Run();
   }
 }
diff --git a/media/renderers/win/media_foundation_stream_wrapper.cc b/media/renderers/win/media_foundation_stream_wrapper.cc
index c6c0b30..374e368 100644
--- a/media/renderers/win/media_foundation_stream_wrapper.cc
+++ b/media/renderers/win/media_foundation_stream_wrapper.cc
@@ -8,6 +8,7 @@
 
 #include "base/functional/bind.h"
 #include "base/task/sequenced_task_runner.h"
+#include "base/trace_event/base_tracing.h"
 #include "media/base/video_codecs.h"
 #include "media/base/win/mf_helpers.h"
 #include "media/renderers/win/media_foundation_audio_stream.h"
@@ -19,6 +20,11 @@
 using Microsoft::WRL::ComPtr;
 
 namespace {
+
+// Requested buffer count. The actual returned buffer count could be less
+// according to DemuxerStream::Read() API.
+const uint32_t kBatchReadCount = 1;
+
 // |guid_string| is a binary serialization of a GUID in network byte order
 // format.
 GUID GetGUIDFromString(const std::string& guid_string) {
@@ -113,6 +119,18 @@
   return time.InNanoseconds() / 100;
 }
 
+PendingInputBuffer::PendingInputBuffer(DemuxerStream::Status status,
+                                       scoped_refptr<DecoderBuffer> buffer)
+    : status(status), buffer(std::move(buffer)) {}
+
+PendingInputBuffer::PendingInputBuffer(DemuxerStream::Status status)
+    : status(status) {}
+
+PendingInputBuffer::PendingInputBuffer(const PendingInputBuffer& other) =
+    default;
+
+PendingInputBuffer::~PendingInputBuffer() = default;
+
 }  // namespace
 
 MediaFoundationStreamWrapper::MediaFoundationStreamWrapper() = default;
@@ -234,6 +252,8 @@
   base::AutoLock auto_lock(lock_);
   flushed_ = flushed;
   if (flushed_) {
+    DVLOG_FUNC(2) << "flush buffer_queue_";
+    buffer_queue_.clear();
     while (!post_flush_buffers_.empty()) {
       post_flush_buffers_.pop();
     }
@@ -326,24 +346,63 @@
     return;
   }
 
-  if (!demuxer_stream_ || pending_stream_read_)
+  if (!demuxer_stream_) {
     return;
+  }
 
-  demuxer_stream_->Read(
-      1,
-      base::BindOnce(&MediaFoundationStreamWrapper::OnDemuxerStreamReadBuffers,
-                     weak_factory_.GetWeakPtr()));
-  pending_stream_read_ = true;
+  base::AutoLock auto_lock(lock_);
+  if (!buffer_queue_.empty()) {
+    // Using queued buffer for multi buffers read from Renderer process. If
+    // a valid buffer already exists in queued buffer, return the buffer
+    // directly without IPC calls for buffer requested from MediaEngine.
+    OnDemuxerStreamRead(buffer_queue_.front().status,
+                        std::move(buffer_queue_.front().buffer));
+    buffer_queue_.pop_front();
+    return;
+  }
+
+  // Request multi buffers by sending IPC to 'MojoDemuxerStreamImpl'.
+  if (!pending_stream_read_) {
+    DVLOG_FUNC(3) << " IPC send, BatchReadCount=" << kBatchReadCount;
+    TRACE_EVENT2("media", "MFGetBuffersFromRendererByIPC",
+                 "StreamType:", DemuxerStream::GetTypeName(stream_type_),
+                 "kBatchReadCount:", kBatchReadCount);
+    pending_stream_read_ = true;
+    demuxer_stream_->Read(
+        kBatchReadCount,
+        base::BindOnce(
+            &MediaFoundationStreamWrapper::OnDemuxerStreamReadBuffers,
+            weak_factory_.GetWeakPtr()));
+  }
 }
 
 void MediaFoundationStreamWrapper::OnDemuxerStreamReadBuffers(
     DemuxerStream::Status status,
     DemuxerStream::DecoderBufferVector buffers) {
-  // TODO(crbug.com/1347395): Support batch read.
-  DCHECK_LE(buffers.size(), 1u)
-      << "MediaFoundationStreamWrapper only reads a single-buffer.";
-  OnDemuxerStreamRead(status,
-                      buffers.empty() ? nullptr : std::move(buffers[0]));
+  DCHECK(task_runner_->RunsTasksInCurrentSequence());
+  DVLOG_FUNC(3) << "receive data, status="
+                << DemuxerStream::GetStatusName(status)
+                << ", buffer count= " << buffers.size()
+                << ", stream type=" << DemuxerStream::GetTypeName(stream_type_);
+  {
+    base::AutoLock auto_lock(lock_);
+    DCHECK(pending_stream_read_);
+    pending_stream_read_ = false;
+
+    DemuxerStream::DecoderBufferVector pending_buffers =
+        (status == DemuxerStream::Status::kOk)
+            ? std::move(buffers)
+            : DemuxerStream::DecoderBufferVector{nullptr};
+    for (auto& buffer : pending_buffers) {
+      DVLOG_FUNC(3) << "push buffer to buffer_queue_, status="
+                    << DemuxerStream::GetStatusName(status) << ", buffer="
+                    << (buffer ? buffer->AsHumanReadableString(false) : "null");
+      buffer_queue_.emplace_back(PendingInputBuffer(status, std::move(buffer)));
+    }
+  }
+
+  // Restart processing of queued requests when we receive buffers.
+  ProcessRequestsIfPossible();
 }
 
 HRESULT MediaFoundationStreamWrapper::ServiceSampleRequest(
@@ -454,12 +513,8 @@
   DVLOG_FUNC(3) << "status=" << status
                 << (buffer ? " buffer=" + buffer->AsHumanReadableString(true)
                            : "");
-
   {
-    base::AutoLock auto_lock(lock_);
-    DCHECK(pending_stream_read_);
-    pending_stream_read_ = false;
-
+    lock_.AssertAcquired();
     ComPtr<IUnknown> token = pending_sample_request_tokens_.front();
     HRESULT hr = S_OK;
 
@@ -517,7 +572,12 @@
     }
   }
 
-  ProcessRequestsIfPossible();
+  // ProcessRequestsIfPossible calls OnDemuxerStreamRead, OnDemuxerStreamRead
+  // calls ProcessRequestsIfPossible, so use PostTask to avoid deadlock here.
+  task_runner_->PostTask(
+      FROM_HERE,
+      base::BindOnce(&MediaFoundationStreamWrapper::ProcessRequestsIfPossible,
+                     weak_factory_.GetWeakPtr()));
 }
 
 HRESULT MediaFoundationStreamWrapper::GenerateSampleFromDecoderBuffer(
diff --git a/media/renderers/win/media_foundation_stream_wrapper.h b/media/renderers/win/media_foundation_stream_wrapper.h
index 12687262..0251eb75 100644
--- a/media/renderers/win/media_foundation_stream_wrapper.h
+++ b/media/renderers/win/media_foundation_stream_wrapper.h
@@ -33,6 +33,17 @@
   DWORD cipher_bytes = 0;
 };
 
+struct PendingInputBuffer {
+  PendingInputBuffer(DemuxerStream::Status status,
+                     scoped_refptr<media::DecoderBuffer> buffer);
+  explicit PendingInputBuffer(DemuxerStream::Status status);
+  PendingInputBuffer(const PendingInputBuffer& other);
+  ~PendingInputBuffer();
+
+  DemuxerStream::Status status;
+  scoped_refptr<media::DecoderBuffer> buffer;
+};
+
 }  // namespace
 
 // IMFMediaStream implementation
@@ -173,6 +184,14 @@
   // If true, there is a pending a read completion from Chromium media stack.
   bool pending_stream_read_ = false;
 
+  // Maintain the buffer obtained by batch read. We push buffer into
+  // |buffer_queue_| by OnDemuxerStreamReadBuffers(), pop buffer by
+  // ProcessRequestsIfPossible(), these two operations are both on media stack
+  // thread. SetFlush() can be invoked by media stack thread or MF threadpool
+  // thread, it clears the buffer in |buffer_queue_|. So |buffer_queue_| needs
+  // to be guardedby the lock.
+  std::deque<PendingInputBuffer> buffer_queue_ GUARDED_BY(lock_);
+
   bool stream_ended_ = false;
   GUID last_key_id_ = GUID_NULL;
 
diff --git a/net/data/ssl/chrome_root_store/root_store.certs b/net/data/ssl/chrome_root_store/root_store.certs
index 141a8485..2ae4912 100644
--- a/net/data/ssl/chrome_root_store/root_store.certs
+++ b/net/data/ssl/chrome_root_store/root_store.certs
@@ -5955,127 +5955,6 @@
 uu8wd+RU4riEmViAqhOLUTpPSPaLtrM=
 -----END CERTIFICATE-----
 
-# 4d2491414cfe956746ec4cefa6cf6f72e28a1329432f9d8a907ac4cb5dadc15a
-Certificate:
-    Data:
-        Version: 3 (0x2)
-        Serial Number: 10000013 (0x98968d)
-        Signature Algorithm: sha256WithRSAEncryption
-        Issuer: C = NL, O = Staat der Nederlanden, CN = Staat der Nederlanden EV Root CA
-        Validity
-            Not Before: Dec  8 11:19:29 2010 GMT
-            Not After : Dec  8 11:10:28 2022 GMT
-        Subject: C = NL, O = Staat der Nederlanden, CN = Staat der Nederlanden EV Root CA
-        Subject Public Key Info:
-            Public Key Algorithm: rsaEncryption
-                RSA Public-Key: (4096 bit)
-                Modulus:
-                    00:e3:c7:7e:89:f9:24:4b:3a:d2:33:83:35:2c:69:
-                    ec:dc:09:a4:e3:51:a8:25:2b:79:b8:08:3d:e0:91:
-                    ba:84:85:c6:85:a4:ca:e6:c9:2e:53:a4:c9:24:1e:
-                    fd:55:66:71:5d:2c:c5:60:68:04:b7:d9:c2:52:26:
-                    38:88:a4:d6:3b:40:a6:c2:cd:3f:cd:98:93:b3:54:
-                    14:58:96:55:d5:50:fe:86:ad:a4:63:7f:5c:87:f6:
-                    8e:e6:27:92:67:17:92:02:03:2c:dc:d6:66:74:ed:
-                    dd:67:ff:c1:61:8d:63:4f:0f:9b:6d:17:30:26:ef:
-                    ab:d2:1f:10:a0:f9:c5:7f:16:69:81:03:47:ed:1e:
-                    68:8d:72:a1:4d:b2:26:c6:ba:6c:5f:6d:d6:af:d1:
-                    b1:13:8e:a9:ad:f3:5e:69:75:26:18:3e:41:2b:21:
-                    7f:ee:8b:5d:07:06:9d:43:c4:29:0a:2b:fc:2a:3e:
-                    86:cb:3c:83:3a:f9:c9:0d:da:c5:99:e2:bc:78:41:
-                    33:76:e1:bf:2f:5d:e5:a4:98:50:0c:15:dd:e0:fa:
-                    9c:7f:38:68:d0:b2:a6:7a:a7:d1:31:bd:7e:8a:58:
-                    27:43:b3:ba:33:91:d3:a7:98:15:5c:9a:e6:d3:0f:
-                    75:d9:fc:41:98:97:3e:aa:25:db:8f:92:2e:b0:7b:
-                    0c:5f:f1:63:a9:37:f9:9b:75:69:4c:28:26:25:da:
-                    d5:f2:12:70:45:55:e3:df:73:5e:37:f5:21:6c:90:
-                    8e:35:5a:c9:d3:23:eb:d3:c0:be:78:ac:42:28:58:
-                    66:a5:46:6d:70:02:d7:10:f9:4b:54:fc:5d:86:4a:
-                    87:cf:7f:ca:45:ac:11:5a:b5:20:51:8d:2f:88:47:
-                    97:39:c0:cf:ba:c0:42:01:40:99:48:21:0b:6b:a7:
-                    d2:fd:96:d5:d1:be:46:9d:49:e0:0b:a6:a0:22:4e:
-                    38:d0:c1:3c:30:bc:70:8f:2c:75:cc:d0:c5:8c:51:
-                    3b:3d:94:08:64:26:61:7d:b9:c3:65:8f:14:9c:21:
-                    d0:aa:fd:17:72:03:8f:bd:9b:8c:e6:5e:53:9e:b9:
-                    9d:ef:82:bb:e1:bc:e2:72:41:5b:21:94:d3:45:37:
-                    94:d1:df:09:39:5d:e7:23:aa:9a:1d:ca:6d:a8:0a:
-                    86:85:8a:82:be:42:07:d6:f2:38:82:73:da:87:5b:
-                    e5:3c:d3:9e:3e:a7:3b:9e:f4:03:b3:f9:f1:7d:13:
-                    74:02:ff:bb:a1:e5:fa:00:79:1c:a6:66:41:88:5c:
-                    60:57:a6:2e:09:c4:ba:fd:9a:cf:a7:1f:40:c3:bb:
-                    cc:5a:0a:55:4b:3b:38:76:51:b8:63:8b:84:94:16:
-                    e6:56:f3
-                Exponent: 65537 (0x10001)
-        X509v3 extensions:
-            X509v3 Basic Constraints: critical
-                CA:TRUE
-            X509v3 Key Usage: critical
-                Certificate Sign, CRL Sign
-            X509v3 Subject Key Identifier: 
-                FE:AB:00:90:98:9E:24:FC:A9:CC:1A:8A:FB:27:B8:BF:30:6E:A8:3B
-    Signature Algorithm: sha256WithRSAEncryption
-         cf:77:2c:6e:56:be:4e:b3:b6:84:00:94:ab:47:c9:0d:d2:76:
-         c7:86:9f:1d:07:d3:b6:b4:bb:08:78:af:69:d2:0b:49:de:33:
-         c5:ac:ad:c2:88:02:7d:06:b7:35:02:c1:60:c9:bf:c4:e8:94:
-         de:d4:d3:a9:13:25:5a:fe:6e:a2:ae:7d:05:dc:7d:f3:6c:f0:
-         7e:a6:8d:ee:d9:d7:ce:58:17:e8:a9:29:ae:73:48:87:e7:9b:
-         ca:6e:29:a1:64:5f:19:13:f7:ae:06:10:ff:51:c6:9b:4d:55:
-         25:4f:93:99:10:01:53:75:f1:13:ce:c7:a6:41:41:d2:bf:88:
-         a5:7f:45:fc:ac:b8:a5:b5:33:0c:82:c4:fb:07:f6:6a:e5:25:
-         84:5f:06:ca:c1:86:39:11:db:58:cd:77:3b:2c:c2:4c:0f:5e:
-         9a:e3:f0:ab:3e:61:1b:50:24:c2:c0:f4:f1:19:f0:11:29:b6:
-         a5:18:02:9b:d7:63:4c:70:8c:47:a3:03:43:5c:b9:5d:46:a0:
-         0d:6f:ff:59:8e:be:dd:9f:72:c3:5b:2b:df:8c:5b:ce:e5:0c:
-         46:6c:92:b2:0a:a3:4c:54:42:18:15:12:18:bd:da:fc:ba:74:
-         6e:ff:c1:b6:a0:64:d8:a9:5f:55:ae:9f:5c:6a:76:96:d8:73:
-         67:87:fb:4d:7f:5c:ee:69:ca:73:10:fb:8a:a9:fd:9e:bd:36:
-         38:49:49:87:f4:0e:14:f0:e9:87:b8:3f:a7:4f:7a:5a:8e:79:
-         d4:93:e4:bb:68:52:84:ac:6c:e9:f3:98:70:55:72:32:f9:34:
-         ab:2b:49:b5:cd:20:62:e4:3a:7a:67:63:ab:96:dc:6d:ae:97:
-         ec:fc:9f:76:56:88:2e:66:cf:5b:b6:c9:a4:b0:d7:05:ba:e1:
-         27:2f:93:bb:26:2a:a2:93:b0:1b:f3:8e:be:1d:40:a3:b9:36:
-         8f:3e:82:1a:1a:5e:88:ea:50:f8:59:e2:83:46:29:0b:e3:44:
-         5c:e1:95:b6:69:90:9a:14:6f:97:ae:81:cf:68:ef:99:9a:be:
-         b5:e7:e1:7f:f8:fa:13:47:16:4c:cc:6d:08:40:e7:8b:78:6f:
-         50:82:44:50:3f:66:06:8a:ab:43:84:56:4a:0f:20:2d:86:0e:
-         f5:d2:db:d2:7a:8a:4b:cd:a5:e8:4e:f1:5e:26:25:01:59:23:
-         a0:7e:d2:f6:7e:21:57:d7:27:bc:15:57:4c:a4:46:c1:e0:83:
-         1e:0c:4c:4d:1f:4f:06:19:e2:f9:a8:f4:3a:82:a1:b2:79:43:
-         79:d6:ad:6f:7a:27:90:03:a4:ea:24:87:3f:d9:bd:d9:e9:f2:
-         5f:50:49:1c:ee:ec:d7:2e
------BEGIN CERTIFICATE-----
-MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO
-TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh
-dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y
-MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg
-TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS
-b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS
-M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC
-UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d
-Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p
-rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l
-pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb
-j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC
-KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS
-/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X
-cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH
-1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP
-px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB
-/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7
-MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI
-eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u
-2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS
-v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC
-wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy
-CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e
-vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6
-Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa
-Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL
-eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8
-FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc
-7uzXLg==
------END CERTIFICATE-----
-
 # 46edc3689046d53a453fb3104ab80dcaec658b2660ea1629dd7e867990648716
 Certificate:
     Data:
@@ -10766,87 +10645,6 @@
 zl/HHk484IkzlQsPpTLWPFp5LBk=
 -----END CERTIFICATE-----
 
-# 001686cd181f83a1b1217d305b365c41e3470a78a1d37b134a98cd547b92dab3
-Certificate:
-    Data:
-        Version: 3 (0x2)
-        Serial Number:
-            1c:a0:2d:c1:52:3b:6a:6d:8b:5c:1f:95:4a:ed:ac:30
-        Signature Algorithm: sha1WithRSAEncryption
-        Issuer: C = US, O = Network Solutions L.L.C., CN = Network Solutions Certificate Authority
-        Validity
-            Not Before: Jan  1 00:00:00 2011 GMT
-            Not After : Dec 31 23:59:59 2030 GMT
-        Subject: C = US, O = Network Solutions L.L.C., CN = Network Solutions Certificate Authority
-        Subject Public Key Info:
-            Public Key Algorithm: rsaEncryption
-                RSA Public-Key: (2048 bit)
-                Modulus:
-                    00:e4:bc:7e:92:30:6d:c6:d8:8e:2b:0b:bc:46:ce:
-                    e0:27:96:de:de:f9:fa:12:d3:3c:33:73:b3:04:2f:
-                    bc:71:8c:e5:9f:b6:22:60:3e:5f:5d:ce:09:ff:82:
-                    0c:1b:9a:51:50:1a:26:89:dd:d5:61:5d:19:dc:12:
-                    0f:2d:0a:a2:43:5d:17:d0:34:92:20:ea:73:cf:38:
-                    2c:06:26:09:7a:72:f7:fa:50:32:f8:c2:93:d3:69:
-                    a2:23:ce:41:b1:cc:e4:d5:1f:36:d1:8a:3a:f8:8c:
-                    63:e2:14:59:69:ed:0d:d3:7f:6b:e8:b8:03:e5:4f:
-                    6a:e5:98:63:69:48:05:be:2e:ff:33:b6:e9:97:59:
-                    69:f8:67:19:ae:93:61:96:44:15:d3:72:b0:3f:bc:
-                    6a:7d:ec:48:7f:8d:c3:ab:aa:71:2b:53:69:41:53:
-                    34:b5:b0:b9:c5:06:0a:c4:b0:45:f5:41:5d:6e:89:
-                    45:7b:3d:3b:26:8c:74:c2:e5:d2:d1:7d:b2:11:d4:
-                    fb:58:32:22:9a:80:c9:dc:fd:0c:e9:7f:5e:03:97:
-                    ce:3b:00:14:87:27:70:38:a9:8e:6e:b3:27:76:98:
-                    51:e0:05:e3:21:ab:1a:d5:85:22:3c:29:b5:9a:16:
-                    c5:80:a8:f4:bb:6b:30:8f:2f:46:02:a2:b1:0c:22:
-                    e0:d3
-                Exponent: 65537 (0x10001)
-        X509v3 extensions:
-            X509v3 Subject Key Identifier: 
-                21:30:C9:FB:00:D7:4E:98:DA:87:AA:2A:D0:A7:2E:B1:40:31:A7:4C
-            X509v3 Key Usage: critical
-                Certificate Sign, CRL Sign
-            X509v3 Basic Constraints: critical
-                CA:TRUE
-    Signature Algorithm: sha1WithRSAEncryption
-         c2:89:84:a0:e8:8c:66:fd:ff:13:05:1b:c3:3a:8e:98:49:8a:
-         f8:aa:00:5c:26:fd:72:6a:a3:7e:12:1b:94:ae:54:f8:21:8f:
-         a7:93:4f:f7:16:ef:b9:b9:b3:32:c0:25:21:31:66:37:2c:09:
-         b0:fe:32:b0:37:ec:3c:b8:ce:8f:08:aa:08:90:07:5c:75:d5:
-         e1:4e:2c:cb:02:24:e9:a2:5e:e9:f5:78:35:22:06:1c:f2:1f:
-         88:b1:e1:5c:cc:96:54:fa:6f:49:cc:8d:f1:56:03:ed:cf:2c:
-         9f:27:de:e5:ca:83:44:be:46:40:f9:57:2e:d2:7f:31:2d:ce:
-         83:dc:fe:70:6b:84:d0:a3:9f:ff:97:d0:a8:d7:02:ec:b1:2c:
-         f0:ef:73:38:3d:99:ac:c4:4f:01:bf:d5:6a:ea:c6:2e:32:29:
-         17:0a:cb:e6:69:9e:d1:4a:b5:f6:df:8e:19:f8:95:e9:45:a9:
-         0e:cd:6d:41:59:20:9e:73:c6:6c:71:1c:9c:d4:4d:30:a8:73:
-         09:a0:15:f3:a0:45:26:c3:5b:fd:bb:b9:d8:2d:d7:1f:f5:05:
-         30:19:f6:ae:0f:8e:62:8f:df:c8:4f:86:d9:1d:61:16:b3:c9:
-         f0:bb:fb:c7:f5:af:01:22:47:ec:d8:da:cf:1c:f3:53:66:ba:
-         53:09:01:f9
------BEGIN CERTIFICATE-----
-MIIDkDCCAnigAwIBAgIQHKAtwVI7am2LXB+VSu2sMDANBgkqhkiG9w0BAQUFADBi
-MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
-MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp
-dHkwHhcNMTEwMTAxMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV
-UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO
-ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz
-c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP
-OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl
-mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF
-BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4
-qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjQjBA
-MB0GA1UdDgQWBBQhMMn7ANdOmNqHqirQpy6xQDGnTDAOBgNVHQ8BAf8EBAMCAQYw
-DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAwomEoOiMZv3/EwUb
-wzqOmEmK+KoAXCb9cmqjfhIblK5U+CGPp5NP9xbvubmzMsAlITFmNywJsP4ysDfs
-PLjOjwiqCJAHXHXV4U4sywIk6aJe6fV4NSIGHPIfiLHhXMyWVPpvScyN8VYD7c8s
-nyfe5cqDRL5GQPlXLtJ/MS3Og9z+cGuE0KOf/5fQqNcC7LEs8O9zOD2ZrMRPAb/V
-aurGLjIpFwrL5mme0Uq19t+OGfiV6UWpDs1tQVkgnnPGbHEcnNRNMKhzCaAV86BF
-JsNb/bu52C3XH/UFMBn2rg+OYo/fyE+G2R1hFrPJ8Lv7x/WvASJH7NjazxzzU2a6
-UwkB+Q==
------END CERTIFICATE-----
-
 # 6b328085625318aa50d173c98d8bda09d57e27413d114cf787a0f5d06c030cf6
 Certificate:
     Data:
diff --git a/net/data/ssl/chrome_root_store/root_store.md b/net/data/ssl/chrome_root_store/root_store.md
index 9efd698..d1e613e8 100644
--- a/net/data/ssl/chrome_root_store/root_store.md
+++ b/net/data/ssl/chrome_root_store/root_store.md
@@ -1,6 +1,6 @@
 <!-- mdformat off(generated) -->
 <!-- mdlint off(generated) -->
-Version: 8
+Version: 9
 
 SHA 256 Hash | Subject | NotBefore | NotAfter
 ---|---|---|---
@@ -69,7 +69,6 @@
 f9e67d336c51002ac054c632022d66dda2e7e3fff10ad061ed31d8bbb410cfb2 | CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK | 2003-05-15 | 2023-05-15
 9a6ec012e1a7da9dbe34194d478ad7c0db1822fb071df12981496ed104384113 | CN=ACCVRAIZ1,OU=PKIACCV,O=ACCV,C=ES | 2011-05-05 | 2030-12-31
 ebc5570c29018c4d67b1aa127baf12f703b4611ebc17b7dab5573894179b93fa | OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES | 2008-10-29 | 2030-01-01
-4d2491414cfe956746ec4cefa6cf6f72e28a1329432f9d8a907ac4cb5dadc15a | CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL | 2010-12-08 | 2022-12-08
 46edc3689046d53a453fb3104ab80dcaec658b2660ea1629dd7e867990648716 | CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR | 2013-11-25 | 2043-10-25
 44b545aa8a25e65a73ca15dc27fc36d24c1cb9953a066539b11582dc487b4833 | CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR | 2015-07-07 | 2040-06-30
 a040929a02ce53b4acf4f2ffc6981ce4496f755e6d45fe0b2a692bcd52523f36 | CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR | 2015-07-07 | 2040-06-30
@@ -118,7 +117,6 @@
 0753e940378c1bd5e3836e395daea5cb839e5046f1bd0eae1951cf10fec7c965 | CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA | 2016-02-04 | 2034-12-31
 5a885db19c01d912c5759388938cafbbdf031ab2d48e91ee15589b42971d039c | CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA | 2016-02-04 | 2029-12-31
 d40e9c86cd8fe468c1776959f49ea774fa548684b6c406f3909261f4dce2575c | CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA | 2016-02-04 | 2029-12-31
-001686cd181f83a1b1217d305b365c41e3470a78a1d37b134a98cd547b92dab3 | CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US | 2011-01-01 | 2030-12-31
 6b328085625318aa50d173c98d8bda09d57e27413d114cf787a0f5d06c030cf6 | CN=Certum EC-384 CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL | 2018-03-26 | 2043-03-26
 fe7696573855773e37a95e7ad4d9cc96c30157c15d31765ba9b15704e1ae78fd | CN=Certum Trusted Root CA,OU=Certum Certification Authority,O=Asseco Data Systems S.A.,C=PL | 2018-03-16 | 2043-03-16
 e59aaa816009c22bff5b25bad37df306f049797c1f81d85ab089e657bd8f0044 | CN=D-TRUST BR Root CA 1 2020,O=D-Trust GmbH,C=DE | 2020-02-11 | 2035-02-11
diff --git a/net/data/ssl/chrome_root_store/root_store.textproto b/net/data/ssl/chrome_root_store/root_store.textproto
index b013cf9..69b9359 100644
--- a/net/data/ssl/chrome_root_store/root_store.textproto
+++ b/net/data/ssl/chrome_root_store/root_store.textproto
@@ -8,7 +8,7 @@
 
 # Version # should always be incremented up whenever this (or any pem file that
 # it references) is changed.
-version_major: 8
+version_major: 9
 
 # CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT
 # https://ssltest-a.actalis.it:8443
@@ -35,7 +35,6 @@
 # https://valid.sfsg2.catest.starfieldtech.com/
 trust_anchors {
   sha256_hex: "568d6905a2c88708a4b3025190edcfedb1974a606a13c6e5290fcb2ae63edab5"
-
   ev_policy_oids: "2.16.840.1.114414.1.7.24.3"
   ev_policy_oids: "2.23.140.1.1"
 }
@@ -128,7 +127,6 @@
 # https://certdemo-ev-valid.ssl.d-trust.net/
 trust_anchors {
   sha256_hex: "eec5496b988ce98625b934092eec2908bed0b0f316c2d4730c84eaf1f3d34881"
-
   ev_policy_oids: "1.3.6.1.4.1.4788.2.202.1"
 }
 
@@ -141,7 +139,6 @@
 # http://www.telesec.de/ / https://root-class3.test.telesec.de/
 trust_anchors {
   sha256_hex: "fd73dad31c644ff1b43bef0ccdda96710b9cd9875eca7e31707af3e96d522bbd"
-
   ev_policy_oids: "1.3.6.1.4.1.7879.13.24.1"
 }
 
@@ -164,7 +161,6 @@
 # https://global-root-g3.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "31ad6648f8104138c738f39ea4320133393e3a18cc02296ef97c2ac9ef6731d0"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -182,7 +178,6 @@
 # https://trusted-root-g4.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "552f7bdcf1a7af9e6ce672017f4f12abf77240c78e761ac203d1d9d20ac89988"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -190,7 +185,6 @@
 # https://www.digicert.com
 trust_anchors {
   sha256_hex: "7431e5f4c3c1ce4690774f0b61e05440883ba9a01ed00ba6abd7806ed3b118cf"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -198,7 +192,6 @@
 # https://assured-id-root-g2.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "7d05ebb682339f8c9451ee094eebfefa7953a114edb2f44949452fab7d2fc185"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -206,7 +199,6 @@
 # https://assured-id-root-g3.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "7e37cb8b4c47090cab36551ba6f45db840680fba166a952db100717f43053fc2"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -214,7 +206,6 @@
 # https://global-root-g2.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "cb3ccbb76031e5e0138f8dd39a23f9de47ffc35e43c1144cea27d46a5ab1cb5f"
-
   ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
@@ -227,7 +218,6 @@
 # https://sslev.e-tugra.com.tr
 trust_anchors {
   sha256_hex: "b0bfd52bb0d7d9bd92bf5d4dc13da255c02c542f378365ea893911f55e55f23c"
-
   ev_policy_oids: "2.16.792.3.0.4.1.1.4"
 }
 
@@ -240,7 +230,6 @@
 # https://testevg1.emsign.com/
 trust_anchors {
   sha256_hex: "40f6af0346a99aa1cd1d555a4e9cce62c7f9634603ee406615833dc8c8d00367"
-
   ev_policy_oids: "2.23.140.1.1"
 }
 
@@ -258,7 +247,6 @@
 # https://validec.entrust.net
 trust_anchors {
   sha256_hex: "02ed0eb28c14da45165c566791700d6451d7fb56f0b2ab1d3b8eb070e56edff5"
-
   ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
@@ -280,7 +268,6 @@
 # https://validg2.entrust.net
 trust_anchors {
   sha256_hex: "43df5774b03e7fef5fe40d931a7bedf1bb2e6b42738c4e6d3841103d3aa7f339"
-
   ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
@@ -300,7 +287,6 @@
 # https://www.entrust.net/
 trust_anchors {
   sha256_hex: "73c176434f1bc6d5adf45b0e76e727287c8de57616c1e6e6141a2b2cbc7d8e4c"
-
   ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
@@ -327,7 +313,6 @@
 # https://2038r5.globalsign.com/
 trust_anchors {
   sha256_hex: "179fbc148a3dd00fd24ea13458cc43bfa7f59c8182d783a513f6ebec100c8924"
-
   ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
@@ -340,7 +325,6 @@
 # https://2029.globalsign.com/
 trust_anchors {
   sha256_hex: "cbb522d7b7f127ad6a0113865bdf1cd4102e7d0759af635a7cf4720dc963c53b"
-
   ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
@@ -348,7 +332,6 @@
 # GlobalSign Root CA
 trust_anchors {
   sha256_hex: "ebd41040e4bb3ec742c9e381d31ef2a41a48b6685c96e7cef3c1df6cd4331c99"
-
   ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
@@ -356,7 +339,6 @@
 # https://www.starfieldtech.com/
 trust_anchors {
   sha256_hex: "1465fa205397b876faa6f0a9958e5590e40fcc7faa4fb7c2c8677521fb5fb658"
-
   ev_policy_oids: "2.16.840.1.114414.1.7.23.3"
 }
 
@@ -364,7 +346,6 @@
 # https://valid.sfig2.catest.starfieldtech.com/
 trust_anchors {
   sha256_hex: "2ce1cb0bf9d2f9e102993fbe215152c3b2dd0cabde1c68e5319b839154dbb7f5"
-
   ev_policy_oids: "2.16.840.1.114414.1.7.23.3"
 }
 
@@ -372,7 +353,6 @@
 # https://valid.gdig2.catest.godaddy.com/
 trust_anchors {
   sha256_hex: "45140b3247eb9cc8c5b4f0d7b53091f73292089e6e5a63e2749dd3aca9198eda"
-
   ev_policy_oids: "2.16.840.1.114413.1.7.23.3"
 }
 
@@ -380,7 +360,6 @@
 # https://www.godaddy.com/
 trust_anchors {
   sha256_hex: "c3846bf24b9e93ca64274c0ec67c1ecc5e024ffcacd2d74019350e81fe546ae4"
-
   ev_policy_oids: "2.16.840.1.114413.1.7.23.3"
 }
 
@@ -413,7 +392,6 @@
 # https://valid-ev.ecert.gov.hk/
 trust_anchors {
   sha256_hex: "5a2fc03f0c83b090bbfa40604b0988446c7636183df9846e17101a447fb8efd6"
-
   ev_policy_oids: "2.23.140.1.1"
 }
 
@@ -432,14 +410,6 @@
   sha256_hex: "ebc5570c29018c4d67b1aa127baf12f703b4611ebc17b7dab5573894179b93fa"
 }
 
-# CN=Staat der Nederlanden EV Root CA, O=Staat der Nederlanden, C=NL
-# https://pkioevssl-v.quovadisglobal.com/
-trust_anchors {
-  sha256_hex: "4d2491414cfe956746ec4cefa6cf6f72e28a1329432f9d8a907ac4cb5dadc15a"
-
-  ev_policy_oids: "2.16.528.1.1003.1.2.7"
-}
-
 # CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1, OU=Kamu Sertifikasyon Merkezi - Kamu SM, O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK, L=Gebze - Kocaeli, C=TR
 trust_anchors {
   sha256_hex: "46edc3689046d53a453fb3104ab80dcaec658b2660ea1629dd7e867990648716"
@@ -484,7 +454,6 @@
 # https://servicios1.izenpe.com
 trust_anchors {
   sha256_hex: "2530cc8e98321502bad96f9b1fba1b099e2d299e0f4548bb914f363bc0d4531f"
-
   ev_policy_oids: "1.3.6.1.4.1.14777.6.1.1",
   ev_policy_oids: "1.3.6.1.4.1.14777.6.1.2"
 }
@@ -525,7 +494,6 @@
 # https://goodevssl.wisekey.com
 trust_anchors {
   sha256_hex: "6b9c08e86eb0f767cfad65cd98b62149e5494a67f5845e7bd1ed019f27b86bd6"
-
   ev_policy_oids: "2.16.756.5.14.7.4.8"
 }
 
@@ -543,7 +511,6 @@
 # https://www.quovadis.bm/
 trust_anchors {
   sha256_hex: "85a0dd7dd720adb7ff05f83d542b209dc7ff4528f7d677b18389fea5e5c49e86"
-
   ev_policy_oids: "1.3.6.1.4.1.8024.0.2.100.1.2"
 }
 
@@ -561,7 +528,6 @@
 # https://evsslicag3-v.quovadisglobal.com/
 trust_anchors {
   sha256_hex: "8fe4fb0af93a4d0d67db0bebb23e37c71bf325dcbcdd240ea04daf58b47e1840"
-
   ev_policy_oids: "1.3.6.1.4.1.8024.0.2.100.1.2"
 }
 
@@ -569,7 +535,6 @@
 # https://www.secomtrust.net/contact/form.html
 trust_anchors {
   sha256_hex: "513b2cecb810d4cde5dd85391adfc6c2dd60d87bb736d2b521484aa47a0ebef6"
-
   ev_policy_oids: "1.2.392.200091.100.721.1"
 }
 
@@ -582,7 +547,6 @@
 # https://secure.comodo.com/
 trust_anchors {
   sha256_hex: "1a0d20445de5ba1862d19ef880858cbce50102b36e8f0a040c3c69e74522fe6e"
-
   ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
@@ -590,7 +554,6 @@
 # https://comodoecccertificationauthority-ev.comodoca.com/
 trust_anchors {
   sha256_hex: "1793927a0614549789adce2f8f34f7f0b66d0f3ae3a3b84d21ec15dbba4fadc7"
-
   ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
@@ -598,7 +561,6 @@
 # https://usertrustecccertificationauthority-ev.comodoca.com/
 trust_anchors {
   sha256_hex: "4ff460d54b9c86dabfbcfc5712e0400d2bed3fbc4d4fbdaa86e06adcd2a9ad7a"
-
   ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
@@ -606,7 +568,6 @@
 # https://comodorsacertificationauthority-ev.comodoca.com/
 trust_anchors {
   sha256_hex: "52f0e1c4e58ec629291b60317f074671b85d7ea80d5b07273463534b32b40234"
-
   ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
@@ -619,36 +580,36 @@
 # https://usertrustrsacertificationauthority-ev.comodoca.com/
 trust_anchors {
   sha256_hex: "e793c9b02fd8aa13e21c31228accb08119643b749c898964b1746d46c3d4cbd2"
-
   ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
 # CN=Secure Global CA, O=SecureTrust Corporation, C=US
 trust_anchors {
   sha256_hex: "4200f5043ac8590ebb527d209ed1503029fbcbd41ca1b506ec27f15ade7dac69"
-
   ev_policy_oids: "2.16.840.1.114404.1.1.2.4.1"
 }
 
 # CN=Trustwave Global ECC P384 Certification Authority, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, C=US
 trust_anchors {
   sha256_hex: "55903859c8c0c3ebb8759ece4e2557225ff5758bbd38ebd48276601e1bd58097"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Trustwave Global ECC P256 Certification Authority, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, C=US
 trust_anchors {
   sha256_hex: "945bbc825ea554f489d1fd51a73ddf2ea624ac7019a05205225c22a78ccfa8b4"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Trustwave Global Certification Authority, O=Trustwave Holdings, Inc., L=Chicago, ST=Illinois, C=US
 trust_anchors {
   sha256_hex: "97552015f5ddfc3c8788c006944555408894450084f100867086bc1a2bb58dc8"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=XRamp Global Certification Authority, O=XRamp Security Services Inc, OU=www.xrampsecurity.com, C=US
 trust_anchors {
   sha256_hex: "cecddc905099d8dadfc5b1d209b737cbe2c18cfb2c10c0ff0bcf0d3286fc1aa2"
-
   ev_policy_oids: "2.16.840.1.114404.1.1.2.4.1"
 }
 
@@ -657,7 +618,6 @@
 # https://www.trustwave.com/
 trust_anchors {
   sha256_hex: "f1c1b50ae5a20dd8030ec9f6bc24823dd367b5255759b4e71b61fce9f7375d73"
-
   ev_policy_oids: "2.16.840.1.114404.1.1.2.4.1"
 }
 
@@ -670,7 +630,6 @@
 # https://rsaevg1.good.sheca.com/
 trust_anchors {
   sha256_hex: "d43af9b35473755c9684fc06d7d8cb70ee5c28e773fb294eb41ee71722924d24"
-
   ev_policy_oids: "2.23.140.1.1"
 }
 
@@ -678,7 +637,6 @@
 # https://test-ev-ecc.ssl.com/
 trust_anchors {
   sha256_hex: "22a2c1f7bded704cc1e701b5f408c310880fe956b5de2a4a44f99c873a25a7c8"
-
   ev_policy_oids: "2.23.140.1.1"
 }
 
@@ -686,7 +644,6 @@
 # https://test-ev-rsa.ssl.com/
 trust_anchors {
   sha256_hex: "2e7bf16cc22485a7bbe2aa8696750761b0ae39be3b2fe9d0cc6d4ef73491425c"
-
   ev_policy_oids: "2.23.140.1.1"
 }
 
@@ -704,7 +661,6 @@
 # https://testevg2.swisssign.net/
 trust_anchors {
   sha256_hex: "62dd0be9b9f50a163ea0f8e75c053b1eca57ea55c8688f647c6881f2c8357b95"
-
   ev_policy_oids: "2.16.756.1.89.1.2.1.1"
 }
 
@@ -717,7 +673,6 @@
 # https://evssldemo3.twca.com.tw/index.html
 trust_anchors {
   sha256_hex: "59769007f7685d0fcd50872f9f95d5755a5b2b457d81f3692b610a98672f0e1b"
-
   ev_policy_oids: "1.3.6.1.4.1.40869.1.1.22.3"
 }
 
@@ -725,7 +680,6 @@
 # https://evssldemo.twca.com.tw/index.html
 trust_anchors {
   sha256_hex: "bfd88fe1101c41ae3e801bf8be56350ee9bad1a6b9bd515edc5c6d5b8711ac44"
-
   ev_policy_oids: "1.3.6.1.4.1.40869.1.1.22.3"
 }
 
@@ -749,14 +703,6 @@
   sha256_hex: "d40e9c86cd8fe468c1776959f49ea774fa548684b6c406f3909261f4dce2575c"
 }
 
-# CN=Network Solutions Certificate Authority, O=Network Solutions L.L.C., C=US
-# https://www.networksolutions.com/website-packages/index.jsp
-trust_anchors {
-  sha256_hex: "001686cd181f83a1b1217d305b365c41e3470a78a1d37b134a98cd547b92dab3"
-
-  ev_policy_oids: "1.3.6.1.4.1.782.1.2.1.8.1"
-}
-
 # CN=Certum EC-384 CA, OU=Certum Certification Authority, O=Asseco Data Systems S.A., C=PL
 trust_anchors {
   sha256_hex: "6b328085625318aa50d173c98d8bda09d57e27413d114cf787a0f5d06c030cf6"
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins
index bfac271c..e1df3c2d 100644
--- a/net/http/transport_security_state_static.pins
+++ b/net/http/transport_security_state_static.pins
@@ -43,9 +43,9 @@
 #   hash function for preloaded entries again (we have already done so once).
 #
 
-# Last updated: 2023-01-13 12:53 UTC
+# Last updated: 2023-01-14 12:54 UTC
 PinsListTimestamp
-1673614427
+1673700847
 
 TestSPKI
 sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc
index e761d5d..24e52b8 100644
--- a/net/quic/quic_chromium_client_session.cc
+++ b/net/quic/quic_chromium_client_session.cc
@@ -992,6 +992,7 @@
     std::unique_ptr<SocketPerformanceWatcher> socket_performance_watcher,
     NetLog* net_log)
     : quic::QuicSpdyClientSessionBase(connection,
+                                      /*visitor=*/nullptr,
                                       push_promise_index.get(),
                                       config,
                                       connection->supported_versions()),
diff --git a/net/quic/quic_chromium_client_stream_test.cc b/net/quic/quic_chromium_client_stream_test.cc
index dd458b83..980ddff 100644
--- a/net/quic/quic_chromium_client_stream_test.cc
+++ b/net/quic/quic_chromium_client_stream_test.cc
@@ -148,6 +148,7 @@
     quic::QuicConnection* connection,
     quic::QuicClientPushPromiseIndex* push_promise_index)
     : quic::QuicSpdyClientSessionBase(connection,
+                                      /*visitor=*/nullptr,
                                       push_promise_index,
                                       quic::test::DefaultQuicConfig(),
                                       connection->supported_versions()) {
diff --git a/net/quic/quic_test_packet_printer.cc b/net/quic/quic_test_packet_printer.cc
index c93a8e9..5424e4f 100644
--- a/net/quic/quic_test_packet_printer.cc
+++ b/net/quic/quic_test_packet_printer.cc
@@ -206,6 +206,9 @@
       const QuicIetfStatelessResetPacket& packet) override {
     *output_ << "OnAuthenticatedIetfStatelessResetPacket\n";
   }
+  void OnAckEcnCounts(const quic::QuicEcnCounts& counts) override {
+    *output_ << "OnAckEcnCounts\n";
+  }
 
  private:
   raw_ptr<QuicFramer> framer_;  // Unowned.
diff --git a/remoting/resources/remoting_strings_en-GB.xtb b/remoting/resources/remoting_strings_en-GB.xtb
index bc34e7b..b686c57 100644
--- a/remoting/resources/remoting_strings_en-GB.xtb
+++ b/remoting/resources/remoting_strings_en-GB.xtb
@@ -4,6 +4,7 @@
 <translation id="1002108253973310084">An incompatible protocol version was detected. Please make sure that you have the latest version of the software installed on both computers and try again.</translation>
 <translation id="1008557486741366299">Not Now</translation>
 <translation id="1201402288615127009">Next</translation>
+<translation id="1296511125400541222">Copyright 2023 The Chromium Authors. All rights reserved.</translation>
 <translation id="1297009705180977556">Error connecting to <ph name="HOSTNAME" /></translation>
 <translation id="1450760146488584666">The requested object does not exist.</translation>
 <translation id="1480046233931937785">Credits</translation>
@@ -88,6 +89,7 @@
 <translation id="4808503597364150972">Please enter your PIN for <ph name="HOSTNAME" />.</translation>
 <translation id="4812684235631257312">Host</translation>
 <translation id="4867841927763172006">Send PrtScn</translation>
+<translation id="4960795469833295568">Copyright 2023 Google LLC. All rights reserved.</translation>
 <translation id="4974476491460646149">Connection closed for <ph name="HOSTNAME" /></translation>
 <translation id="4985296110227979402">You need to first set up your computer for remote access</translation>
 <translation id="4987330545941822761">Chrome Remote Desktop cannot determine the browser to open URLs locally. Please choose it from the list below.</translation>
diff --git a/remoting/resources/remoting_strings_ky.xtb b/remoting/resources/remoting_strings_ky.xtb
index 1948c9f..aee63fa 100644
--- a/remoting/resources/remoting_strings_ky.xtb
+++ b/remoting/resources/remoting_strings_ky.xtb
@@ -173,7 +173,7 @@
 <translation id="8386846956409881180">Хост жараксыз OAuth далдаштырма дайындары менен конфигурацияланган.</translation>
 <translation id="8397385476380433240"><ph name="PRODUCT_NAME" /> кызматына уруксат берүү</translation>
 <translation id="8406498562923498210">Chrome Алыскы иштактаңыздын чөйрөсүндө иштетүү үчүн сеансты тандаңыз. (Сеанстардын айрым түрлөрү Chrome Алыскы иштактада жана жергиликтүү консолдо бир учурда аткарууну колдоого албай калышы мүмкүн.)</translation>
-<translation id="8428213095426709021">Жөндөөлөр</translation>
+<translation id="8428213095426709021">Параметрлер</translation>
 <translation id="8445362773033888690">Google Play Store´до карап көрүү</translation>
 <translation id="8509907436388546015">Иштактаны интеграциялоо процесси</translation>
 <translation id="8513093439376855948">Алыскы хост башкаруусу үчүн түпнуска билдирүү алмашуу кызматы</translation>
diff --git a/remoting/resources/remoting_strings_lt.xtb b/remoting/resources/remoting_strings_lt.xtb
index b9c63b5e..70e4837a 100644
--- a/remoting/resources/remoting_strings_lt.xtb
+++ b/remoting/resources/remoting_strings_lt.xtb
@@ -4,6 +4,7 @@
 <translation id="1002108253973310084">Aptikta nesuderinama protokolo versija. Įsitikinkite, kad įdiegėte naujausios versijos programinę įrangą abiejuose kompiuteriuose ir bandykite dar kartą.</translation>
 <translation id="1008557486741366299">Ne dabar</translation>
 <translation id="1201402288615127009">Kitas</translation>
+<translation id="1296511125400541222">Autorių teisės „The Chromium Authors“, 2023 m. Visos teisės saugomos.</translation>
 <translation id="1297009705180977556">Klaida prisijungiant prie „<ph name="HOSTNAME" />“</translation>
 <translation id="1450760146488584666">Prašomas objektas neegzistuoja.</translation>
 <translation id="1480046233931937785">Titrai</translation>
@@ -88,6 +89,7 @@
 <translation id="4808503597364150972">Įveskite „<ph name="HOSTNAME" />“ PIN kodą.</translation>
 <translation id="4812684235631257312">Priegloba</translation>
 <translation id="4867841927763172006">Siųsti „PrtScn“</translation>
+<translation id="4960795469833295568">Autorių teisės „Google LLC“, 2023 m. Visos teisės saugomos.</translation>
 <translation id="4974476491460646149">Nutrūko ryšys su „<ph name="HOSTNAME" />“</translation>
 <translation id="4985296110227979402">Pirmiausia turite nustatyti nuotolinę kompiuterio prieigą</translation>
 <translation id="4987330545941822761">„Chrome“ nuotolinio kompiuterio valdymo programa negali nustatyti naršyklės, kurią naudojant įrenginyje atidaromi URL. Pasirinkite iš toliau pateikto sąrašo.</translation>
diff --git a/remoting/resources/remoting_strings_pt-PT.xtb b/remoting/resources/remoting_strings_pt-PT.xtb
index cfbfefab..6f96485 100644
--- a/remoting/resources/remoting_strings_pt-PT.xtb
+++ b/remoting/resources/remoting_strings_pt-PT.xtb
@@ -4,6 +4,7 @@
 <translation id="1002108253973310084">Foi detetada uma versão de protocolo incompatível. Certifique-se de que tem a versão mais recente do software instalada em ambos os computadores e tente novamente.</translation>
 <translation id="1008557486741366299">Agora não</translation>
 <translation id="1201402288615127009">Seguinte</translation>
+<translation id="1296511125400541222">Copyright 2023 The Chromium Authors. Todos os direitos reservados.</translation>
 <translation id="1297009705180977556">Erro ao ligar a <ph name="HOSTNAME" /></translation>
 <translation id="1450760146488584666">O objeto solicitado não existe.</translation>
 <translation id="1480046233931937785">Créditos</translation>
@@ -88,6 +89,7 @@
 <translation id="4808503597364150972">Introduza o PIN para <ph name="HOSTNAME" />.</translation>
 <translation id="4812684235631257312">Anfitrião</translation>
 <translation id="4867841927763172006">Enviar PrtScn</translation>
+<translation id="4960795469833295568">Copyright 2023 Google LLC. Todos os direitos reservados.</translation>
 <translation id="4974476491460646149">Ligação a <ph name="HOSTNAME" /> fechada</translation>
 <translation id="4985296110227979402">Primeiro, tem de configurar o computador para acesso remoto</translation>
 <translation id="4987330545941822761">O Ambiente de Trabalho Remoto do Chrome não consegue determinar o navegador para abrir URLs localmente. Escolha-o na lista abaixo.</translation>
diff --git a/testing/buildbot/chrome.json b/testing/buildbot/chrome.json
index ba74294..a79a3d6 100644
--- a/testing/buildbot/chrome.json
+++ b/testing/buildbot/chrome.json
@@ -1902,7 +1902,7 @@
       {
         "args": [],
         "cros_board": "dedede",
-        "cros_img": "dedede-release/R108-15183.69.0",
+        "cros_img": "dedede-release/R109-15236.66.0",
         "name": "lacros_all_tast_tests DEDEDE_RELEASE_STABLE",
         "resultdb": {
           "enable": true,
@@ -2109,7 +2109,7 @@
       {
         "args": [],
         "cros_board": "jacuzzi",
-        "cros_img": "jacuzzi-release/R108-15183.78.0",
+        "cros_img": "jacuzzi-release/R109-15236.66.0",
         "name": "lacros_all_tast_tests JACUZZI_RELEASE_STABLE",
         "resultdb": {
           "enable": true,
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 534dfe4..4e588df 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -5839,9 +5839,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -5853,8 +5853,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -6010,9 +6010,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -6024,8 +6024,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -6162,9 +6162,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -6176,8 +6176,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 1f814bb8..2501eaf 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -83297,9 +83297,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -83311,8 +83311,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -83438,9 +83438,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -83452,8 +83452,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -83565,9 +83565,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -83579,8 +83579,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -84913,9 +84913,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -84926,8 +84926,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -85084,9 +85084,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -85097,8 +85097,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -85236,9 +85236,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -85249,8 +85249,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -86774,9 +86774,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -86787,8 +86787,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -86945,9 +86945,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -86958,8 +86958,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -87097,9 +87097,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -87110,8 +87110,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -87883,9 +87883,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "merge": {
           "args": [],
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -87896,8 +87896,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index de23fe67..544cace 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -18653,12 +18653,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18670,8 +18670,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -18844,12 +18844,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -18861,8 +18861,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
@@ -19011,12 +19011,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 111.0.5537.0",
+        "description": "Run with ash-chrome version 111.0.5538.0",
         "isolate_profile_data": true,
         "merge": {
           "args": [],
@@ -19028,8 +19028,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v111.0.5537.0",
-              "revision": "version:111.0.5537.0"
+              "location": "lacros_version_skew_tests_v111.0.5538.0",
+              "revision": "version:111.0.5538.0"
             }
           ],
           "dimension_sets": [
diff --git a/testing/buildbot/internal.chromeos.fyi.json b/testing/buildbot/internal.chromeos.fyi.json
index a6308b6..ec5b4175 100644
--- a/testing/buildbot/internal.chromeos.fyi.json
+++ b/testing/buildbot/internal.chromeos.fyi.json
@@ -1276,7 +1276,7 @@
       {
         "args": [],
         "cros_board": "hana",
-        "cros_img": "hana-release/R108-15183.78.0",
+        "cros_img": "hana-release/R109-15236.66.0",
         "name": "lacros_all_tast_tests HANA_RELEASE_STABLE",
         "swarming": {},
         "tast_expr": "(\"group:mainline\" && \"dep:lacros\" && !informational)",
@@ -1369,7 +1369,7 @@
       {
         "args": [],
         "cros_board": "hana",
-        "cros_img": "hana-release/R108-15183.78.0",
+        "cros_img": "hana-release/R109-15236.66.0",
         "name": "ozone_unittests HANA_RELEASE_STABLE",
         "swarming": {},
         "test": "ozone_unittests",
@@ -1457,7 +1457,7 @@
       {
         "args": [],
         "cros_board": "hana",
-        "cros_img": "hana-release/R108-15183.78.0",
+        "cros_img": "hana-release/R109-15236.66.0",
         "name": "viz_unittests HANA_RELEASE_STABLE",
         "swarming": {},
         "test": "viz_unittests",
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index 0cc6d357..7c59898 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -22,16 +22,16 @@
   },
   'LACROS_VERSION_SKEW_CANARY': {
     'args': [
-      '--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5537.0/test_ash_chrome',
+      '--ash-chrome-path-override=../../lacros_version_skew_tests_v111.0.5538.0/test_ash_chrome',
     ],
-    'description': 'Run with ash-chrome version 111.0.5537.0',
+    'description': 'Run with ash-chrome version 111.0.5538.0',
     'identifier': 'Lacros version skew testing ash canary',
     'swarming': {
       'cipd_packages': [
         {
           'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
-          'location': 'lacros_version_skew_tests_v111.0.5537.0',
-          'revision': 'version:111.0.5537.0',
+          'location': 'lacros_version_skew_tests_v111.0.5538.0',
+          'revision': 'version:111.0.5538.0',
         },
       ],
     },
@@ -497,8 +497,8 @@
   'CROS_DEDEDE_RELEASE_STABLE': {
     'skylab': {
       'cros_board': 'dedede',
-      'cros_chrome_version': '108.0.5359.111',
-      'cros_img': 'dedede-release/R108-15183.69.0',
+      'cros_chrome_version': '109.0.5414.94',
+      'cros_img': 'dedede-release/R109-15236.66.0',
     },
     'enabled': True,
     'identifier': 'DEDEDE_RELEASE_STABLE',
@@ -579,8 +579,8 @@
   'CROS_HANA_RELEASE_STABLE': {
     'skylab': {
       'cros_board': 'hana',
-      'cros_chrome_version': '108.0.5359.172',
-      'cros_img': 'hana-release/R108-15183.78.0',
+      'cros_chrome_version': '109.0.5414.94',
+      'cros_img': 'hana-release/R109-15236.66.0',
     },
     'enabled': True,
     'identifier': 'HANA_RELEASE_STABLE',
@@ -624,8 +624,8 @@
   'CROS_JACUZZI_RELEASE_STABLE': {
     'skylab': {
       'cros_board': 'jacuzzi',
-      'cros_chrome_version': '108.0.5359.172',
-      'cros_img': 'jacuzzi-release/R108-15183.78.0',
+      'cros_chrome_version': '109.0.5414.94',
+      'cros_img': 'jacuzzi-release/R109-15236.66.0',
     },
     'enabled': True,
     'identifier': 'JACUZZI_RELEASE_STABLE',
diff --git a/third_party/blink/common/interest_group/auction_config.cc b/third_party/blink/common/interest_group/auction_config.cc
index 7e2bd6dd..87ed91f 100644
--- a/third_party/blink/common/interest_group/auction_config.cc
+++ b/third_party/blink/common/interest_group/auction_config.cc
@@ -71,6 +71,12 @@
   if (seller_signals.is_promise()) {
     ++total;
   }
+  if (per_buyer_signals.is_promise()) {
+    ++total;
+  }
+  if (buyer_timeouts.is_promise()) {
+    ++total;
+  }
   for (const blink::AuctionConfig& sub_auction : component_auctions) {
     total += sub_auction.non_shared_params.NumPromises();
   }
@@ -85,9 +91,4 @@
 AuctionConfig& AuctionConfig::operator=(const AuctionConfig&) = default;
 AuctionConfig& AuctionConfig::operator=(AuctionConfig&&) = default;
 
-bool BLINK_COMMON_EXPORT operator==(const AuctionConfig::MaybePromiseJson& a,
-                                    const AuctionConfig::MaybePromiseJson& b) {
-  return a.tag() == b.tag() && a.json_payload() == b.json_payload();
-}
-
 }  // namespace blink
diff --git a/third_party/blink/common/interest_group/auction_config_mojom_traits.cc b/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
index 682e0d3..38a00cd 100644
--- a/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
+++ b/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
@@ -95,6 +95,68 @@
   return false;
 }
 
+bool UnionTraits<
+    blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView,
+    blink::AuctionConfig::MaybePromisePerBuyerSignals>::
+    Read(blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView in,
+         blink::AuctionConfig::MaybePromisePerBuyerSignals* out) {
+  switch (in.tag()) {
+    case blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView::Tag::
+        kPromise:
+      *out = blink::AuctionConfig::MaybePromisePerBuyerSignals::FromPromise();
+      return true;
+
+    case blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView::Tag::
+        kPerBuyerSignals: {
+      absl::optional<base::flat_map<url::Origin, std::string>> payload;
+      if (!in.ReadPerBuyerSignals(&payload)) {
+        return false;
+      }
+      *out = blink::AuctionConfig::MaybePromisePerBuyerSignals::FromValue(
+          std::move(payload));
+      return true;
+    }
+  }
+  NOTREACHED();
+  return false;
+}
+
+bool StructTraits<blink::mojom::AuctionAdConfigBuyerTimeoutsDataView,
+                  blink::AuctionConfig::BuyerTimeouts>::
+    Read(blink::mojom::AuctionAdConfigBuyerTimeoutsDataView data,
+         blink::AuctionConfig::BuyerTimeouts* out) {
+  if (!data.ReadPerBuyerTimeouts(&out->per_buyer_timeouts) ||
+      !data.ReadAllBuyersTimeout(&out->all_buyers_timeout)) {
+    return false;
+  }
+  return true;
+}
+
+bool UnionTraits<blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView,
+                 blink::AuctionConfig::MaybePromiseBuyerTimeouts>::
+    Read(blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView in,
+         blink::AuctionConfig::MaybePromiseBuyerTimeouts* out) {
+  switch (in.tag()) {
+    case blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::Tag::
+        kPromise:
+      *out = blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromPromise();
+      return true;
+
+    case blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::Tag::
+        kValue: {
+      blink::AuctionConfig::BuyerTimeouts payload;
+      if (!in.ReadValue(&payload)) {
+        return false;
+      }
+      *out = blink::AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+          std::move(payload));
+      return true;
+    }
+  }
+  NOTREACHED();
+  return false;
+}
+
 bool StructTraits<blink::mojom::AuctionAdConfigNonSharedParamsDataView,
                   blink::AuctionConfig::NonSharedParams>::
     Read(blink::mojom::AuctionAdConfigNonSharedParamsDataView data,
@@ -104,8 +166,7 @@
       !data.ReadSellerSignals(&out->seller_signals) ||
       !data.ReadSellerTimeout(&out->seller_timeout) ||
       !data.ReadPerBuyerSignals(&out->per_buyer_signals) ||
-      !data.ReadPerBuyerTimeouts(&out->per_buyer_timeouts) ||
-      !data.ReadAllBuyersTimeout(&out->all_buyers_timeout) ||
+      !data.ReadBuyerTimeouts(&out->buyer_timeouts) ||
       !data.ReadPerBuyerGroupLimits(&out->per_buyer_group_limits) ||
       !data.ReadPerBuyerPrioritySignals(&out->per_buyer_priority_signals) ||
       !data.ReadAllBuyersPrioritySignals(&out->all_buyers_priority_signals) ||
diff --git a/third_party/blink/common/interest_group/auction_config_mojom_traits_test.cc b/third_party/blink/common/interest_group/auction_config_mojom_traits_test.cc
index 441c7ef..1970282 100644
--- a/third_party/blink/common/interest_group/auction_config_mojom_traits_test.cc
+++ b/third_party/blink/common/interest_group/auction_config_mojom_traits_test.cc
@@ -29,20 +29,41 @@
                                                  b.auction_signals);
 }
 
+bool operator==(const AuctionConfig::MaybePromiseJson& a,
+                const AuctionConfig::MaybePromiseJson& b) {
+  return a.tag() == b.tag() && a.json_payload() == b.json_payload();
+}
+
+bool operator==(const AuctionConfig::MaybePromisePerBuyerSignals& a,
+                const AuctionConfig::MaybePromisePerBuyerSignals& b) {
+  return a.tag() == b.tag() && a.value() == b.value();
+}
+
+bool operator==(const AuctionConfig::BuyerTimeouts& a,
+                const AuctionConfig::BuyerTimeouts& b) {
+  return std::tie(a.all_buyers_timeout, a.per_buyer_timeouts) ==
+         std::tie(b.all_buyers_timeout, b.per_buyer_timeouts);
+}
+
+bool operator==(const AuctionConfig::MaybePromiseBuyerTimeouts& a,
+                const AuctionConfig::MaybePromiseBuyerTimeouts& b) {
+  return a.tag() == b.tag() && a.value() == b.value();
+}
+
 bool operator==(const AuctionConfig& a, const AuctionConfig& b);
 
 bool operator==(const AuctionConfig::NonSharedParams& a,
                 const AuctionConfig::NonSharedParams& b) {
   return std::tie(a.interest_group_buyers, a.auction_signals, a.seller_signals,
-                  a.seller_timeout, a.per_buyer_signals, a.per_buyer_timeouts,
-                  a.all_buyers_timeout, a.per_buyer_group_limits,
-                  a.all_buyers_group_limit, a.per_buyer_priority_signals,
-                  a.all_buyers_priority_signals, a.component_auctions) ==
+                  a.seller_timeout, a.per_buyer_signals, a.buyer_timeouts,
+                  a.per_buyer_group_limits, a.all_buyers_group_limit,
+                  a.per_buyer_priority_signals, a.all_buyers_priority_signals,
+                  a.component_auctions) ==
          std::tie(b.interest_group_buyers, b.auction_signals, b.seller_signals,
-                  b.seller_timeout, b.per_buyer_signals, b.per_buyer_timeouts,
-                  b.all_buyers_timeout, b.per_buyer_group_limits,
-                  b.all_buyers_group_limit, b.per_buyer_priority_signals,
-                  b.all_buyers_priority_signals, b.component_auctions);
+                  b.seller_timeout, b.per_buyer_signals, b.buyer_timeouts,
+                  b.per_buyer_group_limits, b.all_buyers_group_limit,
+                  b.per_buyer_priority_signals, b.all_buyers_priority_signals,
+                  b.component_auctions);
 }
 
 bool operator==(const AuctionConfig& a, const AuctionConfig& b) {
@@ -101,11 +122,22 @@
   non_shared_params.seller_signals =
       AuctionConfig::MaybePromiseJson::FromJson("[5]");
   non_shared_params.seller_timeout = base::Seconds(6);
-  non_shared_params.per_buyer_signals.emplace();
-  (*non_shared_params.per_buyer_signals)[buyer] = "[7]";
-  non_shared_params.per_buyer_timeouts.emplace();
-  (*non_shared_params.per_buyer_timeouts)[buyer] = base::Seconds(8);
-  non_shared_params.all_buyers_timeout = base::Seconds(9);
+
+  absl::optional<base::flat_map<url::Origin, std::string>> per_buyer_signals;
+  per_buyer_signals.emplace();
+  (*per_buyer_signals)[buyer] = "[7]";
+  non_shared_params.per_buyer_signals =
+      blink::AuctionConfig::MaybePromisePerBuyerSignals::FromValue(
+          std::move(per_buyer_signals));
+
+  AuctionConfig::BuyerTimeouts buyer_timeouts;
+  buyer_timeouts.per_buyer_timeouts.emplace();
+  (*buyer_timeouts.per_buyer_timeouts)[buyer] = base::Seconds(8);
+  buyer_timeouts.all_buyers_timeout = base::Seconds(9);
+  non_shared_params.buyer_timeouts =
+      AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(
+          std::move(buyer_timeouts));
+
   non_shared_params.per_buyer_group_limits[buyer] = 10;
   non_shared_params.all_buyers_group_limit = 11;
   non_shared_params.per_buyer_priority_signals.emplace();
@@ -174,6 +206,38 @@
   return success;
 }
 
+bool SerializeAndDeserialize(
+    const AuctionConfig::MaybePromisePerBuyerSignals& in) {
+  AuctionConfig::MaybePromisePerBuyerSignals out;
+  bool success = mojo::test::SerializeAndDeserialize<
+      blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignals>(in, out);
+  if (success) {
+    EXPECT_EQ(in, out);
+  }
+  return success;
+}
+
+bool SerializeAndDeserialize(const AuctionConfig::BuyerTimeouts& in) {
+  AuctionConfig::BuyerTimeouts out;
+  bool success = mojo::test::SerializeAndDeserialize<
+      blink::mojom::AuctionAdConfigBuyerTimeouts>(in, out);
+  if (success) {
+    EXPECT_EQ(in, out);
+  }
+  return success;
+}
+
+bool SerializeAndDeserialize(
+    const AuctionConfig::MaybePromiseBuyerTimeouts& in) {
+  AuctionConfig::MaybePromiseBuyerTimeouts out;
+  bool success = mojo::test::SerializeAndDeserialize<
+      blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeouts>(in, out);
+  if (success) {
+    EXPECT_EQ(in, out);
+  }
+  return success;
+}
+
 TEST(AuctionConfigMojomTraitsTest, Empty) {
   AuctionConfig auction_config;
   EXPECT_FALSE(SerializeAndDeserialize(auction_config));
@@ -361,6 +425,62 @@
   }
 }
 
+TEST(AuctionConfigMojomTraitsTest, MaybePromisePerBuyerSignals) {
+  {
+    absl::optional<base::flat_map<url::Origin, std::string>> value;
+    value.emplace();
+    value->emplace(url::Origin::Create(GURL("https://example.com")), "42");
+    AuctionConfig::MaybePromisePerBuyerSignals signals =
+        AuctionConfig::MaybePromisePerBuyerSignals::FromValue(std::move(value));
+    EXPECT_TRUE(SerializeAndDeserialize(signals));
+  }
+
+  {
+    AuctionConfig::MaybePromisePerBuyerSignals signals =
+        AuctionConfig::MaybePromisePerBuyerSignals::FromPromise();
+    EXPECT_TRUE(SerializeAndDeserialize(signals));
+  }
+}
+
+TEST(AuctionConfigMojomTraitsTest, BuyerTimeouts) {
+  {
+    AuctionConfig::BuyerTimeouts value;
+    value.all_buyers_timeout.emplace(base::Milliseconds(10));
+    value.per_buyer_timeouts.emplace();
+    value.per_buyer_timeouts->emplace(
+        url::Origin::Create(GURL("https://example.com")),
+        base::Milliseconds(50));
+    value.per_buyer_timeouts->emplace(
+        url::Origin::Create(GURL("https://example.org")),
+        base::Milliseconds(20));
+    EXPECT_TRUE(SerializeAndDeserialize(value));
+  }
+  {
+    AuctionConfig::BuyerTimeouts value;
+    EXPECT_TRUE(SerializeAndDeserialize(value));
+  }
+}
+
+TEST(AuctionConfigMojomTraitsTest, MaybePromiseBuyerTimeouts) {
+  {
+    AuctionConfig::BuyerTimeouts value;
+    value.all_buyers_timeout.emplace(base::Milliseconds(10));
+    value.per_buyer_timeouts.emplace();
+    value.per_buyer_timeouts->emplace(
+        url::Origin::Create(GURL("https://example.com")),
+        base::Milliseconds(50));
+    AuctionConfig::MaybePromiseBuyerTimeouts timeouts =
+        AuctionConfig::MaybePromiseBuyerTimeouts::FromValue(std::move(value));
+    EXPECT_TRUE(SerializeAndDeserialize(timeouts));
+  }
+
+  {
+    AuctionConfig::MaybePromiseBuyerTimeouts timeouts =
+        AuctionConfig::MaybePromiseBuyerTimeouts::FromPromise();
+    EXPECT_TRUE(SerializeAndDeserialize(timeouts));
+  }
+}
+
 class AuctionConfigMojomTraitsDirectFromSellerSignalsTest
     : public ::testing::TestWithParam<std::tuple<const char*, const char*>> {
  public:
diff --git a/third_party/blink/public/common/interest_group/auction_config.h b/third_party/blink/public/common/interest_group/auction_config.h
index c4ee8f8..839a38de 100644
--- a/third_party/blink/public/common/interest_group/auction_config.h
+++ b/third_party/blink/public/common/interest_group/auction_config.h
@@ -82,6 +82,7 @@
   // - kJson, meaning a JSON value is passed in.
   class BLINK_COMMON_EXPORT MaybePromiseJson {
    public:
+    // TODO(morlovich): Switch this to match simpler scheme of others like this?
     enum class Tag { kNothing, kPromise, kJson };
 
     MaybePromiseJson();
@@ -130,6 +131,88 @@
     std::string json_payload_;
   };
 
+  // Representation of per_buyer_signals field in auction configuration, either
+  // as its value (tag() == kPerBuyerSignals) or a promise to deliver it later
+  // via ResolvedPerBuyerSignalsPromise.
+  //
+  // Typemapped to blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignals.
+  class BLINK_COMMON_EXPORT MaybePromisePerBuyerSignals {
+   public:
+    enum class Tag { kPromise, kPerBuyerSignals };
+
+    bool is_promise() const { return tag_ == Tag::kPromise; }
+
+    static MaybePromisePerBuyerSignals FromPromise() {
+      MaybePromisePerBuyerSignals result;
+      result.tag_ = Tag::kPromise;
+      return result;
+    }
+
+    static MaybePromisePerBuyerSignals FromValue(
+        absl::optional<base::flat_map<url::Origin, std::string>> value_in) {
+      MaybePromisePerBuyerSignals result;
+      result.value_ = std::move(value_in);
+      result.tag_ = Tag::kPerBuyerSignals;
+      return result;
+    }
+
+    Tag tag() const { return tag_; }
+    const absl::optional<base::flat_map<url::Origin, std::string>>& value()
+        const {
+      return value_;
+    }
+
+   private:
+    Tag tag_ = Tag::kPerBuyerSignals;
+    absl::optional<base::flat_map<url::Origin, std::string>> value_;
+  };
+
+  // Representation of bidder timeouts, including optional global and per-origin
+  // timeouts.
+  //
+  // Typemapped to blink::mojom::AuctionAdConfigBuyerTimeouts.
+  struct BuyerTimeouts {
+    // The value restricts generateBid() script's runtime of all buyers with
+    // unspecified timeouts, if present.
+    absl::optional<base::TimeDelta> all_buyers_timeout;
+
+    // Values restrict the runtime of particular buyer's generateBid() scripts.
+    absl::optional<base::flat_map<url::Origin, base::TimeDelta>>
+        per_buyer_timeouts;
+  };
+
+  // Representation of per_buyer_timeouts field in auction configuration, either
+  // as its value (tag() == kValue) or a promise to deliver it later
+  // via ResolvedBuyerTimeoutsPromise.
+  //
+  // Typemapped to blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeouts
+  class BLINK_COMMON_EXPORT MaybePromiseBuyerTimeouts {
+   public:
+    enum class Tag { kPromise, kValue };
+
+    bool is_promise() const { return tag_ == Tag::kPromise; }
+
+    static MaybePromiseBuyerTimeouts FromPromise() {
+      MaybePromiseBuyerTimeouts result;
+      result.tag_ = Tag::kPromise;
+      return result;
+    }
+
+    static MaybePromiseBuyerTimeouts FromValue(BuyerTimeouts value_in) {
+      MaybePromiseBuyerTimeouts result;
+      result.value_ = std::move(value_in);
+      result.tag_ = Tag::kValue;
+      return result;
+    }
+
+    Tag tag() const { return tag_; }
+    const BuyerTimeouts& value() const { return value_; }
+
+   private:
+    Tag tag_ = Tag::kValue;
+    BuyerTimeouts value_;
+  };
+
   // Subset of AuctionConfig that is not shared by all auctions that are
   // using the same SellerWorklet object (so it's "not shared" between
   // AuctionConfigs that share the same SellerWorklet). Other AuctionConfig
@@ -165,15 +248,10 @@
     absl::optional<base::TimeDelta> seller_timeout;
 
     // Value is opaque JSON data, passed as object to particular buyers.
-    absl::optional<base::flat_map<url::Origin, std::string>> per_buyer_signals;
+    MaybePromisePerBuyerSignals per_buyer_signals;
 
-    // Values restrict the runtime of particular buyer's generateBid() scripts.
-    absl::optional<base::flat_map<url::Origin, base::TimeDelta>>
-        per_buyer_timeouts;
-
-    // The value restricts generateBid() script's runtime of all buyers with
-    // unspecified timeouts, if present.
-    absl::optional<base::TimeDelta> all_buyers_timeout;
+    // Values restrict the runtime of generateBid() scripts.
+    MaybePromiseBuyerTimeouts buyer_timeouts;
 
     // Values restrict the number of bidding interest groups for a particular
     // buyer that can participate in an auction. Values must be greater than 0.
@@ -232,9 +310,6 @@
   base::flat_map<url::Origin, uint16_t> per_buyer_experiment_group_ids;
 };
 
-bool BLINK_COMMON_EXPORT operator==(const AuctionConfig::MaybePromiseJson& a,
-                                    const AuctionConfig::MaybePromiseJson& b);
-
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_PUBLIC_COMMON_INTEREST_GROUP_AUCTION_CONFIG_H_
diff --git a/third_party/blink/public/common/interest_group/auction_config_mojom_traits.h b/third_party/blink/public/common/interest_group/auction_config_mojom_traits.h
index 0da23ad6..1846840 100644
--- a/third_party/blink/public/common/interest_group/auction_config_mojom_traits.h
+++ b/third_party/blink/public/common/interest_group/auction_config_mojom_traits.h
@@ -100,11 +100,11 @@
   }
 
   static uint32_t nothing(const blink::AuctionConfig::MaybePromiseJson& value) {
-    return 0u;
+    return 0u;  // Ignored placeholder value.
   }
 
   static uint32_t promise(const blink::AuctionConfig::MaybePromiseJson& value) {
-    return 0u;
+    return 0u;  // Ignored placeholder value.
   }
 
   static const std::string& json(
@@ -117,6 +117,95 @@
 };
 
 template <>
+struct BLINK_COMMON_EXPORT UnionTraits<
+    blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView,
+    blink::AuctionConfig::MaybePromisePerBuyerSignals> {
+  static blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView::Tag
+  GetTag(const blink::AuctionConfig::MaybePromisePerBuyerSignals& value) {
+    switch (value.tag()) {
+      case blink::AuctionConfig::MaybePromisePerBuyerSignals::Tag::kPromise:
+        return blink::mojom::
+            AuctionAdConfigMaybePromisePerBuyerSignalsDataView::Tag::kPromise;
+      case blink::AuctionConfig::MaybePromisePerBuyerSignals::Tag::
+          kPerBuyerSignals:
+        return blink::mojom::
+            AuctionAdConfigMaybePromisePerBuyerSignalsDataView::Tag::
+                kPerBuyerSignals;
+    }
+    NOTREACHED();
+    return blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView::
+        Tag::kPerBuyerSignals;
+  }
+
+  static uint32_t promise(
+      const blink::AuctionConfig::MaybePromisePerBuyerSignals& value) {
+    return 0u;  // Ignored placeholder value.
+  }
+
+  static const absl::optional<base::flat_map<url::Origin, std::string>>&
+  per_buyer_signals(
+      const blink::AuctionConfig::MaybePromisePerBuyerSignals& value) {
+    return value.value();
+  }
+
+  static bool Read(
+      blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView in,
+      blink::AuctionConfig::MaybePromisePerBuyerSignals* out);
+};
+
+template <>
+struct BLINK_COMMON_EXPORT
+    StructTraits<blink::mojom::AuctionAdConfigBuyerTimeoutsDataView,
+                 blink::AuctionConfig::BuyerTimeouts> {
+  static const absl::optional<base::flat_map<url::Origin, base::TimeDelta>>&
+  per_buyer_timeouts(const blink::AuctionConfig::BuyerTimeouts& params) {
+    return params.per_buyer_timeouts;
+  }
+
+  static const absl::optional<base::TimeDelta>& all_buyers_timeout(
+      const blink::AuctionConfig::BuyerTimeouts& params) {
+    return params.all_buyers_timeout;
+  }
+
+  static bool Read(blink::mojom::AuctionAdConfigBuyerTimeoutsDataView data,
+                   blink::AuctionConfig::BuyerTimeouts* out);
+};
+
+template <>
+struct BLINK_COMMON_EXPORT
+    UnionTraits<blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView,
+                blink::AuctionConfig::MaybePromiseBuyerTimeouts> {
+  static blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::Tag
+  GetTag(const blink::AuctionConfig::MaybePromiseBuyerTimeouts& value) {
+    switch (value.tag()) {
+      case blink::AuctionConfig::MaybePromiseBuyerTimeouts::Tag::kPromise:
+        return blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::
+            Tag::kPromise;
+      case blink::AuctionConfig::MaybePromiseBuyerTimeouts::Tag::kValue:
+        return blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::
+            Tag::kValue;
+    }
+    NOTREACHED();
+    return blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::Tag::
+        kValue;
+  }
+
+  static uint32_t promise(
+      const blink::AuctionConfig::MaybePromiseBuyerTimeouts& value) {
+    return 0u;  // Ignored placeholder value.
+  }
+
+  static const blink::AuctionConfig::BuyerTimeouts& value(
+      const blink::AuctionConfig::MaybePromiseBuyerTimeouts& value) {
+    return value.value();
+  }
+
+  static bool Read(
+      blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView in,
+      blink::AuctionConfig::MaybePromiseBuyerTimeouts* out);
+};
+
+template <>
 struct BLINK_COMMON_EXPORT
     StructTraits<blink::mojom::AuctionAdConfigNonSharedParamsDataView,
                  blink::AuctionConfig::NonSharedParams> {
@@ -140,19 +229,14 @@
     return params.seller_timeout;
   }
 
-  static const absl::optional<base::flat_map<url::Origin, std::string>>&
+  static const blink::AuctionConfig::MaybePromisePerBuyerSignals&
   per_buyer_signals(const blink::AuctionConfig::NonSharedParams& params) {
     return params.per_buyer_signals;
   }
 
-  static const absl::optional<base::flat_map<url::Origin, base::TimeDelta>>&
-  per_buyer_timeouts(const blink::AuctionConfig::NonSharedParams& params) {
-    return params.per_buyer_timeouts;
-  }
-
-  static const absl::optional<base::TimeDelta>& all_buyers_timeout(
+  static const blink::AuctionConfig::MaybePromiseBuyerTimeouts& buyer_timeouts(
       const blink::AuctionConfig::NonSharedParams& params) {
-    return params.all_buyers_timeout;
+    return params.buyer_timeouts;
   }
 
   static const base::flat_map<url::Origin, std::uint16_t>&
diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn
index e1600cb..0b193a88 100644
--- a/third_party/blink/public/mojom/BUILD.gn
+++ b/third_party/blink/public/mojom/BUILD.gn
@@ -626,6 +626,36 @@
     {
       types = [
         {
+          mojom = "blink.mojom.AuctionAdConfigMaybePromisePerBuyerSignals"
+          cpp = "::blink::AuctionConfig::MaybePromisePerBuyerSignals"
+        },
+      ]
+      traits_headers = [ "//third_party/blink/public/common/interest_group/auction_config_mojom_traits.h" ]
+      traits_public_deps = [ "//url/mojom:mojom_traits" ]
+    },
+    {
+      types = [
+        {
+          mojom = "blink.mojom.AuctionAdConfigBuyerTimeouts"
+          cpp = "::blink::AuctionConfig::BuyerTimeouts"
+        },
+      ]
+      traits_headers = [ "//third_party/blink/public/common/interest_group/auction_config_mojom_traits.h" ]
+      traits_public_deps = [ "//url/mojom:mojom_traits" ]
+    },
+    {
+      types = [
+        {
+          mojom = "blink.mojom.AuctionAdConfigMaybePromiseBuyerTimeouts"
+          cpp = "::blink::AuctionConfig::MaybePromiseBuyerTimeouts"
+        },
+      ]
+      traits_headers = [ "//third_party/blink/public/common/interest_group/auction_config_mojom_traits.h" ]
+      traits_public_deps = [ "//url/mojom:mojom_traits" ]
+    },
+    {
+      types = [
+        {
           mojom = "blink.mojom.AuctionAdConfigNonSharedParams"
           cpp = "::blink::AuctionConfig::NonSharedParams"
         },
diff --git a/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom b/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom
index d23c238..bb2a1bb 100644
--- a/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom
+++ b/third_party/blink/public/mojom/interest_group/ad_auction_service.mojom
@@ -7,6 +7,7 @@
 import "third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom";
 import "third_party/blink/public/mojom/parakeet/ad_request.mojom";
 import "third_party/blink/public/mojom/interest_group/interest_group_types.mojom";
+import "mojo/public/mojom/base/time.mojom";
 import "url/mojom/origin.mojom";
 import "url/mojom/url.mojom";
 
@@ -32,13 +33,23 @@
 
 // Used to provide a way of aborting a call to AdAuctionService.RunAdAuction
 interface AbortableAdAuction {
-  // This method should be called to provide a value for part of auction
+  // These methods should be called to provide a value for part of auction
   // configuration that was passed in as a Promise initially. Has no effect
   // if the auction has already been cancelled (e.g. due to a different
   // promise rejecting).
   ResolvedPromiseParam(AuctionAdConfigAuctionId auction,
                        AuctionAdConfigField field,
                        string? json_value);
+  // Used to provide result of resolving a promise specifying
+  // `per_buyer_signals` field of an AuctionConfig.
+  ResolvedPerBuyerSignalsPromise(
+      AuctionAdConfigAuctionId auction,
+      map<url.mojom.Origin, string>? per_buyer_signals);
+  // Used to provide result of resolving a promise specifying
+  // `per_buyer_timeouts` field of an AuctionConfig.
+  ResolvedBuyerTimeoutsPromise(
+      AuctionAdConfigAuctionId auction,
+      AuctionAdConfigBuyerTimeouts buyer_timeouts);
 
   // Aborts the auction for which the receiver for this pipe was passed to
   // RunAdAuction(), unless the auction has already finished (with at most
diff --git a/third_party/blink/public/mojom/interest_group/interest_group_types.mojom b/third_party/blink/public/mojom/interest_group/interest_group_types.mojom
index 124a048..dda0ec4 100644
--- a/third_party/blink/public/mojom/interest_group/interest_group_types.mojom
+++ b/third_party/blink/public/mojom/interest_group/interest_group_types.mojom
@@ -195,6 +195,32 @@
   string json;
 };
 
+// See blink::AuctionConfig::MaybePromisePerBuyerSignals
+union AuctionAdConfigMaybePromisePerBuyerSignals {
+  uint32 promise;  // value unused
+
+  // Keys of `per_buyer_signals` must be valid HTTPS origins. Value is opaque
+  // JSON data, passed as object to auction worklet.
+  map<url.mojom.Origin, string>? per_buyer_signals;
+};
+
+// See blink::AuctionConfig::BuyerTimeouts
+struct AuctionAdConfigBuyerTimeouts {
+  // The value restricts generateBid() script's runtime of all buyers with
+  // unspecified timeouts, if not Null.
+  mojo_base.mojom.TimeDelta? all_buyers_timeout;
+
+  // Keys of `per_buyer_timeouts` must be valid HTTPS origins. Values restrict
+  // the runtime of particular buyer's generateBid() scripts.
+  map<url.mojom.Origin, mojo_base.mojom.TimeDelta>? per_buyer_timeouts;
+};
+
+// See blink::AuctionConfig::MaybePromisePerBuyerTimeouts
+union AuctionAdConfigMaybePromiseBuyerTimeouts {
+  uint32 promise;  // value unused
+  AuctionAdConfigBuyerTimeouts value;
+};
+
 // Subset of AuctionAdConfig that is not shared by all auctions that are
 // using the same SellerWorklet object (so it's "not shared" between
 // AuctionConfigs that share the same SellerWorklet). Other AuctionAdConfig
@@ -219,17 +245,9 @@
   // The value restricts the runtime of the seller's scoreAd() script.
   mojo_base.mojom.TimeDelta? seller_timeout;
 
-  // Keys of `per_buyer_signals` must be valid HTTPS origins. Value is opaque
-  // JSON data, passed as object to auction worklet.
-  map<url.mojom.Origin, string>? per_buyer_signals;
+  AuctionAdConfigMaybePromisePerBuyerSignals per_buyer_signals;
 
-  // Keys of `per_buyer_timeouts` must be valid HTTPS origins. Values restrict
-  // the runtime of particular buyer's generateBid() scripts.
-  map<url.mojom.Origin, mojo_base.mojom.TimeDelta>? per_buyer_timeouts;
-
-  // The value restricts generateBid() script's runtime of all buyers with
-  // unspecified timeouts, if not Null.
-  mojo_base.mojom.TimeDelta? all_buyers_timeout;
+  AuctionAdConfigMaybePromiseBuyerTimeouts buyer_timeouts;
 
   // Keys of `per_buyer_group_limits` must be valid HTTPS origins. Values
   // restrict the number of bidding interest groups for a particular buyer
diff --git a/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb b/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb
index 35c1d82..fcf7609 100644
--- a/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb
+++ b/third_party/blink/public/strings/translations/blink_accessibility_strings_ky.xtb
@@ -56,7 +56,7 @@
 <translation id="5838904342468928321">Булут сүрөтчөсү</translation>
 <translation id="6054619856758804514">Таштанды кутусунун сүрөтчөсү, Жок кылуу маанисинде колдонулушу мүмкүн</translation>
 <translation id="6054638203631275602">Бактылуу жүз сүрөтчөсү</translation>
-<translation id="608465159662359598">Тиштүү дөңгөлөктүн же ачкычтын сүрөтчөсү, Жөндөөлөр маанисинде колдонулушу мүмкүн</translation>
+<translation id="608465159662359598">Тиштүү дөңгөлөктүн же ачкычтын сүрөтчөсү, Параметрлер маанисинде колдонулушу мүмкүн</translation>
 <translation id="6209276755895393898">Төмөнкү болуп чыкты: <ph name="DESCRIPTION" /></translation>
 <translation id="6240633443440794881">Конверттин сүрөтчөсү, Почта маанисинде колдонулушу мүмкүн</translation>
 <translation id="6247212328664111379">Адамдын сүрөтчөсү</translation>
diff --git a/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl b/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
index 15bcceb6f..03f3817 100644
--- a/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
+++ b/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
@@ -15,8 +15,11 @@
   USVString directFromSellerSignals;
   unsigned long long sellerTimeout;
   unsigned short sellerExperimentGroupId;
-  record<USVString, any> perBuyerSignals;
-  record<USVString, unsigned long long> perBuyerTimeouts;
+  // Really (record<USVString, any> or Promise<record<USVString, any>>)
+  any perBuyerSignals;
+  // Really (record<USVString, unsigned long long> or
+  //         Promise<record<USVString, unsigned long long>>)
+  any perBuyerTimeouts;
   record<USVString, unsigned short> perBuyerGroupLimits;
   record<USVString, unsigned short> perBuyerExperimentGroupIds;
   record<USVString, record<USVString, double>> perBuyerPrioritySignals;
diff --git a/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc b/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc
index adcf5f7..5b12f23 100644
--- a/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc
+++ b/third_party/blink/renderer/modules/ad_auction/navigator_auction.cc
@@ -22,6 +22,7 @@
 #include "third_party/blink/public/mojom/parakeet/ad_request.mojom-blink.h"
 #include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-blink.h"
 #include "third_party/blink/public/web/web_console_message.h"
+#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_function.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
@@ -67,17 +68,53 @@
  public:
   class JsonResolved : public ScriptFunction::Callable {
    public:
+    // `field_name` is expected to point to a literal.
     JsonResolved(AuctionHandle* auction_handle,
                  mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
-                 mojom::blink::AuctionAdConfigField field);
+                 mojom::blink::AuctionAdConfigField field,
+                 const String& seller_name,
+                 const char* field_name);
 
     ScriptValue Call(ScriptState* script_state, ScriptValue value) override;
     void Trace(Visitor* visitor) const override;
 
    private:
     Member<AuctionHandle> auction_handle_;
-    mojom::blink::AuctionAdConfigAuctionIdPtr auction_id_;
-    mojom::blink::AuctionAdConfigField field_;
+    const mojom::blink::AuctionAdConfigAuctionIdPtr auction_id_;
+    const mojom::blink::AuctionAdConfigField field_;
+    const String seller_name_;
+    const char* const field_name_;
+  };
+
+  class PerBuyerSignalsResolved : public ScriptFunction::Callable {
+   public:
+    PerBuyerSignalsResolved(
+        AuctionHandle* auction_handle,
+        mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
+        const String& seller_name);
+
+    ScriptValue Call(ScriptState* script_state, ScriptValue value) override;
+    void Trace(Visitor* visitor) const override;
+
+   private:
+    Member<AuctionHandle> auction_handle_;
+    const mojom::blink::AuctionAdConfigAuctionIdPtr auction_id_;
+    const String seller_name_;
+  };
+
+  class BuyerTimeoutsResolved : public ScriptFunction::Callable {
+   public:
+    BuyerTimeoutsResolved(AuctionHandle* auction_handle,
+                          mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
+                          const String& seller_name);
+
+    ScriptValue Call(ScriptState* script_state, ScriptValue value) override;
+    void Trace(Visitor* visitor) const override;
+
+   private:
+    Member<AuctionHandle> auction_handle_;
+    const mojom::blink::AuctionAdConfigAuctionIdPtr auction_id_;
+    const String seller_name_;
   };
 
   class Rejected : public ScriptFunction::Callable {
@@ -109,6 +146,21 @@
                                                 json_value);
   }
 
+  void ResolvedPerBuyerSignalsPromise(
+      mojom::blink::AuctionAdConfigAuctionIdPtr auction,
+      const absl::optional<WTF::HashMap<scoped_refptr<const SecurityOrigin>,
+                                        String>>& per_buyer_signals) {
+    abortable_ad_auction_->ResolvedPerBuyerSignalsPromise(std::move(auction),
+                                                          per_buyer_signals);
+  }
+
+  void ResolvedBuyerTimeoutsPromise(
+      mojom::blink::AuctionAdConfigAuctionIdPtr auction,
+      mojom::blink::AuctionAdConfigBuyerTimeoutsPtr buyer_timeouts) {
+    abortable_ad_auction_->ResolvedBuyerTimeoutsPromise(
+        std::move(auction), std::move(buyer_timeouts));
+  }
+
   // AbortSignal::Algorithm implementation:
   void Run() override { Abort(); }
 
@@ -151,21 +203,34 @@
       group.name().Utf8().c_str());
 }
 
+String ErrorInvalidAuctionConfigSeller(const String& seller_name,
+                                       const String& field_name,
+                                       const String& field_value,
+                                       const String& error) {
+  return String::Format("%s '%s' for AuctionAdConfig with seller '%s' %s",
+                        field_name.Utf8().c_str(), field_value.Utf8().c_str(),
+                        seller_name.Utf8().c_str(), error.Utf8().c_str());
+}
+
 String ErrorInvalidAuctionConfig(const AuctionAdConfig& config,
                                  const String& field_name,
                                  const String& field_value,
                                  const String& error) {
-  return String::Format("%s '%s' for AuctionAdConfig with seller '%s' %s",
-                        field_name.Utf8().c_str(), field_value.Utf8().c_str(),
-                        config.seller().Utf8().c_str(), error.Utf8().c_str());
+  return ErrorInvalidAuctionConfigSeller(config.seller(), field_name,
+                                         field_value, error);
+}
+
+String ErrorInvalidAuctionConfigSellerJson(const String& seller_name,
+                                           const String& field_name) {
+  return String::Format(
+      "%s for AuctionAdConfig with seller '%s' must be a JSON-serializable "
+      "object.",
+      field_name.Utf8().c_str(), seller_name.Utf8().c_str());
 }
 
 String ErrorInvalidAuctionConfigJson(const AuctionAdConfig& config,
                                      const String& field_name) {
-  return String::Format(
-      "%s for AuctionAdConfig with seller '%s' must be a JSON-serializable "
-      "object.",
-      field_name.Utf8().c_str(), config.seller().Utf8().c_str());
+  return ErrorInvalidAuctionConfigSellerJson(config.seller(), field_name);
 }
 
 String ErrorInvalidAdRequestConfig(const AdRequestConfig& config,
@@ -769,7 +834,8 @@
         MakeGarbageCollected<ScriptFunction>(
             &script_state,
             MakeGarbageCollected<NavigatorAuction::AuctionHandle::JsonResolved>(
-                auction_handle, auction_id->Clone(), field)),
+                auction_handle, auction_id->Clone(), field, input.seller(),
+                field_name)),
         MakeGarbageCollected<ScriptFunction>(
             &script_state,
             MakeGarbageCollected<NavigatorAuction::AuctionHandle::Rejected>(
@@ -947,62 +1013,168 @@
   return true;
 }
 
-bool CopyPerBuyerSignalsFromIdlToMojo(const ScriptState& script_state,
-                                      ExceptionState& exception_state,
-                                      const AuctionAdConfig& input,
-                                      mojom::blink::AuctionAdConfig& output) {
-  if (!input.hasPerBuyerSignals())
-    return true;
-  output.auction_ad_config_non_shared_params->per_buyer_signals.emplace();
-  for (const auto& per_buyer_signal : input.perBuyerSignals()) {
+// Returns nullopt + sets exception on failure, or returns a concrete value.
+absl::optional<HashMap<scoped_refptr<const SecurityOrigin>, String>>
+ConvertNonPromisePerBuyerSignalsFromV8ToMojo(const ScriptState& script_state,
+                                             ExceptionState& exception_state,
+                                             const String& seller_name,
+                                             v8::Local<v8::Value> value) {
+  HeapVector<std::pair<WTF::String, blink::ScriptValue>> decoded =
+      NativeValueTraits<IDLRecord<IDLUSVString, IDLAny>>::NativeValue(
+          script_state.GetIsolate(), value, exception_state);
+  if (exception_state.HadException()) {
+    return absl::nullopt;
+  }
+
+  absl::optional<HashMap<scoped_refptr<const SecurityOrigin>, String>>
+      per_buyer_signals;
+
+  per_buyer_signals.emplace();
+  for (const auto& per_buyer_signal : decoded) {
     scoped_refptr<const SecurityOrigin> buyer =
         ParseOrigin(per_buyer_signal.first);
     if (!buyer) {
-      exception_state.ThrowTypeError(ErrorInvalidAuctionConfig(
-          input, "perBuyerSignals buyer", per_buyer_signal.first,
+      exception_state.ThrowTypeError(ErrorInvalidAuctionConfigSeller(
+          seller_name, "perBuyerSignals buyer", per_buyer_signal.first,
           "must be a valid https origin."));
-      return false;
+      return absl::nullopt;
     }
     String buyer_signals_str;
     if (!Jsonify(script_state, per_buyer_signal.second.V8Value(),
                  buyer_signals_str)) {
       exception_state.ThrowTypeError(
-          ErrorInvalidAuctionConfigJson(input, "perBuyerSignals"));
-      return false;
+          ErrorInvalidAuctionConfigSellerJson(seller_name, "perBuyerSignals"));
+      return absl::nullopt;
     }
-    output.auction_ad_config_non_shared_params->per_buyer_signals->insert(
-        buyer, std::move(buyer_signals_str));
+    per_buyer_signals->insert(buyer, std::move(buyer_signals_str));
   }
 
-  return true;
+  return per_buyer_signals;
 }
 
-bool CopyPerBuyerTimeoutsFromIdlToMojo(const ScriptState& script_state,
-                                       ExceptionState& exception_state,
-                                       const AuctionAdConfig& input,
-                                       mojom::blink::AuctionAdConfig& output) {
-  if (!input.hasPerBuyerTimeouts())
+bool CopyPerBuyerSignalsFromIdlToMojo(
+    NavigatorAuction::AuctionHandle* auction_handle,
+    const mojom::blink::AuctionAdConfigAuctionId* auction_id,
+    ScriptState& script_state,
+    ExceptionState& exception_state,
+    const AuctionAdConfig& input,
+    mojom::blink::AuctionAdConfig& output) {
+  if (!input.hasPerBuyerSignals()) {
+    output.auction_ad_config_non_shared_params->per_buyer_signals =
+        mojom::blink::AuctionAdConfigMaybePromisePerBuyerSignals::
+            NewPerBuyerSignals(absl::nullopt);
     return true;
-  output.auction_ad_config_non_shared_params->per_buyer_timeouts.emplace();
-  for (const auto& per_buyer_timeout : input.perBuyerTimeouts()) {
+  }
+
+  v8::Local<v8::Value> value = input.perBuyerSignals().V8Value();
+  if (auction_handle && value->IsPromise()) {
+    ScriptPromise promise(&script_state, value);
+    promise.Then(
+        MakeGarbageCollected<ScriptFunction>(
+            &script_state,
+            MakeGarbageCollected<
+                NavigatorAuction::AuctionHandle::PerBuyerSignalsResolved>(
+                auction_handle, auction_id->Clone(), input.seller())),
+        MakeGarbageCollected<ScriptFunction>(
+            &script_state,
+            MakeGarbageCollected<NavigatorAuction::AuctionHandle::Rejected>(
+                auction_handle)));
+    output.auction_ad_config_non_shared_params->per_buyer_signals =
+        mojom::blink::AuctionAdConfigMaybePromisePerBuyerSignals::NewPromise(0);
+    return true;
+  }
+
+  auto per_buyer_signals = ConvertNonPromisePerBuyerSignalsFromV8ToMojo(
+      script_state, exception_state, input.seller(), value);
+  if (per_buyer_signals.has_value()) {
+    output.auction_ad_config_non_shared_params->per_buyer_signals =
+        mojom::blink::AuctionAdConfigMaybePromisePerBuyerSignals::
+            NewPerBuyerSignals(per_buyer_signals);
+    return true;
+  }
+
+  return false;
+}
+
+// Returns nullptr + sets exception on failure, or returns a concrete value.
+mojom::blink::AuctionAdConfigBuyerTimeoutsPtr
+ConvertNonPromisePerBuyerTimeoutsFromV8ToMojo(const ScriptState& script_state,
+                                              ExceptionState& exception_state,
+                                              const String& seller_name,
+                                              v8::Local<v8::Value> value) {
+  Vector<std::pair<String, uint64_t>> decoded =
+      NativeValueTraits<IDLRecord<IDLUSVString, IDLUnsignedLongLong>>::
+          NativeValue(script_state.GetIsolate(), value, exception_state);
+  if (exception_state.HadException()) {
+    return nullptr;
+  }
+
+  mojom::blink::AuctionAdConfigBuyerTimeoutsPtr buyer_timeouts =
+      mojom::blink::AuctionAdConfigBuyerTimeouts::New();
+  buyer_timeouts->per_buyer_timeouts.emplace();
+  for (const auto& per_buyer_timeout : decoded) {
     if (per_buyer_timeout.first == "*") {
-      output.auction_ad_config_non_shared_params->all_buyers_timeout =
+      buyer_timeouts->all_buyers_timeout =
           base::Milliseconds(per_buyer_timeout.second);
       continue;
     }
     scoped_refptr<const SecurityOrigin> buyer =
         ParseOrigin(per_buyer_timeout.first);
     if (!buyer) {
-      exception_state.ThrowTypeError(ErrorInvalidAuctionConfig(
-          input, "perBuyerTimeouts buyer", per_buyer_timeout.first,
+      exception_state.ThrowTypeError(ErrorInvalidAuctionConfigSeller(
+          seller_name, "perBuyerTimeouts buyer", per_buyer_timeout.first,
           "must be \"*\" (wildcard) or a valid https origin."));
-      return false;
+      return nullptr;
     }
-    output.auction_ad_config_non_shared_params->per_buyer_timeouts->insert(
+    buyer_timeouts->per_buyer_timeouts->insert(
         buyer, base::Milliseconds(per_buyer_timeout.second));
   }
 
-  return true;
+  return buyer_timeouts;
+}
+
+bool CopyPerBuyerTimeoutsFromIdlToMojo(
+    NavigatorAuction::AuctionHandle* auction_handle,
+    const mojom::blink::AuctionAdConfigAuctionId* auction_id,
+    ScriptState& script_state,
+    ExceptionState& exception_state,
+    const AuctionAdConfig& input,
+    mojom::blink::AuctionAdConfig& output) {
+  if (!input.hasPerBuyerTimeouts()) {
+    output.auction_ad_config_non_shared_params->buyer_timeouts =
+        mojom::blink::AuctionAdConfigMaybePromiseBuyerTimeouts::NewValue(
+            mojom::blink::AuctionAdConfigBuyerTimeouts::New());
+    return true;
+  }
+
+  v8::Local<v8::Value> value = input.perBuyerTimeouts().V8Value();
+  if (auction_handle && value->IsPromise()) {
+    ScriptPromise promise(&script_state, value);
+    promise.Then(
+        MakeGarbageCollected<ScriptFunction>(
+            &script_state,
+            MakeGarbageCollected<
+                NavigatorAuction::AuctionHandle::BuyerTimeoutsResolved>(
+                auction_handle, auction_id->Clone(), input.seller())),
+        MakeGarbageCollected<ScriptFunction>(
+            &script_state,
+            MakeGarbageCollected<NavigatorAuction::AuctionHandle::Rejected>(
+                auction_handle)));
+    output.auction_ad_config_non_shared_params->buyer_timeouts =
+        mojom::blink::AuctionAdConfigMaybePromiseBuyerTimeouts::NewPromise(0);
+    return true;
+  }
+
+  mojom::blink::AuctionAdConfigBuyerTimeoutsPtr buyer_timeouts =
+      ConvertNonPromisePerBuyerTimeoutsFromV8ToMojo(
+          script_state, exception_state, input.seller(), value);
+  if (buyer_timeouts) {
+    output.auction_ad_config_non_shared_params->buyer_timeouts =
+        mojom::blink::AuctionAdConfigMaybePromiseBuyerTimeouts::NewValue(
+            std::move(buyer_timeouts));
+    return true;
+  }
+  return false;
 }
 
 bool CopyPerBuyerExperimentIdsFromIdlToMojo(
@@ -1164,9 +1336,11 @@
                                       *mojo_config) ||
       !CopyDirectFromSellerSignalsFromIdlToMojo(
           context, exception_state, config, resource_fetcher, *mojo_config) ||
-      !CopyPerBuyerSignalsFromIdlToMojo(script_state, exception_state, config,
+      !CopyPerBuyerSignalsFromIdlToMojo(auction_handle, auction_id.get(),
+                                        script_state, exception_state, config,
                                         *mojo_config) ||
-      !CopyPerBuyerTimeoutsFromIdlToMojo(script_state, exception_state, config,
+      !CopyPerBuyerTimeoutsFromIdlToMojo(auction_handle, auction_id.get(),
+                                         script_state, exception_state, config,
                                          *mojo_config) ||
       !CopyPerBuyerExperimentIdsFromIdlToMojo(script_state, exception_state,
                                               config, *mojo_config) ||
@@ -1286,23 +1460,35 @@
 NavigatorAuction::AuctionHandle::JsonResolved::JsonResolved(
     AuctionHandle* auction_handle,
     mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
-    mojom::blink::AuctionAdConfigField field)
+    mojom::blink::AuctionAdConfigField field,
+    const String& seller_name,
+    const char* field_name)
     : auction_handle_(auction_handle),
       auction_id_(std::move(auction_id)),
-      field_(field) {}
+      field_(field),
+      seller_name_(seller_name),
+      field_name_(field_name) {}
 
 ScriptValue NavigatorAuction::AuctionHandle::JsonResolved::Call(
     ScriptState* script_state,
     ScriptValue value) {
+  ExceptionState exception_state(script_state->GetIsolate(),
+                                 ExceptionState::kExecutionContext,
+                                 "NavigatorAuction", "runAdAuction");
   String maybe_json;
   bool maybe_json_ok = false;
   if (!value.IsEmpty()) {
     v8::Local<v8::Value> v8_value = value.V8Value();
     if (v8_value->IsUndefined() || v8_value->IsNull()) {
-      // `maybe_json` left as the null string here.
+      // `maybe_json` left as the null string here; that's the blink equivalent
+      // of absl::nullopt for a string? in mojo.
       maybe_json_ok = true;
     } else {
       maybe_json_ok = Jsonify(*script_state, value.V8Value(), maybe_json);
+      if (!maybe_json_ok) {
+        exception_state.ThrowTypeError(
+            ErrorInvalidAuctionConfigSellerJson(seller_name_, field_name_));
+      }
     }
   }
 
@@ -1322,6 +1508,90 @@
   Callable::Trace(visitor);
 }
 
+NavigatorAuction::AuctionHandle::PerBuyerSignalsResolved::
+    PerBuyerSignalsResolved(
+        AuctionHandle* auction_handle,
+        mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
+        const String& seller_name)
+    : auction_handle_(auction_handle),
+      auction_id_(std::move(auction_id)),
+      seller_name_(seller_name) {}
+
+ScriptValue NavigatorAuction::AuctionHandle::PerBuyerSignalsResolved::Call(
+    ScriptState* script_state,
+    ScriptValue value) {
+  ExceptionState exception_state(script_state->GetIsolate(),
+                                 ExceptionState::kExecutionContext,
+                                 "NavigatorAuction", "runAdAuction");
+  absl::optional<WTF::HashMap<scoped_refptr<const SecurityOrigin>, String>>
+      per_buyer_signals;
+  if (!value.IsEmpty()) {
+    v8::Local<v8::Value> v8_value = value.V8Value();
+    if (!v8_value->IsUndefined() && !v8_value->IsNull()) {
+      per_buyer_signals = ConvertNonPromisePerBuyerSignalsFromV8ToMojo(
+          *script_state, exception_state, seller_name_, v8_value);
+    }
+  }
+
+  if (!exception_state.HadException()) {
+    auction_handle_->ResolvedPerBuyerSignalsPromise(
+        auction_id_->Clone(), std::move(per_buyer_signals));
+  } else {
+    auction_handle_->Abort();
+  }
+
+  return ScriptValue();
+}
+
+void NavigatorAuction::AuctionHandle::PerBuyerSignalsResolved::Trace(
+    Visitor* visitor) const {
+  visitor->Trace(auction_handle_);
+  Callable::Trace(visitor);
+}
+
+NavigatorAuction::AuctionHandle::BuyerTimeoutsResolved::BuyerTimeoutsResolved(
+    AuctionHandle* auction_handle,
+    mojom::blink::AuctionAdConfigAuctionIdPtr auction_id,
+    const String& seller_name)
+    : auction_handle_(auction_handle),
+      auction_id_(std::move(auction_id)),
+      seller_name_(seller_name) {}
+
+ScriptValue NavigatorAuction::AuctionHandle::BuyerTimeoutsResolved::Call(
+    ScriptState* script_state,
+    ScriptValue value) {
+  ExceptionState exception_state(script_state->GetIsolate(),
+                                 ExceptionState::kExecutionContext,
+                                 "NavigatorAuction", "runAdAuction");
+  mojom::blink::AuctionAdConfigBuyerTimeoutsPtr buyer_timeouts;
+  if (!value.IsEmpty()) {
+    v8::Local<v8::Value> v8_value = value.V8Value();
+    if (!v8_value->IsUndefined() && !v8_value->IsNull()) {
+      buyer_timeouts = ConvertNonPromisePerBuyerTimeoutsFromV8ToMojo(
+          *script_state, exception_state, seller_name_, v8_value);
+    }
+  }
+
+  if (!buyer_timeouts) {
+    buyer_timeouts = mojom::blink::AuctionAdConfigBuyerTimeouts::New();
+  }
+
+  if (!exception_state.HadException()) {
+    auction_handle_->ResolvedBuyerTimeoutsPromise(auction_id_->Clone(),
+                                                  std::move(buyer_timeouts));
+  } else {
+    auction_handle_->Abort();
+  }
+
+  return ScriptValue();
+}
+
+void NavigatorAuction::AuctionHandle::BuyerTimeoutsResolved::Trace(
+    Visitor* visitor) const {
+  visitor->Trace(auction_handle_);
+  Callable::Trace(visitor);
+}
+
 NavigatorAuction::AuctionHandle::Rejected::Rejected(
     AuctionHandle* auction_handle)
     : auction_handle_(auction_handle) {}
@@ -1869,7 +2139,9 @@
       !CopySellerSignalsFromIdlToMojo(/*auction_handle=*/nullptr,
                                       /*auction_id=*/nullptr, *script_state,
                                       exception_state, *config, *mojo_config) ||
-      !CopyPerBuyerSignalsFromIdlToMojo(*script_state, exception_state, *config,
+      !CopyPerBuyerSignalsFromIdlToMojo(/*auction_handle=*/nullptr,
+                                        /*auction_id=*/nullptr, *script_state,
+                                        exception_state, *config,
                                         *mojo_config)) {
     return ScriptPromise();
   }
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
index f4c3c7e..5569664 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.cc
@@ -1032,7 +1032,7 @@
   }
 
   base::TimeDelta refresh_interval = ComputeRefreshIntervalFromBounds(
-      base::Hertz(required_min_fps), min_frame_rate_, max_frame_rate_);
+      base::Hertz(required_min_fps), min_frame_rate(), max_frame_rate());
 
   if (refresh_interval.is_max()) {
     refresh_timer_.Stop();
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.h b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.h
index 2a3c36f..e359080b 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_track.h
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_track.h
@@ -128,8 +128,8 @@
   const absl::optional<double>& min_frame_rate() const {
     return min_frame_rate_;
   }
-  const absl::optional<double>& max_frame_rate() const {
-    return max_frame_rate_;
+  absl::optional<double> max_frame_rate() const {
+    return adapter_settings_.max_frame_rate();
   }
   const VideoTrackAdapterSettings& adapter_settings() const {
     return adapter_settings_;
@@ -223,7 +223,6 @@
   absl::optional<bool> noise_reduction_;
   bool is_screencast_;
   absl::optional<double> min_frame_rate_;
-  absl::optional<double> max_frame_rate_;
   absl::optional<double> pan_;
   absl::optional<double> tilt_;
   absl::optional<double> zoom_;
diff --git a/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc b/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
index 2c42a6a..5cd1b41f 100644
--- a/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
+++ b/third_party/blink/renderer/modules/mediastream/media_stream_video_track_test.cc
@@ -396,6 +396,7 @@
   sink.ConnectToTrack(track);
   MediaStreamVideoTrack* const native_track =
       MediaStreamVideoTrack::From(track);
+  EXPECT_FALSE(native_track->max_frame_rate().has_value());
   MediaStreamTrackPlatform::Settings settings;
 
   auto frame1 = media::VideoFrame::CreateBlackFrame(gfx::Size(600, 400));
@@ -687,6 +688,7 @@
   settings.set_max_frame_rate(300);
   native_track->SetTrackAdapterSettings(settings);
   native_track->NotifyConstraintsConfigurationComplete();
+  EXPECT_THAT(native_track->max_frame_rate(), testing::Optional(300));
   Mock::VerifyAndClearExpectations(&sink1);
   Mock::VerifyAndClearExpectations(&sink2);
 
@@ -704,6 +706,7 @@
   settings.set_max_frame_rate(20);
   native_track->SetTrackAdapterSettings(settings);
   native_track->NotifyConstraintsConfigurationComplete();
+  EXPECT_THAT(native_track->max_frame_rate(), testing::Optional(20));
 
   MockMediaStreamVideoSink sink1;
   sink1.ConnectToTrack(track);
diff --git a/third_party/blink/tools/blinkpy/common/config/builders.json b/third_party/blink/tools/blinkpy/common/config/builders.json
index ef8b6d9..1d9e5ebf 100644
--- a/third_party/blink/tools/blinkpy/common/config/builders.json
+++ b/third_party/blink/tools/blinkpy/common/config/builders.json
@@ -106,6 +106,28 @@
             }
         }
     },
+    "win11-wpt-content-shell-fyi-rel": {
+        "main": "chromium.fyi",
+        "port_name": "win-win11",
+        "specifiers": ["Win11", "Release"],
+        "is_try_builder": true,
+        "steps": {
+            "wpt_tests_suite (with patch, experimental)": {
+                "uses_wptrunner": true
+            }
+        }
+    },
+    "mac12-wpt-content-shell-fyi-rel": {
+        "main": "chromium.fyi",
+        "port_name": "mac-mac12",
+        "specifiers": ["Mac12", "Release"],
+        "is_try_builder": true,
+        "steps": {
+            "wpt_tests_suite (with patch, experimental)": {
+                "uses_wptrunner": true
+            }
+        }
+    },
     "linux-blink-rel": {
         "main": "tryserver.blink",
         "port_name": "linux-trusty",
diff --git a/third_party/blink/web_tests/SlowTests b/third_party/blink/web_tests/SlowTests
index e0bf39c..6c82689 100644
--- a/third_party/blink/web_tests/SlowTests
+++ b/third_party/blink/web_tests/SlowTests
@@ -483,7 +483,8 @@
 crbug.com/874695 http/tests/fetch/serviceworker/body-mixin-base-https-other-https.html [ Slow ]
 crbug.com/874695 http/tests/fetch/serviceworker/body-mixin.html [ Slow ]
 crbug.com/874695 http/tests/fetch/serviceworker/stream-reader-base-https-other-https.html [ Slow ]
-crbug.com/874695 http/tests/fetch/serviceworker/stream-reader.html [ Slow ]
+crbug.com/874695 [ Debug Mac12 ] http/tests/fetch/serviceworker/stream-reader.html [ Slow ]
+crbug.com/874695 [ Release ] http/tests/fetch/serviceworker/stream-reader.html [ Slow ]
 crbug.com/874695 http/tests/fetch/serviceworker/thorough/* [ Slow ]
 crbug.com/874695 http/tests/fetch/serviceworker-proxied/thorough/* [ Slow ]
 crbug.com/874695 http/tests/fetch/window/body-mixin-base-https-other-https.html [ Slow ]
@@ -497,7 +498,8 @@
 crbug.com/874695 http/tests/fetch/workers/stream-reader-base-https-other-https.html [ Slow ]
 crbug.com/874695 http/tests/fetch/workers/stream-reader.html [ Slow ]
 crbug.com/874695 http/tests/fetch/workers/thorough/* [ Slow ]
-crbug.com/874695 http/tests/images/png-progressive-load.html [ Slow ]
+crbug.com/874695 [ Debug Mac12 ] http/tests/images/png-progressive-load.html [ Slow ]
+crbug.com/874695 [ Release ] http/tests/images/png-progressive-load.html [ Slow ]
 crbug.com/874695 http/tests/images/webp-progressive-load.html [ Slow ]
 crbug.com/874695 http/tests/media/controls/toggle-class-with-state-source-buffer.html [ Slow ]
 crbug.com/874695 http/tests/media/preload-conditions.html [ Slow ]
@@ -511,7 +513,8 @@
 crbug.com/874695 [ Release ] http/tests/misc/object-embedding-svg-delayed-size-negotiation.xhtml [ Slow ]
 crbug.com/874695 [ Debug Mac12 ] http/tests/misc/svg-image-delayed-size-negotiation.html [ Slow ]
 crbug.com/874695 [ Release ] http/tests/misc/svg-image-delayed-size-negotiation.html [ Slow ]
-crbug.com/874695 http/tests/multipart/multipart-main-resource.html [ Slow ]
+crbug.com/874695 [ Debug Mac12 ] http/tests/multipart/multipart-main-resource.html [ Slow ]
+crbug.com/874695 [ Release ] http/tests/multipart/multipart-main-resource.html [ Slow ]
 crbug.com/874695 http/tests/multipart/stop-loading-after-onload2.html [ Slow ]
 crbug.com/874695 http/tests/notifications/permission-behaviour.html [ Slow ]
 crbug.com/874695 http/tests/permissions/chromium/test-request-multiple-sharedworker.html [ Slow ]
@@ -992,7 +995,12 @@
 crbug.com/1046784 [ Release Win ] http/tests/devtools/elements/styles-1/edit-inspector-stylesheet.js [ Slow ]
 crbug.com/1046784 http/tests/devtools/animation/animation-after-navigation.js [ Slow ]
 crbug.com/1046784 http/tests/devtools/search/search-in-script.js [ Slow ]
-crbug.com/1046784 http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Linux ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Mac10.15 Release ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Mac11 Release ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Mac11-arm64 Release ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Mac12 ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
+crbug.com/1046784 [ Release Win ] http/tests/devtools/service-workers/service-worker-network-fetch-blocked.js [ Slow ]
 crbug.com/1046784 [ Linux ] http/tests/devtools/fragment.js [ Slow ]
 crbug.com/1046784 [ Mac10.15 Release ] http/tests/devtools/fragment.js [ Slow ]
 crbug.com/1046784 [ Mac11 Release ] http/tests/devtools/fragment.js [ Slow ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index a42c118..9f5fb6b 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -3033,7 +3033,6 @@
 crbug.com/626703 [ Linux ] external/wpt/web-nfc/NDEFReader_write.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/anchors/ar_anchor_states.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/ar-module/xrSession_interactionMode.https.html [ Timeout ]
-crbug.com/626703 [ Linux ] external/wpt/webxr/depth-sensing/cpu/depth_sensing_cpu_staleView.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/depth-sensing/depth_sensing_notEnabled.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/dom-overlay/ar_dom_overlay.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/dom-overlay/ar_dom_overlay_hit_test.https.html [ Timeout ]
@@ -3052,7 +3051,6 @@
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_end.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_requestAnimationFrame_getViewerPose.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_requestReferenceSpace_features.https.html [ Timeout ]
-crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_sameObject.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrSession_visibilityState.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xrViewerPose_views_sameObject.https.html [ Timeout ]
 crbug.com/626703 [ Linux ] external/wpt/webxr/xr_viewport_scale.https.html [ Timeout ]
@@ -3277,7 +3275,6 @@
 crbug.com/626703 external/wpt/fetch/content-type/response.window.html [ Timeout ]
 crbug.com/626703 external/wpt/css/css-will-change/will-change-abspos-cb-dynamic-001.html [ Failure ]
 crbug.com/626703 external/wpt/css/css-will-change/will-change-abspos-cb-001.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/url/a-element.html [ Failure ]
 crbug.com/892337 external/wpt/resource-timing/content-type-parsing.html [ Failure Timeout ]
 
 crbug.com/1147998 external/wpt/pointerevents/pointerevent_after_target_removed.html?mouse [ Failure ]
@@ -5495,8 +5492,6 @@
 crbug.com/1378476 [ Mac11-arm64 ] images/webgl-teximage2d.html [ Crash Failure ]
 crbug.com/1378476 [ Mac12-arm64 ] inspector-protocol/debugger/domdebugger-webgl-breakpoint.js [ Crash Failure Skip ]
 crbug.com/1378476 [ Mac11-arm64 ] inspector-protocol/debugger/domdebugger-webgl-breakpoint.js [ Crash Failure Skip ]
-crbug.com/1378476 [ Mac12-arm64 ] printing/webgl-oversized-printing.html [ Crash Failure ]
-crbug.com/1378476 [ Mac11-arm64 ] printing/webgl-oversized-printing.html [ Crash Failure ]
 crbug.com/1378476 [ Mac12-arm64 ] printing/webgl-repeated-printing-preservedrawingbuffer.html [ Crash Failure ]
 crbug.com/1378476 [ Mac11-arm64 ] printing/webgl-repeated-printing-preservedrawingbuffer.html [ Crash Failure ]
 crbug.com/1378476 [ Mac12-arm64 ] printing/webgl-repeated-printing.html [ Crash Failure ]
@@ -5827,7 +5822,6 @@
 crbug.com/1299948 [ Mac10.14 Release ] external/wpt/css/css-tables/crashtests/textarea-intrinsic-size-crash.html [ Pass Timeout ]
 crbug.com/1299948 [ Mac10.15 Release ] external/wpt/css/css-tables/crashtests/textarea-intrinsic-size-crash.html [ Pass Timeout ]
 crbug.com/1299948 [ Mac11 Release ] external/wpt/css/css-tables/crashtests/textarea-intrinsic-size-crash.html [ Pass Timeout ]
-crbug.com/1299948 [ Mac11-arm64 Release ] external/wpt/css/css-tables/crashtests/textarea-intrinsic-size-crash.html [ Pass Timeout ]
 crbug.com/1299948 [ Mac12 ] external/wpt/css/css-tables/crashtests/textarea-intrinsic-size-crash.html [ Pass Timeout ]
 crbug.com/1299972 [ Linux ] screen_orientation/screenorientation-unsupported-no-crash.html [ Failure Pass Timeout ]
 
@@ -5889,7 +5883,7 @@
 crbug.com/1311015 [ Mac10.14 Release ] external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html [ Failure Pass ]
 crbug.com/1311015 [ Mac10.15 Release ] external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html [ Failure Pass ]
 crbug.com/1311015 [ Mac11-arm64 Release ] external/wpt/paint-timing/fcp-only/fcp-document-opacity-image.html [ Failure Pass ]
-crbug.com/1311128 external/wpt/paint-timing/fcp-only/fcp-document-opacity-text.html [ Crash Failure Pass Timeout ]
+crbug.com/1311128 [ Mac11-arm64 Release ] external/wpt/paint-timing/fcp-only/fcp-document-opacity-text.html [ Crash Failure Pass Timeout ]
 
 # Scroll Unification known issues (go/su-web-tests) for enabling in test:
 crbug.com/1311431 [ Mac ] fast/scroll-behavior/overscroll-behavior.html [ Failure Pass ]
diff --git a/third_party/closure_compiler/externs/automation.js b/third_party/closure_compiler/externs/automation.js
index 2be69964..cec71140 100644
--- a/third_party/closure_compiler/externs/automation.js
+++ b/third_party/closure_compiler/externs/automation.js
@@ -30,6 +30,7 @@
   ATOMIC_CHANGED: 'atomicChanged',
   AUTO_COMPLETE_CHANGED: 'autoCompleteChanged',
   AUTOCORRECTION_OCCURED: 'autocorrectionOccured',
+  AUTOFILL_AVAILABILITY_CHANGED: 'autofillAvailabilityChanged',
   BLUR: 'blur',
   BUSY_CHANGED: 'busyChanged',
   CARET_BOUNDS_CHANGED: 'caretBoundsChanged',
diff --git a/third_party/nearby/README.chromium b/third_party/nearby/README.chromium
index 9353003..52100f6b 100644
--- a/third_party/nearby/README.chromium
+++ b/third_party/nearby/README.chromium
@@ -1,7 +1,7 @@
 Name: Nearby Connections Library
 Short Name: Nearby
 URL: https://github.com/google/nearby
-Version: d347d0688b698100506e9dcaf227d3b69c78df67
+Version: 589829f9470d656695938b725c53c4c29f754f86
 License: Apache 2.0
 License File: LICENSE
 Security Critical: yes
diff --git a/tools/android/avd/proto/generic_android33.textpb b/tools/android/avd/proto/generic_android33.textpb
index f9bde87b..d87de2da 100644
--- a/tools/android/avd/proto/generic_android33.textpb
+++ b/tools/android/avd/proto/generic_android33.textpb
@@ -6,20 +6,20 @@
 
 emulator_package {
   package_name: "chromium/third_party/android_sdk/public/emulator"
-  version: "9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC"  # 31.2.10
+  version: "ZjmabmwvcQ8kZtLsnx6rj40RlCglPwP-PDPEb5fWrEAC"  # 31.3.14
   dest_path: "generic_android33"
 }
 
 system_image_package {
   package_name: "chromium/third_party/android_sdk/public/system-images/android-33/google_apis/x86_64"
-  version: "K_IMppJTdHCWfFNy_Yuf4PYAxVFEqDHq9ZcJX78yRM8C"  # beta 3
+  version: "8KxiJ6WNnLxlTmM-HntbcSidjUl31gWt6lnAbngsfx0C"  # r8, TE1A.220922.012
   dest_path: "generic_android33"
 }
 system_image_name: "system-images;android-33;google_apis;x86_64"
 
 avd_package {
   package_name: "chromium/third_party/android_sdk/public/avds/android-33/google_apis/x86_64"
-  version: "fHL5_di03gu5vU2Vp8r36L2zJwTdMNE65EObuMr_wOEC"  # created in bb_id	8803446658592087201
+  version: "BZfE-H-QdGvbcX3PhfnI98VgeCzr6wUxBU2mlJOAFCkC"
   dest_path: "generic_android33"
 }
 avd_name: "android_33_google_apis_x86_64"
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 86559e03..4ef5adee 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -13805,6 +13805,13 @@
   <int value="2" label="Destructed Before Timeout"/>
 </enum>
 
+<enum name="CameraEffectType">
+  <int value="0" label="kNone"/>
+  <int value="1" label="kBlur"/>
+  <int value="2" label="kRelight"/>
+  <int value="3" label="kBlurAndRelight"/>
+</enum>
+
 <enum name="CameraPreviewSnapPosition">
   <int value="0" label="kTopLeft"/>
   <int value="1" label="kBottomLeft"/>
@@ -42167,7 +42174,8 @@
   <int value="25" label="Channel Indicator"/>
   <int value="26" label="Launcher"/>
   <int value="27" label="Settings Performance Page"/>
-  <int value="28" label="Quick Ofice"/>
+  <int value="28" label="Quick Office"/>
+  <int value="29" label="Settings Search"/>
 </enum>
 
 <enum name="FeedContentOrder">
diff --git a/tools/metrics/histograms/metadata/chromeos/histograms.xml b/tools/metrics/histograms/metadata/chromeos/histograms.xml
index 86efb3c8..1916836 100644
--- a/tools/metrics/histograms/metadata/chromeos/histograms.xml
+++ b/tools/metrics/histograms/metadata/chromeos/histograms.xml
@@ -336,6 +336,75 @@
   </summary>
 </histogram>
 
+<histogram name="ChromeOS.Camera.Effects.SelectedEffect"
+    enum="CameraEffectType" expires_after="2024-01-01">
+  <owner>jmpollock@chromium.org</owner>
+  <owner>chromeos-camera-eng@google.com</owner>
+  <summary>
+    Records a user enabling a camera effect. Emitted at most once per camera
+    effect chosen when the camera session is closed.
+  </summary>
+</histogram>
+
+<histogram
+    name="ChromeOS.Camera.Effects.{EffectType}.{StreamType}.AvgProcessedFrameInterval"
+    units="microseconds" expires_after="2024-01-01">
+  <owner>jmpollock@chromium.org</owner>
+  <owner>chromeos-camera-eng@google.com</owner>
+  <summary>
+    Records average wall time interval between successfully processed frames
+    within the EffectsStreamManipulator for the different effect + stream type
+    combinations.
+
+    This metric is reported on ChromeOS devices with an effect applied that does
+    not encounter an error during processing. It is emitted at the close of each
+    camera session.
+  </summary>
+  <token key="EffectType">
+    <variant name="Blur"
+        summary="Average processed frame rate of the Blur effect"/>
+    <variant name="BlurAndRelight"
+        summary="Average processed frame rate of the Blur + Relight effect"/>
+    <variant name="Relight"
+        summary="Average processed frame rate of the Relight effect"/>
+  </token>
+  <token key="StreamType">
+    <variant name="BLOB" summary="Processing time for BLOB (JPEG) streams"/>
+    <variant name="YUV" summary="Processing time for YUV streams"/>
+  </token>
+</histogram>
+
+<histogram
+    name="ChromeOS.Camera.Effects.{EffectType}.{StreamType}.AvgProcessingLatency"
+    units="microseconds" expires_after="2024-01-01">
+  <owner>jmpollock@chromium.org</owner>
+  <owner>chromeos-camera-eng@google.com</owner>
+  <summary>
+    Records the wall time taken to execute the EffectsStreamManipulator
+    ProcessCaptureResult method for the different effect + stream type
+    combinations. Calculated as the average processing time / latency over the
+    camera session.
+
+    This metric is reported on ChromeOS devices with an effect applied that does
+    not encounter an error during processing. It is emitted at the close of each
+    camera session.
+  </summary>
+  <token key="EffectType">
+    <variant name="Blur"
+        summary="EffectsStreamManipulator processing time of the Blur effect"/>
+    <variant name="BlurAndRelight"
+        summary="EffectsStreamManipulator processing time of the Blur +
+                 Relight effect"/>
+    <variant name="Relight"
+        summary="EffectsStreamManipulator processing time of the Relight
+                 effect"/>
+  </token>
+  <token key="StreamType">
+    <variant name="BLOB" summary="Processing time for BLOB (JPEG) streams"/>
+    <variant name="YUV" summary="Processing time for YUV streams"/>
+  </token>
+</histogram>
+
 <histogram name="ChromeOS.Camera.ErrorType" enum="ChromeOSCameraErrorType"
     expires_after="2023-10-01">
   <owner>wtlee@chromium.org</owner>
@@ -590,16 +659,18 @@
 </histogram>
 
 <histogram
-    name="ChromeOS.CertProvisioning.KeypairGenerationTime.{CertProvisioningScope}"
+    name="ChromeOS.CertProvisioning.KeypairGenerationTime{CertProvisioningProtocolVersion}.{CertProvisioningScope}"
     units="ms" expires_after="2024-02-01">
   <owner>miersh@google.com</owner>
   <owner>pmarko@chromium.org</owner>
   <summary>
-    The amount of time it took the certificate provisioning worker with scope
-    {CertProvisioningScope} to generate one key pair. Emitted after the
-    generation is complete.
+    The amount of time it took the {CertProvisioningProtocolVersion} certificate
+    provisioning worker with scope {CertProvisioningScope} to generate one key
+    pair. Emitted after the generation is complete.
   </summary>
   <token key="CertProvisioningScope" variants="AllCertProvisioningScopes"/>
+  <token key="CertProvisioningProtocolVersion"
+      variants="AllCertProvisioningProtocolVersions"/>
 </histogram>
 
 <histogram name="ChromeOS.CertProvisioning.Result.{CertProvisioningScope}"
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 6c3a1b5b..9263b24 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -5,24 +5,24 @@
             "full_remote_path": "perfetto-luci-artifacts/v31.0/linux-arm64/trace_processor_shell"
         },
         "win": {
-            "hash": "f6c33bb2068f5e853154ba0ee852856963de83be",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/db57f10ab364ee8f1a6983d1330502fee445774e/trace_processor_shell.exe"
+            "hash": "371bc9104cbabd002f15fd4eda416278636c7ae7",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/a0d461d40f902c8223780bbd1185c813c03f5b99/trace_processor_shell.exe"
         },
         "linux_arm": {
             "hash": "6373f26144aad58f230d11d6a91efda5a09c9873",
             "full_remote_path": "perfetto-luci-artifacts/v31.0/linux-arm/trace_processor_shell"
         },
         "mac": {
-            "hash": "72c8126e9763efa4e5a35e9ec4cc67128059049b",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/mac/db57f10ab364ee8f1a6983d1330502fee445774e/trace_processor_shell"
+            "hash": "259a2819e0d2457439874cb126d6ab23aec117c1",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/mac/a0d461d40f902c8223780bbd1185c813c03f5b99/trace_processor_shell"
         },
         "mac_arm64": {
             "hash": "5f47ee79e59d00bf3889d30ca52315522c158040",
             "full_remote_path": "perfetto-luci-artifacts/v31.0/mac-arm64/trace_processor_shell"
         },
         "linux": {
-            "hash": "6167915006290f5619f0c1c8975f2444a23080bd",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/linux/db57f10ab364ee8f1a6983d1330502fee445774e/trace_processor_shell"
+            "hash": "da8b1f4b7d01bb8e5f06082c02b585f2460b147a",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/linux/a0d461d40f902c8223780bbd1185c813c03f5b99/trace_processor_shell"
         }
     },
     "power_profile.sql": {
diff --git a/tools/v8_context_snapshot/v8_context_snapshot.gni b/tools/v8_context_snapshot/v8_context_snapshot.gni
index 23bee57..f6cb20f 100644
--- a/tools/v8_context_snapshot/v8_context_snapshot.gni
+++ b/tools/v8_context_snapshot/v8_context_snapshot.gni
@@ -7,7 +7,6 @@
 # third_party/WebKit/Source/bindings/core/v8/V8ContextSnapshot.{cpp|h}.
 # to speedup creating a V8 context and setting up around it.
 
-import("//build/config/chrome_build.gni")
 import("//build/config/chromecast_build.gni")
 import("//build/config/chromeos/ui_mode.gni")
 import("//build/config/v8_target_cpu.gni")
@@ -17,8 +16,8 @@
   # TODO(crbug.com/764576): Enable the feature on more environments.
   # Disable in mac and win cross builds since building Blink twice is slow.
   use_v8_context_snapshot =
-      !is_chromeos && (!is_android || is_high_end_android) && !is_castos &&
-      !is_fuchsia && !(host_os == "mac" && current_cpu == "x86") &&
+      !is_chromeos && !is_android && !is_castos && !is_fuchsia &&
+      !(host_os == "mac" && current_cpu == "x86") &&
       # Android may build for both 64 bit and 32bit. When this happens, the
       # v8_target_cpu will not equal the target_cpu (for example,
       # v8_target_cpu == "arm" but target_os == "arm64").
diff --git a/ui/accessibility/ax_event_generator.cc b/ui/accessibility/ax_event_generator.cc
index e538f9b5..d21206d 100644
--- a/ui/accessibility/ax_event_generator.cc
+++ b/ui/accessibility/ax_event_generator.cc
@@ -410,6 +410,9 @@
     case ax::mojom::State::kRequired:
       AddEvent(node, Event::REQUIRED_STATE_CHANGED);
       break;
+    case ax::mojom::State::kAutofillAvailable:
+      AddEvent(node, Event::AUTOFILL_AVAILABILITY_CHANGED);
+      break;
     default:
       break;
   }
@@ -1228,6 +1231,8 @@
       return "atomicChanged";
     case AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
       return "autoCompleteChanged";
+    case AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
+      return "autofillAvailabilityChanged";
     case AXEventGenerator::Event::BUSY_CHANGED:
       return "busyChanged";
     case AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
diff --git a/ui/accessibility/ax_event_generator.h b/ui/accessibility/ax_event_generator.h
index ab2fc1c..2ba9c6e3 100644
--- a/ui/accessibility/ax_event_generator.h
+++ b/ui/accessibility/ax_event_generator.h
@@ -41,6 +41,7 @@
     ATK_TEXT_OBJECT_ATTRIBUTE_CHANGED,
     ATOMIC_CHANGED,
     AUTO_COMPLETE_CHANGED,
+    AUTOFILL_AVAILABILITY_CHANGED,
     BUSY_CHANGED,
     CARET_BOUNDS_CHANGED,
     CHECKED_STATE_CHANGED,
diff --git a/ui/accessibility/platform/automation/automation_api_util.cc b/ui/accessibility/platform/automation/automation_api_util.cc
index 4c592b3..8a535762 100644
--- a/ui/accessibility/platform/automation/automation_api_util.cc
+++ b/ui/accessibility/platform/automation/automation_api_util.cc
@@ -102,6 +102,7 @@
     case AXEventGenerator::Event::ARIA_CURRENT_CHANGED:
     case AXEventGenerator::Event::ATOMIC_CHANGED:
     case AXEventGenerator::Event::AUTO_COMPLETE_CHANGED:
+    case AXEventGenerator::Event::AUTOFILL_AVAILABILITY_CHANGED:
     case AXEventGenerator::Event::BUSY_CHANGED:
     case AXEventGenerator::Event::CARET_BOUNDS_CHANGED:
     case AXEventGenerator::Event::CHECKED_STATE_CHANGED:
diff --git a/ui/chromeos/translations/ui_chromeos_strings_az.xtb b/ui/chromeos/translations/ui_chromeos_strings_az.xtb
index 8980817..cbee286 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_az.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_az.xtb
@@ -219,6 +219,7 @@
 <translation id="2888807692577297075">Heç bir element &lt;b&gt;"<ph name="SEARCH_STRING" />"&lt;/b&gt; məhsuluna uyğun gəlmədi.</translation>
 <translation id="2894654529758326923">Məlumat</translation>
 <translation id="2902734494705624966">Genişlənmiş ABŞ klaviaturası</translation>
+<translation id="2904378509913846215">"<ph name="FILENAME" />" adlı qovluq hazırda mövcuddur. Onu köçürdüyünüzlə əvəz etmək istəyirsiniz?</translation>
 <translation id="290843123675549676">Marathi</translation>
 <translation id="2923240520113693977">Eston</translation>
 <translation id="2938685643439809023">Monqolca</translation>
@@ -638,6 +639,7 @@
 <translation id="6241349547798190358">Holland dili (Belçika)</translation>
 <translation id="6267547857941397424"><ph name="NETWORK_INDEX" />/<ph name="NETWORK_COUNT" /> şəbəkə, <ph name="PHONE_NAME" />, Siqnal Gücü <ph name="SIGNAL_STRENGTH" />%, Telefonun Batareyası <ph name="BATTERY_STATUS" />%, Qoşulun</translation>
 <translation id="6269630227984243955">Malay</translation>
+<translation id="6271903698064569429">"<ph name="SHARED_DRIVE_NAME" />" diskində kifayət qədər yer olmadığı üçün faylları yükləmək mümkün deyil.</translation>
 <translation id="6287852322318138013">Bu faylı açmaq üçün bir tətbiq seçin</translation>
 <translation id="6295542640242147836">SIM'i kilidləyin</translation>
 <translation id="6296410173147755564">Yanlış PUK</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_km.xtb b/ui/chromeos/translations/ui_chromeos_strings_km.xtb
index 6c3fa25..aefd6cd 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_km.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_km.xtb
@@ -219,6 +219,7 @@
 <translation id="2888807692577297075">គ្មានធាតុត្រូវគ្នាទេ &lt;b&gt;"<ph name="SEARCH_STRING" />"&lt;/b&gt;</translation>
 <translation id="2894654529758326923">ព័ត៌មាន</translation>
 <translation id="2902734494705624966">US extended</translation>
+<translation id="2904378509913846215">ថត​ដែលបានដាក់​ឈ្មោះថា "<ph name="FILENAME" />" មានរួចហើយ។ តើអ្នកចង់ជំនួសថត​នេះដោយថត​ដែលអ្នកកំពុងផ្លាស់ទីដែរឬទេ?</translation>
 <translation id="290843123675549676">ភាសា​ម៉ារ៉ាទី</translation>
 <translation id="2923240520113693977">ភាសាអេស្តូនី</translation>
 <translation id="2938685643439809023">ភាសាមុងហ្គោលី</translation>
@@ -638,6 +639,7 @@
 <translation id="6241349547798190358">ភាសា​ហូឡង់ (បែលហ្ស៊ិក)</translation>
 <translation id="6267547857941397424">បណ្ដាញ <ph name="NETWORK_INDEX" /> នៃ <ph name="NETWORK_COUNT" />, <ph name="PHONE_NAME" />, កម្លាំង​រលកសញ្ញា <ph name="SIGNAL_STRENGTH" />%, ថ្មទូរសព្ទ <ph name="BATTERY_STATUS" />%, ភ្ជាប់</translation>
 <translation id="6269630227984243955">ភាសា​ម៉ាឡេ</translation>
+<translation id="6271903698064569429">មិន​អាច​បង្ហោះ​ឯកសារ​បាន​ទេ ដោយសារ "<ph name="SHARED_DRIVE_NAME" />" មិនមាន​ទំហំ​ផ្ទុកគ្រប់គ្រាន់។</translation>
 <translation id="6287852322318138013">ជ្រើសរើសកម្មវិធីដើម្បីបើកឯកសារនេះ</translation>
 <translation id="6295542640242147836">ចាក់សោស៊ីម</translation>
 <translation id="6296410173147755564">PUK មិនត្រឹមត្រូវទេ</translation>
diff --git a/ui/ozone/platform/wayland/common/wayland_util.cc b/ui/ozone/platform/wayland/common/wayland_util.cc
index 967432d..27c49a6c 100644
--- a/ui/ozone/platform/wayland/common/wayland_util.cc
+++ b/ui/ozone/platform/wayland/common/wayland_util.cc
@@ -276,7 +276,8 @@
                                            ui::WaylandWindow* parent_window) {
   DCHECK(window);
   DCHECK(parent_window);
-  DCHECK_EQ(window->window_scale(), parent_window->window_scale());
+  DCHECK_EQ(window->applied_state().window_scale,
+            parent_window->applied_state().window_scale);
   DCHECK_EQ(window->ui_scale(), parent_window->ui_scale());
   return wl::TranslateBoundsToParentCoordinates(
       window->GetBoundsInDIP(), parent_window->GetBoundsInDIP());
diff --git a/ui/ozone/platform/wayland/gpu/gl_surface_wayland.cc b/ui/ozone/platform/wayland/gpu/gl_surface_wayland.cc
index 27d65d3..1cda8aa6 100644
--- a/ui/ozone/platform/wayland/gpu/gl_surface_wayland.cc
+++ b/ui/ozone/platform/wayland/gpu/gl_surface_wayland.cc
@@ -24,7 +24,7 @@
 
 std::unique_ptr<wl_egl_window, EGLWindowDeleter> CreateWaylandEglWindow(
     WaylandWindow* window) {
-  gfx::Size size = window->size_px();
+  gfx::Size size = window->applied_state().size_px;
   return std::unique_ptr<wl_egl_window, EGLWindowDeleter>(wl_egl_window_create(
       window->root_surface()->surface(), size.width(), size.height()));
 }
@@ -47,8 +47,9 @@
                               float scale_factor,
                               const gfx::ColorSpace& color_space,
                               bool has_alpha) {
-  if (size_ == size)
+  if (size_ == size) {
     return true;
+  }
   wl_egl_window_resize(egl_window_.get(), size.width(), size.height(), 0, 0);
   size_ = size;
   scale_factor_ = ceil(scale_factor);
@@ -79,7 +80,7 @@
 
 gfx::SwapResult GLSurfaceWayland::SwapBuffers(PresentationCallback callback,
                                               gfx::FrameData data) {
-  UpdateVisualSize();
+  OnSequencePoint(data.seq);
   if (!window_->IsSurfaceConfigured()) {
     // The presentation |callback| must be called after gfx::SwapResult is sent.
     // Thus, use a scoped swap buffers object that will send the feedback later.
@@ -98,7 +99,7 @@
                                                 int height,
                                                 PresentationCallback callback,
                                                 gfx::FrameData data) {
-  UpdateVisualSize();
+  OnSequencePoint(data.seq);
   if (!window_->IsSurfaceConfigured()) {
     // The presentation |callback| must be called after gfx::SwapResult is sent.
     // Thus, use a scoped swap buffers object that will send the feedback later.
@@ -116,10 +117,10 @@
   Destroy();
 }
 
-void GLSurfaceWayland::UpdateVisualSize() {
+void GLSurfaceWayland::OnSequencePoint(int64_t seq) {
   window_->ui_task_runner()->PostTask(
-      FROM_HERE, base::BindOnce(&WaylandWindow::UpdateVisualSize,
-                                window_->AsWeakPtr(), size_));
+      FROM_HERE, base::BindOnce(&WaylandWindow::OnSequencePoint,
+                                window_->AsWeakPtr(), seq));
 }
 
 }  // namespace ui
diff --git a/ui/ozone/platform/wayland/gpu/gl_surface_wayland.h b/ui/ozone/platform/wayland/gpu/gl_surface_wayland.h
index f63dd1e..18e333d 100644
--- a/ui/ozone/platform/wayland/gpu/gl_surface_wayland.h
+++ b/ui/ozone/platform/wayland/gpu/gl_surface_wayland.h
@@ -55,7 +55,9 @@
  private:
   ~GLSurfaceWayland() override;
 
-  void UpdateVisualSize();
+  // Delivers sequence number information to WaylandWindow. See the comments
+  // on WaylandWindow::applied_state() for more information.
+  void OnSequencePoint(int64_t seq);
 
   WaylandEglWindowPtr egl_window_;
   const raw_ptr<WaylandWindow> window_;
diff --git a/ui/ozone/platform/wayland/gpu/wayland_surface_factory_unittest.cc b/ui/ozone/platform/wayland/gpu/wayland_surface_factory_unittest.cc
index 8bd1c86..762c1791 100644
--- a/ui/ozone/platform/wayland/gpu/wayland_surface_factory_unittest.cc
+++ b/ui/ozone/platform/wayland/gpu/wayland_surface_factory_unittest.cc
@@ -183,9 +183,6 @@
 
     WaylandTest::SetUp();
 
-    window_->set_update_visual_size_immediately_for_testing(false);
-    window_->set_apply_pending_state_on_update_visual_size_for_testing(false);
-
     auto manager_ptr = connection_->buffer_manager_host()->BindInterface();
     buffer_manager_gpu_->Initialize(
         std::move(manager_ptr), kSupportedFormatsWithModifiers,
@@ -220,12 +217,12 @@
                             int z_order) {
     gl_surface->ScheduleOverlayPlane(
         image, nullptr,
-        gfx::OverlayPlaneData(z_order,
-                              gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE,
-                              gfx::RectF(window_->GetBoundsInPixels()), {},
-                              false, gfx::Rect(window_->size_px()), 1.0f,
-                              gfx::OverlayPriorityHint::kNone, gfx::RRectF(),
-                              gfx::ColorSpace::CreateSRGB(), absl::nullopt));
+        gfx::OverlayPlaneData(
+            z_order, gfx::OverlayTransform::OVERLAY_TRANSFORM_NONE,
+            gfx::RectF(window_->GetBoundsInPixels()), {}, false,
+            gfx::Rect(window_->applied_state().size_px), 1.0f,
+            gfx::OverlayPriorityHint::kNone, gfx::RRectF(),
+            gfx::ColorSpace::CreateSRGB(), absl::nullopt));
   }
 
   uint32_t surface_id_ = 0;
@@ -260,11 +257,12 @@
   // Create buffers and FakeGlImageNativePixmap.
   std::vector<scoped_refptr<OverlayImageHolder>> fake_overlay_image;
   for (int i = 0; i < 4; ++i) {
+    auto size_px = window_->applied_state().size_px;
     auto native_pixmap = surface_factory_->CreateNativePixmap(
-        widget_, nullptr, window_->size_px(), gfx::BufferFormat::BGRA_8888,
+        widget_, nullptr, size_px, gfx::BufferFormat::BGRA_8888,
         gfx::BufferUsage::SCANOUT);
-    fake_overlay_image.push_back(base::MakeRefCounted<OverlayImageHolder>(
-        native_pixmap, window_->size_px()));
+    fake_overlay_image.push_back(
+        base::MakeRefCounted<OverlayImageHolder>(native_pixmap, size_px));
   }
 
   CallbacksHelper cbs_helper;
@@ -608,11 +606,12 @@
   // Create buffers and FakeGlImageNativePixmap.
   std::vector<scoped_refptr<OverlayImageHolder>> fake_overlay_image;
   for (int i = 0; i < 5; ++i) {
+    auto size_px = window_->applied_state().size_px;
     auto native_pixmap = surface_factory_->CreateNativePixmap(
-        widget_, nullptr, window_->size_px(), gfx::BufferFormat::BGRA_8888,
+        widget_, nullptr, size_px, gfx::BufferFormat::BGRA_8888,
         gfx::BufferUsage::SCANOUT);
-    fake_overlay_image.push_back(base::MakeRefCounted<OverlayImageHolder>(
-        native_pixmap, window_->size_px()));
+    fake_overlay_image.push_back(
+        base::MakeRefCounted<OverlayImageHolder>(native_pixmap, size_px));
   }
 
   PostToServerAndWait([](wl::TestWaylandServerThread* server) {
@@ -1057,9 +1056,10 @@
       gfx::ScaleRect({0.2f, 0.4f, 0.5f, 0.5f}, test_buffer_size.height(),
                      test_buffer_size.width()));
   gfx::RectF expected_combined_uv = {0.2, 0.f, 0.64, 0.8};
+
+  auto size_px = window_->applied_state().size_px;
   gfx::Rect expected_surface_dmg = gfx::ToEnclosingRect(
-      gfx::ScaleRect(expected_combined_uv, window_->size_px().width(),
-                     window_->size_px().height()));
+      gfx::ScaleRect(expected_combined_uv, size_px.width(), size_px.height()));
 
   // Create buffer and FakeGlImageNativePixmap.
   std::vector<scoped_refptr<OverlayImageHolder>> fake_overlay_image;
diff --git a/ui/ozone/platform/wayland/host/wayland_connection.cc b/ui/ozone/platform/wayland/host/wayland_connection.cc
index f2cd5d5..432b69b 100644
--- a/ui/ozone/platform/wayland/host/wayland_connection.cc
+++ b/ui/ozone/platform/wayland/host/wayland_connection.cc
@@ -589,7 +589,7 @@
   if (!surface_submission_in_pixel_coordinates_ || !window)
     return location;
   gfx::PointF converted(location);
-  converted.InvScale(window->window_scale());
+  converted.InvScale(window->applied_state().window_scale);
   return converted;
 }
 
diff --git a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
index 203151b6..3531b83 100644
--- a/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
+++ b/ui/ozone/platform/wayland/host/wayland_data_drag_controller.cc
@@ -58,19 +58,23 @@
 
 int DndActionsToDragOperations(uint32_t actions) {
   int operations = DragDropTypes::DRAG_NONE;
-  if (actions & WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY)
+  if (actions & WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY) {
     operations |= DragDropTypes::DRAG_COPY;
-  if (actions & WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE)
+  }
+  if (actions & WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE) {
     operations |= DragDropTypes::DRAG_MOVE;
+  }
   return operations;
 }
 
 uint32_t DragOperationsToDndActions(int operations) {
   uint32_t dnd_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_NONE;
-  if (operations & DragDropTypes::DRAG_COPY)
+  if (operations & DragDropTypes::DRAG_COPY) {
     dnd_actions |= WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY;
-  if (operations & DragDropTypes::DRAG_MOVE)
+  }
+  if (operations & DragDropTypes::DRAG_MOVE) {
     dnd_actions |= WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE;
+  }
   return dnd_actions;
 }
 
@@ -141,8 +145,10 @@
   if (icon_bitmap_) {
     icon_surface_ = std::make_unique<WaylandSurface>(connection_, nullptr);
     if (icon_surface_->Initialize()) {
-      // Corresponds to actual scale factor of the origin surface.
-      icon_surface_buffer_scale_ = origin_window->window_scale();
+      // Corresponds to actual scale factor of the origin surface. Use the
+      // latched state as that is what is currently displayed to the user and
+      // used as buffers in these surfaces.
+      icon_surface_buffer_scale_ = origin_window->latched_state().window_scale;
       icon_surface_->set_surface_buffer_scale(icon_surface_buffer_scale_);
       // Icon surface do not need input.
       const gfx::Rect empty_region_px;
@@ -152,7 +158,7 @@
       auto icon_offset = -data.provider().GetDragImageOffset();
       icon_offset_ =
           gfx::ScaleToRoundedPoint({icon_offset.x(), icon_offset.y()},
-                                   1.0f / origin_window->window_scale());
+                                   1.0f / icon_surface_buffer_scale_);
     } else {
       LOG(ERROR) << "Failed to create drag icon surface.";
       icon_surface_.reset();
@@ -183,12 +189,12 @@
   icon_bitmap_ = GetDragImage(image);
 
   if (icon_surface_ && window_) {
-    icon_surface_buffer_scale_ = window_->window_scale();
+    icon_surface_buffer_scale_ = window_->applied_state().window_scale;
     icon_surface_->set_surface_buffer_scale(icon_surface_buffer_scale_);
     icon_surface_->ApplyPendingState();
 
-    icon_offset_ = gfx::ScaleToRoundedPoint({offset.x(), offset.y()},
-                                            1.0f / window_->window_scale());
+    icon_offset_ = gfx::ScaleToRoundedPoint(
+        {offset.x(), offset.y()}, 1.0f / window_->applied_state().window_scale);
   } else {
     icon_offset_ = {offset.x(), offset.y()};
   }
@@ -212,8 +218,9 @@
 }
 
 void WaylandDataDragController::DrawIcon() {
-  if (!icon_surface_ || !icon_bitmap_)
+  if (!icon_surface_ || !icon_bitmap_) {
     return;
+  }
 
   static const wl_callback_listener kFrameListener{
       .done = WaylandDataDragController::OnDragSurfaceFrame};
@@ -249,8 +256,9 @@
     wl_surface_commit(surface);
   }
 
-  if (!icon_surface_ || !icon_bitmap_)
+  if (!icon_surface_ || !icon_bitmap_) {
     return;
+  }
 
   DCHECK(!icon_bitmap_->empty());
   // The protocol expects the attached buffer to have a pixel size that is a
@@ -340,8 +348,9 @@
 }
 
 void WaylandDataDragController::OnDragMotion(const gfx::PointF& location) {
-  if (!window_)
+  if (!window_) {
     return;
+  }
 
   if (state_ == State::kTransferring) {
     last_drag_location_ = location;
@@ -362,8 +371,9 @@
     return;
   }
 
-  if (window_)
+  if (window_) {
     window_->OnDragLeave();
+  }
 
   window_ = nullptr;
   data_offer_.reset();
@@ -371,8 +381,9 @@
 }
 
 void WaylandDataDragController::OnDragDrop() {
-  if (!window_)
+  if (!window_) {
     return;
+  }
 
   window_->OnDragDrop();
 
@@ -392,8 +403,9 @@
                   : DragOperation::kNone);
     // DnD handlers expect DragLeave to be sent for drag sessions that end up
     // with no data transfer (wl_data_source::cancelled event).
-    if (!completed)
+    if (!completed) {
       origin_window_->OnDragLeave();
+    }
     origin_window_ = nullptr;
   }
 
@@ -404,8 +416,9 @@
   // Dispatch this after calling WaylandWindow::OnDragSessionClose(), else the
   // extra leave event that is dispatched if |completed| is false may cause
   // problems.
-  if (pointer_grabber_for_window_drag_)
+  if (pointer_grabber_for_window_drag_) {
     DispatchPointerRelease();
+  }
 
   window_manager_->RemoveObserver(this);
   data_source_.reset();
@@ -435,14 +448,17 @@
 }
 
 void WaylandDataDragController::OnWindowRemoved(WaylandWindow* window) {
-  if (window == window_)
+  if (window == window_) {
     window_ = nullptr;
+  }
 
-  if (window == origin_window_)
+  if (window == origin_window_) {
     origin_window_ = nullptr;
+  }
 
-  if (window == pointer_grabber_for_window_drag_)
+  if (window == pointer_grabber_for_window_drag_) {
     pointer_grabber_for_window_drag_ = nullptr;
+  }
 }
 
 // Asynchronously requests and reads data for every negotiated/supported mime
@@ -485,8 +501,9 @@
     base::TimeTicks start_time,
     std::unique_ptr<OSExchangeData> received_data) {
   unprocessed_mime_types_.clear();
-  if (state_ == State::kIdle)
+  if (state_ == State::kIdle) {
     return;
+  }
 
   state_ = State::kIdle;
 
@@ -583,8 +600,9 @@
 
 void WaylandDataDragController::SetUpWindowDraggingSessionIfNeeded(
     const ui::OSExchangeData& data) {
-  if (!IsWindowDraggingSession(data))
+  if (!IsWindowDraggingSession(data)) {
     return;
+  }
 
   DCHECK(origin_window_);
   pointer_grabber_for_window_drag_ = origin_window_;
@@ -614,8 +632,9 @@
   // to be notified about it (eg: an error event), and the only way of detecting
   // that, for now, is to monitor wl_pointer events here and abort the session
   // if it comes in.
-  if (event->type() == ET_MOUSE_RELEASED)
+  if (event->type() == ET_MOUSE_RELEASED) {
     OnDataSourceFinish(/*completed=*/false);
+  }
 
   return POST_DISPATCH_PERFORM_DEFAULT;
 }
diff --git a/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc b/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
index 7d85dac..92abbf9 100644
--- a/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
+++ b/ui/ozone/platform/wayland/host/wayland_data_drag_controller_unittest.cc
@@ -479,7 +479,7 @@
     });
   }
 
-  EXPECT_EQ(window_->window_scale(), kTripleScale);
+  EXPECT_EQ(window_->applied_state().window_scale, kTripleScale);
 
   gfx::Point center_point{400, 300};
   {
diff --git a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
index c8b28ccb..9106c4e 100644
--- a/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
+++ b/ui/ozone/platform/wayland/host/wayland_frame_manager.cc
@@ -173,7 +173,7 @@
     if (!ValidateRect(config.bounds_rect)) {
       fatal_error_message_ = kBoundsRectNanOrInf;
     } else {
-      window_->UpdateVisualSize(gfx::ToRoundedSize(config.bounds_rect.size()));
+      window_->OnSequencePoint(frame->seq);
       // During a tab dragging session, UpdateVisualSize() can implicitly invoke
       // Hide(). |pending_frames_| will be cleared and we should return
       // directly.
diff --git a/ui/ozone/platform/wayland/host/wayland_popup.cc b/ui/ozone/platform/wayland/host/wayland_popup.cc
index 2e41df5..b350b9e4 100644
--- a/ui/ozone/platform/wayland/host/wayland_popup.cc
+++ b/ui/ozone/platform/wayland/host/wayland_popup.cc
@@ -39,7 +39,8 @@
 bool WaylandPopup::CreateShellPopup() {
   DCHECK(parent_window() && !shell_popup_);
 
-  if (window_scale() != parent_window()->window_scale()) {
+  if (applied_state().window_scale !=
+      parent_window()->applied_state().window_scale) {
     // If scale changed while this was hidden (when WaylandPopup hides, parent
     // window's child is reset), update buffer scale accordingly.
     UpdateWindowScale(true);
@@ -156,7 +157,7 @@
 
   // The shell popup can be null if bounds are being fixed during
   // the initialization. See WaylandPopup::CreateShellPopup.
-  if (shell_popup_ && old_bounds_dip != bounds_dip && !wayland_sets_bounds_) {
+  if (shell_popup_ && old_bounds_dip != bounds_dip) {
     const auto bounds_dip_in_parent =
         wl::TranslateWindowBoundsToParentDIP(this, parent_window());
 
@@ -195,32 +196,23 @@
 
 void WaylandPopup::HandleSurfaceConfigure(uint32_t serial) {
   if (schedule_redraw_) {
-    delegate()->OnDamageRect(gfx::Rect{size_px()});
+    delegate()->OnDamageRect(gfx::Rect{applied_state().size_px});
     schedule_redraw_ = false;
   }
-  ProcessPendingBoundsDip(serial);
+  ProcessPendingConfigureState(serial);
 }
 
-void WaylandPopup::UpdateVisualSize(const gfx::Size& size_px) {
-  WaylandWindow::UpdateVisualSize(size_px);
-
+void WaylandPopup::OnSequencePoint(int64_t seq) {
   if (!shell_popup())
     return;
 
-  ProcessVisualSizeUpdate(size_px);
-  ApplyPendingBounds();
-}
-
-void WaylandPopup::ApplyPendingBounds() {
-  if (has_pending_configures()) {
-    base::AutoReset<bool> auto_reset(&wayland_sets_bounds_, true);
-    WaylandWindow::ApplyPendingBounds();
-  }
+  ProcessSequencePoint(seq);
+  MaybeApplyLatestStateRequest(/*force=*/false);
 }
 
 void WaylandPopup::UpdateWindowMask() {
   // Popup doesn't have a shape. Update the opaqueness.
-  std::vector<gfx::Rect> region{gfx::Rect{visual_size_px()}};
+  std::vector<gfx::Rect> region{gfx::Rect{latched_state().size_px}};
   root_surface()->set_opaque_region(IsOpaqueWindow() ? &region : nullptr);
 }
 
@@ -291,9 +283,12 @@
   WaylandWindow::OnCloseRequest();
 }
 
-bool WaylandPopup::OnInitialize(PlatformWindowInitProperties properties) {
+bool WaylandPopup::OnInitialize(PlatformWindowInitProperties properties,
+                                State* state) {
   DCHECK(parent_window());
-  SetWindowScale(parent_window()->window_scale());
+  state->window_scale = parent_window()->applied_state().window_scale;
+  state->size_px =
+      gfx::ScaleToEnclosingRect(state->bounds_dip, state->window_scale).size();
   set_ui_scale(parent_window()->ui_scale());
   shadow_type_ = properties.shadow_type;
   return true;
@@ -308,12 +303,16 @@
 }
 
 void WaylandPopup::SetWindowGeometry(gfx::Size size_dip) {
-  DCHECK(shell_popup_);
+  if (!shell_popup_) {
+    return;
+  }
+
   const auto insets = GetDecorationInsetsInDIP();
   shell_popup_->SetWindowGeometry({{insets.left(), insets.top()}, size_dip});
 }
 
 void WaylandPopup::AckConfigure(uint32_t serial) {
-  shell_popup()->AckConfigure(serial);
+  DCHECK(shell_popup_);
+  shell_popup_->AckConfigure(serial);
 }
 }  // namespace ui
diff --git a/ui/ozone/platform/wayland/host/wayland_popup.h b/ui/ozone/platform/wayland/host/wayland_popup.h
index 5399cd1f0..7393b0d 100644
--- a/ui/ozone/platform/wayland/host/wayland_popup.h
+++ b/ui/ozone/platform/wayland/host/wayland_popup.h
@@ -34,13 +34,13 @@
   // Configure related:
   void HandleSurfaceConfigure(uint32_t serial) override;
   void HandlePopupConfigure(const gfx::Rect& bounds) override;
+  void OnSequencePoint(int64_t seq) override;
   bool IsSurfaceConfigured() override;
   void AckConfigure(uint32_t serial) override;
-  void UpdateVisualSize(const gfx::Size& size_px) override;
-  void ApplyPendingBounds() override;
 
   void OnCloseRequest() override;
-  bool OnInitialize(PlatformWindowInitProperties properties) override;
+  bool OnInitialize(PlatformWindowInitProperties properties,
+                    State* state) override;
   WaylandPopup* AsWaylandPopup() override;
   void SetWindowGeometry(gfx::Size size_dip) override;
   void UpdateWindowMask() override;
@@ -90,10 +90,6 @@
 
   PlatformWindowShadowType shadow_type_ = PlatformWindowShadowType::kNone;
 
-  // Helps to avoid reposition itself if HandlePopupConfigure was called, which
-  // resulted in calling SetBounds.
-  bool wayland_sets_bounds_ = false;
-
   // If WaylandPopup has been moved, schedule redraw as the client of the
   // Ozone/Wayland may not do so. Otherwise, a new state (if bounds has been
   // changed) won't be applied.
diff --git a/ui/ozone/platform/wayland/host/wayland_screen_unittest.cc b/ui/ozone/platform/wayland/host/wayland_screen_unittest.cc
index 2387522..a0e476c3 100644
--- a/ui/ozone/platform/wayland/host/wayland_screen_unittest.cc
+++ b/ui/ozone/platform/wayland/host/wayland_screen_unittest.cc
@@ -952,7 +952,7 @@
     output->Flush();
   });
 
-  EXPECT_EQ(window_->window_scale(), kTripleScale);
+  EXPECT_EQ(window_->applied_state().window_scale, kTripleScale);
   EXPECT_EQ(window_->ui_scale_, kTripleScale);
 
   // Now simulate the --force-device-scale-factor=1.5
@@ -973,7 +973,7 @@
     server->output()->Flush();
   });
 
-  EXPECT_EQ(window_->window_scale(), kDoubleScale);
+  EXPECT_EQ(window_->applied_state().window_scale, kDoubleScale);
   EXPECT_EQ(window_->ui_scale_, kForcedUIScale);
 
   display::Display::ResetForceDeviceScaleFactorForTesting();
@@ -1012,7 +1012,7 @@
     server->output()->Flush();
   });
 
-  EXPECT_EQ(window_->window_scale(), 2);
+  EXPECT_EQ(window_->applied_state().window_scale, 2);
   EXPECT_EQ(window_->ui_scale(), 2);
 }
 
diff --git a/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc b/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc
index 7f4840b..80296b4 100644
--- a/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc
+++ b/ui/ozone/platform/wayland/host/wayland_toplevel_window.cc
@@ -123,13 +123,6 @@
   return true;
 }
 
-void WaylandToplevelWindow::ApplyPendingBounds() {
-  if (has_pending_configures()) {
-    DCHECK(shell_toplevel_);
-    WaylandWindow::ApplyPendingBounds();
-  }
-}
-
 void WaylandToplevelWindow::DispatchHostWindowDragMovement(
     int hittest,
     const gfx::Point& pointer_location_in_px) {
@@ -391,10 +384,11 @@
 }
 
 void WaylandToplevelWindow::UpdateWindowScale(bool update_bounds) {
-  auto old_scale = window_scale();
+  auto old_scale = applied_state().window_scale;
   WaylandWindow::UpdateWindowScale(update_bounds);
-  if (old_scale == window_scale())
+  if (old_scale == applied_state().window_scale) {
     return;
+  }
 
   // Update min/max size in DIP if buffer scale is updated.
   SizeConstraintsChanged();
@@ -462,11 +456,6 @@
   }
 #endif  // IS_LINUX || IS_CHROMEOS_LACROS
 
-  // Rather than call SetBounds here for every configure event, just save the
-  // most recent bounds, and have WaylandConnection call ApplyPendingBounds
-  // when it has finished processing events. We may get many configure events
-  // in a row during an interactive resize, and only the last one matters.
-  //
   // Width or height set to 0 means that we should decide on width and height by
   // ourselves, but we don't want to set them to anything else. Use restored
   // bounds size or the current bounds iff the current state is normal (neither
@@ -507,8 +496,6 @@
 
   if (did_active_change)
     delegate()->OnActivationChanged(is_active_);
-
-  state_change_in_transit_ = false;
 }
 
 void WaylandToplevelWindow::SetBoundsInPixels(const gfx::Rect& bounds) {
@@ -531,35 +518,20 @@
 }
 
 void WaylandToplevelWindow::HandleSurfaceConfigure(uint32_t serial) {
-  ProcessPendingBoundsDip(serial);
+  ProcessPendingConfigureState(serial);
 }
 
-void WaylandToplevelWindow::UpdateVisualSize(const gfx::Size& size_px) {
-  WaylandWindow::UpdateVisualSize(size_px);
-
+void WaylandToplevelWindow::OnSequencePoint(int64_t seq) {
   if (!shell_toplevel_)
     return;
 
-  if (!ProcessVisualSizeUpdate(size_px)) {
-    // Early-out if shell surface is still not configure at this point, which
-    // indicates it is not mapped yet, which should happen in an upcoming frame.
-    if (!shell_toplevel()->IsConfigured())
-      return;
-
-    if (set_geometry_on_next_frame_) {
-      auto size_dip = gfx::ScaleToRoundedSize(size_px, 1.f / window_scale());
-      SetWindowGeometry(size_dip);
-      set_geometry_on_next_frame_ = false;
-    }
-  }
-
-  // UpdateVisualSize() indicates a frame update, which means we can forward new
-  // bounds now. Apply the latest pending_configure.
-  ApplyPendingBounds();
+  ProcessSequencePoint(seq);
+  MaybeApplyLatestStateRequest(/*force=*/false);
 }
 
 bool WaylandToplevelWindow::OnInitialize(
-    PlatformWindowInitProperties properties) {
+    PlatformWindowInitProperties properties,
+    State* state) {
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
   auto token = base::UnguessableToken::Create();
   window_unique_id_ =
@@ -620,11 +592,6 @@
   shell_toplevel()->AckConfigure(serial);
 }
 
-void WaylandToplevelWindow::UpdateDecorations() {
-  if (!state_change_in_transit_)
-    set_geometry_on_next_frame_ = true;
-}
-
 void WaylandToplevelWindow::PropagateBufferScale(float new_scale) {
   if (!IsSurfaceConfigured())
     return;
@@ -982,10 +949,7 @@
     shell_toplevel_->UnSetMaximized();
   }
 
-  state_change_in_transit_ = (previous_state_ != state_);
-
   delegate()->OnWindowStateChanged(previous_state_, state_);
-
   connection()->Flush();
 }
 
@@ -1123,7 +1087,7 @@
 }
 
 void WaylandToplevelWindow::UpdateWindowMask() {
-  std::vector<gfx::Rect> region{gfx::Rect({}, visual_size_px())};
+  std::vector<gfx::Rect> region{gfx::Rect({}, latched_state().size_px)};
   root_surface()->set_opaque_region(
       opaque_region_px_.has_value() ? &*opaque_region_px_
                                     : (IsOpaqueWindow() ? &region : nullptr));
diff --git a/ui/ozone/platform/wayland/host/wayland_toplevel_window.h b/ui/ozone/platform/wayland/host/wayland_toplevel_window.h
index b903fa7..c02989b3 100644
--- a/ui/ozone/platform/wayland/host/wayland_toplevel_window.h
+++ b/ui/ozone/platform/wayland/host/wayland_toplevel_window.h
@@ -74,17 +74,12 @@
                                    int32_t height,
                                    const WindowStates& window_states) override;
   void HandleSurfaceConfigure(uint32_t serial) override;
-  void UpdateVisualSize(const gfx::Size& size_px) override;
+  void OnSequencePoint(int64_t seq) override;
   bool IsSurfaceConfigured() override;
   void AckConfigure(uint32_t serial) override;
-  void UpdateDecorations() override;
-  void PropagateBufferScale(float new_scale) override;
 
-  // Apply the bounds specified in the most recent configure event. This should
-  // be called after processing all pending events in the wayland connection.
-  void ApplyPendingBounds() override;
-
-  bool OnInitialize(PlatformWindowInitProperties properties) override;
+  bool OnInitialize(PlatformWindowInitProperties properties,
+                    State* state) override;
   bool IsActive() const override;
   void SetWindowGeometry(gfx::Size size_dip) override;
   bool IsScreenCoordinatesEnabled() const override;
@@ -94,6 +89,7 @@
                    const base::TimeDelta show_delay,
                    const base::TimeDelta hide_delay) override;
   void HideTooltip() override;
+  void PropagateBufferScale(float new_scale) override;
 
   // WmDragHandler overrides:
   bool ShouldReleaseCaptureForDrag(ui::OSExchangeData* data) const override;
@@ -300,24 +296,6 @@
   // (PlatformWindowDelegate) more than once, for the same window show state
   // change.
   uint32_t requested_window_show_state_count_ = 0;
-  // Prevents the window geometry from being changed during transitions of the
-  // window state.
-  //
-  // Due to expectations of the higher levels, when the window changes its
-  // state, the DWTH is notified about the state change before the one actually
-  // happens, see TriggerStateChanges().  However, one of consequences of the
-  // DWTH being notified is that it wants to update the decoration insets, which
-  // implies updating the window geometry.  This flag is used to skip updating
-  // the geometry until new window bounds are applied.
-  //
-  // See https://crbug.com/1223005
-  bool state_change_in_transit_ = false;
-  // Some use cases such as changing the theme need to update the window
-  // geometry without changing its configuration.  They should set this flag.
-  // It will result in sending the updated geometry in the next frame update.
-  //
-  // See https://crbug.com/1223005
-  bool set_geometry_on_next_frame_ = false;
 
   // Information used by the compositor to restore the window state upon
   // creation.
diff --git a/ui/ozone/platform/wayland/host/wayland_window.cc b/ui/ozone/platform/wayland/host/wayland_window.cc
index d5acf17..d2e52c9 100644
--- a/ui/ozone/platform/wayland/host/wayland_window.cc
+++ b/ui/ozone/platform/wayland/host/wayland_window.cc
@@ -94,16 +94,19 @@
     connection_->window_manager()->RemoveSubsurface(GetWidget(),
                                                     widget_subsurface.get());
   }
-  if (root_surface_)
+  if (root_surface_) {
     connection_->window_manager()->RemoveWindow(GetWidget());
+  }
 
   // This might have already been hidden and another window has been shown.
   // Thus, the parent will have another child window. Do not reset it.
-  if (parent_window_ && parent_window_->child_window() == this)
+  if (parent_window_ && parent_window_->child_window() == this) {
     parent_window_->set_child_window(nullptr);
+  }
 
-  if (child_window_)
+  if (child_window_) {
     child_window_->set_parent_window(nullptr);
+  }
 }
 
 void WaylandWindow::OnWindowLostCapture() {
@@ -120,51 +123,58 @@
     // PlatformScreen implementation is expected to return to higher layer.
     auto* primary_output = output_manager->GetPrimaryOutput();
     // Primary output is unknown. i.e: WaylandScreen was not created yet.
-    if (!primary_output)
+    if (!primary_output) {
       return;
+    }
     preferred_outputs_id = primary_output->output_id();
   }
 
   auto* output = output_manager->GetOutput(preferred_outputs_id.value());
   // There can be a race between sending leave output event and destroying
   // wl_outputs. Thus, explicitly check if the output exist.
-  if (!output || !output->IsReady())
+  if (!output || !output->IsReady()) {
     return;
+  }
 
   float new_scale = output->scale_factor();
   ui_scale_ = output->GetUIScaleFactor();
-
-  if (SetWindowScale(new_scale))
-    delegate_->OnBoundsChanged({true});
+  SetWindowScale(new_scale);
 
   // Propagate update to the child windows
-  if (child_window_)
+  if (child_window_) {
     child_window_->UpdateWindowScale(update_bounds);
+  }
 }
 
 gfx::AcceleratedWidget WaylandWindow::GetWidget() const {
   return accelerated_widget_;
 }
 
-bool WaylandWindow::SetWindowScale(float new_scale) {
+void WaylandWindow::SetWindowScale(float new_scale) {
   DCHECK_GE(new_scale, 0.f);
-  bool changed = window_scale_ != new_scale;
-  window_scale_ = new_scale;
-  size_px_ = gfx::ScaleToEnclosingRect(bounds_dip_, new_scale).size();
-  return changed;
+  if (applied_state_.window_scale == new_scale) {
+    return;
+  }
+
+  auto state = applied_state_;
+  state.window_scale = new_scale;
+
+  RequestStateFromClient(state);
 }
 
 absl::optional<WaylandOutput::Id> WaylandWindow::GetPreferredEnteredOutputId() {
   // Child windows don't store entered outputs. Instead, take the window's
   // root parent window and use its preferred output.
-  if (parent_window_)
+  if (parent_window_) {
     return GetRootParentWindow()->GetPreferredEnteredOutputId();
+  }
 
   // It can be either a toplevel window that hasn't entered any outputs yet, or
   // still a non toplevel window that doesn't have a parent (for example, a
   // wl_surface that is being dragged).
-  if (root_surface_->entered_outputs().empty())
+  if (root_surface_->entered_outputs().empty()) {
     return absl::nullopt;
+  }
 
   // PlatformWindowType::kPopup are created as toplevel windows as well.
   DCHECK(type() == PlatformWindowType::kWindow ||
@@ -188,11 +198,13 @@
     // the issue. See crbug.com/1323635.
     DCHECK(output) << " output " << output_id << " not found!";
     DCHECK(preferred_output) << " output " << preferred_id << " not found!";
-    if (!output || !preferred_output)
+    if (!output || !preferred_output) {
       return absl::nullopt;
+    }
 
-    if (output->scale_factor() > preferred_output->scale_factor())
+    if (output->scale_factor() > preferred_output->scale_factor()) {
       preferred_id = output_id;
+    }
   }
 
   return preferred_id;
@@ -202,8 +214,9 @@
   // Whenever the window gets the pointer focus back, the cursor shape must be
   // updated. Otherwise, it is invalidated upon wl_pointer::leave and is not
   // restored by the Wayland compositor.
-  if (focused && cursor_)
+  if (focused && cursor_) {
     UpdateCursorShape(cursor_);
+  }
 }
 
 bool WaylandWindow::HasPointerFocus() const {
@@ -241,21 +254,24 @@
 
   auto alive = weak_ptr_factory_.GetWeakPtr();
   drag_loop.Run();
-  if (!alive)
+  if (!alive) {
     return false;
+  }
   return true;
 }
 
 void WaylandWindow::UpdateDragImage(const gfx::ImageSkia& image,
                                     const gfx::Vector2d& offset) {
   if (connection_->data_drag_controller()->state() !=
-      WaylandDataDragController::State::kIdle)
+      WaylandDataDragController::State::kIdle) {
     connection_->data_drag_controller()->UpdateDragImage(image, offset);
+  }
 }
 
 void WaylandWindow::CancelDrag() {
-  if (drag_loop_quit_closure_.is_null())
+  if (drag_loop_quit_closure_.is_null()) {
     return;
+  }
   std::move(drag_loop_quit_closure_).Run();
 }
 
@@ -282,12 +298,14 @@
       subsurfaces_to_overlays;
   subsurfaces_to_overlays.reserve(wayland_subsurfaces_.size() +
                                   (primary_subsurface() ? 1 : 0));
-  if (primary_subsurface())
+  if (primary_subsurface()) {
     subsurfaces_to_overlays.emplace_back(primary_subsurface(),
                                          wl::WaylandOverlayConfig());
-  for (auto& subsurface : wayland_subsurfaces_)
+  }
+  for (auto& subsurface : wayland_subsurfaces_) {
     subsurfaces_to_overlays.emplace_back(subsurface.get(),
                                          wl::WaylandOverlayConfig());
+  }
 
   frame_manager_->RecordFrame(
       std::make_unique<WaylandFrame>(root_surface(), wl::WaylandOverlayConfig(),
@@ -315,8 +333,9 @@
 }
 
 void WaylandWindow::PrepareForShutdown() {
-  if (drag_finished_callback_)
+  if (drag_finished_callback_) {
     OnDragSessionClose(DragOperation::kNone);
+  }
 }
 
 void WaylandWindow::SetBoundsInPixels(const gfx::Rect& bounds_px) {
@@ -328,21 +347,28 @@
 
 gfx::Rect WaylandWindow::GetBoundsInPixels() const {
   // TODO(crbug.com/1306688): This is currently used only by unit tests.
-  // Figure out how to migrate to test only methods.
-  return delegate_->ConvertRectToPixels(bounds_dip_);
+  // Figure out how to migrate to test only methods. For now, only the size
+  // should be used outside of tests. Make up some reasonable value for origin.
+  auto origin =
+      delegate_->ConvertRectToPixels(applied_state_.bounds_dip).origin();
+  auto size = applied_state_.size_px;
+  return gfx::Rect(origin, size);
 }
 
 void WaylandWindow::SetBoundsInDIP(const gfx::Rect& bounds_dip) {
-  UpdateBoundsInDIP(bounds_dip);
+  auto state = applied_state_;
+  state.bounds_dip = bounds_dip;
+  RequestStateFromClient(state);
 }
 
 gfx::Rect WaylandWindow::GetBoundsInDIP() const {
-  return bounds_dip_;
+  return applied_state_.bounds_dip;
 }
 
 void WaylandWindow::OnSurfaceConfigureEvent() {
-  if (received_configure_event_)
+  if (received_configure_event_) {
     return;
+  }
   received_configure_event_ = true;
   frame_manager_->MaybeProcessPendingFrame();
 }
@@ -356,13 +382,15 @@
   // these events to another window. In this case, tell the window manager that
   // this specific window has grabbed the events, and they will be rerouted in
   // WaylandWindow::DispatchEvent method.
-  if (!HasCapture())
+  if (!HasCapture()) {
     connection_->window_manager()->GrabLocatedEvents(this);
+  }
 }
 
 void WaylandWindow::ReleaseCapture() {
-  if (HasCapture())
+  if (HasCapture()) {
     connection_->window_manager()->UngrabLocatedEvents(this);
+  }
   // See comment in SetCapture() for details on wayland and grabs.
 }
 
@@ -404,8 +432,9 @@
 void WaylandWindow::SetCursor(scoped_refptr<PlatformCursor> platform_cursor) {
   DCHECK(platform_cursor);
 
-  if (cursor_ == platform_cursor)
+  if (cursor_ == platform_cursor) {
     return;
+  }
 
   UpdateCursorShape(BitmapCursor::FromPlatformCursor(platform_cursor));
 }
@@ -441,16 +470,16 @@
 }
 
 void WaylandWindow::SetDecorationInsets(const gfx::Insets* insets_px) {
+  // TODO(crbug.com/1395267): Add window geometry to WaylandWindow::State.
   if ((!frame_insets_px_ && !insets_px) ||
       (frame_insets_px_ && insets_px && *frame_insets_px_ == *insets_px)) {
     return;
   }
-  if (insets_px)
+  if (insets_px) {
     frame_insets_px_ = *insets_px;
-  else
+  } else {
     frame_insets_px_ = absl::nullopt;
-  UpdateDecorations();
-  connection_->Flush();
+  }
 }
 
 void WaylandWindow::SetWindowIcons(const gfx::ImageSkia& window_icon,
@@ -497,8 +526,9 @@
 
     // Wayland sends locations in DIP but dispatch code expects pixels, so they
     // need to be translated to physical pixels.
-    event->AsLocatedEvent()->set_location_f(gfx::ScalePoint(
-        event->AsLocatedEvent()->location_f(), window_scale(), window_scale()));
+    auto scale = applied_state().window_scale;
+    event->AsLocatedEvent()->set_location_f(
+        gfx::ScalePoint(event->AsLocatedEvent()->location_f(), scale, scale));
 
     if (send_to_grabber) {
       event_grabber->DispatchEventToDelegate(event);
@@ -509,8 +539,9 @@
   }
 
   // Dispatch all keyboard events to the root window.
-  if (event->IsKeyEvent())
+  if (event->IsKeyEvent()) {
     return GetRootParentWindow()->DispatchEventToDelegate(event);
+  }
 
   return DispatchEventToDelegate(event);
 }
@@ -518,8 +549,9 @@
 // EventTarget:
 bool WaylandWindow::CanAcceptEvent(const Event& event) {
 #if DCHECK_IS_ON()
-  if (!disable_null_target_dcheck_for_test_)
+  if (!disable_null_target_dcheck_for_test_) {
     DCHECK(event.target());
+  }
 #endif
   return this == event.target();
 }
@@ -563,18 +595,6 @@
   NOTREACHED() << "Only shell popups must receive HandlePopupConfigure calls.";
 }
 
-void WaylandWindow::UpdateVisualSize(const gfx::Size& size_px) {
-  if (visual_size_px_ == size_px)
-    return;
-  visual_size_px_ = size_px;
-  UpdateWindowMask();
-
-  if (apply_pending_state_on_update_visual_size_for_testing_) {
-    root_surface_->ApplyPendingState();
-    connection_->Flush();
-  }
-}
-
 void WaylandWindow::OnCloseRequest() {
   delegate_->OnCloseRequest();
 }
@@ -583,8 +603,9 @@
                                 std::unique_ptr<OSExchangeData> data,
                                 int operation) {
   WmDropHandler* drop_handler = GetWmDropHandler(*this);
-  if (!drop_handler)
+  if (!drop_handler) {
     return;
+  }
 
   // TODO(crbug.com/1102857): get the real event modifier here.
   drop_handler->OnDragEnter(point, std::move(data), operation,
@@ -593,8 +614,9 @@
 
 int WaylandWindow::OnDragMotion(const gfx::PointF& point, int operation) {
   WmDropHandler* drop_handler = GetWmDropHandler(*this);
-  if (!drop_handler)
+  if (!drop_handler) {
     return 0;
+  }
 
   // TODO(crbug.com/1102857): get the real event modifier here.
   return drop_handler->OnDragMotion(point, operation,
@@ -603,16 +625,18 @@
 
 void WaylandWindow::OnDragDrop() {
   WmDropHandler* drop_handler = GetWmDropHandler(*this);
-  if (!drop_handler)
+  if (!drop_handler) {
     return;
+  }
   // TODO(crbug.com/1102857): get the real event modifier here.
   drop_handler->OnDragDrop({}, /*modifiers=*/0);
 }
 
 void WaylandWindow::OnDragLeave() {
   WmDropHandler* drop_handler = GetWmDropHandler(*this);
-  if (!drop_handler)
+  if (!drop_handler) {
     return;
+  }
   drop_handler->OnDragLeave();
 }
 
@@ -623,19 +647,6 @@
   std::move(drag_loop_quit_closure_).Run();
 }
 
-void WaylandWindow::UpdateBoundsInDIP(const gfx::Rect& bounds_dip) {
-  gfx::Rect adjusted_bounds_dip = AdjustBoundsToConstraintsDIP(bounds_dip);
-  if (bounds_dip_ == adjusted_bounds_dip)
-    return;
-  bool origin_changed = bounds_dip_.origin() != bounds_dip.origin();
-  bounds_dip_ = adjusted_bounds_dip;
-  size_px_ = delegate_->ConvertRectToPixels(bounds_dip).size();
-
-  if (update_visual_size_immediately_for_testing_)
-    UpdateVisualSize(size_px());
-  delegate_->OnBoundsChanged({origin_changed});
-}
-
 bool WaylandWindow::Initialize(PlatformWindowInitProperties properties) {
   root_surface_ = std::make_unique<WaylandSurface>(connection_, this);
   if (!root_surface_->Initialize()) {
@@ -643,34 +654,35 @@
     return false;
   }
 
-  if (properties.inhibit_keyboard_shortcuts)
+  if (properties.inhibit_keyboard_shortcuts) {
     root_surface_->InhibitKeyboardShortcuts();
-
-  // Update visual size in tests immediately if the test config is set.
-  // Otherwise, such tests as interactive_ui_tests fail.
-  if (!update_visual_size_immediately_for_testing_) {
-    set_update_visual_size_immediately_for_testing(
-        UseTestConfigForPlatformWindows());
   }
 
-  bounds_dip_ = properties.bounds;
+  State state;
+  state.bounds_dip = properties.bounds;
   // Properties contain DIP bounds but the buffer scale is initially 1 so it's
   // OK to assign.  The bounds will be recalculated when the buffer scale
   // changes.
-  size_px_ = bounds_dip_.size();
+  state.size_px = state.bounds_dip.size();
+
   opacity_ = properties.opacity;
   type_ = properties.type;
 
   connection_->window_manager()->AddWindow(GetWidget(), this);
 
-  if (!OnInitialize(std::move(properties)))
+  if (!OnInitialize(std::move(properties), &state)) {
     return false;
+  }
+
+  applied_state_ = state;
+  latched_state_ = state;
 
   if (wayland_overlay_delegation_enabled_) {
     primary_subsurface_ =
         std::make_unique<WaylandSubsurface>(connection_, this);
-    if (!primary_subsurface_->surface())
+    if (!primary_subsurface_->surface()) {
       return false;
+    }
     connection_->window_manager()->AddSubsurface(GetWidget(),
                                                  primary_subsurface_.get());
   }
@@ -678,7 +690,7 @@
   PlatformEventSource::GetInstance()->AddPlatformEventDispatcher(this);
   delegate_->OnAcceleratedWidgetAvailable(GetWidget());
 
-  std::vector<gfx::Rect> region{gfx::Rect{size_px_}};
+  std::vector<gfx::Rect> region{gfx::Rect{latched_state().size_px}};
   root_surface_->set_opaque_region(&region);
   root_surface_->ApplyPendingState();
   connection_->Flush();
@@ -689,18 +701,19 @@
 void WaylandWindow::SetWindowGeometry(gfx::Size size_dip) {}
 
 gfx::Vector2d WaylandWindow::GetWindowGeometryOffsetInDIP() const {
-  if (!frame_insets_px_.has_value())
+  if (!frame_insets_px_.has_value()) {
     return {};
+  }
 
-  return {static_cast<int>(frame_insets_px_->left() / window_scale_),
-          static_cast<int>(frame_insets_px_->top() / window_scale_)};
+  auto scale = applied_state().window_scale;
+  return {static_cast<int>(frame_insets_px_->left() / scale),
+          static_cast<int>(frame_insets_px_->top() / scale)};
 }
 
-void WaylandWindow::UpdateDecorations() {}
-
 gfx::Insets WaylandWindow::GetDecorationInsetsInDIP() const {
+  auto scale = latched_state().window_scale;
   return frame_insets_px_.has_value()
-             ? gfx::ScaleToRoundedInsets(*frame_insets_px_, 1.f / window_scale_)
+             ? gfx::ScaleToRoundedInsets(*frame_insets_px_, 1.f / scale)
              : gfx::Insets{};
 }
 
@@ -712,8 +725,9 @@
   // Wayland does weird things for menus so instead of tracking outputs that
   // we entered or left, we take that from the parent window and ignore this
   // event.
-  if (AsWaylandPopup())
+  if (AsWaylandPopup()) {
     return;
+  }
 
   UpdateWindowScale(true);
 }
@@ -722,8 +736,9 @@
   // Wayland does weird things for menus so instead of tracking outputs that
   // we entered or left, we take that from the parent window and ignore this
   // event.
-  if (AsWaylandPopup())
+  if (AsWaylandPopup()) {
     return;
+  }
 
   UpdateWindowScale(true);
 }
@@ -766,8 +781,9 @@
 
 bool WaylandWindow::RequestSubsurface() {
   auto subsurface = std::make_unique<WaylandSubsurface>(connection_, this);
-  if (!subsurface->surface())
+  if (!subsurface->surface()) {
     return false;
+  }
   connection_->window_manager()->AddSubsurface(GetWidget(), subsurface.get());
   subsurface_stack_above_.push_back(subsurface.get());
   auto result = wayland_subsurfaces_.emplace(std::move(subsurface));
@@ -777,8 +793,9 @@
 
 bool WaylandWindow::ArrangeSubsurfaceStack(size_t above, size_t below) {
   while (wayland_subsurfaces_.size() < above + below) {
-    if (!RequestSubsurface())
+    if (!RequestSubsurface()) {
       return false;
+    }
   }
 
   DCHECK(subsurface_stack_below_.size() + subsurface_stack_above_.size() >=
@@ -786,16 +803,18 @@
 
   if (subsurface_stack_above_.size() < above) {
     auto splice_start = subsurface_stack_below_.begin();
-    for (size_t i = 0; i < below; ++i)
+    for (size_t i = 0; i < below; ++i) {
       ++splice_start;
+    }
     subsurface_stack_above_.splice(subsurface_stack_above_.end(),
                                    subsurface_stack_below_, splice_start,
                                    subsurface_stack_below_.end());
 
   } else if (subsurface_stack_below_.size() < below) {
     auto splice_start = subsurface_stack_above_.end();
-    for (size_t i = 0; i < below - subsurface_stack_below_.size(); ++i)
+    for (size_t i = 0; i < below - subsurface_stack_below_.size(); ++i) {
       --splice_start;
+    }
     subsurface_stack_below_.splice(subsurface_stack_below_.end(),
                                    subsurface_stack_above_, splice_start,
                                    subsurface_stack_above_.end());
@@ -810,8 +829,9 @@
     uint32_t frame_id,
     int64_t seq,
     std::vector<wl::WaylandOverlayConfig>& overlays) {
-  if (overlays.empty())
+  if (overlays.empty()) {
     return true;
+  }
 
   // |overlays| is sorted from bottom to top.
   std::sort(overlays.begin(), overlays.end(), OverlayStackOrderCompare);
@@ -831,8 +851,9 @@
 
   // Re-arrange the list of subsurfaces to fit the |overlays|. Request extra
   // subsurfaces if needed.
-  if (!ArrangeSubsurfaceStack(above, below))
+  if (!ArrangeSubsurfaceStack(above, below)) {
     return false;
+  }
 
   gfx::SizeF visual_size = (*overlays.begin()).bounds_rect.size();
   float buffer_scale = (*overlays.begin()).surface_scale_factor;
@@ -946,67 +967,139 @@
   cursor_ = cursor;
 }
 
-void WaylandWindow::ProcessPendingBoundsDip(uint32_t serial) {
-  auto pending_bounds_dip =
-      pending_configure_state_.bounds_dip.value_or(gfx::Rect());
-  auto pending_size_px = pending_configure_state_.size_px.value_or(gfx::Size());
+void WaylandWindow::ProcessPendingConfigureState(uint32_t serial) {
+  // For values not specified in pending_configure_state_, use the latest
+  // requested values.
+  auto state = in_flight_requests_.empty() ? applied_state_
+                                           : in_flight_requests_.back().state;
+  if (pending_configure_state_.bounds_dip.has_value()) {
+    state.bounds_dip = pending_configure_state_.bounds_dip.value();
+  }
+  if (pending_configure_state_.size_px.has_value()) {
+    state.size_px = pending_configure_state_.size_px.value();
+  }
 
-  if (pending_bounds_dip.IsEmpty() &&
+  if (state.bounds_dip.IsEmpty() &&
       GetPlatformWindowState() == PlatformWindowState::kMinimized &&
-      pending_configures_.empty()) {
+      in_flight_requests_.empty()) {
     // In exo, widget creation is deferred until the surface has contents and
     // |initial_show_state_| for a widget is ignored. Exo sends a configure
     // callback with empty bounds expecting client to suggest a size.
     // For the window activated from minimized state,
     // the saved window placement should be set as window geometry.
-    gfx::Rect bounds_in_dip = GetBoundsInDIP();
+    state.bounds_dip = GetBoundsInDIP();
     // As per spec, width and height must be greater than zero.
-    if (bounds_in_dip.IsEmpty())
-      bounds_in_dip = gfx::Rect(0, 0, 1, 1);
-    SetWindowGeometry(bounds_in_dip.size());
-    AckConfigure(serial);
-    root_surface()->Commit();
-  } else if (delegate()->ConvertRectToPixels(pending_bounds_dip) ==
-                 GetBoundsInPixels() &&
-             pending_configures_.empty()) {
-    // If |pending_bounds_dip| matches the current window bounds, and
-    // |pending_configures_| is empty, which implies that the window is already
-    // rendering at |pending_bounds_dip|, then a new frame matching it may take
-    // some time to arrive, despite the window delegate receives the updated
-    // bounds. Without a new frame, UpdateVisualSize() is not invoked, leaving
-    // this configure sequence unacknowledged. E.g: With static window content,
-    // a configure sequence that does not change the window size will not cause
-    // the window to redraw. Hence, acknowledge this configure sequence now to
-    // tell the Wayland compositor that the requested configuration for this
-    // window has been applied.
-    SetWindowGeometry(pending_bounds_dip.size());
-    AckConfigure(serial);
-    root_surface()->Commit();
-  } else if (!pending_configures_.empty() &&
-             pending_bounds_dip.size() ==
-                 pending_configures_.back().bounds_dip.size()) {
-    // There is an existing pending_configure with the same size, do not push a
-    // new one. Instead, update the serial of the pending_configure.
-    pending_configures_.back().serial = serial;
-  } else {
-    // Otherwise, push the pending |configure| to |pending_configures_|, wait
-    // for a frame update, which will invoke UpdateVisualSize().
-    LOG_IF(WARNING, pending_configures_.size() > 100u)
-        << "The queue of configures is longer than 100!";
-    pending_configures_.push_back(
-        {pending_bounds_dip, pending_size_px, serial});
-    // The Wayland compositor can generate xdg-shell.configure events more
-    // frequently than frame updates from gpu process. Throttle
-    // ApplyPendingBounds() such that we forward new bounds to
-    // PlatformWindowDelegate at most once per frame.
-    if (pending_configures_.size() <= 1)
-      ApplyPendingBounds();
+    if (state.bounds_dip.IsEmpty()) {
+      state.bounds_dip = gfx::Rect(0, 0, 1, 1);
+    }
   }
 
-  // Reset pending state.
+  RequestStateFromServer(state, serial);
+
+  // Reset values.
   pending_configure_state_ = PendingConfigureState();
 }
 
+void WaylandWindow::RequestStateFromServer(State state, int64_t serial) {
+  RequestState(state, serial, /*force=*/false);
+}
+
+void WaylandWindow::RequestStateFromClient(State state) {
+  // In general, client requested changes should not be throttled so force
+  // apply this.
+  RequestState(state, /*serial=*/-1, /*force=*/true);
+}
+
+void WaylandWindow::RequestState(State state, int64_t serial, bool force) {
+  LOG_IF(WARNING, in_flight_requests_.size() > 100u)
+      << "The queue of configures is longer than 100!";
+
+  // If there are no in-flight requests, then the applied state should be the
+  // latched state, because in flight configure requests are only removed on
+  // latch.
+  if (in_flight_requests_.empty()) {
+    DCHECK_EQ(applied_state_, latched_state_);
+  }
+
+  // Adjust state values if necessary.
+  state.bounds_dip = AdjustBoundsToConstraintsDIP(state.bounds_dip);
+  state.size_px =
+      gfx::ScaleToEnclosingRect(state.bounds_dip, state.window_scale).size();
+
+  if (in_flight_requests_.empty() && state == latched_state_) {
+    // If the requested state is latched, and no buffers will change the latched
+    // state until after this request, then ack it immediately. This is relied
+    // upon during window initialization, where we can receive a buffer before
+    // the corresponding configure. We need to ack on receiving the configure,
+    // rather than latching the buffer. This also handles the case of updating
+    // the window geometry when decorations are updated.
+    StateRequest req;
+    req.state = state;
+    req.serial = serial;
+    // Make sure wayland messages are delivered during window initialisation.
+    LatchStateRequest(req, /*force=*/true);
+    return;
+  }
+
+  if (!in_flight_requests_.empty() &&
+      in_flight_requests_.back().state == state) {
+    // If we already asked for this configure state, we can send back a higher
+    // wayland serial for ack while needing a lower viz_seq.
+    in_flight_requests_.back().serial =
+        std::max(in_flight_requests_.back().serial, serial);
+  } else {
+    StateRequest req;
+    req.state = state;
+    req.serial = serial;
+    // Propagate largest serial number so far, if we have one, since we
+    // can have configure requests with no serial number (value -1).
+    if (!in_flight_requests_.empty()) {
+      req.serial = std::max(req.serial, in_flight_requests_.back().serial);
+    }
+    in_flight_requests_.push_back(req);
+  }
+
+  MaybeApplyLatestStateRequest(force);
+}
+
+void WaylandWindow::ProcessSequencePoint(int64_t viz_seq) {
+  // If the sequence number is -1, it means there was a GPU process crash.
+  // In this case, latch any existing frames.
+  if (viz_seq == -1) {
+    viz_seq = INT64_MAX;
+  }
+
+  // Find last applied configure request satisfied by |seq|.
+  auto iter = in_flight_requests_.end();
+  for (auto i = in_flight_requests_.begin(); i != in_flight_requests_.end();
+       ++i) {
+    // The sequence number of each request should strictly monotonically
+    // increase, since each request needs to produce a new sequence point. Any
+    // requests that don't have a sequence id (-1) will be treated as done if
+    // they have been applied. To latch a request, our sequence number must
+    // be larger than the request's sequence number.
+    if (i->viz_seq >= viz_seq && i->viz_seq != -1) {
+      break;
+    }
+    if (i->applied) {
+      iter = i;
+    }
+  }
+
+  if (iter == in_flight_requests_.end()) {
+    return;
+  }
+
+  // Latch the latest state which was actually applied.
+  LatchStateRequest(*iter, /*force=*/false);
+
+  in_flight_requests_.erase(in_flight_requests_.begin(), ++iter);
+
+  // Now a new state is latched we may want to apply previously throttled
+  // requests.
+  MaybeApplyLatestStateRequest(/*force=*/false);
+}
+
 gfx::Rect WaylandWindow::AdjustBoundsToConstraintsPx(
     const gfx::Rect& bounds_px) {
   gfx::Rect adjusted_bounds_px = bounds_px;
@@ -1063,30 +1156,79 @@
   return adjusted_bounds_dip;
 }
 
-bool WaylandWindow::ProcessVisualSizeUpdate(const gfx::Size& size_px) {
-  auto result =
-      base::ranges::find_if(pending_configures_, [&size_px](auto& configure) {
-        // Should we adjust?
-        return configure.size_px == size_px && configure.set;
-      });
+void WaylandWindow::LatchStateRequest(const StateRequest& req, bool force) {
+  // Latch the most up to date state we have a frame back for.
+  auto old_state = latched_state_;
+  latched_state_ = req.state;
 
-  if (result != pending_configures_.end()) {
-    auto serial = result->serial;
-    SetWindowGeometry(result->bounds_dip.size());
-    AckConfigure(serial);
-    connection()->Flush();
-    pending_configures_.erase(pending_configures_.begin(), ++result);
-    return true;
+  if (force || req.state.bounds_dip.size() != old_state.bounds_dip.size()) {
+    SetWindowGeometry(req.state.bounds_dip.size());
   }
-  return false;
+  UpdateWindowMask();
+  if (req.serial != -1) {
+    AckConfigure(req.serial);
+  }
 }
 
-void WaylandWindow::ApplyPendingBounds() {
-  DCHECK(!pending_configures_.empty());
-  for (auto& configure : pending_configures_)
-    configure.set = true;
-  // Do not call SetBoundsInDIP which may be overridden by a subclass.
-  UpdateBoundsInDIP(pending_configures_.back().bounds_dip);
+void WaylandWindow::MaybeApplyLatestStateRequest(bool force) {
+  if (in_flight_requests_.empty()) {
+    return;
+  }
+
+  if (!force) {
+    int in_flight_applied = base::ranges::count_if(
+        in_flight_requests_,
+        [](const StateRequest& req) { return req.applied; });
+
+    // Allow at most 3 configure requests to be waited on at a time.
+    constexpr int MAX_IN_FLIGHT_REQUESTS = 3;
+    if (in_flight_applied >= MAX_IN_FLIGHT_REQUESTS) {
+      return;
+    }
+  }
+
+  auto& latest = in_flight_requests_.back();
+  if (latest.applied) {
+    return;
+  }
+  latest.applied = true;
+
+  // Set the applied state here so it can be used by e.g. OnBoundsChanged to
+  // pick up the new bounds.
+  auto old = applied_state_;
+  applied_state_ = latest.state;
+
+  // Only set the sequence ID if this change will produce a frame.
+  // If it won't, we may wait indefinitely for a frame that will never come.
+  if (old.bounds_dip.size() != latest.state.bounds_dip.size() ||
+      old.size_px != latest.state.size_px ||
+      old.window_scale != latest.state.window_scale) {
+    latest.viz_seq = delegate()->InsertSequencePoint();
+  }
+
+  if (old.bounds_dip != latest.state.bounds_dip ||
+      old.size_px != latest.state.size_px ||
+      old.window_scale != latest.state.window_scale) {
+    bool origin_changed =
+        old.bounds_dip.origin() != latest.state.bounds_dip.origin();
+    delegate_->OnBoundsChanged({origin_changed});
+  }
+
+  // Latch in tests immediately if the test config is set.
+  // Otherwise, such tests as interactive_ui_tests fail.
+  if (UseTestConfigForPlatformWindows()) {
+    ProcessSequencePoint(INT64_MAX);
+  }
+}
+
+std::string WaylandWindow::State::ToString() const {
+  std::stringstream result;
+  result << "State {";
+  result << "bounds_dip = " << bounds_dip.ToString();
+  result << ", size_px = " << size_px.ToString();
+  result << ", window_scale = " << window_scale;
+  result << "}";
+  return result.str();
 }
 
 }  // namespace ui
diff --git a/ui/ozone/platform/wayland/host/wayland_window.h b/ui/ozone/platform/wayland/host/wayland_window.h
index bde7bab..3031056 100644
--- a/ui/ozone/platform/wayland/host/wayland_window.h
+++ b/ui/ozone/platform/wayland/host/wayland_window.h
@@ -69,9 +69,7 @@
   static std::unique_ptr<WaylandWindow> Create(
       PlatformWindowDelegate* delegate,
       WaylandConnection* connection,
-      PlatformWindowInitProperties properties,
-      bool update_visual_size_immediately = false,
-      bool apply_pending_state_on_update_visual_size = false);
+      PlatformWindowInitProperties properties);
 
   void OnWindowLostCapture();
 
@@ -133,10 +131,12 @@
   WaylandWindow* child_window() const { return child_window_; }
 
   // Sets the window_scale for this window with respect to a display this window
-  // is located at. Returns true if the scale has changed. This determines how
-  // events can be translated and how pixel size of the surface is treated.
-  bool SetWindowScale(float new_scale);
-  float window_scale() const { return window_scale_; }
+  // is located at. This determines how events can be translated and how pixel
+  // size of the surface is treated. This is called as a result of the window
+  // moving to a new display (output), or if the scale factor of its current
+  // display changes. This is not sent via a configure.
+  void SetWindowScale(float new_scale);
+
   float ui_scale() const { return ui_scale_; }
 
   // Returns the preferred entered output id, if any. The preferred output is
@@ -149,12 +149,6 @@
   // Returns current type of the window.
   PlatformWindowType type() const { return type_; }
 
-  // The pixel size of the surface.
-  gfx::Size size_px() const { return size_px_; }
-
-  // The pixel size of the buffer for the surface.
-  gfx::Size visual_size_px() const { return visual_size_px_; }
-
   bool received_configure_event() const { return received_configure_event_; }
 
   // Remove WaylandOutput associated with WaylandSurface of this window.
@@ -250,29 +244,44 @@
                                            int32_t height,
                                            const WindowStates& window_states);
   virtual void HandlePopupConfigure(const gfx::Rect& bounds);
-  // The final size of the Wayland surface is determined by the buffer size in
-  // px that the Chromium compositor renders at. If the window changes a
-  // display (and scale changes from 1 to 2), the buffers are recreated with
-  // some delays. Thus, applying a visual size using window_scale (which is the
-  // current scale of a wl_output where the window is located at) is wrong, as
-  // it may result in a smaller visual size than needed. For example, buffers'
-  // size in px is 100x100, the buffer scale and window scale is 1. The window
-  // is moved to another display and window scale changes to 2. The window's
-  // bounds also change are multiplied by the scale factor. It takes time until
-  // buffers are recreated for a larger size in px and submitted. However, there
-  // might be an in flight frame that submits buffers with old size. Thus,
-  // applying scale factor immediately will result in a visual size in dip to be
-  // smaller than needed. This results in a bouncing window size in some
-  // scenarios like starting Chrome on a secondary display with larger scale
-  // factor than the primary display's one. Thus, this method gets a scale
-  // factor that helps to determine size of the surface in dip respecting
-  // size that GPU renders at.
-  virtual void UpdateVisualSize(const gfx::Size& size_px);
+
+  // Call when we get a new frame produced from viz with |seq| sequence ID.
+  // This is used to determine which requests have been fulfilled,
+  // and sends the appropriate acks back to the wayland server.
+  virtual void OnSequencePoint(int64_t seq) = 0;
 
   // Called by shell surfaces to indicate that this window can start submitting
   // frames. Updating state based on configure is handled separately to this.
   void OnSurfaceConfigureEvent();
 
+  // State describes important data about this window, for example data that
+  // needs to be synchronized and acked. We apply this state to the client
+  // (us) and wait for a frame to be produced matching this state. That frame
+  // is identified by the sequence id.
+  struct State {
+    bool operator==(const State& rhs) const {
+      return std::tie(bounds_dip, size_px, window_scale) ==
+             std::tie(rhs.bounds_dip, rhs.size_px, rhs.window_scale);
+    }
+
+    // Bounds in DIP.
+    gfx::Rect bounds_dip;
+    // Size in pixels. Note that it's required to keep information in both DIP
+    // and pixels since it is not always possible to convert between them.
+    gfx::Size size_px;
+    // Current scale factor of the output where the window is located at.
+    float window_scale = 1.0;
+    // TODO(crbug.com/1395267): Add window states here.
+
+    std::string ToString() const;
+  };
+
+  // See comments on the member variable for an explanation of this.
+  const State& applied_state() const { return applied_state_; }
+
+  // See comments on the member variable for an explanation of this.
+  const State& latched_state() const { return latched_state_; }
+
   // Tells if the surface has already been configured. This will be true after
   // the first set of configure event and ack request, meaning that wl_surface
   // can attach buffers.
@@ -281,11 +290,6 @@
   // Sends configure acknowledgement to the wayland server.
   virtual void AckConfigure(uint32_t serial) = 0;
 
-  // Updates the window decorations, if possible at the moment. Denotes that
-  // window will request new window_geometry, if there're no existing state
-  // changes in flight to server.
-  virtual void UpdateDecorations();
-
   // Handles close requests.
   virtual void OnCloseRequest();
 
@@ -327,8 +331,8 @@
   bool IsOpaqueWindow() const;
 
   // Says if the current window is set as active by the Wayland server. This
-  // only applies to toplevel surfaces (surfaces such as popups, subsurfaces do
-  // not support that).
+  // only applies to toplevel surfaces (surfaces such as popups, subsurfaces
+  // do not support that).
   virtual bool IsActive() const;
 
   // WaylandWindow can be any type of object - WaylandToplevelWindow,
@@ -347,26 +351,16 @@
     return weak_ptr_factory_.GetWeakPtr();
   }
 
-  // Clears the state of the |frame_manager_| when the GPU channel is destroyed.
+  // Clears the state of the |frame_manager_| when the GPU channel is
+  // destroyed.
   void OnChannelDestroyed();
 
-  // These are never intended to be used except in unit tests.
-  void set_update_visual_size_immediately_for_testing(bool update) {
-    update_visual_size_immediately_for_testing_ = update;
-  }
-
-  void set_apply_pending_state_on_update_visual_size_for_testing(bool apply) {
-    apply_pending_state_on_update_visual_size_for_testing_ = apply;
-  }
-
 #if DCHECK_IS_ON()
   void disable_null_target_dcheck_for_testing() {
     disable_null_target_dcheck_for_test_ = true;
   }
 #endif
 
-  bool has_pending_configures() const { return !pending_configures_.empty(); }
-
  protected:
   WaylandWindow(PlatformWindowDelegate* delegate,
                 WaylandConnection* connection);
@@ -404,15 +398,37 @@
   const gfx::Size& restored_size_dip() const { return restored_size_dip_; }
 
   // Configure related:
-  // Processes the pending bounds in dip.
-  void ProcessPendingBoundsDip(uint32_t serial);
 
-  // Processes the size information form visual size update and returns true if
-  // any pending configure is fulfilled.
-  bool ProcessVisualSizeUpdate(const gfx::Size& size_px);
+  // Processes the currently pending State. This may generate a new in-flight
+  // StateRequest, or apply and ack the request immediately. This should be
+  // called after the server has finished sending a configure request. The
+  // serial number comes from the server and needs to be acked when the changes
+  // from the configure have been applied.
+  void ProcessPendingConfigureState(uint32_t serial);
 
-  // Applies pending bounds.
-  virtual void ApplyPendingBounds();
+  // Requests the given state via RequestState, given that this was a server
+  // initiated change (e.g. configure).
+  void RequestStateFromServer(State state, int64_t serial);
+
+  // Requests the given state via RequestState, given that this was a client
+  // initiated change.
+  void RequestStateFromClient(State state);
+
+  // Requests the given state. If this request originates from a configure from
+  // the server, specify |serial|. If |force| is true, the state will always be
+  // applied, even if requests are being throttled.
+  void RequestState(State state, int64_t serial, bool force);
+
+  // Processes the given sequence point number. It will also latch and ack
+  // the latest fulfilled in-flight request if it exists.
+  void ProcessSequencePoint(int64_t viz_seq);
+
+  // Applies the latest in-flight StateRequest, if it exists. In-flight
+  // StateRequests need to wait for a frame generated after we inserted a
+  // sequence point for their changes. If |force| is true, the state will always
+  // be applied, even if requests are being throttled. This is used for client
+  // requested changes (server requested changes may be throttled).
+  void MaybeApplyLatestStateRequest(bool force);
 
   // PendingConfigureState describes the content of a configure sent from the
   // wayland server.
@@ -423,7 +439,8 @@
 
   // This holds the requested state for the next configure from the server.
   // The window may get several configuration events that update the pending
-  // bounds or other state.
+  // bounds or other state. When the configure is fully received, we may
+  // create a StateRequest for this pending State.
   PendingConfigureState pending_configure_state_;
 
  private:
@@ -445,7 +462,8 @@
   uint32_t DispatchEventToDelegate(const PlatformEvent& native_event);
 
   // Additional initialization of derived classes.
-  virtual bool OnInitialize(PlatformWindowInitProperties properties) = 0;
+  virtual bool OnInitialize(PlatformWindowInitProperties properties,
+                            State* state) = 0;
 
   // WaylandWindowDragController might need to take ownership of the wayland
   // surface whether the window that originated the DND session gets destroyed
@@ -458,6 +476,32 @@
 
   void UpdateCursorShape(scoped_refptr<BitmapCursor> cursor);
 
+  // StateRequest describes a State that we are applying to the window, and the
+  // metadata about that State, such as what serial number to use for ack (if it
+  // came from a configure), or the viz sequence number.
+  struct StateRequest {
+    // State that has been requested.
+    State state;
+
+    // Wayland serial number for acking a configure. This is -1 if there is no
+    // serial number (e.g. from client initiated change).
+    int64_t serial = -1;
+
+    // Viz sequence number at the time of this request. We are looking for a
+    // frame with a number greater than this to latch this request.
+    int64_t viz_seq = -1;
+
+    // Whether this request has been applied.
+    bool applied = false;
+  };
+
+  // Latches the given request. This must be called after the frame
+  // corresponding to the request is received. This acks the request and updates
+  // any window state that should be based on the currently latched state. If
+  // |force| is true, wayland messages will be sent even if there is no change
+  // from the previous state. This is used for sending the initial state.
+  void LatchStateRequest(const StateRequest& req, bool force);
+
   raw_ptr<PlatformWindowDelegate> delegate_;
   raw_ptr<WaylandConnection> connection_;
   raw_ptr<WaylandWindow> parent_window_ = nullptr;
@@ -491,24 +535,6 @@
   // The current cursor bitmap (immutable).
   scoped_refptr<BitmapCursor> cursor_;
 
-  // Current bounds of the platform window. This is either initialized, or the
-  // requested size by the Wayland compositor. When this is set in SetBounds(),
-  // delegate_->OnBoundsChanged() is called and updates current_surface_size in
-  // Viz. However, it is not guaranteed that the next arriving frame will match
-  // |bounds_dip_|.
-  gfx::Rect bounds_dip_;
-  gfx::Size size_px_;
-
-  // The size presented by the gpu process. This is the visible size of the
-  // window, which can be different from |bounds_dip_| * scale due to renderers
-  // taking time to produce a compositor frame.
-  // The rough flow of size changes:
-  //   Wayland compositor -> xdg_surface.configure()
-  //   -> WaylandWindow::SetBounds() -> IPC -> DisplayPrivate::Resize()
-  //   -> OutputSurface::SwapBuffers() -> WaylandWindow::UpdateVisualSize()
-  //   -> xdg_surface.ack_configure() -> Wayland compositor.
-  gfx::Size visual_size_px_;
-
   // Margins between edges of the surface and the window geometry (i.e., the
   // area of the window that is visible to the user as the actual window).  The
   // areas outside the geometry are used to draw client-side window decorations.
@@ -520,8 +546,6 @@
   // replaces the default value that is equal to the natural device scale.
   // We need it to place and size the menus properly.
   float ui_scale_ = 1.0f;
-  // Current scale factor of the output where the window is located at.
-  float window_scale_ = 1.f;
 
   // Stores current opacity of the window. Set on ::Initialize call.
   ui::PlatformWindowOpacity opacity_;
@@ -532,32 +556,74 @@
   // Set when the window enters in shutdown process.
   bool shutting_down_ = false;
 
-  // In a non-test environment, a frame update makes a SetBounds() change
-  // visible in |visual_size_px_|, but in some unit tests there will never be
-  // any frame updates. This flag causes UpdateVisualSize() to be invoked during
-  // SetBounds() in unit tests.
-  bool update_visual_size_immediately_for_testing_ = false;
-
-  // In a non-test environment, root_surface_->ApplyPendingBounds() is called to
-  // send Wayland protocol requests, but in some unit tests there will never be
-  // any frame updates. This flag causes root_surface_->ApplyPendingBounds() to
-  // be invoked during UpdateVisualSize() in unit tests.
-  bool apply_pending_state_on_update_visual_size_for_testing_ = false;
-
   // The size of the platform window before it went maximized or fullscreen in
   // dip.
   gfx::Size restored_size_dip_;
 
-  // Pending xdg-shell configures. Once this window is drawn to |bounds_dip|,
-  // ack_configure request with |serial| will be sent to the Wayland compositor.
-  struct PendingConfigure {
-    gfx::Rect bounds_dip;
-    gfx::Size size_px;
-    uint32_t serial;
-    // True if this configure has been passed to the compositor for rendering.
-    bool set = false;
-  };
-  base::circular_deque<PendingConfigure> pending_configures_;
+  // This holds the currently applied state. When in doubt, use this as the
+  // source of truth for this window's state. Whenever applied_state_ is
+  // changed, that change should be applied and a new in-flight request and
+  // sequence point should be created. Note that changes can be applied via
+  // other means than configures from the Wayland server. For example,
+  // PlatformWindow::SetBoundsInDIP can change the bounds without the server
+  // doing anything. This is separated from pending_configure_state_ to support
+  // these two different sources (server and PlatformWindow/etc) of control of
+  // the state.
+  //
+  // Here is an explanation of the State system:
+  //
+  // After applying some state changes (e.g. setting Chrome's bounds), we ask
+  // PlatformWindowDelegate for a sequence ID, which will be used to identify
+  // the correct buffer that has content corresponding to these changes. It is
+  // not sufficient to use the buffer size to identify this frame, because not
+  // all state changes change the buffer size. Usually these state changes are
+  // caused by configures from the wayland server, but not always. The client
+  // (us) can also set state (e.g. client side bounds change), and this needs to
+  // be managed along with changes via configure.
+  //
+  // Once the sequence ID reaches ozone/wayland GPU from viz, it will pass it
+  // over mojo back to WaylandBufferManagerHost where the whole round trip
+  // started. WaylandWindow will match it up with pending configures, which are
+  // now identified by the sequence ID at the original time of that configure.
+  //
+  // Once we have the sequence ID from viz back, we need to make sure the right
+  // configure is acked. Let's explicitly classify all configure related state
+  // into stages:
+  //
+  // Pending (pending_configure_state_): Accumulates configure data passed by
+  // the server.
+  //
+  // Requested (in_flight_requests_): On configure, we request the configure
+  // state to be applied. Not all configure state will be applied, due to
+  // throttling. Also, any client side changes (e.g.
+  // PlatformWindow::SetBoundsInDIP) should go through requested state to make
+  // sure it takes the same code path.
+  //
+  // Applied (applied_state_): A configure state which we have asked the browser
+  // to apply, e.g. by calling delegate()->OnBoundsChanged.
+  //
+  // Latched (latched_state_): When we receive the frame back from ozone/wayland
+  // GPU, we use the viz sequence ID to match it up with a configure. That state
+  // is now "latched".
+  //
+  // State changes go through this flow:
+  // 1. Pending - if via configure
+  // 2. Requested - in a queue to be applied (unless throttled)
+  // 3. Applied - we asked the browser to apply these state changes, waiting for
+  //    the frame to come back
+  // 4. Latched - the frame corresponding to this state came back, we can ack
+  //    the configure if there was one
+  State applied_state_;
+
+  // The current configuration state of the window. This is initially set to
+  // values provided by the client, until we get an actual configure from the
+  // server. See the comments on applied_state_ for further explanation.
+  State latched_state_;
+
+  // In-flight state requests. Once a frame comes from the GPU
+  // process with the appropriate viz sequence number, ack_configure request
+  // with |serial| will be sent to the Wayland compositor if needed.
+  base::circular_deque<StateRequest> in_flight_requests_;
 
   // AcceleratedWidget for this window. This will be unique even over time.
   gfx::AcceleratedWidget accelerated_widget_;
diff --git a/ui/ozone/platform/wayland/host/wayland_window_drag_controller_unittest.cc b/ui/ozone/platform/wayland/host/wayland_window_drag_controller_unittest.cc
index 15c6c53..fa8b59c2 100644
--- a/ui/ozone/platform/wayland/host/wayland_window_drag_controller_unittest.cc
+++ b/ui/ozone/platform/wayland/host/wayland_window_drag_controller_unittest.cc
@@ -1338,7 +1338,8 @@
       // window.
       gfx::Point expected_point =
           in_pixel_coordinates
-              ? gfx::ScaleToRoundedPoint(p0, 1.0f / window->window_scale())
+              ? gfx::ScaleToRoundedPoint(
+                    p0, 1.0f / window->applied_state().window_scale)
               : p0;
       expected_point += window->GetBoundsInDIP().origin().OffsetFromOrigin();
       EXPECT_EQ(expected_point, screen->GetCursorScreenPoint());
@@ -1359,12 +1360,14 @@
         ASSERT_TRUE(output);
         wl_surface_send_enter(surface->resource(), output->resource());
       });
-      EXPECT_EQ(output.second->scale_factor(), window->window_scale());
+      EXPECT_EQ(output.second->scale_factor(),
+                window->applied_state().window_scale);
 
       gfx::Point p1{20, 20};
       expected_point =
           (in_pixel_coordinates
-               ? gfx::ScaleToRoundedPoint(p1, 1.0f / window->window_scale())
+               ? gfx::ScaleToRoundedPoint(
+                     p1, 1.0f / window->applied_state().window_scale)
                : p1);
       expected_point += window->GetBoundsInDIP().origin().OffsetFromOrigin();
 
diff --git a/ui/ozone/platform/wayland/host/wayland_window_factory.cc b/ui/ozone/platform/wayland/host/wayland_window_factory.cc
index b8e0a3b..bf80606 100644
--- a/ui/ozone/platform/wayland/host/wayland_window_factory.cc
+++ b/ui/ozone/platform/wayland/host/wayland_window_factory.cc
@@ -18,9 +18,7 @@
 std::unique_ptr<WaylandWindow> WaylandWindow::Create(
     PlatformWindowDelegate* delegate,
     WaylandConnection* connection,
-    PlatformWindowInitProperties properties,
-    bool update_visual_size_immediately,
-    bool apply_pending_state_on_update_visual_size) {
+    PlatformWindowInitProperties properties) {
   std::unique_ptr<WaylandWindow> window;
   switch (properties.type) {
     case PlatformWindowType::kPopup:
@@ -48,10 +46,6 @@
       NOTREACHED();
       break;
   }
-  window->set_update_visual_size_immediately_for_testing(
-      update_visual_size_immediately);
-  window->set_apply_pending_state_on_update_visual_size_for_testing(
-      apply_pending_state_on_update_visual_size);
   return window && window->Initialize(std::move(properties)) ? std::move(window)
                                                              : nullptr;
 }
diff --git a/ui/ozone/platform/wayland/host/wayland_window_unittest.cc b/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
index f5d1e1c..6b97682 100644
--- a/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
+++ b/ui/ozone/platform/wayland/host/wayland_window_unittest.cc
@@ -120,8 +120,9 @@
       server->GetObject<wl::MockSurface>(surface_id);
   if (mock_surface) {
     auto* mock_xdg_surface = mock_surface->xdg_surface();
-    if (mock_xdg_surface)
+    if (mock_xdg_surface) {
       return mock_xdg_surface->xdg_popup();
+    }
   }
   return nullptr;
 }
@@ -191,6 +192,17 @@
         });
   }
 
+  // Simulates up to date buffers coming through viz and being latched.
+  // Call this after configures or anything where you want wayland or latched
+  // state to update.
+  void AdvanceFrameToCurrent(
+      WaylandWindow* window,
+      const MockWaylandPlatformWindowDelegate& delegate) {
+    wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
+    window->OnSequencePoint(delegate.viz_seq());
+    window->root_surface()->ApplyPendingState();
+  }
+
   void InitializeWithSupportedHitTestValues(std::vector<int>* hit_tests) {
     hit_tests->push_back(static_cast<int>(HTBOTTOM));
     hit_tests->push_back(static_cast<int>(HTBOTTOMLEFT));
@@ -239,8 +251,9 @@
     ASSERT_TRUE(pointer_focused_window);
     Event::DispatcherApi(&test_mouse_event_).set_target(pointer_focused_window);
     EXPECT_TRUE(dispatching_window->CanDispatchEvent(&test_mouse_event_));
-    for (auto* window : non_dispatching_windows)
+    for (auto* window : non_dispatching_windows) {
       EXPECT_FALSE(window->CanDispatchEvent(&test_mouse_event_));
+    }
   }
 
   void VerifyCanDispatchTouchEvents(
@@ -250,16 +263,19 @@
     auto* touch_focused_window =
         connection_->window_manager()->GetCurrentTouchFocusedWindow();
     // There must be focused window to dispatch.
-    if (dispatching_windows.size() == 0)
+    if (dispatching_windows.size() == 0) {
       EXPECT_FALSE(touch_focused_window);
+    }
 
     PointerDetails pointer_details(EventPointerType::kTouch, 1);
     TouchEvent test_touch_event(ET_TOUCH_PRESSED, {1, 1}, base::TimeTicks(),
                                 pointer_details);
-    if (touch_focused_window)
+    if (touch_focused_window) {
       Event::DispatcherApi(&test_touch_event).set_target(touch_focused_window);
-    for (auto* window : dispatching_windows)
+    }
+    for (auto* window : dispatching_windows) {
       EXPECT_TRUE(window->CanDispatchEvent(&test_touch_event));
+    }
     for (auto* window : non_dispatching_windows) {
       // Make sure that the CanDispatcEvent works on release build.
 #if DCHECK_IS_ON()
@@ -278,15 +294,18 @@
         connection_->window_manager()->GetCurrentKeyboardFocusedWindow();
 
     // There must be focused window to dispatch.
-    if (dispatching_windows.size() == 0)
+    if (dispatching_windows.size() == 0) {
       EXPECT_FALSE(keyboard_focused_window);
+    }
 
     KeyEvent test_key_event(ET_KEY_PRESSED, VKEY_0, 0);
-    if (keyboard_focused_window)
+    if (keyboard_focused_window) {
       Event::DispatcherApi(&test_key_event).set_target(keyboard_focused_window);
+    }
 
-    for (auto* window : dispatching_windows)
+    for (auto* window : dispatching_windows) {
       EXPECT_TRUE(window->CanDispatchEvent(&test_key_event));
+    }
     for (auto* window : non_dispatching_windows) {
       // Make sure that the CanDispatcEvent works on release build.
 #if DCHECK_IS_ON()
@@ -300,9 +319,10 @@
   uint32_t GetObjIdForOutput(WaylandOutput::Id id) {
     auto* output_manager = connection_->wayland_output_manager();
     auto* wayland_output = output_manager->GetOutput(id);
-    if (wayland_output)
+    if (wayland_output) {
       return wl_proxy_get_id(
           reinterpret_cast<wl_proxy*>(wayland_output->get_output()));
+    }
     return 0;
   }
 
@@ -323,7 +343,6 @@
 
 TEST_P(WaylandWindowTest, UpdateVisualSizeConfiguresWaylandWindow) {
   constexpr gfx::Rect kNormalBounds{500, 300};
-  window_->set_update_visual_size_immediately_for_testing(false);
 
   // Configure event makes Wayland update bounds, but does not change toplevel
   // input region, opaque region or window geometry immediately. Such actions
@@ -357,16 +376,12 @@
     EXPECT_CALL(*mock_surface, SetOpaqueRegion(_));
     EXPECT_CALL(*mock_surface, SetInputRegion(_));
   });
-
-  window_->UpdateVisualSize(kNormalBounds.size());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 // WaylandSurface state changes are sent to wayland compositor when
 // ApplyPendingState() is called.
 TEST_P(WaylandWindowTest, ApplyPendingStatesAndCommit) {
-  window_->set_update_visual_size_immediately_for_testing(false);
-  window_->set_apply_pending_state_on_update_visual_size_for_testing(false);
-
   PostToServerAndWait([id = surface_id_](wl::TestWaylandServerThread* server) {
     auto* mock_surface = server->GetObject<wl::MockSurface>(id);
     // Set*() calls do not send wl_surface requests.
@@ -404,9 +419,7 @@
 TEST_P(WaylandWindowTest, SetDecorationInsets) {
   constexpr gfx::Rect kNormalBounds{956, 556};
   constexpr auto kHiDpiScale = 2;
-  const gfx::Size kHiDpiSize =
-      gfx::ScaleToRoundedRect(kNormalBounds, kHiDpiScale).size();
-  const BoundsChange kHiDpiBounds{true};
+  const BoundsChange kHiDpiBounds{false};
 
   window_->SetBoundsInDIP(kNormalBounds);
 
@@ -433,16 +446,7 @@
     EXPECT_CALL(*xdg_surface, SetWindowGeometry(bounds_with_insets));
   });
   window_->SetDecorationInsets(&kDecorationInsets);
-  // Setting the decoration insets does not trigger the immediate update of the
-  // window geometry.  Emulate updating the visual size (sending the frame
-  // update) for that.
-  window_->UpdateVisualSize(kNormalBounds.size());
-  // Setting geometry is double buffered and requires commit called on the
-  // surface. In production, this is handled during commit of a next frame
-  // (which also updates visual size).
-  window_->root_surface()->Commit();
-
-  wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   EXPECT_CALL(delegate_, OnBoundsChanged(_)).Times(0);
   PostToServerAndWait([id = surface_id_, bounds_with_insets](
@@ -454,6 +458,8 @@
   });
 
   SendConfigureEvent(surface_id_, bounds_with_insets.size(), state);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
+  VerifyAndClearExpectations();
 
   // Change scale.  This is the only time when we expect the pixel position to
   // change.
@@ -469,24 +475,16 @@
 
   // Set new insets so that rounding does not result in integer.
   constexpr auto kDecorationInsets_2x = gfx::Insets::TLBR(48, 55, 63, 55);
-  PostToServerAndWait([id = surface_id_, bounds_with_insets](
-                          wl::TestWaylandServerThread* server) {
+  PostToServerAndWait([id = surface_id_](wl::TestWaylandServerThread* server) {
     wl::MockSurface* surface = server->GetObject<wl::MockSurface>(id);
     ASSERT_TRUE(surface);
     wl::MockXdgSurface* xdg_surface = surface->xdg_surface();
-    EXPECT_CALL(*xdg_surface, SetWindowGeometry(bounds_with_insets));
+    EXPECT_CALL(*xdg_surface, SetWindowGeometry(_)).Times(0);
   });
-  window_->SetDecorationInsets(&kDecorationInsets_2x);
-  // Setting the decoration insets does not trigger the immediate update of the
-  // window geometry.  Emulate updating the visual size (sending the frame
-  // update) for that.
-  window_->UpdateVisualSize(kHiDpiSize);
-  // Setting geometry is double buffered and requires commit called on the
-  // surface. In production, this is handled during commit of a next frame
-  // (which also updates visual size).
-  window_->root_surface()->Commit();
 
-  wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
+  window_->SetDecorationInsets(&kDecorationInsets_2x);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
+  VerifyAndClearExpectations();
 
   // Now send configure events many times - bounds mustn't change.
   for (size_t i = 0; i < 10; i++) {
@@ -499,6 +497,7 @@
       EXPECT_CALL(*xdg_surface, SetWindowGeometry(bounds_with_insets));
     });
     SendConfigureEvent(surface_id_, bounds_with_insets.size(), state);
+    AdvanceFrameToCurrent(window_.get(), delegate_);
   }
 }
 
@@ -532,8 +531,9 @@
   };
   for (const auto& test_case : kTestCases) {
     auto configured_states = InitializeWlArrayWithActivatedState();
-    for (const auto additional_state : test_case.configured_states)
+    for (const auto additional_state : test_case.configured_states) {
       AddStateToWlArray(additional_state, configured_states.get());
+    }
 
     EXPECT_CALL(delegate_,
                 OnWindowTiledStateChanged(test_case.expected_tiled_edges))
@@ -550,8 +550,6 @@
   constexpr gfx::Rect kNormalBounds3{700, 400};
   uint32_t serial = 1;
 
-  window_->set_update_visual_size_immediately_for_testing(false);
-
   // Send 3 configures, and call UpdateVisualSize out of order. The out-of-order
   // UpdateVisualSize(kNormalBounds2) should disregarded b/c kNormalBounds2
   // never reached UI Compositor when UpdateVisualSize(kNormalBounds2) is
@@ -579,29 +577,26 @@
   state = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, kNormalBounds3.size(), state, ++serial);
 
-  window_->UpdateVisualSize(kNormalBounds2.size());
-  window_->UpdateVisualSize(kNormalBounds1.size());
-  window_->UpdateVisualSize(kNormalBounds3.size());
+  window_->OnSequencePoint(/*seq=*/1);
+  window_->OnSequencePoint(/*seq=*/3);
 }
 
-TEST_P(WaylandWindowTest, MismatchUpdateVisualSize) {
+TEST_P(WaylandWindowTest, MismatchedSequencePoints) {
   constexpr gfx::Rect kNormalBounds1{500, 300};
   constexpr gfx::Rect kNormalBounds2{800, 600};
   constexpr gfx::Rect kNormalBounds3{700, 400};
 
-  window_->set_update_visual_size_immediately_for_testing(false);
-
   PostToServerAndWait([id = surface_id_](wl::TestWaylandServerThread* server) {
     wl::MockSurface* mock_surface = server->GetObject<wl::MockSurface>(id);
     ASSERT_TRUE(mock_surface);
     wl::MockXdgSurface* xdg_surface = mock_surface->xdg_surface();
 
-    // UpdateVisualSize with different size from configure events does not
-    // acknowledge toplevel configure.
+    // OnSequencePoint with mismatched sequence points from configure
+    // events does not acknowledge toplevel configure.
     EXPECT_CALL(*xdg_surface, SetWindowGeometry(_)).Times(0);
     EXPECT_CALL(*xdg_surface, AckConfigure(_)).Times(0);
-    EXPECT_CALL(*mock_surface, SetOpaqueRegion(_));
-    EXPECT_CALL(*mock_surface, SetInputRegion(_));
+    EXPECT_CALL(*mock_surface, SetOpaqueRegion(_)).Times(0);
+    EXPECT_CALL(*mock_surface, SetInputRegion(_)).Times(0);
   });
 
   auto state = InitializeWlArrayWithActivatedState();
@@ -610,8 +605,8 @@
   SendConfigureEvent(surface_id_, kNormalBounds2.size(), state);
   state = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, kNormalBounds3.size(), state);
-
-  window_->UpdateVisualSize({100, 100});
+  // Needs sequence point > 0 to latch.
+  window_->OnSequencePoint(0);
 }
 
 TEST_P(WaylandWindowTest, UpdateVisualSizeClearsPreviousUnackedConfigures) {
@@ -621,8 +616,6 @@
   uint32_t serial = 1;
   auto state = InitializeWlArrayWithActivatedState();
 
-  window_->set_update_visual_size_immediately_for_testing(false);
-
   // Send 3 configures. Calling UpdateVisualSize(kNormalBounds3) will cause the
   // kNormalBounds3 to be passed onto UI compositor. Hence, kNormalBounds1/2/3
   // configs will be acknowledgeable. The next UpdateVisualSize(kNormalBounds3)
@@ -660,9 +653,7 @@
   });
   state = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, kNormalBounds3.size(), state, ++serial);
-
-  window_->UpdateVisualSize(kNormalBounds3.size());
-  window_->UpdateVisualSize(kNormalBounds3.size());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 TEST_P(WaylandWindowTest, MaximizeAndRestore) {
@@ -673,11 +664,13 @@
   EXPECT_CALL(delegate_, OnBoundsChanged(Eq(kDefaultBoundsChange)));
   window_->SetBoundsInDIP(gfx::Rect(kNormalBounds.size()));
   EXPECT_EQ(PlatformWindowState::kNormal, window_->GetPlatformWindowState());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   // Deactivate the surface.
   auto empty_state = MakeStateArray({});
   SendConfigureEvent(surface_id_, {0, 0}, empty_state);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   auto active_maximized = MakeStateArray(
       {XDG_TOPLEVEL_STATE_ACTIVATED, XDG_TOPLEVEL_STATE_MAXIMIZED});
@@ -702,6 +695,7 @@
           testing::Invoke([this]() { window_->SetDecorationInsets({}); }));
   window_->Maximize();
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), active_maximized);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   auto inactive_maximized = MakeStateArray({XDG_TOPLEVEL_STATE_MAXIMIZED});
@@ -715,6 +709,7 @@
   EXPECT_CALL(delegate_, OnActivationChanged(Eq(false)));
   EXPECT_CALL(delegate_, OnBoundsChanged(_)).Times(0);
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), inactive_maximized);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   PostToServerAndWait([id = surface_id_, bounds = kMaximizedBounds](
@@ -727,6 +722,7 @@
   EXPECT_CALL(delegate_, OnActivationChanged(Eq(true)));
   EXPECT_CALL(delegate_, OnBoundsChanged(_)).Times(0);
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), active_maximized);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   PostToServerAndWait([id = surface_id_, bounds = kNormalBounds](
@@ -757,6 +753,7 @@
   // Reinitialize wl_array, which removes previous old states.
   auto active = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, active);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -810,8 +807,9 @@
 
 TEST_P(WaylandWindowTest, Minimize) {
   // This mustn't run with aura shell.
-  if (GetParam().enable_aura_shell == wl::EnableAuraShellProtocol::kEnabled)
+  if (GetParam().enable_aura_shell == wl::EnableAuraShellProtocol::kEnabled) {
     GTEST_SKIP();
+  }
 
   wl::ScopedWlArray states({});
 
@@ -944,8 +942,8 @@
   // is called later down the road, but Maximize may be called earlier. We
   // cannot process them and set a pending state instead, because ShellSurface
   // is not created by that moment.
-  auto window = delegate.CreateWaylandWindow(connection_.get(),
-                                             std::move(properties), true, true);
+  auto window =
+      delegate.CreateWaylandWindow(connection_.get(), std::move(properties));
 
   wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
 
@@ -1002,8 +1000,8 @@
   // is called later down the road, but Maximize may be called earlier. We
   // cannot process them and set a pending state instead, because ShellSurface
   // is not created by that moment.
-  auto window = delegate.CreateWaylandWindow(connection_.get(),
-                                             std::move(properties), true, true);
+  auto window =
+      delegate.CreateWaylandWindow(connection_.get(), std::move(properties));
 
   wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
 
@@ -1078,6 +1076,7 @@
   wl::ScopedWlArray states = InitializeWlArrayWithActivatedState();
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED);
   SendConfigureEvent(surface_id_, {2000, 2000}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   EXPECT_EQ(window_->GetPlatformWindowState(), PlatformWindowState::kMaximized);
 
   // Unmaximize
@@ -1098,6 +1097,7 @@
       });
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Now, set to fullscreen.
   EXPECT_CALL(delegate_,
@@ -1111,6 +1111,7 @@
   });
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_FULLSCREEN);
   SendConfigureEvent(surface_id_, {2005, 2005}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Unfullscreen
   EXPECT_CALL(delegate_,
@@ -1130,6 +1131,7 @@
       });
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Now, maximize, fullscreen and restore.
   EXPECT_CALL(delegate_,
@@ -1144,6 +1146,7 @@
   states = InitializeWlArrayWithActivatedState();
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED);
   SendConfigureEvent(surface_id_, {2000, 2000}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   EXPECT_CALL(delegate_,
               OnWindowStateChanged(_, Eq(PlatformWindowState::kFullScreen)))
@@ -1156,6 +1159,7 @@
   });
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_FULLSCREEN);
   SendConfigureEvent(surface_id_, {2005, 2005}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Restore
   EXPECT_CALL(delegate_,
@@ -1175,6 +1179,7 @@
       });
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 TEST_P(WaylandWindowTest, SetMaximizedFullscreenAndRestore) {
@@ -1185,6 +1190,7 @@
   EXPECT_CALL(delegate_, OnBoundsChanged(Eq(kDefaultBoundsChange)));
   window_->SetBoundsInDIP(gfx::Rect(kNormalBounds.size()));
   EXPECT_EQ(PlatformWindowState::kNormal, window_->GetPlatformWindowState());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   // Deactivate the surface.
@@ -1208,6 +1214,7 @@
   // State changes are synchronous.
   EXPECT_EQ(PlatformWindowState::kMaximized, window_->GetPlatformWindowState());
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), active_maximized);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   // Verify that the state has not been changed.
   EXPECT_EQ(PlatformWindowState::kMaximized, window_->GetPlatformWindowState());
   VerifyAndClearExpectations();
@@ -1228,6 +1235,7 @@
             window_->GetPlatformWindowState());
   AddStateToWlArray(XDG_TOPLEVEL_STATE_FULLSCREEN, active_maximized.get());
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), active_maximized);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   // Verify that the state has not been changed.
   EXPECT_EQ(PlatformWindowState::kFullScreen,
             window_->GetPlatformWindowState());
@@ -1248,6 +1256,7 @@
   // Reinitialize wl_array, which removes previous old states.
   auto active = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, active);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   EXPECT_EQ(PlatformWindowState::kNormal, window_->GetPlatformWindowState());
 }
 
@@ -1265,6 +1274,7 @@
   window_->Maximize();
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED);
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   restored_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
 
@@ -1284,6 +1294,7 @@
   // Reinitialize wl_array, which removes previous old states.
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   bounds = window_->GetBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
   restored_bounds = window_->GetRestoredBoundsInDIP();
@@ -1295,6 +1306,7 @@
 
   wl::ScopedWlArray states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   gfx::Rect restored_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(restored_bounds, gfx::Rect());
@@ -1305,6 +1317,7 @@
   window_->SetFullscreen(true, display::kInvalidDisplayId);
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_FULLSCREEN);
   SendConfigureEvent(surface_id_, kFullscreenBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   restored_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
 
@@ -1324,6 +1337,7 @@
   // Reinitialize wl_array, which removes previous old states.
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   bounds = window_->GetBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
   restored_bounds = window_->GetRestoredBoundsInDIP();
@@ -1344,6 +1358,7 @@
   window_->Maximize();
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED);
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   restored_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
 
@@ -1352,6 +1367,7 @@
   window_->SetFullscreen(true, display::kInvalidDisplayId);
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_FULLSCREEN);
   SendConfigureEvent(surface_id_, kFullscreenBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   gfx::Rect fullscreen_restore_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(restored_bounds, fullscreen_restore_bounds);
 
@@ -1361,6 +1377,7 @@
   states = InitializeWlArrayWithActivatedState();
   states.AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED);
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   restored_bounds = window_->GetRestoredBoundsInDIP();
   EXPECT_EQ(restored_bounds, fullscreen_restore_bounds);
 
@@ -1380,6 +1397,7 @@
   // Reinitialize wl_array, which removes previous old states.
   states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   bounds = window_->GetBoundsInDIP();
   EXPECT_EQ(bounds, restored_bounds);
   restored_bounds = window_->GetRestoredBoundsInDIP();
@@ -1393,6 +1411,7 @@
       gfx::Rect(initial_bounds.width() + 10, initial_bounds.height() + 10);
   EXPECT_CALL(delegate_, OnBoundsChanged(kDefaultBoundsChange));
   window_->SetBoundsInDIP(new_bounds);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   wl::ScopedWlArray states = InitializeWlArrayWithActivatedState();
 
@@ -1407,6 +1426,7 @@
         .Times(2);
   });
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Restored bounds should keep empty value.
   gfx::Rect restored_bounds = window_->GetRestoredBoundsInDIP();
@@ -1416,6 +1436,7 @@
   // width. It looks more like a bug in Gnome Shell with Wayland as long as the
   // documentation says it must be set to 0, 0, when wayland requests bounds.
   SendConfigureEvent(surface_id_, {0, 0}, states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Restored bounds should keep empty value.
   restored_bounds = window_->GetRestoredBoundsInDIP();
@@ -1434,7 +1455,9 @@
     EXPECT_CALL(*mock_surface, SetInputRegion(_)).Times(1);
   });
   window_->SetBoundsInDIP(new_bounds);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
+
   PostToServerAndWait(
       [id = surface_id_, new_bounds](wl::TestWaylandServerThread* server) {
         wl::MockSurface* mock_surface = server->GetObject<wl::MockSurface>(id);
@@ -1455,7 +1478,9 @@
   window_->Maximize();
   AddStateToWlArray(XDG_TOPLEVEL_STATE_MAXIMIZED, states.get());
   SendConfigureEvent(surface_id_, kMaximizedBounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
+
   PostToServerAndWait([id = surface_id_,
                        kMaximizedBounds](wl::TestWaylandServerThread* server) {
     wl::MockSurface* mock_surface = server->GetObject<wl::MockSurface>(id);
@@ -1476,6 +1501,7 @@
   // Reinitialize wl_array, which removes previous old states.
   auto active = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, {0, 0}, active);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
   VerifyAndClearExpectations();
 
   PostToServerAndWait(
@@ -1485,6 +1511,7 @@
         EXPECT_EQ(mock_surface->opaque_region(), restored_bounds);
         EXPECT_EQ(mock_surface->input_region(), restored_bounds);
       });
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 TEST_P(WaylandWindowTest, CanDispatchMouseEventFocus) {
@@ -1594,6 +1621,7 @@
         EXPECT_CALL(*xdg_surface, AckConfigure(serial));
       });
   SendConfigureEvent(surface_id_, kSize, states, serial);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   constexpr gfx::Size kNewSize{1500, 1000};
 
@@ -1607,6 +1635,7 @@
     EXPECT_CALL(*xdg_surface, AckConfigure(serial + 1));
   });
   SendConfigureEvent(surface_id_, kNewSize, states, ++serial);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 TEST_P(WaylandWindowTest, ConfigureEventWithNulledSize) {
@@ -1827,13 +1856,12 @@
 // geometry with non-zero offset.
 // See https://crbug.com/1292486.
 TEST_P(WaylandWindowTest, ConvertEventToTarget) {
-  // This first section repeats a part of SetDecorationInsets that sets
-  // decoration insets and ensures that they have been applied.
   constexpr gfx::Rect kMainWindowBounds{956, 556};
   const auto kMainWindowInsets = gfx::Insets::TLBR(24, 28, 32, 28);
+
   auto bounds_with_insets = kMainWindowBounds;
   bounds_with_insets.Inset(kMainWindowInsets);
-  EXPECT_CALL(delegate_, OnBoundsChanged(_)).Times(0);
+  EXPECT_CALL(delegate_, OnBoundsChanged(_));
   PostToServerAndWait([id = surface_id_, bounds_with_insets](
                           wl::TestWaylandServerThread* server) {
     wl::MockSurface* mock_surface = server->GetObject<wl::MockSurface>(id);
@@ -1841,13 +1869,9 @@
     auto* xdg_surface = mock_surface->xdg_surface();
     EXPECT_CALL(*xdg_surface, SetWindowGeometry(bounds_with_insets));
   });
+  window_->SetBoundsInDIP(kMainWindowBounds);
   window_->SetDecorationInsets(&kMainWindowInsets);
-  // Setting the decoration insets does not trigger the immediate update of the
-  // window geometry.  Emulate updating the visual size (sending the frame
-  // update) for that.
-  window_->UpdateVisualSize(kMainWindowBounds.size());
-
-  wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Create a menu.
   constexpr gfx::Rect kMenuBounds{100, 100, 80, 50};
@@ -2234,7 +2258,7 @@
   VerifyAndClearExpectations();
 
   // Surface scale must be 1 when no output has been entered by the window.
-  EXPECT_EQ(1, window_->window_scale());
+  EXPECT_EQ(1, window_->applied_state().window_scale);
 
   PostToServerAndWait([](wl::TestWaylandServerThread* server) {
     // Configure first output with scale 1.
@@ -2265,8 +2289,8 @@
       });
 
   // The window's scale and bounds must remain unchanged.
-  EXPECT_EQ(1, window_->window_scale());
-  EXPECT_EQ(gfx::Size(800, 600), window_->size_px());
+  EXPECT_EQ(1, window_->applied_state().window_scale);
+  EXPECT_EQ(gfx::Size(800, 600), window_->applied_state().size_px);
   EXPECT_EQ(gfx::Rect(800, 600), window_->GetBoundsInDIP());
 
   // Get another output's id.
@@ -2287,8 +2311,8 @@
   });
 
   // The window must change its scale and bounds to keep DIP bounds the same.
-  EXPECT_EQ(2, window_->window_scale());
-  EXPECT_EQ(gfx::Size(1600, 1200), window_->size_px());
+  EXPECT_EQ(2, window_->applied_state().window_scale);
+  EXPECT_EQ(gfx::Size(1600, 1200), window_->applied_state().size_px);
   EXPECT_EQ(gfx::Rect(800, 600), window_->GetBoundsInDIP());
 }
 
@@ -2337,9 +2361,11 @@
 
     // the wayland_popup window should inherit its buffer scale from the focused
     // window.
-    EXPECT_EQ(1, window_->window_scale());
-    EXPECT_EQ(window_->window_scale(), wayland_popup->window_scale());
-    EXPECT_EQ(wayland_popup_bounds.size(), wayland_popup->size_px());
+    EXPECT_EQ(1, window_->applied_state().window_scale);
+    EXPECT_EQ(window_->applied_state().window_scale,
+              wayland_popup->applied_state().window_scale);
+    EXPECT_EQ(wayland_popup_bounds.size(),
+              wayland_popup->applied_state().size_px);
     EXPECT_EQ(wayland_popup_bounds, wayland_popup->GetBoundsInDIP());
     wayland_popup->Hide();
 
@@ -2354,17 +2380,19 @@
       wl_surface_send_leave(surface->resource(), output1->resource());
     });
 
-    EXPECT_EQ(2, window_->window_scale());
+    EXPECT_EQ(2, window_->applied_state().window_scale);
     wayland_popup->Show(false);
 
     wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
 
     // |wayland_popup|'s scale and bounds must change whenever its parents
     // scale is changed.
-    EXPECT_EQ(window_->window_scale(), wayland_popup->window_scale());
-    EXPECT_EQ(gfx::ScaleToCeiledSize(wayland_popup_bounds.size(),
-                                     wayland_popup->window_scale()),
-              wayland_popup->size_px());
+    EXPECT_EQ(window_->applied_state().window_scale,
+              wayland_popup->applied_state().window_scale);
+    EXPECT_EQ(
+        gfx::ScaleToCeiledSize(wayland_popup_bounds.size(),
+                               wayland_popup->applied_state().window_scale),
+        wayland_popup->applied_state().size_px);
 
     wayland_popup->Hide();
     SetPointerFocusedWindow(nullptr);
@@ -2467,7 +2495,7 @@
               gfx::ScaleToCeiledSize(bounds_dip.size(), secondary_output_scale);
         }
 
-        EXPECT_EQ(expected_px_size, wayland_popup->size_px())
+        EXPECT_EQ(expected_px_size, wayland_popup->applied_state().size_px)
             << " when the window is on " << entered_output.label
             << " that has scale " << entered_output.output->scale_factor();
       }
@@ -2527,7 +2555,7 @@
 
   wayland_popup->Show(false);
 
-  EXPECT_EQ(expected_size_px, wayland_popup->size_px());
+  EXPECT_EQ(expected_size_px, wayland_popup->applied_state().size_px);
 
   PostToServerAndWait([id = surface_id_, secondary_output_id](
                           wl::TestWaylandServerThread* server) {
@@ -2546,7 +2574,7 @@
   VerifyAndClearExpectations();
 
   // Buffer scale must be 1 when no output has been entered by the window.
-  EXPECT_EQ(1, window_->window_scale());
+  EXPECT_EQ(1, window_->applied_state().window_scale);
 
   PostToServerAndWait([](wl::TestWaylandServerThread* server) {
     // Update first output.
@@ -2680,7 +2708,7 @@
   VerifyAndClearExpectations();
 
   // Buffer scale must be 1 when no output has been entered by the window.
-  EXPECT_EQ(1, window_->window_scale());
+  EXPECT_EQ(1, window_->applied_state().window_scale);
 
   MockWaylandPlatformWindowDelegate menu_window_delegate;
   std::unique_ptr<WaylandWindow> menu_window = CreateWaylandWindowWithParams(
@@ -2911,6 +2939,7 @@
       SkIRect::MakeXYWH(0, 0, new_bounds.width(), new_bounds.height());
   auto state_array = MakeStateArray({XDG_TOPLEVEL_STATE_ACTIVATED});
   SendConfigureEvent(surface_id_, new_bounds.size(), state_array);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   VerifyAndClearExpectations();
   PostToServerAndWait(
@@ -2923,6 +2952,7 @@
   new_bounds.set_size(gfx::Size(1000, 534));
   rect = SkIRect::MakeXYWH(0, 0, new_bounds.width(), new_bounds.height());
   SendConfigureEvent(surface_id_, new_bounds.size(), state_array);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   VerifyAndClearExpectations();
   PostToServerAndWait(
@@ -3289,8 +3319,8 @@
   properties.wm_class_class = kAppId;
 
   MockWaylandPlatformWindowDelegate delegate;
-  auto window = delegate.CreateWaylandWindow(connection_.get(),
-                                             std::move(properties), true, true);
+  auto window =
+      delegate.CreateWaylandWindow(connection_.get(), std::move(properties));
   ASSERT_TRUE(window);
   window->Show(false);
 
@@ -3676,7 +3706,6 @@
       PlatformWindowType::kWindow, gfx::Rect(10, 10, 200, 200), &delegate_2);
   toplevel->HandleAuraToplevelConfigure(0, 0, 0, 0, {false, false, true});
   toplevel->HandleSurfaceConfigure(2);
-  static_cast<WaylandToplevelWindow*>(toplevel.get())->ApplyPendingBounds();
   EXPECT_EQ(gfx::Rect(10, 10, 200, 200), toplevel->GetBoundsInDIP());
 }
 
@@ -3690,7 +3719,6 @@
                                          .is_activated = true,
                                          .is_snapped_primary = true});
   toplevel->HandleSurfaceConfigure(2);
-  static_cast<WaylandToplevelWindow*>(toplevel.get())->ApplyPendingBounds();
   EXPECT_EQ(gfx::Rect(0, 0, 100, 200), toplevel->GetBoundsInDIP());
 }
 
@@ -3704,15 +3732,15 @@
                                          .is_activated = true,
                                          .is_snapped_secondary = true});
   toplevel->HandleSurfaceConfigure(2);
-  static_cast<WaylandToplevelWindow*>(toplevel.get())->ApplyPendingBounds();
   EXPECT_EQ(gfx::Rect(100, 0, 100, 200), toplevel->GetBoundsInDIP());
 }
 
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
 
 TEST_P(WaylandWindowTest, ImmersiveFullscreen) {
-  if (!IsAuraShellEnabled())
+  if (!IsAuraShellEnabled()) {
     GTEST_SKIP();
+  }
 
   testing::NiceMock<MockWaylandPlatformWindowDelegate> delegate_2;
   auto toplevel = CreateWaylandWindowWithParams(
@@ -3728,8 +3756,9 @@
 }
 
 TEST_P(WaylandWindowTest, ImmersiveFullscreen_Disabled) {
-   if (!IsAuraShellEnabled())
+  if (!IsAuraShellEnabled()) {
     GTEST_SKIP();
+  }
 
   uint32_t serial = 0;
 
@@ -4136,8 +4165,6 @@
       MockWaylandPlatformWindowDelegate* delegate) {
     auto window =
         std::make_unique<BlockableWaylandToplevelWindow>(delegate, connection);
-    window->set_update_visual_size_immediately_for_testing(true);
-    window->set_apply_pending_state_on_update_visual_size_for_testing(true);
 
     PlatformWindowInitProperties properties;
     properties.bounds = bounds;
@@ -4321,6 +4348,7 @@
         .Times(0);
   });
   window_->SetBoundsInDIP(new_bounds);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 
   // Resize and move.
   new_bounds.Inset(5);
@@ -4334,7 +4362,6 @@
   });
   window_->SetBoundsInDIP(new_bounds);
 
-  // Xdg configure event will reset the origin.
   EXPECT_CALL(delegate_, OnBoundsChanged(Eq(BoundsChange(true)))).Times(1);
   PostToServerAndWait([id = surface_id_,
                        new_bounds](wl::TestWaylandServerThread* server) {
@@ -4345,6 +4372,7 @@
   });
   wl::ScopedWlArray states = InitializeWlArrayWithActivatedState();
   SendConfigureEvent(surface_id_, new_bounds.size(), states);
+  AdvanceFrameToCurrent(window_.get(), delegate_);
 }
 
 // Make sure that creating a window with DIP bounds creates a window with
@@ -4368,7 +4396,8 @@
       const gfx::Rect kBoundsDip{20, 0, i, 3000 - i};
       const gfx::Rect bounds_in_px = delegate_.ConvertRectToPixels(kBoundsDip);
       wayland_window->SetBoundsInDIP(kBoundsDip);
-      EXPECT_EQ(bounds_in_px.size(), wayland_window->size_px());
+      AdvanceFrameToCurrent(wayland_window.get(), delegate);
+      EXPECT_EQ(bounds_in_px.size(), wayland_window->applied_state().size_px);
       EXPECT_EQ(kBoundsDip, wayland_window->GetBoundsInDIP());
     }
   }
diff --git a/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.cc b/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.cc
index 2bfba9f5..66b0d67 100644
--- a/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.cc
+++ b/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.cc
@@ -11,25 +11,23 @@
 
 gfx::Rect MockWaylandPlatformWindowDelegate::ConvertRectToPixels(
     const gfx::Rect& rect_in_dp) const {
-  float scale = wayland_window_ ? wayland_window_->window_scale() : 1.0f;
+  float scale =
+      wayland_window_ ? wayland_window_->applied_state().window_scale : 1.0f;
   return gfx::ScaleToEnclosingRect(rect_in_dp, scale);
 }
 
 gfx::Rect MockWaylandPlatformWindowDelegate::ConvertRectToDIP(
     const gfx::Rect& rect_in_pixels) const {
-  float scale = wayland_window_ ? wayland_window_->window_scale() : 1.0f;
+  float scale =
+      wayland_window_ ? wayland_window_->applied_state().window_scale : 1.0f;
   return gfx::ScaleToEnclosedRect(rect_in_pixels, 1.0f / scale);
 }
 
 std::unique_ptr<WaylandWindow>
 MockWaylandPlatformWindowDelegate::CreateWaylandWindow(
     WaylandConnection* connection,
-    PlatformWindowInitProperties properties,
-    bool update_visual_size_immediately,
-    bool apply_pending_state_on_update_visual_size) {
-  auto window = WaylandWindow::Create(
-      this, connection, std::move(properties), update_visual_size_immediately,
-      apply_pending_state_on_update_visual_size);
+    PlatformWindowInitProperties properties) {
+  auto window = WaylandWindow::Create(this, connection, std::move(properties));
   wayland_window_ = window.get();
   return window;
 }
diff --git a/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.h b/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.h
index fe1d8d59..f3a5efd 100644
--- a/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.h
+++ b/ui/ozone/platform/wayland/test/mock_wayland_platform_window_delegate.h
@@ -24,9 +24,7 @@
 
   std::unique_ptr<WaylandWindow> CreateWaylandWindow(
       WaylandConnection* connection,
-      PlatformWindowInitProperties properties,
-      bool update_visual_size_immediately = false,
-      bool apply_pending_state_on_update_visual_size = false);
+      PlatformWindowInitProperties properties);
 
   // MockPlatformWindowDelegate:
   gfx::Rect ConvertRectToPixels(const gfx::Rect& rect_in_dp) const override;
diff --git a/ui/ozone/platform/wayland/test/wayland_test.cc b/ui/ozone/platform/wayland/test/wayland_test.cc
index 4a21cb6..785a39d 100644
--- a/ui/ozone/platform/wayland/test/wayland_test.cc
+++ b/ui/ozone/platform/wayland/test/wayland_test.cc
@@ -75,8 +75,8 @@
   PlatformWindowInitProperties properties;
   properties.bounds = gfx::Rect(0, 0, 800, 600);
   properties.type = PlatformWindowType::kWindow;
-  window_ = delegate_.CreateWaylandWindow(connection_.get(),
-                                          std::move(properties), true, true);
+  window_ =
+      delegate_.CreateWaylandWindow(connection_.get(), std::move(properties));
   ASSERT_NE(widget_, gfx::kNullAcceleratedWidget);
 
   window_->Show(false);
@@ -246,8 +246,8 @@
   properties.type = type;
   properties.parent_widget = parent_widget;
 
-  auto window = delegate->CreateWaylandWindow(
-      connection_.get(), std::move(properties), true, true);
+  auto window =
+      delegate->CreateWaylandWindow(connection_.get(), std::move(properties));
   if (window)
     window->Show(false);
   return window;
diff --git a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
index e5ea100..4cfbf39c 100644
--- a/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
+++ b/ui/ozone/platform/wayland/wayland_buffer_manager_unittest.cc
@@ -133,9 +133,6 @@
     buffer_manager_gpu_->Initialize(std::move(interface_ptr), {}, false, true,
                                     false,
                                     kAugmentedSurfaceNotSupportedVersion);
-
-    window_->set_update_visual_size_immediately_for_testing(false);
-    window_->set_apply_pending_state_on_update_visual_size_for_testing(false);
     surface_id_ = window_->root_surface()->get_surface_id();
   }
 
@@ -480,7 +477,7 @@
     CommitBuffer(widget, kBufferId1, kBufferId1,
                  gfx::FrameData(delegate_.viz_seq()),
                  window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-                 kDefaultScale, gfx::Rect(window_->size_px()));
+                 kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
     CreateDmabufBasedBufferAndSetTerminateExpectation(true /*fail*/,
                                                       kBufferId1);
@@ -507,7 +504,7 @@
     CommitBuffer(widget, kBufferId1, kBufferId1,
                  gfx::FrameData(delegate_.viz_seq()),
                  window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-                 kDefaultScale, gfx::Rect(window_->size_px()));
+                 kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
     DestroyBufferAndSetTerminateExpectation(kBufferId1, false /*fail*/);
   }
@@ -536,7 +533,7 @@
     CommitBuffer(widget, kBufferId1, kBufferId1,
                  gfx::FrameData(delegate_.viz_seq()),
                  window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-                 kDefaultScale, gfx::Rect(window_->size_px()));
+                 kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
     // Created non-attached buffer as well.
     CreateDmabufBasedBufferAndSetTerminateExpectation(false /*fail*/,
@@ -580,7 +577,7 @@
   CommitBuffer(window_->GetWidget(), 1u, 5u,
                gfx::FrameData(delegate_.viz_seq()),
                window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-               kDefaultScale, gfx::Rect(window_->size_px()));
+               kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
   // Let the mojo call to go through.
   base::RunLoop().RunUntilIdle();
@@ -669,7 +666,7 @@
   CommitBuffer(gfx::kNullAcceleratedWidget, 1u, kBufferId,
                gfx::FrameData(delegate_.viz_seq()),
                window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-               kDefaultScale, gfx::Rect(window_->size_px()));
+               kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
   // Let the mojo call to go through.
   base::RunLoop().RunUntilIdle();
@@ -1254,7 +1251,7 @@
   CommitBuffer(widget, kDmabufBufferId, kDmabufBufferId,
                gfx::FrameData(delegate_.viz_seq()),
                window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-               kDefaultScale, gfx::Rect(window_->size_px()));
+               kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
   PostToServerAndWait([id = surface_id_](wl::TestWaylandServerThread* server) {
     auto* mock_surface = server->GetObject<wl::MockSurface>(id);
@@ -1296,7 +1293,7 @@
   CommitBuffer(widget, kDmabufBufferId2, kDmabufBufferId2,
                gfx::FrameData(delegate_.viz_seq()),
                window_->GetBoundsInPixels(), gfx::RoundedCornersF(),
-               kDefaultScale, gfx::Rect(window_->size_px()));
+               kDefaultScale, gfx::Rect(window_->applied_state().size_px));
 
   PostToServerAndWait([id = surface_id_](wl::TestWaylandServerThread* server) {
     auto* mock_surface = server->GetObject<wl::MockSurface>(id);
@@ -1430,13 +1427,7 @@
   // order to force WaylandWindow::ProcessPendingBoundsDip() to defer the very
   // first configure ack to be done in the subsequent UpdateVisualSize() call.
   window->SetRestoredBoundsInDIP(kRestoredBounds);
-
-  // Disable auto immediate visual size update (when, for example, calling into
-  // WaylandWindow::SetBoundsInPixels) so that we can emulate deferred call to
-  // WaylandToplevelWindow::UpdateVisualSize() with mismatching parameters, when
-  // processing initial frame sent by the GPU.
-  window->set_update_visual_size_immediately_for_testing(false);
-  window->set_apply_pending_state_on_update_visual_size_for_testing(false);
+  wl::SyncDisplay(connection_->display_wrapper(), *connection_->display());
 
   gfx::Insets insets;
   window->SetDecorationInsets(&insets);
diff --git a/ui/webui/resources/cr_elements/cr_auto_img/cr_auto_img.ts b/ui/webui/resources/cr_elements/cr_auto_img/cr_auto_img.ts
index 7df8e50..cb953ce 100644
--- a/ui/webui/resources/cr_elements/cr_auto_img/cr_auto_img.ts
+++ b/ui/webui/resources/cr_elements/cr_auto_img/cr_auto_img.ts
@@ -16,8 +16,7 @@
  *      <img is="cr-auto-img" auto-src="https://foo.com/bar.png">
  *
  *      If your image URL points to Google Photos storage, meaning it needs an
- *      auth token to be downloaded, you can use the is-google-photos attribute
- *      as follows:
+ *      auth token, you can use the is-google-photos attribute as follows:
  *
  *      <img is="cr-auto-img" auto-src="https://foo.com/bar.png"
  *          is-google-photos>
@@ -27,12 +26,18 @@
  *
  *      <img is="cr-auto-img" auto-src="[[calculateSrc()]]" clear-src>
  *
- *      If you want your image to be always encoded as static PNG image (even if
+ *      If you want your image to be always encoded as a static image (even if
  *      the source image is animated), set the static-encode attribute:
  *
  *      <img is="cr-auto-img" auto-src="https://foo.com/bar.png"
  *          static-encode>
  *
+ *      Static images are encoded as PNG by default. If you want your image to
+ *      be encoded as a Webp image, set the encode-type attribute to "webp".
+ *
+ *      <img is="cr-auto-img" auto-src="https://foo.com/bar.png"
+ *          static-encode encode-type="webp">
+ *
  * NOTE: Since <cr-auto-img> may use the chrome://image data source some images
  * may be transcoded to PNG.
  */
@@ -45,15 +50,17 @@
 
 const STATIC_ENCODE: string = 'static-encode';
 
+const ENCODE_TYPE: string = 'encode-type';
+
 export class CrAutoImgElement extends HTMLImageElement {
   static get observedAttributes() {
-    return [AUTO_SRC, IS_GOOGLE_PHOTOS, STATIC_ENCODE];
+    return [AUTO_SRC, IS_GOOGLE_PHOTOS, STATIC_ENCODE, ENCODE_TYPE];
   }
 
   attributeChangedCallback(
       name: string, oldValue: string|null, newValue: string|null) {
     if (name !== AUTO_SRC && name !== IS_GOOGLE_PHOTOS &&
-        name !== STATIC_ENCODE) {
+        name !== STATIC_ENCODE && name !== ENCODE_TYPE) {
       return;
     }
 
@@ -88,7 +95,7 @@
       return;
     }
     if (!this.hasAttribute(IS_GOOGLE_PHOTOS) &&
-        !this.hasAttribute(STATIC_ENCODE)) {
+        !this.hasAttribute(STATIC_ENCODE) && !this.hasAttribute(ENCODE_TYPE)) {
       this.src = 'chrome://image?' + url.href;
       return;
     }
@@ -100,6 +107,9 @@
     if (this.hasAttribute(STATIC_ENCODE)) {
       this.src += `&staticEncode=true`;
     }
+    if (this.hasAttribute(ENCODE_TYPE)) {
+      this.src += `&encodeType=${this.getAttribute(ENCODE_TYPE)}`;
+    }
   }
 
   set autoSrc(src: string) {
@@ -107,7 +117,7 @@
   }
 
   get autoSrc(): string {
-    return this.getAttribute(AUTO_SRC)!;
+    return this.getAttribute(AUTO_SRC) || '';
   }
 
   set clearSrc(_: string) {
@@ -115,7 +125,7 @@
   }
 
   get clearSrc(): string {
-    return this.getAttribute(CLEAR_SRC)!;
+    return this.getAttribute(CLEAR_SRC) || '';
   }
 
   set isGooglePhotos(enabled: boolean) {
@@ -141,6 +151,18 @@
   get staticEncode(): boolean {
     return this.hasAttribute(STATIC_ENCODE);
   }
+
+  set encodeType(type: string) {
+    if (type) {
+      this.setAttribute(ENCODE_TYPE, type);
+    } else {
+      this.removeAttribute(ENCODE_TYPE);
+    }
+  }
+
+  get encodeType(): string {
+    return this.getAttribute(ENCODE_TYPE) || '';
+  }
 }
 
 customElements.define('cr-auto-img', CrAutoImgElement, {extends: 'img'});