diff --git a/DEPS b/DEPS
index 61fe5ea..69a8418 100644
--- a/DEPS
+++ b/DEPS
@@ -310,15 +310,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': '8a6ff207e7be6110af0dae8e12c1777c994284a7',
+  'skia_revision': 'a1f186aca73a58ad2c3b79975df7480e13d37c24',
   # 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': 'e2dfa6931df2e4318d5f1f14c34ceea2e535bd38',
+  'v8_revision': 'eaac2ba00bb34f4f60601bf9937c02ebfddbf78c',
   # 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': 'bc33b1584ff3073e68702ccf0f2072e1304b7fe2',
+  'angle_revision': 'dbb9f38df980556dcffecb11495941172c18bc69',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -369,7 +369,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling HarfBuzz
   # and whatever else without interference from each other.
-  'harfbuzz_revision': 'fa471043fccb94444510e3300ac2573297c82137',
+  'harfbuzz_revision': '56c467093598ec559a7148b61e112e9de52b7076',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Emoji Segmenter
   # and whatever else without interference from each other.
@@ -389,7 +389,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': '2495184973aebd901bf1dd6fd187889748e60298',
+  'devtools_frontend_revision': '9938fb190a15e0bd7c7d516876ad3a92051070ad',
   # 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.
@@ -425,7 +425,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': 'eb7e66147cba19dca8e2d0feced7f7f2fd85148f',
+  'dawn_revision': 'a20b970cfb453674412366bbb885595b783dc536',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -1235,7 +1235,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' + '@' + '33becde2aa2650ecd4a57e01a7689d1cc1959311',
+      'url': 'https://chrome-internal.googlesource.com/devtools/devtools-internal.git' + '@' + '2fc46e3aca65b72b43075a8a7a057f3cc2fb4f5a',
     'condition': 'checkout_src_internal',
   },
 
@@ -1515,7 +1515,7 @@
     Var('chromium_git') + '/webm/libwebp.git' + '@' +  '7366f7f394af26de814296152c50e673ed0a832f',
 
   'src/third_party/libyuv':
-    Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'f71c83552d373f0ff41833b17e2880632d8561d7',
+    Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'f9fda6e7d819c07a684ba6bc97cbf0e257bbcb37',
 
   'src/third_party/lighttpd': {
       'url': Var('chromium_git') + '/chromium/deps/lighttpd.git' + '@' + Var('lighttpd_revision'),
@@ -1677,7 +1677,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/r8',
-              'version': 'vKZR8R88hGbFuOFG9Z_QBBK7TqYCAub34XjJ2TAwhW4C',
+              'version': 'Qn31g4m2cofkyvGgm46Uzkzds5DKdNYrdPePwRkVnv4C',
           },
       ],
       'condition': 'checkout_android',
@@ -1805,10 +1805,10 @@
     Var('chromium_git') + '/external/khronosgroup/webgl.git' + '@' + 'd1b65aa5a88f6efd900604dfcda840154e9f16e2',
 
   'src/third_party/webgpu-cts/src':
-    Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + 'e77a9f259c7e08893b11a1296c3a0b2d7821db42',
+    Var('chromium_git') + '/external/github.com/gpuweb/cts.git' + '@' + '0860ad6114aa63cbfdd2a1f79c91cc1e96091621',
 
   'src/third_party/webrtc':
-    Var('webrtc_git') + '/src.git' + '@' + 'c9f66907fc1b977a31fc5ef81280239ed8a14c15',
+    Var('webrtc_git') + '/src.git' + '@' + '8da280282b69f6c73d16176a4aeed198625f0bc9',
 
   'src/third_party/libgifcodec':
      Var('skia_git') + '/libgifcodec' + '@'+  Var('libgifcodec_revision'),
@@ -1881,7 +1881,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@6114fd2bb86c193e42555ba7b5f2bcadfa894b24',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@001982b54f1c95370c2b75c3466f88a0db969342',
     'condition': 'checkout_src_internal',
   },
 
@@ -1911,7 +1911,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/help_app/app',
-        'version': 'u8ZmJ_5zOA-x4I8vhtIHkXzcQ15IpRNkV1DeWhJkxIUC',
+        'version': 'TVC6l13o6q1jdcJyA0oOVS1U9JXPV8j4OqxAAd4I0hUC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
index 8e752c2..a92c001 100644
--- a/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
+++ b/android_webview/support_library/java/src/org/chromium/support_lib_glue/SupportLibWebViewChromiumFactory.java
@@ -88,7 +88,7 @@
                     Features.GET_VARIATIONS_HEADER,
                     Features.ALGORITHMIC_DARKENING,
                     Features.ENTERPRISE_AUTHENTICATION_APP_LINK_POLICY,
-                    Features.GET_COOKIE_INFO + Features.DEV_SUFFIX,
+                    Features.GET_COOKIE_INFO,
                     Features.WEB_MESSAGE_GET_MESSAGE_PAYLOAD + Features.DEV_SUFFIX,
                     // Add new features above. New features must include `+ Features.DEV_SUFFIX`
                     // when they're initially added (this can be removed in a future CL). The final
diff --git a/ash/app_list/views/apps_grid_view_unittest.cc b/ash/app_list/views/apps_grid_view_unittest.cc
index 3a4489c..a022f12 100644
--- a/ash/app_list/views/apps_grid_view_unittest.cc
+++ b/ash/app_list/views/apps_grid_view_unittest.cc
@@ -62,7 +62,6 @@
 #include "base/test/icu_test_util.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/metrics/user_action_tester.h"
-#include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/aura/window.h"
@@ -269,11 +268,7 @@
   void SetUp() override {
     if (is_rtl_)
       base::i18n::SetICUDefaultLocale("he");
-    if (is_app_sort_enabled_) {
-      feature_list_.InitAndEnableFeature(features::kLauncherAppSort);
-    } else {
-      feature_list_.InitAndDisableFeature(features::kLauncherAppSort);
-    }
+
     AshTestBase::SetUp();
 
     // Make the display big enough to hold the app list.
@@ -685,8 +680,6 @@
 
   // True if the test screen is configured to work with RTL locale.
   bool is_rtl_ = false;
-  // True if feature LauncherAppSort should be enabled.
-  bool is_app_sort_enabled_ = false;
   // True if we set the test on tablet mode.
   bool create_as_tablet_mode_ = false;
 
@@ -696,8 +689,6 @@
   // Restores the locale to default when destructor is called.
   base::test::ScopedRestoreICUDefaultLocale restore_locale_;
 
-  base::test::ScopedFeatureList feature_list_;
-
   absl::optional<gfx::Point> current_drag_location_;
 
   // Used to track haptics events sent during drag.
@@ -740,6 +731,14 @@
 
 INSTANTIATE_TEST_SUITE_P(All, AppsGridViewDragTest, testing::Bool());
 
+// Test suite for clamshell mode, parameterized by RTL.
+class AppsGridViewClamshellTest : public AppsGridViewTest,
+                                  public testing::WithParamInterface<bool> {
+ public:
+  AppsGridViewClamshellTest() { is_rtl_ = GetParam(); }
+};
+INSTANTIATE_TEST_SUITE_P(All, AppsGridViewClamshellTest, testing::Bool());
+
 // Test suite for verifying tablet mode apps grid behaviour, parameterized by
 // RTL locale. Tablet mode uses "cardified" pages, where the apps grid shrinks
 // to be smaller during dragging.
@@ -753,22 +752,6 @@
 };
 INSTANTIATE_TEST_SUITE_P(All, AppsGridViewTabletTest, testing::Bool());
 
-// Test suite that tests apps sort works on all apps grid, parameterized by
-// RTL locale and clamshell/tablet mode.
-class AppsGridViewAppSortTest
-    : public AppsGridViewTest,
-      public testing::WithParamInterface<std::tuple<bool, bool>> {
- public:
-  AppsGridViewAppSortTest() {
-    is_rtl_ = std::get<0>(GetParam());
-    is_app_sort_enabled_ = true;
-    create_as_tablet_mode_ = std::get<1>(GetParam());
-  }
-};
-INSTANTIATE_TEST_SUITE_P(All,
-                         AppsGridViewAppSortTest,
-                         testing::Combine(testing::Bool(), testing::Bool()));
-
 // This does not test the font name or weight because ash_unittests returns
 // different font lists than chrome (e.g. "DejaVu Sans" instead of "Roboto").
 TEST_F(AppsGridViewTest, AppListItemViewFont) {
@@ -4776,7 +4759,7 @@
   test_api_->LayoutToIdealBounds();
 }
 
-TEST_P(AppsGridViewAppSortTest,
+TEST_P(AppsGridViewClamshellTest,
        ContextMenuInTopLevelAppListSortAllAppsInClamshellMode) {
   // In this test, the sort algorithm is not tested. Instead, the context menu
   // that contains the options to sort is verified to be shown in apps grid
@@ -4784,10 +4767,6 @@
   // called. The actual sort algorithm is tested in
   // chrome/browser/ui/app_list/app_list_sort_browsertest.cc.
 
-  // The AppsGridContextMenu is only used in clamshell mode.
-  if (create_as_tablet_mode_)
-    return;
-
   model_->PopulateApps(1);
 
   AppsGridContextMenu* context_menu = apps_grid_view_->context_menu_for_test();
@@ -4831,12 +4810,8 @@
   EXPECT_FALSE(context_menu->IsMenuShowing());
 }
 
-TEST_P(AppsGridViewAppSortTest,
+TEST_P(AppsGridViewTabletTest,
        ContextMenuInTopLevelAppListSortAllAppsInTabletMode) {
-  // This test checks the context menu on root window in tablet mode.
-  if (!create_as_tablet_mode_)
-    return;
-
   model_->PopulateApps(1);
   EXPECT_EQ(AppListSortOrder::kCustom, model_->requested_sort_order());
 
@@ -4900,12 +4875,7 @@
       nullptr);
 }
 
-TEST_P(AppsGridViewAppSortTest,
-       NoSortOptionsWhenSearchPageIsShownInTabletMode) {
-  // This test checks the context menu on root window in tablet mode.
-  if (!create_as_tablet_mode_)
-    return;
-
+TEST_P(AppsGridViewTabletTest, NoSortOptionsWhenSearchPageIsShownInTabletMode) {
   model_->PopulateApps(1);
   EXPECT_EQ(AppListSortOrder::kCustom, model_->requested_sort_order());
 
@@ -4961,7 +4931,7 @@
   EXPECT_LT(context_menu_size, 3);
 }
 
-TEST_P(AppsGridViewAppSortTest, ContextMenuOnFolderItemSortAllApps) {
+TEST_P(AppsGridViewClamshellAndTabletTest, ContextMenuOnFolderItemSortAllApps) {
   // In this test, the sort algorithm is not tested. Instead, the context menu
   // that contains the options to sort is verified to be shown on folder app
   // list item view. The menu option selecting is also simulated to ensure the
diff --git a/ash/components/arc/arc_util.cc b/ash/components/arc/arc_util.cc
index e4046843..0652149 100644
--- a/ash/components/arc/arc_util.cc
+++ b/ash/components/arc/arc_util.cc
@@ -34,8 +34,7 @@
 // This is for finch. See also crbug.com/633704 for details.
 // TODO(hidehiko): More comments of the intention how this works, when
 // we unify the commandline flags.
-const base::Feature kEnableArcFeature{"EnableARC",
-                                      base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableArcFeature, "EnableARC", base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Possible values for --arc-availability flag.
 constexpr char kAvailabilityNone[] = "none";
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index 239c73d..032b7e1 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -142,6 +142,8 @@
              "ChromeOSAmbientModePhotoPreview",
              base::FEATURE_ENABLED_BY_DEFAULT);
 
+BASE_FEATURE(kApnRevamp, "ApnRevamp", base::FEATURE_DISABLED_BY_DEFAULT);
+
 // Controls whether to enable ARC ADB sideloading support.
 BASE_FEATURE(kArcAdbSideloadingFeature,
              "ArcAdbSideloading",
@@ -381,8 +383,6 @@
              "CellularBypassESimInstallationConnectivityCheck",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
-BASE_FEATURE(kApnRevamp, "ApnRevamp", base::FEATURE_DISABLED_BY_DEFAULT);
-
 // If enabled, use second the Euicc that is exposed by Hermes in Cellular Setup
 // and Settings.
 BASE_FEATURE(kCellularUseSecondEuicc,
@@ -1780,17 +1780,6 @@
              "SmartLockUIRevamp",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
-// This feature:
-// - Categorizes all sync data types into two large categories:
-//     - OS-related sync data types (WiFi passwords and OS preferences, etc.).
-//       Can be configured from OS Sync Settings.
-//     - Browser-related sync data types (bookmarks, browser preferences, etc.).
-//       Can be configured from Browser Sync Settings.
-// - Changes a bunch of UIs to accommodate for this categorization.
-BASE_FEATURE(kSyncSettingsCategorization,
-             "SyncSettingsCategorization",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
 // Enables battery indicator for styluses in the palette tray
 BASE_FEATURE(kStylusBatteryStatus,
              "StylusBatteryStatus",
@@ -2134,14 +2123,14 @@
   return base::FeatureList::IsEnabled(kAmbientModePhotoPreviewFeature);
 }
 
-bool IsAppNotificationsPageEnabled() {
-  return base::FeatureList::IsEnabled(kOsSettingsAppNotificationsPage);
-}
-
 bool IsApnRevampEnabled() {
   return base::FeatureList::IsEnabled(kApnRevamp);
 }
 
+bool IsAppNotificationsPageEnabled() {
+  return base::FeatureList::IsEnabled(kOsSettingsAppNotificationsPage);
+}
+
 bool IsArcFuseBoxFileSharingEnabled() {
   return IsFileManagerFuseBoxEnabled() &&
          base::FeatureList::IsEnabled(kArcFuseBoxFileSharing);
@@ -2842,8 +2831,9 @@
   return base::FeatureList::IsEnabled(kSimLockPolicy);
 }
 
+// TODO(crbug.com/1249845): Remove this function.
 bool IsSyncSettingsCategorizationEnabled() {
-  return base::FeatureList::IsEnabled(kSyncSettingsCategorization);
+  return true;
 }
 
 bool IsSystemTrayShadowEnabled() {
diff --git a/ash/constants/ash_features.h b/ash/constants/ash_features.h
index dcbfaefe..14ac1e2 100644
--- a/ash/constants/ash_features.h
+++ b/ash/constants/ash_features.h
@@ -62,6 +62,7 @@
 BASE_DECLARE_FEATURE(kAmbientModeDevUseProdFeature);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kAmbientModePhotoPreviewFeature);
+COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kApnRevamp);
 COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kArcAdbSideloadingFeature);
 COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kArcFuseBoxFileSharing);
 COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kArcInputOverlay);
@@ -120,7 +121,6 @@
 COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kCaptureModeDemoTools);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kCellularBypassESimInstallationConnectivityCheck);
-COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kApnRevamp);
 COMPONENT_EXPORT(ASH_CONSTANTS) BASE_DECLARE_FEATURE(kCellularUseSecondEuicc);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kCheckPasswordsAgainstCryptohomeHelper);
diff --git a/ash/constants/ash_switches.cc b/ash/constants/ash_switches.cc
index cce659a..4d141ac9 100644
--- a/ash/constants/ash_switches.cc
+++ b/ash/constants/ash_switches.cc
@@ -885,6 +885,13 @@
 // for testing the policy behaviour on the DUT.
 const char kUpdateRequiredAueForTest[] = "aue-reached-for-update-required-test";
 
+// Flag that stored MyFiles folder inside the user data directory.
+// $HOME/Downloads is used as MyFiles folder for ease access to local files for
+// debugging when running on Linux. By setting this flag, <cryptohome>/MyFiles
+// is used even on Linux.
+const char kUseMyFilesInUserDataDirForTesting[] =
+    "use-myfiles-in-user-data-dir-for-testing";
+
 // Used to tell the policy infrastructure to not let profile initialization
 // complete until policy is manually set by a test. This is used to provide
 // backward compatibility with a few tests that incorrectly use the
diff --git a/ash/constants/ash_switches.h b/ash/constants/ash_switches.h
index 11fddb1..8c59e48 100644
--- a/ash/constants/ash_switches.h
+++ b/ash/constants/ash_switches.h
@@ -289,6 +289,8 @@
 COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kUnfilteredBluetoothDevices[];
 COMPONENT_EXPORT(ASH_CONSTANTS) extern const char kUpdateRequiredAueForTest[];
 COMPONENT_EXPORT(ASH_CONSTANTS)
+extern const char kUseMyFilesInUserDataDirForTesting[];
+COMPONENT_EXPORT(ASH_CONSTANTS)
 extern const char kWaitForInitialPolicyFetchForTest[];
 COMPONENT_EXPORT(ASH_CONSTANTS)
 extern const char kWebUiDataSourcePathForTesting[];
diff --git a/ash/public/cpp/app_list/app_list_features.cc b/ash/public/cpp/app_list/app_list_features.cc
index 8a0a3ef..7fa114c 100644
--- a/ash/public/cpp/app_list/app_list_features.cc
+++ b/ash/public/cpp/app_list/app_list_features.cc
@@ -10,33 +10,46 @@
 
 namespace app_list_features {
 
-const base::Feature kEnableAppRanker{"EnableAppRanker",
-                                     base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kEnableZeroStateAppsRanker{
-    "EnableZeroStateAppsRanker", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kEnableZeroStateMixedTypesRanker{
-    "EnableZeroStateMixedTypesRanker", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kEnableAppReinstallZeroState{
-    "EnableAppReinstallZeroState", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kEnableAppListLaunchRecording{
-    "EnableAppListLaunchRecording", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kEnableExactMatchForNonLatinLocale{
-    "EnableExactMatchForNonLatinLocale", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kCategoricalSearch{"CategoricalSearch",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAppRanker,
+             "EnableAppRanker",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kEnableZeroStateAppsRanker,
+             "EnableZeroStateAppsRanker",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kEnableZeroStateMixedTypesRanker,
+             "EnableZeroStateMixedTypesRanker",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kEnableAppReinstallZeroState,
+             "EnableAppReinstallZeroState",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kEnableAppListLaunchRecording,
+             "EnableAppListLaunchRecording",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kEnableExactMatchForNonLatinLocale,
+             "EnableExactMatchForNonLatinLocale",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kCategoricalSearch,
+             "CategoricalSearch",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 // DO NOT REMOVE: Tast integration tests use this feature. (See crbug/1340267)
-const base::Feature kForceShowContinueSection{
-    "ForceShowContinueSection", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kSearchResultInlineIcon{"SearchResultInlineIcon",
-                                            base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kQuickActionShowBubbleLauncher{
-    "QuickActionShowBubbleLauncher", base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kDynamicSearchUpdateAnimation{
-    "DynamicSearchUpdateAnimation", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kCompactBubbleLauncher{"CompactBubbleLauncher",
-                                           base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kLauncherPlayStoreSearch{"LauncherPlayStoreSearch",
-                                             base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kForceShowContinueSection,
+             "ForceShowContinueSection",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kSearchResultInlineIcon,
+             "SearchResultInlineIcon",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kQuickActionShowBubbleLauncher,
+             "QuickActionShowBubbleLauncher",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kDynamicSearchUpdateAnimation,
+             "DynamicSearchUpdateAnimation",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kCompactBubbleLauncher,
+             "CompactBubbleLauncher",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kLauncherPlayStoreSearch,
+             "LauncherPlayStoreSearch",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsAppRankerEnabled() {
   return base::FeatureList::IsEnabled(kEnableAppRanker);
diff --git a/ash/public/cpp/app_list/app_list_features.h b/ash/public/cpp/app_list/app_list_features.h
index 0b6515f..a2696c56 100644
--- a/ash/public/cpp/app_list/app_list_features.h
+++ b/ash/public/cpp/app_list/app_list_features.h
@@ -17,51 +17,51 @@
 // TODO(newcomer|weidongg): Sort these features.
 
 // Enable app ranking models.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableAppRanker;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableAppRanker);
 
 // Enable a model that ranks zero-state apps search result.
 // TODO(crbug.com/989350): This flag can be removed once the
 // AppSearchResultRanker is removed. Same with the
 // AppSearchResultRankerPredictorName.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableZeroStateAppsRanker;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableZeroStateAppsRanker);
 
 // Enable a model that ranks zero-state files and recent queries.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableZeroStateMixedTypesRanker;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableZeroStateMixedTypesRanker);
 
 // Enables the feature to include a single reinstallation candidate in
 // zero-state.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableAppReinstallZeroState;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableAppReinstallZeroState);
 
 // Enables hashed recording of a app list launches.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableAppListLaunchRecording;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableAppListLaunchRecording);
 
 // Enables using exact string search for non latin locales.
-ASH_PUBLIC_EXPORT extern const base::Feature kEnableExactMatchForNonLatinLocale;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kEnableExactMatchForNonLatinLocale);
 
 // Enables categorical search in the launcher.
-ASH_PUBLIC_EXPORT extern const base::Feature kCategoricalSearch;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kCategoricalSearch);
 
 // Forces the launcher to show the continue section even if there are no file
 // suggestions.
-ASH_PUBLIC_EXPORT extern const base::Feature kForceShowContinueSection;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kForceShowContinueSection);
 
 // Enables iconified text and inline icons in launcher search.
-ASH_PUBLIC_EXPORT extern const base::Feature kSearchResultInlineIcon;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kSearchResultInlineIcon);
 
 // Enables a fling gesture or mouse scroll from the shelf to show the bubble
 // launcher.
-ASH_PUBLIC_EXPORT extern const base::Feature kQuickActionShowBubbleLauncher;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kQuickActionShowBubbleLauncher);
 
 // Enable shortened search result update animations when in progress animations
 // are interrupted by search model updates.
-ASH_PUBLIC_EXPORT extern const base::Feature kDynamicSearchUpdateAnimation;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kDynamicSearchUpdateAnimation);
 
 // Controls the bubble launcher (productivity launcher in clamshell) width. When
 // enabled, the bubble UI will be narrower.
-ASH_PUBLIC_EXPORT extern const base::Feature kCompactBubbleLauncher;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kCompactBubbleLauncher);
 
 // Enables Play Store search in the launcher.
-ASH_PUBLIC_EXPORT extern const base::Feature kLauncherPlayStoreSearch;
+ASH_PUBLIC_EXPORT BASE_DECLARE_FEATURE(kLauncherPlayStoreSearch);
 
 ASH_PUBLIC_EXPORT bool IsAppRankerEnabled();
 ASH_PUBLIC_EXPORT bool IsZeroStateAppsRankerEnabled();
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_az.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_az.xtb
index a506e67..ada802c 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_az.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_az.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">vergül</translation>
 <translation id="3976863468609830880">Rəfdəki ən son ikonaya klikləyin</translation>
 <translation id="3994783594793697310">Ekranın miqyas səviyyəsini sıfırlayın</translation>
+<translation id="4026837045671473537">Rəng inversiyası rejimini aktiv edin</translation>
 <translation id="4026843240379844265">Aktiv pəncərəni ekranlar arasında hərəkət etdirin</translation>
 <translation id="4035482366624727273">Səhifədəki hər şeyi seçin</translation>
 <translation id="4060703249685950734">Bağladığınız ən son tab və ya səhifəni açın</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_bn.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_bn.xtb
index 51de78f6..9e19642 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_bn.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_bn.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">কমা চিহ্ন দেওয়ার বোতাম</translation>
 <translation id="3976863468609830880">আপনার শেল্ফে শেষ আইকনটি ক্লিক করুন</translation>
 <translation id="3994783594793697310">ডিসপ্লের জুম লেভেল রিসেট করুন</translation>
+<translation id="4026837045671473537">কালার ইনভার্সন মোড চালু করুন</translation>
 <translation id="4026843240379844265">ডিসপ্লের মধ্যে সক্রিয় উইন্ডোটি সরান</translation>
 <translation id="4035482366624727273">পৃষ্ঠাতে থাকা সবকিছুই বেছে নিন</translation>
 <translation id="4060703249685950734">আপনার বন্ধ করা শেষ ট্যাব অথবা উইন্ডোটি খুলুন</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ca.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ca.xtb
index 37c924c..76338c0c 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ca.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ca.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">coma</translation>
 <translation id="3976863468609830880">Fes clic a la darrera icona del prestatge</translation>
 <translation id="3994783594793697310">Restableix el nivell de zoom de la pantalla</translation>
+<translation id="4026837045671473537">Activa el mode d'inversió de colors</translation>
 <translation id="4026843240379844265">Mou la finestra activa entre pantalles</translation>
 <translation id="4035482366624727273">Selecciona tot el contingut de la pàgina</translation>
 <translation id="4060703249685950734">Torna a obrir la darrera pestanya o finestra que s'ha tancat</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_de.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_de.xtb
index 35370d57..5af7f245 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_de.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_de.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">Komma</translation>
 <translation id="3976863468609830880">Auf das letzte Symbol in der Ablage klicken</translation>
 <translation id="3994783594793697310">Display-Zoomstufe zurücksetzen</translation>
+<translation id="4026837045671473537">Farbumkehrmodus aktivieren</translation>
 <translation id="4026843240379844265">Aktive Fenster zwischen den Bildschirmen verschieben</translation>
 <translation id="4035482366624727273">Gesamten Seiteninhalt markieren</translation>
 <translation id="4060703249685950734">Zuletzt geschlossenen Tab oder zuletzt geschlossenes Fenster wieder öffnen</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_eu.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_eu.xtb
index aac20ae..910a9ab 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_eu.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_eu.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">koma</translation>
 <translation id="3976863468609830880">Egin klik apaleko azken ikonoan</translation>
 <translation id="3994783594793697310">Berrezarri bistaratzearen zoom-maila</translation>
+<translation id="4026837045671473537">Aktibatu koloreak alderantzikatzeko modua</translation>
 <translation id="4026843240379844265">Eraman leiho aktiboa pantaila batetik bestera</translation>
 <translation id="4035482366624727273">Hautatu orrian dagoen guztia</translation>
 <translation id="4060703249685950734">Ireki berriro itxi duzun azken fitxa edo leihoa</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_fi.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_fi.xtb
index 11dad84..1e40e8a 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_fi.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_fi.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">pilkku</translation>
 <translation id="3976863468609830880">Klikkaa hyllyn viimeistä kuvaketta</translation>
 <translation id="3994783594793697310">Nollaa näytön zoomaustaso</translation>
+<translation id="4026837045671473537">Laita käänteiset värit ‑tila päälle</translation>
 <translation id="4026843240379844265">Siirrä aktiivinen ikkuna näytöltä toiselle</translation>
 <translation id="4035482366624727273">Valitse koko sivun sisältö</translation>
 <translation id="4060703249685950734">Avaa viimeisin suljettu välilehti tai ikkuna</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_gu.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_gu.xtb
index e0abe15..22859df3 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_gu.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_gu.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">અલ્પવિરામ</translation>
 <translation id="3976863468609830880">તમારા શેલ્ફ પરના છેલ્લા આઇકન પર ક્લિક કરો</translation>
 <translation id="3994783594793697310">ડિસ્પ્લે ઝૂમ લેવલ રીસેટ કરો</translation>
+<translation id="4026837045671473537">વિપરીત રંગમાં બદલવાનો મોડ ચાલુ કરો</translation>
 <translation id="4026843240379844265">સક્રિય વિંડોને ડિસ્પ્લેની વચ્ચે ખસેડો</translation>
 <translation id="4035482366624727273">આ પેજ પરનું બધું પસંદ કરો</translation>
 <translation id="4060703249685950734">તમે બંધ કરેલ છેલ્લું ટૅબ અથવા વિંડો ફરીથી ખોલો</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_id.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_id.xtb
index 02d9872..2cf18b0 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_id.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_id.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">koma</translation>
 <translation id="3976863468609830880">Mengklik ikon terakhir di rak</translation>
 <translation id="3994783594793697310">Mereset tingkat perbesar/perkecil tampilan</translation>
+<translation id="4026837045671473537">Mengaktifkan mode inversi warna</translation>
 <translation id="4026843240379844265">Memindahkan jendela aktif dari satu layar ke layar lainnya</translation>
 <translation id="4035482366624727273">Memilih semua yang ada di halaman</translation>
 <translation id="4060703249685950734">Membuka kembali tab atau jendela yang terakhir ditutup</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_it.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_it.xtb
index 5bfb3f8c..57db0e3a 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_it.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_it.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">virgola</translation>
 <translation id="3976863468609830880">Seleziona l'ultima icona nella barra delle app</translation>
 <translation id="3994783594793697310">Reimposta il livello di zoom dello schermo</translation>
+<translation id="4026837045671473537">Attiva modalità di inversione dei colori</translation>
 <translation id="4026843240379844265">Sposta la finestra attiva tra gli schermi</translation>
 <translation id="4035482366624727273">Seleziona tutti i contenuti della pagina</translation>
 <translation id="4060703249685950734">Riapre l'ultima scheda o finestra chiusa</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_kk.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_kk.xtb
index 8e8a1922..f26445a 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_kk.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_kk.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">үтір</translation>
 <translation id="3976863468609830880">Сөредегі соңғы белгішені басу</translation>
 <translation id="3994783594793697310">Дисплейді масштабтау деңгейін бастапқы күйге қайтару</translation>
+<translation id="4026837045671473537">Түс инверсиясы режимін қосу</translation>
 <translation id="4026843240379844265">Қосулы терезені дисплейлер арасында ауыстырып қосу</translation>
 <translation id="4035482366624727273">Беттегі барлық мазмұнды таңдау</translation>
 <translation id="4060703249685950734">Соңғы жабылған қойындыны немесе терезені қайта ашу</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_kn.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_kn.xtb
index b367718e..0d8b053 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_kn.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_kn.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">ಅಲ್ಪವಿರಾಮ</translation>
 <translation id="3976863468609830880">ನಿಮ್ಮ ಶೆಲ್ಫ್‌ನಲ್ಲಿರುವ ಕೊನೆಯ ಐಕಾನ್ ಅನ್ನು ಕ್ಲಿಕ್‌ ಮಾಡಿ</translation>
 <translation id="3994783594793697310">ಡಿಸ್‌ಪ್ಲೇ ಝೂಮ್‌ ಮಟ್ಟವನ್ನು ಮರುಹೊಂದಿಸಿ</translation>
+<translation id="4026837045671473537">ಬಣ್ಣ ವಿಲೋಮದ ಮೋಡ್ ಅನ್ನು ಆನ್ ಮಾಡಿ</translation>
 <translation id="4026843240379844265">ಸಕ್ರಿಯ ವಿಂಡೋವನ್ನು ಡಿಸ್‌ಪ್ಲೇಗಳ ನಡುವೆ ಸರಿಸಿ</translation>
 <translation id="4035482366624727273">ಪುಟದಲ್ಲಿರುವ ಎಲ್ಲವನ್ನೂ ಆಯ್ಕೆ ಮಾಡಿ</translation>
 <translation id="4060703249685950734">ನೀವು ಮುಚ್ಚಿದ ಕೊನೆಯ ಟ್ಯಾಬ್‌ ಅಥವಾ ವಿಂಡೋವನ್ನು ಮರುತೆರೆಯಿರಿ</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ko.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ko.xtb
index 216496e..207e2c0 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ko.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ko.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">쉼표</translation>
 <translation id="3976863468609830880">실행기의 마지막 아이콘 클릭</translation>
 <translation id="3994783594793697310">확대/축소 레벨 재설정</translation>
+<translation id="4026837045671473537">색상 반전 모드를 사용 설정합니다.</translation>
 <translation id="4026843240379844265">디스플레이 간 활성 창 이동</translation>
 <translation id="4035482366624727273">페이지 내용 모두 선택</translation>
 <translation id="4060703249685950734">마지막으로 닫았던 탭이나 창 다시 열기</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_lt.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_lt.xtb
index 61667f5..ceb2f07 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_lt.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_lt.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">kablelis</translation>
 <translation id="3976863468609830880">Spustelėti paskutinę piktogramą lentynoje</translation>
 <translation id="3994783594793697310">Iš naujo nustatyti ekrano mastelio keitimo lygį</translation>
+<translation id="4026837045671473537">Spalvų inversijos režimo įjungimas</translation>
 <translation id="4026843240379844265">Aktyvaus lango perkėlimas iš vieno ekrano į kitą</translation>
 <translation id="4035482366624727273">Pasirinkti viską puslapyje</translation>
 <translation id="4060703249685950734">Iš naujo atidaryti paskutinį uždarytą skirtuką arba langą</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ms.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ms.xtb
index 9680850..c30be30 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ms.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ms.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">koma</translation>
 <translation id="3976863468609830880">Klik ikon terakhir pada rak anda</translation>
 <translation id="3994783594793697310">Tetapkan semula tahap zum paparan</translation>
+<translation id="4026837045671473537">Hidupkan mod penyongsangan warna</translation>
 <translation id="4026843240379844265">Alihkan tetingkap aktif antara paparan</translation>
 <translation id="4035482366624727273">Pilih segala-galanya pada halaman</translation>
 <translation id="4060703249685950734">Buka semula tab atau tetingkap terakhir yang anda tutup</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ne.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ne.xtb
index 2214b2a2..e2a5c95 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ne.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ne.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">अल्पविराम</translation>
 <translation id="3976863468609830880">आफ्नो सेल्फमा भएको अन्तिम आइकनमा क्लिक गर्नुहोस्‌</translation>
 <translation id="3994783594793697310">जुमको स्तर देखाउनुहोस् नामक विकल्प रिसेट गर्नुहोस्</translation>
+<translation id="4026837045671473537">कलर इन्भर्सन मोड अन गर्नुहोस्</translation>
 <translation id="4026843240379844265">सक्रिय विन्डोलाई एउटा प्रदर्शनबाट अर्कोमा सार्नुहोस्</translation>
 <translation id="4035482366624727273">पृष्ठमा भएका सबै कुराहरू चयन गर्नुहोस्</translation>
 <translation id="4060703249685950734">आफूले पछिल्लोपटक बन्द गरेको ट्याब वा विन्डो पुनः खोल्नुहोस्‌</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_no.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_no.xtb
index a00f025..489b9c2 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_no.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_no.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">komma</translation>
 <translation id="3976863468609830880">Klikk på det siste ikonet på hyllen</translation>
 <translation id="3994783594793697310">Tilbakestill skjermens zoomnivå</translation>
+<translation id="4026837045671473537">Slå på modus for fargeinvertering</translation>
 <translation id="4026843240379844265">Flytt det aktive vinduet mellom skjermer</translation>
 <translation id="4035482366624727273">Merk alt på siden</translation>
 <translation id="4060703249685950734">Åpne den siste fanen eller det siste vinduet du lukket, på nytt</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_pa.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_pa.xtb
index 46df043f..07f73813 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_pa.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_pa.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">ਕੌਮਾ</translation>
 <translation id="3976863468609830880">ਆਪਣੀ ਸ਼ੈਲਫ਼ ਦੇ ਆਖਰੀ ਪ੍ਰਤੀਕ 'ਤੇ ਕਲਿੱਕ ਕਰੋ</translation>
 <translation id="3994783594793697310">ਡਿਸਪਲੇ ਜ਼ੂਮ ਪੱਧਰ ਨੂੰ ਰੀਸੈੱਟ ਕਰੋ</translation>
+<translation id="4026837045671473537">ਰੰਗ ਪਲਟਨਾ ਮੋਡ ਚਾਲੂ ਕਰੋ</translation>
 <translation id="4026843240379844265">ਕਿਰਿਆਸ਼ੀਲ ਵਿੰਡੋ ਨੂੰ ਇੱਕ ਤੋਂ ਦੂਜੇ ਡਿਸਪਲੇ 'ਤੇ ਲਿਜਾਓ</translation>
 <translation id="4035482366624727273">ਪੰਨੇ 'ਤੇ ਸਭ ਚੀਜ਼ਾਂ ਚੁਣੋ</translation>
 <translation id="4060703249685950734">ਤੁਹਾਡੇ ਵੱਲੋਂ ਬੰਦ ਕੀਤੀ ਪਿੱਛਲੀ ਟੈਬ ਜਾਂ ਵਿੰਡੋ ਨੂੰ ਮੁੜ-ਖੋਲ੍ਹੋ</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ro.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ro.xtb
index a69f72b..8fca426 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_ro.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_ro.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">virgulă</translation>
 <translation id="3976863468609830880">Dă clic pe ultima pictograma de pe raft</translation>
 <translation id="3994783594793697310">Resetează nivelul de zoom al afișajului</translation>
+<translation id="4026837045671473537">Activează modul de inversare a culorilor</translation>
 <translation id="4026843240379844265">Mută fereastra activă de pe un ecran pe altul</translation>
 <translation id="4035482366624727273">Selectează integral conținutul paginii</translation>
 <translation id="4060703249685950734">Redeschide ultima filă sau fereastră închisă</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr-Latn.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr-Latn.xtb
index 1374128..a8483f2 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr-Latn.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr-Latn.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">zarez</translation>
 <translation id="3976863468609830880">Kliknite na poslednju ikonu na polici</translation>
 <translation id="3994783594793697310">Resetujte nivo zumiranja prikaza</translation>
+<translation id="4026837045671473537">Uključite režim inverzije boja</translation>
 <translation id="4026843240379844265">Pomera aktivan prozor na različite ekrane</translation>
 <translation id="4035482366624727273">Izaberite sve stavke na stranici</translation>
 <translation id="4060703249685950734">Ponovo otvorite karticu ili prozor koji su poslednji zatvoreni</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr.xtb
index 012e8b6..b562bc3 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sr.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">зарез</translation>
 <translation id="3976863468609830880">Кликните на последњу икону на полици</translation>
 <translation id="3994783594793697310">Ресетујте ниво зумирања приказа</translation>
+<translation id="4026837045671473537">Укључите режим инверзије боја</translation>
 <translation id="4026843240379844265">Помера активан прозор на различите екране</translation>
 <translation id="4035482366624727273">Изаберите све ставке на страници</translation>
 <translation id="4060703249685950734">Поново отворите картицу или прозор који су последњи затворени</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sv.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sv.xtb
index f68fd5d6..0ea0559 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_sv.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_sv.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">komma</translation>
 <translation id="3976863468609830880">Klicka på den sista ikonen i översikten</translation>
 <translation id="3994783594793697310">Återställ zoomnivån</translation>
+<translation id="4026837045671473537">Aktivera läget för inverterade färger</translation>
 <translation id="4026843240379844265">Flytta det aktiva fönstret mellan skärmar</translation>
 <translation id="4035482366624727273">Markera allt på sidan</translation>
 <translation id="4060703249685950734">Öppna den senast stängda fliken eller det senast stängda fönstret igen</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_uk.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_uk.xtb
index 175968c..c166f68 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_uk.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_uk.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">кома</translation>
 <translation id="3976863468609830880">Натиснути останній значок на полиці</translation>
 <translation id="3994783594793697310">Скидає рівень масштабування екрана</translation>
+<translation id="4026837045671473537">Увімкнути режим інверсії кольорів</translation>
 <translation id="4026843240379844265">Перемістити активне вікно між дисплеями.</translation>
 <translation id="4035482366624727273">Виділити все на сторінці</translation>
 <translation id="4060703249685950734">Знову відкрити останню закриту вкладку або вікно</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_uz.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_uz.xtb
index f11e935..736a7b7b 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_uz.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_uz.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">vergul</translation>
 <translation id="3976863468609830880">Javondagi oxirgi ikonkani bosish</translation>
 <translation id="3994783594793697310">Ekranning asl masshtabini tiklash</translation>
+<translation id="4026837045671473537">Ranglarni akslantirish usulini yoqish</translation>
 <translation id="4026843240379844265">Faol oynani ekranlararo almashtirish</translation>
 <translation id="4035482366624727273">Sahifadagi hamma elementlarni belgilash</translation>
 <translation id="4060703249685950734">Oxirgi yopilgan varaq yoki oynani tiklash</translation>
diff --git a/ash/shortcut_viewer/strings/shortcut_viewer_strings_zh-CN.xtb b/ash/shortcut_viewer/strings/shortcut_viewer_strings_zh-CN.xtb
index f3ec013..efc9561 100644
--- a/ash/shortcut_viewer/strings/shortcut_viewer_strings_zh-CN.xtb
+++ b/ash/shortcut_viewer/strings/shortcut_viewer_strings_zh-CN.xtb
@@ -93,6 +93,7 @@
 <translation id="3949671998904569433">逗号</translation>
 <translation id="3976863468609830880">点击任务栏中的最后一个图标</translation>
 <translation id="3994783594793697310">重置显示内容的缩放级别</translation>
+<translation id="4026837045671473537">开启颜色反转模式</translation>
 <translation id="4026843240379844265">在各个显示屏之间移动活动窗口</translation>
 <translation id="4035482366624727273">选择网页上的全部内容</translation>
 <translation id="4060703249685950734">重新打开上次关闭的标签页或窗口</translation>
diff --git a/ash/strings/ash_strings_af.xtb b/ash/strings/ash_strings_af.xtb
index 0aeb609..7f99b2f 100644
--- a/ash/strings/ash_strings_af.xtb
+++ b/ash/strings/ash_strings_af.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">Hierdie lêer klaar gebruik</translation>
 <translation id="6073451960410192870">Stop opname</translation>
 <translation id="6074087755403037157">Beta-kanaal</translation>
+<translation id="6095008505822982596">Spraaktempo</translation>
 <translation id="6099678161144790572">In die afgelope maand gewysig</translation>
 <translation id="6103838137565245112">stelsel</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" />-spraaklêers is afgelaai</translation>
diff --git a/ash/strings/ash_strings_as.xtb b/ash/strings/ash_strings_as.xtb
index a02745e2..f40fcae 100644
--- a/ash/strings/ash_strings_as.xtb
+++ b/ash/strings/ash_strings_as.xtb
@@ -895,6 +895,7 @@
 <translation id="6064463340679478396">ফাইলটো ব্যৱহাৰ কৰি হ’ল</translation>
 <translation id="6073451960410192870">ৰেকৰ্ডিং কৰা বন্ধ কৰক</translation>
 <translation id="6074087755403037157">বিটা চেনেল</translation>
+<translation id="6095008505822982596">কথনৰ হাৰ</translation>
 <translation id="6099678161144790572">যোৱা মাহটোত সম্পাদনা কৰিছিল</translation>
 <translation id="6103838137565245112">ছিষ্টেম</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> কথনৰ ফাইল ডাউনল’ড কৰা হৈছে</translation>
diff --git a/ash/strings/ash_strings_az.xtb b/ash/strings/ash_strings_az.xtb
index bcd8e61..98c44bc 100644
--- a/ash/strings/ash_strings_az.xtb
+++ b/ash/strings/ash_strings_az.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Tam Ekran Böyüdücüsü aktiv edildi. Rejimi deaktiv etmək üçün Ctrl+Search+M düymələrinə basın.</translation>
 <translation id="2302092602801625023">Bu hesab Family Link tərəfindən idarə olunur</translation>
 <translation id="2303600792989757991">Pəncərə ümumi görünüşünə keçirin</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: son ekran çəkilişləri, endirmələr və bərkidilmiş fayllar</translation>
 <translation id="2318576281648121272">Bu gün <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, axtarış nəticəsi kateqoriyası</translation>
 <translation id="2322173485024759474">Hərf üzrə geri qayıdın</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Yaxındakılarla Paylaşma ayarlarını göstərin.</translation>
 <translation id="7634648064048557203">Kamera aşağı sağ küncə çəkildi</translation>
 <translation id="7641938616688887143">Çəkin</translation>
+<translation id="7642106959537987271">rəng inversiyası rejimi</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> ayarlarını açın</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (sahib)</translation>
 <translation id="7647488630410863958">Bildirişlərinizi görmək üçün cihazın kilidini açın</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Sıfırlayın</translation>
 <translation id="8214996719228530800">Kanarya Kanalı</translation>
 <translation id="8219451629189078428">Bu müddət ərzində Chromebook cihazınız yanılı və şəbəkəyə qoşulu vəziyətdə olmalıdır. Doldurma qurğusu və ya adapter naqillərinin həm Chromebook cihazınıza, həm də elektrik yuvasına tam şəkildə taxılı olduğundan əmin olun. Chromebook cihazını söndürməyin.</translation>
+<translation id="8230305195727960608">Rəng İnversiyası Rejimi</translation>
 <translation id="8236042855478648955">Fasilə vaxtı</translation>
 <translation id="8246282815785366524">Təkrar xoş gəldiniz, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, Siqnal Gücü <ph name="SIGNAL_STRENGTH" />, Telefonun Batareyası <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Yaxınlıqda görünmə</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> işlədilir</translation>
+<translation id="8991617137207906966">Rəng İnversiyası Rejimi aktivdir. Onu deaktiv etmək üçün yenidən Ctrl+Search+H düymələrini basın.</translation>
 <translation id="899350903320462459">Bildiriş əməliyyatını icra etmək üçün cihazı <ph name="LOGIN_ID" /> olaraq kiliddən çıxarın</translation>
 <translation id="9000771174482730261">YADDAŞI İDARƏ EDİN</translation>
 <translation id="9017320285115481645">Family Link valideyn girişi kodunu daxil edin.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Valideyniniz cihazı bugün üçün kilidləyib</translation>
 <translation id="9220525904950070496">Hesabı silin</translation>
 <translation id="923686485342484400">Hesabdan çıxmaq üçün iki dəfə Control Shift Q basın</translation>
+<translation id="92580429198593979">Rəng inversiyası üçün klaviatura qısayolunu basdınız. Onu aktiv etmək istəyirsiniz?</translation>
 <translation id="925832987464884575">Önbaxışları gizlədin</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> <ph name="DEVICE_TYPE" /> cihazını dərhal güncəlləməyinizi tələb edir</translation>
 <translation id="938963181863597773">Təqvimdə nə var?</translation>
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index 43126ac..822df5e7 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">'নিয়ারবাই শেয়ার' সেটিংস দেখুন।</translation>
 <translation id="7634648064048557203">ক্যামেরাটি নিচে ডানদিকের কোণে স্ন্যাপ করা হয়েছে</translation>
 <translation id="7641938616688887143">রেকর্ড করুন</translation>
+<translation id="7642106959537987271">কালার ইনভার্সন মোড</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" /> নেটওয়ার্কের সেটিংস খুলুন, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (মালিক)</translation>
 <translation id="7647488630410863958">আপনার বিজ্ঞপ্তিগুলি দেখতে ডিভাইস আনলক করুন</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">রিসেট করুন</translation>
 <translation id="8214996719228530800">ক্যানারি চ্যানেল</translation>
 <translation id="8219451629189078428">এই সময়ে আপনার Chromebook চালু অবস্থায় থাকতে হবে ও সেটি চার্জে বসিয়ে রাখতে হবে। আপনার Chromebook ও প্লাগ পয়েন্ট, উভয়ের সাথে চার্জার বা অ্যাডাপ্টার কেবল ঠিকমতো প্লাগ-ইন করা আছে কিনা তা দেখে নিন। আপনার Chromebook বন্ধ করবেন না।</translation>
+<translation id="8230305195727960608">কালার ইনভার্সন মোড</translation>
 <translation id="8236042855478648955">বিরতির সময় হয়েছে</translation>
 <translation id="8246282815785366524"><ph name="GIVEN_NAME" />, আপনাকে আবার স্বাগত জানাই</translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, সিগন্যাল: <ph name="SIGNAL_STRENGTH" />, ফোনের ব্যাটারি <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">'নিয়ারবাই শেয়ার'-এর ডিভাইস দৃশ্যমানতা</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> ব্যবহার করা হচ্ছে</translation>
+<translation id="8991617137207906966">কালার ইনভার্সন মোড চালু করা আছে। আবার সেটিকে বন্ধ করার জন্য Ctrl+Search+H প্রেস করুন।</translation>
 <translation id="899350903320462459">বিজ্ঞপ্তি সম্পর্কিত অ্যাকশনের জন্য <ph name="LOGIN_ID" /> হিসেবে ডিভাইস আনলক করুন</translation>
 <translation id="9000771174482730261">স্টোরেজ ম্যানেজ করুন</translation>
 <translation id="9017320285115481645">Family Link-এর অভিভাবকীয় অ্যাক্সেস কোডটি লিখুন।</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">আপনার অভিভাবক এই ডিভাইসটি আজকের জন্য লক করে দিয়েছেন</translation>
 <translation id="9220525904950070496">অ্যাকাউন্ট সরান</translation>
 <translation id="923686485342484400">সাইন-আউট করার জন্য দু'বার Control Shift Q টিপুন৷</translation>
+<translation id="92580429198593979">আপনি কালার ইনভার্সনের জন্য কীবোর্ড শর্টকাট প্রেস করেছেন। আপনি কি এটি চালু করতে চান?</translation>
 <translation id="925832987464884575">প্রিভিউ লুকান</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> আপনাকে এখনই <ph name="DEVICE_TYPE" /> আপডেট করতে বলছে</translation>
 <translation id="938963181863597773">আমার ক্যালেন্ডারে কী কী আছে?</translation>
diff --git a/ash/strings/ash_strings_bs.xtb b/ash/strings/ash_strings_bs.xtb
index b9a60def..f7121f6 100644
--- a/ash/strings/ash_strings_bs.xtb
+++ b/ash/strings/ash_strings_bs.xtb
@@ -895,6 +895,7 @@
 <translation id="6064463340679478396">Završio/la sam s korištenjem fajla</translation>
 <translation id="6073451960410192870">Zaustavi snimanje</translation>
 <translation id="6074087755403037157">Beta kanal</translation>
+<translation id="6095008505822982596">Brzina govora</translation>
 <translation id="6099678161144790572">Uređeno u proteklom mjesecu</translation>
 <translation id="6103838137565245112">sistem</translation>
 <translation id="6114505516289286752">Fajlovi govora na jeziku <ph name="LANGUAGE" /> su preuzeti</translation>
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index c751a39..17a616c0 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">La lupa de pantalla completa està activada. Torna a prémer Ctrl+Cerca+M per desactivar-la.</translation>
 <translation id="2302092602801625023">Family Link gestiona aquest compte</translation>
 <translation id="2303600792989757991">Commuta la visió general de la finestra</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: captures de pantalla, baixades i fitxers fixats recents</translation>
 <translation id="2318576281648121272">Avui (<ph name="TODAY_DATE" />)</translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, categoria de resultat de cerca</translation>
 <translation id="2322173485024759474">Enrere per lletra</translation>
@@ -1152,6 +1153,7 @@
 <translation id="7633755430369750696">Mostra la configuració de Compartició Nearby.</translation>
 <translation id="7634648064048557203">La càmera s'ha ajustat a l'extrem inferior dret</translation>
 <translation id="7641938616688887143">Grava</translation>
+<translation id="7642106959537987271">mode d'inversió de colors</translation>
 <translation id="7642647758716480637">Obre la configuració de la xarxa <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (propietari)</translation>
 <translation id="7647488630410863958">Desbloqueja el dispositiu per veure les notificacions</translation>
@@ -1257,6 +1259,7 @@
 <translation id="8209010265547628927">Restableix</translation>
 <translation id="8214996719228530800">Canal Canary</translation>
 <translation id="8219451629189078428">El Chromebook ha d'estar encès i endollat durant aquest període de temps. Assegura't que els cables del carregador o de l'adaptador estiguin completament connectats, tant al Chromebook com a l'endoll. No apaguis el Chromebook.</translation>
+<translation id="8230305195727960608">Mode d'inversió de colors</translation>
 <translation id="8236042855478648955">Ara toca fer una pausa</translation>
 <translation id="8246282815785366524">Et donem la benvinguda de nou, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, <ph name="SIGNAL_STRENGTH" /> d'intensitat del senyal, <ph name="BATTERY_STATUS" /> de bateria al telèfon</translation>
@@ -1383,6 +1386,7 @@
 <translation id="8982906748181120328">Visibilitat Nearby</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">S'està utilitzant <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Mode d'inversió de colors activat. Torna a prémer Ctrl+Cerca+H per desactivar-lo.</translation>
 <translation id="899350903320462459">Desbloqueja el dispositiu com a <ph name="LOGIN_ID" /> per dur a terme l'acció que indica la notificació</translation>
 <translation id="9000771174482730261">GESTIONA L'EMMAGATZEMATGE</translation>
 <translation id="9017320285115481645">Introdueix el codi d'accés parental de Family Link.</translation>
@@ -1431,6 +1435,7 @@
 <translation id="921989828232331238">El teu pare o mare han bloquejat el dispositiu per a tot el dia</translation>
 <translation id="9220525904950070496">Suprimir el compte</translation>
 <translation id="923686485342484400">Premeu Control+Maj+Q dues vegades per tancar la sessió.</translation>
+<translation id="92580429198593979">Has premut la tecla de drecera de la inversió de colors. Vols activar-la?</translation>
 <translation id="925832987464884575">Amaga les previsualitzacions</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> requereix que actualitzis el dispositiu <ph name="DEVICE_TYPE" /> immediatament</translation>
 <translation id="938963181863597773">Què tinc programat al calendari?</translation>
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index a7e3117..dab73a8 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -214,6 +214,7 @@
 <translation id="2132302418721800944">Zaznamenat celou obrazovku</translation>
 <translation id="2135456203358955318">Zabudovaná lupa</translation>
 <translation id="2148716181193084225">Dnes</translation>
+<translation id="2161132820593978283">Vyzkoušejte automatické zabírání, abyste při videohovorech byly uprostřed obrazovky. Funkci zapnete v Rychlém nastavení.</translation>
 <translation id="2170530631236737939">Přehled ukončíte přejetím třemi prsty dolů</translation>
 <translation id="219905428774326614">Spouštěč, všechny aplikace</translation>
 <translation id="2201071101391734388">Nedávná fotka <ph name="INDEX" /> z <ph name="TOTAL_COUNT" />.</translation>
@@ -252,6 +253,7 @@
 <translation id="2405664212338326887">Nepřipojeno</translation>
 <translation id="2408955596600435184">Zadejte PIN</translation>
 <translation id="2412593942846481727">K dispozici je aktualizace</translation>
+<translation id="2426051945783024481">Záběr kamery byl automaticky vycentrován</translation>
 <translation id="2427507373259914951">Kliknutí levým tlačítkem</translation>
 <translation id="2429753432712299108">Zařízení Bluetooth „<ph name="DEVICE_NAME" />“ žádá o povolení ke spárování. Než toto povolení schválíte, zkontrolujte si, zda je na zařízení zobrazen následující přístupový klíč: <ph name="PASSKEY" /></translation>
 <translation id="2435457462613246316">Zobrazit heslo</translation>
@@ -1038,6 +1040,7 @@
 <translation id="6960565108681981554">Není aktivováno. Kontaktujte svého operátora.</translation>
 <translation id="6961121602502368900">Ztlumení telefonu v pracovním profilu není k dispozici</translation>
 <translation id="6961840794482373852">Klávesová zkratka Alt + šipka nahoru se změnila. Pokud chcete použít klávesu Page Up, stiskněte <ph name="LAUNCHER_KEY_NAME" /> + šipku nahoru.</translation>
+<translation id="696267987219125751">Automatické zabírání je vypnuté.</translation>
 <translation id="6965382102122355670">OK</translation>
 <translation id="6972754398087986839">Začínáme</translation>
 <translation id="6979158407327259162">Disk Google</translation>
@@ -1128,6 +1131,7 @@
 <translation id="7513922695575567867">Kalendář, týden od <ph name="DATE" />, je vybráno datum <ph name="SELECTED_DATE" />.</translation>
 <translation id="7514365320538308">Stáhnout</translation>
 <translation id="7515998400212163428">Android</translation>
+<translation id="7519206258459640379">Automatické zabírání je zapnuté.</translation>
 <translation id="7526573455193969409">Síť může být sledována</translation>
 <translation id="7536035074519304529">IP adresa: <ph name="ADDRESS" /></translation>
 <translation id="7543399541175347147">Aplikace pro Linux a anonymní okna v současné době nejsou podporovány. Ostatní aplikace budou uloženy.</translation>
@@ -1146,6 +1150,7 @@
 <translation id="7607002721634913082">Přerušeno</translation>
 <translation id="7609951632080598826">Zobrazení kalendáře, <ph name="DATE" />, <ph name="TIME" /></translation>
 <translation id="7611213136657090146">Kamera byla znovu připojena.</translation>
+<translation id="761736749114493194">Přepnout automatické zabírání. <ph name="STATE_TEXT" /></translation>
 <translation id="7624117708979618027"><ph name="TEMPERATURE_F" /> °F</translation>
 <translation id="7633755430369750696">Zobrazit nastavení sdílení nablízko</translation>
 <translation id="7634648064048557203">Kamera byl připnuta do pravého dolního rohu</translation>
@@ -1308,6 +1313,7 @@
 <translation id="851458219935658693">Zobrazit okna z aktuální plochy, je vybrán přepínač</translation>
 <translation id="8517041960877371778">Je možné, že když bude zařízení <ph name="DEVICE_TYPE" /> zapnuté, nebude se nabíjet.</translation>
 <translation id="8535393432370007982">Zrušit řazení podle barvy</translation>
+<translation id="8541078764854166027">Automatické zabírání</translation>
 <translation id="8542053257095774575">Žádné uložené plochy ani šablony</translation>
 <translation id="8546059259582788728">Vrácení řazení zpět bylo úspěšné</translation>
 <translation id="8551588720239073785">Nastavení data a času</translation>
diff --git a/ash/strings/ash_strings_de.xtb b/ash/strings/ash_strings_de.xtb
index 8badcc80..f47815f 100644
--- a/ash/strings/ash_strings_de.xtb
+++ b/ash/strings/ash_strings_de.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Vollbildlupe aktiviert. Wenn du sie deaktivieren möchtest, drücke noch einmal Strg + Suchtaste + M.</translation>
 <translation id="2302092602801625023">Dieses Konto wird über Family Link verwaltet</translation>
 <translation id="2303600792989757991">Fensterübersicht umschalten</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: Neueste Bildschirmaufnahmen, Downloads und angepinnte Dateien</translation>
 <translation id="2318576281648121272">Heute <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, Suchergebniskategorie</translation>
 <translation id="2322173485024759474">Zurück um einen Buchstaben</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Nearby Share-Einstellungen anzeigen.</translation>
 <translation id="7634648064048557203">Kamera ist an der unteren rechten Ecke angepinnt</translation>
 <translation id="7641938616688887143">Aufnehmen</translation>
+<translation id="7642106959537987271">Farbumkehrmodus</translation>
 <translation id="7642647758716480637">Einstellungen für <ph name="NETWORK_NAME" /> öffnen (<ph name="CONNECTION_STATUS" />)</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (Eigentümer)</translation>
 <translation id="7647488630410863958">Gerät entsperren, um Benachrichtigungen zu sehen</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Zurücksetzen</translation>
 <translation id="8214996719228530800">Canary-Version</translation>
 <translation id="8219451629189078428">Dein Chromebook muss während dieses Zeitraums eingeschaltet und an eine Steckdose angeschlossen sein. Achte darauf, dass die Kabel des Ladegeräts oder Adapters ordnungsgemäß in dein Chromebook und die Steckdose eingesteckt sind. Schalte dein Chromebook nicht aus.</translation>
+<translation id="8230305195727960608">Farbumkehrmodus</translation>
 <translation id="8236042855478648955">Zeit für eine Pause</translation>
 <translation id="8246282815785366524">Willkommen zurück, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, Signalstärke bei <ph name="SIGNAL_STRENGTH" />, Smartphone-Akku bei <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Nearby-Sichtbarkeit</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> aktiv</translation>
+<translation id="8991617137207906966">Der Farbumkehrmodus ist aktiviert. Wenn du den Modus deaktivieren möchtest, drücke noch einmal Strg + Suchtaste + H.</translation>
 <translation id="899350903320462459">Wenn du die Benachrichtigungsaktion ausführen möchtest, entsperre das Gerät als <ph name="LOGIN_ID" /></translation>
 <translation id="9000771174482730261">SPEICHERPLATZ VERWALTEN</translation>
 <translation id="9017320285115481645">Gib deinen Eltern-Zugangscode für Family Link ein.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Deine Eltern haben dein Gerät für heute gesperrt</translation>
 <translation id="9220525904950070496">Konto entfernen</translation>
 <translation id="923686485342484400">Drücke zum Abmelden zweimal Steuerung - Umschalttaste - Q.</translation>
+<translation id="92580429198593979">Du hast die Tastenkombination für die Farbumkehr gedrückt. Möchtest du sie aktivieren?</translation>
 <translation id="925832987464884575">Vorschauen ausblenden</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> erfordert, dass dein Gerät (<ph name="DEVICE_TYPE" />) sofort aktualisiert wird</translation>
 <translation id="938963181863597773">Welche Termine stehen an?</translation>
diff --git a/ash/strings/ash_strings_el.xtb b/ash/strings/ash_strings_el.xtb
index bd71360..556cd0ec 100644
--- a/ash/strings/ash_strings_el.xtb
+++ b/ash/strings/ash_strings_el.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">Δεν χρησιμοποιώ πλέον αυτό το αρχείο</translation>
 <translation id="6073451960410192870">Διακοπή εγγραφής</translation>
 <translation id="6074087755403037157">Κανάλι έκδοσης Beta</translation>
+<translation id="6095008505822982596">Ταχύτητα ομιλίας</translation>
 <translation id="6099678161144790572">Έγινε επεξεργασία τον προηγούμενο μήνα</translation>
 <translation id="6103838137565245112">σύστημα</translation>
 <translation id="6114505516289286752">Έγινε λήψη των αρχείων ομιλίας στα <ph name="LANGUAGE" /></translation>
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 0b84d2bbf..2a5d3a3 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Se ha habilitado la lupa de pantalla completa. Pulsa Ctrl + tecla de búsqueda + M de nuevo para desactivarla.</translation>
 <translation id="2302092602801625023">Esta cuenta se gestiona con Family Link</translation>
 <translation id="2303600792989757991">Activar vista general de ventanas</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: capturas de pantalla, descargas y archivos fijados recientes</translation>
 <translation id="2318576281648121272">Hoy <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, categoría de resultados de búsqueda</translation>
 <translation id="2322173485024759474">Retroceder por carácter</translation>
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index e0676ca..f7e5b4d 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Täisekraani suurendus on lubatud. Vajutage selle väljalülitamiseks uuesti klahvikombinatsiooni Ctrl + otsinguklahv + M.</translation>
 <translation id="2302092602801625023">Kontot haldab Family Link</translation>
 <translation id="2303600792989757991">Akna ülevaate sisse- ja väljalülitamine</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: hiljutised kuvatõmmised, allalaadimised ja kinnitatud failid</translation>
 <translation id="2318576281648121272">Täna, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, otsingutulemuse kategooria</translation>
 <translation id="2322173485024759474">Tähe võrra tagasi</translation>
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb
index c68ff71..f9f1308 100644
--- a/ash/strings/ash_strings_eu.xtb
+++ b/ash/strings/ash_strings_eu.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">Erakutsi Nearby Share-ren ezarpenak.</translation>
 <translation id="7634648064048557203">Atxiki egin da kamera beheko eskuinaldeko izkinan</translation>
 <translation id="7641938616688887143">Grabatu</translation>
+<translation id="7642106959537987271">koloreak alderantzikatzeko modua</translation>
 <translation id="7642647758716480637">Ireki <ph name="NETWORK_NAME" /> sarearen (<ph name="CONNECTION_STATUS" />) ezarpenak</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (jabea)</translation>
 <translation id="7647488630410863958">Desblokeatu gailua jakinarazpenak ikusteko</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">Berrezarri</translation>
 <translation id="8214996719228530800">Canary kanala</translation>
 <translation id="8219451629189078428">Chromebook-ak piztuta eta korrontera konektatuta egon behar du aldi horretan. Ziurtatu kargagailuaren edo egokigailuaren kableak behar bezala entxufatuta daudela, bai Chromebook-era, bai entxufera. Ez itzali Chromebook-a.</translation>
+<translation id="8230305195727960608">Koloreak alderantzikatzeko modua</translation>
 <translation id="8236042855478648955">Atseden hartzeko garaia da</translation>
 <translation id="8246282815785366524">Ongi etorri berriro, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />. Seinalearen indarra: <ph name="SIGNAL_STRENGTH" />. Telefonoaren bateria: <ph name="BATTERY_STATUS" />.</translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">Nearby-ren ikusgaitasuna</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> erabiltzen</translation>
+<translation id="8991617137207906966">Gaitu da koloreak alderantzikatzeko modua. Desgaitzeko, sakatu Ktrl + Bilaketa + H berriro.</translation>
 <translation id="899350903320462459">Desblokeatu gailua <ph name="LOGIN_ID" /> gisa jakinarazpen-ekintza gauzatzeko</translation>
 <translation id="9000771174482730261">KUDEATU BILTEGIA</translation>
 <translation id="9017320285115481645">Idatzi Family Link-eko gurasoen sarbide-kodea.</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">Guraso batek gailua blokeatu dizu gaurkoz</translation>
 <translation id="9220525904950070496">Kendu kontua</translation>
 <translation id="923686485342484400">Saioa amaitzeko, sakatu Kontrol + Maius + Q bi aldiz.</translation>
+<translation id="92580429198593979">Koloreak alderantzikatzeko lasterbidea sakatu duzu. Koloreak alderantzikatzeko modua aktibatu nahi duzu?</translation>
 <translation id="925832987464884575">Ezkutatu aurrebistak</translation>
 <translation id="937214777182567951"><ph name="DEVICE_TYPE" /> gailua berehala eguneratzea eskatu dizu <ph name="MANAGER" /> kudeatzaileak</translation>
 <translation id="938963181863597773">Zer daukat egutegian?</translation>
diff --git a/ash/strings/ash_strings_fa.xtb b/ash/strings/ash_strings_fa.xtb
index f4d8a8c..8b4ed74 100644
--- a/ash/strings/ash_strings_fa.xtb
+++ b/ash/strings/ash_strings_fa.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">‏«ذره‌بین تمام‌صفحه» فعال شد. برای خاموش کردن آن، Ctrl+Search+M را دوباره فشار دهید.</translation>
 <translation id="2302092602801625023">‏این حساب با Family Link مدیریت می‌شود</translation>
 <translation id="2303600792989757991">مروری کلی بر پنجره تغییر حالت</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: موارد اخیر ضبط صفحه‌نمایش، بارگیری‌ها، و فایل‌های پین‌شده</translation>
 <translation id="2318576281648121272">امروز <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> ، دسته نتیجه جستجو</translation>
 <translation id="2322173485024759474">عقب رفتن حرف‌به‌حرف</translation>
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index 5fb8f8e..6866e809 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Koko näytön suurennus on käytössä. Poista se käytöstä painamalla uudelleen Ctrl + haku + M.</translation>
 <translation id="2302092602801625023">Tiliä ylläpidetään Family Linkissä</translation>
 <translation id="2303600792989757991">Vaihda ikkunan yleiskatsausta</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: viimeaikaiset kuvakaappaukset, lataukset ja kiinnitetyt tiedostot</translation>
 <translation id="2318576281648121272">Tänään <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , hakutuloskategoria</translation>
 <translation id="2322173485024759474">Yksi kirjain taaksepäin</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Näytä lähijakamisen asetukset.</translation>
 <translation id="7634648064048557203">Kamera kohdistettu oikeaan alakulmaan</translation>
 <translation id="7641938616688887143">Tallenna</translation>
+<translation id="7642106959537987271">käänteiset värit ‑tila</translation>
 <translation id="7642647758716480637">Avaa asetukset: <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (omistaja)</translation>
 <translation id="7647488630410863958">Katso ilmoitukset avaamalla laitteesi lukitus.</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Nollaa</translation>
 <translation id="8214996719228530800">Canary-versio</translation>
 <translation id="8219451629189078428">Chromebookin täytyy pysyä päällä ja yhdistettynä virtalähteeseen tänä aikana. Varmista, että laturin tai virtalähteen johdot on liitetty kunnolla sekä Chromebookiin että pistorasiaan. Älä sammuta Chromebookia.</translation>
+<translation id="8230305195727960608">Käänteiset värit ‑tila</translation>
 <translation id="8236042855478648955">Tauon paikka</translation>
 <translation id="8246282815785366524">Tervetuloa takaisin, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, signaalin vahvuus <ph name="SIGNAL_STRENGTH" />, puhelimen akun varaus <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Lähinäkyvyys</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> käytössä</translation>
+<translation id="8991617137207906966">Käänteiset värit ‑tila on käytössä. Voit laittaa sen pois päältä painamalla uudelleen Ctrl + haku + H.</translation>
 <translation id="899350903320462459">Avaa laitteen lukitus tunnuksella <ph name="LOGIN_ID" />, niin voit käyttää ilmoitustoimintoa</translation>
 <translation id="9000771174482730261">HALLINNOI TALLENNUSTILAA</translation>
 <translation id="9017320285115481645">Syötä vanhemman Family Link ‑käyttökoodi</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Vanhempasi lukitsi laitteen loppupäivän ajaksi</translation>
 <translation id="9220525904950070496">Poista tili</translation>
 <translation id="923686485342484400">Kirjaudu ulos painamalla Control Shift Q kahdesti.</translation>
+<translation id="92580429198593979">Painoit käänteisten värien pikanäppäintä. Haluatko laittaa ne päälle?</translation>
 <translation id="925832987464884575">Piilota esikatselut</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> edellyttää, että <ph name="DEVICE_TYPE" /> päivitetään heti</translation>
 <translation id="938963181863597773">Mitä kalenterissani on?</translation>
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb
index e1572664..6a75a910 100644
--- a/ash/strings/ash_strings_fil.xtb
+++ b/ash/strings/ash_strings_fil.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Na-enable ang Pang-magnify ng Full-screen. Pindutin ulit ang Ctrl+Search+M para i-off ito.</translation>
 <translation id="2302092602801625023">Pinapamahalaan ng Family Link ang account na ito</translation>
 <translation id="2303600792989757991">I-toggle ang window ng pangkalahatang-ideya</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: mga kamakailang screen capture, download, at naka-pin na file</translation>
 <translation id="2318576281648121272">Ngayon <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , kategorya ng resulta ng paghahanap</translation>
 <translation id="2322173485024759474">Bumalik nang paisa-isang titik</translation>
@@ -895,6 +896,7 @@
 <translation id="6064463340679478396">Tapos nang gamitin ang file</translation>
 <translation id="6073451960410192870">Ihinto ang pag-record</translation>
 <translation id="6074087755403037157">Beta Channel</translation>
+<translation id="6095008505822982596">Bilis ng pagsasalita</translation>
 <translation id="6099678161144790572">Na-edit sa nakalipas na buwan</translation>
 <translation id="6103838137565245112">system</translation>
 <translation id="6114505516289286752">Na-download na ang mga <ph name="LANGUAGE" /> na speech file</translation>
diff --git a/ash/strings/ash_strings_gu.xtb b/ash/strings/ash_strings_gu.xtb
index 6efd2ba..4129354 100644
--- a/ash/strings/ash_strings_gu.xtb
+++ b/ash/strings/ash_strings_gu.xtb
@@ -1156,6 +1156,7 @@
 <translation id="7633755430369750696">નજીકના શેર સેટિંગ બતાવો.</translation>
 <translation id="7634648064048557203">કૅમેરાને નીચેના જમણા ખૂણામાં સ્નેપ કર્યો</translation>
 <translation id="7641938616688887143">રેકોર્ડ કરો</translation>
+<translation id="7642106959537987271">વિપરીત રંગમાં બદલવાનો મોડ</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" /> માટે સેટિંગ ખોલો, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (માલિક)</translation>
 <translation id="7647488630410863958">તમારી સૂચનાઓ જોવા માટે ડિવાઇસને અનલૉક કરો</translation>
@@ -1261,6 +1262,7 @@
 <translation id="8209010265547628927">રીસેટ કરો</translation>
 <translation id="8214996719228530800">Canary ચૅનલ</translation>
 <translation id="8219451629189078428">આ સમય દરમ્યાન, તમારું Chromebook ચાલુ રહેવું અને પાવરથી કનેક્ટ થયેલું હોવું આવશ્યક છે. ખાતરી કરો કે ચાર્જર અથવા અડૅપ્ટર કેબલ તમારા Chromebook અને પાવર આઉટલેટ, એમ બન્નેમાં યોગ્ય રીતે પ્લગ-ઇન કરવામાં આવ્યા હોય. તમારું Chromebook બંધ કરશો નહીં.</translation>
+<translation id="8230305195727960608">વિપરીત રંગમાં બદલવાનો મોડ</translation>
 <translation id="8236042855478648955">વિરામ લેવાનો સમય</translation>
 <translation id="8246282815785366524">આપનું ફરી સ્વાગત છે, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, સિગ્નલની સશક્તતા <ph name="SIGNAL_STRENGTH" />, ફોનની બૅટરી <ph name="BATTERY_STATUS" /></translation>
@@ -1387,6 +1389,7 @@
 <translation id="8982906748181120328">નજીકની દૃશ્યતા</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" />નો ઉપયોગ કરી રહ્યા છે</translation>
+<translation id="8991617137207906966">વિપરીત રંગમાં બદલવાનો મોડ ચાલુ કર્યો છે. તેને ટૉગલ કરીને બંધ કરવા માટે, ફરીથી Ctrl+Search+H દબાવો.</translation>
 <translation id="899350903320462459">નોટિફિકેશન ક્રિયા કરવા માટે ઉપકરણને <ph name="LOGIN_ID" /> તરીકે અનલૉક કરો</translation>
 <translation id="9000771174482730261">સ્ટોરેજ મેનેજ કરો</translation>
 <translation id="9017320285115481645">Family Linkનો માતાપિતા માટેનો ઍક્સેસ કોડ દાખલ કરો.</translation>
@@ -1435,6 +1438,7 @@
 <translation id="921989828232331238">તમારા માતાપિતાએ તમારા ડિવાઇસને આજના માટે લૉક કર્યું છે</translation>
 <translation id="9220525904950070496">એકાઉન્ટ દૂર કરો</translation>
 <translation id="923686485342484400">સાઇન આઉટ કરવા માટે બે વાર Control Shift Q દબાવો.</translation>
+<translation id="92580429198593979">તમે વિપરીત રંગમાં બદલવા માટે કીબોર્ડ શૉર્ટકટ દબાવ્યો છે. શું તમે તેને ચાલુ કરવા માગો છો?</translation>
 <translation id="925832987464884575">પ્રીવ્યૂ છુપાવો</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> માટે જરૂરી છે કે તમે તમારું <ph name="DEVICE_TYPE" /> તરત જ અપડેટ કરો</translation>
 <translation id="938963181863597773">મારા કૅલેન્ડરમાં શું છે?</translation>
diff --git a/ash/strings/ash_strings_hr.xtb b/ash/strings/ash_strings_hr.xtb
index 90248e4..d0e814d 100644
--- a/ash/strings/ash_strings_hr.xtb
+++ b/ash/strings/ash_strings_hr.xtb
@@ -895,6 +895,7 @@
 <translation id="6064463340679478396">Datoteka mi više nije potrebna</translation>
 <translation id="6073451960410192870">Zaustavi snimanje</translation>
 <translation id="6074087755403037157">Beta kanal</translation>
+<translation id="6095008505822982596">Brzina govora</translation>
 <translation id="6099678161144790572">Uređivano prošli mjesec</translation>
 <translation id="6103838137565245112">sustav</translation>
 <translation id="6114505516289286752">Preuzete su govorne datoteke za <ph name="LANGUAGE" /></translation>
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb
index 05e241b..661945ab 100644
--- a/ash/strings/ash_strings_hu.xtb
+++ b/ash/strings/ash_strings_hu.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">Már nem használom a fájlt</translation>
 <translation id="6073451960410192870">Felvétel leállítása</translation>
 <translation id="6074087755403037157">Bétacsatorna</translation>
+<translation id="6095008505822982596">Beszéd sebessége</translation>
 <translation id="6099678161144790572">Az elmúlt egy hónapban szerkesztette</translation>
 <translation id="6103838137565245112">rendszer</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> nyelvű beszédfájlok letöltve</translation>
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 2fed4b18..6cbbd2e 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Kaca Pembesar Layar diaktifkan. Tekan Ctrl+Penelusuran+M lagi untuk menonaktifkannya.</translation>
 <translation id="2302092602801625023">Akun ini dikelola oleh Family Link</translation>
 <translation id="2303600792989757991">Beralih ikhtisar jendela</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: screenshot, download, dan file tersemat yang terbaru</translation>
 <translation id="2318576281648121272">Hari ini <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, kategori hasil penelusuran</translation>
 <translation id="2322173485024759474">Mundur per huruf</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Tampilkan setelan Berbagi Langsung.</translation>
 <translation id="7634648064048557203">Kamera dipaskan ke pojok kanan bawah</translation>
 <translation id="7641938616688887143">Rekam</translation>
+<translation id="7642106959537987271">mode inversi warna</translation>
 <translation id="7642647758716480637">Buka setelan untuk <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (pemilik)</translation>
 <translation id="7647488630410863958">Buka kunci perangkat untuk melihat notifikasi</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Reset</translation>
 <translation id="8214996719228530800">Saluran Canary</translation>
 <translation id="8219451629189078428">Chromebook harus tetap aktif dan terhubung ke daya selama jangka waktu ini. Pastikan kabel pengisi daya atau adaptor dicolokkan dengan benar ke Chromebook dan stopkontak. Jangan nonaktifkan Chromebook Anda.</translation>
+<translation id="8230305195727960608">Mode Inversi Warna</translation>
 <translation id="8236042855478648955">Waktunya beristirahat</translation>
 <translation id="8246282815785366524">Selamat datang kembali, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, Kekuatan Sinyal <ph name="SIGNAL_STRENGTH" />, Baterai Ponsel <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Visibilitas Berbagi Langsung</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Menggunakan <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Mode Inversi Warna diaktifkan. Tekan Ctrl+Penelusuran+H lagi untuk menonaktifkannya.</translation>
 <translation id="899350903320462459">Buka kunci perangkat sebagai <ph name="LOGIN_ID" /> untuk melakukan tindakan notifikasi</translation>
 <translation id="9000771174482730261">KELOLA PENYIMPANAN</translation>
 <translation id="9017320285115481645">Masukkan kode akses orang tua Family Link.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Orang tuamu mengunci perangkat untuk hari ini</translation>
 <translation id="9220525904950070496">Hapus akun</translation>
 <translation id="923686485342484400">Tekan Control Shift Q dua kali untuk keluar.</translation>
+<translation id="92580429198593979">Anda menekan pintasan keyboard untuk inversi warna. Ingin mengaktifkannya?</translation>
 <translation id="925832987464884575">Sembunyikan pratinjau</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> mengharuskan Anda segera mengupdate <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Apa saja daftar acara di kalender saya?</translation>
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb
index e880f4a..fe0cec7 100644
--- a/ash/strings/ash_strings_is.xtb
+++ b/ash/strings/ash_strings_is.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Kveikt er á stækkunargleri á öllum skjánum. Ýttu aftur á Ctrl+leitarhnappinn+M til að loka því.</translation>
 <translation id="2302092602801625023">Þessum reikningi er stjórnað með Family Link</translation>
 <translation id="2303600792989757991">Víxla gluggayfirliti</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: nýlegar skjáupptökur, niðurhal og festar skrár</translation>
 <translation id="2318576281648121272">Í dag <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , flokkur í leitarniðurstöðum</translation>
 <translation id="2322173485024759474">Til baka um staf</translation>
diff --git a/ash/strings/ash_strings_it.xtb b/ash/strings/ash_strings_it.xtb
index 1619e3f..8b9291a 100644
--- a/ash/strings/ash_strings_it.xtb
+++ b/ash/strings/ash_strings_it.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Ingrandimento a schermo intero attivato. Premi di nuovo CTRL + tasto per la ricerca + M per disattivarlo.</translation>
 <translation id="2302092602801625023">Questo account è gestito da Family Link</translation>
 <translation id="2303600792989757991">Attiva/disattiva panoramica finestra</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: acquisizioni schermo recenti, download e file bloccati</translation>
 <translation id="2318576281648121272">Oggi, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, categoria di risultati di ricerca</translation>
 <translation id="2322173485024759474">Indietro per lettera</translation>
@@ -1156,6 +1157,7 @@
 <translation id="7633755430369750696">Mostra impostazioni di Condivisione nelle vicinanze.</translation>
 <translation id="7634648064048557203">Fotocamera allineata all'angolo in basso a destra</translation>
 <translation id="7641938616688887143">Registra</translation>
+<translation id="7642106959537987271">modalità inversione dei colori</translation>
 <translation id="7642647758716480637">Apri le impostazioni relative a <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietario)</translation>
 <translation id="7647488630410863958">Sblocca il dispositivo per visualizzare le notifiche</translation>
@@ -1261,6 +1263,7 @@
 <translation id="8209010265547628927">Reimposta</translation>
 <translation id="8214996719228530800">Canale Canary</translation>
 <translation id="8219451629189078428">Durante questo periodo di tempo, il Chromebook deve rimanere acceso e collegato all'alimentazione. Assicurati che il caricabatterie o i cavi dell'adattatore siano ben collegati al Chromebook e alla presa di corrente. Non spegnere il Chromebook.</translation>
+<translation id="8230305195727960608">Modalità inversione dei colori</translation>
 <translation id="8236042855478648955">È ora di fare una pausa</translation>
 <translation id="8246282815785366524">Ti diamo il bentornato <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, intensità del segnale <ph name="SIGNAL_STRENGTH" />, batteria del telefono <ph name="BATTERY_STATUS" /></translation>
@@ -1387,6 +1390,7 @@
 <translation id="8982906748181120328">Visibilità nelle vicinanze</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">In uso: <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Modalità inversione dei colori attivata. Premi nuovamente Ctrl + Tasto per la ricerca + H per disattivarla.</translation>
 <translation id="899350903320462459">Sblocca il dispositivo con l'account <ph name="LOGIN_ID" /> per eseguire l'azione di notifica</translation>
 <translation id="9000771174482730261">GESTISCI SPAZIO DI ARCHIVIAZIONE</translation>
 <translation id="9017320285115481645">Inserisci il codice accesso genitori di Family Link.</translation>
@@ -1435,6 +1439,7 @@
 <translation id="921989828232331238">Uno dei tuoi genitori ha bloccato il tuo dispositivo per tutto il giorno</translation>
 <translation id="9220525904950070496">Rimuovi account</translation>
 <translation id="923686485342484400">Premi due volte Control Maiusc Q per uscire.</translation>
+<translation id="92580429198593979">Hai premuto la scorciatoia da tastiera per l'inversione dei colori. Vuoi attivarla?</translation>
 <translation id="925832987464884575">Nascondi anteprime</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> richiede l'immediato aggiornamento di <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Cosa è segnato sul mio calendario?</translation>
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index 4c6db217..44e2f4f 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -743,6 +743,7 @@
 <translation id="5283198616748585639">הוספת דקה</translation>
 <translation id="528468243742722775">סיום</translation>
 <translation id="5286194356314741248">הסריקה מתבצעת</translation>
+<translation id="5293671101077843611">אין אירועים היום</translation>
 <translation id="5297423144044956168">לא נמצאו מכשירים ניידים</translation>
 <translation id="5297704307811127955">כבויה</translation>
 <translation id="5300589172476337783">הצגה</translation>
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb
index cc9ea42..5479bab 100644
--- a/ash/strings/ash_strings_ka.xtb
+++ b/ash/strings/ash_strings_ka.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">სრულეკრანიანი ლუპა ჩართულია. გამოსართავად ხელახლა დააჭირეთ კლავიშთა კომბინაციას: Ctrl+Search+M.</translation>
 <translation id="2302092602801625023">ეს ანგარიში იმართება Family Link-ის მეშვეობით</translation>
 <translation id="2303600792989757991">ფანჯრის მიმოხილვის გადართვა</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: ეკრანის ბოლოდროინდელი აღბეჭდვები, ჩამოტვირთვები და ჩამაგრებული ფაილები</translation>
 <translation id="2318576281648121272">დღეს, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , ძიების შედეგის კატეგორია</translation>
 <translation id="2322173485024759474">ერთი ასოთი უკან</translation>
diff --git a/ash/strings/ash_strings_kk.xtb b/ash/strings/ash_strings_kk.xtb
index 42ef75b..5a418ff 100644
--- a/ash/strings/ash_strings_kk.xtb
+++ b/ash/strings/ash_strings_kk.xtb
@@ -1150,6 +1150,7 @@
 <translation id="7633755430369750696">Nearby Share параметрлерін көрсету.</translation>
 <translation id="7634648064048557203">Камера төменгі оң жақ бұрышқа ауыстырылды.</translation>
 <translation id="7641938616688887143">Жазу</translation>
+<translation id="7642106959537987271">түс инверсиясы режимі</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" /> параметрлерін ашу, күйі: <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (иесі)</translation>
 <translation id="7647488630410863958">Хабарландыруларды көру үшін құрылғының құлпын ашыңыз</translation>
@@ -1255,6 +1256,7 @@
 <translation id="8209010265547628927">Бастапқы күйге қайтару</translation>
 <translation id="8214996719228530800">Canary арнасы</translation>
 <translation id="8219451629189078428">Chromebook құрылғысы осы уақыт бойы қосулы болып, қуат көзіне жалғанулы тұруы керек. Зарядтағыш не адаптер кабельдері Chromebook құрылғысына да, розеткаға да толығымен жалғанғанын тексеріңіз. Chromebook құрылғысын өшірмеңіз.</translation>
+<translation id="8230305195727960608">Түс инверсиясы режимі</translation>
 <translation id="8236042855478648955">Үзіліс жасайтын кез келді</translation>
 <translation id="8246282815785366524">Қайта оралуыңызбен, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, сигнал күші: <ph name="SIGNAL_STRENGTH" />, телефонның батарея заряды: <ph name="BATTERY_STATUS" /></translation>
@@ -1380,6 +1382,7 @@
 <translation id="8982906748181120328">Nearby көрсетілуі</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> пайдалану</translation>
+<translation id="8991617137207906966">Түс инверсиясы режимі қосылды. Оны өшіру үшін Ctrl+Search+H пернелер тіркесімін қайта басыңыз.</translation>
 <translation id="899350903320462459">Хабарландыруда ұсынылған әрекетті орындау үшін <ph name="LOGIN_ID" /> арқылы құрылғының құлпын ашыңыз</translation>
 <translation id="9000771174482730261">ЖАДТЫ БАСҚАРУ</translation>
 <translation id="9017320285115481645">Family Link ата-ананың рұқсат кодын енгізіңіз.</translation>
@@ -1428,6 +1431,7 @@
 <translation id="921989828232331238">Ата-анаңыз құрылғыны бір күнге құлыптап қойды</translation>
 <translation id="9220525904950070496">Аккаунтты жою</translation>
 <translation id="923686485342484400">Шығу үшін Control + Shift + Q тіркесімін екі рет басыңыз.</translation>
+<translation id="92580429198593979">Түс инверсиясы үшін перне тіркесімін бастыңыз. Оны қосқыңыз келе ме?</translation>
 <translation id="925832987464884575">Алдын ала көріністерді жасыру</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> сізден <ph name="DEVICE_TYPE" /> құрылғысын дереу жаңартуды талап етеді.</translation>
 <translation id="938963181863597773">Күнтізбемде не бар?</translation>
diff --git a/ash/strings/ash_strings_km.xtb b/ash/strings/ash_strings_km.xtb
index cba6f49..82a6432 100644
--- a/ash/strings/ash_strings_km.xtb
+++ b/ash/strings/ash_strings_km.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">បានបើក​កម្មវិធី​ពង្រីក​ពេញ​អេក្រង់។ សូមចុច Ctrl+Search+M ម្ដងទៀត​ដើម្បី​បិទ​វា​។</translation>
 <translation id="2302092602801625023">គណនីនេះ​ត្រូវបាន​គ្រប់គ្រង​ដោយ Family Link</translation>
 <translation id="2303600792989757991">បិទបើកផ្ទាំងសង្ខេប</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />៖ ឯកសារ​ដែល​បានខ្ទាស់ ឯកសារដែលបានទាញយក និងការថត​អេក្រង់​ថ្មីៗ</translation>
 <translation id="2318576281648121272">ថ្ងៃនេះ <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , ប្រភេទលទ្ធផលស្វែងរក</translation>
 <translation id="2322173485024759474">ថយក្រោយ​មួយតួអក្សរ</translation>
diff --git a/ash/strings/ash_strings_kn.xtb b/ash/strings/ash_strings_kn.xtb
index fd78402..6150e60 100644
--- a/ash/strings/ash_strings_kn.xtb
+++ b/ash/strings/ash_strings_kn.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">Nearby ಶೇರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೋರಿಸಿ.</translation>
 <translation id="7634648064048557203">ಕ್ಯಾಮರಾವನ್ನು ಕೆಳಗಿನ ಬಲ ಮೂಲೆಯಲ್ಲಿ ಸ್ನ್ಯಾಪ್ ಮಾಡಲಾಗಿದೆ</translation>
 <translation id="7641938616688887143">ರೆಕಾರ್ಡ್</translation>
+<translation id="7642106959537987271">ಬಣ್ಣ ವಿಲೋಮದ ಮೋಡ್</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" /> ಗೆ ಸಂಬಂಧಿಸಿದ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (ಮಾಲೀಕರು)</translation>
 <translation id="7647488630410863958">ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">ರೀಸೆಟ್ ಮಾಡಿ</translation>
 <translation id="8214996719228530800">Canary ಚಾನಲ್</translation>
 <translation id="8219451629189078428">ಈ ಸಮಯದಲ್ಲಿ ನಿಮ್ಮ Chromebook ಆನ್‌ನಲ್ಲಿ ಇರಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ವಿದ್ಯುತ್ ಸಂಪರ್ಕ ಹೊಂದಿರಬೇಕಾಗುತ್ತದೆ. ನಿಮ್ಮ Chromebook ಮತ್ತು ವಿದ್ಯುತ್ ಔಟ್‌ಲೆಟ್ ಎರಡಕ್ಕೂ ಚಾರ್ಜರ್ ಅಥವಾ ಅಡಾಪ್ಟರ್ ಕೇಬಲ್‌ಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪ್ಲಗ್ ಇನ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನಿಮ್ಮ Chromebook ಅನ್ನು ಆಫ್ ಮಾಡಬೇಡಿ.</translation>
+<translation id="8230305195727960608">ಬಣ್ಣ ವಿಲೋಮದ ಮೋಡ್</translation>
 <translation id="8236042855478648955">ವಿರಾಮದ ಸಮಯ</translation>
 <translation id="8246282815785366524">ಮರಳಿ ಸುಸ್ವಾಗತ, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, ಸಿಗ್ನಲ್ ಸಾಮರ್ಥ್ಯ <ph name="SIGNAL_STRENGTH" />, ಫೋನ್ ಬ್ಯಾಟರಿ <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">ಸಮೀಪದ ಗೋಚರತೆ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> ಬಳಸಲಾಗುತ್ತಿದೆ</translation>
+<translation id="8991617137207906966">ಬಣ್ಣ ವಿಲೋಮದ ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಅದನ್ನು ಟಾಗಲ್ ಆಫ್ ಮಾಡಲು Ctrl+Search+H ಅನ್ನು ಪುನಃ ಒತ್ತಿ.</translation>
 <translation id="899350903320462459">ಅಧಿಸೂಚನೆ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧನವನ್ನು <ph name="LOGIN_ID" /> ನಂತೆ ಅನ್‌ಲಾಕ್ ಮಾಡಿ</translation>
 <translation id="9000771174482730261">ಸಂಗ್ರಹಣೆಯನ್ನು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="9017320285115481645">Family Link ಪೋಷಕ ಪ್ರವೇಶದ ಕೋಡ್ ಅನ್ನು ನಮೂದಿಸಿ.</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">ಈ ದಿನ ನಿಮ್ಮ ಪೋಷಕರು ನಿಮ್ಮ ಸಾಧನವನ್ನು ಲಾಕ್ ಮಾಡಿದ್ದಾರೆ</translation>
 <translation id="9220525904950070496">ಖಾತೆಯನ್ನು ತೆಗೆದುಹಾಕಿ</translation>
 <translation id="923686485342484400">ಸೈನ್ ಔಟ್ ಮಾಡಲು Control Shift Q ಅನ್ನು ಎರಡುಬಾರಿ ಒತ್ತಿರಿ.</translation>
+<translation id="92580429198593979">ಬಣ್ಣದ ವಿಲೋಮಕ್ಕಾಗಿ ನೀವು ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಒತ್ತಿದ್ದೀರಿ. ನೀವು ಅದನ್ನು ಆಫ್ ಮಾಡಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="925832987464884575">ಪೂರ್ವವೀಕ್ಷಣೆಗಳನ್ನು ಮರೆಮಾಡಿ</translation>
 <translation id="937214777182567951">ನಿಮ್ಮ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಕೂಡಲೇ ನೀವು ಅಪ್‌ಡೇಟ್ ಮಾಡಬೇಕೆಂದು <ph name="MANAGER" /> ಬಯಸುತ್ತದೆ</translation>
 <translation id="938963181863597773">ನನ್ನ ಕ್ಯಾಲೆಂಡರ್‌ನಲ್ಲಿ ಏನಿದೆ?</translation>
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index 310f9c8e..d4833ce 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">전체 화면 돋보기가 사용 설정되었습니다. 사용 중지하려면 Ctrl+Search+M을 다시 누르세요.</translation>
 <translation id="2302092602801625023">Family Link에서 관리되는 계정입니다.</translation>
 <translation id="2303600792989757991">창 전환 개요</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: 최근 화면 캡처, 다운로드, 고정된 파일</translation>
 <translation id="2318576281648121272">오늘 <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, 검색결과 카테고리</translation>
 <translation id="2322173485024759474">한 글자 뒤로 이동</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Nearby Share 설정 표시</translation>
 <translation id="7634648064048557203">카메라 미리보기가 오른쪽 하단으로 맞춰졌습니다</translation>
 <translation id="7641938616688887143">녹화</translation>
+<translation id="7642106959537987271">색상 반전 모드</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" /> 설정 열기, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" />(소유자)</translation>
 <translation id="7647488630410863958">기기를 잠금 해제하여 알림 보기</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">재설정</translation>
 <translation id="8214996719228530800">Canary 채널</translation>
 <translation id="8219451629189078428">이 시간 동안 Chromebook이 켜진 상태로 전원에 연결되어 있어야 합니다. 충전기나 어댑터 케이블이 Chromebook과 전원 콘센트에 제대로 연결되어 있는지 확인하고, Chromebook을 끄지 마세요.</translation>
+<translation id="8230305195727960608">색상 반전 모드</translation>
 <translation id="8236042855478648955">휴식 시간</translation>
 <translation id="8246282815785366524"><ph name="GIVEN_NAME" />님, 다시 방문해 주셔서 감사합니다.</translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, 신호 강도 <ph name="SIGNAL_STRENGTH" />, 휴대전화 배터리 <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Nearby 전체 공개</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> 사용 중</translation>
+<translation id="8991617137207906966">색상 반전 모드가 사용 설정되었습니다. 사용 중지하려면 Ctrl+Search+H를 다시 누르세요.</translation>
 <translation id="899350903320462459">알림 작업을 실행하려면 <ph name="LOGIN_ID" />(으)로 기기의 잠금을 해제하세요.</translation>
 <translation id="9000771174482730261">저장용량 관리</translation>
 <translation id="9017320285115481645">Family Link 부모 액세스 코드를 입력하세요.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">부모님이 오늘 하루 동안 기기를 잠갔습니다.</translation>
 <translation id="9220525904950070496">계정 삭제</translation>
 <translation id="923686485342484400">로그아웃하려면 Ctrl+Shift+Q를 두 번 누릅니다.</translation>
+<translation id="92580429198593979">색상 반전 단축키를 눌렀습니다. 사용 설정하시겠습니까?</translation>
 <translation id="925832987464884575">미리보기 숨기기</translation>
 <translation id="937214777182567951"><ph name="MANAGER" />에서 <ph name="DEVICE_TYPE" /> 기기를 즉시 업데이트할 것을 요구합니다.</translation>
 <translation id="938963181863597773">오늘 내 일정이 어떻게 돼?</translation>
diff --git a/ash/strings/ash_strings_lt.xtb b/ash/strings/ash_strings_lt.xtb
index 61e21df..44c91b1f 100644
--- a/ash/strings/ash_strings_lt.xtb
+++ b/ash/strings/ash_strings_lt.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Viso ekrano didinimas įgalintas. Dar kartą paspauskite „Ctrl“ + paieškos klavišą + M, kad išjungtumėte režimą.</translation>
 <translation id="2302092602801625023">Ši paskyra tvarkoma naudojant „Family Link“</translation>
 <translation id="2303600792989757991">Perjungti lango apžvalgą</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: pastarieji ekrano fiksavimai, atsisiuntimai ir prisegti failai</translation>
 <translation id="2318576281648121272">Šiandien <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, paieškos rezultatų kategorija</translation>
 <translation id="2322173485024759474">Grįžti per vieną raidę</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Rodyti bendrinimo netoliese nustatymus.</translation>
 <translation id="7634648064048557203">Fotoaparato peržiūra pridėta apatiniame dešiniajame kampe</translation>
 <translation id="7641938616688887143">Įrašyti</translation>
+<translation id="7642106959537987271">spalvų inversijos režimas</translation>
 <translation id="7642647758716480637">Atidaryti „<ph name="NETWORK_NAME" />“ nustatymus (<ph name="CONNECTION_STATUS" />)</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (savininkas)</translation>
 <translation id="7647488630410863958">Atrakinkite įrenginį, kad galėtumėte peržiūrėti pranešimus</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Nustatyti iš naujo</translation>
 <translation id="8214996719228530800">„Canary“ kanalas</translation>
 <translation id="8219451629189078428">Tuo metu „Chromebook“ įrenginys turi būti įjungtas ir prijungtas prie maitinimo šaltinio. Įsitikinkite, kad kroviklio ar adapterio laidai tinkamai prijungti prie „Chromebook“ ir elektros lizdo. Neišjunkite „Chromebook“ įrenginio.</translation>
+<translation id="8230305195727960608">Spalvų inversijos režimas</translation>
 <translation id="8236042855478648955">Laikas padaryti pertrauką</translation>
 <translation id="8246282815785366524">Sveiki sugrįžę, <ph name="GIVEN_NAME" />!</translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, signalo stiprumas <ph name="SIGNAL_STRENGTH" />, telefono akumuliatorius <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Matomumas netoliese</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Naudojama <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Spalvų inversijos režimas įgalintas. Jei norite jį išjungti, dar kartą paspauskite „Ctrl“ + paieškos klavišą + H.</translation>
 <translation id="899350903320462459">Atrakinkite įrenginį su <ph name="LOGIN_ID" />, kad galėtumėte įvykdyti pranešimo veiksmą</translation>
 <translation id="9000771174482730261">TVARKYKITE SAUGYKLĄ</translation>
 <translation id="9017320285115481645">Įveskite „Family Link“ tėvų prieigos kodą.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Vienas iš tėvų užrakino įrenginį dienai</translation>
 <translation id="9220525904950070496">Pašalinti paskyrą</translation>
 <translation id="923686485342484400">Jei norite atsijungti, du kartus paspauskite „Control“ + „Shift“ + Q.</translation>
+<translation id="92580429198593979">Paspaudėte spalvų inversijos spartųjį klavišą. Ar norite įjungti?</translation>
 <translation id="925832987464884575">Peržiūrų slėpimas</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> reikalauja nedelsiant atnaujinti „<ph name="DEVICE_TYPE" />“</translation>
 <translation id="938963181863597773">„What's on my calendar?“ (Kas mano kalendoriuje?)</translation>
diff --git a/ash/strings/ash_strings_mk.xtb b/ash/strings/ash_strings_mk.xtb
index 770ad75..0fd5684 100644
--- a/ash/strings/ash_strings_mk.xtb
+++ b/ash/strings/ash_strings_mk.xtb
@@ -897,6 +897,7 @@
 <translation id="6064463340679478396">Завршив со користење на датотеката</translation>
 <translation id="6073451960410192870">Сопри со снимање</translation>
 <translation id="6074087755403037157">Бета-канал</translation>
+<translation id="6095008505822982596">Брзина на говор</translation>
 <translation id="6099678161144790572">Изменето во изминатиот месец</translation>
 <translation id="6103838137565245112">систем</translation>
 <translation id="6114505516289286752">Датотеките за говор на <ph name="LANGUAGE" /> се преземени</translation>
diff --git a/ash/strings/ash_strings_ml.xtb b/ash/strings/ash_strings_ml.xtb
index ca45b18..b6d40fd7 100644
--- a/ash/strings/ash_strings_ml.xtb
+++ b/ash/strings/ash_strings_ml.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">പൂർണ്ണ സ്ക്രീൻ മാഗ്നിഫയർ പ്രവർത്തനക്ഷമമാക്കി. ഇത് ഓഫാക്കാൻ Ctrl+തിരയൽ+M വീണ്ടും അമർത്തുക.</translation>
 <translation id="2302092602801625023">ഈ അക്കൗണ്ട് Family Link ഉപയോഗിച്ച് മാനേജ് ചെയ്യുന്നു</translation>
 <translation id="2303600792989757991">വിൻഡോ ചുരുക്കവിവരണം ടോഗിൾ ചെയ്യുക</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: അടുത്തിടെയുള്ള സ്ക്രീൻ ക്യാപ്‌ചർ ചെയ്യലുകൾ, ഡൗൺലോഡുകൾ, പിൻ ചെയ്‌ത ഫയലുകൾ</translation>
 <translation id="2318576281648121272">ഇന്ന് <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , തിരയൽ ഫലത്തിന്റെ വിഭാഗം</translation>
 <translation id="2322173485024759474">ഒരക്ഷരം പിന്നിലേക്ക് പോവുക</translation>
diff --git a/ash/strings/ash_strings_mn.xtb b/ash/strings/ash_strings_mn.xtb
index 0ecbbed..353de945 100644
--- a/ash/strings/ash_strings_mn.xtb
+++ b/ash/strings/ash_strings_mn.xtb
@@ -897,6 +897,7 @@
 <translation id="6064463340679478396">Файлыг ашиглаж дууссан</translation>
 <translation id="6073451960410192870">Бичихийг зогсоох</translation>
 <translation id="6074087755403037157">Бета суваг</translation>
+<translation id="6095008505822982596">Ярианы хурд</translation>
 <translation id="6099678161144790572">Өнгөрсөн сард зассан</translation>
 <translation id="6103838137565245112">систем</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> дээрх ярианы файлуудыг татсан</translation>
diff --git a/ash/strings/ash_strings_mr.xtb b/ash/strings/ash_strings_mr.xtb
index 15efbd6..cd731579 100644
--- a/ash/strings/ash_strings_mr.xtb
+++ b/ash/strings/ash_strings_mr.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">फुल-स्क्रीन मॅग्निफायर सुरू केला आहे. तो टॉगल करून बंद करण्यासाठी पुन्हा Ctrl+Search+M दाबा.</translation>
 <translation id="2302092602801625023">हे खाते Family Link द्वारे व्यवस्थापित केले जाते</translation>
 <translation id="2303600792989757991">विंडो विहंगावलोकन टॉगल करा</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: अलीकडील स्क्रीन कॅप्चर, डाउनलोड आणि पिन केलेल्या फाइल</translation>
 <translation id="2318576281648121272">आज <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , शोध परिणामाची वर्गवारी</translation>
 <translation id="2322173485024759474">एक अक्षर मागे जा</translation>
diff --git a/ash/strings/ash_strings_ms.xtb b/ash/strings/ash_strings_ms.xtb
index de60d38..50c1dfe9 100644
--- a/ash/strings/ash_strings_ms.xtb
+++ b/ash/strings/ash_strings_ms.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Penggadang Skrin Penuh didayakan. Tekan Ctrl+Cari+M semula untuk mematikannya.</translation>
 <translation id="2302092602801625023">Akaun ini diurus oleh Family Link</translation>
 <translation id="2303600792989757991">Togol gambaran keseluruhan tetingkap</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: tangkapan skrin baru-baru ini, muat turun dan fail yang disemat</translation>
 <translation id="2318576281648121272">Hari ini <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, kategori hasil carian</translation>
 <translation id="2322173485024759474">Undur satu huruf</translation>
@@ -1156,6 +1157,7 @@
 <translation id="7633755430369750696">Paparkan tetapan Kongsi Berdekatan.</translation>
 <translation id="7634648064048557203">Kamera diautojajar ke penjuru kanan sebelah bawah</translation>
 <translation id="7641938616688887143">Rakam</translation>
+<translation id="7642106959537987271">mod penyongsangan warna</translation>
 <translation id="7642647758716480637">Buka tetapan untuk <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (pemilik)</translation>
 <translation id="7647488630410863958">Buka kunci peranti untuk melihat pemberitahuan anda</translation>
@@ -1261,6 +1263,7 @@
 <translation id="8209010265547628927">Tetapkan semula</translation>
 <translation id="8214996719228530800">Saluran Canary</translation>
 <translation id="8219451629189078428">Chromebook anda perlu kekal hidup dan disambungkan kepada kuasa sepanjang tempoh ini. Pastikan kabel pengecas atau penyesuai telah dipalamkan sepenuhnya pada Chromebook dan soket kuasa anda. Jangan matikan Chromebook anda.</translation>
+<translation id="8230305195727960608">Mod Penyongsangan Warna</translation>
 <translation id="8236042855478648955">Masa rehat</translation>
 <translation id="8246282815785366524">Selamat kembali, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, Kekuatan Isyarat <ph name="SIGNAL_STRENGTH" />, Bateri Telefon <ph name="BATTERY_STATUS" /></translation>
@@ -1387,6 +1390,7 @@
 <translation id="8982906748181120328">Keterlihatan berdekatan</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Menggunakan <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Mod Penyongsangan Warna didayakan. Tekan Ctrl+Search+H sekali lagi untuk mematikan mod itu.</translation>
 <translation id="899350903320462459">Buka kunci peranti sebagai <ph name="LOGIN_ID" /> untuk melaksanakan tindakan pemberitahuan</translation>
 <translation id="9000771174482730261">URUS STORAN</translation>
 <translation id="9017320285115481645">Masukkan kod akses ibu bapa Family Link.</translation>
@@ -1435,6 +1439,7 @@
 <translation id="921989828232331238">Ibu/bapa anda mengunci peranti untuk hari ini</translation>
 <translation id="9220525904950070496">Alih keluar akaun</translation>
 <translation id="923686485342484400">Tekan Tekan Shift Q dua kali untuk keluar.</translation>
+<translation id="92580429198593979">Anda menekan pintasan papan kekunci untuk penyongsangan warna. Adakah anda ingin menghidupkan mod itu?</translation>
 <translation id="925832987464884575">Sembunyikan pratonton</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> menghendaki anda mengemas kini <ph name="DEVICE_TYPE" /> anda dengan segera</translation>
 <translation id="938963181863597773">Apakah acara dalam kalendar saya?</translation>
diff --git a/ash/strings/ash_strings_my.xtb b/ash/strings/ash_strings_my.xtb
index a3d06db..6cbc8f44 100644
--- a/ash/strings/ash_strings_my.xtb
+++ b/ash/strings/ash_strings_my.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">'မျက်နှာပြင်အပြည့် မှန်ဘီလူး' ကို ဖွင့်ထားပါသည်။ ၎င်းကို ပိတ်ရန် Ctrl+Search+M ကို ထပ်နှိပ်ပါ။</translation>
 <translation id="2302092602801625023">ဤအကောင့်ကို Family Link က ကြီးကြပ်ထားသည်</translation>
 <translation id="2303600792989757991">ဝင်ဒိုး ခြုံငုံမြင်ရပုံ ကစားကြည့်ခြင်း</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />- လတ်တလော ဖန်သားပြင် ပုံဖမ်းခြင်းများ၊ ဒေါင်းလုဒ်များနှင့် ပင်ထိုးထားသော ဖိုင်များ</translation>
 <translation id="2318576281648121272">ယနေ့ <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> ၊ ရှာဖွေမှုရလဒ် အမျိုးအစား</translation>
 <translation id="2322173485024759474">အက္ခရာအလိုက် နောက်ပြန်သွားရန်</translation>
@@ -895,6 +896,7 @@
 <translation id="6064463340679478396">ဤဖိုင်ကို သုံးပြီးပါပြီ</translation>
 <translation id="6073451960410192870">ကူးယူမှု ရပ်ရန်</translation>
 <translation id="6074087755403037157">စမ်းသပ်ချန်နယ်</translation>
+<translation id="6095008505822982596">စကားပြောနှုန်း</translation>
 <translation id="6099678161144790572">ယခင်လက ပြင်ဆင်ထားသည်</translation>
 <translation id="6103838137565245112">စနစ်</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> တိုက်ရိုက်စာတန်းဖိုင်များ ဒေါင်းလုဒ်လုပ်ပြီးပြီ</translation>
diff --git a/ash/strings/ash_strings_ne.xtb b/ash/strings/ash_strings_ne.xtb
index 94e6fa2..206d1ba 100644
--- a/ash/strings/ash_strings_ne.xtb
+++ b/ash/strings/ash_strings_ne.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">नजिकैका डिभाइससँग सेयर गर्ने सुविधासम्बन्धी सेटिङ देखाउनुहोस्।</translation>
 <translation id="7634648064048557203">क्यामेरा पुछारको दायाँ कुनामा स्न्याप गरियो</translation>
 <translation id="7641938616688887143">रेकर्ड गर्नुहोस्</translation>
+<translation id="7642106959537987271">कलर इन्भर्सन मोड</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> को सेटिङ खोल्नुहोस्</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (मालिक)</translation>
 <translation id="7647488630410863958">आफ्ना सूचनाहरू हेर्न यन्त्रलाई अनलक गर्नुहोस्</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">रिसेट गर्नुहोस्</translation>
 <translation id="8214996719228530800">क्यानरी च्यानल</translation>
 <translation id="8219451629189078428">त्यतिन्जेल तपाईंको Chromebook खुला हुनु पर्छ र बिजुलीको स्रोतमा जोडिएको हुनु पर्छ। चार्जर वा एड्याप्टर केबल तपाईंको Chromebook र पावर सकेट दुवैतिर राम्ररी जोडिएको छ भन्ने कुरा सुनिश्चित गर्नुहोस्। आफ्नो Chromebook बन्द नगर्नुहोला।</translation>
+<translation id="8230305195727960608">कलर इन्भर्सन मोड</translation>
 <translation id="8236042855478648955">आराम गर्ने समय भयो</translation>
 <translation id="8246282815785366524">फेरि स्वागत छ, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, सिग्नलको क्षमता <ph name="SIGNAL_STRENGTH" />, फोनको ब्याट्री <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">नजिकैका यन्त्रमा फेला पर्ने</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> प्रयोग गरिँदै</translation>
+<translation id="8991617137207906966">कलर इन्भर्सन मोड अन गरियो। उक्त मोड अफ गर्न फेरि Ctrl+Search+H थिच्नुहोस्।</translation>
 <translation id="899350903320462459">सूचनासम्बन्धी कारबाही गर्न यन्त्रलाई <ph name="LOGIN_ID" /> का रूपमा अनलक गर्नुहोस्</translation>
 <translation id="9000771174482730261">भण्डारण व्यवस्थापन गर्नुहोस्</translation>
 <translation id="9017320285115481645">Family Link को अभिभावकको पहुँचसम्बन्धी कोड प्रविष्टि गर्नुहोस्।</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">तपाईंका अभिभावकले आजका लागि तपाईंको यन्त्र लक गर्नुभयो</translation>
 <translation id="9220525904950070496">खाता हटाउनुहोस्</translation>
 <translation id="923686485342484400">साइन आउट गर्न दुई पटक Control Q थिच्नुहोस्।</translation>
+<translation id="92580429198593979">तपाईंले कलर इन्भर्सन अन/अफ गर्ने किबोर्ड सर्टकट थिच्नुभयो। तपाईं उक्त सुविधा अन गर्न चाहनुहुन्छ?</translation>
 <translation id="925832987464884575">प्रिभ्यूहरू लुकाउनुहोस्</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> का अनुसार तपाईंले तुरुन्तै आफ्नो <ph name="DEVICE_TYPE" /> अपडेट गर्नु पर्ने हुन्छ</translation>
 <translation id="938963181863597773">मेरो क्यालेन्डरमा के छ?</translation>
diff --git a/ash/strings/ash_strings_no.xtb b/ash/strings/ash_strings_no.xtb
index c1357d3..04704e8f 100644
--- a/ash/strings/ash_strings_no.xtb
+++ b/ash/strings/ash_strings_no.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Lupe for hele skjermen er slått på. Trykk på Ctrl + Søk + M igjen for å slå det av.</translation>
 <translation id="2302092602801625023">Denne kontoen er administrert av Family Link</translation>
 <translation id="2303600792989757991">Vis eller skjul vindusoversikten</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: nylige skjermdumper, nedlastinger og festede filer</translation>
 <translation id="2318576281648121272">I dag, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> – kategori for søkeresultat</translation>
 <translation id="2322173485024759474">Én bokstav tilbake</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Vis innstillinger for nærdeling.</translation>
 <translation id="7634648064048557203">Kameraet er festet til nedre høyre hjørne</translation>
 <translation id="7641938616688887143">Ta opp</translation>
+<translation id="7642106959537987271">modus for fargeinvertering</translation>
 <translation id="7642647758716480637">Åpne innstillinger for <ph name="NETWORK_NAME" /> (<ph name="CONNECTION_STATUS" />)</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (eier)</translation>
 <translation id="7647488630410863958">Lås opp enheten for å se varslene dine</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Tilbakestill</translation>
 <translation id="8214996719228530800">Canary-kanal</translation>
 <translation id="8219451629189078428">Chromebooken må være påslått og koblet til strøm i denne perioden. Sørg for at lader- eller adapterkabelen er plugget helt inn i både Chromebooken og stikkontakten. Ikke slå av Chromebook.</translation>
+<translation id="8230305195727960608">Modus for fargeinvertering</translation>
 <translation id="8236042855478648955">På tide med en pause</translation>
 <translation id="8246282815785366524">Velkommen tilbake, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" /> – signalstyrke <ph name="SIGNAL_STRENGTH" /> – telefonbatterinivå <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Nærdeling synlig</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Bruker <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Modus for fargeinvertering er slått på. Trykk på Ctrl + søketasten + H igjen for å slå den av.</translation>
 <translation id="899350903320462459">Lås opp enheten som <ph name="LOGIN_ID" /> for å utføre varselhandlingen</translation>
 <translation id="9000771174482730261">ADMINISTRER LAGRING</translation>
 <translation id="9017320285115481645">Skriv inn koden for foreldretilgang til Family Link.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Forelderen din har låst enheten din for dagen</translation>
 <translation id="9220525904950070496">Fjern konto</translation>
 <translation id="923686485342484400">Trykk på Control+Shift+Q to ganger for å logge av.</translation>
+<translation id="92580429198593979">Du har trykket på hurtigtasten for modus for fargeinvertering. Vil du slå den på?</translation>
 <translation id="925832987464884575">Skjul forhåndsvisninger</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> krever at du oppdaterer <ph name="DEVICE_TYPE" /> umiddelbart</translation>
 <translation id="938963181863597773">Hva er i kalenderen min?</translation>
diff --git a/ash/strings/ash_strings_or.xtb b/ash/strings/ash_strings_or.xtb
index 0ac75dee..60b4a9f 100644
--- a/ash/strings/ash_strings_or.xtb
+++ b/ash/strings/ash_strings_or.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍ ମ୍ୟାଗ୍ନିଫାୟର୍ ସକ୍ଷମ କରାଯାଇଛି। ଟୋଗଲ୍ କରି ଏହାକୁ ବନ୍ଦ କରିବା ପାଇଁ ପୁଣି Ctrl+Search+M ଦବାନ୍ତୁ।</translation>
 <translation id="2302092602801625023">Family Link ଦ୍ୱାରା ଏହି ଆକାଉଣ୍ଟ ପରିଚାଳିତ ହେଉଛି</translation>
 <translation id="2303600792989757991">ୱିଣ୍ଡୋର ସାରାଂଶ ଟୋଗଲ୍ କରନ୍ତୁ</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: ବର୍ତ୍ତମାନର ସ୍କ୍ରିନ କେପଚର, ଡାଉନଲୋଡ ଏବଂ ପିନ କରାଯାଇଥିବା ଫାଇଲଗୁଡ଼ିକ</translation>
 <translation id="2318576281648121272">ଆଜି <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , ସନ୍ଧାନ ଫଳାଫଳର ବର୍ଗ</translation>
 <translation id="2322173485024759474">ଗୋଟିଏ ଅକ୍ଷର ପଛକୁ ଫେରନ୍ତୁ</translation>
diff --git a/ash/strings/ash_strings_pa.xtb b/ash/strings/ash_strings_pa.xtb
index 4ccf8bed..b51fa47 100644
--- a/ash/strings/ash_strings_pa.xtb
+++ b/ash/strings/ash_strings_pa.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">ਪੂਰੀ-ਸਕ੍ਰੀਨ ਵੱਡਦਰਸ਼ੀ ਚਾਲੂ ਹੈ। ਉਸਨੂੰ ਬੰਦ ਕਰਨ ਲਈ Ctrl+Search+M ਦਬਾਓ।</translation>
 <translation id="2302092602801625023">ਇਸ ਖਾਤੇ ਦਾ ਪ੍ਰਬੰਧਨ Family Link ਵੱਲੋਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ</translation>
 <translation id="2303600792989757991">ਵਿੰਡੋ ਰੂਪ-ਰੇਖਾ ਨੂੰ ਟੌਗਲ ਕਰੋ</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: ਹਾਲੀਆ ਸਕ੍ਰੀਨ ਕੈਪਚਰ, ਡਾਊਨਲੋਡ ਅਤੇ ਪਿੰਨ ਕੀਤੀਆਂ ਫ਼ਾਈਲਾਂ</translation>
 <translation id="2318576281648121272">ਅੱਜ <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, ਖੋਜ ਨਤੀਜੇ ਦੀ ਸ਼੍ਰੇਣੀ</translation>
 <translation id="2322173485024759474">ਇੱਕ ਅੱਖਰ ਪਿੱਛੇ ਜਾਓ</translation>
@@ -1156,6 +1157,7 @@
 <translation id="7633755430369750696">'ਨਜ਼ਦੀਕੀ ਸਾਂਝ' ਸੈਟਿੰਗਾਂ ਦਿਖਾਓ।</translation>
 <translation id="7634648064048557203">ਕੈਮਰੇ ਨੂੰ ਹੇਠਲੇ ਸੱਜੇ ਕੋਨੇ 'ਤੇ ਵਿਵਸਥਿਤ ਕੀਤਾ ਗਿਆ</translation>
 <translation id="7641938616688887143">ਰਿਕਾਰਡ ਕਰੋ</translation>
+<translation id="7642106959537987271">ਰੰਗ ਪਲਟਨਾ ਮੋਡ</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> ਲਈ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (ਮਾਲਕ)</translation>
 <translation id="7647488630410863958">ਆਪਣੀਆਂ ਸੂਚਨਾਵਾਂ ਦੇਖਣ ਲਈ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ</translation>
@@ -1261,6 +1263,7 @@
 <translation id="8209010265547628927">ਰੀਸੈੱਟ ਕਰੋ</translation>
 <translation id="8214996719228530800">Canary ਚੈਨਲ</translation>
 <translation id="8219451629189078428">ਇਸ ਸਮੇਂ ਦੌਰਾਨ ਤੁਹਾਡੀ Chromebook ਨੂੰ ਚਾਲੂ ਰਹਿਣ ਅਤੇ ਪਾਵਰ ਨਾਲ ਕਨੈਕਟ ਰਹਿਣ ਦੀ ਲੋੜ ਹੈ। ਪੱਕਾ ਕਰੋ ਕਿ ਚਾਰਜਰ ਜਾਂ ਅਡਾਪਟਰ ਕੇਬਲਾਂ ਤੁਹਾਡੀ Chromebook ਅਤੇ ਪਾਵਰ ਸਾਕੇਟ ਦੋਵਾਂ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੱਗੀਆਂ ਹੋਈਆਂ ਹਨ। ਆਪਣੀ Chromebook ਨੂੰ ਬੰਦ ਨਾ ਕਰੋ।</translation>
+<translation id="8230305195727960608">ਰੰਗ ਪਲਟਨਾ ਮੋਡ</translation>
 <translation id="8236042855478648955">ਆਰਾਮ ਕਰਨ ਦਾ ਸਮਾਂ ਹੋ ਗਿਆ ਹੈ</translation>
 <translation id="8246282815785366524">ਮੁੜ ਜੀ ਆਇਆਂ ਨੂੰ, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ <ph name="SIGNAL_STRENGTH" />, ਫ਼ੋਨ ਦੀ ਬੈਟਰੀ <ph name="BATTERY_STATUS" /></translation>
@@ -1387,6 +1390,7 @@
 <translation id="8982906748181120328">ਨਜ਼ਦੀਕੀ ਦਿਖਣਯੋਗਤਾ</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> ਦੀ ਵਰਤੋਂ ਹੋ ਰਹੀ ਹੈ</translation>
+<translation id="8991617137207906966">ਰੰਗ ਪਲਟਨਾ ਮੋਡ ਚਾਲੂ ਹੈ। ਇਸਨੂੰ ਬੰਦ 'ਤੇ ਟੌਗਲ ਕਰਨ ਲਈ ਦੁਬਾਰਾ Ctrl+Search+H ਦਬਾਓ।</translation>
 <translation id="899350903320462459">ਸੂਚਨਾ 'ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲਈ <ph name="LOGIN_ID" /> ਵਜੋਂ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ</translation>
 <translation id="9000771174482730261">ਸਟੋਰੇਜ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="9017320285115481645">Family Link ਦਾ ਮਾਂ-ਪਿਓ ਪਹੁੰਚ ਕੋਡ ਦਾਖਲ ਕਰੋ।</translation>
@@ -1435,6 +1439,7 @@
 <translation id="921989828232331238">ਤੁਹਾਡੇ ਮਾਂ-ਪਿਓ ਨੇ ਅੱਜ ਦੇ ਦਿਨ ਲਈ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ</translation>
 <translation id="9220525904950070496">ਖਾਤਾ ਹਟਾਓ</translation>
 <translation id="923686485342484400">ਸਾਈਨ-ਆਊਟ ਕਰਨ ਲਈ ਦੋ ਵਾਰ Control Shift Q ਦਬਾਓ।</translation>
+<translation id="92580429198593979">ਤੁਸੀਂ ਰੰਗ ਪਲਟਨਾ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ ਦਬਾਇਆ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="925832987464884575">ਪੂਰਵ-ਝਲਕਾਂ ਲੁਕਾਓ</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> ਲਈ ਤੁਹਾਨੂੰ ਤੁਰੰਤ ਆਪਣੇ <ph name="DEVICE_TYPE" /> ਡੀਵਾਈਸ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ</translation>
 <translation id="938963181863597773">ਮੇਰੇ ਕੈਲੰਡਰ 'ਤੇ ਕੀ ਹੈ?</translation>
diff --git a/ash/strings/ash_strings_pl.xtb b/ash/strings/ash_strings_pl.xtb
index ebe0aa6..ba542bf 100644
--- a/ash/strings/ash_strings_pl.xtb
+++ b/ash/strings/ash_strings_pl.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Lupa pełnego ekranu została włączona. Aby ją wyłączyć, naciśnij ponownie Ctrl+Search+M.</translation>
 <translation id="2302092602801625023">To konto jest zarządzane przez Family Link</translation>
 <translation id="2303600792989757991">Przełącz widok ogólny okna</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: ostatnie zrzuty ekranu, pobrane rzeczy i przypięte pliki</translation>
 <translation id="2318576281648121272">Dzisiaj, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, kategoria wyniku wyszukiwania</translation>
 <translation id="2322173485024759474">Cofnij o jedną literę</translation>
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index a450f96..9c543c0 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Lupa de tela cheia ativada. Pressione Ctrl+Pesquisa+M novamente para desativá-la.</translation>
 <translation id="2302092602801625023">Esta conta é gerenciada pelo Family Link</translation>
 <translation id="2303600792989757991">Visão geral da janela de alternância</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: capturas de tela, downloads e arquivos fixados recentes</translation>
 <translation id="2318576281648121272">Hoje, <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />: categoria de resultado da pesquisa</translation>
 <translation id="2322173485024759474">Voltar por letra</translation>
@@ -895,6 +896,7 @@
 <translation id="6064463340679478396">Terminei de usar o arquivo</translation>
 <translation id="6073451960410192870">Parar de gravar</translation>
 <translation id="6074087755403037157">Canal Beta</translation>
+<translation id="6095008505822982596">Velocidade da fala</translation>
 <translation id="6099678161144790572">Editado no último mês</translation>
 <translation id="6103838137565245112">sistema</translation>
 <translation id="6114505516289286752">Download de arquivos de fala em <ph name="LANGUAGE" /> concluído</translation>
diff --git a/ash/strings/ash_strings_ro.xtb b/ash/strings/ash_strings_ro.xtb
index f93c53b..97c0176 100644
--- a/ash/strings/ash_strings_ro.xtb
+++ b/ash/strings/ash_strings_ro.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Lupa de ecran complet este activată. Apasă din nou pe Ctrl + tasta de căutare + M pentru a o dezactiva.</translation>
 <translation id="2302092602801625023">Acest cont este gestionat de Family Link</translation>
 <translation id="2303600792989757991">Activați/Dezactivați prezentarea ferestrei</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: capturi de ecran, descărcări și fișiere fixate recente</translation>
 <translation id="2318576281648121272">Astăzi, la <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />, categoria de rezultate ale căutării</translation>
 <translation id="2322173485024759474">Înapoi cu o literă</translation>
@@ -1155,6 +1156,7 @@
 <translation id="7633755430369750696">Afișează setările Trimiterii în apropiere.</translation>
 <translation id="7634648064048557203">Camera foto este aliniată cu colțul din dreapta jos</translation>
 <translation id="7641938616688887143">Înregistrează</translation>
+<translation id="7642106959537987271">modul de inversare a culorilor</translation>
 <translation id="7642647758716480637">Deschide setările pentru <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (proprietar)</translation>
 <translation id="7647488630410863958">Deblochează dispozitivul pentru a vedea notificările</translation>
@@ -1260,6 +1262,7 @@
 <translation id="8209010265547628927">Resetează</translation>
 <translation id="8214996719228530800">Canalul Canary</translation>
 <translation id="8219451629189078428">În această perioadă, Chromebookul trebuie să rămână deschis și conectat la o sursă de alimentare. Asigură-te că ai conectat corect cablurile de la încărcător sau de la adaptor, atât la Chromebook, cât și la priza electrică. Nu opri Chromebookul.</translation>
+<translation id="8230305195727960608">Modul de inversare a culorilor</translation>
 <translation id="8236042855478648955">E timpul pentru o pauză</translation>
 <translation id="8246282815785366524">Bine ai revenit, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, puterea semnalului: <ph name="SIGNAL_STRENGTH" />, bateria telefonului: <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1389,7 @@
 <translation id="8982906748181120328">Vizibilitate în apropiere</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Se folosește <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Modul de inversare a culorilor este activat. Apasă Ctrl + Căutare + H din nou pentru a-l dezactiva.</translation>
 <translation id="899350903320462459">Deblochează dispozitivul ca <ph name="LOGIN_ID" /> pentru efectuarea acțiunii de notificare</translation>
 <translation id="9000771174482730261">GESTIONEAZĂ SPAȚIUL DE STOCARE</translation>
 <translation id="9017320285115481645">Introdu codul de acces parental pentru Family Link.</translation>
@@ -1434,6 +1438,7 @@
 <translation id="921989828232331238">Părintele tău ți-a blocat dispozitivul pentru întreaga zi</translation>
 <translation id="9220525904950070496">Eliminați contul</translation>
 <translation id="923686485342484400">Apăsați de două ori Control Shift Q pentru a vă deconecta.</translation>
+<translation id="92580429198593979">Ai apăsat pe comanda rapidă de la tastatură pentru inversarea culorilor. Dorești să o activezi?</translation>
 <translation id="925832987464884575">Ascunde previzualizările</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> îți solicită să actualizezi imediat dispozitivul <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Ce am în calendar?</translation>
diff --git a/ash/strings/ash_strings_sk.xtb b/ash/strings/ash_strings_sk.xtb
index 643ce29..18e4d2a 100644
--- a/ash/strings/ash_strings_sk.xtb
+++ b/ash/strings/ash_strings_sk.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">Tento súbor už nebudem používať</translation>
 <translation id="6073451960410192870">Zastaviť zaznamenávanie</translation>
 <translation id="6074087755403037157">Beta verzia</translation>
+<translation id="6095008505822982596">Rýchlosť reči</translation>
 <translation id="6099678161144790572">Upravené za posledný mesiac</translation>
 <translation id="6103838137565245112">systém</translation>
 <translation id="6114505516289286752">Súbory s balíkmi reči <ph name="LANGUAGE" /> boli stiahnuté</translation>
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb
index 463031b..2c641b6 100644
--- a/ash/strings/ash_strings_sr-Latn.xtb
+++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -897,6 +897,7 @@
 <translation id="6064463340679478396">Ne želim više da koristim ovaj fajl</translation>
 <translation id="6073451960410192870">Zaustavi snimanje</translation>
 <translation id="6074087755403037157">Beta kanal</translation>
+<translation id="6095008505822982596">Brzina govora</translation>
 <translation id="6099678161144790572">Izmenjeno proteklog meseca</translation>
 <translation id="6103838137565245112">sistem</translation>
 <translation id="6114505516289286752">Preuzeti su fajlovi sa govorom na jeziku <ph name="LANGUAGE" /></translation>
@@ -1157,6 +1158,7 @@
 <translation id="7633755430369750696">Prikažite podešavanja Deljenja u blizini.</translation>
 <translation id="7634648064048557203">Kamera je uklopljena u donji levi ugao</translation>
 <translation id="7641938616688887143">Snimaj</translation>
+<translation id="7642106959537987271">režim inverzije boja</translation>
 <translation id="7642647758716480637">Otvorite podešavanja mreže <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (vlasnik)</translation>
 <translation id="7647488630410863958">Otključajte uređaj da biste pregledali obaveštenja</translation>
@@ -1262,6 +1264,7 @@
 <translation id="8209010265547628927">Resetuj</translation>
 <translation id="8214996719228530800">Canary kanal</translation>
 <translation id="8219451629189078428">Chromebook treba da ostane uključen i povezan na izvor napajanja tokom tog perioda. Uverite se da su kablovi punjača ili adaptera ispravno priključeni, i u Chromebook i u utičnicu Ne isključujte Chromebook.</translation>
+<translation id="8230305195727960608">Režim inverzije boja</translation>
 <translation id="8236042855478648955">Vreme je za pauzu</translation>
 <translation id="8246282815785366524">Dobro došli nazad, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, jačina signala <ph name="SIGNAL_STRENGTH" />, baterija telefona <ph name="BATTERY_STATUS" /></translation>
@@ -1388,6 +1391,7 @@
 <translation id="8982906748181120328">Vidljivo u blizini</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Koristi se <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Režim inverzije boja je omogućen. Ponovo pritisnite Ctrl + taster za pretragu + H da biste ga isključili.</translation>
 <translation id="899350903320462459">Otključajte uređaj pomoću ID-a prijavljivanja <ph name="LOGIN_ID" /> da biste dobili obaveštenje</translation>
 <translation id="9000771174482730261">UPRAVLJAJTE MEMORIJSKIM PROSTOROM</translation>
 <translation id="9017320285115481645">Unesite pristupni kôd roditelja za Family Link.</translation>
@@ -1436,6 +1440,7 @@
 <translation id="921989828232331238">Roditelj je zaključao ovaj uređaj za danas</translation>
 <translation id="9220525904950070496">Uklanjanje naloga</translation>
 <translation id="923686485342484400">Dvaput pritisnite Control Shift Q da biste se odjavili.</translation>
+<translation id="92580429198593979">Pritisnuli ste tastersku prečicu za inverziju boja. Želite da je isključite?</translation>
 <translation id="925832987464884575">Sakrijte preglede</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> zahteva da odmah ažurirate <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Šta je u kalendaru?</translation>
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 8edcb5e..ae646a9 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -897,6 +897,7 @@
 <translation id="6064463340679478396">Не желим више да користим овај фајл</translation>
 <translation id="6073451960410192870">Заустави снимање</translation>
 <translation id="6074087755403037157">Бета канал</translation>
+<translation id="6095008505822982596">Брзина говора</translation>
 <translation id="6099678161144790572">Измењено протеклог месеца</translation>
 <translation id="6103838137565245112">систем</translation>
 <translation id="6114505516289286752">Преузети су фајлови са говором на језику <ph name="LANGUAGE" /></translation>
@@ -1157,6 +1158,7 @@
 <translation id="7633755430369750696">Прикажите подешавања Дељења у близини.</translation>
 <translation id="7634648064048557203">Камера је уклопљена у доњи леви угао</translation>
 <translation id="7641938616688887143">Снимај</translation>
+<translation id="7642106959537987271">режим инверзије боја</translation>
 <translation id="7642647758716480637">Отворите подешавања мреже <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (власник)</translation>
 <translation id="7647488630410863958">Откључајте уређај да бисте прегледали обавештења</translation>
@@ -1262,6 +1264,7 @@
 <translation id="8209010265547628927">Ресетуј</translation>
 <translation id="8214996719228530800">Canary канал</translation>
 <translation id="8219451629189078428">Chromebook треба да остане укључен и повезан на извор напајања током тог периода. Уверите се да су каблови пуњача или адаптера исправно прикључени, и у Chromebook и у утичницу Не искључујте Chromebook.</translation>
+<translation id="8230305195727960608">Режим инверзије боја</translation>
 <translation id="8236042855478648955">Време је за паузу</translation>
 <translation id="8246282815785366524">Добро дошли назад, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, јачина сигнала <ph name="SIGNAL_STRENGTH" />, батерија телефона <ph name="BATTERY_STATUS" /></translation>
@@ -1388,6 +1391,7 @@
 <translation id="8982906748181120328">Видљиво у близини</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Користи се <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Режим инверзије боја је омогућен. Поново притисните Ctrl + тастер за претрагу + H да бисте га искључили.</translation>
 <translation id="899350903320462459">Откључајте уређај помоћу ИД-а пријављивања <ph name="LOGIN_ID" /> да бисте добили обавештење</translation>
 <translation id="9000771174482730261">УПРАВЉАЈТЕ МЕМОРИЈСКИМ ПРОСТОРОМ</translation>
 <translation id="9017320285115481645">Унесите приступни кôд родитеља за Family Link.</translation>
@@ -1436,6 +1440,7 @@
 <translation id="921989828232331238">Родитељ је закључао овај уређај за данас</translation>
 <translation id="9220525904950070496">Уклањање налога</translation>
 <translation id="923686485342484400">Двапут притисните Control Shift Q да бисте се одјавили.</translation>
+<translation id="92580429198593979">Притиснули сте тастерску пречицу за инверзију боја. Желите да је искључите?</translation>
 <translation id="925832987464884575">Сакријте прегледе</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> захтева да одмах ажурирате <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Шта је у календару?</translation>
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index ae47f443..802002fb 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">Visa inställningar för Närdelning</translation>
 <translation id="7634648064048557203">Kameran har fästs i det nedre högra hörnet</translation>
 <translation id="7641938616688887143">Spela in</translation>
+<translation id="7642106959537987271">läge för inverterade färger</translation>
 <translation id="7642647758716480637">Öppnar inställningarna för <ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (ägare)</translation>
 <translation id="7647488630410863958">Lås upp enheten om du vill visa aviseringarna</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">Återställ</translation>
 <translation id="8214996719228530800">Canary-kanal</translation>
 <translation id="8219451629189078428">Chromebook måste vara på och ansluten till en strömkälla under den tiden. Se till att kabeln på laddaren eller adaptern är ordentligt ansluten till Chromebook och eluttaget. Stäng inte av Chromebook.</translation>
+<translation id="8230305195727960608">Läge för inverterade färger</translation>
 <translation id="8236042855478648955">Dags för en paus</translation>
 <translation id="8246282815785366524">Välkommen tillbaka, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, signalstyrka <ph name="SIGNAL_STRENGTH" />, telefonens batterinivå <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">Synl. i närheten</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Använder <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Läget för inverterade färger har aktiverats. Tryck på Ctrl + Sök + H igen för att inaktivera det.</translation>
 <translation id="899350903320462459">Lås upp enheten som <ph name="LOGIN_ID" /> så att aviseringen kan göras</translation>
 <translation id="9000771174482730261">HANTERA LAGRING</translation>
 <translation id="9017320285115481645">Ange föräldraåtkomstkoden för Family Link.</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">Din förälder har låst enheten för dagen</translation>
 <translation id="9220525904950070496">Ta bort konto</translation>
 <translation id="923686485342484400">Tryck på Control + skift + Q två gånger om du vill logga ut.</translation>
+<translation id="92580429198593979">Du tryckte på kortkommandot för inverterade färger. Vill du aktivera det?</translation>
 <translation id="925832987464884575">Dölj förhandsgranskningar</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> kräver att du uppdaterar din <ph name="DEVICE_TYPE" /> omedelbart</translation>
 <translation id="938963181863597773">Vad står det i min kalender?</translation>
diff --git a/ash/strings/ash_strings_th.xtb b/ash/strings/ash_strings_th.xtb
index 805180f..fadfd53 100644
--- a/ash/strings/ash_strings_th.xtb
+++ b/ash/strings/ash_strings_th.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">ใช้ไฟล์เสร็จแล้ว</translation>
 <translation id="6073451960410192870">หยุดบันทึก</translation>
 <translation id="6074087755403037157">เวอร์ชันเบต้า</translation>
+<translation id="6095008505822982596">ความเร็วในการพูด</translation>
 <translation id="6099678161144790572">แก้ไขในเดือนที่ผ่านมา</translation>
 <translation id="6103838137565245112">ระบบ</translation>
 <translation id="6114505516289286752">ดาวน์โหลดไฟล์คำพูดภาษา<ph name="LANGUAGE" />แล้ว</translation>
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index 7d8e5e51..88c74e1 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -1155,6 +1155,7 @@
 <translation id="7633755430369750696">Показати налаштування функції "Передавання поблизу".</translation>
 <translation id="7634648064048557203">Зображення з камери закріплено в нижньому правому куті</translation>
 <translation id="7641938616688887143">Записати</translation>
+<translation id="7642106959537987271">режим інверсії кольорів</translation>
 <translation id="7642647758716480637">Відкрити налаштування мережі "<ph name="NETWORK_NAME" />", <ph name="CONNECTION_STATUS" /></translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (власник)</translation>
 <translation id="7647488630410863958">Розблокуйте пристрій, щоб переглянути сповіщення</translation>
@@ -1260,6 +1261,7 @@
 <translation id="8209010265547628927">Скинути</translation>
 <translation id="8214996719228530800">Версія Canary</translation>
 <translation id="8219451629189078428">Не вимикайте та не відключайте Chromebook від живлення впродовж цього часу. Переконайтеся, що кабелі зарядного пристрою або адаптера надійно під'єднано до вашого пристрою та розетки. Не вимикайте Chromebook.</translation>
+<translation id="8230305195727960608">Режим інверсії кольорів</translation>
 <translation id="8236042855478648955">Час зробити перерву</translation>
 <translation id="8246282815785366524">З поверненням, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />, рівень сигналу – <ph name="SIGNAL_STRENGTH" />, рівень заряду акумулятора телефона – <ph name="BATTERY_STATUS" /></translation>
@@ -1386,6 +1388,7 @@
 <translation id="8982906748181120328">Видимість поблизу</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">Використовується: <ph name="IME_NAME" /></translation>
+<translation id="8991617137207906966">Увімкнено режим інверсії кольорів. Щоб вимкнути його, ще раз натисніть Ctrl + клавіша пошуку + H.</translation>
 <translation id="899350903320462459">Щоб виконати дію зі сповіщенням, розблокуйте пристрій як <ph name="LOGIN_ID" /></translation>
 <translation id="9000771174482730261">КЕРУВАТИ СХОВИЩЕМ</translation>
 <translation id="9017320285115481645">Введіть батьківський код доступу Family Link.</translation>
@@ -1434,6 +1437,7 @@
 <translation id="921989828232331238">Батьки заблокували твій пристрій на весь день</translation>
 <translation id="9220525904950070496">Видалення облікового запису</translation>
 <translation id="923686485342484400">Щоб вийти, двічі натисніть Control Shift Q.</translation>
+<translation id="92580429198593979">Ви натиснули комбінацію клавіш для інверсії кольорів. Увімкнути цей режим?</translation>
 <translation id="925832987464884575">Вимкнути попередній перегляд</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> вимагає, щоб ви оновили пристрій <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">Які події заплановано?</translation>
diff --git a/ash/strings/ash_strings_ur.xtb b/ash/strings/ash_strings_ur.xtb
index 6f08e82..f060206 100644
--- a/ash/strings/ash_strings_ur.xtb
+++ b/ash/strings/ash_strings_ur.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">‏فُل اسکرین میگنیفائر فعال ہے۔ اسے ٹوگل کر کے بند کرنے کے لیے Ctrl+Search+M کو دوبارہ دبائیں۔</translation>
 <translation id="2302092602801625023">‏یہ اکاؤنٹ Family Link کے زیر نظم ہے</translation>
 <translation id="2303600792989757991">ونڈو کا عمومی جائزہ ٹوگل کریں</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: حالیہ اسکرین کیپچرز، ڈاؤن لوڈز اور پن کردہ فائلز</translation>
 <translation id="2318576281648121272">آج <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> ، تلاش کے نتیجہ کا زمرہ</translation>
 <translation id="2322173485024759474">ایک حرف پیچھے جائیں</translation>
@@ -895,6 +896,7 @@
 <translation id="6064463340679478396">فائل کا استعمال کرتے ہوئے ہو گیا</translation>
 <translation id="6073451960410192870">ریکارڈنگ روکیں</translation>
 <translation id="6074087755403037157">بی ٹا چینل</translation>
+<translation id="6095008505822982596">اسپیچ کی شرح</translation>
 <translation id="6099678161144790572">گزشتہ مہینے میں ترمیم کی</translation>
 <translation id="6103838137565245112">سسٹم</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> کی اسپیچ فائلز ڈاؤن لوڈ ہو گئی</translation>
diff --git a/ash/strings/ash_strings_uz.xtb b/ash/strings/ash_strings_uz.xtb
index 4b4edfa4..092ff284 100644
--- a/ash/strings/ash_strings_uz.xtb
+++ b/ash/strings/ash_strings_uz.xtb
@@ -896,6 +896,7 @@
 <translation id="6064463340679478396">Bu fayldan foydalanmayman</translation>
 <translation id="6073451960410192870">Yozuvni toʻxtatish</translation>
 <translation id="6074087755403037157">Beta kanal</translation>
+<translation id="6095008505822982596">Nutq tezligi</translation>
 <translation id="6099678161144790572">Oxirgi oyda tahrirlangan</translation>
 <translation id="6103838137565245112">tizim</translation>
 <translation id="6114505516289286752"><ph name="LANGUAGE" /> nutq fayllari yuklab olindi</translation>
@@ -1156,6 +1157,7 @@
 <translation id="7633755430369750696">Nearby Share sozlamalarini ochish.</translation>
 <translation id="7634648064048557203">Kamera pastki oʻng burchakka joylandi</translation>
 <translation id="7641938616688887143">Yozib olish</translation>
+<translation id="7642106959537987271">ranglarni akslantirish usuli</translation>
 <translation id="7642647758716480637"><ph name="NETWORK_NAME" />, <ph name="CONNECTION_STATUS" /> sozlamalarini ochish</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" /> (egasi)</translation>
 <translation id="7647488630410863958">Bildirishnomalarni ko‘rish uchun qurilmangizni qulfdan chiqaring</translation>
@@ -1261,6 +1263,7 @@
 <translation id="8209010265547628927">Asliga qaytarish</translation>
 <translation id="8214996719228530800">Canary kanali</translation>
 <translation id="8219451629189078428">Bu vaqt orasida Chromebook yoniq va quvvat manbasiga ulangan boʻlishi kerak. Quvvatlagich va kabel adapterlari Chromebook va rozetkaga ulanganini tekshiring. Chromebook qurilmasini oʻchirmang.</translation>
+<translation id="8230305195727960608">Ranglarni akslantirish usuli</translation>
 <translation id="8236042855478648955">Tanaffus qilish vaqti keldi</translation>
 <translation id="8246282815785366524">Qaytganingizdan mamnunmiz, <ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781">Ulanish: <ph name="CONNECTION_STATUS" />, Signal darajasi: <ph name="SIGNAL_STRENGTH" />, Telefon quvvati: <ph name="BATTERY_STATUS" /></translation>
@@ -1387,6 +1390,7 @@
 <translation id="8982906748181120328">Atrofga ochish</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590"><ph name="IME_NAME" /> ishlatilmoqda</translation>
+<translation id="8991617137207906966">Ranglarni akslantirish usuli yoqildi. Uni oʻchirish uchun yana Ctrl+Search+H tugmalarini bosing.</translation>
 <translation id="899350903320462459">Bildirishnomani amalga oshirish uchun <ph name="LOGIN_ID" /> sifatida qurilmani qulfdan chiqaring</translation>
 <translation id="9000771174482730261">XOTIRANI BOSHQARISH</translation>
 <translation id="9017320285115481645">Family Link ota-ona kodini kiriting.</translation>
@@ -1435,6 +1439,7 @@
 <translation id="921989828232331238">Ota-onangiz qurilmangizni butun kun uchun qulfladi</translation>
 <translation id="9220525904950070496">Hisobni olib tashlash</translation>
 <translation id="923686485342484400">Chiqish uchun “Control+Shift+Q” tugmalarini ikki marta bosing.</translation>
+<translation id="92580429198593979">Ranglarni akslantirish uchun tezkor tugmani bosdingiz. Yoqishni xohlaysizmi?</translation>
 <translation id="925832987464884575">Razm solishni faolsizlantirish</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> <ph name="DEVICE_TYPE" /> tizimini yangilashni talab qilmoqda.</translation>
 <translation id="938963181863597773">Taqvimda nima bor?</translation>
diff --git a/ash/strings/ash_strings_vi.xtb b/ash/strings/ash_strings_vi.xtb
index f521c24a..3cbb2fa 100644
--- a/ash/strings/ash_strings_vi.xtb
+++ b/ash/strings/ash_strings_vi.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">Đã bật tính năng Phóng to toàn màn hình. Hãy nhấn lại tổ hợp phím Ctrl+Tìm kiếm+M để tắt tính năng này.</translation>
 <translation id="2302092602801625023">Tài khoản này do Family Link quản lý</translation>
 <translation id="2303600792989757991">Tổng quan về chuyển đổi cửa sổ</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />: ảnh chụp màn hình, tệp đã tải xuống và tệp đã ghim gần đây</translation>
 <translation id="2318576281648121272">Hôm nay <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" /> , danh mục kết quả tìm kiếm</translation>
 <translation id="2322173485024759474">Lùi một ký tự</translation>
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index 67c5c56..d7d3019 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">已启用全屏放大镜。再按一次 Ctrl+搜索键+M 组合键即可将其停用。</translation>
 <translation id="2302092602801625023">该帐号由 Family Link 管理</translation>
 <translation id="2303600792989757991">“切换窗口”概述</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />:近期的屏幕截图、下载内容和已固定的文件</translation>
 <translation id="2318576281648121272">今天 <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060">“<ph name="CATEGORY" />”,搜索结果类别</translation>
 <translation id="2322173485024759474">后退一个字母</translation>
@@ -1152,6 +1153,7 @@
 <translation id="7633755430369750696">显示“附近分享”设置。</translation>
 <translation id="7634648064048557203">相机已对准右下角</translation>
 <translation id="7641938616688887143">录制</translation>
+<translation id="7642106959537987271">颜色反转模式</translation>
 <translation id="7642647758716480637">打开<ph name="NETWORK_NAME" />(<ph name="CONNECTION_STATUS" />)的设置</translation>
 <translation id="7645176681409127223"><ph name="USER_NAME" />(所有者)</translation>
 <translation id="7647488630410863958">解锁设备即可查看您的通知</translation>
@@ -1257,6 +1259,7 @@
 <translation id="8209010265547628927">重置</translation>
 <translation id="8214996719228530800">Canary 渠道</translation>
 <translation id="8219451629189078428">在此期间,您的 Chromebook 需要保持开机和通电状态。请确保充电器和适配器线缆都已完全插好 - 既已连接到您的 Chromebook,也已连接到电源插座。切勿关闭您的 Chromebook。</translation>
+<translation id="8230305195727960608">颜色反转模式</translation>
 <translation id="8236042855478648955">该休息了</translation>
 <translation id="8246282815785366524">欢迎回来,<ph name="GIVEN_NAME" /></translation>
 <translation id="8247060538831475781"><ph name="CONNECTION_STATUS" />,信号强度为 <ph name="SIGNAL_STRENGTH" />,剩余电量为 <ph name="BATTERY_STATUS" /></translation>
@@ -1383,6 +1386,7 @@
 <translation id="8982906748181120328">“附近分享”的高可见度模式</translation>
 <translation id="8983038754672563810">HSPA</translation>
 <translation id="8990809378771970590">目前使用的是“<ph name="IME_NAME" />”</translation>
+<translation id="8991617137207906966">已启用颜色反转模式。再按一次 Ctrl+搜索键+H 可将其停用。</translation>
 <translation id="899350903320462459">以 <ph name="LOGIN_ID" /> 身份解锁设备即可执行通知操作</translation>
 <translation id="9000771174482730261">管理存储空间</translation>
 <translation id="9017320285115481645">输入 Family Link 家长访问码。</translation>
@@ -1431,6 +1435,7 @@
 <translation id="921989828232331238">您的家长已全天锁定您的设备</translation>
 <translation id="9220525904950070496">移除帐号</translation>
 <translation id="923686485342484400">连按两次Ctrl+Shift+Q即可退出。</translation>
+<translation id="92580429198593979">您按下了颜色反转的键盘快捷键。要开启这项功能吗?</translation>
 <translation id="925832987464884575">隐藏预览</translation>
 <translation id="937214777182567951"><ph name="MANAGER" /> 要求您立即更新 <ph name="DEVICE_TYPE" /></translation>
 <translation id="938963181863597773">我的日历中有哪些活动?</translation>
diff --git a/ash/strings/ash_strings_zh-HK.xtb b/ash/strings/ash_strings_zh-HK.xtb
index c9fff16..0a41229 100644
--- a/ash/strings/ash_strings_zh-HK.xtb
+++ b/ash/strings/ash_strings_zh-HK.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">已啟用全螢幕放大鏡。再次按下 Ctrl+Search+M 鍵即可停用。</translation>
 <translation id="2302092602801625023">此帳戶由 Family Link 管理</translation>
 <translation id="2303600792989757991">切換視窗總覽</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />:最近嘅螢幕截圖、下載檔案同埋固定咗嘅檔案</translation>
 <translation id="2318576281648121272">今日 <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />,搜尋結果類別</translation>
 <translation id="2322173485024759474">往後一個字母</translation>
diff --git a/ash/strings/ash_strings_zh-TW.xtb b/ash/strings/ash_strings_zh-TW.xtb
index 1cacdb9..ab77aea 100644
--- a/ash/strings/ash_strings_zh-TW.xtb
+++ b/ash/strings/ash_strings_zh-TW.xtb
@@ -235,6 +235,7 @@
 <translation id="2298170939937364391">全螢幕放大鏡已啟用。再次按下 Ctrl 鍵 + 搜尋鍵 + M 鍵即可切換為停用。</translation>
 <translation id="2302092602801625023">這個帳戶是由 Family Link 所管理</translation>
 <translation id="2303600792989757991">切換視窗總覽</translation>
+<translation id="2315005022200073389"><ph name="HOLDING_SPACE_TITLE" />:最近的螢幕畫面截圖、下載內容和固定的檔案</translation>
 <translation id="2318576281648121272">今天 <ph name="TODAY_DATE" /></translation>
 <translation id="2322065293366551060"><ph name="CATEGORY" />,搜尋結果類別</translation>
 <translation id="2322173485024759474">移至上一個字母</translation>
diff --git a/ash/wallpaper/wallpaper_controller_unittest.cc b/ash/wallpaper/wallpaper_controller_unittest.cc
index dd77f24d7..b6d89f6 100644
--- a/ash/wallpaper/wallpaper_controller_unittest.cc
+++ b/ash/wallpaper/wallpaper_controller_unittest.cc
@@ -1457,20 +1457,18 @@
 }
 
 TEST_F(WallpaperControllerTest, SetThirdPartyWallpaper) {
-  SetBypassDecode();
   SimulateUserLogin(account_id_1);
-
   // Verify the user starts with no wallpaper info.
   WallpaperInfo wallpaper_info;
   EXPECT_FALSE(
       pref_manager_->GetUserWallpaperInfo(account_id_1, &wallpaper_info));
-
-  // Set a third-party wallpaper for |kUser1|.
   const WallpaperLayout layout = WALLPAPER_LAYOUT_CENTER;
   gfx::ImageSkia third_party_wallpaper = CreateImage(640, 480, kWallpaperColor);
-  ClearWallpaperCount();
+
+  // Set a third-party wallpaper for |kUser1|.
   EXPECT_TRUE(controller_->SetThirdPartyWallpaper(
       account_id_1, file_name_1, layout, third_party_wallpaper));
+
   RunAllTasksUntilIdle();
   // Verify the wallpaper is shown.
   EXPECT_EQ(1, GetWallpaperCount());
@@ -1482,14 +1480,20 @@
       WallpaperType::kCustomized, base::Time::Now().LocalMidnight());
   EXPECT_EQ(wallpaper_info, expected_wallpaper_info);
   EXPECT_EQ(account_id_1, client_.get_save_wallpaper_to_drive_fs_account_id());
+}
 
-  // Switch active user to |kUser2|, but set another third-party wallpaper for
+TEST_F(WallpaperControllerTest, SetThirdPartyWallpaper_NonactiveUser) {
+  // Active user is |kUser2|, but set another third-party wallpaper for
   // |kUser1|; the operation should not be allowed, because |kUser1| is not the
   // active user.
   SimulateUserLogin(account_id_2);
-  ClearWallpaperCount();
+  WallpaperInfo wallpaper_info;
+  const WallpaperLayout layout = WALLPAPER_LAYOUT_CENTER;
+  gfx::ImageSkia third_party_wallpaper = CreateImage(640, 480, kWallpaperColor);
+
   EXPECT_FALSE(controller_->SetThirdPartyWallpaper(
       account_id_1, file_name_2, layout, third_party_wallpaper));
+
   // Verify the wallpaper is not shown.
   EXPECT_EQ(0, GetWallpaperCount());
   // Verify the wallpaper info for |kUser1| is updated, because setting
@@ -1500,11 +1504,18 @@
       base::FilePath(wallpaper_files_id_1).Append(file_name_2).value(), layout,
       WallpaperType::kCustomized, base::Time::Now().LocalMidnight());
   EXPECT_EQ(wallpaper_info, expected_wallpaper_info_2);
+}
 
+TEST_F(WallpaperControllerTest, SetThirdPartyWallpaper_PolicyWallpaper) {
+  SetBypassDecode();
+  SimulateUserLogin(account_id_2);
+  WallpaperInfo wallpaper_info;
+  const WallpaperLayout layout = WALLPAPER_LAYOUT_CENTER;
+  gfx::ImageSkia third_party_wallpaper = CreateImage(640, 480, kWallpaperColor);
   // Set a policy wallpaper for |kUser2|. Verify that |kUser2| becomes policy
   // controlled.
   controller_->SetPolicyWallpaper(account_id_2, user_manager::USER_TYPE_REGULAR,
-                                  std::string() /*data=*/);
+                                  /*data=*/std::string());
   RunAllTasksUntilIdle();
   EXPECT_TRUE(controller_->IsWallpaperControlledByPolicy(account_id_2));
   EXPECT_TRUE(controller_->IsActiveUserWallpaperControlledByPolicy());
@@ -1514,6 +1525,7 @@
   ClearWallpaperCount();
   EXPECT_FALSE(controller_->SetThirdPartyWallpaper(
       account_id_2, file_name_1, layout, third_party_wallpaper));
+
   // Verify the wallpaper is not shown.
   EXPECT_EQ(0, GetWallpaperCount());
   // Verify |kUser2| is still policy controlled and has the policy wallpaper
diff --git a/ash/webui/camera_app_ui/camera_app_ui.cc b/ash/webui/camera_app_ui/camera_app_ui.cc
index 1140cb6..d20fff3 100644
--- a/ash/webui/camera_app_ui/camera_app_ui.cc
+++ b/ash/webui/camera_app_ui/camera_app_ui.cc
@@ -37,8 +37,9 @@
 
 namespace {
 
-const base::Feature kCCALocalOverride{"CCALocalOverride",
-                                      base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCCALocalOverride,
+             "CCALocalOverride",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 const base::FilePath::CharType kCCALocalOverrideDirectoryPath[] =
     FILE_PATH_LITERAL("/etc/camera/cca");
 
diff --git a/ash/webui/camera_app_ui/resources/strings/camera_strings_cs.xtb b/ash/webui/camera_app_ui/resources/strings/camera_strings_cs.xtb
index 5b48d1b..89e6dfa 100644
--- a/ash/webui/camera_app_ui/resources/strings/camera_strings_cs.xtb
+++ b/ash/webui/camera_app_ui/resources/strings/camera_strings_cs.xtb
@@ -20,6 +20,7 @@
 <translation id="1620510694547887537">Kamera</translation>
 <translation id="1627744224761163218">4 × 4</translation>
 <translation id="1664224225747386870">Nic nebylo zaznamenáno</translation>
+<translation id="169335673490251151">Skenovat další stránky</translation>
 <translation id="1838104802459806957">Naklonit nahoru</translation>
 <translation id="1851169887664797861">Jsou k dispozici další ovládací prvky kamery</translation>
 <translation id="1851616744363735765">POZASTAVENO</translation>
@@ -101,6 +102,7 @@
 <translation id="5317780077021120954">Uložit</translation>
 <translation id="5320594929574852403">Pohyb doleva</translation>
 <translation id="5444515100983837161">Umístěte všechny okraje dokumentu do rámečku. Skenování funguje nejlépe, když se barva dokumentu liší od barvy pozadí.</translation>
+<translation id="5662366948659129155">Skenování stránky <ph name="COUNT" /></translation>
 <translation id="5671277269877808209">Čtverec</translation>
 <translation id="5746169159649715125">Uložit jako PDF</translation>
 <translation id="5753488212459587150">Aktivovat režim pro experty</translation>
@@ -108,6 +110,7 @@
 <translation id="5775960006311140197">Režim pro experty</translation>
 <translation id="5860033963881614850">Vypnuto</translation>
 <translation id="5869546221129391014">Mřížka</translation>
+<translation id="5903928279335207406">Smazat stránku</translation>
 <translation id="5916664084637901428">Zapnuto</translation>
 <translation id="5975083100439434680">Oddálit</translation>
 <translation id="5976160379964388480">Ostatní</translation>
@@ -159,6 +162,7 @@
 <translation id="8167081290930651932">Uložit jako fotku</translation>
 <translation id="8239780215768881278">Pořídit snímek videa</translation>
 <translation id="8261506727792406068">Smazat</translation>
+<translation id="839162370397157884">Vybrat stránku</translation>
 <translation id="8425673304802773841">Naklonit dolů</translation>
 <translation id="8428213095426709021">Nastavení</translation>
 <translation id="8629662593426079630">360p</translation>
diff --git a/ash/webui/common/resources/BUILD.gn b/ash/webui/common/resources/BUILD.gn
index cf9a0ae..a13c5be 100644
--- a/ash/webui/common/resources/BUILD.gn
+++ b/ash/webui/common/resources/BUILD.gn
@@ -43,6 +43,7 @@
 ]
 
 non_web_component_files = [
+  "cr.js",
   "cr_picture/cr_picture_types.js",
   "cr_picture/png.js",
   "cr_picture/webcam_utils.js",
diff --git a/ui/webui/resources/js/cr.js b/ash/webui/common/resources/cr.js
similarity index 60%
rename from ui/webui/resources/js/cr.js
rename to ash/webui/common/resources/cr.js
index fb182dc..345392b 100644
--- a/ui/webui/resources/js/cr.js
+++ b/ash/webui/common/resources/cr.js
@@ -278,119 +278,6 @@
     };
   }
 
-  /**
-   * The mapping used by the sendWithPromise mechanism to tie the Promise
-   * returned to callers with the corresponding WebUI response. The mapping is
-   * from ID to the PromiseResolver helper; the ID is generated by
-   * sendWithPromise and is unique across all invocations of said method.
-   * @type {!Object<!PromiseResolver>}
-   */
-  const chromeSendResolverMap = {};
-
-  /**
-   * The named method the WebUI handler calls directly in response to a
-   * chrome.send call that expects a response. The handler requires no knowledge
-   * of the specific name of this method, as the name is passed to the handler
-   * as the first argument in the arguments list of chrome.send. The handler
-   * must pass the ID, also sent via the chrome.send arguments list, as the
-   * first argument of the JS invocation; additionally, the handler may
-   * supply any number of other arguments that will be included in the response.
-   * @param {string} id The unique ID identifying the Promise this response is
-   *     tied to.
-   * @param {boolean} isSuccess Whether the request was successful.
-   * @param {*} response The response as sent from C++.
-   */
-  function webUIResponse(id, isSuccess, response) {
-    const resolver = chromeSendResolverMap[id];
-    delete chromeSendResolverMap[id];
-
-    if (isSuccess) {
-      resolver.resolve(response);
-    } else {
-      resolver.reject(response);
-    }
-  }
-
-  /**
-   * A variation of chrome.send, suitable for messages that expect a single
-   * response from C++.
-   * @param {string} methodName The name of the WebUI handler API.
-   * @param {...*} var_args Variable number of arguments to be forwarded to the
-   *     C++ call.
-   * @return {!Promise}
-   */
-  function sendWithPromise(methodName, var_args) {
-    const args = Array.prototype.slice.call(arguments, 1);
-    const promiseResolver = new PromiseResolver();
-    const id = methodName + '_' + createUid();
-    chromeSendResolverMap[id] = promiseResolver;
-    chrome.send(methodName, [id].concat(args));
-    return promiseResolver.promise;
-  }
-
-  /**
-   * A map of maps associating event names with listeners. The 2nd level map
-   * associates a listener ID with the callback function, such that individual
-   * listeners can be removed from an event without affecting other listeners of
-   * the same event.
-   * @type {!Object<!Object<!Function>>}
-   */
-  const webUIListenerMap = {};
-
-  /**
-   * The named method the WebUI handler calls directly when an event occurs.
-   * The WebUI handler must supply the name of the event as the first argument
-   * of the JS invocation; additionally, the handler may supply any number of
-   * other arguments that will be forwarded to the listener callbacks.
-   * @param {string} event The name of the event that has occurred.
-   * @param {...*} var_args Additional arguments passed from C++.
-   */
-  function webUIListenerCallback(event, var_args) {
-    const eventListenersMap = webUIListenerMap[event];
-    if (!eventListenersMap) {
-      // C++ event sent for an event that has no listeners.
-      // TODO(dpapad): Should a warning be displayed here?
-      return;
-    }
-
-    const args = Array.prototype.slice.call(arguments, 1);
-    for (const listenerId in eventListenersMap) {
-      eventListenersMap[listenerId].apply(null, args);
-    }
-  }
-
-  /**
-   * Registers a listener for an event fired from WebUI handlers. Any number of
-   * listeners may register for a single event.
-   * @param {string} eventName The event to listen to.
-   * @param {!Function} callback The callback run when the event is fired.
-   * @return {!WebUIListener} An object to be used for removing a listener via
-   *     cr.removeWebUIListener. Should be treated as read-only.
-   */
-  function addWebUIListener(eventName, callback) {
-    webUIListenerMap[eventName] = webUIListenerMap[eventName] || {};
-    const uid = createUid();
-    webUIListenerMap[eventName][uid] = callback;
-    return {eventName: eventName, uid: uid};
-  }
-
-  /**
-   * Removes a listener. Does nothing if the specified listener is not found.
-   * @param {!WebUIListener} listener The listener to be removed (as returned by
-   *     addWebUIListener).
-   * @return {boolean} Whether the given listener was found and actually
-   *     removed.
-   */
-  function removeWebUIListener(listener) {
-    const listenerExists = webUIListenerMap[listener.eventName] &&
-        webUIListenerMap[listener.eventName][listener.uid];
-    if (listenerExists) {
-      delete webUIListenerMap[listener.eventName][listener.uid];
-      return true;
-    }
-    return false;
-  }
-
   return {
     addSingletonGetter: addSingletonGetter,
     define: define,
@@ -398,59 +285,5 @@
     dispatchPropertyChange: dispatchPropertyChange,
     dispatchSimpleEvent: dispatchSimpleEvent,
     PropertyKind: PropertyKind,
-
-    // C++ <-> JS communication related methods.
-    addWebUIListener: addWebUIListener,
-    removeWebUIListener: removeWebUIListener,
-    sendWithPromise: sendWithPromise,
-    webUIListenerCallback: webUIListenerCallback,
-    webUIResponse: webUIResponse,
-
-    /** Whether we are using a Mac or not. */
-    get isMac() {
-      return /Mac/.test(navigator.platform);
-    },
-
-    /** Whether this is on the Windows platform or not. */
-    get isWindows() {
-      return /Win/.test(navigator.platform);
-    },
-
-    /** Whether this is the ChromeOS/ash web browser. */
-    get isChromeOS() {
-      let returnValue = false;
-      // TODO(https://crbug.com/1118190): grit conditionals do not work in many
-      // WebUI tests.
-      // <if expr="chromeos_ash">
-      returnValue = true;
-      // </if>
-      return returnValue;
-    },
-
-    /** Whether this is the ChromeOS/Lacros web browser. */
-    get isLacros() {
-      let returnValue = false;
-      // TODO(https://crbug.com/1118190): grit conditionals do not work in many
-      // WebUI tests.
-      // <if expr="chromeos_lacros">
-      returnValue = true;
-      // </if>
-      return returnValue;
-    },
-
-    /** Whether this is on vanilla Linux (not chromeOS). */
-    get isLinux() {
-      return /Linux/.test(navigator.userAgent);
-    },
-
-    /** Whether this is on Android. */
-    get isAndroid() {
-      return /Android/.test(navigator.userAgent);
-    },
-
-    /** Whether this is on iOS. */
-    get isIOS() {
-      return /CriOS/.test(navigator.userAgent);
-    },
   };
 }(this);
diff --git a/ash/wm/desks/desks_restore_util.cc b/ash/wm/desks/desks_restore_util.cc
index 61cf593b..75d9765 100644
--- a/ash/wm/desks/desks_restore_util.cc
+++ b/ash/wm/desks/desks_restore_util.cc
@@ -257,8 +257,8 @@
     return;
   }
 
-  ListPrefUpdate name_update(primary_user_prefs, prefs::kDesksNamesList);
-  base::Value::List& name_pref_data = name_update->GetList();
+  ScopedListPrefUpdate name_update(primary_user_prefs, prefs::kDesksNamesList);
+  base::Value::List& name_pref_data = name_update.Get();
   name_pref_data.clear();
 
   const auto& desks = DesksController::Get()->desks();
@@ -290,8 +290,9 @@
   }
 
   // Save per-desk metrics.
-  ListPrefUpdate metrics_update(primary_user_prefs, prefs::kDesksMetricsList);
-  base::Value::List& metrics_pref_data = metrics_update->GetList();
+  ScopedListPrefUpdate metrics_update(primary_user_prefs,
+                                      prefs::kDesksMetricsList);
+  base::Value::List& metrics_pref_data = metrics_update.Get();
   metrics_pref_data.clear();
 
   auto* desks_controller = DesksController::Get();
@@ -311,14 +312,14 @@
   DCHECK_EQ(metrics_pref_data.size(), desks.size());
 
   // Save weekly active report time.
-  DictionaryPrefUpdate weekly_active_desks_update(
+  ScopedDictPrefUpdate weekly_active_desks_update(
       primary_user_prefs, prefs::kDesksWeeklyActiveDesksMetrics);
-  weekly_active_desks_update->SetIntPath(
+  weekly_active_desks_update->SetByDottedPath(
       kReportTimeKey, desks_controller->GetWeeklyActiveReportTime()
                           .ToDeltaSinceWindowsEpoch()
                           .InMinutes());
-  weekly_active_desks_update->SetIntPath(kWeeklyActiveDesksKey,
-                                         Desk::GetWeeklyActiveDesks());
+  weekly_active_desks_update->SetByDottedPath(kWeeklyActiveDesksKey,
+                                              Desk::GetWeeklyActiveDesks());
 }
 
 void UpdatePrimaryUserActiveDeskPrefs(int active_desk_index) {
diff --git a/ash/wm/desks/desks_unittests.cc b/ash/wm/desks/desks_unittests.cc
index 06231dd4..4997aff 100644
--- a/ash/wm/desks/desks_unittests.cc
+++ b/ash/wm/desks/desks_unittests.cc
@@ -3532,8 +3532,8 @@
   void InitPrefsWithDesksRestoreData(PrefService* prefs,
                                      std::vector<std::string> desk_names) {
     DCHECK(prefs);
-    ListPrefUpdate update(prefs, prefs::kDesksNamesList);
-    base::Value::List& pref_data = update->GetList();
+    ScopedListPrefUpdate update(prefs, prefs::kDesksNamesList);
+    base::Value::List& pref_data = update.Get();
     ASSERT_TRUE(pref_data.empty());
     for (auto desk_name : desk_names)
       pref_data.Append(desk_name);
diff --git a/base/allocator/partition_alloc_features.cc b/base/allocator/partition_alloc_features.cc
index 8c0291b9..56571b5 100644
--- a/base/allocator/partition_alloc_features.cc
+++ b/base/allocator/partition_alloc_features.cc
@@ -11,8 +11,9 @@
 namespace base {
 namespace features {
 
-const BASE_EXPORT Feature kPartitionAllocDanglingPtr{
-    "PartitionAllocDanglingPtr", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocDanglingPtr,
+             "PartitionAllocDanglingPtr",
+             FEATURE_DISABLED_BY_DEFAULT);
 constexpr FeatureParam<DanglingPtrMode>::Option kDanglingPtrModeOption[] = {
     {DanglingPtrMode::kCrash, "crash"},
     {DanglingPtrMode::kLogSignature, "log_signature"},
@@ -27,49 +28,54 @@
 #if defined(PA_ALLOW_PCSCAN)
 // If enabled, PCScan is turned on by default for all partitions that don't
 // disable it explicitly.
-const Feature kPartitionAllocPCScan{"PartitionAllocPCScan",
-                                    FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScan,
+             "PartitionAllocPCScan",
+             FEATURE_DISABLED_BY_DEFAULT);
 #endif  // defined(PA_ALLOW_PCSCAN)
 
 #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
 // If enabled, PCScan is turned on only for the browser's malloc partition.
-const Feature kPartitionAllocPCScanBrowserOnly{
-    "PartitionAllocPCScanBrowserOnly", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScanBrowserOnly,
+             "PartitionAllocPCScanBrowserOnly",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // If enabled, PCScan is turned on only for the renderer's malloc partition.
-const Feature kPartitionAllocPCScanRendererOnly{
-    "PartitionAllocPCScanRendererOnly", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScanRendererOnly,
+             "PartitionAllocPCScanRendererOnly",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // If enabled, this instance belongs to the Control group of the BackupRefPtr
 // binary experiment.
-const Feature kPartitionAllocBackupRefPtrControl{
-    "PartitionAllocBackupRefPtrControl", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocBackupRefPtrControl,
+             "PartitionAllocBackupRefPtrControl",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // Use a larger maximum thread cache cacheable bucket size.
-const Feature kPartitionAllocLargeThreadCacheSize{
-  "PartitionAllocLargeThreadCacheSize",
+BASE_FEATURE(kPartitionAllocLargeThreadCacheSize,
+             "PartitionAllocLargeThreadCacheSize",
 #if BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_32_BITS)
-      // Not unconditionally enabled on 32 bit Android, since it is a more
-      // memory-constrained platform.
-      FEATURE_DISABLED_BY_DEFAULT
+             // Not unconditionally enabled on 32 bit Android, since it is a
+             // more memory-constrained platform.
+             FEATURE_DISABLED_BY_DEFAULT
 #else
-      FEATURE_ENABLED_BY_DEFAULT
+             FEATURE_ENABLED_BY_DEFAULT
 #endif
-};
+);
 
-const BASE_EXPORT Feature kPartitionAllocLargeEmptySlotSpanRing{
-    "PartitionAllocLargeEmptySlotSpanRing", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocLargeEmptySlotSpanRing,
+             "PartitionAllocLargeEmptySlotSpanRing",
+             FEATURE_DISABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
 
-const Feature kPartitionAllocBackupRefPtr {
-  "PartitionAllocBackupRefPtr",
+BASE_FEATURE(kPartitionAllocBackupRefPtr,
+             "PartitionAllocBackupRefPtr",
 #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || \
     (BUILDFLAG(USE_ASAN_BACKUP_REF_PTR) && BUILDFLAG(IS_LINUX))
-      FEATURE_ENABLED_BY_DEFAULT
+             FEATURE_ENABLED_BY_DEFAULT
 #else
-      FEATURE_DISABLED_BY_DEFAULT
+             FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 constexpr FeatureParam<BackupRefPtrEnabledProcesses>::Option
     kBackupRefPtrEnabledProcessesOptions[] = {
@@ -115,8 +121,9 @@
 
 // If enabled, switches the bucket distribution to an alternate one. Only one of
 // these features may b e enabled at a time.
-const BASE_EXPORT Feature kPartitionAllocUseAlternateDistribution{
-    "PartitionAllocUseAlternateDistribution", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocUseAlternateDistribution,
+             "PartitionAllocUseAlternateDistribution",
+             FEATURE_DISABLED_BY_DEFAULT);
 const base::FeatureParam<AlternateBucketDistributionMode>::Option
     kPartitionAllocAlternateDistributionOption[] = {
         {AlternateBucketDistributionMode::kDefault, "default"},
@@ -131,34 +138,39 @@
 
 // If enabled, switches PCScan scheduling to a mutator-aware scheduler. Does not
 // affect whether PCScan is enabled itself.
-const Feature kPartitionAllocPCScanMUAwareScheduler{
-    "PartitionAllocPCScanMUAwareScheduler", FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScanMUAwareScheduler,
+             "PartitionAllocPCScanMUAwareScheduler",
+             FEATURE_ENABLED_BY_DEFAULT);
 
 // If enabled, PCScan frees unconditionally all quarantined objects.
 // This is a performance testing feature.
-const Feature kPartitionAllocPCScanImmediateFreeing{
-    "PartitionAllocPCScanImmediateFreeing", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScanImmediateFreeing,
+             "PartitionAllocPCScanImmediateFreeing",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // If enabled, PCScan clears eagerly (synchronously) on free().
-const Feature kPartitionAllocPCScanEagerClearing{
-    "PartitionAllocPCScanEagerClearing", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocPCScanEagerClearing,
+             "PartitionAllocPCScanEagerClearing",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // In addition to heap, scan also the stack of the current mutator.
-const Feature kPartitionAllocPCScanStackScanning {
-  "PartitionAllocPCScanStackScanning",
+BASE_FEATURE(kPartitionAllocPCScanStackScanning,
+             "PartitionAllocPCScanStackScanning",
 #if defined(PA_PCSCAN_STACK_SUPPORTED)
-      FEATURE_ENABLED_BY_DEFAULT
+             FEATURE_ENABLED_BY_DEFAULT
 #else
-      FEATURE_DISABLED_BY_DEFAULT
+             FEATURE_DISABLED_BY_DEFAULT
 #endif  // defined(PA_PCSCAN_STACK_SUPPORTED)
-};
+);
 
-const Feature kPartitionAllocDCScan{"PartitionAllocDCScan",
-                                    FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocDCScan,
+             "PartitionAllocDCScan",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // Whether to sort the active slot spans in PurgeMemory().
-extern const Feature kPartitionAllocSortActiveSlotSpans{
-    "PartitionAllocSortActiveSlotSpans", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionAllocSortActiveSlotSpans,
+             "PartitionAllocSortActiveSlotSpans",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace features
 }  // namespace base
diff --git a/base/allocator/partition_alloc_features.h b/base/allocator/partition_alloc_features.h
index 78415636..911f0eb 100644
--- a/base/allocator/partition_alloc_features.h
+++ b/base/allocator/partition_alloc_features.h
@@ -20,7 +20,7 @@
 // Usage:
 // --enable-features=PartitionAllocDanglingPtr:mode/crash
 // --enable-features=PartitionAllocDanglingPtr:mode/log_signature
-extern const BASE_EXPORT Feature kPartitionAllocDanglingPtr;
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocDanglingPtr);
 enum class DanglingPtrMode {
   // Crash immediately after detecting a dangling raw_ptr.
   kCrash,  // (default)
@@ -38,14 +38,14 @@
     kDanglingPtrModeParam;
 
 #if defined(PA_ALLOW_PCSCAN)
-extern const BASE_EXPORT Feature kPartitionAllocPCScan;
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScan);
 #endif  // defined(PA_ALLOW_PCSCAN)
 #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
-extern const BASE_EXPORT Feature kPartitionAllocPCScanBrowserOnly;
-extern const BASE_EXPORT Feature kPartitionAllocPCScanRendererOnly;
-extern const BASE_EXPORT Feature kPartitionAllocBackupRefPtrControl;
-extern const BASE_EXPORT Feature kPartitionAllocLargeThreadCacheSize;
-extern const BASE_EXPORT Feature kPartitionAllocLargeEmptySlotSpanRing;
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanBrowserOnly);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanRendererOnly);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocBackupRefPtrControl);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocLargeThreadCacheSize);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocLargeEmptySlotSpanRing);
 #endif  // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC)
 
 enum class BackupRefPtrEnabledProcesses {
@@ -87,7 +87,7 @@
   kDenser,
 };
 
-extern const BASE_EXPORT Feature kPartitionAllocBackupRefPtr;
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocBackupRefPtr);
 extern const BASE_EXPORT base::FeatureParam<BackupRefPtrEnabledProcesses>
     kBackupRefPtrEnabledProcessesParam;
 extern const BASE_EXPORT base::FeatureParam<BackupRefPtrMode>
@@ -101,13 +101,13 @@
 extern const BASE_EXPORT base::FeatureParam<AlternateBucketDistributionMode>
     kPartitionAllocAlternateBucketDistributionParam;
 
-extern const BASE_EXPORT Feature kPartitionAllocPCScanMUAwareScheduler;
-extern const BASE_EXPORT Feature kPartitionAllocPCScanStackScanning;
-extern const BASE_EXPORT Feature kPartitionAllocDCScan;
-extern const BASE_EXPORT Feature kPartitionAllocPCScanImmediateFreeing;
-extern const BASE_EXPORT Feature kPartitionAllocPCScanEagerClearing;
-extern const BASE_EXPORT Feature kPartitionAllocSortActiveSlotSpans;
-extern const BASE_EXPORT Feature kPartitionAllocUseAlternateDistribution;
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanMUAwareScheduler);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanStackScanning);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocDCScan);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanImmediateFreeing);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocPCScanEagerClearing);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocSortActiveSlotSpans);
+BASE_EXPORT BASE_DECLARE_FEATURE(kPartitionAllocUseAlternateDistribution);
 
 }  // namespace features
 }  // namespace base
diff --git a/base/android/base_features.cc b/base/android/base_features.cc
index ef55e1b1..fa2677d 100644
--- a/base/android/base_features.cc
+++ b/base/android/base_features.cc
@@ -12,20 +12,23 @@
 // When the browser process has been in the background for several minutes at a
 // time, trigger an artificial critical memory pressure notification. This is
 // intended to reduce memory footprint.
-const base::Feature kBrowserProcessMemoryPurge{"BrowserProcessMemoryPurge",
-                                               FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kBrowserProcessMemoryPurge,
+             "BrowserProcessMemoryPurge",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // Crash the browser process if a child process is created which does not match
 // the browser process and the browser package appears to have changed since the
 // browser process was launched, so that the browser process will be started
 // fresh when next used, hopefully resolving the issue.
-const base::Feature kCrashBrowserOnChildMismatchIfBrowserChanged{
-    "CrashBrowserOnChildMismatchIfBrowserChanged", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCrashBrowserOnChildMismatchIfBrowserChanged,
+             "CrashBrowserOnChildMismatchIfBrowserChanged",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 // Crash the browser process if a child process is created which does not match
 // the browser process regardless of whether the browser package appears to have
 // changed.
-const base::Feature kCrashBrowserOnAnyChildMismatch{
-    "CrashBrowserOnAnyChildMismatch", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCrashBrowserOnAnyChildMismatch,
+             "CrashBrowserOnAnyChildMismatch",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace base::android::features
diff --git a/base/android/base_features.h b/base/android/base_features.h
index 653e80b5..f49a9f6 100644
--- a/base/android/base_features.h
+++ b/base/android/base_features.h
@@ -13,9 +13,9 @@
 // alongside the definition of their values in the .cc file.
 
 // Alphabetical:
-extern const base::Feature kBrowserProcessMemoryPurge;
-extern const base::Feature kCrashBrowserOnChildMismatchIfBrowserChanged;
-extern const base::Feature kCrashBrowserOnAnyChildMismatch;
+BASE_DECLARE_FEATURE(kBrowserProcessMemoryPurge);
+BASE_DECLARE_FEATURE(kCrashBrowserOnChildMismatchIfBrowserChanged);
+BASE_DECLARE_FEATURE(kCrashBrowserOnAnyChildMismatch);
 
 }  // namespace base::android::features
 
diff --git a/base/cpu_reduction_experiment.cc b/base/cpu_reduction_experiment.cc
index 7f9941dd33..fe578a1 100644
--- a/base/cpu_reduction_experiment.cc
+++ b/base/cpu_reduction_experiment.cc
@@ -19,8 +19,9 @@
 
 // Whether to enable a series of optimizations that reduce total CPU
 // utilization.
-constexpr Feature kReduceCpuUtilization{"ReduceCpuUtilization",
-                                        FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kReduceCpuUtilization,
+             "ReduceCpuUtilization",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 class CpuReductionExperimentSubSampler {
  public:
diff --git a/base/feature_list.cc b/base/feature_list.cc
index 89b3593b..056a608 100644
--- a/base/feature_list.cc
+++ b/base/feature_list.cc
@@ -51,8 +51,9 @@
 // TODO(crbug.com/1341292): Remove this global and this feature once the gains
 // are measured.
 bool g_cache_override_state = false;
-const base::Feature kCacheFeatureOverrideState{
-    "CacheFeatureOverrideState", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kCacheFeatureOverrideState,
+             "CacheFeatureOverrideState",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 #if DCHECK_IS_ON()
 // Tracks whether the use of base::Feature is allowed for this module.
@@ -201,8 +202,9 @@
 }  // namespace
 
 #if BUILDFLAG(DCHECK_IS_CONFIGURABLE)
-const Feature kDCheckIsFatalFeature{"DcheckIsFatal",
-                                    FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDCheckIsFatalFeature,
+             "DcheckIsFatal",
+             FEATURE_DISABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(DCHECK_IS_CONFIGURABLE)
 
 FeatureList::FeatureList() = default;
diff --git a/base/feature_list.h b/base/feature_list.h
index 69c8ba6..0d38babf 100644
--- a/base/feature_list.h
+++ b/base/feature_list.h
@@ -146,7 +146,7 @@
 // DCHECKs have been built-in, and are configurable at run-time to be fatal, or
 // not, via a DcheckIsFatal feature. We define the Feature here since it is
 // checked in FeatureList::SetInstance(). See https://crbug.com/596231.
-extern BASE_EXPORT const Feature kDCheckIsFatalFeature;
+BASE_EXPORT BASE_DECLARE_FEATURE(kDCheckIsFatalFeature);
 #endif  // BUILDFLAG(DCHECK_IS_CONFIGURABLE)
 
 // The FeatureList class is used to determine whether a given feature is on or
diff --git a/base/feature_list_unittest.cc b/base/feature_list_unittest.cc
index c6190357..555a39b 100644
--- a/base/feature_list_unittest.cc
+++ b/base/feature_list_unittest.cc
@@ -128,7 +128,7 @@
   // this.
   base::FieldTrialParamAssociator::GetInstance()->ClearAllParamsForTesting();
 
-  const Feature kFeature = {"Feature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "Feature", FEATURE_DISABLED_BY_DEFAULT);
   for (const auto& test_case : test_cases) {
     SCOPED_TRACE(test_case.enable_features);
 
diff --git a/base/features.cc b/base/features.cc
index b6f629ba..0c62924 100644
--- a/base/features.cc
+++ b/base/features.cc
@@ -10,7 +10,8 @@
 // Alphabetical:
 
 // Optimizes parsing and loading of data: URLs.
-const base::Feature kOptimizeDataUrls{"OptimizeDataUrls",
-                                      FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizeDataUrls,
+             "OptimizeDataUrls",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace base::features
diff --git a/base/features.h b/base/features.h
index 7f59a7b8..b1f98ba 100644
--- a/base/features.h
+++ b/base/features.h
@@ -14,7 +14,7 @@
 // alongside the definition of their values in the .cc file.
 
 // Alphabetical:
-BASE_EXPORT extern const base::Feature kOptimizeDataUrls;
+BASE_EXPORT BASE_DECLARE_FEATURE(kOptimizeDataUrls);
 
 }  // namespace base::features
 
diff --git a/base/i18n/icu_mergeable_data_file.cc b/base/i18n/icu_mergeable_data_file.cc
index fd2c30d..d3020ae 100644
--- a/base/i18n/icu_mergeable_data_file.cc
+++ b/base/i18n/icu_mergeable_data_file.cc
@@ -14,8 +14,9 @@
 namespace base::i18n {
 
 // Enable merging of `icudtl.dat` in Lacros.
-const base::Feature kLacrosMergeIcuDataFile{"LacrosMergeIcuDataFile",
-                                            base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kLacrosMergeIcuDataFile,
+             "LacrosMergeIcuDataFile",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 namespace {
 
diff --git a/base/i18n/icu_mergeable_data_file.h b/base/i18n/icu_mergeable_data_file.h
index 5ae2d585..10ed816 100644
--- a/base/i18n/icu_mergeable_data_file.h
+++ b/base/i18n/icu_mergeable_data_file.h
@@ -20,7 +20,7 @@
 namespace base::i18n {
 
 // Enable merging of icudtl.dat in Lacros.
-BASE_I18N_EXPORT extern const base::Feature kLacrosMergeIcuDataFile;
+BASE_I18N_EXPORT BASE_DECLARE_FEATURE(kLacrosMergeIcuDataFile);
 
 // Class wrapping the memory-mapped instance of Ash's icudtl.dat.
 // Needed to keep track of its file descriptor.
diff --git a/base/memory/discardable_memory.cc b/base/memory/discardable_memory.cc
index ad4a2a7..c3167a6 100644
--- a/base/memory/discardable_memory.cc
+++ b/base/memory/discardable_memory.cc
@@ -21,13 +21,15 @@
 #if BUILDFLAG(IS_POSIX)
 // Feature flag allowing the use of MADV_FREE discardable memory when there are
 // multiple supported discardable memory backings.
-const base::Feature kMadvFreeDiscardableMemory{
-    "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kMadvFreeDiscardableMemory,
+             "MadvFreeDiscardableMemory",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(IS_POSIX)
 
 #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
-const base::Feature kDiscardableMemoryBackingTrial{
-    "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDiscardableMemoryBackingTrial,
+             "DiscardableMemoryBackingTrial",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Association of trial group names to trial group enum. Array order must match
 // order of DiscardableMemoryTrialGroup enum.
diff --git a/base/memory/discardable_memory_internal.h b/base/memory/discardable_memory_internal.h
index 2b1383b..b737476 100644
--- a/base/memory/discardable_memory_internal.h
+++ b/base/memory/discardable_memory_internal.h
@@ -28,7 +28,7 @@
 
 namespace features {
 // Feature flag enabling the discardable memory backing trial.
-BASE_EXPORT extern const base::Feature kDiscardableMemoryBackingTrial;
+BASE_EXPORT BASE_DECLARE_FEATURE(kDiscardableMemoryBackingTrial);
 
 BASE_EXPORT extern const base::FeatureParam<DiscardableMemoryTrialGroup>::Option
     kDiscardableMemoryBackingParamOptions[];
diff --git a/base/message_loop/message_pump_libevent.cc b/base/message_loop/message_pump_libevent.cc
index 0bcfac9..1d967d0 100644
--- a/base/message_loop/message_pump_libevent.cc
+++ b/base/message_loop/message_pump_libevent.cc
@@ -44,8 +44,9 @@
 #if BUILDFLAG(ENABLE_MESSAGE_PUMP_EPOLL)
 bool g_use_epoll = false;
 
-const Feature kMessagePumpEpoll{"MessagePumpEpoll",
-                                FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kMessagePumpEpoll,
+             "MessagePumpEpoll",
+             FEATURE_DISABLED_BY_DEFAULT);
 #endif
 
 }  // namespace
diff --git a/base/message_loop/message_pump_mac.mm b/base/message_loop/message_pump_mac.mm
index 416ea2f..1beda5f 100644
--- a/base/message_loop/message_pump_mac.mm
+++ b/base/message_loop/message_pump_mac.mm
@@ -41,9 +41,9 @@
 // - Skip calling CFRunLoopTimerSetNextFireDate if the next delayed wake up
 //  time hasn't changed.
 // - Cancel an already scheduled timer wake up if there is no delayed work.
-const base::Feature kMessagePumpMacDelayedWorkOptimizations{
-    "MessagePumpMacDelayedWorkOptimizations",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kMessagePumpMacDelayedWorkOptimizations,
+             "MessagePumpMacDelayedWorkOptimizations",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Caches the state of the "MessagePumpMacDelayedWorkOptimizations"
 // feature for efficiency.
diff --git a/base/metrics/field_trial_params_unittest.cc b/base/metrics/field_trial_params_unittest.cc
index 041f9ce..cc3669c 100644
--- a/base/metrics/field_trial_params_unittest.cc
+++ b/base/metrics/field_trial_params_unittest.cc
@@ -177,7 +177,7 @@
 
 TEST_F(FieldTrialParamsTest, GetFieldTrialParamsByFeature) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
-  const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
 
   std::map<std::string, std::string> params;
   params["x"] = "1";
@@ -194,7 +194,7 @@
 
 TEST_F(FieldTrialParamsTest, GetFieldTrialParamValueByFeature) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
-  const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
 
   std::map<std::string, std::string> params;
   params["x"] = "1";
@@ -210,7 +210,7 @@
 
 TEST_F(FieldTrialParamsTest, GetFieldTrialParamsByFeature_Disable) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
-  const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
 
   std::map<std::string, std::string> params;
   params["x"] = "1";
@@ -226,7 +226,7 @@
 
 TEST_F(FieldTrialParamsTest, GetFieldTrialParamValueByFeature_Disable) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
-  const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
 
   std::map<std::string, std::string> params;
   params["x"] = "1";
@@ -243,7 +243,7 @@
 TEST_F(FieldTrialParamsTest, FeatureParamString) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
 
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<std::string> a{&kFeature, "a", "default"};
   static const FeatureParam<std::string> b{&kFeature, "b", ""};
   static const FeatureParam<std::string> c{&kFeature, "c", "default"};
@@ -275,7 +275,7 @@
 TEST_F(FieldTrialParamsTest, FeatureParamInt) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
 
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<int> a{&kFeature, "a", 0};
   static const FeatureParam<int> b{&kFeature, "b", 0};
   static const FeatureParam<int> c{&kFeature, "c", 0};
@@ -310,7 +310,7 @@
 TEST_F(FieldTrialParamsTest, FeatureParamDouble) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
 
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<double> a{&kFeature, "a", 0.0};
   static const FeatureParam<double> b{&kFeature, "b", 0.0};
   static const FeatureParam<double> c{&kFeature, "c", 0.0};
@@ -349,7 +349,7 @@
 TEST_F(FieldTrialParamsTest, FeatureParamBool) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
 
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<bool> a{&kFeature, "a", false};
   static const FeatureParam<bool> b{&kFeature, "b", true};
   static const FeatureParam<bool> c{&kFeature, "c", false};
@@ -381,7 +381,7 @@
 TEST_F(FieldTrialParamsTest, FeatureParamTimeDelta) {
   const std::string kTrialName = "GetFieldTrialParamsByFeature";
 
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<base::TimeDelta> a{&kFeature, "a",
                                                base::TimeDelta()};
   static const FeatureParam<base::TimeDelta> b{&kFeature, "b",
@@ -423,7 +423,7 @@
 
   static const FeatureParam<Hand>::Option hands[] = {
       {ROCK, "rock"}, {PAPER, "paper"}, {SCISSORS, "scissors"}};
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<Hand> a{&kFeature, "a", ROCK, &hands};
   static const FeatureParam<Hand> b{&kFeature, "b", ROCK, &hands};
   static const FeatureParam<Hand> c{&kFeature, "c", ROCK, &hands};
@@ -459,7 +459,7 @@
 
   static const FeatureParam<UI>::Option uis[] = {
       {UI::ONE_D, "1d"}, {UI::TWO_D, "2d"}, {UI::THREE_D, "3d"}};
-  static const Feature kFeature{"TestFeature", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kFeature, "TestFeature", FEATURE_DISABLED_BY_DEFAULT);
   static const FeatureParam<UI> a{&kFeature, "a", UI::ONE_D, &uis};
   static const FeatureParam<UI> b{&kFeature, "b", UI::ONE_D, &uis};
   static const FeatureParam<UI> c{&kFeature, "c", UI::ONE_D, &uis};
diff --git a/base/metrics/persistent_histogram_allocator.cc b/base/metrics/persistent_histogram_allocator.cc
index 0265957..6f570af 100644
--- a/base/metrics/persistent_histogram_allocator.cc
+++ b/base/metrics/persistent_histogram_allocator.cc
@@ -101,7 +101,8 @@
 
 }  // namespace
 
-const Feature kPersistentHistogramsFeature{
+BASE_FEATURE(
+    kPersistentHistogramsFeature,
     "PersistentHistograms",
 #if BUILDFLAG(IS_FUCHSIA)
     // TODO(crbug.com/1295119): Enable once writable mmap() is supported.
@@ -109,7 +110,7 @@
 #else
     FEATURE_ENABLED_BY_DEFAULT
 #endif  // BUILDFLAG(IS_FUCHSIA)
-};
+);
 
 PersistentSparseHistogramDataManager::PersistentSparseHistogramDataManager(
     PersistentMemoryAllocator* allocator)
diff --git a/base/metrics/persistent_histogram_allocator.h b/base/metrics/persistent_histogram_allocator.h
index a6ff90cc..c1074a0 100644
--- a/base/metrics/persistent_histogram_allocator.h
+++ b/base/metrics/persistent_histogram_allocator.h
@@ -31,8 +31,7 @@
 class WritableSharedMemoryRegion;
 
 // Feature definition for enabling histogram persistence.
-BASE_EXPORT extern const Feature kPersistentHistogramsFeature;
-
+BASE_EXPORT BASE_DECLARE_FEATURE(kPersistentHistogramsFeature);
 
 // A data manager for sparse histograms so each instance of such doesn't have
 // to separately iterate over the entire memory segment. Though this class
diff --git a/base/process/process.h b/base/process/process.h
index 377d86e4..130b81e 100644
--- a/base/process/process.h
+++ b/base/process/process.h
@@ -31,7 +31,7 @@
 namespace base {
 
 #if BUILDFLAG(IS_APPLE)
-extern const Feature kMacAllowBackgroundingProcesses;
+BASE_DECLARE_FEATURE(kMacAllowBackgroundingProcesses);
 #endif
 
 #if BUILDFLAG(IS_CHROMEOS)
@@ -39,7 +39,7 @@
 // its own cgroup. This will cause the scheduler to use the aggregate runtime
 // of all threads in the process when deciding on the next thread to schedule.
 // It will help guarantee fairness between renderers.
-BASE_EXPORT extern const Feature kOneGroupPerRenderer;
+BASE_EXPORT BASE_DECLARE_FEATURE(kOneGroupPerRenderer);
 #endif
 
 // Provides a move-only encapsulation of a process.
diff --git a/base/process/process_linux.cc b/base/process/process_linux.cc
index 48ebfa0c..b7d20eb 100644
--- a/base/process/process_linux.cc
+++ b/base/process/process_linux.cc
@@ -38,15 +38,12 @@
 namespace base {
 
 #if BUILDFLAG(IS_CHROMEOS)
-const Feature kOneGroupPerRenderer {
-  "OneGroupPerRenderer",
-
+BASE_FEATURE(kOneGroupPerRenderer,
+             "OneGroupPerRenderer",
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
-      FEATURE_ENABLED_BY_DEFAULT
-};
+             FEATURE_ENABLED_BY_DEFAULT);
 #else
-      FEATURE_DISABLED_BY_DEFAULT
-};
+             FEATURE_DISABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(IS_CHROMEOS_LACROS)
 #endif  // BUILDFLAG(IS_CHROMEOS)
 
diff --git a/base/process/process_mac.cc b/base/process/process_mac.cc
index f216bcc..c46f6f6 100644
--- a/base/process/process_mac.cc
+++ b/base/process/process_mac.cc
@@ -21,8 +21,9 @@
 namespace base {
 
 // Enables backgrounding hidden renderers on Mac.
-const Feature kMacAllowBackgroundingProcesses{"MacAllowBackgroundingProcesses",
-                                              FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kMacAllowBackgroundingProcesses,
+             "MacAllowBackgroundingProcesses",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 Time Process::CreationTime() const {
   int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, Pid()};
diff --git a/base/rand_util_fuchsia.cc b/base/rand_util_fuchsia.cc
index 953d9caf..b9e5eaa9 100644
--- a/base/rand_util_fuchsia.cc
+++ b/base/rand_util_fuchsia.cc
@@ -22,8 +22,9 @@
 // rand_util_win.cc.
 std::atomic<bool> g_use_boringssl;
 
-const Feature kUseBoringSSLForRandBytes{"UseBoringSSLForRandBytes",
-                                        FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseBoringSSLForRandBytes,
+             "UseBoringSSLForRandBytes",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace
 
diff --git a/base/rand_util_posix.cc b/base/rand_util_posix.cc
index 10a9f7f..ac0ca9a 100644
--- a/base/rand_util_posix.cc
+++ b/base/rand_util_posix.cc
@@ -124,8 +124,9 @@
 
 // Note: the BoringSSL feature takes precedence over the getrandom() trial if
 // both are enabled.
-const Feature kUseGetrandomForRandBytes{"UseGetrandomForRandBytes",
-                                        FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseGetrandomForRandBytes,
+             "UseGetrandomForRandBytes",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 bool UseGetrandom() {
   return g_use_getrandom.load(std::memory_order_relaxed);
@@ -154,8 +155,9 @@
 // rand_util_win.cc.
 std::atomic<bool> g_use_boringssl;
 
-const Feature kUseBoringSSLForRandBytes{"UseBoringSSLForRandBytes",
-                                        FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseBoringSSLForRandBytes,
+             "UseBoringSSLForRandBytes",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace
 
diff --git a/base/rand_util_win.cc b/base/rand_util_win.cc
index da7e2ca..099fe29 100644
--- a/base/rand_util_win.cc
+++ b/base/rand_util_win.cc
@@ -34,8 +34,9 @@
 // rand_util_posix.cc.
 std::atomic<bool> g_use_boringssl;
 
-const Feature kUseBoringSSLForRandBytes{"UseBoringSSLForRandBytes",
-                                        FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseBoringSSLForRandBytes,
+             "UseBoringSSLForRandBytes",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace
 
diff --git a/base/sampling_heap_profiler/sampling_heap_profiler.cc b/base/sampling_heap_profiler/sampling_heap_profiler.cc
index 081991c..2cf6ea3 100644
--- a/base/sampling_heap_profiler/sampling_heap_profiler.cc
+++ b/base/sampling_heap_profiler/sampling_heap_profiler.cc
@@ -49,9 +49,9 @@
 using StackUnwinder = SamplingHeapProfiler::StackUnwinder;
 
 #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS)
-constexpr base::Feature kAvoidFramePointerUnwinding CONSTINIT{
-    "HeapProfilerAvoidFramePointerUnwinding",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAvoidFramePointerUnwinding,
+             "HeapProfilerAvoidFramePointerUnwinding",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #endif
 
 // If a thread name has been set from ThreadIdNameManager, use that. Otherwise,
diff --git a/base/scoped_add_feature_flags_unittest.cc b/base/scoped_add_feature_flags_unittest.cc
index 92814c8..7548b72 100644
--- a/base/scoped_add_feature_flags_unittest.cc
+++ b/base/scoped_add_feature_flags_unittest.cc
@@ -32,12 +32,12 @@
   command_line.AppendSwitchASCII(switches::kDisableFeatures,
                                  "ExistingDisabledFoo,ExistingDisabledBar");
 
-  const Feature kExistingEnabledFoo{"ExistingEnabledFoo",
-                                    FEATURE_DISABLED_BY_DEFAULT};
-  const Feature kExistingDisabledFoo{"ExistingDisabledFoo",
-                                     FEATURE_DISABLED_BY_DEFAULT};
-  const Feature kEnabledBaz{"EnabledBaz", FEATURE_DISABLED_BY_DEFAULT};
-  const Feature kDisabledBaz{"DisabledBaz", FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kExistingEnabledFoo, "ExistingEnabledFoo",
+                      FEATURE_DISABLED_BY_DEFAULT);
+  static BASE_FEATURE(kExistingDisabledFoo, "ExistingDisabledFoo",
+                      FEATURE_DISABLED_BY_DEFAULT);
+  static BASE_FEATURE(kEnabledBaz, "EnabledBaz", FEATURE_DISABLED_BY_DEFAULT);
+  static BASE_FEATURE(kDisabledBaz, "DisabledBaz", FEATURE_DISABLED_BY_DEFAULT);
   {
     ScopedAddFeatureFlags scoped_add(&command_line);
     scoped_add.EnableIfNotSet(kExistingEnabledFoo);
@@ -66,10 +66,10 @@
   CommandLine command_line(CommandLine::NO_PROGRAM);
   command_line.AppendSwitchASCII(switches::kEnableFeatures,
                                  "ExistingEnabledFoo");
-  const Feature kExistingEnabledFoo{"ExistingEnabledFoo",
-                                    FEATURE_DISABLED_BY_DEFAULT};
-  const Feature kFeatureWithParameter{"FeatureWithParam",
-                                      FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kExistingEnabledFoo, "ExistingEnabledFoo",
+                      FEATURE_DISABLED_BY_DEFAULT);
+  static BASE_FEATURE(kFeatureWithParameter, "FeatureWithParam",
+                      FEATURE_DISABLED_BY_DEFAULT);
 
   {
     ScopedAddFeatureFlags scoped_add(&command_line);
diff --git a/base/system/sys_info.h b/base/system/sys_info.h
index 2539bc8..6bf50b9b 100644
--- a/base/system/sys_info.h
+++ b/base/system/sys_info.h
@@ -27,7 +27,7 @@
 // When enabled, NumberOfProcessors() returns the number of physical processors
 // instead of the number of logical processors if CPU security mitigations are
 // enabled for the current process.
-extern const Feature kNumberOfCoresWithCpuSecurityMitigation;
+BASE_EXPORT BASE_DECLARE_FEATURE(kNumberOfCoresWithCpuSecurityMitigation);
 #endif
 
 namespace debug {
diff --git a/base/system/sys_info_posix.cc b/base/system/sys_info_posix.cc
index be0014a96..6e40753 100644
--- a/base/system/sys_info_posix.cc
+++ b/base/system/sys_info_posix.cc
@@ -290,9 +290,9 @@
 }
 
 #if BUILDFLAG(IS_MAC)
-const BASE_EXPORT base::Feature kNumberOfCoresWithCpuSecurityMitigation = {
-    "NumberOfCoresWithCpuSecurityMitigation",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kNumberOfCoresWithCpuSecurityMitigation,
+             "NumberOfCoresWithCpuSecurityMitigation",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 void SysInfo::SetIsCpuSecurityMitigationsEnabled(bool is_enabled) {
   is_cpu_security_mitigation_enabled = is_enabled;
diff --git a/base/task/cancelable_task_tracker.cc b/base/task/cancelable_task_tracker.cc
index 7e337db..a04011a 100644
--- a/base/task/cancelable_task_tracker.cc
+++ b/base/task/cancelable_task_tracker.cc
@@ -67,8 +67,9 @@
   histograms[i]->AddTimeMillisecondsGranularity(duration);
 }
 
-const base::Feature kAllowOffSequenceTaskCancelation{
-    "AllowOffSequenceTaskCancelation", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAllowOffSequenceTaskCancelation,
+             "AllowOffSequenceTaskCancelation",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool AllowOffSequenceTaskCancelation() {
   if (!base::FeatureList::GetInstance())
diff --git a/base/task/sequence_manager/task_queue_impl.cc b/base/task/sequence_manager/task_queue_impl.cc
index 49150c3a..542cfec 100644
--- a/base/task/sequence_manager/task_queue_impl.cc
+++ b/base/task/sequence_manager/task_queue_impl.cc
@@ -43,8 +43,9 @@
 namespace {
 
 // Controls whether cancelled tasks are removed from the delayed queue.
-const base::Feature kSweepCancelledTasks CONSTINIT{"SweepCancelledTasks",
-                                                   FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kSweepCancelledTasks,
+             "SweepCancelledTasks",
+             FEATURE_ENABLED_BY_DEFAULT);
 
 }  // namespace
 
diff --git a/base/task/sequence_manager/thread_controller_power_monitor.cc b/base/task/sequence_manager/thread_controller_power_monitor.cc
index 74c2d50..baf5547 100644
--- a/base/task/sequence_manager/thread_controller_power_monitor.cc
+++ b/base/task/sequence_manager/thread_controller_power_monitor.cc
@@ -15,8 +15,9 @@
 namespace {
 
 // Activate the power management events that affect task scheduling.
-const Feature kUsePowerMonitorWithThreadController{
-    "UsePowerMonitorWithThreadController", FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kUsePowerMonitorWithThreadController,
+             "UsePowerMonitorWithThreadController",
+             FEATURE_ENABLED_BY_DEFAULT);
 
 // TODO(1074332): Remove this when the experiment becomes the default.
 bool g_use_thread_controller_power_monitor_ = false;
diff --git a/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc b/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
index 0260c1a..3adabad6 100644
--- a/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
+++ b/base/task/sequence_manager/thread_controller_with_message_pump_impl.cc
@@ -47,8 +47,9 @@
 }
 
 // Feature to run tasks by batches before pumping out messages.
-const Feature kRunTasksByBatches = {"RunTasksByBatches",
-                                    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRunTasksByBatches,
+             "RunTasksByBatches",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 std::atomic_bool g_align_wake_ups = false;
 std::atomic_bool g_run_tasks_by_batches = false;
diff --git a/base/task/sequence_manager/work_queue.cc b/base/task/sequence_manager/work_queue.cc
index 5d9b7a41..f966d062 100644
--- a/base/task/sequence_manager/work_queue.cc
+++ b/base/task/sequence_manager/work_queue.cc
@@ -22,8 +22,9 @@
 
 namespace {
 
-const Feature kDifferentWorkQueueCapacities{"DifferentWorkQueueCapacities",
-                                            FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDifferentWorkQueueCapacities,
+             "DifferentWorkQueueCapacities",
+             FEATURE_DISABLED_BY_DEFAULT);
 
 std::atomic<bool> g_different_work_queue_capacities_feature_enabled(false);
 
diff --git a/base/task/task_features.cc b/base/task/task_features.cc
index 5a5d931..d12481f 100644
--- a/base/task/task_features.cc
+++ b/base/task/task_features.cc
@@ -10,42 +10,51 @@
 namespace base {
 
 #if HAS_NATIVE_THREAD_POOL()
-const Feature kUseNativeThreadPool = {"UseNativeThreadPool",
-                                      base::FEATURE_DISABLED_BY_DEFAULT};
-const Feature kUseBackgroundNativeThreadPool = {
-    "UseBackgroundNativeThreadPool", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseNativeThreadPool,
+             "UseNativeThreadPool",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kUseBackgroundNativeThreadPool,
+             "UseBackgroundNativeThreadPool",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #endif
 
-const Feature kNoWorkerThreadReclaim = {"NoWorkerThreadReclaim",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kNoWorkerThreadReclaim,
+             "NoWorkerThreadReclaim",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // static
-const BASE_EXPORT Feature kNoWakeUpsForCanceledTasks{
-    "NoWakeUpsForCanceledTasks", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kNoWakeUpsForCanceledTasks,
+             "NoWakeUpsForCanceledTasks",
+             FEATURE_DISABLED_BY_DEFAULT);
 
-const BASE_EXPORT Feature kRemoveCanceledTasksInTaskQueue = {
-    "RemoveCanceledTasksInTaskQueue2", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRemoveCanceledTasksInTaskQueue,
+             "RemoveCanceledTasksInTaskQueue2",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const BASE_EXPORT Feature kAlwaysAbandonScheduledTask = {
-    "AlwaysAbandonScheduledTask", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAlwaysAbandonScheduledTask,
+             "AlwaysAbandonScheduledTask",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const BASE_EXPORT Feature kAddTaskLeewayFeature = {
-    "AddTaskLeeway", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAddTaskLeewayFeature,
+             "AddTaskLeeway",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 const base::FeatureParam<TimeDelta> kTaskLeewayParam{&kAddTaskLeewayFeature,
                                                      "leeway", kDefaultLeeway};
 
-const BASE_EXPORT Feature kAlignWakeUps = {"AlignWakeUps",
-                                           base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAlignWakeUps, "AlignWakeUps", base::FEATURE_ENABLED_BY_DEFAULT);
 
-const BASE_EXPORT Feature kExplicitHighResolutionTimerWin = {
-    "ExplicitHighResolutionTimerWin", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kExplicitHighResolutionTimerWin,
+             "ExplicitHighResolutionTimerWin",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const BASE_EXPORT Feature kRunTasksByBatches = {
-    "RunTasksByBatches", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRunTasksByBatches,
+             "RunTasksByBatches",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const BASE_EXPORT base::Feature kBrowserPeriodicYieldingToNative{
-    "BrowserPeriodicYieldingToNative", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kBrowserPeriodicYieldingToNative,
+             "BrowserPeriodicYieldingToNative",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 const BASE_EXPORT base::FeatureParam<base::TimeDelta>
     kBrowserPeriodicYieldingToNativeNormalInputAfterMsParam{
diff --git a/base/task/task_features.h b/base/task/task_features.h
index 67371a15..f41e628 100644
--- a/base/task/task_features.h
+++ b/base/task/task_features.h
@@ -22,48 +22,48 @@
 // Under this feature, ThreadPoolImpl will use a foreground ThreadGroup backed
 // by a native thread pool implementation. The Windows Thread Pool API and
 // libdispatch are used on Windows and macOS/iOS respectively.
-extern const BASE_EXPORT Feature kUseNativeThreadPool;
+BASE_EXPORT BASE_DECLARE_FEATURE(kUseNativeThreadPool);
 // Under this feature, ThreadPoolImpl will use a background ThreadGroup backed
 // by a native thread pool implementation.
-extern const BASE_EXPORT Feature kUseBackgroundNativeThreadPool;
+BASE_EXPORT BASE_DECLARE_FEATURE(kUseBackgroundNativeThreadPool);
 #endif
 
 // Under this feature, worker threads are not reclaimed after a timeout. Rather,
 // only excess workers are cleaned up immediately after finishing a task.
-extern const BASE_EXPORT Feature kNoWorkerThreadReclaim;
+BASE_EXPORT BASE_DECLARE_FEATURE(kNoWorkerThreadReclaim);
 
 // This feature controls whether wake ups are possible for canceled tasks.
-extern const BASE_EXPORT Feature kNoWakeUpsForCanceledTasks;
+BASE_EXPORT BASE_DECLARE_FEATURE(kNoWakeUpsForCanceledTasks);
 
 // Controls whether or not canceled delayed tasks are removed from task queues.
-extern const BASE_EXPORT base::Feature kRemoveCanceledTasksInTaskQueue;
+BASE_EXPORT BASE_DECLARE_FEATURE(kRemoveCanceledTasksInTaskQueue);
 
 // This feature controls whether or not the scheduled task is always abandoned
 // when a timer is stopped or reset. The re-use of the scheduled task is an
 // optimization that ensures a timer can not leave multiple canceled tasks in
 // the task queue. Meant to be used in conjunction with
 // kRemoveCanceledTasksInTaskQueue.
-extern const BASE_EXPORT base::Feature kAlwaysAbandonScheduledTask;
+BASE_EXPORT BASE_DECLARE_FEATURE(kAlwaysAbandonScheduledTask);
 
 // Under this feature, a non-zero leeway is added to delayed tasks. Along with
 // DelayPolicy, this affects the time at which a delayed task runs.
-extern const BASE_EXPORT Feature kAddTaskLeewayFeature;
+BASE_EXPORT BASE_DECLARE_FEATURE(kAddTaskLeewayFeature);
 constexpr TimeDelta kDefaultLeeway = Milliseconds(8);
 extern const BASE_EXPORT base::FeatureParam<TimeDelta> kTaskLeewayParam;
 
 // Under this feature, wake ups are aligned at a 8ms boundary when allowed per
 // DelayPolicy.
-extern const BASE_EXPORT base::Feature kAlignWakeUps;
+BASE_EXPORT BASE_DECLARE_FEATURE(kAlignWakeUps);
 
 // Under this feature, tasks that need high resolution timer are determined
 // based on explicit DelayPolicy rather than based on a threshold.
-extern const BASE_EXPORT base::Feature kExplicitHighResolutionTimerWin;
+BASE_EXPORT BASE_DECLARE_FEATURE(kExplicitHighResolutionTimerWin);
 
 // Feature to run tasks by batches before pumping out messages.
-extern const BASE_EXPORT base::Feature kRunTasksByBatches;
+BASE_EXPORT BASE_DECLARE_FEATURE(kRunTasksByBatches);
 
 // Feature to run tasks by batches before pumping out messages.
-extern const BASE_EXPORT base::Feature kBrowserPeriodicYieldingToNative;
+BASE_EXPORT BASE_DECLARE_FEATURE(kBrowserPeriodicYieldingToNative);
 extern const BASE_EXPORT base::FeatureParam<TimeDelta>
     kBrowserPeriodicYieldingToNativeNormalInputAfterMsParam;
 extern const BASE_EXPORT base::FeatureParam<TimeDelta>
diff --git a/base/task/thread_pool/worker_thread.cc b/base/task/thread_pool/worker_thread.cc
index cc17f97..ec83b3c 100644
--- a/base/task/thread_pool/worker_thread.cc
+++ b/base/task/thread_pool/worker_thread.cc
@@ -102,8 +102,8 @@
     defined(PA_THREAD_CACHE_SUPPORTED)
   TimeDelta min_sleep_time = std::min(sleep_time, kPurgeThreadCacheIdleDelay);
 
-  static const base::Feature kDelayFirstWorkerWake{
-      "DelayFirstWorkerWake", base::FEATURE_DISABLED_BY_DEFAULT};
+  static BASE_FEATURE(kDelayFirstWorkerWake, "DelayFirstWorkerWake",
+                      base::FEATURE_DISABLED_BY_DEFAULT);
   // ThreadPoolInstance::Start() must always be after FeatureList
   // initialization. This means this function has access to the feature state on
   // first call. Cache the feature check to avoid the overhead of calling
diff --git a/base/test/scoped_feature_list_unittest.cc b/base/test/scoped_feature_list_unittest.cc
index fa5d5be..3a83a99 100644
--- a/base/test/scoped_feature_list_unittest.cc
+++ b/base/test/scoped_feature_list_unittest.cc
@@ -17,8 +17,8 @@
 
 namespace {
 
-const Feature kTestFeature1{"TestFeature1", FEATURE_DISABLED_BY_DEFAULT};
-const Feature kTestFeature2{"TestFeature2", FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTestFeature1, "TestFeature1", FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kTestFeature2, "TestFeature2", FEATURE_DISABLED_BY_DEFAULT);
 
 void ExpectFeatures(const std::string& enabled_features,
                     const std::string& disabled_features) {
diff --git a/base/threading/hang_watcher.cc b/base/threading/hang_watcher.cc
index be8a3ec..a6754eb 100644
--- a/base/threading/hang_watcher.cc
+++ b/base/threading/hang_watcher.cc
@@ -158,8 +158,9 @@
 
 // Determines if the HangWatcher is activated. When false the HangWatcher
 // thread never started.
-const Feature kEnableHangWatcher{"EnableHangWatcher",
-                                 FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableHangWatcher,
+             "EnableHangWatcher",
+             FEATURE_ENABLED_BY_DEFAULT);
 
 // Browser process.
 constexpr base::FeatureParam<int> kIOThreadLogLevel{
diff --git a/base/threading/platform_thread_linux.cc b/base/threading/platform_thread_linux.cc
index a4d5bd05..b93311df 100644
--- a/base/threading/platform_thread_linux.cc
+++ b/base/threading/platform_thread_linux.cc
@@ -39,7 +39,9 @@
 namespace base {
 
 #if BUILDFLAG(IS_CHROMEOS)
-const Feature kSchedUtilHints{"SchedUtilHints", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kSchedUtilHints,
+             "SchedUtilHints",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 #endif
 
 namespace {
diff --git a/base/threading/platform_thread_mac.mm b/base/threading/platform_thread_mac.mm
index 5ce39763..20e7a59 100644
--- a/base/threading/platform_thread_mac.mm
+++ b/base/threading/platform_thread_mac.mm
@@ -83,14 +83,14 @@
 }
 
 // Whether optimized realt-time thread config should be used for audio.
-const Feature kOptimizedRealtimeThreadingMac {
-  "OptimizedRealtimeThreadingMac",
+BASE_FEATURE(kOptimizedRealtimeThreadingMac,
+             "OptimizedRealtimeThreadingMac",
 #if BUILDFLAG(IS_MAC)
-      FEATURE_ENABLED_BY_DEFAULT
+             FEATURE_ENABLED_BY_DEFAULT
 #else
-      FEATURE_DISABLED_BY_DEFAULT
+             FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 namespace {
 
diff --git a/base/threading/platform_thread_win.cc b/base/threading/platform_thread_win.cc
index 143f044..c4df079 100644
--- a/base/threading/platform_thread_win.cc
+++ b/base/threading/platform_thread_win.cc
@@ -37,8 +37,9 @@
 
 namespace base {
 
-const Feature kUseThreadPriorityLowest = {"UseThreadPriorityLowest",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseThreadPriorityLowest,
+             "UseThreadPriorityLowest",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 namespace {
 
diff --git a/base/threading/threading_features.h b/base/threading/threading_features.h
index f9d3283..374d5bd 100644
--- a/base/threading/threading_features.h
+++ b/base/threading/threading_features.h
@@ -16,7 +16,7 @@
 namespace base {
 
 #if BUILDFLAG(IS_APPLE)
-extern const BASE_EXPORT Feature kOptimizedRealtimeThreadingMac;
+BASE_EXPORT BASE_DECLARE_FEATURE(kOptimizedRealtimeThreadingMac);
 extern const BASE_EXPORT FeatureParam<bool>
     kOptimizedRealtimeThreadingMacPreemptible;
 extern const BASE_EXPORT FeatureParam<double>
@@ -25,7 +25,7 @@
     kOptimizedRealtimeThreadingMacBusyLimit;
 #endif
 
-extern const BASE_EXPORT Feature kEnableHangWatcher;
+BASE_EXPORT BASE_DECLARE_FEATURE(kEnableHangWatcher);
 
 }  // namespace base
 
diff --git a/base/tracing/protos/chrome_track_event.proto b/base/tracing/protos/chrome_track_event.proto
index 3d21d2ac..c0d72697 100644
--- a/base/tracing/protos/chrome_track_event.proto
+++ b/base/tracing/protos/chrome_track_event.proto
@@ -869,9 +869,13 @@
   optional SnapshotDifference snapshot_difference = 3;
 }
 
+message ActiveProcesses {
+  repeated int32 pid = 1;
+}
+
 message ChromeTrackEvent {
   // Extension range for Chrome: 1000-1999
-  // Next ID: 1042
+  // Next ID: 1043
   extend TrackEvent {
     optional ChromeAppState chrome_app_state = 1000;
 
@@ -961,5 +965,7 @@
     optional SequenceManagerTask sequence_manager_task = 1040;
 
     optional AndroidToolbar android_toolbar = 1041;
+
+    optional ActiveProcesses active_processes = 1042;
   }
 }
diff --git a/build/android/pylib/local/device/local_device_instrumentation_test_run.py b/build/android/pylib/local/device/local_device_instrumentation_test_run.py
index 6b7ee7bb..d9ccd96f 100644
--- a/build/android/pylib/local/device/local_device_instrumentation_test_run.py
+++ b/build/android/pylib/local/device/local_device_instrumentation_test_run.py
@@ -296,6 +296,10 @@
           install_apex_helper(apex)
           for apex in self._test_instance.additional_apexs)
 
+      steps.extend(
+          install_helper(apk, instant_app=self._test_instance.IsApkInstant(apk))
+          for apk in self._test_instance.additional_apks)
+
       permissions = self._test_instance.test_apk.GetPermissions()
       if self._test_instance.test_apk_incremental_install_json:
         if self._test_instance.test_apk_as_instant:
@@ -313,10 +317,6 @@
                            permissions=permissions,
                            instant_app=self._test_instance.test_apk_as_instant))
 
-      steps.extend(
-          install_helper(apk, instant_app=self._test_instance.IsApkInstant(apk))
-          for apk in self._test_instance.additional_apks)
-
       # We'll potentially need the package names later for setting app
       # compatibility workarounds.
       for apk in (self._test_instance.additional_apks +
diff --git a/chrome/VERSION b/chrome/VERSION
index b54b1ca..a995c86d 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=108
 MINOR=0
-BUILD=5314
+BUILD=5315
 PATCH=0
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 27f4888..47627fb 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -1396,6 +1396,11 @@
     "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelEventFilterTest.java",
     "javatests/src/org/chromium/chrome/browser/compositor/bottombar/OverlayPanelManagerTest.java",
     "javatests/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulatorTest.java",
+    "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java",
+    "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java",
+    "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java",
+    "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java",
+    "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java",
     "javatests/src/org/chromium/chrome/browser/crash/LogcatExtractionRunnableTest.java",
     "javatests/src/org/chromium/chrome/browser/crash/MinidumpUploadServiceTest.java",
     "javatests/src/org/chromium/chrome/browser/crypto/CipherFactoryTest.java",
@@ -1445,6 +1450,7 @@
     "//chrome/browser/first_run/android:java",
     "//chrome/browser/flags:java",
     "//chrome/browser/lens:java",
+    "//chrome/browser/performance_hints/android:java",
     "//chrome/browser/preferences:java",
     "//chrome/browser/profiles/android:java",
     "//chrome/browser/tab:java",
@@ -1489,6 +1495,7 @@
     "//content/public/android:content_full_java",
     "//content/public/android:content_java",
     "//content/public/android:content_main_dex_java",
+    "//content/public/common:common_java",
     "//content/public/test/android:content_java_test_support",
     "//net/android:net_java",
     "//third_party/android_deps:espresso_java",
@@ -1500,6 +1507,7 @@
     "//third_party/androidx:androidx_core_core_java",
     "//third_party/androidx:androidx_test_runner_java",
     "//third_party/blink/public:blink_headers_java",
+    "//third_party/hamcrest:hamcrest_core_java",
     "//third_party/hamcrest:hamcrest_library_java",
     "//third_party/junit",
     "//third_party/mockito:mockito_java",
@@ -2764,6 +2772,7 @@
     "java/src/org/chromium/chrome/browser/app/usb/UsbNotificationService.java",
     "java/src/org/chromium/chrome/browser/base/DexFixer.java",
     "java/src/org/chromium/chrome/browser/base/DexFixerReason.java",
+    "java/src/org/chromium/chrome/browser/base/ServiceTracingProxyProvider.java",
     "java/src/org/chromium/chrome/browser/base/SplitChromeApplication.java",
     "java/src/org/chromium/chrome/browser/base/SplitCompatAppComponentFactory.java",
     "java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java",
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
index 4869ec8..e0b76eb 100644
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -105,12 +105,7 @@
   "javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java",
   "javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerLauncherTest.java",
   "javatests/src/org/chromium/chrome/browser/content_settings/ContentSettingsObserverTest.java",
-  "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java",
-  "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java",
-  "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java",
-  "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java",
   "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java",
-  "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java",
   "javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchCriticalTest.java",
   "javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFakeServer.java",
   "javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchInstrumentationBase.java",
diff --git a/chrome/android/features/start_surface/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java b/chrome/android/features/start_surface/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
index 97c024e..6cf58e1d 100644
--- a/chrome/android/features/start_surface/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
+++ b/chrome/android/features/start_surface/javatests/src/org/chromium/chrome/features/start_surface/StartSurfaceNoTabsTest.java
@@ -18,8 +18,6 @@
 import static org.chromium.chrome.browser.tasks.ReturnToChromeUtil.TAB_SWITCHER_ON_RETURN_MS;
 import static org.chromium.ui.test.util.ViewUtils.onViewWaiting;
 
-import android.content.Intent;
-
 import androidx.test.espresso.action.GeneralClickAction;
 import androidx.test.espresso.action.GeneralLocation;
 import androidx.test.espresso.action.Press;
@@ -49,7 +47,6 @@
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.layouts.LayoutType;
 import org.chromium.chrome.browser.tasks.ReturnToChromeUtil;
-import org.chromium.chrome.test.ChromeActivityTestRule;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
 import org.chromium.chrome.test.util.browser.Features.EnableFeatures;
@@ -94,18 +91,6 @@
         mImmediateReturn = immediateReturn;
     }
 
-    /**
-     * Only launch Chrome without waiting for a current tab.
-     * This test could not use {@link ChromeActivityTestRule#startMainActivityFromLauncher()}
-     * because of its {@link org.chromium.chrome.browser.tab.Tab} dependency.
-     */
-    private void startMainActivityFromLauncher() {
-        Intent intent = new Intent(Intent.ACTION_MAIN);
-        intent.addCategory(Intent.CATEGORY_LAUNCHER);
-        mActivityTestRule.prepareUrlIntent(intent, null);
-        mActivityTestRule.launchActivity(intent);
-    }
-
     @Before
     public void setUp() throws IOException {
         if (mImmediateReturn) {
@@ -116,7 +101,7 @@
             assertFalse(ReturnToChromeUtil.shouldShowTabSwitcher(-1));
         }
 
-        startMainActivityFromLauncher();
+        mActivityTestRule.startMainActivityFromLauncher();
     }
 
     @Test
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
index 79901d5..a977fef 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java
@@ -29,6 +29,7 @@
 import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.ObservableSupplierImpl;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.base.ServiceTracingProxyProvider;
 import org.chromium.chrome.browser.base.SplitChromeApplication;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.language.GlobalAppLocaleController;
@@ -51,6 +52,7 @@
             new ObservableSupplierImpl<>();
     private NightModeStateProvider mNightModeStateProvider;
     private LinkedHashSet<Integer> mThemeResIds = new LinkedHashSet<>();
+    private ServiceTracingProxyProvider mServiceTracingProxyProvider;
 
     @Override
     protected void attachBaseContext(Context newBase) {
@@ -73,6 +75,8 @@
             BundleUtils.checkContextClassLoader(newBase, this);
         }
 
+        mServiceTracingProxyProvider = ServiceTracingProxyProvider.create(newBase);
+
         mNightModeStateProvider = createNightModeStateProvider();
 
         Configuration config = new Configuration();
@@ -276,4 +280,16 @@
     public SharedPreferences getSharedPreferences(String name, int mode) {
         return ContextUtils.getApplicationContext().getSharedPreferences(name, mode);
     }
+
+    // Note that we do not need to (and can't) override getSystemService(Class<T>) as internally
+    // that just gets the name of the Service and calls getSystemService(String) for backwards
+    // compatibility with overrides like this one.
+    @Override
+    public Object getSystemService(String name) {
+        Object service = super.getSystemService(name);
+        if (mServiceTracingProxyProvider != null) {
+            mServiceTracingProxyProvider.traceSystemServices();
+        }
+        return service;
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/base/ServiceTracingProxyProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/base/ServiceTracingProxyProvider.java
new file mode 100644
index 0000000..e74d529
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/base/ServiceTracingProxyProvider.java
@@ -0,0 +1,290 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.base;
+
+import android.annotation.SuppressLint;
+import android.app.ActivityManager;
+import android.app.NotificationManager;
+import android.content.Context;
+import android.hardware.display.DisplayManager;
+import android.media.AudioManager;
+import android.media.MediaRouter;
+import android.os.Build;
+import android.os.IInterface;
+import android.os.SystemClock;
+import android.telephony.TelephonyManager;
+
+import androidx.annotation.Nullable;
+
+import org.chromium.base.Log;
+import org.chromium.base.ThreadUtils;
+import org.chromium.base.TraceEvent;
+import org.chromium.components.version_info.Channel;
+import org.chromium.components.version_info.VersionConstants;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Proxy;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * Proxies IInterfaces for System Services to add trace events for slow IPCs.
+ *
+ * TODO(https://crbug.com/1339984): Support tracing system services cached in StaticServiceFetchers.
+ * Right now we only support services cached per-context in CachedServiceFetchers.
+ */
+public class ServiceTracingProxyProvider {
+    private static final String TAG = "TracingProxyProvider";
+
+    // Don't trace events that are too short to avoid spamming traces.
+    private static final long MINIMUM_IPC_TRACE_DURATION_MS = 2;
+    private static final String TRACE_FAILED = "Failed to trace IPCs: ";
+    private static final String PROXY_PREP_FAILED = "Failed to prepare service for proxying: ";
+
+    // Used to defeat Android's hidden API blocklist. I would tell you why it works, but the
+    // truth is I don't know. Something to do with the calling class being loaded by the
+    // boot classloader and double reflection.
+    private static final Method sGetDeclaredMethod;
+    private static final Method sGetMethod;
+    private static final Method sGetDeclaredField;
+    private static final Method sGetField;
+    static {
+        try {
+            sGetDeclaredMethod =
+                    Class.class.getDeclaredMethod("getDeclaredMethod", String.class, Class[].class);
+            sGetMethod = Class.class.getDeclaredMethod("getMethod", String.class, Class[].class);
+            sGetDeclaredField = Class.class.getDeclaredMethod("getDeclaredField", String.class);
+            sGetField = Class.class.getDeclaredMethod("getField", String.class);
+        } catch (Throwable e) {
+            // These methods should always exist.
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static final class IPCListener implements InvocationHandler {
+        private final Object mSystemImpl;
+
+        public IPCListener(Object systemImpl) {
+            mSystemImpl = systemImpl;
+        }
+
+        @Override
+        public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+            if (!ThreadUtils.runningOnUiThread()) return method.invoke(mSystemImpl, args);
+
+            long start = SystemClock.elapsedRealtime();
+            Object result = method.invoke(mSystemImpl, args);
+            long durationMs = SystemClock.elapsedRealtime() - start;
+
+            if (durationMs >= MINIMUM_IPC_TRACE_DURATION_MS) {
+                TraceEvent.instantAndroidIPC(
+                        mSystemImpl.getClass().getName() + "#" + method.getName(), durationMs);
+            }
+            return result;
+        }
+    }
+
+    // DO NOT MODIFY THIS ARRAY. This is a reference to the service cache in ContextImpl.
+    private Object[] mServiceCache;
+    // Same length as |mServiceCache|, true if the corresponding service has been proxied.
+    AtomicBoolean[] mServiceCacheProxied;
+
+    private Context mUnwrappedBaseContext;
+
+    private static boolean isEnabled() {
+        // A lot of service bindings were uncached pre-R, so easier to start tracing at R+.
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) return false;
+
+        // TODO(https://crbug.com/1339984): Enable for Beta once this has time to stabilize on
+        // Canary/Dev.
+        if (VersionConstants.CHANNEL > Channel.DEV) return false;
+
+        // static init failed.
+        if (sGetDeclaredMethod == null) return false;
+        return true;
+    }
+
+    /**
+     * @param unwrappedBaseContext The base context for an Application/Activity.
+     */
+    public static @Nullable ServiceTracingProxyProvider create(Context unwrappedBaseContext) {
+        if (!isEnabled()) return null;
+        return new ServiceTracingProxyProvider(unwrappedBaseContext);
+    }
+
+    private ServiceTracingProxyProvider(Context unwrappedBaseContext) {
+        assert unwrappedBaseContext.getClass().getName().equals("android.app.ContextImpl");
+        mUnwrappedBaseContext = unwrappedBaseContext;
+        try {
+            mServiceCache = (Object[]) getField(
+                    mUnwrappedBaseContext, mUnwrappedBaseContext.getClass(), "mServiceCache");
+            mServiceCacheProxied = new AtomicBoolean[mServiceCache.length];
+            for (int i = 0; i < mServiceCacheProxied.length; ++i) {
+                mServiceCacheProxied[i] = new AtomicBoolean(false);
+            }
+        } catch (Throwable throwable) {
+            Log.d(TAG, TRACE_FAILED, throwable);
+            mServiceCache = new Object[0];
+        }
+    }
+
+    public void traceSystemServices() {
+        for (int i = 0; i < mServiceCache.length; ++i) {
+            if (mServiceCache[i] != null && !mServiceCacheProxied[i].get()) {
+                traceService(mUnwrappedBaseContext, mServiceCache[i], mServiceCacheProxied[i]);
+            }
+        }
+    }
+
+    private static synchronized void traceService(
+            Context context, Object service, AtomicBoolean serviceCacheProxied) {
+        if (serviceCacheProxied.get()) return;
+        try {
+            Log.d(TAG, "Attempting to proxy " + service.getClass().getName());
+            service = prepareServiceForProxying(service);
+        } catch (Throwable throwable) {
+            Log.d(TAG, PROXY_PREP_FAILED, throwable);
+        }
+        proxyService(context, service);
+        serviceCacheProxied.set(true);
+    }
+
+    // Most services just store their interfaces as members in the service class, but some store
+    // them in harder to find places, or don't initialize them at creation time.
+    private static Object prepareServiceForProxying(Object service) throws Throwable {
+        if (service.getClass().equals(DisplayManager.class)) {
+            // Class defers to DisplayManagerGlobal.
+            Class clazz = Class.forName("android.hardware.display.DisplayManagerGlobal");
+            return callNoArgMethod(null, clazz, "getInstance");
+        }
+        if (service.getClass().getName().equals("android.view.WindowManagerImpl")) {
+            // Class defers to WindowManagerGlobal.
+            Class clazz = Class.forName("android.view.WindowManagerGlobal");
+            Object managerGlobal = callNoArgMethod(null, clazz, "getInstance");
+            // Static service is unpopulated until used.
+            callNoArgMethod(null, managerGlobal.getClass(), "getWindowManagerService");
+            return managerGlobal;
+        }
+        if (service.getClass().equals(ActivityManager.class)) {
+            // Service is stored in static singleton.
+            Object singletonInstance =
+                    getField(null, service.getClass(), "IActivityManagerSingleton");
+            callNoArgMethod(singletonInstance, singletonInstance.getClass(), "get");
+            return singletonInstance;
+        }
+        if (service.getClass().equals(NotificationManager.class)) {
+            // Service member is unpopulated until used.
+            callNoArgMethod(null, service.getClass(), "getService");
+            return service;
+        }
+        if (service.getClass().equals(TelephonyManager.class)) {
+            // Service member is unpopulated until used.
+            try {
+                callNoArgMethod(null, service.getClass(), "getSubscriberInfoService");
+            } catch (Throwable e) {
+                Log.d(TAG, PROXY_PREP_FAILED, e);
+            }
+            try {
+                callNoArgMethod(null, service.getClass(), "getSubscriptionService");
+            } catch (Throwable e) {
+                Log.d(TAG, PROXY_PREP_FAILED, e);
+            }
+            try {
+                callNoArgMethod(null, service.getClass(), "getSmsService");
+            } catch (Throwable e) {
+                Log.d(TAG, PROXY_PREP_FAILED, e);
+            }
+            try {
+                callNoArgMethod(service, service.getClass(), "getITelephony");
+            } catch (Throwable e) {
+                Log.d(TAG, PROXY_PREP_FAILED, e);
+            }
+            return service;
+        }
+        if (service.getClass().equals(MediaRouter.class)) {
+            // Service is stored in static singleton.
+            return getField(null, service.getClass(), "sStatic");
+        }
+        if (service.getClass().equals(AudioManager.class)) {
+            // Static service is unpopulated until used.
+            callNoArgMethod(null, service.getClass(), "getService");
+            return service;
+        }
+        return service;
+    }
+
+    private static Object callNoArgMethod(Object instance, Class<?> clazz, String methodName)
+            throws Exception {
+        Method method;
+        try {
+            method = (Method) sGetDeclaredMethod.invoke(clazz, methodName, null);
+        } catch (Throwable e) {
+            method = (Method) sGetMethod.invoke(clazz, methodName, null);
+        }
+        method.setAccessible(true);
+        return method.invoke(instance);
+    }
+
+    private static Object getField(Object instance, Class<?> clazz, String fieldName)
+            throws Exception {
+        Field field;
+        try {
+            field = (Field) sGetDeclaredField.invoke(clazz, fieldName);
+        } catch (Throwable e) {
+            field = (Field) sGetField.invoke(clazz, fieldName);
+        }
+        field.setAccessible(true);
+        return field.get(instance);
+    }
+
+    @SuppressLint("NewApi") // Class requires API level 30.
+    private static void proxyService(Context context, Object service) {
+        try {
+            // Search through the class's fields to find Interfaces for Binders.
+            Field[] fields = service.getClass().getDeclaredFields();
+            // For generic classes like Singleton<? implements IInterface> we need to get the
+            // fields from the superclass. Note that if the types are defined on the class itself
+            // and not the superclass, it's impossible to get them.
+            boolean isGenericClass =
+                    service.getClass().getGenericSuperclass() instanceof ParameterizedType;
+            // For simplicity, only check the first generic type.
+            String genericTypeName = "";
+            if (isGenericClass) {
+                fields = service.getClass().getSuperclass().getDeclaredFields();
+                genericTypeName =
+                        service.getClass().getSuperclass().getTypeParameters()[0].getName();
+            }
+            for (Field field : fields) {
+                field.setAccessible(true);
+                Class<?> type;
+                if (isGenericClass) {
+                    if (!field.getGenericType().getTypeName().equals(genericTypeName)) continue;
+                    type = (Class<?>) ((ParameterizedType) service.getClass()
+                                               .getGenericSuperclass())
+                                   .getActualTypeArguments()[0];
+                } else {
+                    type = field.getType();
+                }
+                if (IInterface.class.isAssignableFrom(type) && type.isInterface()) {
+                    Object impl = field.get(service);
+                    if (impl == null) {
+                        Log.d(TAG, TRACE_FAILED + type.toString() + " is null");
+                        continue;
+                    }
+                    // Avoid double-proxying for shared/static bindings.
+                    if (Proxy.isProxyClass(impl.getClass())) continue;
+                    Object listener = Proxy.newProxyInstance(
+                            context.getClassLoader(), new Class<?>[] {type}, new IPCListener(impl));
+                    field.set(service, listener);
+                    Log.d(TAG, "Tracing Proxy installed on: " + type.toString());
+                }
+            }
+        } catch (Throwable throwable) {
+            Log.d(TAG, TRACE_FAILED, throwable);
+        }
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java b/chrome/android/java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java
index 33d6c64..903a937 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/base/SplitCompatApplication.java
@@ -1,4 +1,4 @@
-// Copyright 2020 The Chromium Authors
+// Copyright 2020 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -66,6 +66,7 @@
 
     private Supplier<Impl> mImplSupplier;
     private Impl mImpl;
+    private ServiceTracingProxyProvider mServiceTracingProxyProvider;
 
     /**
      * Holds the implementation of application logic. Will be called by {@link
@@ -130,6 +131,8 @@
 
         if (isBrowserProcess) {
             UmaUtils.recordMainEntryPointTime();
+            // Register Service tracing early as some services are used below in this function.
+            mServiceTracingProxyProvider = ServiceTracingProxyProvider.create(context);
             // *** The Application Context should not be used before the locale override is set ***
             if (GlobalAppLocaleController.getInstance().init(context)) {
                 // If the app locale override preference is set, create a new override
@@ -258,6 +261,18 @@
         getImpl().startActivity(intent, options);
     }
 
+    // Note that we do not need to (and can't) override getSystemService(Class<T>) as internally
+    // that just gets the name of the Service and calls getSystemService(String) for backwards
+    // compatibility with overrides like this one.
+    @Override
+    public Object getSystemService(String name) {
+        Object service = super.getSystemService(name);
+        if (mServiceTracingProxyProvider != null) {
+            mServiceTracingProxyProvider.traceSystemServices();
+        }
+        return service;
+    }
+
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
index 4f0dfca..a7c3ce6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/ClientManager.java
@@ -19,6 +19,7 @@
 
 import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.browser.customtabs.CustomTabsCallback;
 import androidx.browser.customtabs.CustomTabsService;
@@ -27,6 +28,7 @@
 import androidx.browser.customtabs.PostMessageServiceConnection;
 
 import org.chromium.base.ContextUtils;
+import org.chromium.base.SysUtils;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.task.PostTask;
 import org.chromium.chrome.browser.IntentHandler;
@@ -104,6 +106,41 @@
         int NUM_ENTRIES = 5;
     }
 
+    // These values are persisted to logs. Entries should not be renumbered and
+    // numeric values should never be reused.
+    // Values for the "CustomTabs.SessionDisconnectStatus" UMA histogram. Append-only.
+    @IntDef({SessionDisconnectStatus.UNKNOWN, SessionDisconnectStatus.CT_FOREGROUND,
+            SessionDisconnectStatus.CT_FOREGROUND_KEEP_ALIVE, SessionDisconnectStatus.CT_BACKGROUND,
+            SessionDisconnectStatus.CT_BACKGROUND_KEEP_ALIVE,
+            SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND,
+            SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND_KEEP_ALIVE,
+            SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND,
+            SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND_KEEP_ALIVE,
+            SessionDisconnectStatus.NUM_ENTRIES})
+    @Retention(RetentionPolicy.SOURCE)
+    @interface SessionDisconnectStatus {
+        @VisibleForTesting
+        int UNKNOWN = 0;
+        @VisibleForTesting
+        int CT_FOREGROUND = 1;
+        @VisibleForTesting
+        int CT_FOREGROUND_KEEP_ALIVE = 2;
+        @VisibleForTesting
+        int CT_BACKGROUND = 3;
+        @VisibleForTesting
+        int CT_BACKGROUND_KEEP_ALIVE = 4;
+        @VisibleForTesting
+        int LOW_MEMORY_CT_FOREGROUND = 5;
+        @VisibleForTesting
+        int LOW_MEMORY_CT_FOREGROUND_KEEP_ALIVE = 6;
+        @VisibleForTesting
+        int LOW_MEMORY_CT_BACKGROUND = 7;
+        @VisibleForTesting
+        int LOW_MEMORY_CT_BACKGROUND_KEEP_ALIVE = 8;
+        @VisibleForTesting
+        int NUM_ENTRIES = 9;
+    }
+
     /** To be called when a client gets disconnected. */
     public interface DisconnectCallback { public void run(CustomTabsSessionToken session); }
 
@@ -188,6 +225,8 @@
         private boolean mAllowParallelRequest;
         private boolean mAllowResourcePrefetch;
         private boolean mShouldGetPageLoadMetrics;
+        private boolean mCustomTabIsInForeground;
+        private boolean mWasSessionDisconnectStatusLogged;
 
         public SessionParams(Context context, int uid, CustomTabsCallback customTabsCallback,
                 DisconnectCallback callback, PostMessageHandler postMessageHandler,
@@ -321,7 +360,9 @@
             @NonNull PostMessageServiceConnection serviceConnection) {
         if (session == null || session.getCallback() == null) return false;
         if (mSessionParams.containsKey(session)) {
-            mSessionParams.get(session).setCustomTabsCallback(session.getCallback());
+            SessionParams params = mSessionParams.get(session);
+            params.setCustomTabsCallback(session.getCallback());
+            params.mWasSessionDisconnectStatusLogged = false;
         } else {
             SessionParams params = new SessionParams(ContextUtils.getApplicationContext(), uid,
                     session.getCallback(), onDisconnect, postMessageHandler, serviceConnection);
@@ -784,6 +825,7 @@
      */
     private void cleanupSessionInternal(CustomTabsSessionToken session) {
         callOnSession(session, params -> {
+            logConnectionClosed(params);
             mSessionParams.remove(session);
             if (params.serviceConnection != null) {
                 params.serviceConnection.cleanup(ContextUtils.getApplicationContext());
@@ -801,10 +843,13 @@
      */
     public synchronized void cleanupSession(CustomTabsSessionToken session) {
         if (session.hasId() && mSessionParams.containsKey(session)) {
+            SessionParams params = mSessionParams.get(session);
+            // Logging as soon as we know a session has been disconnected.
+            logConnectionClosed(params);
             // Leave session parameters, so client might update callback later.
             // The session will be completely removed when system runs low on memory.
             // {@see #cleanupUnusedSessions}
-            mSessionParams.get(session).setCustomTabsCallback(null);
+            params.setCustomTabsCallback(null);
         } else {
             cleanupSessionInternal(session);
         }
@@ -823,6 +868,44 @@
         }
     }
 
+    public void setCustomTabIsInForeground(
+            @Nullable CustomTabsSessionToken session, boolean isInForeground) {
+        callOnSession(session, params -> { params.mCustomTabIsInForeground = isInForeground; });
+    }
+
+    private void logConnectionClosed(SessionParams sessionParams) {
+        if (sessionParams.mWasSessionDisconnectStatusLogged) return;
+
+        boolean isCustomTabInForeground = sessionParams.mCustomTabIsInForeground;
+        boolean isKeepAlive = sessionParams.getKeepAliveConnection() != null;
+        boolean isLowMemory = SysUtils.isCurrentlyLowMemory();
+
+        @SessionDisconnectStatus
+        int status = SessionDisconnectStatus.UNKNOWN;
+        if (isLowMemory && isCustomTabInForeground && isKeepAlive) {
+            status = SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND_KEEP_ALIVE;
+        } else if (isLowMemory && isCustomTabInForeground && !isKeepAlive) {
+            status = SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND;
+        } else if (isLowMemory && !isCustomTabInForeground && isKeepAlive) {
+            status = SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND_KEEP_ALIVE;
+        } else if (isLowMemory && !isCustomTabInForeground && !isKeepAlive) {
+            status = SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND;
+        } else if (isCustomTabInForeground && !isKeepAlive) {
+            status = SessionDisconnectStatus.CT_FOREGROUND;
+        } else if (isCustomTabInForeground && isKeepAlive) {
+            status = SessionDisconnectStatus.CT_FOREGROUND_KEEP_ALIVE;
+        } else if (!isCustomTabInForeground && !isKeepAlive) {
+            status = SessionDisconnectStatus.CT_BACKGROUND;
+        } else if (!isCustomTabInForeground && isKeepAlive) {
+            status = SessionDisconnectStatus.CT_BACKGROUND_KEEP_ALIVE;
+        }
+
+        RecordHistogram.recordEnumeratedHistogram(
+                "CustomTabs.SessionDisconnectStatus", status, SessionDisconnectStatus.NUM_ENTRIES);
+
+        sessionParams.mWasSessionDisconnectStatusLogged = true;
+    }
+
     private interface SessionParamsCallback<T> {
         T run(SessionParams params);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
index 6e66ff31..203003f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabActivityLifecycleUmaTracker.java
@@ -28,6 +28,7 @@
 import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
 import org.chromium.chrome.browser.lifecycle.NativeInitObserver;
 import org.chromium.chrome.browser.lifecycle.PauseResumeWithNativeObserver;
+import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver;
 import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
 import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.webapps.WebappCustomTabTimeSpentLogger;
@@ -42,8 +43,8 @@
  * Handles recording User Metrics for Custom Tab Activity.
  */
 @ActivityScope
-public class CustomTabActivityLifecycleUmaTracker implements PauseResumeWithNativeObserver,
-        NativeInitObserver {
+public class CustomTabActivityLifecycleUmaTracker
+        implements PauseResumeWithNativeObserver, StartStopWithNativeObserver, NativeInitObserver {
     /**
      * Identifier used for last CCT client App. Used as suffix for histogram
      * "CustomTabs.RetainableSessions.TimeBetweenLaunch".
@@ -61,6 +62,7 @@
     private final BrowserServicesIntentDataProvider mIntentDataProvider;
     private final Supplier<Bundle> mSavedInstanceStateSupplier;
     private final Activity mActivity;
+    private final CustomTabsConnection mConnection;
 
     private WebappCustomTabTimeSpentLogger mWebappTimeSpentLogger;
     private boolean mIsInitialResume = true;
@@ -116,10 +118,12 @@
     @Inject
     public CustomTabActivityLifecycleUmaTracker(ActivityLifecycleDispatcher lifecycleDispatcher,
             BrowserServicesIntentDataProvider intentDataProvider, Activity activity,
-            @Named(SAVED_INSTANCE_SUPPLIER) Supplier<Bundle> savedInstanceStateSupplier) {
+            @Named(SAVED_INSTANCE_SUPPLIER) Supplier<Bundle> savedInstanceStateSupplier,
+            CustomTabsConnection connection) {
         mIntentDataProvider = intentDataProvider;
         mActivity = activity;
         mSavedInstanceStateSupplier = savedInstanceStateSupplier;
+        mConnection = connection;
 
         lifecycleDispatcher.register(this);
     }
@@ -173,6 +177,16 @@
     }
 
     @Override
+    public void onStartWithNative() {
+        mConnection.setCustomTabIsInForeground(mIntentDataProvider.getSession(), true);
+    }
+
+    @Override
+    public void onStopWithNative() {
+        mConnection.setCustomTabIsInForeground(mIntentDataProvider.getSession(), false);
+    }
+
+    @Override
     public void onFinishNativeInitialization() {
         if (mWebappTimeSpentLogger != null) {
             mWebappTimeSpentLogger.onPause();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
index 3a15c5c..fe620797 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabsConnection.java
@@ -1678,6 +1678,11 @@
                 sessionToken, uri, purpose, extras);
     }
 
+    public void setCustomTabIsInForeground(
+            @Nullable CustomTabsSessionToken session, boolean isInForeground) {
+        mClientManager.setCustomTabIsInForeground(session, isInForeground);
+    }
+
     @VisibleForTesting
     public static void setInstanceForTesting(CustomTabsConnection connection) {
         sInstance = connection;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
index 24d24ca..158f9089 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java
@@ -202,8 +202,6 @@
             new ObservableSupplierImpl<>();
     private final ObservableSupplierImpl<Boolean> mStartSurfaceAsHomepageSupplier =
             new ObservableSupplierImpl<>();
-    private final ObservableSupplierImpl<Boolean> mIdentityDiscStateSupplier =
-            new ObservableSupplierImpl<>();
     private final ObservableSupplier<Boolean> mOmniboxFocusStateSupplier;
     private final ConstraintsProxy mConstraintsProxy = new ConstraintsProxy();
 
@@ -1099,7 +1097,7 @@
                 mAppThemeColorProvider, mMenuButtonCoordinator, mOverviewModeMenuButtonCoordinator,
                 mMenuButtonCoordinator.getMenuButtonHelperSupplier(), mTabModelSelectorSupplier,
                 mHomepageEnabledSupplier,
-                mIdentityDiscStateSupplier, (client) -> {
+                identityDiscController, (client) -> {
                     if (invalidator != null) {
                         invalidator.invalidate(client);
                     } else {
@@ -1145,11 +1143,6 @@
         HomepageManager.getInstance().addListener(mHomepageStateListener);
         mHomepageStateListener.onHomepageStateUpdated();
 
-        if (toolbarLayout instanceof ToolbarPhone
-                && ReturnToChromeUtil.isStartSurfaceEnabled(mActivity)) {
-            identityDiscController.addObserver(
-                    (canShowHint) -> mIdentityDiscStateSupplier.set(canShowHint));
-        }
         HomeButton homeButton = toolbarLayout.getHomeButton();
         if (homeButton != null) {
             homeButton.init(mHomepageEnabledSupplier, HomepageManager.getInstance()::onMenuClick,
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java
index 063bf7c..c1e9f65 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuChipControllerTest.java
@@ -17,22 +17,22 @@
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import org.chromium.base.test.util.Batch;
 import org.chromium.chrome.R;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
-import org.chromium.ui.test.util.BlankUiTestActivity;
 import org.chromium.ui.test.util.BlankUiTestActivityTestCase;
 
 /**
  * Tests for ContextMenuHeader view and {@link ContextMenuHeaderViewBinder}
  */
 @RunWith(ChromeJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class ContextMenuChipControllerTest extends BlankUiTestActivityTestCase {
     // This is the combination of the expected vertical margins and the chip height.
     private static final int EXPECTED_VERTICAL_DP = 80;
@@ -59,11 +59,6 @@
     private float mMeasuredDeviceDensity;
     private View mAnchorView;
 
-    @BeforeClass
-    public static void setUpBeforeActivityLaunched() {
-        BlankUiTestActivity.setTestLayout(R.layout.context_menu_fullscreen_container);
-    }
-
     @Override
     public void setUpTest() throws Exception {
         super.setUpTest();
@@ -71,6 +66,7 @@
         mMeasuredDeviceDensity = getActivity().getResources().getDisplayMetrics().density;
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
+            getActivity().setContentView(R.layout.context_menu_fullscreen_container);
             mAnchorView = getActivity().findViewById(R.id.context_menu_chip_anchor_point);
         });
     }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java
index 1141d42..8c90565 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuHeaderViewTest.java
@@ -19,23 +19,23 @@
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import org.chromium.base.test.util.Batch;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.performance_hints.PerformanceHintsObserver.PerformanceClass;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.ui.modelutil.PropertyModel;
 import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
-import org.chromium.ui.test.util.BlankUiTestActivity;
 import org.chromium.ui.test.util.BlankUiTestActivityTestCase;
 
 /**
  * Tests for ContextMenuHeader view and {@link ContextMenuHeaderViewBinder}
  */
 @RunWith(ChromeJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class ContextMenuHeaderViewTest extends BlankUiTestActivityTestCase {
     private static final String TITLE_STRING = "Some Very Cool Title";
     private static final String URL_STRING = "www.website.com";
@@ -51,16 +51,12 @@
     private PropertyModel mModel;
     private PropertyModelChangeProcessor mMCP;
 
-    @BeforeClass
-    public static void setUpBeforeActivityLaunched() {
-        BlankUiTestActivity.setTestLayout(R.layout.context_menu_header);
-    }
-
     @Override
     public void setUpTest() throws Exception {
         super.setUpTest();
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
+            getActivity().setContentView(R.layout.context_menu_header);
             mHeaderView = getActivity().findViewById(android.R.id.content);
             mTitle = mHeaderView.findViewById(R.id.menu_header_title);
             mUrl = mHeaderView.findViewById(R.id.menu_header_url);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java
index 2617ccc..885fc48 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuItemViewTest.java
@@ -17,17 +17,16 @@
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.UiThreadTest;
+import org.chromium.base.test.util.Batch;
 import org.chromium.chrome.R;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.ui.modelutil.PropertyModel;
 import org.chromium.ui.modelutil.PropertyModelChangeProcessor;
-import org.chromium.ui.test.util.BlankUiTestActivity;
 import org.chromium.ui.test.util.BlankUiTestActivityTestCase;
 
 /**
@@ -35,6 +34,7 @@
  * ContextMenuItemWithIconButtonViewBinder}.
  */
 @RunWith(ChromeJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class ContextMenuItemViewTest extends BlankUiTestActivityTestCase {
     private static final String TEXT = "Useful menu item";
     private static final String APP = "Some app";
@@ -47,16 +47,12 @@
 
     private boolean mIsClicked;
 
-    @BeforeClass
-    public static void setUpBeforeActivityLaunched() {
-        BlankUiTestActivity.setTestLayout(org.chromium.chrome.R.layout.context_menu_share_row);
-    }
-
     @Override
     public void setUpTest() throws Exception {
         super.setUpTest();
 
         TestThreadUtils.runOnUiThreadBlocking(() -> {
+            getActivity().setContentView(R.layout.context_menu_share_row);
             mShareItemView = getActivity().findViewById(android.R.id.content);
             mText = mShareItemView.findViewById(R.id.menu_row_text);
             mIcon = mShareItemView.findViewById(R.id.menu_row_share_icon);
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java
index 5cdcb02e9..5a5ea1c 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuRenderTest.java
@@ -21,6 +21,7 @@
 import org.chromium.base.test.params.ParameterAnnotations;
 import org.chromium.base.test.params.ParameterSet;
 import org.chromium.base.test.params.ParameterizedRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.UrlUtils;
 import org.chromium.chrome.R;
@@ -46,6 +47,7 @@
  */
 @RunWith(ParameterizedRunner.class)
 @ParameterAnnotations.UseRunnerDelegate(ChromeJUnit4RunnerDelegate.class)
+@Batch(Batch.PER_CLASS)
 public class ContextMenuRenderTest extends BlankUiTestActivityTestCase {
     @ParameterAnnotations.ClassParameter
     private static List<ParameterSet> sClassParams =
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java
index 1ff9b10..722da0d 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuUtilsTest.java
@@ -14,6 +14,7 @@
 import org.junit.runner.RunWith;
 
 import org.chromium.base.test.BaseJUnit4ClassRunner;
+import org.chromium.base.test.util.Batch;
 import org.chromium.blink_public.common.ContextMenuDataMediaType;
 import org.chromium.components.embedder_support.contextmenu.ContextMenuParams;
 import org.chromium.url.GURL;
@@ -22,6 +23,7 @@
  * Unit tests for {@link ContextMenuUtils}.
  */
 @RunWith(BaseJUnit4ClassRunner.class)
+@Batch(Batch.UNIT_TESTS)
 public class ContextMenuUtilsTest {
     private static final String sTitleText = "titleText";
     private static final String sLinkText = "linkText";
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/WebsitePermissionsFetcherTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/WebsitePermissionsFetcherTest.java
index 43bbb9c6..3332eb4b 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/WebsitePermissionsFetcherTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/site_settings/WebsitePermissionsFetcherTest.java
@@ -846,7 +846,6 @@
                         new Pair<>(mainSite, mainSite), new Pair<>(SITE_WILDCARD, mainSite)));
 
         for (Pair<String, String> pair : exceptions) {
-            fetcher.resetContentSettingExceptions();
             websitePreferenceBridge.resetContentSettingExceptions();
             {
                 ContentSettingException fakeContentSettingException =
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
index 7dbf02c..66ffccf 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/ClientManagerTest.java
@@ -13,6 +13,8 @@
 
 import static org.chromium.chrome.browser.browserservices.verification.ChromeOriginVerifierUnitTestSupport.addVerification;
 
+import android.content.ComponentName;
+import android.content.Intent;
 import android.net.Uri;
 import android.os.Process;
 
@@ -29,23 +31,39 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowPackageManager;
 
 import org.chromium.base.IntentUtils;
+import org.chromium.base.SysUtils;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.base.metrics.UmaRecorderHolder;
 import org.chromium.base.test.BaseRobolectricTestRunner;
 import org.chromium.chrome.browser.browserservices.verification.ChromeOriginVerifier;
 import org.chromium.chrome.browser.browserservices.verification.ChromeOriginVerifierFactoryImpl;
 import org.chromium.chrome.browser.browserservices.verification.ChromeOriginVerifierUnitTestSupport;
+import org.chromium.chrome.browser.document.ChromeLauncherActivity;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.components.embedder_support.util.Origin;
 import org.chromium.components.embedder_support.util.ShadowUrlUtilities;
 
 /** Tests for ClientManager. */
 @RunWith(BaseRobolectricTestRunner.class)
-@Config(manifest = Config.NONE, shadows = {ShadowUrlUtilities.class, ShadowPackageManager.class})
+@Config(manifest = Config.NONE,
+        shadows = {ShadowUrlUtilities.class, ShadowPackageManager.class,
+                ClientManagerTest.ShadowSysUtils.class})
 public class ClientManagerTest {
+    @Implements(SysUtils.class)
+    static class ShadowSysUtils {
+        public static boolean sIsLowMemory;
+
+        @Implementation
+        public static boolean isCurrentlyLowMemory() {
+            return sIsLowMemory;
+        }
+    }
+
     private static final String URL = "https://www.android.com";
     private static final String PACKAGE_NAME = "org.chromium.chrome";
 
@@ -359,4 +377,175 @@
                 RecordHistogram.getHistogramValueCountForTesting(
                         name, ClientManager.MayLaunchUrlType.BOTH));
     }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedCTForeground() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = false;
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, true);
+        mClientManager.dontKeepAliveForSession(mSession);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(
+                        histogramName, ClientManager.SessionDisconnectStatus.CT_FOREGROUND));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedCTForegroundKeepAlive() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = false;
+        Intent intent = new Intent().setComponent(new ComponentName(
+                ApplicationProvider.getApplicationContext(), ChromeLauncherActivity.class));
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, true);
+        mClientManager.keepAliveForSession(mSession, intent);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.CT_FOREGROUND_KEEP_ALIVE));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedCTBackground() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = false;
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, false);
+        mClientManager.dontKeepAliveForSession(mSession);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(
+                        histogramName, ClientManager.SessionDisconnectStatus.CT_BACKGROUND));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedCTBackgroundKeepAlive() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = false;
+        Intent intent = new Intent().setComponent(new ComponentName(
+                ApplicationProvider.getApplicationContext(), ChromeLauncherActivity.class));
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, false);
+        mClientManager.keepAliveForSession(mSession, intent);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.CT_BACKGROUND_KEEP_ALIVE));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedLowMemoryCTForeground() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = true;
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, true);
+        mClientManager.dontKeepAliveForSession(mSession);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedLowMemoryCTForegroundKeepAlive() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = true;
+        Intent intent = new Intent().setComponent(new ComponentName(
+                ApplicationProvider.getApplicationContext(), ChromeLauncherActivity.class));
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, true);
+        mClientManager.keepAliveForSession(mSession, intent);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.LOW_MEMORY_CT_FOREGROUND_KEEP_ALIVE));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedLowMemoryCTBackground() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = true;
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, false);
+        mClientManager.dontKeepAliveForSession(mSession);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedLowMemoryCTBackgroundKeepAlive() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = true;
+        Intent intent = new Intent().setComponent(new ComponentName(
+                ApplicationProvider.getApplicationContext(), ChromeLauncherActivity.class));
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, false);
+        mClientManager.keepAliveForSession(mSession, intent);
+
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(histogramName,
+                        ClientManager.SessionDisconnectStatus.LOW_MEMORY_CT_BACKGROUND_KEEP_ALIVE));
+    }
+
+    @Test
+    @SmallTest
+    public void testLogConnectionClosedCleanupCalledTwiceLogsOnce() {
+        String histogramName = "CustomTabs.SessionDisconnectStatus";
+        ShadowSysUtils.sIsLowMemory = false;
+
+        Assert.assertTrue("A new session should have been created.",
+                mClientManager.newSession(mSession, mUid, null, null, null));
+        mClientManager.setCustomTabIsInForeground(mSession, true);
+        mClientManager.dontKeepAliveForSession(mSession);
+
+        mClientManager.cleanupSession(mSession);
+        mClientManager.cleanupSession(mSession);
+
+        Assert.assertEquals("Only one histogram value should have been logged", 1,
+                RecordHistogram.getHistogramValueCountForTesting(
+                        histogramName, ClientManager.SessionDisconnectStatus.CT_FOREGROUND));
+    }
 }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediatorUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediatorUnitTest.java
index bfbcc7c..6b88e439 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediatorUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediatorUnitTest.java
@@ -46,7 +46,6 @@
 import org.robolectric.annotation.LooperMode;
 
 import org.chromium.base.Callback;
-import org.chromium.base.supplier.ObservableSupplierImpl;
 import org.chromium.base.test.BaseRobolectricTestRunner;
 import org.chromium.base.test.util.JniMocker;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
@@ -128,7 +127,6 @@
     private ArgumentCaptor<IncognitoTabModelObserver> mIncognitoTabModelObserver;
 
     private ButtonDataImpl mButtonData;
-    private ObservableSupplierImpl<Boolean> mIdentityDiscStateSupplier;
 
     @Before
     public void setUp() {
@@ -146,7 +144,6 @@
                 AdaptiveToolbarButtonVariant.UNKNOWN);
         ButtonDataImpl disabledButtonData = new ButtonDataImpl(
                 false, null, null, 0, false, null, true, AdaptiveToolbarButtonVariant.UNKNOWN);
-        mIdentityDiscStateSupplier = new ObservableSupplierImpl<>();
 
         Profile.setLastUsedProfileForTesting(mProfile);
         TrackerFactory.setTrackerForTests(mTracker);
@@ -443,19 +440,18 @@
                 StartSurfaceState.SHOWN_HOMEPAGE, true, LayoutType.START_SURFACE);
         assertFalse(mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE));
 
-        mButtonData.setCanShow(true);
-
-        mIdentityDiscStateSupplier.set(true);
-        assertTrue(mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE));
-
         mButtonData.setCanShow(false);
-        mIdentityDiscStateSupplier.set(false);
+        mMediator.buttonDataChanged(true);
         assertFalse(mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE));
 
+        mButtonData.setCanShow(true);
+        mMediator.buttonDataChanged(true);
+        assertTrue(mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE));
+
         // updateIdentityDisc() should properly handle a hint that contradicts the true value of
         // canShow.
         mButtonData.setCanShow(false);
-        mIdentityDiscStateSupplier.set(true);
+        mMediator.buttonDataChanged(true);
         assertFalse(mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE));
     }
 
@@ -528,7 +524,7 @@
             boolean shouldShowTabSwitcherButtonOnHomepage,
             boolean isTabGroupsAndroidContinuationEnabled) {
         mMediator = new StartSurfaceToolbarMediator(mPropertyModel, mMockIdentityIPHCallback,
-                hideIncognitoSwitchWhenNoTabs, mMenuButtonCoordinator, mIdentityDiscStateSupplier,
+                hideIncognitoSwitchWhenNoTabs, mMenuButtonCoordinator, mIdentityDiscController,
                 ()
                         -> mIdentityDiscController.getForStartSurface(
                                 mMediator.getOverviewModeStateForTesting(),
diff --git a/chrome/app/resources/chromium_strings_af.xtb b/chrome/app/resources/chromium_strings_af.xtb
index 7d0d81f..217437a 100644
--- a/chrome/app/resources/chromium_strings_af.xtb
+++ b/chrome/app/resources/chromium_strings_af.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Gaan voort</translation>
 <translation id="2384373936468275798">Chromium-bedryfstelsel kon nie jou data sinkroniseer nie omdat jou rekening se aanmeldbesonderhede verouderd is.</translation>
 <translation id="2396765026452590966">Die uitbreiding "<ph name="EXTENSION_NAME" />" het verander watter bladsy gewys word wanneer jy Chromium begin.</translation>
+<translation id="2400844369696905771">Wanneer dit aan is, herwin Chromium geheue vanaf oortjies wat jy nie aktief gebruik nie. Dit maak jou rekenaar se hulpbronne beskikbaar vir ander take en hou Chromium vinnig. Onaktiewe oortjies kom leeg voor en herlaai outomaties wanneer jy hulle klik. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium het kamera- en mikrofoontoestemming vir hierdie werf nodig</translation>
 <translation id="2483889755041906834">In Chromium</translation>
 <translation id="2485422356828889247">Deïnstalleer</translation>
@@ -144,6 +145,7 @@
 <translation id="4285930937574705105">Kon weens 'n ongespesifiseerde fout nie installeer nie. As Chromium tans loop, maak dit asseblief toe en probeer weer.</translation>
 <translation id="4304713468139749426">Wagwoordbestuurder</translation>
 <translation id="4334294535648607276">Aflaai is voltooi.</translation>
+<translation id="437317747729858884">Chromium herwin geheue vanaf oortjies wat jy nie gebruik nie om jou vinniger te laat blaai.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> vereis dat jy die volgende diensbepalings lees en aanvaar voordat jy hierdie toestel gebruik. Hierdie bepalings verander, beperk of brei nie Chromium-bedryfstelsel se bepalings uit nie.</translation>
 <translation id="4407044323746248786">Verlaat Chromium in elk geval?</translation>
 <translation id="4415566066719264597">Laat Chromium in die agtergrond loop</translation>
@@ -313,6 +315,7 @@
 <translation id="7872446069773932638">Laai tans af … <ph name="SECONDS" /> sekonde(s) oor.</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Hoe jy jou data kan bestuur:<ph name="END_BOLD" /> Ons vee outomaties jou belangstellings uit wat ouer as 4 weke is om jou privaatheid te beskerm. Terwyl jy aanhou blaai, kan ’n belangstelling weer op die lys verskyn. Of jy kan belangstellings verwyder wat jy wil hê Chromium moenie oorweeg nie.</translation>
 <translation id="7937630085815544518">Jy was as <ph name="USER_EMAIL_ADDRESS" /> by Chromium aangemeld. Gebruik asseblief dieselfde rekening om weer aan te meld.</translation>
+<translation id="7947085610734123927">Chromium het Geheuebespaarder aangeskakel</translation>
 <translation id="7975919845073681630">Dit is 'n sekondêre installering van Chromium en kan nie jou verstekblaaier gemaak word nie.</translation>
 <translation id="7997934263947464652">Uitbreidings, programme en temas van onbekende bronne af kan jou toestel beskadig. Chromium beveel aan dat hulle net uit die <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> geïnstalleer word</translation>
 <translation id="8013436988911883588">Sodra Chromium toegang het, sal webwerwe jou kan vra vir toegang.</translation>
@@ -338,6 +341,7 @@
 <translation id="8558383651099478961">Jou ouer het "Toestemmings vir werwe, programme en uitbreidings" vir Chromium afgeskakel. Hierdie <ph name="EXTENSION_TYPE_PARAMETER" /> mag nie bygevoeg word nie.</translation>
 <translation id="8561285221328166383">Jy het macOS 10.13 of nuwer nodig om in die toekoms Chromium-opdaterings te kry. Hierdie rekenaar gebruik macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium kan jou wagwoorde nagaan as jy met jou Google-rekening aanmeld</translation>
+<translation id="8574036838419011058">Wanneer dit aan is, bespaar Chromium batterykrag deur agtergrondaktiwiteit en visuele effekte, soos gladde rollees en videoraamtempo's, te beperk. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Kopiereg <ph name="YEAR" /> Die Chromium-outeurs. Alle regte voorbehou.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Hoe ons hierdie data gebruik:<ph name="END_BOLD" /> Werwe kan inligting oor jou belangstellings in Chromium stoor. As jy byvoorbeeld ’n werf besoek om skoene vir ’n marathon te koop, kan die werf jou belangstelling definieer as iemand wat marathons hardloop. As jy later ’n ander werf besoek om vir ’n wedloop te registreer, kan daardie werf vir jou ’n advertensie vir drafskoene op grond van jou belangstellings wys.</translation>
 <translation id="8619360774459241877">Begin tans Chromium …</translation>
diff --git a/chrome/app/resources/chromium_strings_as.xtb b/chrome/app/resources/chromium_strings_as.xtb
index 19f2d8e..f91559d 100644
--- a/chrome/app/resources/chromium_strings_as.xtb
+++ b/chrome/app/resources/chromium_strings_as.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">অব্যাহত ৰাখক</translation>
 <translation id="2384373936468275798">আপোনাৰ একাউণ্টৰ ছাইন ইনৰ সবিশেষ তথ্যৰ ম্যাদ উকলি যোৱাৰ বাবে ChromiumOSএ আপোনাৰ ডেটা ছিংক কৰিব নোৱাৰিলে।</translation>
 <translation id="2396765026452590966">আপুনি Chromium আৰম্ভ কৰিলে কোনটো পৃষ্ঠা দেখুওৱা হ’ব সেয়া "<ph name="EXTENSION_NAME" />" এক্সটেনশ্বনে সলনি কৰিছে৷</translation>
+<translation id="2400844369696905771">অন কৰা থকিলে, Chromiumএ আপুনি সক্ৰিয়ভাৱে ব্যৱহাৰ কৰি নথকা টেবসমূহৰ পৰা মেম’ৰী পুনৰুদ্ধাৰ কৰে। ই আপোনাৰ কম্পিউটাৰৰ উৎসসমূহ আন কাৰ্যৰ বাবে খালী কৰে আৰু Chromiumক দ্ৰুত কৰি ৰাখে। নিষ্ক্ৰিয় টেবসমূহ খালী হৈ থকা দেখা পোৱা যায় আৰু আপুনি সেইসমূহত ক্লিক কৰিলে সেইসমূহ স্বয়ংক্ৰিয়ভাৱে পুনৰ ল’ড হয়। <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromiumক এই ছাইটটোৰ বাবে মাইক্ৰ’ফ’ন আৰু কেমেৰাৰ অনুমতিৰ আৱশ্যক</translation>
 <translation id="2483889755041906834">Chromiumত</translation>
 <translation id="2485422356828889247">আনইনষ্টল কৰক</translation>
@@ -144,6 +145,7 @@
 <translation id="4285930937574705105">অনির্দিষ্ট আসোঁৱাহৰ বাবে ইনষ্টল কৰিব পৰা নগ’ল। যদি Chromium এতিয়া চলি আছে তেন্তে সেইটো বন্ধ কৰি আকৌ চেষ্টা কৰক।</translation>
 <translation id="4304713468139749426">পাছৱৰ্ড পৰিচালক</translation>
 <translation id="4334294535648607276">ডাউনল’ড সম্পূৰ্ণ হ’ল।</translation>
+<translation id="437317747729858884">দ্ৰুতভাৱে ব্ৰাউজ কৰিবলৈ, Chromiumএ আপুনি ব্যৱহাৰ কৰি নথকা টেবসমূহৰ পৰা মেম’ৰী পুনৰুদ্ধাৰ কৰে।</translation>
 <translation id="439358628917130594"><ph name="MANAGER" />ৰ বাবে আপুনি এই ডিভাইচটো ব্যৱহাৰ কৰাৰ পূৰ্বে তলত উল্লেখ কৰা সেৱাৰ চৰ্তাৱলী পঢ়ি তাত সন্মতি দিয়াৰ আৱশ্যক। এই চৰ্তাৱলীয়ে ChromiumOSৰ চৰ্তাৱলী বিস্তাৰ, সংশোধন অথবা সীমিত নকৰে।</translation>
 <translation id="4407044323746248786">যিকোনো প্ৰকাৰে Chromiumৰ পৰা বাহিৰ হ’বনে?</translation>
 <translation id="4415566066719264597">Chromiumক নেপথ্যত চলিবলৈ দিয়ক</translation>
@@ -313,6 +315,7 @@
 <translation id="7872446069773932638">ডাউনল’ড হৈ আছে... <ph name="SECONDS" /> ছেকেণ্ড বাকী আছে</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />আপুনি নিজৰ ডেটা কেনেকৈ পৰিচালনা কৰিব পাৰে:<ph name="END_BOLD" /> আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, আমি ৪ সপ্তাহতকৈ পুৰণি হোৱা আপোনাৰ আগ্ৰহসমূহ স্বয়ংক্ৰিয়ভাৱে মচোঁ। আপুনি ব্ৰাউজ কৰি থাকিলে, সূচীখনত পুনৰ কোনো এটা আগ্ৰহ প্ৰদৰ্শিত হ’ব পাৰে। অথবা আপুনি যিবোৰ আগ্ৰহ Chromiumএ বিবেচনা কৰাটো নিবিচাৰে সেইবোৰ আঁতৰাব পাৰে।</translation>
 <translation id="7937630085815544518">আপুনি Chromiumত <ph name="USER_EMAIL_ADDRESS" /> হিচাপে ছাইন ইন হৈ আছিল। আকৌ ছাইন ইন কৰিবলৈ অনুগ্ৰহ কৰি সেই একেটা একাউণ্ট ব্যৱহাৰ কৰক।</translation>
+<translation id="7947085610734123927">Chromiumএ মেম’ৰী সঞ্চয়কাৰী অন কৰিছে</translation>
 <translation id="7975919845073681630">এয়া Chromiumৰ এক গৌণ ইনষ্টলেশ্বন আৰু ইয়াক আপোনাৰ ডিফ’ল্ট ব্ৰাউজাৰ কৰিব নোৱাৰি।</translation>
 <translation id="7997934263947464652">অজ্ঞাত উৎসৰ এক্সটেনশ্বন, এপ্ আৰু থীমসমূহে আপোনাৰ ডিভাইচৰ ক্ষতি কৰিব পাৰে। সেইবোৰ কেৱল <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />ৰ পৰা ডাউনল’ড কৰাটো Chromiumএ চুপাৰিছ কৰে</translation>
 <translation id="8013436988911883588">Chromiumএ এক্সেছ পোৱাৰ পাছতেই ৱেবছাইটসমূহে আপোনাক এক্সেছৰ বাবে অনুমতি বিচাৰিব পাৰিব।</translation>
@@ -338,6 +341,7 @@
 <translation id="8558383651099478961">আপোনাৰ অভিভাৱকে Chromiumত "ছাইট, এপ্ আৰু এক্সটেনশ্বনসমূহৰ বাবে অনুমতি" অফ কৰিছে। এই <ph name="EXTENSION_TYPE_PARAMETER" />টো যোগ দিয়াৰ অনুমতি নাই।</translation>
 <translation id="8561285221328166383">Chromiumৰ ভৱিষ্যতৰ আপডে’টসমূহ পাবলৈ আপোনাক macOS 10.13 অথবা তাৰ পাছৰ সংস্কৰণৰ আৱশ্যক হ’ব। এই কম্পিউটাৰটোৱে macOS 10.12 ব্যৱহাৰ কৰি আছে।</translation>
 <translation id="8568283329061645092">আপুনি নিজৰ Google একাউণ্টটোৰ জৰিয়তে ছাইন ইন কৰোঁতে Chromiumএ আপোনাৰ পাছৱর্ডসমূহ পৰীক্ষা কৰিব পাৰে</translation>
+<translation id="8574036838419011058">অন হৈ থাকিলে, Chromiumএ নেপথ্যৰ কাৰ্যকলাপ আৰু ভিজুৱেল ইফেক্ট, যেনে- মসৃণ স্ক্ৰ’লিং আৰু ভিডিঅ’ ফ্ৰে’মৰ হাৰ সীমিত কৰি বেটাৰীৰ পাৱাৰ সংৰক্ষণ কৰে। <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">স্বত্ত্বাধিকাৰ <ph name="YEAR" /> The Chromium Authors. সর্বস্বত্ব সংৰক্ষিত।</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />আমি এই ডেটা কেনেকৈ ব্যৱহাৰ কৰোঁ:<ph name="END_BOLD" /> ছাইটে আপোনাৰ আগ্ৰহৰ বিষয়ে তথ্য Chromiumৰ জৰিয়তে ষ্ট’ৰ কৰিব পাৰে। উদাহৰণস্বৰূপে, আপুনি মাৰাথানৰ বাবে জোতা কিনিবলৈ কোনো ছাইটলৈ যায়, ছাইটটোৱে আপোনাৰ মাৰাথান দৌৰাটো আপোনাৰ আগ্ৰহ হিচাপে নিৰ্ধাৰণ কৰিব পাৰে। পাছত, যদি আপুনি দৌৰ প্ৰতিযোগিতাৰ বাবে পঞ্জীয়ন কৰিবলৈ অন্য এটা ছাইটলৈ যায়, সেই ছাইটটোৱে আপোনাৰ আগ্ৰহৰ ভিত্তিত আপোনাক দৌৰিবলৈ ব্যৱহাৰ কৰা জোতাৰ এটা বিজ্ঞাপন দেখুৱাব পাৰে।</translation>
 <translation id="8619360774459241877">Chromium লঞ্চ কৰি থকা হৈছে...</translation>
diff --git a/chrome/app/resources/chromium_strings_az.xtb b/chrome/app/resources/chromium_strings_az.xtb
index 318a979..7733ee2e 100644
--- a/chrome/app/resources/chromium_strings_az.xtb
+++ b/chrome/app/resources/chromium_strings_az.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">Bu profilin istifadəsi zamanı yaranan hər hansı bir Chromium datası (əlfəcinlər, tarixçələr, parolların yaradılması və digər ayarlar kimi) iş profili administratoru tərəfindən silinə bilər. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Quraşdırma zamanı əməliyyat sistemi xətası baş verdi. Chromium'u yenidən endirin.</translation>
 <translation id="2661879430930417727">Cihaz paylaşsanız, dostlarınız və ailəniz ayrıca baxış keçirə bilər və Chromium'u istədikləri kimi ayarlaya bilər.</translation>
+<translation id="2669853942967761236">Chromium bu arxiv faylını bloklayıb, çünki faylda zərərli proqram ola bilər</translation>
 <translation id="268602741124540128"><ph name="ACCOUNT_FIRST_NAME" />, Chromium'a xoş gəlmisiniz</translation>
 <translation id="2711502716910134313">Chromium Paneli</translation>
 <translation id="2718390899429598676">Əlavə təhlükəsizlik üçün, Chromium datanızı şifrələyəcək.</translation>
diff --git a/chrome/app/resources/chromium_strings_bs.xtb b/chrome/app/resources/chromium_strings_bs.xtb
index 3dfe80e..6de92ee 100644
--- a/chrome/app/resources/chromium_strings_bs.xtb
+++ b/chrome/app/resources/chromium_strings_bs.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Nastavi</translation>
 <translation id="2384373936468275798">ChromiumOS nije mogao sinhronizirati vaše podatke je su detalji za prijavu na vaš račun zastarjeli.</translation>
 <translation id="2396765026452590966">Ekstenzija "<ph name="EXTENSION_NAME" />" je promijenila stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
+<translation id="2400844369696905771">Kada je to uključeno, Chromium vraća memoriju s kartica koje ne upotrebljavate aktivno. Time se resursi računala oslobađaju za druge zadatke i ubrzava se rad Chromiuma. Neaktivne kartice prikazuju se prazne i automatski se ponovno učitavaju kad ih kliknete. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromiumu su za ovu web lokaciju potrebna odobrenja za kameru i mikrofon</translation>
 <translation id="2483889755041906834">U Chromiumu</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
@@ -144,6 +145,7 @@
 <translation id="4285930937574705105">Instalacija nije uspjela zbog neodređene greške. Ako je Chromium trenutno pokrenut, zatvorite ga i pokušajte ponovo.</translation>
 <translation id="4304713468139749426">Upravitelj lozinki</translation>
 <translation id="4334294535648607276">Preuzimanje je dovršeno.</translation>
+<translation id="437317747729858884">Da bi vaše pregledavanje bilo brže, Chromium vraća memoriju s kartica koje ne upotrebljavate.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> zahtijeva da prije korištenja uređaja pročitate i prihvatite sljedeće Uslove korištenja usluge. Ovi uslovi ne predstavljaju dodatak, izmjenu ili ograničenje Uslova za ChromiumOS.</translation>
 <translation id="4407044323746248786">Želite li ipak zatvoriti Chromium?</translation>
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
@@ -313,6 +315,7 @@
 <translation id="7872446069773932638">Preuzimanje… Preostalo je <ph name="SECONDS" /> s</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete upravljati svojim podacima:<ph name="END_BOLD" /> Da zaštitimo vašu privatnosti, automatski brišemo interesovanja koja su starija od 4 sedmice. Kada nastavite koristiti preglednik, interesovanje se može ponovo pojaviti na listi. Ili možete ukloniti interesovanja koja ne želite dati Chromiumu na razmatranje.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chrome kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti račun da se ponovo prijavite.</translation>
+<translation id="7947085610734123927">Chromium je uključio štednju memorije</translation>
 <translation id="7975919845073681630">Ovo je sekundarno instaliranje Chromiuma i stoga on ne može biti vaš zadani preglednik.</translation>
 <translation id="7997934263947464652">Ekstenzije, aplikacije i teme iz nepoznatih izvora mogu naštetiti vašem uređaju. Chromium preporučuje da ih instalirate samo iz: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web lokacije će vam moći zatražiti pristup.</translation>
@@ -338,6 +341,7 @@
 <translation id="8558383651099478961">Tvoj roditelj je isključio "Odobrenja za web lokacije, aplikacije i ekstenzije" za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation>
 <translation id="8561285221328166383">Da primate buduća ažuriranja za Chromium, trebat će vam macOS 10.13 ili novija verzija. Ovaj računar koristi macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium može provjeravati vaše lozinke kada se prijavljujete putem Google računa</translation>
+<translation id="8574036838419011058">Kad je to uključeno, Chromium štedi bateriju ograničavajući pozadinsku aktivnost i vizualne efekte, kao što je glatko pomicanje i broj sličica u sekundi videozapisa. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" /> Autori Chromiuma. Sva prava zadržana.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Kako koristimo ove podatke:<ph name="END_BOLD" /> Web lokacije mogu pohranjivati informacije o vašim interesovanjima u Chromiumu. Naprimjer, ako posjetite web lokaciju da kupite obuću za maraton, ta web lokacija može definirati vaše interesovanje za trčanje maratona. Kasnije, kada posjetite drugu web lokaciju da se registrirate za utrku, ta web lokacija vam može prikazati oglas koji prikazuje obuću za trčanje, na osnovu vaših interesovanja.</translation>
 <translation id="8619360774459241877">Pokretanje Chromiuma...</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb
index b93aa7ab..95342dd 100644
--- a/chrome/app/resources/chromium_strings_ca.xtb
+++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">L'administrador del perfil de treball pot suprimir qualsevol dada de Chromium que es generi durant l'ús d'aquest perfil, com ara les adreces d'interès, l'historial, les contrasenyes i altres opcions de configuració. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">S'ha produït un error en el sistema operatiu durant la instal·lació. Torneu a baixar Chromium.</translation>
 <translation id="2661879430930417727">Si comparteixes un dispositiu, els amics i els familiars poden navegar per separat i configurar Chromium com vulguin</translation>
+<translation id="2669853942967761236">Chromium ha bloquejat aquest fitxer d'arxiu perquè és possible que amagui programari maliciós</translation>
 <translation id="268602741124540128"><ph name="ACCOUNT_FIRST_NAME" />, et donem la benvinguda a Chromium</translation>
 <translation id="2711502716910134313">Pestanya de Chromium</translation>
 <translation id="2718390899429598676">Per a més seguretat, Chromium encriptarà les teves dades.</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb
index 6b56e86..beef90b 100644
--- a/chrome/app/resources/chromium_strings_cs.xtb
+++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -333,6 +333,7 @@
 <translation id="8453117565092476964">Archiv instalačního programu je poškozený nebo neplatný. Stáhněte prosím Chromium znovu.</translation>
 <translation id="8463672209299734063">Volitelné: Pomozte se zlepšováním funkcí a výkonu operačního systému ChromiumOS tím, že budete do Googlu automaticky odesílat diagnostické údaje a údaje o využití.</translation>
 <translation id="8493179195440786826">Prohlížeč Chromium je zastaralý</translation>
+<translation id="8522220489792889625">Chromium podle potřeby znovu využívá paměť obsazenou kartami, které aktivně nepoužíváte. Tuto volbu můžete v nastavení kdykoli změnit.</translation>
 <translation id="8550334526674375523">Tento pracovní profil je zcela oddělen od vašeho osobního profilu.</translation>
 <translation id="8558383651099478961">Tvůj rodič pro prohlížeč Chromium vypnul možnost Oprávnění pro weby, aplikace a rozšíření. Přidání tohoto <ph name="EXTENSION_TYPE_PARAMETER" /> není povoleno.</translation>
 <translation id="8561285221328166383">Pokud chcete v budoucnu dostávat aktualizace prohlížeče Chromium, budete potřebovat systém macOS 10.13 nebo novější. Tento počítač používá systém macOS 10.12.</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb
index 6b6d6e3..8bfa07c 100644
--- a/chrome/app/resources/chromium_strings_de.xtb
+++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Alle Chromium-Daten, die während der Nutzung dieses Profils erstellt werden, wie Lesezeichen, Verlauf, Passwörter und andere Einstellungen, können vom Administrator des Arbeitsprofils entfernt werden. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Während der Installation ist ein Fehler im Betriebssystem aufgetreten. Bitte lade Chromium erneut herunter.</translation>
 <translation id="2661879430930417727">Auf gemeinsam genutzten Geräten können die verschiedenen Nutzer separat surfen und Chromium jeweils nach ihren Wünschen einrichten</translation>
+<translation id="2669853942967761236">Chromium hat diese Archivdatei blockiert, da sie möglicherweise Malware enthält</translation>
 <translation id="268602741124540128">Willkommen bei Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium-Tab</translation>
 <translation id="2718390899429598676">Chromium verschlüsselt deine Daten zur Erhöhung der Sicherheit.</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index 099ef4f..182c89a6 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">Συνέχεια</translation>
 <translation id="2384373936468275798">Δεν ήταν δυνατός ο συγχρονισμός των δεδομένων σας από το Chromium OS, επειδή τα στοιχεία σύνδεσης του λογαριασμού σας δεν είναι ενημερωμένα.</translation>
 <translation id="2396765026452590966">Η επέκταση <ph name="EXTENSION_NAME" /> άλλαξε τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chromium.</translation>
+<translation id="2400844369696905771">Όταν είναι ενεργή, το Chromium ανακτά τη μνήμη από καρτέλες που δεν χρησιμοποιείτε ενεργά. Αυτό αποδεσμεύει τους πόρους του υπολογιστή σας για άλλες εργασίες και διατηρεί το Chromium γρήγορο. Οι ανενεργές καρτέλες εμφανίζονται κενές και φορτώνονται εκ νέου αυτόματα όταν κάνετε κλικ σε αυτές. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Το Chromium χρειάζεται άδεια μικροφώνου και κάμερας για αυτόν τον ιστότοπο.</translation>
 <translation id="2483889755041906834">Στο Chromium</translation>
 <translation id="2485422356828889247">Απεγκατάσταση</translation>
@@ -143,6 +144,7 @@
 <translation id="4285930937574705105">Η εγκατάσταση απέτυχε λόγω απροσδιόριστου σφάλματος. Εάν το Chromium εκτελείται αυτήν τη στιγμή, κλείστε το και δοκιμάστε ξανά.</translation>
 <translation id="4304713468139749426">Διαχειριστής κωδικών πρόσβασης</translation>
 <translation id="4334294535648607276">Η λήψη ολοκληρώθηκε.</translation>
+<translation id="437317747729858884">Για να επιταχύνει την περιήγησή σας, το Chromium ανακτά τη μνήμη από τις καρτέλες που δεν χρησιμοποιείτε.</translation>
 <translation id="439358628917130594">Το <ph name="MANAGER" /> απαιτεί να διαβάσετε και να αποδεχτείτε τους παρακάτω Όρους Παροχής Υπηρεσιών πριν από τη χρήση αυτής της συσκευής. Οι συγκεκριμένοι όροι δεν επεκτείνουν, τροποποιούν ή περιορίζουν τους Όρους του Chromium OS.</translation>
 <translation id="4407044323746248786">Να γίνει έξοδος από το Chromium ούτως ή άλλως;</translation>
 <translation id="4415566066719264597">Να επιτρέπεται στο Chromium να εκτελείται στο παρασκήνιο</translation>
@@ -312,6 +314,7 @@
 <translation id="7872446069773932638">Λήψη… Απομένουν <ph name="SECONDS" /> δευτερόλεπτα.</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Πώς μπορείτε να διαχειριστείτε τα δεδομένα σας:<ph name="END_BOLD" /> Για την προστασία του απορρήτου σας, διαγράφουμε αυτόματα τα ενδιαφέροντα που είναι παλαιότερα των 4 εβδομάδων. Καθώς συνεχίζετε την περιήγηση, ενδέχεται να εμφανιστεί ξανά ένα ενδιαφέρον στη λίστα. Εναλλακτικά, μπορείτε να καταργήσετε τα ενδιαφέροντα που δεν θέλετε να λαμβάνει υπόψη το Chromium.</translation>
 <translation id="7937630085815544518">Συνδεθήκατε στο Chromium ως <ph name="USER_EMAIL_ADDRESS" />. Χρησιμοποιήστε τον ίδιο λογαριασμό για να συνδεθείτε ξανά.</translation>
+<translation id="7947085610734123927">Το Chromium ενεργοποίησε την Εξοικονόμηση μνήμης</translation>
 <translation id="7975919845073681630">Αυτή είναι μια δευτερεύουσα εγκατάσταση του Chromium και δεν μπορεί να γίνει το προεπιλεγμένο πρόγραμμα περιήγησης.</translation>
 <translation id="7997934263947464652">Οι επεκτάσεις, οι εφαρμογές και τα θέματα από άγνωστες πηγές μπορούν να βλάψουν τη συσκευή σας. Το Chromium συνιστά την εγκατάστασή τους μόνο από το <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Όταν το Chromium αποκτήσει πρόσβαση, οι ιστότοποι θα μπορούν να σας ζητήσουν πρόσβαση.</translation>
@@ -337,6 +340,7 @@
 <translation id="8558383651099478961">Ο γονέας σου απενεργοποίησε την επιλογή "Άδειες για ιστοτόπους, εφαρμογές και επεκτάσεις" για το Chromium. Η προσθήκη του στοιχείου <ph name="EXTENSION_TYPE_PARAMETER" /> δεν επιτρέπεται.</translation>
 <translation id="8561285221328166383">Για τη λήψη μελλοντικών ενημερώσεων του Chromium, θα χρειαστείτε macOS 10.13 ή νεότερη έκδοση. Αυτός ο υπολογιστής χρησιμοποιεί macOS 10.12.</translation>
 <translation id="8568283329061645092">Το Chromium μπορεί να ελέγξει τους κωδικούς πρόσβασής σας όταν συνδέεστε με τον Λογαριασμό σας Google.</translation>
+<translation id="8574036838419011058">Όταν είναι ενεργοποιημένη, το Chromium εξοικονομεί μπαταρία περιορίζοντας τη δραστηριότητα στο παρασκήνιο και τα οπτικά εφέ, όπως είναι η ομαλή κύλιση και οι ρυθμοί καρέ του βίντεο. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Πνευματικά δικαιώματα <ph name="YEAR" /> Οι συντάκτες του Chromium. Με επιφύλαξη παντός δικαιώματος.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Πώς χρησιμοποιούμε αυτά τα δεδομένα:<ph name="END_BOLD" /> Οι ιστότοποι μπορούν να αποθηκεύουν πληροφορίες σχετικά με τα ενδιαφέροντά σας στο Chromium. Για παράδειγμα, εάν επισκεφτείτε έναν ιστότοπο για να αγοράσετε παπούτσια για έναν μαραθώνιο, ο ιστότοπος μπορεί να ορίσει τους μαραθώνιους τρεξίματος ως ενδιαφέρον σας. Αργότερα, εάν επισκεφτείτε έναν διαφορετικό ιστότοπο για να εγγραφείτε σε έναν αγώνα, αυτός ο ιστότοπος μπορεί να σας εμφανίσει μια διαφήμιση για παπούτσια τρεξίματος με βάση τα ενδιαφέροντά σας.</translation>
 <translation id="8619360774459241877">Εκκίνηση του Chromium…</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb
index a2f05c4..40d9204b 100644
--- a/chrome/app/resources/chromium_strings_es.xtb
+++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">El administrador del perfil de trabajo puede quitar cualquier dato de Chromium generado durante el uso de este perfil, como los marcadores, el historial, las contraseñas y otros ajustes. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Se ha producido un error de sistema operativo durante el proceso de instalación. Vuelve a descargar Chromium.</translation>
 <translation id="2661879430930417727">Si compartes un dispositivo, tus amigos y familiares pueden navegar de forma independiente y configurar Chromium a su gusto.</translation>
+<translation id="2669853942967761236">Chromium ha bloqueado este archivo porque puede ocultar software malicioso</translation>
 <translation id="268602741124540128">Te damos la bienvenida a Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Pestaña de Chromium</translation>
 <translation id="2718390899429598676">Para mayor seguridad, Chromium cifrará tus datos.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb
index f8757bf0b..1128b91 100644
--- a/chrome/app/resources/chromium_strings_et.xtb
+++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Kõik Chromiumi andmed, mis luuakse selle profiili kasutamise ajal (nt järjehoidjad, ajalugu, paroolid ja muud seaded), saab tööprofiili administraator eemaldada. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Installimisel ilmnes operatsioonisüsteemi viga. Laadige Chromium uuesti alla.</translation>
 <translation id="2661879430930417727">Kui jagate seadet, saavad sõbrad ja pereliikmed eraldi sirvida ning seadistada Chromiumi just nii, nagu neile meeldib.</translation>
+<translation id="2669853942967761236">Chromium blokeeris selle arhiivifaili, kuna see võib sisaldada pahavara</translation>
 <translation id="268602741124540128">Tere tulemast Chromiumi, <ph name="ACCOUNT_FIRST_NAME" />!</translation>
 <translation id="2711502716910134313">Chromiumi vaheleht</translation>
 <translation id="2718390899429598676">Turvalisuse suurendamiseks krüptib Chromium teie andmed.</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb
index 3b49497b..b7b168d8 100644
--- a/chrome/app/resources/chromium_strings_fa.xtb
+++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">‏سرپرست نمایه کاری می‌تواند داده‌های Chromium را که درطول استفاده از این نمایه ایجاد شده‌اند (مثل ایجاد سابقه نشانک‌ها، گذرواژه‌ها، و دیگر تنظیمات) بردارد. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">‏یک خطای سیستم‌عامل در طول نصب روی داد. لطفاً Chromium را دوباره نصب کنید.</translation>
 <translation id="2661879430930417727">‏اگر از دستگاهی به‌صورت مشترک استفاده می‌کنید، دوستان و اعضای خانواده می‌توانند جداگانه مرور کنند و Chromium را به‌شیوه خودشان تنظیم کنند</translation>
+<translation id="2669853942967761236">‏Chromium این فایل بایگانی را مسدود کرده است چون ممکن است بدافزار پنهان کرده باشد</translation>
 <translation id="268602741124540128">‏<ph name="ACCOUNT_FIRST_NAME" /> به Chromium خوش آمدید</translation>
 <translation id="2711502716910134313">‏برگه Chromium</translation>
 <translation id="2718390899429598676">‏برای امنیت بیشتر، Chromium داده‌های شما را رمزگذاری می‌کند.</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb
index 4dd6f71..460fbed 100644
--- a/chrome/app/resources/chromium_strings_fi.xtb
+++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Työprofiilin järjestelmänvalvoja voi poistaa tämän profiilin käytön aikana luotua Chromium-dataa (esim. kirjanmerkit, historia, salasanat ja muut asetukset). <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Asennuksessa ilmeni käyttöjärjestelmävirhe. Lataa Chromium uudelleen.</translation>
 <translation id="2661879430930417727">Jos käytät jaettua laitetta, kaverisi ja perheenjäsenesi voivat selata verkkoa erillään ja räätälöidä Chromiumista juuri itselleen sopivan</translation>
+<translation id="2669853942967761236">Chromium on estänyt tämän arkistotiedoston, koska se voi piilottaa haittaohjelman</translation>
 <translation id="268602741124540128">Tervetuloa Chromiumiin, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium-välilehti</translation>
 <translation id="2718390899429598676">Chromium lisää suojausta salaamalla tietosi.</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb
index cda039f..a4a0f93 100644
--- a/chrome/app/resources/chromium_strings_fil.xtb
+++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Magpatuloy</translation>
 <translation id="2384373936468275798">Hindi ma-sync ng ChromiumOS ang iyong data dahil hindi napapanahon ang mga detalye sa pag-sign in sa iyong account.</translation>
 <translation id="2396765026452590966">Binago ng extension na "<ph name="EXTENSION_NAME" />" ang ipinapakitang page kapag sinimulan mo ang Chromium.</translation>
+<translation id="2400844369696905771">Kapag naka-on, binabawi ng Chromium ang memory mula sa mga tab na hindi mo aktibong ginagamit. Binabakante nito ang mga resource ng iyong computer para sa iba pang gawain at pinapanatili nitong mabilis ang Chromium. Mukhang walang laman ang mga hindi aktibong tab at awtomatikong nagre-reload ang mga ito kapag na-click mo ang mga ito. <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Kailangan ng Chromium ng pahintulot sa camera at mikropono para sa site na ito</translation>
 <translation id="2483889755041906834">Sa Chromium</translation>
 <translation id="2485422356828889247">I-uninstall</translation>
@@ -63,6 +64,7 @@
 <translation id="2583187216237139145">Puwedeng alisin ng administrator ng profile sa trabaho ang anumang data ng Chromium na nabuo sa panahon ng paggamit ng profile na ito (gaya ng paggawa ng mga bookmark, history, mga password, at iba pang setting). <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">May naganap na error sa operating system sa panahon ng pag-install. Mangyaring i-download muli ang Chromium.</translation>
 <translation id="2661879430930417727">Kung magpapahiram ka ng device, puwedeng mag-browse nang hiwalay ang mga kaibigan at kapamilya, at puwede nilang i-set up ang Chromium sa paraang gusto nila</translation>
+<translation id="2669853942967761236">Na-block ng Chromium ang naka-archive na file na ito dahil posibleng nagtatago ito ng malware</translation>
 <translation id="268602741124540128">Maligayang Pagdating sa Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Tab ng Chromium</translation>
 <translation id="2718390899429598676">Para sa karagdagang seguridad, ie-encrypt ng Chromium ang iyong data.</translation>
@@ -144,6 +146,7 @@
 <translation id="4285930937574705105">Nabigo ang pag-install dahil sa hindi natukoy na error. Kung kasalukuyang tumatakbo ang Chromium, pakisara ito at subukang muli.</translation>
 <translation id="4304713468139749426">Password Manager</translation>
 <translation id="4334294535648607276">Tapos na ang pag-download.</translation>
+<translation id="437317747729858884">Para mas pabilisin ang iyong pag-browse, binabawi ng Chromium ang memory mula sa mga tab na hindi mo ginagamit.</translation>
 <translation id="439358628917130594">Kinakailangan ng <ph name="MANAGER" /> na basahin at tanggapin mo ang sumusunod na Mga Tuntunin ng Serbisyo bago gamitin ang device na ito. Hindi pinapalawak, binabago, o nililimitahan ng mga tuntuning ito ang Mga Tuntunin ng ChromiumOS.</translation>
 <translation id="4407044323746248786">Lumabas pa rin sa Chromium?</translation>
 <translation id="4415566066719264597">Hayaang Tumakbo ang Chromium sa Background</translation>
@@ -313,6 +316,7 @@
 <translation id="7872446069773932638">Dina-download... <ph name="SECONDS" /> (na) segundo ang natitira</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Paano mo mapapamahalaan ang iyong data:<ph name="END_BOLD" /> Para protektahan ang iyong privacy, awtomatiko naming dine-delete ang mga interes mo na mas matagal sa 4 na linggo. Habang patuloy kang nagba-browse, posibleng lumabas ulit sa listahan ang isang interes. O puwede kang mag-alis ng mga interes na ayaw mong isaalang-alang ng Chromium.</translation>
 <translation id="7937630085815544518">Naka-sign in ka sa Chromium bilang <ph name="USER_EMAIL_ADDRESS" />. Pakigamit ang parehong account upang mag-sign in muli.</translation>
+<translation id="7947085610734123927">Na-on ng Chromium ang Memory Saver</translation>
 <translation id="7975919845073681630">Pangalawang pag-install ito ng Chromium at hindi ito maaaring gawing iyong default na browser.</translation>
 <translation id="7997934263947464652">Puwedeng mapinsala ng mga extension, app, at tema mula sa mga hindi kilalang source ang iyong device. Inirerekomenda ng Chromium na i-install lang ang mga ito mula sa <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kapag mayroon nang access ang Chromium, makakahingi na ang mga website ng access sa iyo.</translation>
@@ -338,6 +342,7 @@
 <translation id="8558383651099478961">Na-off ng iyong magulang ang "Mga pahintulot para sa mga site, app, at extension" para sa Chromium. Hindi pinapayagang idagdag ang <ph name="EXTENSION_TYPE_PARAMETER" /> na ito.</translation>
 <translation id="8561285221328166383">Para makakuha ng mga update sa Chromium sa hinaharap, kakailanganin mo ng macOS 10.13 o mas bago. Gumagamit ang computer na ito ng macOS 10.12.</translation>
 <translation id="8568283329061645092">Masusuri ng Chromium ang iyong mga password kapag nag-sign in ka sa Google Account mo</translation>
+<translation id="8574036838419011058">Kapag naka-on, nakakatipid ng baterya ang Chromium sa pamamagitan ng paglimita sa aktibidad sa background at mga visual effect, tulad ng maayos na pag-scroll at mga frame rate ng video. <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Ang Mga May-akda ng Chromium. Nakalaan ang lahat ng karapatan.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Paano namin ginagamit ang data na ito:<ph name="END_BOLD" /> Puwedeng mag-store ang mga site sa Chromium tungkol sa iyong mga interes. Halimbawa, kung bibisita ka sa isang site para bumili ng mga sapatos para sa isang marathon, posibleng tukuyin ng site ang iyong interes bilang pagtakbo sa mga marathon. Sa ibang pagkakataon, kung bibisita ka sa ibang site para magparehistro para sa isang karera, puwedeng magpakita sa iyo ang site na iyon ng ad para sa running shoes batay sa mga interes mo.</translation>
 <translation id="8619360774459241877">Inilulunsad ang Chromium...</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb
index 6d85a9e..df3e3ab 100644
--- a/chrome/app/resources/chromium_strings_hr.xtb
+++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">Nastavi</translation>
 <translation id="2384373936468275798">Chromium OS nije mogao sinkronizirati podatke vašeg računa jer su podaci prijave na račun zastarjeli.</translation>
 <translation id="2396765026452590966">Proširenje "<ph name="EXTENSION_NAME" />" promijenilo je stranicu koja se prikazuje prilikom pokretanja Chromiuma.</translation>
+<translation id="2400844369696905771">Kada je to uključeno, Chromium vraća memoriju s kartica koje ne upotrebljavate aktivno. Time se resursi računala oslobađaju za druge zadatke i ubrzava se rad Chromiuma. Neaktivne kartice prikazuju se prazne i automatski se ponovno učitavaju kad ih kliknete. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium treba dopuštenje za fotoaparat i mikrofon za ovu web-lokaciju</translation>
 <translation id="2483889755041906834">U Chromiumu</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
@@ -142,6 +143,7 @@
 <translation id="4285930937574705105">Instalacija nije uspjela zbog nepoznate pogreške. Ako je Chromium trenutačno otvoren, zatvorite ga i pokušajte ponovo.</translation>
 <translation id="4304713468139749426">Upravitelj zaporki</translation>
 <translation id="4334294535648607276">Preuzimanje je dovršeno.</translation>
+<translation id="437317747729858884">Da bi vaše pregledavanje bilo brže, Chromium vraća memoriju s kartica koje ne upotrebljavate.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> zahtijeva da pročitate i prihvatite sljedeće uvjete pružanja usluge prije upotrebe ovog uređaja. Ti uvjeti ne predstavljaju proširenje, izmjenu ili ograničenje uvjeta Chromium OS-a.</translation>
 <translation id="4407044323746248786">Želite li ipak zatvoriti Chromium?</translation>
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
@@ -311,6 +313,7 @@
 <translation id="7872446069773932638">Preuzimanje... Još <ph name="SECONDS" /> s</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete upravljati svojim podacima<ph name="END_BOLD" />: da bismo zaštitili vašu privatnost, automatski brišemo vaše interese starije od četiri tjedna. Tijekom vašeg daljnjeg pregledavanja neki se interes može ponovo pojaviti na popisu. Možete i ukloniti interese za koje ne želite da ih Chromium razmatra.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Prijavite se ponovo istim računom.</translation>
+<translation id="7947085610734123927">Chromium je uključio štednju memorije</translation>
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromiuma, pa on ne može biti vaš zadani preglednik.</translation>
 <translation id="7997934263947464652">Proširenja, aplikacije i teme iz nepoznatih izvora mogu naštetiti vašem uređaju. Chromium preporučuje da ih instalirate samo s usluge <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web-lokacije će vas moći tražiti pristup.</translation>
@@ -336,6 +339,7 @@
 <translation id="8558383651099478961">Tvoj je roditelj isključio "Dopuštenja za web-lokacije, aplikacije i proširenja" za Chromium. Nije dopušteno dodati <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8561285221328166383">Da biste primali buduća Chromiumova ažuriranja, trebat će vam macOS 10.13 ili novija verzija. Na ovom se računalu upotrebljava macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium može provjeriti vaše zaporke kad se prijavite Google računom</translation>
+<translation id="8574036838419011058">Kad je to uključeno, Chromium štedi bateriju ograničavajući pozadinsku aktivnost i vizualne efekte, kao što je glatko pomicanje i broj sličica u sekundi videozapisa. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromiuma. Sva prava pridržana.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Kako upotrebljavamo te podatke<ph name="END_BOLD" />: web-lokacije mogu pohraniti informacije o vašim interesima u Chromium. Na primjer, ako posjetite neku web-lokaciju da biste kupili tenisice za maraton, ta web-lokacija može definirati vaš interes kao trčanje maratona. Ako poslije posjetite neku drugu web-lokaciju da biste se registrirali za utrku, ta vam web-lokacija može prikazati oglas za tenisice za trčanje na temelju vaših interesa.</translation>
 <translation id="8619360774459241877">Pokretanje Chromiuma...</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb
index bcc7172..16aec38 100644
--- a/chrome/app/resources/chromium_strings_hu.xtb
+++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">Tovább</translation>
 <translation id="2384373936468275798">A ChromiumOS nem tudta szinkronizálni az adatokat, mert a fiók bejelentkezési adatai elavultak.</translation>
 <translation id="2396765026452590966">A(z) <ph name="EXTENSION_NAME" /> bővítmény módosította, hogy melyik oldal jelenjen meg a Chromium indításakor.</translation>
+<translation id="2400844369696905771">Ha be van kapcsolva, a Chromium visszaveszi a memóriát azoktól a lapoktól, amelyeket nem használ aktívan. Ez felszabadítja a számítógép erőforrásait más feladatok elvégzéséhez, így a Chromium gyors marad. Az inaktív lapok üresnek látszanak, és ha rájuk kattint, automatikusan újratöltődnek. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation>
 <translation id="2401032172288869980">A Chromiumnak kamera- és mikrofonhasználati engedélyre van szüksége ehhez a webhelyhez</translation>
 <translation id="2483889755041906834">A Chromiumban</translation>
 <translation id="2485422356828889247">Eltávolítás</translation>
@@ -142,6 +143,7 @@
 <translation id="4285930937574705105">A telepítés váratlan hiba miatt nem sikerült. Ha a Chromium jelenleg fut, zárja be, majd próbálkozzon újra.</translation>
 <translation id="4304713468139749426">Jelszókezelő</translation>
 <translation id="4334294535648607276">A letöltés befejeződött.</translation>
+<translation id="437317747729858884">A böngészés felgyorsítása érdekében a Chromium visszaveszi a memóriát a nem használt lapoktól.</translation>
 <translation id="439358628917130594">A(z) <ph name="MANAGER" /> megköveteli, hogy olvassa, majd fogadja el a következő Általános Szerződési Feltételeket, mielőtt használná ezt az eszközt. Ezek a feltételek nem bővítik, módosítják vagy korlátozzák a ChromiumOS feltételeit.</translation>
 <translation id="4407044323746248786">Biztosan kilép a Chromiumból?</translation>
 <translation id="4415566066719264597">A Chromium futhat a háttérben</translation>
@@ -309,6 +311,7 @@
 <translation id="7872446069773932638">Letöltés… <ph name="SECONDS" /> másodperc van hátra</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Az adatok kezelésének módja:<ph name="END_BOLD" /> Adatai védelme érdekében a négy hétnél régebbi érdeklődési köreit automatikusan töröljük. Böngészési tevékenysége alapján az érdeklődési körök újra megjelenhetnek a listákon. Arra is lehetősége van, hogy eltávolítsa azokat az érdeklődési köröket, amelyeket nem szeretne, hogy a Chromium figyelembe vegyen.</translation>
 <translation id="7937630085815544518"><ph name="USER_EMAIL_ADDRESS" /> néven volt bejelentkezve a Chromiumba. Kérjük, ugyanazzal a fiókkal jelentkezzen be újra.</translation>
+<translation id="7947085610734123927">A Chromium bekapcsolta a memóriatakarékos módot</translation>
 <translation id="7975919845073681630">Ez a Chromium második telepítése, amelyet nem állíthat be az alapértelmezett böngészővé.</translation>
 <translation id="7997934263947464652">Az ismeretlen forrásból származó bővítmények, alkalmazások és témák károsíthatják az eszközt. A Chromium azt javasolja, hogy csak a következő helyről telepítse őket: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Miután hozzáférést biztosított a Chromiumnak, a webhelyek is hozzáférést kérhetnek.</translation>
@@ -334,6 +337,7 @@
 <translation id="8558383651099478961">Szülőd kikapcsolta a Chromium „Engedélyek webhelyek, alkalmazások és bővítmények számára” beállítását. A(z) <ph name="EXTENSION_TYPE_PARAMETER" /> nem telepíthető.</translation>
 <translation id="8561285221328166383">Ha a jövőben Chromium-frissítéseket szeretne kapni, akkor a macOS 10.13-as vagy újabb verziójára lesz szüksége. Ezen a számítógépen a macOS X 10.12 fut.</translation>
 <translation id="8568283329061645092">A Chromium ellenőrizni tudja a mentett jelszavakat, ha Ön bejelentkezik Google-fiókjával</translation>
+<translation id="8574036838419011058">Ha be van kapcsolva, a Chromium kíméli az akkumulátort: korlátozza a háttértevékenységeket és a vizuális effekteket, például a finomgörgetést és a videók képkockasebességét. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> – A Chromium szerzői. Minden jog fenntartva.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Az adatok felhasználási módja:<ph name="END_BOLD" /> A webhelyek tárolhatnak az Ön érdeklődési köreivel kapcsolatos információkat a Chromiumban. Ha például felkeres egy webhelyet, ahol maratonfutáshoz való cipőt vásárol, akkor a webhely meghatározhatja a maratonfutást az Ön egyik érdeklődési köreként. Ha később felkeres egy másik webhelyet, hogy jelentkezzen egy versenyre, ezen a webhelyen megjelenhet egy futócipőket reklámozó hirdetés az Ön érdeklődési köre alapján.</translation>
 <translation id="8619360774459241877">Chromium indítása…</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb
index 58c8b29..ac6d39b2 100644
--- a/chrome/app/resources/chromium_strings_id.xtb
+++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Data Chromium yang dibuat selama penggunaan profil ini (seperti pembuatan bookmark, histori, sandi, dan setelan lain) dapat dihapus oleh administrator profil kerja. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Terjadi error pada sistem operasi saat pemasangan berlangsung. Download Chromium lagi.</translation>
 <translation id="2661879430930417727">Jika Anda berbagi perangkat, teman dan keluarga dapat menjelajah secara terpisah dan menyiapkan Chromium sesuai keinginannya</translation>
+<translation id="2669853942967761236">Chromium memblokir file arsip ini karena dapat menyembunyikan malware</translation>
 <translation id="268602741124540128">Selamat Datang di Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Tab Chromium</translation>
 <translation id="2718390899429598676">Untuk keamanan tambahan, Chromium akan mengenkripsi data Anda.</translation>
diff --git a/chrome/app/resources/chromium_strings_is.xtb b/chrome/app/resources/chromium_strings_is.xtb
index 457e0c3..2d5a38fa 100644
--- a/chrome/app/resources/chromium_strings_is.xtb
+++ b/chrome/app/resources/chromium_strings_is.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">Stjórnandi vinnuprófíla getur fjarlægt öll Chromium gögn sem verða til við notkun þessa prófíls (þ.m.t. bókamerki, feril, aðgangsorð og aðrar stillingar). <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Stýrikerfisvilla kom upp við uppsetningu. Sæktu Chromium aftur.</translation>
 <translation id="2661879430930417727">Ef nokkrir deila sama tæki geta vinir og fjölskyldumeðlimir vafrað hver á sínum prófíl og sett Chromium upp eins og hverjum og einum líkar best</translation>
+<translation id="2669853942967761236">Chromium lokaði fyrir þessa geymslu þar sem hún kann að innihalda spilliforrit</translation>
 <translation id="268602741124540128">Velkomin(n) í Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium flipi</translation>
 <translation id="2718390899429598676">Chromium dulkóðar gögnin þín til að auka öryggið.</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb
index 97028e6..ea1b010 100644
--- a/chrome/app/resources/chromium_strings_it.xtb
+++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Tutti i dati di Chromium generati durante l'utilizzo di questo profilo (come i preferiti, la cronologia, le password e altre impostazioni) possono essere rimossi dall'amministratore del profilo di lavoro. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Durante l'installazione si è verificato un errore del sistema operativo. Scarica di nuovo Chromium.</translation>
 <translation id="2661879430930417727">Se condividi un dispositivo, i tuoi amici e la tua famiglia possono navigare separatamente e configurare Chromium in base alle proprie esigenze</translation>
+<translation id="2669853942967761236">Chromium ha bloccato questo file di archivio perché potrebbe nascondere malware</translation>
 <translation id="268602741124540128">Ti diamo il benvenuto in Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Scheda Chromium</translation>
 <translation id="2718390899429598676">Per maggiore sicurezza, Chromium cripterà i tuoi dati.</translation>
diff --git a/chrome/app/resources/chromium_strings_ka.xtb b/chrome/app/resources/chromium_strings_ka.xtb
index 25b2a33..47fd0cc 100644
--- a/chrome/app/resources/chromium_strings_ka.xtb
+++ b/chrome/app/resources/chromium_strings_ka.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">ამ პროფილის გამოყენებისას შექმნილი Chromium მონაცემების (მაგ., შექმნილი სანიშნეების, ისტორიის, პაროლებისა და სხვა პარამეტრების) ამოშლა შეუძლია სამსახურის პროფილის ადმინისტრატორს. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">ინსტალაციის დროს ოპერაციული სისტემის შეცდომა მოხდა. ხელახლა ჩამოტვირთეთ Chromium.</translation>
 <translation id="2661879430930417727">თუ საზიარო მოწყობილობა გაქვთ, თქვენს მეგობრებსა და ოჯახის წევრებს შეუძლიათ ვების დამოუკიდებლად დათვალიერება და Chromium-ის საკუთარი შეხედულებისამებრ დაყენება</translation>
+<translation id="2669853942967761236">Chromium-მა დაბლოკა არქივის ეს ფაილი, ვინაიდან მასში, შესაძლოა, იმალებოდეს მავნე პროგრამა</translation>
 <translation id="268602741124540128">მოგესალმებათ Chromium-ზე, <ph name="ACCOUNT_FIRST_NAME" />!</translation>
 <translation id="2711502716910134313">Chromium-ის ჩანართი</translation>
 <translation id="2718390899429598676">დამატებითი უსაფრთხოებისთვის, Chromium თქვენს მონაცემებს დაშიფრავს.</translation>
diff --git a/chrome/app/resources/chromium_strings_km.xtb b/chrome/app/resources/chromium_strings_km.xtb
index 53ccc1d..ea4193a 100644
--- a/chrome/app/resources/chromium_strings_km.xtb
+++ b/chrome/app/resources/chromium_strings_km.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">អ្នកគ្រប់គ្រងកម្រងព័ត៌មានការងារអាចលុបទិន្នន័យ Chromium ទាំងឡាយ ដែលបង្កើតអំឡុងពេលប្រើកម្រងព័ត៌មាននេះ (ដូចជាការបង្កើតចំណាំ ប្រវត្តិ ពាក្យសម្ងាត់ និងការកំណត់ផ្សេងទៀត)។ <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">កំហុសឆ្គងប្រព័ន្ធប្រតិបត្តិការបានកើតឡើងកំឡុងពេលតំឡើង។ សូមទាញយក Chromium ម្តងទៀត។</translation>
 <translation id="2661879430930417727">ប្រសិនបើអ្នកចែករំលែកឧបករណ៍ណាមួយ មិត្តភ័ក្ដិ និងគ្រួសាររបស់អ្នកអាចរុករកដាច់ដោយឡែក ព្រមទាំងរៀបចំ Chromium តាមអ្វីដែលពួកគេចង់បាន</translation>
+<translation id="2669853942967761236">Chromium បាន​ទប់ស្កាត់​ឯកសារ​បណ្ណសារ​នេះ ដោយសារ​ឯកសារនេះ​អាច​លាក់​កម្មវិធីគ្រោះថ្នាក់</translation>
 <translation id="268602741124540128">ស្វាគមន៍មកកាន់ Chromium <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">ផ្ទាំង Chromium</translation>
 <translation id="2718390899429598676">ដើម្បីទទួលបានសុវត្ថិភាពបន្ថែម Chromium នឹងអ៊ិនគ្រីបទិន្នន័យរបស់អ្នក។</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb
index af6e830..377f646f 100644
--- a/chrome/app/resources/chromium_strings_ko.xtb
+++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">북마크, 방문 기록, 비밀번호, 기타 설정 생성 등 이 프로필을 사용하는 동안 생성된 모든 Chromium 데이터는 직장 프로필 관리자가 삭제할 수 있습니다. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">설치 중 운영체제 오류가 발생했습니다. Chromium을 다시 다운로드하세요.</translation>
 <translation id="2661879430930417727">기기를 공유하는 경우 친구와 가족이 개별적으로 탐색하고 원하는 대로 Chromium을 설정할 수 있습니다.</translation>
+<translation id="2669853942967761236">멀웨어가 숨겨져 있을 수 있어 Chromium에서 이 보관 파일을 차단했습니다.</translation>
 <translation id="268602741124540128"><ph name="ACCOUNT_FIRST_NAME" />님, Chromium에 오신 것을 환영합니다</translation>
 <translation id="2711502716910134313">Chromium 탭</translation>
 <translation id="2718390899429598676">보안 강화를 위해 Chromium에서 사용자 데이터를 암호화합니다.</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb
index dc69fda..4d5307b2 100644
--- a/chrome/app/resources/chromium_strings_lt.xtb
+++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">Visus „Chromium“ duomenis, sugeneruotus naudojant šį profilį (pvz., sukurtas žymes, istoriją, slaptažodžius ir kitus nustatymus), gali pašalinti darbo profilio administratorius. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Diegiant įvyko operacinės sistemos klaida. Atsisiųskite „Chromium“ dar kartą.</translation>
 <translation id="2661879430930417727">Jei bendrinate įrenginį, šeimos nariai ir draugai gali naršyti atskirai ir nustatyti „Chromium“ pagal savo poreikius</translation>
+<translation id="2669853942967761236">„Chromium“ užblokavo šį archyvo failą, nes jis gali slėpti kenkėjiškas programas</translation>
 <translation id="268602741124540128">Sveiki, <ph name="ACCOUNT_FIRST_NAME" />, tai – „Chromium“</translation>
 <translation id="2711502716910134313">„Chromium“ skirtukas</translation>
 <translation id="2718390899429598676">Kad būtų papildomai užtikrintas saugumas, „Chromium“ užšifruos jūsų duomenis.</translation>
diff --git a/chrome/app/resources/chromium_strings_mk.xtb b/chrome/app/resources/chromium_strings_mk.xtb
index 3aebfbe..d2139ed 100644
--- a/chrome/app/resources/chromium_strings_mk.xtb
+++ b/chrome/app/resources/chromium_strings_mk.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Продолжи</translation>
 <translation id="2384373936468275798">Chromium OS не може да ги синхронизира податоците бидејќи деталите за најавување на сметката се застарени.</translation>
 <translation id="2396765026452590966">Екстензијата „<ph name="EXTENSION_NAME" />“ ја смени страницата што се прикажува кога го стартувате Chromium.</translation>
+<translation id="2400844369696905771">Кога е вклучено, Chromium ја зема меморијата на картичките што активно не ги користите. Така се ослободуваат ресурсите на компјутерот за други задачи и Chromium ја задржува брзината. Неактивните картички се прикажуваат празни и автоматски се вчитуваат повторно кога ќе кликнете на нив. <ph name="BEGIN_LINK" />Дознајте повеќе<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">На Chromium му треба дозволи за камерата и микрофонот за сајтов</translation>
 <translation id="2483889755041906834">Во Chromium</translation>
 <translation id="2485422356828889247">Деинсталирај</translation>
@@ -145,6 +146,7 @@
 <translation id="4285930937574705105">Инсталирањето не успеа поради неназначена грешка. Ако Chromium моментално работи, затворете го и обидете се повторно.</translation>
 <translation id="4304713468139749426">Управник со лозинки</translation>
 <translation id="4334294535648607276">Преземањето заврши.</translation>
+<translation id="437317747729858884">За побрзо прелистување, Chromium ја зема меморијата на картичките што не ги користите.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> бара да ги прочитате и да ги прифатите следните „Услови за користење“ пред да го користите уредов. Овие услови не ги прошируваат, менуваат или ограничуваат „Условите на Chromium OS“.</translation>
 <translation id="4407044323746248786">Сепак да се излезе од Chromium?</translation>
 <translation id="4415566066719264597">Остави го Chromium да работи во заднина</translation>
@@ -314,6 +316,7 @@
 <translation id="7872446069773932638">Се презема… Уште <ph name="SECONDS" /> сек.</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Како може да управувате со вашите податоци:<ph name="END_BOLD" /> заради заштита на вашата приватност, автоматски ги бришеме вашите интереси што се постари од 4 седмици. Додека прелистувате, може да се појави интерес на списокот повторно. Или можете да ги отстраните интересите што не сакате Chromium да ги зема предвид.</translation>
 <translation id="7937630085815544518">Бевте најавени на Chromium како <ph name="USER_EMAIL_ADDRESS" />. Користете ја истата сметка за повторно да се најавите.</translation>
+<translation id="7947085610734123927">Chromium го вклучи „Штедачот на меморија“</translation>
 <translation id="7975919845073681630">Ова е второстепена инсталација на Chromium и затоа не може да биде стандарден прелистувач.</translation>
 <translation id="7997934263947464652">Екстензии, апликации и теми од непознати извори може да му наштетат на вашиот уред. Chromium препорачува да ги инсталирате само од <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Ако Chromium има пристап, тогаш и веб-сајтовите ќе може да ви бараат пристап.</translation>
@@ -339,6 +342,7 @@
 <translation id="8558383651099478961">Родителот ги исклучил „Дозволите за сајтови, апликации и екстензии“ за Chromium. Не е дозволено додавањето на оваа <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8561285221328166383">За да добивате идни ажурирања на Chromium, потребен ви е macOS 10.13 или понова верзија. Компјутеров користи macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium може да ги проверува вашите лозинки кога ќе се најавите со вашата сметка на Google</translation>
+<translation id="8574036838419011058">Кога е вклучен, Chromium ја штеди батеријата со ограничување на активностите во заднина и визуелните ефекти, како непречено лизгање и стапки на слики на видеата. <ph name="BEGIN_LINK" />Дознајте повеќе<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Авторски права <ph name="YEAR" /> на Авторите на Chromium. Сите права се задржани.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Како ги користиме овие податоци:<ph name="END_BOLD" /> сајтовите може да ги зачувуваат податоците со Chromium за вашите интереси. На пример, ако посетите сајт за да купите патики за маратон, сајтот може да дефинира дека вашиот интерес е трчање маратони. Подоцна ако посетите друг сајт за да се регистрирате за трка, тој сајт може да ви прикаже реклама за патики за трчање според вашите интереси.</translation>
 <translation id="8619360774459241877">Се стартува Chromium…</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb
index 4e77d7f..5bbbe48 100644
--- a/chrome/app/resources/chromium_strings_ml.xtb
+++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">ഈ പ്രൊഫൈലിന്റെ ഉപയോഗത്തിനിടയിൽ ഉണ്ടായ ഏത് Chromium ഡാറ്റയും (ബുക്ക്‌മാർക്കുകൾ, ചരിത്രം, പാസ്‌വേഡുകൾ, മറ്റ് ക്രമീകരണം എന്നിവ സൃഷ്ടിക്കൽ പോലുള്ളവ) ഔദ്യോഗിക പ്രൊഫൈൽ അഡ്മിന് നീക്കം ചെയ്യാനാകും. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനിടെ ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പിശക് സംഭവിച്ചു. Chromium വീണ്ടും ഡൗൺലോഡ് ചെയ്യുക.</translation>
 <translation id="2661879430930417727">നിങ്ങളൊരു ഉപകരണം പങ്കിടുകയാണെങ്കിൽ, സുഹൃത്തുക്കൾക്കും കുടുബാംഗങ്ങൾക്കും വെവ്വേറെ ബ്രൗസ് ചെയ്യാനും അവർക്ക് താൽപ്പര്യമുള്ള തരത്തിൽ Chromium സജ്ജീകരിക്കാനുമാകും</translation>
+<translation id="2669853942967761236">മാൽവെയർ മറച്ചേക്കാമെന്നതിനാൽ Chromium ഈ ആർക്കൈവ് ഫയൽ ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു</translation>
 <translation id="268602741124540128">Chromium-ത്തിലേക്ക് സ്വാഗതം, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium ടാബ്</translation>
 <translation id="2718390899429598676">അധിക സുരക്ഷക്കായി, Chromium നിങ്ങളുടെ ഡാറ്റ എന്‍‌ക്രിപ്റ്റ് ചെയ്യും.</translation>
diff --git a/chrome/app/resources/chromium_strings_mn.xtb b/chrome/app/resources/chromium_strings_mn.xtb
index 61d8237..5490470 100644
--- a/chrome/app/resources/chromium_strings_mn.xtb
+++ b/chrome/app/resources/chromium_strings_mn.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Цааш</translation>
 <translation id="2384373936468275798">Таны бүртгэлийн нэвтрэх дэлгэрэнгүй мэдээлэл хуучирсан тул ChromiumOS таны өгөгдлийг синк хийж чадсангүй.</translation>
 <translation id="2396765026452590966">"<ph name="EXTENSION_NAME" />" өргөтгөл нь таныг Chromium эхлүүлэх үед хуудасны харуулах зүйлийг өөрчилсөн.</translation>
+<translation id="2400844369696905771">Асаалттай үед Chromium таны идэвхтэй ашиглахгүй байгаа табуудаас санах ойг сэргээнэ. Ингэснээр таны компьютерын нөөцийг бусад ажилд зориулж чөлөөлөх бөгөөд Chromium-г хурдтай байлгана. Идэвхгүй табууд хоосон харагдах бөгөөд таныг тэдгээр дээр товшиход автоматаар дахин ачаална. <ph name="BEGIN_LINK" />Нэмэлт мэдээлэл авах<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium-д энэ сайтад зориулж камер болон микрофоны зөвшөөрөл шаардлагатай</translation>
 <translation id="2483889755041906834">Chromium-д</translation>
 <translation id="2485422356828889247">Устгах</translation>
@@ -143,6 +144,7 @@
 <translation id="4285930937574705105">Гэнэтийн асуудлаас болж суулгах ажиллагаа амжилтгүй боллоо. Хэрвээ Chromium яг одоо ажиллаж байгаа бол хаагаад дахин оролдож үзнэ үү.</translation>
 <translation id="4304713468139749426">Нууц үгний менежер</translation>
 <translation id="4334294535648607276">Татаж дууслаа.</translation>
+<translation id="437317747729858884">Таны үзэлтийг илүү хурдан болгохын тулд Chromium таны ашиглаагүй табуудын санах ойг сэргээнэ.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> танаас энэ төхөөрөмжийг ашиглахаасаа өмнө дараах үйлчилгээний нөхцөлийг уншиж, зөвшөөрөхийг шаардаж байна. Эдгээр нөхцөл нь ChromiumOS-н нөхцөлийг өргөтгөх, өөрчлөх эсвэл хязгаарлахгүй.</translation>
 <translation id="4407044323746248786">Ямар ч байсан Chromium-с гарах уу?</translation>
 <translation id="4415566066719264597">Chromium-г цаана ажиллуулахыг зөвшөөрөх</translation>
@@ -310,6 +312,7 @@
 <translation id="7872446069773932638">Татаж байна... <ph name="SECONDS" /> секунд үлдсэн</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Та өгөгдлөө хэрхэн удирдах боломжтой вэ?:<ph name="END_BOLD" /> Таны нууцлалыг хамгаалахын тулд бид таны 4 долоо хоногоос дээш хугацаатай сонирхлыг автоматаар устгадаг. Таныг үргэлжлүүлэн үзэх үед сонирхол нь жагсаалтад дахин харагдаж магадгүй. Эсвэл та Chromium-г бодож үзэхгүй байхыг хүсэж буй сонирхлоо хасах боломжтой.</translation>
 <translation id="7937630085815544518">Та Chromium-д <ph name="USER_EMAIL_ADDRESS" />-аар нэвтэрсэн байна. Нэвтрэхийн тулд ижил данс хэрэглэнэ үү.</translation>
+<translation id="7947085610734123927">Chromium Санах ой хэмнэгчийг асаасан</translation>
 <translation id="7975919845073681630">Энэ нь Chromium-н хоёр дахь суулгалт тул таны өгөгдмөл хөтчөөр сонгох боломжгүй.</translation>
 <translation id="7997934263947464652">Тодорхойгүй эх сурвалжийн өргөтгөл, апп болон загвар нь таны төхөөрөмжийг гэмтээх боломжтой. Chromium тэдгээрийг зөвхөн <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-с суулгахыг зөвлөж байна</translation>
 <translation id="8013436988911883588">Chromium-д хандалт олгосны дараа веб сайтууд таны хандалтыг асуух боломжтой болно.</translation>
@@ -335,6 +338,7 @@
 <translation id="8558383651099478961">Таны эцэг эх Chromium-н "Сайтууд, аппууд болон өргөтгөлүүдийн зөвшөөрөл"-ийг унтраасан байна. Энэ <ph name="EXTENSION_TYPE_PARAMETER" />-г нэмэхийг зөвшөөрдөггүй.</translation>
 <translation id="8561285221328166383">Chromium-н цаашдын шинэчлэлтийг авахын тулд танд macOS 10.13 эсвэл түүнээс хойших хувилбар хэрэгтэй болно. Энэ компьютер macOS 10.12 хувилбарыг ашиглаж байна.</translation>
 <translation id="8568283329061645092">Chromium нь таныг Google Бүртгэлээрээ нэвтрэх үед таны нууц үгсийг шалгах боломжтой</translation>
+<translation id="8574036838419011058">Асаалттай үед Chromium жигд гүйлгэх болон видеоны фреймийн хурд зэрэг дэвсгэрийн үйл ажиллагаа болон визуал эффектийг хязгаарласнаар батарейн цэнэгийг хадгална. <ph name="BEGIN_LINK" />Нэмэлт мэдээлэл авах<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Chromium-ийн зохиогчийн эрх <ph name="YEAR" />. Бүх эрхийг хуулиар хамгаалсан.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Бид энэ өгөгдлийг хэрхэн ашигладаг вэ?:<ph name="END_BOLD" /> Сайтууд Chromium-р таны сонирхлын талаарх мэдээллийг хадгалах боломжтой. Жишээлбэл, та марафонд зориулж гутал авахаар сайтад зочилсон бол тухайн сайт таны сонирхлыг марафонд гүйх гэж тодорхойлж магадгүй. Дараа та уралдаанд бүртгүүлэхийн тулд өөр сайтад зочилсон бол тухайн сайт таны сонирхолд тулгуурлан танд гүйлтийн гутлын зарыг харуулах боломжтой.</translation>
 <translation id="8619360774459241877">Chromium-г эхлүүлж байна...</translation>
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb
index 8e1cfda..90f5c54 100644
--- a/chrome/app/resources/chromium_strings_mr.xtb
+++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -62,6 +62,7 @@
 <translation id="2583187216237139145">या प्रोफाइलच्या वापरादरम्यान जनरेट केला गेलेला कोणताही Chromium डेटा (जसे की बुकमार्क, इतिहास, पासवर्ड आणि इतर सेटिंग्जची निर्मिती) कार्य प्रोफाइल अ‍ॅडमिनिस्ट्रेटरला हटवता येतो. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">स्‍थापनेदरम्‍यान ऑपरेटिंग सिस्टीम एरर आली. कृपया Chromium पुन्‍हा डाउनलोड करा.</translation>
 <translation id="2661879430930417727">तुम्ही डिव्हाइस शेअर केल्यास, मित्रमैत्रिणी आणि कुटुंब स्वतंत्रपणे ब्राउझ करू शकतात आणि त्यांना हवे तसे Chromium सेट करू शकतात</translation>
+<translation id="2669853942967761236">Chromium ने ही संग्रहण फाइल ब्लॉक केली, कारण त्यामध्ये मालवेअर लपलेले असू शकते</translation>
 <translation id="268602741124540128">Chromium वर स्‍वागत आहे, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium टॅब</translation>
 <translation id="2718390899429598676">अतिरिक्त सुरक्षिततेसाठी, Chromium तुमचा डेटा एंक्रिप्ट करेल.</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb
index 0c03762..41f9cd2 100644
--- a/chrome/app/resources/chromium_strings_ms.xtb
+++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Sebarang data Chromium yang dijana semasa penggunaan profil ini (seperti pembuatan penanda halaman, sejarah, kata laluan dan tetapan lain) boleh dialih keluar oleh pentadbir profil kerja. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Ralat sistem pengendalian berlaku semasa pemasangan. Sila muat turun Chromium semula.</translation>
 <translation id="2661879430930417727">Jika anda berkongsi peranti, rakan dan keluarga boleh menyemak imbas secara terpisah dan menyediakan Chromium sebagaimana yang mereka ingini</translation>
+<translation id="2669853942967761236">Chromium menyekat fail arkib ini kerana fail ini mungkin menyembunyikan perisian hasad</translation>
 <translation id="268602741124540128">Selamat datang ke Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Tab Chromium</translation>
 <translation id="2718390899429598676">Untuk keselamatan tambahan, Chromium akan menyulitkan data anda.</translation>
diff --git a/chrome/app/resources/chromium_strings_my.xtb b/chrome/app/resources/chromium_strings_my.xtb
index 945abfc3..f9e6df46 100644
--- a/chrome/app/resources/chromium_strings_my.xtb
+++ b/chrome/app/resources/chromium_strings_my.xtb
@@ -56,6 +56,7 @@
 <translation id="2359808026110333948">ဆက်လုပ်ရန်</translation>
 <translation id="2384373936468275798">သင်၏အကောင့် လက်မှတ်ထိုးဝင်ခြင်း အသေးစိတ်များမှာ ဟောင်းသွားသဖြင့် ChromiumOS သည် ဒေတာကို စင့်ခ်လုပ်မပေးနိုင်ပါ။</translation>
 <translation id="2396765026452590966">သင် Chromium အား စသုံးသောအခါ စာမျက်နှာမှ ပြသသည်ကို ဤ "<ph name="EXTENSION_NAME" />" တိုးချဲလိုင်းမှ ပြောင်းလဲခဲ့၏။</translation>
+<translation id="2400844369696905771">ဖွင့်ထားပါက Chromium သည် လက်ရှိ အသုံးမပြုသည့်တဘ်များမှ မှတ်ဉာဏ်ကို ပြန်လည်ရယူသည်။ ၎င်းက အခြားလုပ်ဆောင်စရာများအတွက် သင့်ကွန်ပျူတာ၏ ရင်းမြစ်များကို ရှင်းလင်းပေးပြီး Chromium ကို လျင်မြန်စေသည်။ အသုံးမပြုသည့် တဘ်များက အလွတ်ပုံဖြစ်နေပြီး ၎င်းတို့ကိုနှိပ်သောအခါ အလိုအလျောက် ပြန်လည်စတင်သည်။ <ph name="BEGIN_LINK" />ပိုမိုလေ့လာရန်<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium သည် ဤဝဘ်ဆိုက်အတွက် ကင်မရာနှင့် မိုက်ခရိုဖုန်းခွင့်ပြုချက် လိုအပ်သည်</translation>
 <translation id="2483889755041906834">Chromium တွင်</translation>
 <translation id="2485422356828889247">ဖြုတ်ရန်</translation>
@@ -64,6 +65,7 @@
 <translation id="2583187216237139145">ဤပရိုဖိုင်အသုံးပြုစဉ်အတွင်း ရရှိလာသော Chromium ဒေတာမှန်သမျှ (လိပ်စာများ၊ မှတ်တမ်း၊ စကားဝှက်နှင့် အခြားဆက်တင်များပြုလုပ်ခြင်း ကဲ့သို့) ကို အလုပ်ပရိုဖိုင် စီမံခန့်ခွဲသူက ဖယ်ရှားနိုင်သည်။ <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">တပ်ဆင်နေခိုက်မှာ လည်ပတ်မှု စနစ်ဆိုင်ရာ အမှား ကြုံခဲ့ရသည်။ ကျေးဇူးပြုပြီး Chromium ထပ်ပြီး ဒေါင်းလုဒ် လုပ်ယူပါ။</translation>
 <translation id="2661879430930417727">စက်ကို မျှဝေအသုံးပြုပါက မိတ်ဆွေများနှင့် မိသားစုသည် သီးခြားစီဝင်ကြည့်နိုင်ပြီး သူတို့စိတ်ကြိုက်ပုံစံဖြင့် Chromium ကို စနစ်ထည့်သွင်းနိုင်သည်</translation>
+<translation id="2669853942967761236">ဤမှတ်တမ်းဖိုင်သည် မဲလ်ဝဲ ကို ဝှက်ထားနိုင်သဖြင့် Chromium က ပိတ်ထားသည်</translation>
 <translation id="268602741124540128">Chromium က ကြိုဆိုပါသည် <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium တဘ်</translation>
 <translation id="2718390899429598676">လုံခြုံမှု ပိုမိုရှိစေရန်၊ Chromium သည် သင့်ဒေတာအား လျှို့ဝှက်အသွင်ပြောင်းမည် ဖြစ်၏။</translation>
@@ -145,6 +147,7 @@
 <translation id="4285930937574705105">မသိရသည့် အမှားတစ်ခုကြောင့် တပ်ဆင်မှု မအေင်မြင်ခဲ့ပါ။ Chromium သည် လောလောဆယ်မှာ အလုပ်လုပ်နေလျှင်၊ ကျေးဇူးပြုပြီး ၎င်းကို ပိတ်လိုက်ကာ ထပ်စမ်းကြည့်ပါ။</translation>
 <translation id="4304713468139749426">စကားဝှက်မန်နေဂျာ</translation>
 <translation id="4334294535648607276">ဒေါင်းလုဒ်လုပ်ခြင်း ပြီးပါပြီ။</translation>
+<translation id="437317747729858884">သင်၏ကြည့်ရှုမှု ပိုမြန်ဆန်စေရန် Chromium သည် အသုံးမပြုသည့် တဘ်များမှ မှတ်ဉာဏ်ကို ပြန်လည်ရယူသည်။</translation>
 <translation id="439358628917130594">ဤစက်ကိုမသုံးမီ အောက်ပါ ‘ဝန်ဆောင်မှုစည်းမျဉ်းများ’ ကို ဖတ်ရှုပြီး လက်ခံရန် <ph name="MANAGER" /> က သတ်မှတ်ထားသည်။ စည်းမျဉ်းများက ‘ChromiumOS စည်းမျဉ်းများ’ ကို ထပ်ထည့်ခြင်း၊ မွမ်းမံခြင်း သို့မဟုတ် ကန့်သတ်ခြင်း မရှိပါ။</translation>
 <translation id="4407044323746248786">မည်သို့ပင်ဖြစ်စေ Chromium မှ ထွက်လိုပါသလား။</translation>
 <translation id="4415566066719264597">Chromium ကို နောက်ခံတွင် ဖွင့်ခွင့်ပေးပါ</translation>
@@ -315,6 +318,7 @@
 <translation id="7872446069773932638">ဒေါင်းလုဒ်လုပ်နေသည်… <ph name="SECONDS" /> စက္ကန့် ကျန်သည်</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />သင့်ဒေတာကို စီမံနိုင်ပုံ-<ph name="END_BOLD" /> သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် ၄ ပတ်ကျော်ပြီဖြစ်သော သင့်စိတ်ဝင်စားမှုများကို အလိုအလျောက်ဖျက်သည်။ သင်ကြည့်ရှုနေသည့်အတွက် စိတ်ဝင်စားမှုက စာရင်းတွင် ထပ်ပေါ်လာနိုင်သည်။ သို့မဟုတ် Chromium ထည့်မတွက်ရမည့် စိတ်ဝင်စားမှုများကို ဖယ်ရှားနိုင်သည်။</translation>
 <translation id="7937630085815544518">Chromium သို့ <ph name="USER_EMAIL_ADDRESS" /> အဖြစ်သင် ဝင်ရောက်ခဲ့သည်။ ကျေးဇူးပြု၍ တူညီသည့်အကောင့်ကို အသုံးပြုကာ ထပ်မံဝင်ရောက်ပါ။</translation>
+<translation id="7947085610734123927">Chromium က ‘မှတ်ဉာဏ် ချွေတာစနစ်’ ဖွင့်ထားသည်</translation>
 <translation id="7975919845073681630">ဤသည်မှာ Chromium ကို အရန်သဘော ထည့်သွင်းခြင်းဖြစ်ပြီး သင်၏မူရင်းဘရောင်ဇာအဖြစ် ၎င်းကို အသုံးပြု၍မရနိုင်ပါ။</translation>
 <translation id="7997934263947464652">မူရင်း မသိရှိသော အရင်းအမြစ်များမှ နောက်ဆက်တွဲများ၊ အက်ပ်များနှင့် အပြင်ဆင်များသည် သင့်စက်ကို ထိခိုက်စေနိုင်သည်။ ၎င်းတို့ကို <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> မှသာ ထည့်သွင်းရန် Chromium က အကြံပြုပါသည်</translation>
 <translation id="8013436988911883588">Chromium အသုံးပြုခွင့်ရှိသည်နှင့် ဝဘ်ဆိုက်များသည် သင့်ထံခွင့်ပြုချက်တောင်းပါမည်။</translation>
@@ -340,6 +344,7 @@
 <translation id="8558383651099478961">Chromium အတွက် "ဝဘ်ဆိုက်၊ အက်ပ်နှင့် နောက်ဆက်တွဲ ခွင့်ပြုချက်များ" ကို သင့်မိဘက ပိတ်လိုက်သည်။ ဤ <ph name="EXTENSION_TYPE_PARAMETER" /> ထည့်ခြင်းကို ခွင့်မပြုပါ။</translation>
 <translation id="8561285221328166383">နောက်ပိုင်းထွက်မည့် Chromium အပ်ဒိတ်များ ရယူရန် macOS 10.13 နှင့်အထက် လိုအပ်ပါမည်။ ဤကွန်ပျူတာက macOS 10.12 အသုံးပြုနေသည်။</translation>
 <translation id="8568283329061645092">သင်၏ Google Account နှင့် လက်မှတ်ထိုးဝင်သည့်အခါ Chromium က သင့်စကားဝှက်များကို စစ်ဆေးနိုင်သည်</translation>
+<translation id="8574036838419011058">ဖွင့်ထားသောအခါ ချောမွေ့စွာလှိမ့်ခြင်း၊ ဗီဒီယို ဖရိမ်ပြနှုန်းများကဲ့သို့ နောက်ခံလုပ်ဆောင်ချက်နှင့် အမြင်ပိုင်း အထူးပြုလုပ်ချက်များကို ကန့်သတ်ခြင်းဖြင့် Chromium သည် ဘက်ထရီပါဝါကို ချွေတာသည်။ <ph name="BEGIN_LINK" />ပိုမိုလေ့လာရန်<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">မူပိုင်ခွင့် <ph name="YEAR" /> The Chromium ပြုစုသူများ။ မူပိုင်ခွင့်များ အားလုံးကို ချုပ်ထိန်းထားသည်။</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />ဤဒေတာကို အသုံးပြုပုံ-<ph name="END_BOLD" /> ဝဘ်ဆိုက်များသည် သင်၏စိတ်ဝင်စားမှုများကို Chromium တွင် သိမ်းနိုင်သည်။ ဥပမာ မာရသွန်အတွက် ရှူးဖိနပ်ဝယ်ရန် ဝဘ်ဆိုက်တွင်ဝင်ကြည့်ပါက ဝဘ်ဆိုက်သည် သင်၏စိတ်ဝင်စားမှုကို မာရသွန်ပြေးခြင်းအဖြစ် သတ်မှတ်နိုင်သည်။ နောင်တွင် ပြိုင်ပွဲအတွက်စာရင်းသွင်းရန် အခြားဝဘ်ဆိုက်သို့ ဝင်ကြည့်သောအခါ ထိုဝဘ်ဆိုက်က သင်၏စိတ်ဝင်စားမှုများပေါ် အခြေခံပြီး အပြေးဖိနပ်ကြော်ငြာကို ပြနိုင်သည်။</translation>
 <translation id="8619360774459241877">Chromium ကို ဖွင့်နေသည်...</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb
index 3e13f94..7f464a18 100644
--- a/chrome/app/resources/chromium_strings_no.xtb
+++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Alle Chromium-data som genereres mens denne profilen brukes (f.eks. oppretting av bokmerker, logg, passord og andre innstillinger), kan fjernes av administratoren for jobbprofilen. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Det oppsto en systemfeil under installering. Last ned Chromium på nytt.</translation>
 <translation id="2661879430930417727">Hvis du deler en enhet med andre, kan venner og familie surfe hver for seg og konfigurere Chromium akkurat slik de vil</translation>
+<translation id="2669853942967761236">Chromium har blokkert denne arkivfilen fordi den kan inneholde skadelig programvare</translation>
 <translation id="268602741124540128">Velkommen til Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium-fane</translation>
 <translation id="2718390899429598676">Chromium krypterer dataene dine for å øke sikkerheten.</translation>
diff --git a/chrome/app/resources/chromium_strings_or.xtb b/chrome/app/resources/chromium_strings_or.xtb
index 5618952..4e99206 100644
--- a/chrome/app/resources/chromium_strings_or.xtb
+++ b/chrome/app/resources/chromium_strings_or.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">ଏହି ପ୍ରୋଫାଇଲର ବ୍ୟବହାର ସମୟରେ ସୃଷ୍ଟି ହୋଇଥିବା ଯେ କୌଣସି Chromium ଡାଟା (ଯେପରି ବୁକମାର୍କ୍, ଇତିହାସ, ପାସୱାର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସର କ୍ରିଏସନ୍) ୱାର୍କ ପ୍ରୋଫାଇଲ୍ ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କ ଦ୍ୱାରା କାଢ଼ି ଦିଆଯାଇପାରିବ। <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">ଇନ୍‍ଷ୍ଟଲେସନ୍ ସମୟରେ ଏକ ଅପରେଟିଂ ସିଷ୍ଟମ୍ ତ୍ରୁଟି ଦେଖାଦେଲା। ଦୟାକରି Chromium ପୁଣି ଡାଉନ୍‌ଲୋଡ୍ କରନ୍ତୁ।</translation>
 <translation id="2661879430930417727">ଯଦି ଆପଣ ଏକ ଡିଭାଇସକୁ ସେୟାର୍ କରନ୍ତି, ତେବେ ସାଙ୍ଗ ଏବଂ ପରିବାରର ଲୋକମାନେ ଅଲଗା ଭାବରେ ବ୍ରାଉଜ୍ କରିପାରିବେ ଓ ସେମାନଙ୍କ ପସନ୍ଦ ଅନୁସାରେ Chromiumକୁ ସେଟ୍ ଅପ୍ କରିପାରିବେ</translation>
+<translation id="2669853942967761236">Chromium ଏହି ଆର୍କାଇଭ ଫାଇଲକୁ ବ୍ଲକ କରିଛି କାରଣ ଏଥିରେ ମାଲୱେର ଲୁଚି ରହିଥାଇପାରେ</translation>
 <translation id="268602741124540128">Chromiumକୁ ସ୍ଵାଗତ, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium ଟାବ୍</translation>
 <translation id="2718390899429598676">ଅତିରିକ୍ତ ସୁରକ୍ଷା ପାଇଁ, Chromium ଆପଣଙ୍କର ଡାଟା ଏନ୍‍କ୍ରିପ୍ଟ କରିବ।</translation>
diff --git a/chrome/app/resources/chromium_strings_pa.xtb b/chrome/app/resources/chromium_strings_pa.xtb
index 6fd50247..904e3d37 100644
--- a/chrome/app/resources/chromium_strings_pa.xtb
+++ b/chrome/app/resources/chromium_strings_pa.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">ਇਸ ਪ੍ਰੋਫਾਈਲ ਦੀ ਵਰਤੋਂ ਦੇ ਦੌਰਾਨ ਤਿਆਰ ਕੀਤਾ ਕੋਈ ਵੀ Chromium ਡਾਟਾ (ਜਿਵੇਂ ਕਿ ਬੁੱਕਮਾਰਕ, ਇਤਿਹਾਸ, ਪਾਸਵਰਡ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਦੀ ਰਚਨਾ) ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">ਸਥਾਪਤ ਕਰਨ ਦੌਰਾਨ ਇੱਕ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਵਿੱਚ ਗੜਬੜ ਹੋਈ। ਕਿਰਪਾ ਕਰਕੇ Chromium ਨੂੰ ਦੁਬਾਰਾ ਡਾਊਨਲੋਡ ਕਰੋ।</translation>
 <translation id="2661879430930417727">ਜੇ ਤੁਸੀਂ ਕੋਈ ਡੀਵਾਈਸ ਸਾਂਝਾ ਕਰਦੇ ਹੋ, ਤਾਂ ਦੋਸਤ ਅਤੇ ਪਰਿਵਾਰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰ ਸਕਦੇ ਹਨ ਅਤੇ ਆਪਣੇ ਤਰੀਕੇ ਨਾਲ Chromium ਦਾ ਸੈੱਟਅੱਪ ਕਰ ਸਕਦੇ ਹਨ</translation>
+<translation id="2669853942967761236">Chromium ਨੇ ਇਸ ਪੁਰਾਲੇਖ ਫ਼ਾਈਲ ਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਮਾਲਵੇਅਰ ਲੁਕਿਆ ਹੋ ਸਕਦਾ ਹੈ</translation>
 <translation id="268602741124540128">Chromium ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium ਟੈਬ</translation>
 <translation id="2718390899429598676">ਵਾਧੂ ਸੁਰੱਖਿਆ ਲਈ, Chromium ਤੁਹਾਡਾ ਡਾਟਾ ਐਨਕ੍ਰਿਪਟ ਕਰੇਗਾ।</translation>
@@ -166,7 +167,7 @@
 <translation id="4748217263233248895">Chromium ਲਈ ਇੱਕ ਖਾਸ ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ ਹੁਣੇ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸੀ। ਹੁਣੇ ਇਸਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਟੈਬਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕਰਾਂਗੇ।</translation>
 <translation id="4765210420921718862">ਤੁਸੀਂ Chromium ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ ਆਪਣਾ ਮਨ ਬਦਲ ਸਕਦੇ ਹੋ। ਪਰਖਾਂ ਵਿਗਿਆਪਨ ਦਿਖਾਉਣ ਦੇ ਮੌਜੂਦਾ ਤਰੀਕੇ ਦੇ ਨਾਲ-ਨਾਲ ਚੱਲਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਤਬਦੀਲੀਆਂ ਤੁਰੰਤ ਨਹੀਂ ਦਿਸਣਗੀਆਂ।</translation>
 <translation id="4788777615168560705">Chromium ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਸਕਦਾ। 24 ਘੰਟਿਆਂ ਬਾਅਦ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ <ph name="BEGIN_LINK" />ਆਪਣੇ Google ਖਾਤੇ ਵਿੱਚ ਪਾਸਵਰਡਾਂ ਦੀ ਜਾਂਚ ਕਰੋ<ph name="END_LINK" />।</translation>
-<translation id="479167709087336770">ਇਹ Google ਖੋਜ ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਵਤੀਰੇ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ।</translation>
+<translation id="479167709087336770">ਇਹ Google Search ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਵਤੀਰੇ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ।</translation>
 <translation id="4888717733111232871">mDNS ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਦੇਣ ਲਈ Chromium ਲਈ ਇਨਬਾਊਂਡ ਨਿਯਮ।</translation>
 <translation id="4893347770495441059">&amp;Chromium ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਮੁੜ-ਲਾਂਚ ਕਰੋ</translation>
 <translation id="4943838377383847465">Chromium ਪਿਛੋਕੜ ਮੋਡ ਵਿੱਚ ਹੈ।</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb
index 2368095..af70809 100644
--- a/chrome/app/resources/chromium_strings_pl.xtb
+++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -62,6 +62,7 @@
 <translation id="2583187216237139145">Wszystkie dane Chromium wygenerowane podczas używania tego profilu (takie jak zakładki, historia, hasła i inne ustawienia) mogą zostać usunięte przez administratora profilu służbowego. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Podczas instalacji wystąpił błąd systemu operacyjnego. Pobierz Chromium ponownie.</translation>
 <translation id="2661879430930417727">Jeśli dzielisz urządzenie ze znajomymi lub rodziną, wszyscy możecie niezależnie przeglądać internet i skonfigurować Chromium po swojemu</translation>
+<translation id="2669853942967761236">Ten plik archiwum został zablokowany przez Chromium, bo może zawierać złośliwe oprogramowanie</translation>
 <translation id="268602741124540128">Witamy w Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Karta Chromium</translation>
 <translation id="2718390899429598676">Dla większego bezpieczeństwa Chromium szyfruje dane.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb
index b92a35a..edd9d798 100644
--- a/chrome/app/resources/chromium_strings_pt-BR.xtb
+++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">Continuar</translation>
 <translation id="2384373936468275798">O ChromiumOS não pôde sincronizar seus dados porque os detalhes de login da sua conta estão desatualizados.</translation>
 <translation id="2396765026452590966">A extensão "<ph name="EXTENSION_NAME" />" alterou a página que é exibida quando você inicia o Chromium.</translation>
+<translation id="2400844369696905771">Quando essa opção está ativada, o Chromium recupera a memória das guias que você não está usando ativamente. Isso libera os recursos do seu computador para outras tarefas e mantém a velocidade do Chromium. As guias inativas aparecem vazias e são atualizadas automaticamente quando você clica nelas. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">O Chromium precisa da permissão de acesso ao microfone e à câmera para este site</translation>
 <translation id="2483889755041906834">No Chromium</translation>
 <translation id="2485422356828889247">Desinstalar</translation>
@@ -61,6 +62,7 @@
 <translation id="2583187216237139145">Quaisquer dados do Chromium gerados quando este perfil estiver sendo usado (como a criação de favoritos, histórico, senhas e outras configurações) podem ser removidos pelo administrador do perfil de trabalho. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Ocorreu um erro no sistema operacional durante a instalação. Faça o download do Chromium novamente.</translation>
 <translation id="2661879430930417727">Se você compartilha um dispositivo, seus amigos e familiares podem navegar separadamente e configurar o Chromium da maneira que quiserem</translation>
+<translation id="2669853942967761236">O Chromium bloqueou esse arquivo porque ele pode conter malware</translation>
 <translation id="268602741124540128">Bem-vindo ao Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Guia do Chromium</translation>
 <translation id="2718390899429598676">Para maior segurança, o Chromium criptografará seus dados.</translation>
@@ -140,6 +142,7 @@
 <translation id="4285930937574705105">Ocorreu uma falha na instalação devido a um erro não especificado. Se o Chromium estiver sendo executado, feche-o e tente novamente.</translation>
 <translation id="4304713468139749426">Gerenciador de senhas</translation>
 <translation id="4334294535648607276">Download concluído</translation>
+<translation id="437317747729858884">Para deixar sua navegação mais rápida, o Chromium recupera a memória das guias que você não está usando.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> requer que você leia e aceite os Termos de Serviço a seguir antes de usar o dispositivo. Esses termos não ampliam, modificam nem limitam os Termos do ChromiumOS.</translation>
 <translation id="4407044323746248786">Sair do Chromium mesmo assim?</translation>
 <translation id="4415566066719264597">Permitir a execução do Chromium em segundo plano</translation>
@@ -305,6 +308,7 @@
 <translation id="7872446069773932638">Fazendo o download… <ph name="SECONDS" /> segundo(s) restante(s)</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Como gerenciar seus dados<ph name="END_BOLD" />: para proteger sua privacidade, excluímos automaticamente seus interesses que têm mais de quatro semanas. Enquanto você navega, um interesse pode aparecer na lista novamente. Você também pode remover interesses que não quer que o Chromium considere.</translation>
 <translation id="7937630085815544518">Você estava conectado ao Chromium como <ph name="USER_EMAIL_ADDRESS" />. Use a mesma conta para fazer login novamente.</translation>
+<translation id="7947085610734123927">O Chromium ativou a Economia de memória</translation>
 <translation id="7975919845073681630">Como esta é uma instalação secundária do Chromium, ele não pode se tornar seu navegador padrão.</translation>
 <translation id="7997934263947464652">Extensões, apps e temas de fontes desconhecidas podem danificar o dispositivo. O Chromium recomenda os instalar apenas pela <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Assim que o Chromium tiver acesso, os sites poderão solicitar acesso.</translation>
@@ -330,6 +334,7 @@
 <translation id="8558383651099478961">Seu pai/mãe desativou "Permissões para sites, apps e extensões" no Chromium. Não é permitido adicionar <ph name="EXTENSION_TYPE_PARAMETER" />.</translation>
 <translation id="8561285221328166383">Para receber as próximas atualizações do Chromium, você vai precisar do macOS 10.13 ou mais recente. Este computador está usando o macOS 10.12.</translation>
 <translation id="8568283329061645092">O Chromium pode verificar suas senhas quando você faz login com sua Conta do Google</translation>
+<translation id="8574036838419011058">Quando essa opção está ativada, o Chromium economiza energia da bateria limitando atividades em segundo plano e efeitos visuais, como rolagem suave e frame rates de vídeos. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autores do Chromium. Todos os direitos reservados.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Como usamos esses dados<ph name="END_BOLD" />: sites podem armazenar informações sobre seus interesses com o Chromium. Por exemplo, se você visitar um site para comprar sapatos de maratona, ele pode definir "maratonas" como um dos seus interesses. Depois, se você visitar outro site para se inscrever em uma maratona, esse site pode mostrar um anúncio de sapatos de corrida com base nos seus interesses.</translation>
 <translation id="8619360774459241877">Iniciando o Chromium…</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb
index ffc1b628..7238b139 100644
--- a/chrome/app/resources/chromium_strings_ro.xtb
+++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Toate datele Chromium generate în timpul folosirii acestui profil (precum marcajele create, istoricul, parolele și alte setări) pot fi eliminate de administratorul profilului de serviciu. <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">S-a produs o eroare de sistem de operare în timpul instalării. Descărcați din nou Chromium.</translation>
 <translation id="2661879430930417727">Dacă permiți accesul la un dispozitiv, familia și prietenii pot să navigheze separat și să configureze Chromium cum doresc</translation>
+<translation id="2669853942967761236">Chromium a blocat fișierul din arhivă deoarece poate ascunde programe malware</translation>
 <translation id="268602741124540128">Bun venit la Chromium, <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Fila Chromium</translation>
 <translation id="2718390899429598676">Pentru un plus de securitate, Chromium îți va cripta datele.</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb
index 954726b..f0ce968 100644
--- a/chrome/app/resources/chromium_strings_sk.xtb
+++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Pokračovať</translation>
 <translation id="2384373936468275798">Systému Chromium OS sa nepodarilo synchronizovať vaše údaje, pretože vaše prihlasovacie údaje účtu sú zastarané.</translation>
 <translation id="2396765026452590966">Rozšírenie „<ph name="EXTENSION_NAME" />“ zmenilo stránku, ktorá sa zobrazí pri spustení prehliadača Chromium.</translation>
+<translation id="2400844369696905771">Keď je táto možnosť zapnutá, Chromium bude uvoľňovať pamäť z kariet, ktoré aktívne nepoužívate. Týmto sa uvoľnia zdroje počítača pre ďalšie úlohy a Chromium bude fungovať rýchlejšie. Neaktívne karty sa budú zobrazovať prázdne a po kliknutí sa automaticky znova načítajú. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium vyžaduje pre tento web povolený prístup ku kamere aj mikrofónu</translation>
 <translation id="2483889755041906834">V prehliadači Chromium</translation>
 <translation id="2485422356828889247">Odinštalovať</translation>
@@ -145,6 +146,7 @@
 <translation id="4285930937574705105">Inštalácia zlyhala kvôli neurčenej chybe. Ak je prehliadač Chromium momentálne spustený, zatvorte ho a skúste znova.</translation>
 <translation id="4304713468139749426">Správca hesiel</translation>
 <translation id="4334294535648607276">Sťahovanie bolo dokončené.</translation>
+<translation id="437317747729858884">Chromium uvoľňuje pamäť z kariet, ktoré nepoužívate, čím zrýchľuje prehliadanie.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> vyžaduje, aby ste si pred používaním tohto zariadenia prečítali nasledujúce zmluvné podmienky a vyjadrili s nimi súhlas. Tieto zmluvné podmienky nerozširujú, neupravujú ani neobmedzujú zmluvné podmienky systému Chromium OS.</translation>
 <translation id="4407044323746248786">Chcete Chromium napriek tomu ukončiť?</translation>
 <translation id="4415566066719264597">Povoliť prehliadaču Chromium spustenie na pozadí</translation>
@@ -314,6 +316,7 @@
 <translation id="7872446069773932638">Sťahuje sa… Zostávajúci čas: <ph name="SECONDS" /> s</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Ako môžete spravovať svoje údaje:<ph name="END_BOLD" /> v rámci ochrany vášho súkromia automaticky odstraňujeme záujmy, ktoré sú staršie ako štyri týždne. Pri ďalšom prehliadaní sa v zozname môže znova zobraziť určitý záujem. Prípadne môžete odstrániť záujmy, ktoré nemá Chromium posudzovať.</translation>
 <translation id="7937630085815544518">Do prehliadača Chromium ste boli prihlásený/-á ako <ph name="USER_EMAIL_ADDRESS" />. Ak sa chcete prihlásiť znova, použite rovnaký účet.</translation>
+<translation id="7947085610734123927">Chromium zapol šetrič pamäte</translation>
 <translation id="7975919845073681630">Toto je sekundárna inštalácia prehliadača Chromium – nemôže byť nastavený ako váš predvolený prehliadač.</translation>
 <translation id="7997934263947464652">Rozšírenia, aplikácie a motívy z neznámych zdrojov môžu poškodiť vaše zariadenie. Chromium odporúča ich inštaláciu iba zo zdroja <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Keď Chromium získa prístup, weby vás budú môcť žiadať o prístup.</translation>
@@ -339,6 +342,7 @@
 <translation id="8558383651099478961">Tvoj rodič vypol „Povolenia pre weby, aplikácie a rozšírenia“ v prehliadači Chromium. Pridanie tohto rozšírenia (<ph name="EXTENSION_TYPE_PARAMETER" />) nie je povolené.</translation>
 <translation id="8561285221328166383">Ak chcete dostávať budúce aktualizácie prehliadača Chromium, musíte používať systém macOS 10.13 alebo novší. V tomto počítači používate macOS 10.12.</translation>
 <translation id="8568283329061645092">Keď sa prihlásite pomocou účtu Google, Chromium môže skontrolovať vaše heslá</translation>
+<translation id="8574036838419011058">Keď je táto možnosť zapnutá, Chromium šetrí batériu tým, že obmedzí aktivitu na pozadí a vizuálne efekty, napríklad plynulé posúvanie a snímkové frekvencie videa. <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Copyright <ph name="YEAR" /> Autori Chromium. Všetky práva vyhradené.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Ako používame tieto údaje:<ph name="END_BOLD" /> weby môžu v prehliadači Chromium ukladať údaje o vašich záujmoch. Ak napríklad navštívite web na nákup obuvi na maratón, daný web môže definovať váš záujem ako behanie maratónov. Ak neskôr navštívite iný, aby ste sa zaregistrovali na preteky, tento web vám môže zobraziť reklamu na bežeckú obuv na základe vašich záujmov.</translation>
 <translation id="8619360774459241877">Spúšťa sa Chromium…</translation>
diff --git a/chrome/app/resources/chromium_strings_sr-Latn.xtb b/chrome/app/resources/chromium_strings_sr-Latn.xtb
index 90ad43f0..d2e58a2 100644
--- a/chrome/app/resources/chromium_strings_sr-Latn.xtb
+++ b/chrome/app/resources/chromium_strings_sr-Latn.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Nastavi</translation>
 <translation id="2384373936468275798">Chromium OS ne može da sinhronizuje podatke zato što su podaci za prijavljivanje na nalog zastareli.</translation>
 <translation id="2396765026452590966">Dodatak „<ph name="EXTENSION_NAME" />“ je promenio stranicu koja se prikazuje kada pokrenete Chromium.</translation>
+<translation id="2400844369696905771">Kada je uključena, Chromium vraća memoriju sa kartica koje ne koristite aktivno. Time se oslobađaju resursi računara za druge zadatke i ubrzava se rad Chromium-a. Neaktivne kartice se prikazuju kao prazne i automatski se ponovo učitavaju kada kliknete na njih. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium-u su potrebne dozvole za kameru i mikrofon za ovaj sajt</translation>
 <translation id="2483889755041906834">U Chromium-u</translation>
 <translation id="2485422356828889247">Deinstaliraj</translation>
@@ -145,6 +146,7 @@
 <translation id="4285930937574705105">Instalacija nije uspela zbog neodređene greške. Ako je Chromium trenutno otvoren, zatvorite ga i pokušajte ponovo.</translation>
 <translation id="4304713468139749426">Menadžer lozinki</translation>
 <translation id="4334294535648607276">Preuzimanje je dovršeno.</translation>
+<translation id="437317747729858884">Da bi pregledanje bilo brže, Chromium vraća memoriju sa kartica koje ne koristite.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> zahteva da pročitate i prihvatite sledeće Uslove korišćenja usluge pre korišćenja ovog uređaja. Ovi uslovi ne proširuju, menjaju niti ograničavaju Uslove za Chromium OS.</translation>
 <translation id="4407044323746248786">Želite li ipak da zatvorite Chromium?</translation>
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
@@ -314,6 +316,7 @@
 <translation id="7872446069773932638">Preuzima se... Još <ph name="SECONDS" /> sek</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete da upravljate podacima:<ph name="END_BOLD" /> Radi zaštite privatnosti automatski brišemo interesovanja starija od 4 nedelje. Kada nastavite da pregledate, interesovanje će se možda ponovo pojaviti na listi. Možete i da uklanjate interesovanja za koja ne želite da ih Chromium uzima u obzir.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti nalog da biste se ponovo prijavili.</translation>
+<translation id="7947085610734123927">Chromium je uključio Uštedu memorije</translation>
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromium-a pa ne možete da ga podesite kao podrazumevani pregledač.</translation>
 <translation id="7997934263947464652">Dodaci, aplikacije i teme iz nepoznatih izvora mogu da naškode uređaju. Chromium preporučuje da ih instalirate samo iz: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, veb-sajtovi će moći da zatraže pristup.</translation>
@@ -339,6 +342,7 @@
 <translation id="8558383651099478961">Roditelj je isključio Dozvole za sajtove, aplikacije i dodatke za Chromium. Dodavanje ove stavke (<ph name="EXTENSION_TYPE_PARAMETER" />) nije dozvoljeno.</translation>
 <translation id="8561285221328166383">Da biste dobijali buduća Chromium ažuriranja, treba vam macOS 10.13 ili novija verzija. Ovaj računar koristi macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium može da vam proverava lozinke kada se prijavite pomoću Google naloga</translation>
+<translation id="8574036838419011058">Kada je uključena, Chromium štedi bateriju tako što ograničava aktivnosti u pozadini i vizuelne efekte, kao što je glatko skrolovanje i brzine kadrova u videu. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Autorska prava <ph name="YEAR" />. Autori Chromium-a. Sva prava zadržana.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Kako koristimo ove podatke:<ph name="END_BOLD" /> Sajtovi mogu da čuvaju informacije o vašim interesovanjima u Chromium-u. Na primer, ako posetite sajt da biste kupili patike za maraton, taj sajt može da definiše vaše interesovanje kao trčanje maratona. Kasnije, ako posetite neki drugi sajt da biste se prijavili za trku, taj sajt može da vam prikaže oglas za patike za trčanje na osnovu interesovanja.</translation>
 <translation id="8619360774459241877">Pokreće se Chromium...</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb
index 538ca0e..9e07e7f 100644
--- a/chrome/app/resources/chromium_strings_sr.xtb
+++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">Настави</translation>
 <translation id="2384373936468275798">Chromium ОС не може да синхронизује податке зато што су подаци за пријављивање на налог застарели.</translation>
 <translation id="2396765026452590966">Додатак „<ph name="EXTENSION_NAME" />“ је променио страницу која се приказује када покренете Chromium.</translation>
+<translation id="2400844369696905771">Када је укључена, Chromium враћа меморију са картица које не користите активно. Тиме се ослобађају ресурси рачунара за друге задатке и убрзава се рад Chromium-а. Неактивне картице се приказују као празне и аутоматски се поново учитавају када кликнете на њих. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium-у су потребне дозволе за камеру и микрофон за овај сајт</translation>
 <translation id="2483889755041906834">У Chromium-у</translation>
 <translation id="2485422356828889247">Деинсталирај</translation>
@@ -145,6 +146,7 @@
 <translation id="4285930937574705105">Инсталација није успела због неодређене грешке. Ако је Chromium тренутно отворен, затворите га и покушајте поново.</translation>
 <translation id="4304713468139749426">Менаџер лозинки</translation>
 <translation id="4334294535648607276">Преузимање је довршено.</translation>
+<translation id="437317747729858884">Да би прегледање било брже, Chromium враћа меморију са картица које не користите.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> захтева да прочитате и прихватите следеће Услове коришћења услуге пре коришћења овог уређаја. Ови услови не проширују, мењају нити ограничавају Услове за Chromium ОС.</translation>
 <translation id="4407044323746248786">Желите ли ипак да затворите Chromium?</translation>
 <translation id="4415566066719264597">Нека Chromium ради у позадини</translation>
@@ -314,6 +316,7 @@
 <translation id="7872446069773932638">Преузима се... Још <ph name="SECONDS" /> сек</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Како можете да управљате подацима:<ph name="END_BOLD" /> Ради заштите приватности аутоматски бришемо интересовања старија од 4 недеље. Када наставите да прегледате, интересовање ће се можда поново појавити на листи. Можете и да уклањате интересовања за која не желите да их Chromium узима у обзир.</translation>
 <translation id="7937630085815544518">Били сте пријављени на Chromium као <ph name="USER_EMAIL_ADDRESS" />. Користите исти налог да бисте се поново пријавили.</translation>
+<translation id="7947085610734123927">Chromium је укључио Уштеду меморијe</translation>
 <translation id="7975919845073681630">Ово је секундарна инсталација Chromium-а па не можете да га подесите као подразумевани прегледач.</translation>
 <translation id="7997934263947464652">Додаци, апликације и теме из непознатих извора могу да нашкоде уређају. Chromium препоручује да их инсталирате само из: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Када Chromium добије приступ, веб-сајтови ће моћи да затраже приступ.</translation>
@@ -339,6 +342,7 @@
 <translation id="8558383651099478961">Родитељ је искључио Дозволе за сајтове, апликације и додатке за Chromium. Додавање ове ставке (<ph name="EXTENSION_TYPE_PARAMETER" />) није дозвољено.</translation>
 <translation id="8561285221328166383">Да бисте добијали будућа Chromium ажурирања, треба вам macOS 10.13 или новија верзија. Овај рачунар користи macOS 10.12.</translation>
 <translation id="8568283329061645092">Chromium може да вам проверава лозинке када се пријавите помоћу Google налога</translation>
+<translation id="8574036838419011058">Када је укљученa, Chromium штеди батерију тако што ограничава активности у позадини и визуелне ефекте, као што је глатко скроловање и брзине кадрова у видеу. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">Ауторска права <ph name="YEAR" />. Аутори Chromium-а. Сва права задржана.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Како користимо ове податке:<ph name="END_BOLD" /> Сајтови могу да чувају информације о вашим интересовањима у Chromium-у. На пример, ако посетите сајт да бисте купили патике за маратон, тај сајт може да дефинише ваше интересовање као трчање маратона. Касније, ако посетите неки други сајт да бисте се пријавили за трку, тај сајт може да вам прикаже оглас за патике за трчање на основу интересовања.</translation>
 <translation id="8619360774459241877">Покреће се Chromium...</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb
index f3917b6..c14b268 100644
--- a/chrome/app/resources/chromium_strings_th.xtb
+++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">ต่อไป</translation>
 <translation id="2384373936468275798">Chromium OS ซิงค์ข้อมูลไม่ได้เนื่องจากรายละเอียดการลงชื่อเข้าใช้บัญชีไม่ใช่ข้อมูลปัจจุบัน</translation>
 <translation id="2396765026452590966">ส่วนขยาย "<ph name="EXTENSION_NAME" />" ได้เปลี่ยนหน้าที่จะแสดงเมื่อคุณเริ่มต้น Chromium</translation>
+<translation id="2400844369696905771">เมื่อเปิดไว้ Chromium จะเรียกคืนหน่วยความจำจากแท็บที่คุณไม่ได้ใช้งานอยู่ ซึ่งช่วยให้คอมพิวเตอร์มีทรัพยากรสำหรับงานอื่นๆ มากขึ้นและคงความเร็วของ Chromium ไว้ได้ แท็บที่ไม่ได้ใช้งานจะปรากฏเป็นแท็บว่างและโหลดซ้ำโดยอัตโนมัติเมื่อคุณคลิก <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium ต้องการสิทธิ์เข้าถึงกล้องและไมโครโฟนสำหรับเว็บไซต์นี้</translation>
 <translation id="2483889755041906834">ใน Chromium</translation>
 <translation id="2485422356828889247">ถอนการติดตั้ง</translation>
@@ -143,6 +144,7 @@
 <translation id="4285930937574705105">การติดตั้งล้มเหลวเนื่องจากมีข้อผิดพลาดที่ไม่ได้ระบุ หาก Chromium ทำงานอยู่ในขณะนี้ โปรดปิดและลองอีกครั้ง</translation>
 <translation id="4304713468139749426">เครื่องมือจัดการรหัสผ่าน</translation>
 <translation id="4334294535648607276">ดาวน์โหลดเสร็จสมบูรณ์</translation>
+<translation id="437317747729858884">Chromium จะเรียกคืนหน่วยความจำจากแท็บที่ไม่ได้ใช้งานอยู่เพื่อให้คุณท่องเว็บได้เร็วขึ้น</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> กำหนดว่าคุณต้องอ่านและยอมรับข้อกำหนดในการให้บริการต่อไปนี้ก่อนใช้อุปกรณ์นี้ ข้อกำหนดเหล่านี้ไม่ได้ขยาย แก้ไข หรือจำกัดข้อกำหนดของ Chromium OS</translation>
 <translation id="4407044323746248786">ออกจาก Chromium ใช่ไหม</translation>
 <translation id="4415566066719264597">ให้ Chromium ทำงานในพื้นหลัง</translation>
@@ -311,6 +313,7 @@
 <translation id="7872446069773932638">กำลังดาวน์โหลด... เหลืออีก <ph name="SECONDS" /> วินาที</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />วิธีที่คุณจัดการข้อมูลของตัวเองได้:<ph name="END_BOLD" /> เราลบความสนใจที่เก่ากว่า 4 สัปดาห์โดยอัตโนมัติเพื่อปกป้องความเป็นส่วนตัวของคุณ ความสนใจอาจกลับมาปรากฏในรายการอีกเมื่อคุณท่องเว็บต่อ หรือคุณจะนำความสนใจที่ไม่ต้องการให้ Chromium พิจารณาออกก็ได้</translation>
 <translation id="7937630085815544518">คุณเคยลงชื่อเข้าใช้ Chromium ในชื่อ <ph name="USER_EMAIL_ADDRESS" /> โปรดใช้บัญชีเดิมเพื่อลงชื่อเข้าใช้อีกครั้ง</translation>
+<translation id="7947085610734123927">Chromium เปิดโหมดประหยัดหน่วยความจำแล้ว</translation>
 <translation id="7975919845073681630">นี่เป็นการติดตั้ง Chromium แบบสำรอง และไม่สามารถใช้เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
 <translation id="7997934263947464652">ส่วนขยาย แอป และธีมจากแหล่งที่มาที่ไม่รู้จักอาจเป็นอันตรายต่ออุปกรณ์ของคุณ ขอแนะนำให้ติดตั้ง Chromium จาก <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> เท่านั้น</translation>
 <translation id="8013436988911883588">เมื่อ Chromium มีสิทธิ์การเข้าถึงแล้ว เว็บไซต์จะขอสิทธิ์การเข้าถึงจากคุณได้</translation>
@@ -336,6 +339,7 @@
 <translation id="8558383651099478961">ผู้ปกครองได้ปิด "สิทธิ์สำหรับเว็บไซต์ แอป และส่วนขยาย" ใน Chromium ไม่อนุญาตให้เพิ่ม<ph name="EXTENSION_TYPE_PARAMETER" />นี้</translation>
 <translation id="8561285221328166383">คุณจะต้องใช้ macOS 10.13 ขึ้นไปเพื่อรับการอัปเดต Chromium ในอนาคต คอมพิวเตอร์เครื่องนี้ใช้ macOS 10.12</translation>
 <translation id="8568283329061645092">Chromium จะตรวจสอบรหัสผ่านได้เมื่อคุณลงชื่อเข้าใช้ด้วยบัญชี Google</translation>
+<translation id="8574036838419011058">เมื่อเปิดไว้ Chromium จะช่วยสงวนพลังงานแบตเตอรี่โดยการจำกัดกิจกรรมในเบื้องหลังและเอฟเฟกต์ภาพ เช่น การเลื่อนอย่างราบรื่นและอัตราเฟรมของวิดีโอ <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">ลิขสิทธิ์ <ph name="YEAR" /> The Chromium Authors สงวนลิขสิทธิ์</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />วิธีที่เราใช้ข้อมูลนี้:<ph name="END_BOLD" /> เว็บไซต์สามารถจัดเก็บข้อมูลเกี่ยวกับความสนใจไว้กับ Chromium ตัวอย่างเช่น หากคุณเข้าชมเว็บไซต์เพื่อซื้อรองเท้าวิ่งมาราธอน เว็บไซต์นี้อาจระบุว่าคุณสนใจการวิ่งมาราธอน ภายหลัง เมื่อคุณเข้าชมเว็บไซต์อื่นเพื่อลงทะเบียนแข่งมาราธอน เว็บไซต์นี้ก็อาจแสดงโฆษณารองเท้าวิ่งโดยอิงจากความสนใจดังกล่าว</translation>
 <translation id="8619360774459241877">กำลังเปิด Chromium...</translation>
diff --git a/chrome/app/resources/chromium_strings_ur.xtb b/chrome/app/resources/chromium_strings_ur.xtb
index b5e2492..14a1fab 100644
--- a/chrome/app/resources/chromium_strings_ur.xtb
+++ b/chrome/app/resources/chromium_strings_ur.xtb
@@ -55,6 +55,7 @@
 <translation id="2359808026110333948">جاری رکھیں</translation>
 <translation id="2384373936468275798">‏ChromeOS آپ کے اکاؤنٹ کی سائن ان تفصیلات پرانی ہونے کی وجہ سے آپ کے ڈیٹا کی مطابقت پذیری نہیں کر سکا۔</translation>
 <translation id="2396765026452590966">‏آپ کی جانب سے Chromium شروع کرنے پر دکھائی دینے والے صفحہ کو ایکسٹینشن "<ph name="EXTENSION_NAME" />" نے تبدیل کر دیا ہے۔</translation>
+<translation id="2400844369696905771">‏آن ہونے پر، Chromium ان ٹیبز سے میموری کا دوبارہ دعویٰ کرتا ہے جنہیں آپ فعال طور پر استعمال نہیں کر رہے ہیں۔ یہ آپ کے کمپیوٹر کے وسائل کو دوسرے ٹاسکس کے لیے خالی کر دیتا ہے اور Chromium کو تیز رفتار رکھتا ہے۔ غیر فعال ٹیبز خالی دکھائی دیتی ہیں اور جب آپ ان پر کلک کرتے ہیں تو خودکار طور پر دوبارہ لوڈ ہو جاتے ہیں۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">‏Chromium کو اس سائٹ کے لیے کیمرے اور مائیکروفون کی اجازتیں درکار ہیں</translation>
 <translation id="2483889755041906834">‏Chromium میں</translation>
 <translation id="2485422356828889247">ان انسٹال کریں</translation>
@@ -63,6 +64,7 @@
 <translation id="2583187216237139145">‏دفتری پروفائل کا منتظم اس پروفائل کے استعمال کے دوران جنریٹ ہونے والے کسی بھی Chromium ڈیٹا (جیسے، بُک مارکس کی تخلیق، سرگزشت، پاس ورڈز اور دیگر ترتیبات) کو ہٹا سکتا ہے۔ <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">‏انسٹالیشن کے دوران آپریٹنگ سسٹم کی ایک خرابی پیش آ گئی۔ براہ کرم Chromium دوبارہ ڈاؤن لوڈ کریں۔</translation>
 <translation id="2661879430930417727">‏اگر آپ کسی آلے کا اشتراک کرتے ہیں تو دوست اور اہل خانہ الگ الگ براؤز کر سکتے ہیں اور Chromium کو اپنی مرضی کے مطابق سیٹ اپ کر سکتے ہیں</translation>
+<translation id="2669853942967761236">‏Chromium نے اس آرکائیو فائل کو مسدود کر دیا کیونکہ یہ میلوئیر کو پوشیدہ رکھ سکتی ہے</translation>
 <translation id="268602741124540128">‏Chromium میں خوش آمدید، <ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">‏Chromium ٹیب</translation>
 <translation id="2718390899429598676">‏اضافی سیکیورٹی کیلئے، Chromium آپ کا ڈیٹا مرموز کر دے گا۔</translation>
@@ -144,6 +146,7 @@
 <translation id="4285930937574705105">‏غیر متعینہ خرابی کی وجہ سے انسٹالیشن ناکام ہو گیا۔ اگر فی الحال Chromium چل رہا ہے تو براہ کرم اسے بند کر دیں اور دوبارہ کوشش کریں۔</translation>
 <translation id="4304713468139749426">پاس ورڈ مینیجر</translation>
 <translation id="4334294535648607276">ڈاؤن لوڈ مکمل ہوگیا۔</translation>
+<translation id="437317747729858884">‏آپ کی براؤزنگ کو تیز تر بنانے کے لیے، Chromium ان ٹیبز سے میموری کا دوبارہ دعویٰ کرتا ہے جنہیں آپ استعمال نہیں کر رہے ہیں۔</translation>
 <translation id="439358628917130594">‏<ph name="MANAGER" /> تقاضہ کرتا ہے کہ آپ یہ آلہ استعمال کرنے سے پہلے مندرجہ ذیل سروس کی شرائط کو پڑھیں اور قبول کریں۔ یہ شرائط ChromiumOS کی شرائط کی توسیع، ان میں ترمیم یا انہیں محدود نہیں کرتی ہیں۔</translation>
 <translation id="4407044323746248786">‏بہر حال Chromium کو بند کریں؟</translation>
 <translation id="4415566066719264597">‏Chromium کو پس منظر میں چلنے دیں</translation>
@@ -312,6 +315,7 @@
 <translation id="7872446069773932638">ڈاؤن لوڈ ہو رہی ہے… <ph name="SECONDS" /> سیکنڈ(سیکنڈز) باقی ہے</translation>
 <translation id="7877292582355102282">‏<ph name="BEGIN_BOLD" />آپ کس طرح اپنے ڈیٹا کا نظم کر سکتے ہیں:<ph name="END_BOLD" /> آپ کی رازداری کے تحفظ کے لئے، ہم 4 ہفتے سے زیادہ پرانی آپ کی دلچسپیوں کو خودکار طور پر حذف کر دیتے ہیں۔ جب تک آپ براؤزنگ جاری رکھتے ہیں، فہرست پر دلچسپی دوبارہ ظاہر ہو سکتی ہے۔ یا آپ ان دلچسپیوں کو ہٹا سکتے ہیں جنہیں آپ چاہتے ہیں کہ Chromium نہ دکھائے۔</translation>
 <translation id="7937630085815544518">‏آپ Chromium میں بطور <ph name="USER_EMAIL_ADDRESS" /> سائن ان تھے۔ براہ کرم دوبارہ سائن ان کرنے کیلئے وہی اکاؤنٹ استعمال کریں۔</translation>
+<translation id="7947085610734123927">‏Chromium نے میموری سیور کو آن کر دیا</translation>
 <translation id="7975919845073681630">‏یہ Chromium کا ثانوی انسٹالیشن ہے اور اسے آپ کا ڈیفالٹ براؤزر نہیں بنایا جا سکتا ہے۔</translation>
 <translation id="7997934263947464652">‏نامعلوم ذرائع سے ایکسٹینشنز، ایپس اور تھیمز آپ کے آلے کو نقصان پہنچا سکتے ہیں۔ Chromium صرف انہیں <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> سے انسٹال کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="8013436988911883588">‏Chromium کو رسائی مل جانے کے بعد، ویب سائٹس آپ سے رسائی طلب کر سکیں گی۔</translation>
@@ -337,6 +341,7 @@
 <translation id="8558383651099478961">‏آپ کے والدین نے "Chromium کی خاطر سائٹس، ایپس اور ایکسٹینشنز کے لیے اجازتوں" کو آف کر دیا ہے۔ اس <ph name="EXTENSION_TYPE_PARAMETER" /> کو شامل کرنے کی اجازت نہیں ہے۔</translation>
 <translation id="8561285221328166383">‏مستقبل میں Chromium اپ ڈیٹس حاصل کرنے کے لیے آپ کو macOS 10.13 یا اس کے بعد کے ورژن کی ضرورت ہوگی۔ یہ کمپیوٹر macOS 10.12 کا استعمال کر رہا ہے۔</translation>
 <translation id="8568283329061645092">‏جب آپ اپنے Google اکاؤنٹ سے سائن ان کرتے ہیں تو Chromium آپ کے پاس ورڈز کو چیک کر سکتا ہے</translation>
+<translation id="8574036838419011058">‏آن ہونے پر، Chromium پس منظر کی سرگرمی اور ویژوئل اثرات، جیسے ہموار اسکرولنگ اور ویڈیو فریم ریٹس کو محدود کر کے بیٹری پاور کو محفوظ کرتا ہے۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">‏کاپی رائٹ ‎<ph name="YEAR" /> The Chromium Authors۔ جملہ حقوق محفوظ۔</translation>
 <translation id="8608079656141766906">‏<ph name="BEGIN_BOLD" />ہمارا اس ڈیٹا کو استعمال کرنے کا طریقہ:<ph name="END_BOLD" /> سائٹس Chromium کے ساتھ آپ کی دلچسپیوں کے بارے میں معلومات اسٹور کر سکتی ہیں۔ مثلاً اگر آپ میراتھن کے لئے جوتے خریدنے کی خاطر کوئی سائٹ ملاحظہ کرتے ہیں تو سائٹ دوڑ کے میراتھنز کے بطور آپ کی دلچسپی کا تعین کر سکتی ہے۔ بعد میں اگر آپ دوڑ میں رجسٹر کرنے کے لئے کوئی دوسری سائٹ ملاحظہ کرتے ہیں تو وہ سائٹ آپ کو آپ کی دلچسپیوں کی بنیاد پر دوڑنے کے جوتوں کا اشتہار دکھا سکتی ہے۔</translation>
 <translation id="8619360774459241877">‏Chromium شروع ہو رہا ہے…</translation>
diff --git a/chrome/app/resources/chromium_strings_uz.xtb b/chrome/app/resources/chromium_strings_uz.xtb
index f620ca56..b27896f 100644
--- a/chrome/app/resources/chromium_strings_uz.xtb
+++ b/chrome/app/resources/chromium_strings_uz.xtb
@@ -53,6 +53,7 @@
 <translation id="2359808026110333948">Davom etish</translation>
 <translation id="2384373936468275798">ChromiumOS maʼlumotlaringizni sinxronlay olmadi, chunki hisobingiz haqidagi ma’lumotlar eskirgan.</translation>
 <translation id="2396765026452590966">“<ph name="EXTENSION_NAME" />” kengaytmasi Chromium ishga tushganda ko‘rinadigan sahifani o‘zgartirdi.</translation>
+<translation id="2400844369696905771">Yoniq boʻlsa, Chromium nofaol varaqlardan xotira oladi. Bu kompyuter resurslarini boshqa vazifalar uchun boʻshatadi va Chromium ishlashini tezlashtiradi. Nofaol varaqlar boʻsh chiqadi va ustiga bosilganda avtomatik qayta yuklanadi. <ph name="BEGIN_LINK" />Batafsil<ph name="END_LINK" /></translation>
 <translation id="2401032172288869980">Chromium bu saytda kamera va mikrofondan foydalanishiga ruxsat kerak</translation>
 <translation id="2483889755041906834">Chromium brauzerida</translation>
 <translation id="2485422356828889247">O‘chirib tashlash</translation>
@@ -141,6 +142,7 @@
 <translation id="4285930937574705105">Noma’lum xatolik tufayli o‘rnatish amalga oshmadi. Agar hozirda Chromium ishlab turgan bo‘lsa, iltimos brauzeringizni yoping va qaytadan urinib ko‘ring.</translation>
 <translation id="4304713468139749426">Parollar menejeri</translation>
 <translation id="4334294535648607276">Yuklab olindi.</translation>
+<translation id="437317747729858884">Internetni tezroq kezishingiz uchun Chromium nofaol varaqlardan xotira oladi.</translation>
 <translation id="439358628917130594"><ph name="MANAGER" /> bu qurilmadan foydalanishdan oldin quyidagi Xizmat shartlarini oʻqib, qabul qilishingizni talab qiladi. Bu shartlar Google ChromiumOS shartlarini kengaytirmaydi, oʻzgartirmaydi yoki cheklamaydi.</translation>
 <translation id="4407044323746248786">Chromium baribir yopilsinmi?</translation>
 <translation id="4415566066719264597">Chromium fonda ishlashiga ruxsat</translation>
@@ -310,6 +312,7 @@
 <translation id="7872446069773932638">Yuklab olinmoqda... <ph name="SECONDS" /> soniya qoldi.</translation>
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Maʼlumotlaringizni qanday boshqarish mumkin:<ph name="END_BOLD" /> Maxfliylikni himoya qilish maqsadida biz 4 haftadan uzoq saqlangan qiziqishlarni avtomatik oʻchiramiz. Sahifalar takroriy ochilganida qiziqish roʻyxatda yana chiqishi mumkin. Yoki Chromium foydalanmasligini istasangiz, qiziqishlarni olib tashlashingiz mumkin.</translation>
 <translation id="7937630085815544518">Avvallari siz Chromium‘ga <ph name="USER_EMAIL_ADDRESS" /> hisobidan kirgandingiz. O‘sha hisobdan foydalanib yana qaytadan kiring.</translation>
+<translation id="7947085610734123927">Chromium tomonidan Xotirani tejash yoqildi</translation>
 <translation id="7975919845073681630">Chromium takroran o‘rnatilgan, shuning uchun u asosiy brauzer bo‘la olmaydi.</translation>
 <translation id="7997934263947464652">Nomaʼlum manbalar kengaytmalari, ilovalari va mavzulari qurilmangizni zararlashi mumkin. Chromium ularni faqat <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> orqali oʻrnatishni tavsiya qiladi</translation>
 <translation id="8013436988911883588">Chromium saytlarga ulanganda sizdan ruxsat so‘raydi.</translation>
@@ -335,6 +338,7 @@
 <translation id="8558383651099478961">Chromiumdagi “Sayt, ilova va kengaytmalarga ruxsat” ota-onangiz tomonidan faolsizlantirilgan. <ph name="EXTENSION_TYPE_PARAMETER" /> kiritilishi taqiqlangan.</translation>
 <translation id="8561285221328166383">Chromium yangilanishlari macOS 10.13 yoki undan yuqori versiyalarda ishlaydi. Bu kompyuterdagi versiya: macOS 10.12.</translation>
 <translation id="8568283329061645092">Google hisobingizga kirsangiz, Chromium parollaringizni tekshira oladi</translation>
+<translation id="8574036838419011058">Yoqilganda Chromium fondagi amallar hamda ravon varaqlash va video freyming kabi vizual effektlarni cheklash orqali batareya quvvatini tejashni boshlaydi. <ph name="BEGIN_LINK" />Batafsil<ph name="END_LINK" /></translation>
 <translation id="8586442755830160949">© The Chromium Authors, <ph name="YEAR" />. Barcha huquqlar himoyalangan.</translation>
 <translation id="8608079656141766906"><ph name="BEGIN_BOLD" />Bu axborotdan qanday foydalanamiz:<ph name="END_BOLD" /> Chromium orqali saytlar qiziqishlaringiz haqidagi axborotni saqlashi mumkin. Misol uchun marafonda yugurish uchun poyabzal sotib olish saytini ochsangiz, sayt marafonda yugurishni qiziqishingiz deb aniqlashi mumkin. Keyin yugurish uchun boshqa saytga kirganingizda sayt qiziqishingiz asosida yugurish uchun poyabzal reklamasini chiqarishi mumkin.</translation>
 <translation id="8619360774459241877">Chromium ishga tushmoqda...</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index 41e7449..3d5a3d9 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">Quản trị viên hồ sơ công việc có thể xóa mọi dữ liệu trên Chromium được tạo trong quá trình sử dụng hồ sơ này (chẳng hạn như hoạt động tạo dấu trang, các trang web đã truy cập, mật khẩu và các tùy chọn cài đặt khác). <ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">Đã xảy ra lỗi hệ điều hành khi cài đặt. Hãy tải xuống Chromium lại lần nữa.</translation>
 <translation id="2661879430930417727">Nếu các bạn dùng chung một thiết bị, thì bạn bè và gia đình có thể duyệt web một cách riêng biệt cũng như thiết lập Chromium theo ý muốn</translation>
+<translation id="2669853942967761236">Chromium đã chặn tệp lưu trữ này vì tệp này có thể ẩn chứa phần mềm độc hại</translation>
 <translation id="268602741124540128">Chào mừng <ph name="ACCOUNT_FIRST_NAME" /> đến với Chromium!</translation>
 <translation id="2711502716910134313">Thẻ Chromium</translation>
 <translation id="2718390899429598676">Để bảo mật hơn, Chromium sẽ mã hóa dữ liệu của bạn.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb
index ea5c5fd..5b36b85a 100644
--- a/chrome/app/resources/chromium_strings_zh-CN.xtb
+++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">在使用此工作资料(例如创建书签、历史记录、密码和其他设置)时生成的任何 Chromium 数据都可由工作资料管理员移除。<ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">安装过程中出现操作系统错误。请重新下载 Chromium。</translation>
 <translation id="2661879430930417727">如果您是与亲朋好友共用一部设备,他们将能够使用单独的帐号进行浏览,并可随心所欲地设置 Chromium</translation>
+<translation id="2669853942967761236">Chromium 屏蔽了此归档文件,因为它可能藏有恶意软件</translation>
 <translation id="268602741124540128">欢迎使用 Chromium,<ph name="ACCOUNT_FIRST_NAME" /></translation>
 <translation id="2711502716910134313">Chromium 标签页</translation>
 <translation id="2718390899429598676">为了提高安全性,Chromium 将对您的数据进行加密。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-HK.xtb b/chrome/app/resources/chromium_strings_zh-HK.xtb
index bb9fa50..1660e4d 100644
--- a/chrome/app/resources/chromium_strings_zh-HK.xtb
+++ b/chrome/app/resources/chromium_strings_zh-HK.xtb
@@ -63,6 +63,7 @@
 <translation id="2583187216237139145">工作設定檔管理員可移除任何在使用此設定檔時產生的 Chromium 資料 (例如建立的書籤、記錄、密碼和其他設定)。<ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">安裝期間發生作業系統錯誤,請再次下載 Chromium。</translation>
 <translation id="2661879430930417727">如果您與親朋好友共用裝置,每人都能各自瀏覽網頁,並按需求設定 Chromium</translation>
+<translation id="2669853942967761236">由於此封存檔案可能隱藏惡意軟件,因此 Chromium 已封鎖此封存檔案</translation>
 <translation id="268602741124540128"><ph name="ACCOUNT_FIRST_NAME" />,歡迎使用 Chromium</translation>
 <translation id="2711502716910134313">Chromium 分頁</translation>
 <translation id="2718390899429598676">為提高安全性,Chromium 會將您的資料加密。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb
index 3d306f85..d3106cf 100644
--- a/chrome/app/resources/chromium_strings_zh-TW.xtb
+++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -61,6 +61,7 @@
 <translation id="2583187216237139145">凡是在使用這個資料夾期間產生的 Chromium 資料 (例如建立的書籤、歷史記錄、密碼和其他設定),工作資料夾管理員皆可予以移除。<ph name="LEARN_MORE" /></translation>
 <translation id="2648074677641340862">安裝期間發生作業系統錯誤,請重新下載 Chromium。</translation>
 <translation id="2661879430930417727">如果你與親朋好友共用裝置,人人皆可享有獨立的瀏覽空間,依照自己的偏好設定 Chromium</translation>
+<translation id="2669853942967761236">這個封存檔可能藏有惡意軟體,因此 Chromium 已封鎖這個檔案</translation>
 <translation id="268602741124540128"><ph name="ACCOUNT_FIRST_NAME" />,歡迎使用 Chromium</translation>
 <translation id="2711502716910134313">Chromium 分頁</translation>
 <translation id="2718390899429598676">為了提升安全性,Chromium 會將您的資料加密保護。</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index 813c3b54..86d8d881 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -2310,6 +2310,7 @@
 <translation id="3090819949319990166">Kan nie eksterne crx-lêer na <ph name="TEMP_CRX_FILE" /> kopieer nie.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" saamgebind</translation>
 <translation id="3093714882666365141">Moenie werwe toelaat om betalinghanteerders te installeer nie</translation>
+<translation id="3093958632721393232">Skakel slegs aan wanneer my battery amper pap is</translation>
 <translation id="3094141017404513551">Dit sal jou blaaidata van <ph name="EXISTING_USER" /> skei</translation>
 <translation id="3095871294753148861">Boekmerke, wagwoorde en ander blaaierdata word met die primêre rekening gesinkroniseer.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 potensieel skadelike uitbreiding is af. Jy kan dit ook verwyder.}other{{NUM_EXTENSIONS} potensieel skadelike uitbreidings is af. Jy kan hulle ook verwyder.}}</translation>
@@ -5030,6 +5031,7 @@
 <translation id="5747552184818312860">Verval</translation>
 <translation id="5747785204778348146">Ontwikkelaar – onstabiel</translation>
 <translation id="5747809636523347288">Plak en gaan na <ph name="URL" /></translation>
+<translation id="5748137879145720682">Skakel aan wanneer my rekenaar uitgeprop is</translation>
 <translation id="5751345516399502412">Gaan verbindinggereedheid na</translation>
 <translation id="5755022574660047665">herinneringe van Google Foto's af</translation>
 <translation id="5756163054456765343">Hulpsentrum</translation>
@@ -7663,6 +7665,7 @@
 <translation id="8248381369318572865">Kry toegang tot jou mikrofoon en ontleed jou spraak</translation>
 <translation id="8248887045858762645">Chrome-wenk</translation>
 <translation id="8249048954461686687">OEM-vouer</translation>
+<translation id="8249239468199142122">Batterybespaarder</translation>
 <translation id="8249615410597138718">Stuur na jou toestelle toe</translation>
 <translation id="8250210000648910632">Bergingspasie is op</translation>
 <translation id="8251441930213048644">Herlaai nou</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index 12a2ff80..788ef50 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -2308,6 +2308,7 @@
 <translation id="3090819949319990166">বাহ্যিক crx ফাইল <ph name="TEMP_CRX_FILE" />লৈ প্ৰতিলিপি কৰিব নোৱাৰি।</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" যোৰা লগোৱা হ’ল</translation>
 <translation id="3093714882666365141">ছাইটক পৰিশোধ নিয়ন্ত্ৰক ইনষ্টল কৰাৰ অনুমতি নিদিব</translation>
+<translation id="3093958632721393232">মোৰ বেটাৰী কমিলেহে অন কৰক</translation>
 <translation id="3094141017404513551">এইটোৱে আপোনাৰ ব্ৰাউজাৰটো <ph name="EXISTING_USER" />ৰ পৰা পৃথক কৰিব</translation>
 <translation id="3095871294753148861">বুকমার্ক, পাছৱর্ড আৰু অন্য ব্ৰাউজাৰৰ ডেটা প্ৰাথমিক একাউণ্টটোৰ সৈতে ছিংক কৰা হয়।</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{১ টা সম্ভাব্য ক্ষতিকাৰক এক্সটেনশ্বন অফ কৰা আছে। আপুনি সেইটো আঁতৰাবও পাৰে।}one{{NUM_EXTENSIONS} টা সম্ভাব্য ক্ষতিকাৰক এক্সটেনশ্বন অফ কৰা আছে। আপুনি সেইসমূহ আঁতৰাবও পাৰে।}other{{NUM_EXTENSIONS} টা সম্ভাব্য ক্ষতিকাৰক এক্সটেনশ্বন অফ কৰা আছে। আপুনি সেইসমূহ আঁতৰাবও পাৰে।}}</translation>
@@ -5025,6 +5026,7 @@
 <translation id="5747552184818312860">এই সময়ত ম্যাদ উকলিব</translation>
 <translation id="5747785204778348146">বিকাশকৰ্তা - বিকাশ সম্পূৰ্ণ হোৱা নাই</translation>
 <translation id="5747809636523347288">পে&amp;ষ্ট কৰি <ph name="URL" />লৈ যাওক</translation>
+<translation id="5748137879145720682">মোৰ কম্পিউটাৰ আনপ্লাগ হৈ থাকিলেহে অন কৰক</translation>
 <translation id="5751345516399502412">টেডাৰিঙৰ প্ৰস্তুতি পৰীক্ষা কৰক</translation>
 <translation id="5755022574660047665">Google Photosত থকা স্মৃতি</translation>
 <translation id="5756163054456765343">&amp;সহায় কেন্দ্ৰ</translation>
@@ -7658,6 +7660,7 @@
 <translation id="8248381369318572865">আপোনাৰ মাইক্ৰ’ফ’ন এক্সেছ কৰক আৰু নিজৰ কথন বিশ্লেষণ কৰক</translation>
 <translation id="8248887045858762645">Chrome সম্পর্কীয় পৰামৰ্শ</translation>
 <translation id="8249048954461686687">OEM ফ'ল্ডাৰ</translation>
+<translation id="8249239468199142122">বেটাৰী সঞ্চয়কাৰী</translation>
 <translation id="8249615410597138718">আপোনাৰ ডিভাইচসমূহলৈ পঠিয়াওক</translation>
 <translation id="8250210000648910632">ষ্ট’ৰেজ খালী ঠাই নাই</translation>
 <translation id="8251441930213048644">এতিয়া ৰিফ্রেশ্ব কৰক</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index 8015aaf..528c7e6b 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -2173,6 +2173,7 @@
 <translation id="2977480621796371840">Qrupdan çıxarın</translation>
 <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="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>
@@ -3755,6 +3756,7 @@
 <translation id="4514610446763173167">Oxutmaq və ya dayandırmaq üçün videonu aktiv edin</translation>
 <translation id="451515744433878153">Silin</translation>
 <translation id="4515872537870654449">Texniki baxış üçün Dell ilə əlaqə saxlayın. Ventilyasiya işləmirsə, dok sönəcək.</translation>
+<translation id="4518840066030486079">Shift Düymə Rejimi Üslubu</translation>
 <translation id="4519331665958994620">Saytlar kameranızdan istifadə icazəsi istəyə bilər</translation>
 <translation id="4519935350946509010">Bağlantı xətası.</translation>
 <translation id="4520385623207007473">İstifadə edilən kukilər</translation>
@@ -3850,6 +3852,7 @@
 <translation id="4598345735110653698">Parolları idarə edin</translation>
 <translation id="4598556348158889687">Yaddaş idarəetməsi</translation>
 <translation id="4598776695426288251">Wi-Fi çoxsaylı cihazlar üzərindən əlçatandır</translation>
+<translation id="4600071396330666617">Təklif sayı</translation>
 <translation id="4601426376352205922">Oxunmamış kimi qeyd edin</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> hostuna kameranıza və mikrofonunuza həmişə girməsinə imkan verin</translation>
 <translation id="4606551464649945562">Saytların ətrafınızdakı sahələrin 3D xəritəsini yaratmasına və ya kamera mövqeyini izləməsinə icazə verməyin</translation>
@@ -4296,6 +4299,7 @@
 <translation id="5043913660911154449">Və ya printer PPD faylını təyin edin <ph name="LINK_BEGIN" />Ətraflı məlumat<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Yanlış parol</translation>
 <translation id="504561833207953641">Mövcud brauzer sessiyasında açılır.</translation>
+<translation id="5049614114599109018">Daxiletmə Tarixçəsini istifadə edin</translation>
 <translation id="5051836348807686060">Seçdiyiniz dillərdə orfoqrafik yoxlanış dəstəklənmir</translation>
 <translation id="5052499409147950210">Sayta düzəliş edin</translation>
 <translation id="505347685865235222">Adsız qrup - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6718,6 +6722,7 @@
 <translation id="7404065585741198296">Telefonunuzu USB kabeli ilə</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Təhlükəsizlik yoxlanışı 1 saat əvvəl icra olunub}other{Təhlükəsizlik yoxlanışı {NUM_HOURS} saat əvvəl icra olunub}}</translation>
 <translation id="740624631517654988">Popap bloklandı</translation>
+<translation id="7406912950279255498">Rəng inversiyası rejimi</translation>
 <translation id="7407430846095439694">İmport edin və qoşun</translation>
 <translation id="7407504355934009739">Bir çox insan bu saytdan gələn bildirişləri bloklayır</translation>
 <translation id="740810853557944681">Çap serveri əlavə edin</translation>
@@ -7666,6 +7671,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Sahibi bu funksiyanı Ayarlar &gt; Qabaqcıl &gt; Diaqnostikanı və istifadə datasını avtomatik olaraq Google'a göndərin bölməsindən idarə edə bilər.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Əlavə Veb və Tətbiq Fəaliyyəti ayarı aktiv edilərsə, bu data Google Hesabında yadda saxlanılacaq. Families.google.com ünvanından bu ayarlar və onların tənzimlənməsi haqqında ətraflı məlumat əldə edin.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Yanlış klient sertifikatı</translation>
+<translation id="8270162672241199380">Steam Quraşdırıcısı</translation>
 <translation id="827097179112817503">Əsas səhifə düyməsini göstərin</translation>
 <translation id="8271268254812352141">Mətnə sağ düymə ilə toxunduqda və ya toxunub saxladıqda izahlar, tərcümələr və ya vahid çevirmələrini əldə edin. <ph name="LINK_BEGIN" />Vebsayt dillərində<ph name="LINK_END" /> tərcümə dillərini fərdiləşdirin.</translation>
 <translation id="8271379370373330993">Valideynlər, növbəti bir neçə addım sizin üçündür. Hesab ayarlandıqdan sonra <ph name="DEVICE_TYPE" /> cihazını uşağa qaytara bilərsiniz.</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index f922850..d311e00 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -6745,6 +6745,7 @@
 <translation id="7404065585741198296">ইউএসবি কেবেল দিয়ে আপনার ফোন কানেক্ট করুন</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{১ ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}one{{NUM_HOURS} ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}other{{NUM_HOURS} ঘণ্টা আগে নিরাপত্তা সংক্রান্ত পরীক্ষা চালানো হয়েছে}}</translation>
 <translation id="740624631517654988">পপ-আপ  অবরুদ্ধ</translation>
+<translation id="7406912950279255498">কালার ইনভার্সন মোড</translation>
 <translation id="7407430846095439694">আমদানি করে আটকান</translation>
 <translation id="7407504355934009739">অধিকাংশ ব্যক্তি এই সাইটের বিজ্ঞপ্তি ব্লক করে দেন</translation>
 <translation id="740810853557944681">একটি প্রিন্ট সার্ভার যোগ করুন</translation>
@@ -7694,6 +7695,7 @@
     <ph name="BEGIN_PARAGRAPH3" />সেটিংস &gt; অ্যাডভান্সড &gt; নিজে থেকে Google-এ ডায়গনস্টিক ও ব্যবহারের ডেটা পাঠান বিকল্পে গিয়ে মালিক এই ফিচারটি নিয়ন্ত্রণ করতে পারেন।<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />যদি আপনার সন্তানের  জন্য অতিরিক্ত ওয়েব ও অ্যাপ অ্যাক্টিভিটি সেটিংস চালু করা থাকে তাহলে এই ডেটা তার Google অ্যাকাউন্টে সেভ করা হতে পারে। এই সেটিংস সম্বন্ধে আরও জানুন এবং এগুলিকে families.google.com-এ কীভাবে অ্যাডজাস্ট করবেন তা জানুন।<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">ক্লায়েন্ট সার্টিফিকেটটি সঠিক নয়</translation>
+<translation id="8270162672241199380">স্টিম ইনস্টলার</translation>
 <translation id="827097179112817503">হোম বোতাম দেখান</translation>
 <translation id="8271268254812352141">আপনি ডানদিকের বোতামে ক্লিক করলে বা টেক্সট প্রেস করে ধরে থাকলে, সংজ্ঞা, অনুবাদ বা ইউনিট কনভার্সন পান। <ph name="LINK_BEGIN" />ওয়েবসাইট ভাষাতে<ph name="LINK_END" /> অনুবাদের ভাষা কাস্টমাইজ করুন।</translation>
 <translation id="8271379370373330993">অভিভাবক, পরের ধাপগুলি আপনাকে সম্পূর্ণ করতে হবে। অ্যাকাউন্ট সেট-আপ করা হয়ে গেলে আপনি সন্তানকে <ph name="DEVICE_TYPE" /> ডিভাইস ফেরত দিতে পারেন।</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index ee27b80..37d8a92 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -2309,6 +2309,7 @@
 <translation id="3090819949319990166">Nije moguće kopirati crx fajl u <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Uparen je uređaj "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3093714882666365141">Nemoj dozvoliti web lokacijama instaliranje obrađivača plaćanja</translation>
+<translation id="3093958632721393232">Uključi samo kad je razina baterije niska</translation>
 <translation id="3094141017404513551">Ovo će odvojiti vaše pregledanje od korisnika <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Oznake, lozinke i drugi podaci iz preglednika se sinhroniziraju s primarnim računom.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{Isključena je 1 potencijalno štetna ekstenzija. Možete je i ukloniti.}one{Isključena je {NUM_EXTENSIONS} potencijalno štetna ekstenzija. Možete je i ukloniti.}few{Isključene su {NUM_EXTENSIONS} potencijalno štetne ekstenzije. Možete ih i ukloniti.}other{Isključeno je {NUM_EXTENSIONS} potencijalno štetnih ekstenzija. Možete ih i ukloniti.}}</translation>
@@ -5028,6 +5029,7 @@
 <translation id="5747552184818312860">Ističe</translation>
 <translation id="5747785204778348146">Programer - nestabilno</translation>
 <translation id="5747809636523347288">Za&amp;lijepi i idi na <ph name="URL" /></translation>
+<translation id="5748137879145720682">Uključi kada je moje računalo isključeno</translation>
 <translation id="5751345516399502412">Provjeri spremnost dijeljenja internetske veze</translation>
 <translation id="5755022574660047665">uspomene s Google Fotografija</translation>
 <translation id="5756163054456765343">C&amp;entar za pomoć</translation>
@@ -7666,6 +7668,7 @@
 <translation id="8248381369318572865">Pristup mikrofonu i analiziranje vašeg govora</translation>
 <translation id="8248887045858762645">Savjet za Chrome</translation>
 <translation id="8249048954461686687">OEM folder</translation>
+<translation id="8249239468199142122">Štednja baterije</translation>
 <translation id="8249615410597138718">Pošaljite na svoje uređaje</translation>
 <translation id="8250210000648910632">Nema prostora za pohranu</translation>
 <translation id="8251441930213048644">Osvježi sada</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index e90bf9f..eb650f0 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -2174,6 +2174,7 @@
 <translation id="2977480621796371840">Suprimeix del grup</translation>
 <translation id="2979639724566107830">Obre-ho en una finestra nova</translation>
 <translation id="2981113813906970160">Mostra el cursor del ratolí gran</translation>
+<translation id="2981293774053328982">Aquest fitxer conté programari maliciós que pot posar en perill els teus comptes personals o de xarxes socials</translation>
 <translation id="2983373101216420412">Nivell de bateria de l'estoig: <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Vols enviar una sol·licitud a l'administrador per instal·lar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Text compartit d'un altre dispositiu</translation>
@@ -3757,6 +3758,7 @@
 <translation id="4514610446763173167">Reprodueix o posa en pausa el vídeo</translation>
 <translation id="451515744433878153">Suprimeix</translation>
 <translation id="4515872537870654449">Contacta amb Dell per obtenir assistència tècnica. La base s'apagarà si el ventilador no funciona.</translation>
+<translation id="4518840066030486079">Estil del mode de la tecla Maj</translation>
 <translation id="4519331665958994620">Els llocs web poden demanar permís per utilitzar la càmera</translation>
 <translation id="4519935350946509010">Error de connexió</translation>
 <translation id="4520385623207007473">Galetes en ús</translation>
@@ -3852,6 +3854,7 @@
 <translation id="4598345735110653698">Gestiona les claus d'accés</translation>
 <translation id="4598556348158889687">Gestió de l'emmagatzematge</translation>
 <translation id="4598776695426288251">Wi-Fi disponible mitjançant diversos dispositius</translation>
+<translation id="4600071396330666617">Nombre de suggeriments</translation>
 <translation id="4601426376352205922">Marca com a no llegit</translation>
 <translation id="4602466770786743961">Permet sempre que <ph name="HOST" /> accedeixi a la càmera i al micròfon</translation>
 <translation id="4606551464649945562">No permetis que els llocs web creïn un mapa en 3D del meu entorn ni que facin un seguiment de la posició de la càmera</translation>
@@ -4298,6 +4301,7 @@
 <translation id="5043913660911154449">També pots especificar el fitxer PPD de la teva impressora. <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Contrasenya incorrecta</translation>
 <translation id="504561833207953641">S'està obrint a la sessió actual del navegador.</translation>
+<translation id="5049614114599109018">Utilitza l'historial d'entrades</translation>
 <translation id="5051836348807686060">El corrector ortogràfic no és compatible amb els idiomes que has seleccionat</translation>
 <translation id="5052499409147950210">Edita el lloc</translation>
 <translation id="505347685865235222">Grup sense nom - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6241,7 +6245,7 @@
 <translation id="6920989436227028121">Obre-ho com a pestanya normal</translation>
 <translation id="6921104647315081813">Esborra les activitats</translation>
 <translation id="692114467174262153"><ph name="ALTERNATIVE_BROWSER_NAME" /> no s'ha pogut obrir</translation>
-<translation id="6922128026973287222">Deseu les dades i agilitzeu la navegació amb Economitzador de dades de Google. Feu clic per obtenir més informació.</translation>
+<translation id="6922128026973287222">Deseu les dades i agilitzeu la navegació amb Estalvi de dades de Google. Feu clic per obtenir més informació.</translation>
 <translation id="6922745772873733498">Introdueix un PIN per imprimir</translation>
 <translation id="6922763095098248079">La teva organització gestiona aquest dispositiu. Els administradors poden accedir a les dades de qualsevol perfil d'aquest dispositiu.</translation>
 <translation id="6923132443355966645">Desplaça't / fes clic</translation>
@@ -6721,6 +6725,7 @@
 <translation id="7404065585741198296">El teu telèfon amb un cable USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{S'ha executat una comprovació de seguretat fa 1 hora}other{S'ha executat una comprovació de seguretat fa {NUM_HOURS} hores}}</translation>
 <translation id="740624631517654988">Finestra emergent bloquejada</translation>
+<translation id="7406912950279255498">Mode d'inversió de colors</translation>
 <translation id="7407430846095439694">Importa i vincula</translation>
 <translation id="7407504355934009739">La majoria d'usuaris bloquegen les notificacions d'aquest lloc web</translation>
 <translation id="740810853557944681">Afegeix un servidor d'impressió</translation>
@@ -7671,6 +7676,7 @@
     <ph name="BEGIN_PARAGRAPH3" />El propietari pot controlar aquesta funció des de Configuració &gt; Configuració avançada &gt; Envia automàticament dades de diagnòstic i d'ús a Google.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Si el teu fill té activada l'opció addicional Activitat al web i en aplicacions, és possible que aquestes dades es desin al seu Compte de Google. Obtén més informació sobre aquestes opcions de configuració i sobre com pots ajustar-les a families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Certificat de client no vàlid</translation>
+<translation id="8270162672241199380">Instal·lador de Steam</translation>
 <translation id="827097179112817503">Mostra el botó d'inici</translation>
 <translation id="8271268254812352141">Obtén definicions, traduccions o conversions d'unitats quan mantinguis premut el text o quan hi facis clic amb el botó dret. Personalitza els idiomes de traducció a <ph name="LINK_BEGIN" />Idiomes del lloc web<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Els passos següents estan destinats als pares. Poden tornar el dispositiu <ph name="DEVICE_TYPE" /> al nen quan s'acabi de configurar el compte.</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 9e5784eb..50ec676 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -696,6 +696,7 @@
 <translation id="1640283014264083726">Šifrování PKCS #1 MD4 s RSA</translation>
 <translation id="1641113438599504367">Bezpečné prohlížení</translation>
 <translation id="1641496881756082050">Další akce pro <ph name="NETWORK_NAME" /></translation>
+<translation id="1641884605525735390">{NUM_PASSWORDS,plural, =1{1 další heslo nebylo importováno, protože nemá správný formát}few{{NUM_PASSWORDS} další hesla nebyla importována, protože nemají správný formát}many{{NUM_PASSWORDS} dalšího hesla nebylo importováno, protože nemají správný formát}other{{NUM_PASSWORDS} dalších hesel nebylo importováno, protože nemají správný formát}}</translation>
 <translation id="1642492862748815878">Připojeno k zařízení <ph name="DEVICE" /> a <ph name="NUMBER_OF_DEVICES" /> dalším zařízením Bluetooth</translation>
 <translation id="1642494467033190216">Před aktivací dalších funkcí ladění je potřeba odebrat ochranu rootfs a restartovat zařízení.</translation>
 <translation id="1643072738649235303">Podpis X9.62 ECDSA s SHA-1</translation>
@@ -1834,6 +1835,7 @@
 <translation id="2673135533890720193">Čtení vaší historie procházení</translation>
 <translation id="2674764818721168631">Vypnuto</translation>
 <translation id="2678063897982469759">Znovu aktivovat</translation>
+<translation id="2678100101831051676">Odeslání nelze provést.</translation>
 <translation id="268053382412112343">&amp;Historie</translation>
 <translation id="2681124317993121768">Profily hostů nejsou podporovány</translation>
 <translation id="2682498795777673382">Novinka od rodiče</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4617019240346358451">Pokud chcete použít rozšíření <ph name="EXTENSION_NAME" />, znovu načtěte stránku</translation>
 <translation id="4617270414136722281">Možnosti rozšíření</translation>
 <translation id="4617880081511131945">Nelze navázat spojení</translation>
+<translation id="4618195822946934889">URL smí obsahovat pouze znaky ASCII</translation>
 <translation id="4619564267100705184">Ověřte svou totožnost</translation>
 <translation id="4619615317237390068">Karty z ostatních zařízení</translation>
 <translation id="4620809267248568679">Toto nastavení bylo vynuceno rozšířením.</translation>
@@ -5067,6 +5070,7 @@
 <translation id="5800351251499368110">Zavřít vyhledávání na postranním panelu. Vyhledávání je otevřeno na postranním panelu.</translation>
 <translation id="5801568494490449797">Nastavení</translation>
 <translation id="5804241973901381774">Oprávnění</translation>
+<translation id="5805268472388605531">Podržením kláves zobrazíte diakritiku a speciální znaky</translation>
 <translation id="5805697420284793859">Správce oken</translation>
 <translation id="5806447147478173900">Celkový úložný prostor využitý zobrazenými weby: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5806773519584576205">0° (výchozí)</translation>
@@ -5707,6 +5711,7 @@
 <translation id="642469772702851743">Toto zařízení (sériové číslo: <ph name="SERIAL_NUMBER" />) vlastník uzamkl.</translation>
 <translation id="6425556984042222041">Rychlost převodu textu na řeč</translation>
 <translation id="642729974267661262">Zákaz přehrávat zvuk</translation>
+<translation id="6427608534767366138">K přístupu k síti „<ph name="NETWORK_ID" />“ je vyžadováno ověření proxy serveru</translation>
 <translation id="6429384232893414837">Chyba aktualizace</translation>
 <translation id="6430814529589430811">Soubor ASCII kódovaný Base64, jeden certifikát</translation>
 <translation id="6431347207794742960"><ph name="PRODUCT_NAME" /> nastaví automatické aktualizace pro všechny uživatele tohoto počítače.</translation>
@@ -7846,6 +7851,7 @@
 <translation id="844063558976952706">Vždy na tomto webu</translation>
 <translation id="8441313165929432954">Povolit/zakázat tethering</translation>
 <translation id="8443795068008423036">Aktualizujte zařízení a zkuste to znovu</translation>
+<translation id="8443986842926457191">Adresa URL je delší než 2048 znaků.</translation>
 <translation id="8446884382197647889">Další informace</translation>
 <translation id="8447409163267621480">Zahrňte klávesu Ctrl nebo Alt</translation>
 <translation id="844850004779619592">Nebyly nalezeny žádné příkazy</translation>
@@ -7911,6 +7917,7 @@
 <translation id="851263357009351303">Vždy povolovat zobrazování obrázků z webu <ph name="HOST" /></translation>
 <translation id="8513108775083588393">Autom. otáčení</translation>
 <translation id="8514746246728959655">Zkuste jiný bezpečnostní klíč</translation>
+<translation id="8519895319663397036">Hesla se nepodařilo importovat. Soubor musí být menší než 150 kB.</translation>
 <translation id="8523493869875972733">Uchovat změny</translation>
 <translation id="8523849605371521713">Přidáno zásadou</translation>
 <translation id="8524783101666974011">Uložit karty do účtu Google</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 24b2525..5e6b73ac 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -2171,6 +2171,7 @@
 <translation id="2977480621796371840">Aus Gruppe entfernen</translation>
 <translation id="2979639724566107830">In neuem Fenster öffnen</translation>
 <translation id="2981113813906970160">Großen Cursor verwenden</translation>
+<translation id="2981293774053328982">Diese Datei enthält Malware, die deine privaten Konten oder Konten in sozialen Netzwerken gefährden kann</translation>
 <translation id="2983373101216420412">Akkustand des Case bei <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">Anfrage zum Installieren von "<ph name="EXTENSION_NAME" />" an deinen Administrator senden?</translation>
 <translation id="2987620471460279764">Text, der über ein anderes Gerät geteilt wurde</translation>
@@ -3755,6 +3756,7 @@
 <translation id="4514610446763173167">Video wiedergeben oder pausieren</translation>
 <translation id="451515744433878153">Entfernen</translation>
 <translation id="4515872537870654449">Wende dich für eine Reparatur an Dell. Wenn der Lüfter nicht funktioniert, wird das Dock ausgeschaltet.</translation>
+<translation id="4518840066030486079">Modusstil der Umschalttaste</translation>
 <translation id="4519331665958994620">Websites dürfen nachfragen, wenn sie meine Kamera verwenden möchten</translation>
 <translation id="4519935350946509010">Verbindungsfehler.</translation>
 <translation id="4520385623207007473">Verwendete Cookies</translation>
@@ -3850,6 +3852,7 @@
 <translation id="4598345735110653698">Passkeys verwalten</translation>
 <translation id="4598556348158889687">Speicherplatzverwaltung</translation>
 <translation id="4598776695426288251">WLAN über mehrere Geräte verfügbar</translation>
+<translation id="4600071396330666617">Anzahl der Vorschläge</translation>
 <translation id="4601426376352205922">Als ungelesen markieren</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> immer Zugriff auf Kamera und Mikrofon gestatten</translation>
 <translation id="4606551464649945562">Websites nicht erlauben, eine 3D-Karte meiner Umgebung zu erstellen oder die Kameraposition zu verfolgen</translation>
@@ -4296,6 +4299,7 @@
 <translation id="5043913660911154449">Oder wähle die PPD für den Drucker <ph name="LINK_BEGIN" />Weitere Informationen<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Falsches Passwort</translation>
 <translation id="504561833207953641">Wird in einer aktuellen Browsersitzung geöffnet.</translation>
+<translation id="5049614114599109018">Eingabeverlauf verwenden</translation>
 <translation id="5051836348807686060">Die Rechtschreibprüfung wird für die ausgewählten Sprachen nicht unterstützt</translation>
 <translation id="5052499409147950210">Website bearbeiten</translation>
 <translation id="505347685865235222">Unbenannte Gruppe – <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6717,6 +6721,7 @@
 <translation id="7404065585741198296">Mein Smartphone mit einem USB-Kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Der Sicherheitscheck wurde vor 1 Stunde durchgeführt}other{Der Sicherheitscheck wurde vor {NUM_HOURS} Stunden durchgeführt}}</translation>
 <translation id="740624631517654988">Pop-up blockiert</translation>
+<translation id="7406912950279255498">Farbumkehrmodus</translation>
 <translation id="7407430846095439694">Importieren und binden</translation>
 <translation id="7407504355934009739">Die meisten Nutzer blockieren Benachrichtigungen von dieser Website</translation>
 <translation id="740810853557944681">Druckserver hinzufügen</translation>
@@ -7666,6 +7671,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Der Eigentümer kann diese Funktion unter „Einstellungen“ &gt; „Erweitert“ &gt; „Diagnose- und Nutzungsdaten automatisch an Google senden“ steuern.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Wenn für dein Kind zusätzlich die Einstellung „Web- &amp; App-Aktivitäten“ aktiviert ist, werden diese Daten möglicherweise in seinem Google-Konto gespeichert. Weitere Informationen zu diesen Einstellungen und den möglichen Anpassungen findest du unter families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Ungültiges Clientzertifikat</translation>
+<translation id="8270162672241199380">Steam-Installationsprogramm</translation>
 <translation id="827097179112817503">Schaltfläche "Startseite" anzeigen</translation>
 <translation id="8271268254812352141">Du kannst Definitionen oder Übersetzungen anzeigen oder Einheiten umrechnen lassen, indem du Text gedrückt hältst oder mit der rechten Maustaste darauf klickst. Unter <ph name="LINK_BEGIN" />Websitesprachen<ph name="LINK_END" /> kannst du die Sprachen für die Übersetzung anpassen.</translation>
 <translation id="8271379370373330993">Liebe Eltern, die nächsten Schritte müsst ihr ausführen. Ihr könnt das Gerät (<ph name="DEVICE_TYPE" />) nach der Kontoeinrichtung wieder eurem Kind geben.</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index 1e76fff..2b7e6b2f 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -2311,6 +2311,7 @@
 <translation id="3090819949319990166">Δεν είναι δυνατή η αντιγραφή του εξωτερικού αρχείου crx στο <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Έγινε σύζευξη της συσκευής "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3093714882666365141">Να μην επιτρέπεται στους ιστοτόπους να εγκαθιστούν δείκτες χειρισμού για πληρωμές</translation>
+<translation id="3093958632721393232">Ενεργοποίηση μόνο όταν η στάθμη της μπαταρίας είναι χαμηλή</translation>
 <translation id="3094141017404513551">Αυτό θα διαχωρίσει την περιήγησή σας από τον χρήστη <ph name="EXISTING_USER" />.</translation>
 <translation id="3095871294753148861">Οι σελιδοδείκτες, οι κωδικοί πρόσβασης και άλλα δεδομένα του προγράμματος περιήγησης συγχρονίζονται με τον κύριο λογαριασμό.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 δυνητικά επιβλαβής επέκταση είναι απενεργοποιημένη. Μπορείτε επίσης να την καταργήσετε.}other{{NUM_EXTENSIONS} δυνητικά επιβλαβείς επεκτάσεις είναι απενεργοποιημένες. Μπορείτε επίσης να τις καταργήσετε.}}</translation>
@@ -5034,6 +5035,7 @@
 <translation id="5747552184818312860">Λήγει</translation>
 <translation id="5747785204778348146">Προγραμματιστής - ασταθές</translation>
 <translation id="5747809636523347288">Επικόλληση και μετάβαση στη διεύθυνση <ph name="URL" /></translation>
+<translation id="5748137879145720682">Ενεργοποίηση όταν ο υπολογιστής μου είναι αποσυνδεδεμένος</translation>
 <translation id="5751345516399502412">Έλεγχος ετοιμότητας σύνδεσης</translation>
 <translation id="5755022574660047665">αναμνήσεις από τις Φωτογραφίες Google</translation>
 <translation id="5756163054456765343">Κέντρο βοήθειας</translation>
@@ -7668,6 +7670,7 @@
 <translation id="8248381369318572865">Πρόσβαση στο μικρόφωνό σας και ανάλυση της ομιλίας σας</translation>
 <translation id="8248887045858762645">Συμβουλή για το Chrome</translation>
 <translation id="8249048954461686687">Φάκελος OEM</translation>
+<translation id="8249239468199142122">Εξοικονόμηση μπαταρίας</translation>
 <translation id="8249615410597138718">Αποστολή στις συσκευές σας</translation>
 <translation id="8250210000648910632">Ο αποθηκευτικός χώρος εξαντλήθηκε</translation>
 <translation id="8251441930213048644">Ανανέωση τώρα</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index ed5faab..755d55c 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -2175,6 +2175,7 @@
 <translation id="2977480621796371840">Quitar del grupo</translation>
 <translation id="2979639724566107830">Abrir en una ventana nueva</translation>
 <translation id="2981113813906970160">Mostrar cursor del ratón grande</translation>
+<translation id="2981293774053328982">Este archivo contiene software malicioso que puede poner en riesgo tus cuentas personales o de redes sociales</translation>
 <translation id="2983373101216420412">Nivel de batería de la funda: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">¿Quieres enviar una solicitud a tu administrador para instalar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Texto compartido desde otro dispositivo</translation>
@@ -3758,6 +3759,7 @@
 <translation id="4514610446763173167">Reproducir o pausar el video</translation>
 <translation id="451515744433878153">Quitar</translation>
 <translation id="4515872537870654449">Ponte en contacto con Dell para obtener ayuda. La base se apagará si el ventilador no funciona.</translation>
+<translation id="4518840066030486079">Estilo del modo de la tecla Mayús</translation>
 <translation id="4519331665958994620">Los sitios pueden solicitar permiso para usar la cámara</translation>
 <translation id="4519935350946509010">Error de conexión.</translation>
 <translation id="4520385623207007473">Cookies en uso</translation>
@@ -3853,6 +3855,7 @@
 <translation id="4598345735110653698">Gestionar claves de acceso</translation>
 <translation id="4598556348158889687">Gestión del almacenamiento</translation>
 <translation id="4598776695426288251">Wi-Fi disponible a través de varios dispositivos</translation>
+<translation id="4600071396330666617">Número de sugerencias</translation>
 <translation id="4601426376352205922">Marcar como no leído</translation>
 <translation id="4602466770786743961">Permitir que <ph name="HOST" /> acceda siempre a la cámara y al micrófono</translation>
 <translation id="4606551464649945562">No permitir a los sitios crear un mapa 3D de tu entorno ni hacer un seguimiento de la posición de la cámara</translation>
@@ -4299,6 +4302,7 @@
 <translation id="5043913660911154449">O especifica el archivo PPD de tu impresora. <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Contraseña incorrecta</translation>
 <translation id="504561833207953641">Se está abriendo en una sesión de navegador existente.</translation>
+<translation id="5049614114599109018">Usar historial de entrada</translation>
 <translation id="5051836348807686060">La revisión ortográfica no es compatible con los idiomas que has seleccionado</translation>
 <translation id="5052499409147950210">Editar sitio web</translation>
 <translation id="505347685865235222">Grupo sin nombre - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 40861ed8..7cead60 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -2180,6 +2180,7 @@
 <translation id="2977480621796371840">Grupist eemaldamine</translation>
 <translation id="2979639724566107830">Ava uues aknas</translation>
 <translation id="2981113813906970160">Kuva suur hiirekursor</translation>
+<translation id="2981293774053328982">See fail sisaldab pahavara, mis võib teie isiklikud ja sotsiaalvõrgustiku kontod ohtu seada</translation>
 <translation id="2983373101216420412">Ümbrise akutase <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Kas saata administraatorile taotlus laienduse „<ph name="EXTENSION_NAME" />” installimiseks?</translation>
 <translation id="2987620471460279764">Muust seadmest jagatud tekst</translation>
@@ -3764,6 +3765,7 @@
 <translation id="4514610446763173167">Käivitab/peatab video</translation>
 <translation id="451515744433878153">Eemalda</translation>
 <translation id="4515872537870654449">Hooldusteenuse saamiseks võtke ühendust Delliga. Kui ventilaator ei tööta, siis lülitub dokk välja.</translation>
+<translation id="4518840066030486079">Tõstuklahvi režiimi stiil</translation>
 <translation id="4519331665958994620">Saidid saavad küsida luba teie kaamera kasutamiseks</translation>
 <translation id="4519935350946509010">Ühenduse viga.</translation>
 <translation id="4520385623207007473">Küpsisefailid on kasutuses</translation>
@@ -3859,6 +3861,7 @@
 <translation id="4598345735110653698">Pääsukoodide haldamine</translation>
 <translation id="4598556348158889687">Salvestusruumi haldus</translation>
 <translation id="4598776695426288251">WiFi on saadaval mitme seadme kaudu</translation>
+<translation id="4600071396330666617">Soovituste arv</translation>
 <translation id="4601426376352205922">Märgi mitteloetuks</translation>
 <translation id="4602466770786743961">Luba hostile <ph name="HOST" /> alati juurdepääs kaamerale ja mikrofonile</translation>
 <translation id="4606551464649945562">Ära luba saitidel luua mind ümbritsevast 3D-kaarti ega jälgida kaamera asendit</translation>
@@ -4305,6 +4308,7 @@
 <translation id="5043913660911154449">Või määrake printeri PPD <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Vale salasõna</translation>
 <translation id="504561833207953641">Olemasolevas brauseriseansis avamine.</translation>
+<translation id="5049614114599109018">Kasuta sisestusajalugu</translation>
 <translation id="5051836348807686060">Õigekirjakontrolli teie valitud keelte puhul ei toetata</translation>
 <translation id="5052499409147950210">Saidi muutmine</translation>
 <translation id="505347685865235222">Nimetu grupp – <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index 3f7f1e15..b738078e 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -6720,6 +6720,7 @@
 <translation id="7404065585741198296">Telefonoa eta USB kable bat</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Duela ordubete egin da segurtasun-egiaztapena}other{Duela {NUM_HOURS} ordu egin da segurtasun-egiaztapena}}</translation>
 <translation id="740624631517654988">Leiho gainerakorra blokeatu da</translation>
+<translation id="7406912950279255498">Koloreak alderantzikatzeko modua</translation>
 <translation id="7407430846095439694">Inportatu eta lotu</translation>
 <translation id="7407504355934009739">Jende gehienak blokeatu egiten ditu webgune honen jakinarazpenak</translation>
 <translation id="740810853557944681">Gehitu inprimatze-zerbitzari bat</translation>
@@ -7668,6 +7669,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Jabeak kontrolatu nahi badu, atal honetara joan beharko du: Ezarpenak &gt; Aurreratuak &gt; Bidali Google-ri diagnostiko- eta erabilera-datuak automatikoki.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Sareko eta aplikazioetako jarduera gehigarriak ezarpena aktibatuta badago haurrarentzat, baliteke datu horiek haren Google-ko kontuan gordetzea. Lortu informazio gehiago ezarpenei eta haiek doitzeko moduari buruz families.google.com helbidean.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Bezero-ziurtagiriak ez du balio</translation>
+<translation id="8270162672241199380">Steam-en instalatzailea</translation>
 <translation id="827097179112817503">Erakutsi Hasiera botoia</translation>
 <translation id="8271268254812352141">Eskuratu definizioak, itzulpenak edo unitate-bihurketak testua eskuineko botoiarekin sakatzean edo sakatuta edukitzean. Aldatu xede-hizkuntzak <ph name="LINK_BEGIN" />Webguneen hizkuntzak<ph name="LINK_END" /> atalean.</translation>
 <translation id="8271379370373330993">Hurrengo pausoak gurasoek egin behar dituzte. Kontua konfiguratzen amaitutakoan itzuli ahalko diozu <ph name="DEVICE_TYPE" /> gailua haurrari.</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 388c23b..3a8e69d 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -2186,6 +2186,7 @@
 <translation id="2977480621796371840">برداشتن از گروه</translation>
 <translation id="2979639724566107830">باز کردن در پنجرهٔ جدید</translation>
 <translation id="2981113813906970160">نمایش نشانگر موشواره بزرگ</translation>
+<translation id="2981293774053328982">این فایل حاوی بدافزاری است که می‌تواند حساب‌های شخصی یا شبکه اجتماعی‌تان را درمعرض خطر قرار دهد.</translation>
 <translation id="2983373101216420412">سطح باتری قاب <ph name="PERCENTAGE" />٪.</translation>
 <translation id="2985348301114641460">می‌خواهید برای نصب «<ph name="EXTENSION_NAME" />»، درخواستی برای سرپرستتان ارسال کنید؟</translation>
 <translation id="2987620471460279764">نوشتار هم‌رسانی‌شده از دستگاه دیگر</translation>
@@ -3771,6 +3772,7 @@
 <translation id="4514610446763173167">تغییر وضعیت بین پخش یا مکث ویدیو</translation>
 <translation id="451515744433878153">پاک کردن</translation>
 <translation id="4515872537870654449">‏برای سرویس با Dell تماس بگیرید. اگر پنکه کار نکند، پایه اتصال خاموش می‌شود.</translation>
+<translation id="4518840066030486079">سبک حالت کلید تبدیل</translation>
 <translation id="4519331665958994620">سایت‌ها می‌توانند درخواست کنند از دوربین شما استفاده کنند</translation>
 <translation id="4519935350946509010">خطا در اتصال.</translation>
 <translation id="4520385623207007473">کوکی‌های درحال استفاده</translation>
@@ -3866,6 +3868,7 @@
 <translation id="4598345735110653698">مدیریت گذرکلیدها</translation>
 <translation id="4598556348158889687">مدیریت فضای ذخیره‌سازی</translation>
 <translation id="4598776695426288251">‏Wi-Fi ازطریق چند دستگاه دردسترس است</translation>
+<translation id="4600071396330666617">تعداد پیشنهادات</translation>
 <translation id="4601426376352205922">علامت‌گذاری به‌عنوان خوانده‌نشده</translation>
 <translation id="4602466770786743961">همیشه به <ph name="HOST" /> اجازه داده شود به دوربین و میکروفون شما دسترسی داشته باشد</translation>
 <translation id="4606551464649945562">به سایت‌ها اجازه داده نشود نقشه سه‌بعدی از محیط ایجاد کنند یا موقعیت دوربین را ردیابی کنند</translation>
@@ -4312,6 +4315,7 @@
 <translation id="5043913660911154449">‏یا PPD چاپگرتان را تعیین کنید <ph name="LINK_BEGIN" />بیشتر بدانید<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">گذرواژه نادرست</translation>
 <translation id="504561833207953641">درحال باز شدن در جلسه مرورگر کنونی.</translation>
+<translation id="5049614114599109018">استفاده از سابقه ورودی</translation>
 <translation id="5051836348807686060">غلط‌یاب املا از زبان‌هایی که انتخاب کرده‌اید پشتیبانی نمی‌کند.</translation>
 <translation id="5052499409147950210">ویرایش سایت</translation>
 <translation id="505347685865235222">گروه بدون نام - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index eb66f5d..8b24580a 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -1404,7 +1404,7 @@
 <translation id="2278562042389100163">Avaa selainikkuna</translation>
 <translation id="2278668501808246459">Käynnistetään säilönhallintaa</translation>
 <translation id="2280486287150724112">Oikea reuna</translation>
-<translation id="2281863813036651454">Klikkaus hiiren vasemmalla painikkeelle</translation>
+<translation id="2281863813036651454">Klikkaus hiiren vasemmalla painikkeella</translation>
 <translation id="2282146716419988068">GPU-prosessi</translation>
 <translation id="2285109769884538519">{COUNT,plural, =0{Avaa kaikki &amp;uudella välilehtiryhmällä}=1{Avaa &amp;uudella välilehtiryhmällä}other{Avaa kaikki ({COUNT}) &amp;uudella välilehtiryhmällä}}</translation>
 <translation id="2285942871162473373">Sormenjälkeäsi ei voitu tunnistaa. Yritä uudelleen.</translation>
@@ -2188,6 +2188,7 @@
 <translation id="2977480621796371840">Poista ryhmästä</translation>
 <translation id="2979639724566107830">Avaa uudessa ikkunassa</translation>
 <translation id="2981113813906970160">Näytä suuri hiiren osoitin</translation>
+<translation id="2981293774053328982">Tämä tiedosto sisältää haittaohjelmia, jotka voivat vaarantaa henkilökohtaiset tai sometilisi</translation>
 <translation id="2983373101216420412">Kotelon akun varaustaso <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">Lähetetäänkö järjestelmänvalvojallesi pyyntö asentaa <ph name="EXTENSION_NAME" />?</translation>
 <translation id="2987620471460279764">Toiselta laitteelta jaettu teksti</translation>
@@ -3770,6 +3771,7 @@
 <translation id="4514610446763173167">Valitse videon toisto tai keskeytys</translation>
 <translation id="451515744433878153">Poista</translation>
 <translation id="4515872537870654449">Ota yhteyttä Delliin. Teline sammuu, jos tuuletin ei toimi.</translation>
+<translation id="4518840066030486079">Vaihtonäppäintilan tyyli</translation>
 <translation id="4519331665958994620">Sivustot saavat pyytää kameran käyttölupaa</translation>
 <translation id="4519935350946509010">Yhteysvirhe</translation>
 <translation id="4520385623207007473">Käytössä olevat evästeet</translation>
@@ -3865,6 +3867,7 @@
 <translation id="4598345735110653698">Hallinnoi avainkoodeja</translation>
 <translation id="4598556348158889687">Tallennustilan hallinta</translation>
 <translation id="4598776695426288251">Wi-Fi käytettävissä useilla laitteilla</translation>
+<translation id="4600071396330666617">Ehdotusten määrä</translation>
 <translation id="4601426376352205922">Merkitse lukemattomaksi</translation>
 <translation id="4602466770786743961">Anna sivuston <ph name="HOST" /> aina käyttää kameraasi ja mikrofoniasi</translation>
 <translation id="4606551464649945562">Älä salli sivustojen luoda 3D-karttaa ympäristöstäsi tai seurata kameran asentoa</translation>
@@ -4311,6 +4314,7 @@
 <translation id="5043913660911154449">Tai kerro tulostimen PPD <ph name="LINK_BEGIN" />Lue lisää<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Väärä salasana</translation>
 <translation id="504561833207953641">Avataan nykyisessä selainistunnossa</translation>
+<translation id="5049614114599109018">Käytä syöttöhistoriaa</translation>
 <translation id="5051836348807686060">Oikeinkirjoituksen tarkistusta ei tueta valitsemillasi kielillä</translation>
 <translation id="5052499409147950210">Muokkaa sivustoa</translation>
 <translation id="505347685865235222">Nimetön ryhmä – <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6735,6 +6739,7 @@
 <translation id="7404065585741198296">Puhelimella USB-johdon kautta</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Turvatarkistus tehtiin tunti sitten}other{Turvatarkistus tehtiin {NUM_HOURS} tuntia sitten}}</translation>
 <translation id="740624631517654988">Ponnahdusikkuna estetty</translation>
+<translation id="7406912950279255498">Käänteiset värit ‑tila</translation>
 <translation id="7407430846095439694">Tuo ja sido</translation>
 <translation id="7407504355934009739">Useimmat ihmiset estävät tämän sovelluksen ilmoitukset</translation>
 <translation id="740810853557944681">Lisää tulostuspalvelin</translation>
@@ -7684,6 +7689,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Omistaja voi muokata tätä ominaisuutta kohdassa Asetukset &gt; Lisäasetukset &gt; Lähetä automaattisesti diagnostiikka- ja käyttötietoja Googlelle.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Jos lapsesi on ottanut käyttöön ylimääräisen Verkko- ja sovellustoiminta ‑asetuksen, tätä dataa voidaan tallentaa lapsesi Google-tilille. Lue lisätietoja näistä asetuksista ja niiden muokkaamisesta osoitteessa families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Virheellinen käyttöoikeusvarmenne</translation>
+<translation id="8270162672241199380">Steamin asennusohjelma</translation>
 <translation id="827097179112817503">Näytä Etusivu-painike</translation>
 <translation id="8271268254812352141">Voit nähdä määritelmiä, käännöksiä tai yksikkömuunnoksia klikkaamalla tekstiä kakkospainikkeella tai koskettamalla sitä pitkään. Muokkaa käännöskieliä kohdassa <ph name="LINK_BEGIN" />Verkkosivustojen kielet<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Seuraavat vaiheet on tarkoitettu vanhemmille. <ph name="DEVICE_TYPE" /> voidaan antaa lapselle tilin määrityksen jälkeen.</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index b8b7c28..a769b1b 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -2190,6 +2190,7 @@
 <translation id="2977480621796371840">Alisin sa grupo</translation>
 <translation id="2979639724566107830">Buksan ng bagong window</translation>
 <translation id="2981113813906970160">Ipakita ang malaking mouse cursor</translation>
+<translation id="2981293774053328982">Naglalaman ang file na ito ng malware na posibleng magkompromiso sa iyong personal na account o mga account sa social network</translation>
 <translation id="2983373101216420412"><ph name="PERCENTAGE" />% antas ng baterya ng case.</translation>
 <translation id="2985348301114641460">Magpadala ng kahilingan sa iyong administrator para i-install ang "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Ibinahaging text mula sa ibang device</translation>
@@ -2311,6 +2312,7 @@
 <translation id="3090819949319990166">Hindi makopya ang external na crx file sa <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Napares na ang "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3093714882666365141">Huwag payagan ang mga site na mag-install ng mga tagapangasiwa ng pagbabayad</translation>
+<translation id="3093958632721393232">I-on lang kapag paubos na ang baterya</translation>
 <translation id="3094141017404513551">Ihihiwalay nito sa <ph name="EXISTING_USER" /> ang iyong pag-browse</translation>
 <translation id="3095871294753148861">Naka-sync sa pangunahing account ang mga bookmark, password, at iba pang data ng browser.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{Na-off ang 1 posibleng mapaminsalang extension. Puwede mo rin itong alisin.}one{Na-off ang {NUM_EXTENSIONS} posibleng mapaminsalang extension. Puwede mo ring alisin ang mga ito.}other{Na-off ang {NUM_EXTENSIONS} na posibleng mapaminsalang extension. Puwede mo ring alisin ang mga ito.}}</translation>
@@ -3775,6 +3777,7 @@
 <translation id="4514610446763173167">I-toggle ang video para mag-play o mag-pause</translation>
 <translation id="451515744433878153">Alisin</translation>
 <translation id="4515872537870654449">Makipag-ugnayan sa Dell para sa serbisyo. Magsa-shut down ang dock kung hindi gumagana ang fan.</translation>
+<translation id="4518840066030486079">Shift Key Mode Style</translation>
 <translation id="4519331665958994620">Puwedeng hilingin ng mga site na gamitin ang iyong camera</translation>
 <translation id="4519935350946509010">Nagka-error sa koneksyon.</translation>
 <translation id="4520385623207007473">Ginagamit ang cookies</translation>
@@ -3870,6 +3873,7 @@
 <translation id="4598345735110653698">Pamahalaan ang mga passkey</translation>
 <translation id="4598556348158889687">Pamamahala sa storage</translation>
 <translation id="4598776695426288251">Available ang Wi-Fi sa pamamagitan ng maraming device</translation>
+<translation id="4600071396330666617">Bilang ng suhestyon</translation>
 <translation id="4601426376352205922">Markahan bilang Hindi Pa Nababasa</translation>
 <translation id="4602466770786743961">Palaging payagan ang <ph name="HOST" /> na i-access ang iyong camera at mikropono</translation>
 <translation id="4606551464649945562">Huwag payagan ang mga site na gumawa ng 3D na mapa ng iyong kapaligiran o subaybayan ang posisyon ng camera</translation>
@@ -4316,6 +4320,7 @@
 <translation id="5043913660911154449">O tukuyin ang PPD ng iyong printer <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Hindi wastong password</translation>
 <translation id="504561833207953641">Binubuksan sa kasalukuyang session ng browser.</translation>
+<translation id="5049614114599109018">Gamitin ang History ng Input</translation>
 <translation id="5051836348807686060">Hindi sinusuportahan ang spellcheck para sa mga pinili mong wika</translation>
 <translation id="5052499409147950210">I-edit ang site</translation>
 <translation id="505347685865235222">Grupong walang pangalan - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -5030,6 +5035,7 @@
 <translation id="5747552184818312860">Mag-e-expire sa</translation>
 <translation id="5747785204778348146">Developer - hindi matatag</translation>
 <translation id="5747809636523347288">I-pa&amp;ste at pumunta sa <ph name="URL" /></translation>
+<translation id="5748137879145720682">I-on kapag hindi nakasaksak ang aking computer</translation>
 <translation id="5751345516399502412">Tingnan ang Kahandaan sa Pag-tether</translation>
 <translation id="5755022574660047665">mga alaala mula sa Google Photos</translation>
 <translation id="5756163054456765343">Help center</translation>
@@ -7666,6 +7672,7 @@
 <translation id="8248381369318572865">I-access ang iyong mikropono at suriin ang pagsasalita mo</translation>
 <translation id="8248887045858762645">Tip sa Chrome</translation>
 <translation id="8249048954461686687">Folder ng OEM</translation>
+<translation id="8249239468199142122">Pantipid ng Baterya</translation>
 <translation id="8249615410597138718">Ipadala sa Iyong Mga Device</translation>
 <translation id="8250210000648910632">Wala nang storage space</translation>
 <translation id="8251441930213048644">I-refresh ngayon</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index 41407ee..a612752 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -6729,6 +6729,7 @@
 <translation id="7404065585741198296">USB કેબલ સાથે તમારો ફોન</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{સલામતી માટે તપાસ 1 કલાક અગાઉ કરવામાં આવી હતી}one{સલામતી માટે તપાસ {NUM_HOURS} કલાક અગાઉ કરવામાં આવી હતી}other{સલામતી માટે તપાસ {NUM_HOURS} કલાક અગાઉ કરવામાં આવી હતી}}</translation>
 <translation id="740624631517654988">પૉપ-અપ બ્લૉક કરેલું છે</translation>
+<translation id="7406912950279255498">વિપરીત રંગમાં બદલવાનો મોડ</translation>
 <translation id="7407430846095439694">આયાત કરો અને પ્રતિબદ્ધ કરો</translation>
 <translation id="7407504355934009739">મોટાભાગના લોકો આ સાઇટના બધા નોટિફિકેશનને બ્લૉક કરે છે</translation>
 <translation id="740810853557944681">પ્રિન્ટ સર્વર ઉમેરો</translation>
@@ -7673,6 +7674,7 @@
     <ph name="BEGIN_PARAGRAPH3" />સેટિંગ &gt; વિગતવાર &gt; 'Googleને ઑટોમૅટિક રીતે ડાયગ્નોસ્ટિક અને વપરાશ ડેટા મોકલો' પરથી ડિવાઇસના માલિક આ સુવિધાનું નિયંત્રણ કરી શકે છે.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />જો તમારા બાળક માટે વધારાની વેબ અને ઍપ પ્રવૃત્તિ સેટિંગ ચાલુ કરવામાં આવી હોય, તો આ ડેટા તેમના Google એકાઉન્ટમાં સાચવવામાં આવી શકે છે. તમે આ સેટિંગ વિશે અને તેની કેવી રીતે ગોઠવણ કરવી તે family.google.com પર વધુ જાણો.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">અમાન્ય ક્લાયન્ટ પ્રમાણપત્ર</translation>
+<translation id="8270162672241199380">Steam ઇન્સ્ટૉલર</translation>
 <translation id="827097179112817503">હોમ બટન દર્શાવો</translation>
 <translation id="8271268254812352141">તમે જ્યારે રાઇટ ક્લિક કરો અથવા ટેક્સ્ટને ટચ કરીને થોડીવાર દબાવી રાખો ત્યારે વ્યાખ્યાઓ, અનુવાદો અથવા એકમના રૂપાંતરણો મેળવો. <ph name="LINK_BEGIN" />વેબસાઇટ ભાષાઓ<ph name="LINK_END" />માં અનુવાદની ભાષાઓ કસ્ટમાઇઝ કરો.</translation>
 <translation id="8271379370373330993">આગલા કેટલાક પગલાં માતાપિતા માટે છે. એકાઉન્ટ સેટઅપ થઈ જાય તે પછી તમે બાળકને <ph name="DEVICE_TYPE" /> પાછું આપી શકો છો.</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index ae58f8a..43d9a30 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -2298,6 +2298,7 @@
 <translation id="3090819949319990166">Nije moguće kopiranje crx datoteke u <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Upareno: "<ph name="DEVICE_NAME" />"</translation>
 <translation id="3093714882666365141">Ne dopuštaj web-lokacijama instaliranje rukovatelja plaćanja</translation>
+<translation id="3093958632721393232">Uključi samo kad je razina baterije niska</translation>
 <translation id="3094141017404513551">Time će se vaše pregledavanje odvojiti od korisnika <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Oznake, zaporke i drugi podaci preglednika sinkroniziraju se s primarnim računom.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{Isključeno je jedno potencijalno štetno proširenje. Možete ga i ukloniti.}one{Isključeno je {NUM_EXTENSIONS} potencijalno štetno proširenje. Možete ih i ukloniti.}few{Isključena su {NUM_EXTENSIONS} potencijalno štetna proširenja. Možete ih i ukloniti.}other{Isključeno je {NUM_EXTENSIONS} potencijalno štetnih proširenja. Možete ih i ukloniti.}}</translation>
@@ -5014,6 +5015,7 @@
 <translation id="5747552184818312860">Istječe</translation>
 <translation id="5747785204778348146">Razvojni programer – nestabilno</translation>
 <translation id="5747809636523347288">Za&amp;lijepi i otvori <ph name="URL" /></translation>
+<translation id="5748137879145720682">Uključi kada je moje računalo isključeno</translation>
 <translation id="5751345516399502412">Provjera spremnosti za modemsko povezivanje</translation>
 <translation id="5755022574660047665">uspomene s Google fotografija</translation>
 <translation id="5756163054456765343">Centar za pomoć</translation>
@@ -5369,7 +5371,7 @@
 <translation id="6078769373519310690">Proširenje "<ph name="CHROME_EXTENSION_NAME" />" želi se povezati s HID uređajem</translation>
 <translation id="608029822688206592">Nije pronađena nijedna mreža. Umetnite SIM karticu i pokušajte ponovo.</translation>
 <translation id="6080689532560039067">Provjerite vrijeme sustava</translation>
-<translation id="6082877069782862752">Mapiranje ključa</translation>
+<translation id="6082877069782862752">Mapiranje tipki</translation>
 <translation id="608531959444400877"><ph name="WINDOW_TITLE" /> – dio neimenovane grupe</translation>
 <translation id="6085886413119427067">Određuje kako se povezati na web-lokacije sigurnom vezom</translation>
 <translation id="6086004606538989567">Račun koji ste potvrdili nije ovlašten pristupiti ovom uređaju.</translation>
@@ -7650,6 +7652,7 @@
 <translation id="8248381369318572865">Pristup mikrofonu i analiza govora</translation>
 <translation id="8248887045858762645">Savjet za Chrome</translation>
 <translation id="8249048954461686687">OEM mapa</translation>
+<translation id="8249239468199142122">Štednja baterije</translation>
 <translation id="8249615410597138718">Pošaljite na svoje uređaje</translation>
 <translation id="8250210000648910632">Nedovoljno prostora za pohranu</translation>
 <translation id="8251441930213048644">Osvježi sada</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 88cc3f2b..9956a874 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -2309,6 +2309,7 @@
 <translation id="3090819949319990166">A külső crx-fájl nem másolható a következő helyre: <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />” párosítva</translation>
 <translation id="3093714882666365141">A webhelyek nem telepíthetnek fizetéskezelőket</translation>
+<translation id="3093958632721393232">Bekapcsolás csak akkor, amikor az akkumulátor töltöttsége alacsony</translation>
 <translation id="3094141017404513551">Ezzel elkülöníti böngészési tevékenységeit ettől a felhasználótól: <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">A könyvjelzők, jelszavak és más böngészőadatok szinkronizálva vannak az elsődleges fiókkal.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 potenciálisan kártékony bővítmény ki van kapcsolva. Akár el is távolíthatja.}other{{NUM_EXTENSIONS} potenciálisan kártékony bővítmény ki van kapcsolva. Akár el is távolíthatja.}}</translation>
@@ -5029,6 +5030,7 @@
 <translation id="5747552184818312860">Lejár</translation>
 <translation id="5747785204778348146">Fejlesztői – nem stabil</translation>
 <translation id="5747809636523347288"><ph name="URL" /> be&amp;illesztése és felkeresése</translation>
+<translation id="5748137879145720682">Bekapcsolás, amikor a számítógép nincs áramforráshoz csatlakoztatva</translation>
 <translation id="5751345516399502412">Internetmegosztási készenlét ellenőrzése</translation>
 <translation id="5755022574660047665">emlékeket a Google Fotókból</translation>
 <translation id="5756163054456765343">Súgó</translation>
@@ -7661,6 +7663,7 @@
 <translation id="8248381369318572865">Hozzáférés a mikrofonhoz és a beszéd elemzése</translation>
 <translation id="8248887045858762645">Chrome-tipp</translation>
 <translation id="8249048954461686687">OEM mappa</translation>
+<translation id="8249239468199142122">Akkumulátorkímélő mód</translation>
 <translation id="8249615410597138718">Küldés a saját eszközökre</translation>
 <translation id="8250210000648910632">Elfogyott a tárhely</translation>
 <translation id="8251441930213048644">Frissítés most</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 8517245..4203465 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">Hapus dari grup</translation>
 <translation id="2979639724566107830">Buka di jendela baru</translation>
 <translation id="2981113813906970160">Tampilkan kursor mouse besar</translation>
+<translation id="2981293774053328982">File ini berisi malware yang dapat membahayakan akun jaringan sosial atau pribadi Anda</translation>
 <translation id="2983373101216420412">Tingkat daya baterai casing <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Kirim permintaan ke administrator Anda untuk menginstal "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Teks yang dibagikan dari perangkat lain</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">Tombol putar atau jeda video</translation>
 <translation id="451515744433878153">Hapus</translation>
 <translation id="4515872537870654449">Hubungi Dell untuk perbaikan. Dok akan mati jika kipas tidak berfungsi.</translation>
+<translation id="4518840066030486079">Gaya Mode Tombol Shift</translation>
 <translation id="4519331665958994620">Situs dapat meminta untuk menggunakan kamera Anda</translation>
 <translation id="4519935350946509010">Error koneksi.</translation>
 <translation id="4520385623207007473">Cookie yang sedang digunakan</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">Kelola kunci sandi</translation>
 <translation id="4598556348158889687">Pengelolaan penyimpanan</translation>
 <translation id="4598776695426288251">Wi-Fi tersedia melalui beberapa perangkat</translation>
+<translation id="4600071396330666617">Jumlah saran</translation>
 <translation id="4601426376352205922">Tandai sebagai Belum Dibaca</translation>
 <translation id="4602466770786743961">Selalu izinkan <ph name="HOST" /> mengakses kamera dan mikrofon Anda</translation>
 <translation id="4606551464649945562">Jangan izinkan situs membuat peta 3D untuk area di sekeliling Anda atau melacak posisi kamera</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">Atau tentukan PPD printer <ph name="LINK_BEGIN" />Pelajari lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Sandi salah</translation>
 <translation id="504561833207953641">Membuka di sesi browser yang ada.</translation>
+<translation id="5049614114599109018">Gunakan Histori Input</translation>
 <translation id="5051836348807686060">Fitur periksa ejaan tidak didukung untuk bahasa yang Anda pilih</translation>
 <translation id="5052499409147950210">Edit situs</translation>
 <translation id="505347685865235222">Grup tanpa nama - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6739,6 +6743,7 @@
 <translation id="7404065585741198296">Ponsel Anda dengan kabel USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Pemeriksaan keamanan berjalan 1 jam lalu}other{Pemeriksaan keamanan berjalan {NUM_HOURS} jam lalu}}</translation>
 <translation id="740624631517654988">Pop-up diblokir</translation>
+<translation id="7406912950279255498">Mode inversi warna</translation>
 <translation id="7407430846095439694">Impor dan Kaitkan</translation>
 <translation id="7407504355934009739">Sebagian besar orang memblokir notifikasi dari situs ini</translation>
 <translation id="740810853557944681">Tambahkan server cetak</translation>
@@ -7689,6 +7694,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Pemilik dapat mengontrol fitur ini dari Setelan &gt; Lanjutan &gt; Otomatis kirimkan data diagnostik dan penggunaan ke Google.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Jika setelan Aktivitas Web &amp; Aplikasi tambahan diaktifkan untuk anak Anda, data ini dapat disimpan ke Akun Google-nya. Pelajari lebih lanjut setelan ini dan cara menyesuaikannya di families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Sertifikat klien tidak valid</translation>
+<translation id="8270162672241199380">Penginstal Steam</translation>
 <translation id="827097179112817503">Tampilkan tombol beranda</translation>
 <translation id="8271268254812352141">Dapatkan definisi, terjemahan, atau konversi unit saat Anda mengklik kanan atau menyentuh lama teks. Sesuaikan bahasa terjemahan di <ph name="LINK_BEGIN" />Bahasa situs<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Bapak/Ibu, beberapa langkah selanjutnya adalah untuk Anda. Anda dapat menyerahkan <ph name="DEVICE_TYPE" /> kembali ke anak setelah penyiapan akun selesai.</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index 080ccbe..36a4e75 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -2190,6 +2190,7 @@
 <translation id="2977480621796371840">Fjarlægja úr hópi</translation>
 <translation id="2979639724566107830">Opna í nýjum glugga</translation>
 <translation id="2981113813906970160">Sýna stóran músarbendil</translation>
+<translation id="2981293774053328982">Þessi skrá inniheldur spilliforrit sem getur ógnað öryggi persónulegra- eða netsamfélagsreikninga þinna</translation>
 <translation id="2983373101216420412">Staða rafhlöðu í hulstri <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Viltu senda beiðni til kerfisstjórans þíns til að setja upp „<ph name="EXTENSION_NAME" />“?</translation>
 <translation id="2987620471460279764">Texta deilt úr öðru tæki</translation>
@@ -3775,6 +3776,7 @@
 <translation id="4514610446763173167">Skipt á milli spilunar og hlés á myndskeiði</translation>
 <translation id="451515744433878153">Fjarlægja</translation>
 <translation id="4515872537870654449">Hafðu samband við Dell til að fá aðstoð. Dokkan slekkur á sér ef viftan virkar ekki.</translation>
+<translation id="4518840066030486079">Stillingastíll Shift-lykils</translation>
 <translation id="4519331665958994620">Vefsvæði geta beðið um að nota myndavélina þína</translation>
 <translation id="4519935350946509010">Villa í tengingu.</translation>
 <translation id="4520385623207007473">Fótspor í notkun</translation>
@@ -3870,6 +3872,7 @@
 <translation id="4598345735110653698">Stjórna aðgangslyklum</translation>
 <translation id="4598556348158889687">Stjórnun geymslu</translation>
 <translation id="4598776695426288251">Wi-Fi aðgengilegt gegnum mörg tæki</translation>
+<translation id="4600071396330666617">Fjöldi tillagna</translation>
 <translation id="4601426376352205922">Merkja sem ólesið</translation>
 <translation id="4602466770786743961">Veita <ph name="HOST" /> alltaf aðgang að myndavélinni og hljóðnemanum</translation>
 <translation id="4606551464649945562">Ekki leyfa vefsvæðum að búa til þrívíddarkort af umhverfinu eða rekja staðsetningu myndavélarinnar</translation>
@@ -4316,6 +4319,7 @@
 <translation id="5043913660911154449">Eða tilgreindu PPD prentarans <ph name="LINK_BEGIN" />Frekari upplýsingar<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Rangt aðgangsorð</translation>
 <translation id="504561833207953641">Opnast í núverandi vafralotu.</translation>
+<translation id="5049614114599109018">Nota innsláttarferil</translation>
 <translation id="5051836348807686060">Villuleit er ekki studd á þeim tungumálum sem þú valdir</translation>
 <translation id="5052499409147950210">Breyta vefsvæði</translation>
 <translation id="505347685865235222">Ónefndur hópur – <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index 5a5e681..014347d 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -2174,6 +2174,7 @@
 <translation id="2977480621796371840">Rimuovi dal gruppo</translation>
 <translation id="2979639724566107830">Apri in un'altra finestra</translation>
 <translation id="2981113813906970160">Mostra puntatore mouse grande</translation>
+<translation id="2981293774053328982">Questo file contiene malware che può compromettere gli account personali o dei social network</translation>
 <translation id="2983373101216420412">Livello della batteria della custodia a <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Inviare all'amministrazione la richiesta di installare "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Testo condiviso da un altro dispositivo</translation>
@@ -3758,6 +3759,7 @@
 <translation id="4514610446763173167">Attiva/disattiva il video per riprodurre o mettere in pausa</translation>
 <translation id="451515744433878153">Rimuovi</translation>
 <translation id="4515872537870654449">Per assistenza, contatta Dell. Il dock si spegne se la ventola non funziona.</translation>
+<translation id="4518840066030486079">Stile della modalità tasto Maiusc</translation>
 <translation id="4519331665958994620">I siti possono richiedere l'autorizzazione per utilizzare la videocamera</translation>
 <translation id="4519935350946509010">Errore di connessione.</translation>
 <translation id="4520385623207007473">Cookie in uso</translation>
@@ -3853,6 +3855,7 @@
 <translation id="4598345735110653698">Gestisci passkey</translation>
 <translation id="4598556348158889687">Gestione dello spazio di archiviazione</translation>
 <translation id="4598776695426288251">Wi-Fi disponibile tramite vari dispositivi</translation>
+<translation id="4600071396330666617">Numero di suggerimenti</translation>
 <translation id="4601426376352205922">Segna come da leggere</translation>
 <translation id="4602466770786743961">Consenti sempre a <ph name="HOST" /> di accedere alla webcam e al microfono</translation>
 <translation id="4606551464649945562">Non consentire ai siti di creare una mappa 3D dell'ambiente circostante o di monitorare la posizione della fotocamera</translation>
@@ -4299,6 +4302,7 @@
 <translation id="5043913660911154449">In alternativa, specifica il file PPD della stampante. <ph name="LINK_BEGIN" />Ulteriori informazioni<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Password non corretta</translation>
 <translation id="504561833207953641">Apertura nella sessione del browser esistente.</translation>
+<translation id="5049614114599109018">Utilizza cronologia immissioni</translation>
 <translation id="5051836348807686060">Il controllo ortografico non è supportato per le lingue selezionate</translation>
 <translation id="5052499409147950210">Modifica del sito</translation>
 <translation id="505347685865235222">Gruppo senza nome - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6720,6 +6724,7 @@
 <translation id="7404065585741198296">Telefono con cavo USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Il controllo di sicurezza è stato eseguito 1 ora fa}other{Il controllo di sicurezza è stato eseguito {NUM_HOURS} ore fa}}</translation>
 <translation id="740624631517654988">Popup bloccato</translation>
+<translation id="7406912950279255498">Modalità inversione dei colori</translation>
 <translation id="7407430846095439694">Importa e associa</translation>
 <translation id="7407504355934009739">La maggior parte degli utenti blocca le notifiche da questo sito</translation>
 <translation id="740810853557944681">Aggiungi un server di stampa</translation>
@@ -7670,6 +7675,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Il proprietario può controllare questa funzione da Impostazioni &gt; Avanzate &gt; Invia automaticamente a Google dati di diagnostica e utilizzo.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Se l'impostazione aggiuntiva Attività web e app è attiva per tuo figlio, questi dati potrebbero essere salvati nel suo Account Google. Leggi ulteriori informazioni su queste impostazioni e su come configurarle alla pagina families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Certificato client non valido</translation>
+<translation id="8270162672241199380">Programma di installazione di Steam</translation>
 <translation id="827097179112817503">Mostra pulsante Home</translation>
 <translation id="8271268254812352141">Ricevi definizioni, traduzioni o conversioni di unità quando tocchi e tieni premuto del testo oppure quando ci fai clic sopra con il pulsante destro del mouse. Personalizza le lingue di traduzione nella sezione <ph name="LINK_BEGIN" />Lingue dei siti web<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">I prossimi passaggi devono essere eseguiti dai genitori. Il dispositivo <ph name="DEVICE_TYPE" /> può essere restituito al bambino dopo la creazione dell'account.</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index e30a18f..918b3a3 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1804,6 +1804,7 @@
 <translation id="2637400434494156704">קוד אימות שגוי. נשאר לך ניסיון אחד.</translation>
 <translation id="2638286699381354126">עדכן...</translation>
 <translation id="2638662041295312666">תמונת המשתמש</translation>
+<translation id="2640299212685523844">‏שימוש ב-GTK</translation>
 <translation id="264083724974021997">התחברות לטלפון – תיבת דו-שיח</translation>
 <translation id="2642111877055905627">כדורגל</translation>
 <translation id="2643698698624765890">אפשר לנהל את התוספים שלך באמצעות לחיצה על 'תוספים' בתפריט 'חלון'.</translation>
@@ -1967,6 +1968,7 @@
 <translation id="2783829359200813069">בחירת סוגי הצפנה</translation>
 <translation id="2783952358106015700">שימוש במפתח האבטחה באפליקציה <ph name="APP_NAME" /></translation>
 <translation id="2785873697295365461">מתארי קבצים</translation>
+<translation id="2785975315093449168">GTK</translation>
 <translation id="2787022501752539710">שמירת נתוני הגלישה המקומיים (סימניות, סיסמאות, היסטוריה וכו')</translation>
 <translation id="2787354132612937472">—</translation>
 <translation id="2788135150614412178">+</translation>
@@ -2105,6 +2107,7 @@
 <translation id="2902312830803030883">פעולות נוספות</translation>
 <translation id="2903457445916429186">פתיחת הפריטים הנבחרים</translation>
 <translation id="2903882649406874750">יש לחסום תמיד את הגישה של <ph name="HOST" /> אל החיישנים</translation>
+<translation id="2904845070985032877">השהיית האנימציות</translation>
 <translation id="2907619724991574506">כתובות אתרים בהפעלה</translation>
 <translation id="2907798539022650680">הניסיון להתחבר אל '<ph name="NAME" />' נכשל: <ph name="DETAILS" />
 הודעת שרת: <ph name="SERVER_MSG" /></translation>
@@ -2933,6 +2936,7 @@
 <translation id="372062398998492895">CUPS</translation>
 <translation id="3721119614952978349">‏ההגדרות שלך ב-Google</translation>
 <translation id="3722108462506185496">קרתה שגיאה בהפעלת שירות המכונה הווירטואלית. צריך לנסות שוב.</translation>
+<translation id="3726965532284929944">QT</translation>
 <translation id="3727144509609414201">‏רשתות Wi-Fi זמינות</translation>
 <translation id="3727187387656390258">בדיקת חלון מוקפץ</translation>
 <translation id="372722114124766626">רק פעם אחת</translation>
@@ -3012,6 +3016,7 @@
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני יום אחד}two{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני יומיים ({NUM_DAYS})}many{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני {NUM_DAYS} ימים}other{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני {NUM_DAYS} ימים}}</translation>
 <translation id="379500251094592809">‏כדי להשתמש ב'שיתוף בקרבת מקום', יש לוודא ששני המכשירים אינם נעולים, שהם קרובים זה לזה ושבשניהם מופעל Bluetooth. אם השיתוף נעשה עם Chromebook שאינו רשום באנשי הקשר שלך, יש לוודא שהופעלו הרשאות הגישה בקרבת מקום (יש לפתוח את אזור הסטטוס באמצעות בחירה בשעה ואז להפעיל את הרשאות הגישה בקרבת מקום). <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">כבוי</translation>
+<translation id="3795766489237825963">הפעלת האנימציות</translation>
 <translation id="3796648294839530037">רשתות מועדפות:</translation>
 <translation id="3797739167230984533"><ph name="BEGIN_LINK" /><ph name="DEVICE_TYPE" /> זה מנוהל<ph name="END_LINK" /> על ידי הארגון שלך</translation>
 <translation id="3797900183766075808">&amp;חיפוש ב-<ph name="SEARCH_ENGINE" /> אחר '<ph name="SEARCH_TERMS" />'</translation>
@@ -3428,6 +3433,7 @@
 <translation id="4181602000363099176">20x</translation>
 <translation id="4181841719683918333">שפות</translation>
 <translation id="4184803915913850597">‏מכשיר HID (<ph name="VENDOR_ID" />:<ph name="PRODUCT_ID" />)</translation>
+<translation id="4186749321808907788"><ph name="QUERY_NAME" /> – חיפוש <ph name="DEFAULT_SEARCH_ENGINE_NAME" /></translation>
 <translation id="4187424053537113647">ההגדרה של <ph name="APP_NAME" /> מתבצעת…</translation>
 <translation id="4190828427319282529">הדגשת מיקוד המקלדת</translation>
 <translation id="4193836101014293726">לא ניתן למחוק את הפרופיל הזה</translation>
@@ -4444,6 +4450,7 @@
 <translation id="5190926251776387065">הפעלת היציאה</translation>
 <translation id="5191094172448199359">קודי האימות שהזנת לא תואמים.</translation>
 <translation id="5191251636205085390">‏מידע על טכנולוגיות חדשות שמיועדות להחליף קובצי cookie של צד שלישי והוראות לשליטה בהן.</translation>
+<translation id="519185197579575131">‏שימוש ב-QT</translation>
 <translation id="5192062846343383368">‏כדי לראות את הגדרות הפיקוח יש לפתוח את האפליקציה Family Link</translation>
 <translation id="5193988420012215838">הועתק אל הלוח</translation>
 <translation id="5194256020863090856">פעולה זו משפיעה רק על חלונות אנונימיים</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index e51a854f..7fa66c41 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -3524,6 +3524,7 @@
 <translation id="4306119971288449206">アプリはコンテンツタイプ「<ph name="CONTENT_TYPE" />」で配信される必要があります</translation>
 <translation id="4307992518367153382">基本設定</translation>
 <translation id="4309165024397827958">位置情報の利用権限が設定されている Android アプリやサービスがご利用のデバイスの位置情報を使用することを許可します。Google は位置情報を定期的に収集し、このデータを匿名の方法で活用して位置情報の精度や位置情報を利用したサービスを改善します。</translation>
+<translation id="4309183709806093061">システム音声も共有します。ハウリングが発生しないように、このデバイスはミュートされます。</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> K(<ph name="NUM_KILOBYTES_LIVE" /> K ライブ)</translation>
 <translation id="4310132194679586591">このリンクを開くデバイスのアプリを選択</translation>
 <translation id="4310139701823742692">ファイルの形式が正しくありません。PPD ファイルを確認してもう一度お試しください。</translation>
@@ -4533,6 +4534,7 @@
 <translation id="5305145881844743843">このアカウントは <ph name="BEGIN_LINK" /><ph name="DOMAIN" /><ph name="END_LINK" /> によって管理されています</translation>
 <translation id="5307030433605830021">サポートされていないソースです</translation>
 <translation id="5307386115243749078">Bluetooth スイッチのペア設定</translation>
+<translation id="5307958609248661362">Google パスワード マネージャーがタイムアウトになりました</translation>
 <translation id="5308380583665731573">接続</translation>
 <translation id="5309418307557605830">Google アシスタントはこのデバイスで使用できます</translation>
 <translation id="5311304534597152726">次のユーザーとしてログイン:</translation>
@@ -7325,6 +7327,7 @@
 <translation id="7988805580376093356">OS を変更せず、<ph name="DEVICE_OS" /> を USB から実行します。</translation>
 <translation id="7991296728590311172">スイッチ アクセスの設定</translation>
 <translation id="7992203134935383159">音声合成</translation>
+<translation id="799570308305997052">ウェブ表示</translation>
 <translation id="7997826902155442747">プロセスの優先値</translation>
 <translation id="7999229196265990314">次のファイルを作成しました:
 
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 9ac6d167b..bab6c14 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -2174,6 +2174,7 @@
 <translation id="2977480621796371840">ჯგუფიდან ამოშლა</translation>
 <translation id="2979639724566107830">ახალ ფანჯარაში გახსნა</translation>
 <translation id="2981113813906970160">აჩვენეთ მაუსის დიდი კურსორი</translation>
+<translation id="2981293774053328982">ეს ფაილი შეიცავს მავნე პროგრამას, რომელსაც შეუძლია თქვენი პირადი ან სოციალური ქსელების ანგარიშების გატეხა</translation>
 <translation id="2983373101216420412">სათავსოს ბატარეის დონეა <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">გსურთ, გაუგზავნოთ ადმინისტრატორს „<ph name="EXTENSION_NAME" />“-ის ინსტალაციის მოთხოვნა?</translation>
 <translation id="2987620471460279764">სხვა მოწყობილობიდან გაზიარებული ტექსტი</translation>
@@ -3758,6 +3759,7 @@
 <translation id="4514610446763173167">ვიდეოს დაკვრა ან დაპაუზება</translation>
 <translation id="451515744433878153">ამოშლა</translation>
 <translation id="4515872537870654449">მომსახურების მისაღებად დაუკავშირდით Dell-ს. სამაგრი გამოირთვება, თუ ვენტილატორი არ იმუშავებს.</translation>
+<translation id="4518840066030486079">Shift კლავიშის რეჟიმის სტილი</translation>
 <translation id="4519331665958994620">საიტებს შეუძლია თქვენი კამერის გამოყენების თხოვნა</translation>
 <translation id="4519935350946509010">კავშირის შეცდომა.</translation>
 <translation id="4520385623207007473">გამოყენებული ქუქი-ჩანაწერები</translation>
@@ -3853,6 +3855,7 @@
 <translation id="4598345735110653698">წვდომის გასაღებების მართვა</translation>
 <translation id="4598556348158889687">მეხსიერების მართვა</translation>
 <translation id="4598776695426288251">რამდენიმე მოწყობილობა Wi-Fi კავშირს უზრუნველყოფს</translation>
+<translation id="4600071396330666617">შემოთავაზებების რაოდენობა</translation>
 <translation id="4601426376352205922">წაუკითხავად მონიშვნა</translation>
 <translation id="4602466770786743961">ყოველთვის მიეცით ნება <ph name="HOST" />-ს, მიიღოს წვდომა თქვენს კამერასა და მიკროფონზე</translation>
 <translation id="4606551464649945562">საიტებისთვის თქვენი გარემოს 3-განზომილებიანი რუკის შექმნის ან კამერის პოზიციისთვის თვალის მიდევნების აკრძალვა</translation>
@@ -4299,6 +4302,7 @@
 <translation id="5043913660911154449">ან მიუთითეთ პრინტერის PPD. <ph name="LINK_BEGIN" />შეიტყვეთ მეტი<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">არასწორი პაროლი</translation>
 <translation id="504561833207953641">მიმდინარეობს ბრაუზერის არსებულ სესიაში გახსნა.</translation>
+<translation id="5049614114599109018">შეყვანის ისტორიის გამოყენება</translation>
 <translation id="5051836348807686060">მართლწერის შემოწმება მხარდაუჭერელია თქვენ მიერ არჩეული ენებისთვის</translation>
 <translation id="5052499409147950210">საიტის რედაქტირება</translation>
 <translation id="505347685865235222">უსახელო ჯგუფი — <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index 84766ee..2af7cb5 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -3544,6 +3544,7 @@
 <translation id="4306119971288449206">Қолданбаларға "<ph name="CONTENT_TYPE" />" мазмұнымен қызмет көрсетілуі керек</translation>
 <translation id="4307992518367153382">Негізгілер</translation>
 <translation id="4309165024397827958">Орынды анықтау рұқсаты бар Android қолданбалары мен қызметтерінің құрылғыңыздың локация мәліметін пайдалануына рұқсат беріңіз. Google қызметі локация дәлдігі мен орынға негізделген қызметтерді жақсарту үшін геодеректі жүйелі түрде жинап, оларды анонимді түрде қолдана алады.</translation>
+<translation id="4309183709806093061">Жүйе аудиосын да бөлісіңіз. Дауыстап айтылмауы үшін, құрылғының дыбысы өшіріледі.</translation>
 <translation id="4309420042698375243"><ph name="NUM_KILOBYTES" /> KБ (<ph name="NUM_KILOBYTES_LIVE" /> KБ белсенді)</translation>
 <translation id="4310132194679586591">Бұл сілтемені ашу үшін құрылғыңызда қолданба таңдаңыз.</translation>
 <translation id="4310139701823742692">Файлдың форматы дұрыс емес. PPD файлын тексеріп, әрекетті қайталап көріңіз.</translation>
@@ -4557,6 +4558,7 @@
 <translation id="5305145881844743843">Бұл аккаунт <ph name="BEGIN_LINK" /><ph name="DOMAIN" /><ph name="END_LINK" /> арқылы басқарылады.</translation>
 <translation id="5307030433605830021">Дереккөзге қолдау көрсетілмейді</translation>
 <translation id="5307386115243749078">Bluetooth ауыстырғышын жұптау</translation>
+<translation id="5307958609248661362">Google Құпия сөз менеджерінің күту уақыты өтіп кетті</translation>
 <translation id="5308380583665731573">Қосылу</translation>
 <translation id="5309418307557605830">Google Assistant бұл жерде де жұмыс істейді</translation>
 <translation id="5311304534597152726">Жүйеге кіру</translation>
@@ -6710,6 +6712,7 @@
 <translation id="7404065585741198296">USB кабелімен қосылған телефоныңыз</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Қауіпсіздік 1 сағат бұрын тексерілді.}other{Қауіпсіздік {NUM_HOURS} сағат бұрын тексерілді.}}</translation>
 <translation id="740624631517654988">Қалқымалы терезелерге тыйым салынған</translation>
+<translation id="7406912950279255498">Түс инверсиясы режимі</translation>
 <translation id="7407430846095439694">Импорттау және байланыстыру</translation>
 <translation id="7407504355934009739">Көптеген адамдар осы сайттың хабарландыруларына тыйым салады.</translation>
 <translation id="740810853557944681">Басып шығару серверін енгізу</translation>
@@ -7357,6 +7360,7 @@
 <translation id="7988805580376093356">Ағымдағы операциялық жүйені қалдырып, USB арқылы <ph name="DEVICE_OS" /> қосу.</translation>
 <translation id="7991296728590311172">Switch Access параметрлері</translation>
 <translation id="7992203134935383159">Сөз синтезі</translation>
+<translation id="799570308305997052">WebView</translation>
 <translation id="7997826902155442747">Өңдеу басымдығы</translation>
 <translation id="7999229196265990314">Келесі файлдар жасалды:
 
@@ -7657,6 +7661,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Иесі функцияны "Параметрлер &gt; Кеңейтілген &gt; Диагностикалық және пайдалану деректерін Google қызметіне автоматты жіберу" тармағы арқылы басқара алады.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Балаңыз үшін қосымша "Интернет пен қолданбаларды пайдалану тарихы" параметрі қосулы болса, бұл деректер оның Google аккаунтына сақталуы мүмкін. Бұл параметрлер және оларды қалай реттеу керектігі туралы ақпаратты families.google.com сайтынан біле аласыз.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Клиент сертификаты дұрыс емес.</translation>
+<translation id="8270162672241199380">Steam орнату құралы</translation>
 <translation id="827097179112817503">Басты түймесін көрсету</translation>
 <translation id="8271268254812352141">Тінтуірдің оң жақ түймесін басып немесе мәтінді басып тұрып, мәтіннің анықтамасын, аудармасын көруге немесе өлшем бірліктерін ауыстыруға болады. Аударма тілдерін <ph name="LINK_BEGIN" />веб-сайт тілдері<ph name="LINK_END" /> бөлімінде реттейсіз.</translation>
 <translation id="8271379370373330993">Ата-ана, келесі қадамдарды сіз орындауыңыз керек. Аккаунтты реттеп болғасын, <ph name="DEVICE_TYPE" /> құрылғысын балаға қайтара аласыз.</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index c705d3d..46d163c9 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">លុបចេញ​ពីក្រុម</translation>
 <translation id="2979639724566107830">បើក​នៅក្នុង​វិនដូថ្មី</translation>
 <translation id="2981113813906970160">បង្ហាញព្រួញកណ្តុរធំ</translation>
+<translation id="2981293774053328982">ឯកសារ​នេះ​មាន​កម្មវិធីគ្រោះថ្នាក់​ដែល​អាចលុកលុយគណនី​ផ្ទាល់ខ្លួន ឬ​គណនីបណ្ដាញ​សង្គម​របស់អ្នក</translation>
 <translation id="2983373101216420412">កម្រិតថ្ម​ប្រអប់កាស <ph name="PERCENTAGE" />%។</translation>
 <translation id="2985348301114641460">ផ្ញើ​សំណើទៅអ្នកគ្រប់គ្រងរបស់អ្នក​ ដើម្បីដំឡើង "<ph name="EXTENSION_NAME" />" ឬ?</translation>
 <translation id="2987620471460279764">អត្ថបទដែលបាន​ចែករំលែកពីឧបករណ៍​ផ្សេងទៀត</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">បិទ/បើក​វីដេអូ​ដើម្បីលេង ឬផ្អាក</translation>
 <translation id="451515744433878153">លុប​ចេញ</translation>
 <translation id="4515872537870654449">សូមទាក់ទង Dell ដើម្បីទទួលបានសេវា​កម្ម។ ឧបករណ៍ភ្ជាប់នឹងបិទ ប្រសិនបើ​កង្ហារមិនដំណើរការ។</translation>
+<translation id="4518840066030486079">រចនាប័ទ្ម​មុខងារ​គ្រាប់ចុច Shift</translation>
 <translation id="4519331665958994620">គេហទំព័រ​អាច​ស្នើសុំប្រើកាមេរ៉ារបស់អ្នក</translation>
 <translation id="4519935350946509010">បញ្ហា​ក្នុង​ការ​ភ្ជាប់។</translation>
 <translation id="4520385623207007473">ខូគីកំពុងត្រូវបានប្រើ</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">គ្រប់គ្រងកូដសម្ងាត់</translation>
 <translation id="4598556348158889687">ការគ្រប់គ្រងទំហំផ្ទុក</translation>
 <translation id="4598776695426288251">មាន Wi-Fi តាមរយៈ​ឧបករណ៍​ជាច្រើន</translation>
+<translation id="4600071396330666617">ចំនួន​នៃការណែនាំ</translation>
 <translation id="4601426376352205922">សម្គាល់ថា​មិនទាន់អាន</translation>
 <translation id="4602466770786743961">អនុញ្ញាត <ph name="HOST" /> ឲ្យចូលប្រើកាមេរ៉ា និងម៉ៃក្រូហ្វូនរបស់អ្នកជានិច្ច</translation>
 <translation id="4606551464649945562">កុំអនុញ្ញាតឱ្យគេហទំព័របង្កើតផែនទី 3D នៃមជ្ឈដ្ឋានជុំវិញរបស់អ្នក ឬតាមដានទីតាំងកាមេរ៉ា</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">ឬបញ្ជាក់ PPD ម៉ាស៊ីន​បោះពុម្ព​របស់អ្នក <ph name="LINK_BEGIN" />ស្វែងយល់បន្ថែម<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">ពាក្យសម្ងាត់មិនត្រឹមត្រូវ</translation>
 <translation id="504561833207953641">កំពុង​បើក​នៅក្នុង​រយៈពេលចូលប្រើកម្មវិធីរុករកដែលមានស្រាប់។</translation>
+<translation id="5049614114599109018">ប្រើ​ប្រវត្តិ​បញ្ចូល</translation>
 <translation id="5051836348807686060">មិនស្គាល់​ការពិនិត្យ​អក្ខរាវិរុទ្ធសម្រាប់​ភាសា​ដែលអ្នក​បានជ្រើសរើស​ទេ</translation>
 <translation id="5052499409147950210">កែ​សម្រួល​ទំព័រ</translation>
 <translation id="505347685865235222">ក្រុមដែលគ្មានឈ្មោះ - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index 78d018a..d949267 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -6737,6 +6737,7 @@
 <translation id="7404065585741198296">USB ಕೇಬಲ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿರುವ ನಿಮ್ಮ ಫೋನ್</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{1 ಗಂಟೆಯ ಹಿಂದೆ ಸುರಕ್ಷತೆಯ ಪರಿಶೀಲನೆ ನಡೆಸಲಾಗಿದೆ}one{{NUM_HOURS} ಗಂಟೆಗಳ ಹಿಂದೆ ಸುರಕ್ಷತೆಯ ಪರಿಶೀಲನೆ ನಡೆಸಲಾಗಿದೆ}other{{NUM_HOURS} ಗಂಟೆಗಳ ಹಿಂದೆ ಸುರಕ್ಷತೆಯ ಪರಿಶೀಲನೆ ನಡೆಸಲಾಗಿದೆ}}</translation>
 <translation id="740624631517654988">ಪಾಪ್-ಅಪ್  ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</translation>
+<translation id="7406912950279255498">ಬಣ್ಣ ವಿಲೋಮದ ಮೋಡ್</translation>
 <translation id="7407430846095439694">ಆಮದು ಮಾಡಿ ಮತ್ತು ಬೈಂಡ್ ಮಾಡಿ</translation>
 <translation id="7407504355934009739">ಬಹುತೇಕ ಜನರು ಈ ಸೈಟ್‌ನ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತಾರೆ</translation>
 <translation id="740810853557944681">ಪ್ರಿಂಟ್ ಸರ್ವರ್ ಒಂದನ್ನು ಸೇರಿಸಿ</translation>
@@ -7683,6 +7684,7 @@
    <ph name="BEGIN_PARAGRAPH3" />ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಸುಧಾರಿತ &gt; Google ಗೆ ಡಯಾಗ್ನಸ್ಟಿಕ್ ಮತ್ತು ಬಳಕೆಯ ಡೇಟಾವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಳುಹಿಸಿಗೆ ಹೋಗಿ ಮಾಲೀಕರು ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು.<ph name="END_PARAGRAPH3" />
  <ph name="BEGIN_PARAGRAPH4" />ನಿಮ್ಮ ಮಗುವಿಗಾಗಿ ಹೆಚ್ಚುವರಿ ವೆಬ್‌ ಮತ್ತು ಆ್ಯಪ್ ಚಟುವಟಿಕೆ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಆನ್‌ ಮಾಡಿದ್ದಲ್ಲಿ, ಈ ಡೇಟಾವು ಅವರ Google ಖಾತೆಯಲ್ಲಿ ಉಳಿಸಲ್ಪಡಬಹುದು. families.google.com ನಲ್ಲಿ ಈ ಸೆಟ್ಟಿಂಗ್‍ಗಳ ಕುರಿತು ಮತ್ತು ಇವುಗಳನ್ನು ಹೇಗೆ ಸರಿಹೊಂದಿಸಬಹುದು ಎಂಬ ಕುರಿತು ಹೆಚ್ಚು ತಿಳಿದುಕೊಳ್ಳಿ .<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">ಅಮಾನ್ಯ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ</translation>
+<translation id="8270162672241199380">ಸ್ಟೀಮ್ ಇನ್‌ಸ್ಟಾಲರ್</translation>
 <translation id="827097179112817503">ಹೋಮ್ ಬಟನ್‌ ತೋರಿಸು</translation>
 <translation id="8271268254812352141">ನೀವು ಬಲ-ಕ್ಲಿಕ್ ಮಾಡಿದಾಗ ಅಥವಾ ಪಠ್ಯವನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿದಾಗ ವಿವರಣೆಗಳು, ಅನುವಾದಗಳು ಅಥವಾ ಯೂನಿಟ್ ಪರಿವರ್ತನೆಗಳನ್ನು ಪಡೆಯಿರಿ. <ph name="LINK_BEGIN" />ವೆಬ್‌ಸೈಟ್ ಭಾಷೆಗಳಲ್ಲಿ<ph name="LINK_END" /> ಅನುವಾದದ ಭಾಷೆಗಳನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ.</translation>
 <translation id="8271379370373330993">ಪೋಷಕರೇ, ನಿಮಗಾಗಿ ಮುಂದಿನ ಕೆಲವು ಹಂತಗಳು ಇಲ್ಲಿವೆ. ಖಾತೆ ಸೆಟಪ್ ಮಾಡಿದ ನಂತರ ನೀವು ಮಗುವಿಗೆ <ph name="DEVICE_TYPE" /> ಅನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು.</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 554324b..1d34a80 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -2190,6 +2190,7 @@
 <translation id="2977480621796371840">그룹에서 삭제</translation>
 <translation id="2979639724566107830">새 창에서 열기</translation>
 <translation id="2981113813906970160">큰 마우스 커서 표시</translation>
+<translation id="2981293774053328982">파일에 개인 계정 또는 소셜 네트워크 계정을 손상시킬 수 있는 멀웨어가 포함되어 있습니다.</translation>
 <translation id="2983373101216420412">케이스 배터리 잔량 <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">관리자에게 '<ph name="EXTENSION_NAME" />' 설치 요청을 전송하시겠습니까?</translation>
 <translation id="2987620471460279764">다른 기기에서 공유된 텍스트</translation>
@@ -3773,6 +3774,7 @@
 <translation id="4514610446763173167">동영상 재생 또는 일시중지 전환</translation>
 <translation id="451515744433878153">제거</translation>
 <translation id="4515872537870654449">Dell에 문의하여 서비스를 받으세요. 팬이 작동하지 않으면 도크가 종료됩니다.</translation>
+<translation id="4518840066030486079">Shift 키 모드 스타일</translation>
 <translation id="4519331665958994620">사이트에서 카메라 사용을 요청할 수 있음</translation>
 <translation id="4519935350946509010">연결 오류입니다.</translation>
 <translation id="4520385623207007473">사용 중인 쿠키</translation>
@@ -3868,6 +3870,7 @@
 <translation id="4598345735110653698">패스키 관리</translation>
 <translation id="4598556348158889687">저장용량 관리</translation>
 <translation id="4598776695426288251">여러 기기를 통해 Wi-Fi 사용 가능</translation>
+<translation id="4600071396330666617">추천 수</translation>
 <translation id="4601426376352205922">읽지 않은 상태로 표시</translation>
 <translation id="4602466770786743961"><ph name="HOST" />에서 카메라와 마이크에 액세스하도록 항상 허용</translation>
 <translation id="4606551464649945562">사이트에서 주변 환경의 3D 지도를 생성하거나 카메라 위치를 추적하도록 허용하지 않음</translation>
@@ -4314,6 +4317,7 @@
 <translation id="5043913660911154449">또는 프린터 PPD 지정 <ph name="LINK_BEGIN" />자세히 알아보기<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">비밀번호가 잘못되었습니다.</translation>
 <translation id="504561833207953641">기존 브라우저 세션에서 여는 중입니다.</translation>
+<translation id="5049614114599109018">입력 기록 사용</translation>
 <translation id="5051836348807686060">선택한 언어의 맞춤법 검사가 지원되지 않습니다.</translation>
 <translation id="5052499409147950210">사이트 수정</translation>
 <translation id="505347685865235222">이름이 지정되지 않은 그룹 - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6738,6 +6742,7 @@
 <translation id="7404065585741198296">USB 케이블로 연결된 휴대전화</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{안전 확인이 1시간 전에 실행됨}other{안전 확인이 {NUM_HOURS}시간 전에 실행됨}}</translation>
 <translation id="740624631517654988">팝업 차단됨</translation>
+<translation id="7406912950279255498">색상 반전 모드</translation>
 <translation id="7407430846095439694">가져오기 및 연결</translation>
 <translation id="7407504355934009739">대부분의 사용자가 이 사이트의 알림을 차단합니다.</translation>
 <translation id="740810853557944681">인쇄 서버 추가</translation>
@@ -7689,6 +7694,7 @@
     <ph name="BEGIN_PARAGRAPH3" />소유자는 설정 &gt; 고급 &gt; 진단 및 사용 데이터를 Google에 자동 전송에서 이 기능을 제어할 수 있습니다.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />자녀에게 추가 웹 및 앱 활동 설정이 사용 설정된 경우 이 데이터가 자녀의 Google 계정에 저장됩니다. families.google.com에서 이러한 설정 및 설정 조정 방법을 자세히 알아볼 수 있습니다.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">잘못된 클라이언트 인증서</translation>
+<translation id="8270162672241199380">Steam 설치 프로그램</translation>
 <translation id="827097179112817503">홈 버튼 표시</translation>
 <translation id="8271268254812352141">텍스트를 마우스 오른쪽 버튼으로 클릭하거나 길게 터치하여 정의 또는 번역을 확인하거나 단위를 변환합니다. <ph name="LINK_BEGIN" />웹사이트 언어<ph name="LINK_END" />에서 번역 언어를 맞춤 설정하세요.</translation>
 <translation id="8271379370373330993">다음 몇 단계는 부모님이 진행하셔야 합니다. 계정 설정이 완료된 후 <ph name="DEVICE_TYPE" /> 기기를 자녀에게 돌려주세요.</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 0ae8368..8f83ff7 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -2192,6 +2192,7 @@
 <translation id="2977480621796371840">Pašalinti iš grupės</translation>
 <translation id="2979639724566107830">Atidaryti naujame lange</translation>
 <translation id="2981113813906970160">Rodyti didelį pelės žymeklį</translation>
+<translation id="2981293774053328982">Šiame faile yra kenkėjiškų programų, kurios gali pažeisti jūsų asmenines ar socialinių tinklų paskyras</translation>
 <translation id="2983373101216420412">Dėklo akumuliatoriaus energijos lygis: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">Siųsti plėtinio „<ph name="EXTENSION_NAME" />“ diegimo užklausą administratoriui?</translation>
 <translation id="2987620471460279764">Tekstas, bendrinamas iš kito įrenginio</translation>
@@ -3777,6 +3778,7 @@
 <translation id="4514610446763173167">Perjunkite mygtuką, kad paleistumėte ar pristabdytumėte vaizdo įrašą</translation>
 <translation id="451515744433878153">Pašalinti</translation>
 <translation id="4515872537870654449">Susisiekite su „Dell“ dėl techninės priežiūros paslaugų. Jei ventiliatorius neveikia, dokas išsijungs.</translation>
+<translation id="4518840066030486079">Klavišo „Shift“ režimo stilius</translation>
 <translation id="4519331665958994620">Svetainėse gali būti prašoma naudoti jūsų fotoaparatą</translation>
 <translation id="4519935350946509010">Ryšio klaida.</translation>
 <translation id="4520385623207007473">Naudojami slapukai</translation>
@@ -3872,6 +3874,7 @@
 <translation id="4598345735110653698">Tvarkyti slaptažodžius</translation>
 <translation id="4598556348158889687">Saugyklos tvarkymas</translation>
 <translation id="4598776695426288251">„Wi-Fi“ ryšys pasiekiamas keliais įrenginiais</translation>
+<translation id="4600071396330666617">Pasiūlymų skaičius</translation>
 <translation id="4601426376352205922">Pažymėti kaip neskaitytą</translation>
 <translation id="4602466770786743961">Visada leisti <ph name="HOST" /> pasiekti fotoaparatą ir mikrofoną</translation>
 <translation id="4606551464649945562">Neleisti svetainėms kurti jūsų aplinkos 3D žemėlapio ir stebėti kameros padėties</translation>
@@ -4318,6 +4321,7 @@
 <translation id="5043913660911154449">Arba nurodykite spausdintuvo PPD. <ph name="LINK_BEGIN" />Sužinokite daugiau<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Neteisingas slaptažodis</translation>
 <translation id="504561833207953641">Atidaroma esamoje naršyklės sesijoje.</translation>
+<translation id="5049614114599109018">Naudoti įvesties istoriją</translation>
 <translation id="5051836348807686060">Jūsų pasirinktų kalbų rašybos tikrinimas nepalaikomas</translation>
 <translation id="5052499409147950210">Svetainės redagavimas</translation>
 <translation id="505347685865235222">Grupė be pavadinimo – <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6749,6 +6753,7 @@
 <translation id="7404065585741198296">Telefonas su USB laidu</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Saugos patikra atlikta prieš 1 valandą}one{Saugos patikra atlikta prieš {NUM_HOURS} valandą}few{Saugos patikra atlikta prieš {NUM_HOURS} valandas}many{Saugos patikra atlikta prieš {NUM_HOURS} valandos}other{Saugos patikra atlikta prieš {NUM_HOURS} valandų}}</translation>
 <translation id="740624631517654988">Iššokantysis langas užblokuotas</translation>
+<translation id="7406912950279255498">Spalvų inversijos režimas</translation>
 <translation id="7407430846095439694">Importuoti ir susaistyti</translation>
 <translation id="7407504355934009739">Dauguma žmonių blokuoja pranešimus šioje svetainėje</translation>
 <translation id="740810853557944681">Spausdinimo serverio pridėjimas</translation>
@@ -7699,6 +7704,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Savininkas gali valdyti šią funkciją skiltyje „Nustatymai“ &gt; „Išplėstiniai“ &gt; „Automatiškai siųsti diagnostikos ir naudojimo duomenis „Google“.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Jei papildomas „Žiniatinklio ir programų veiklos“ nustatymas įjungtas vaiko paskyroje, šie duomenys gali būti išsaugoti jo „Google“ paskyroje. Sužinokite daugiau apie šiuos nustatymus ir kaip juos koreguoti apsilankę adresu families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Netinkamas kliento sertifikatas</translation>
+<translation id="8270162672241199380">„Steam“ diegimo programa</translation>
 <translation id="827097179112817503">Rodyti mygtuką „Pagrindinis“</translation>
 <translation id="8271268254812352141">Spustelėkite dešiniuoju klavišu arba palieskite ir palaikykite tekstą, kad būtų pateiktos apibrėžtys, vertimai ar vienetų konvertavimas. Tinkinkite vertimo kalbas skiltyje <ph name="LINK_BEGIN" />„Svetainės kalbos“<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Tėvai, kelis kitus veiksmus turite atlikti jūs. Įrenginį „<ph name="DEVICE_TYPE" />“ galėsite grąžinti vaikui, kai užbaigsite paskyros sąranką.</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index 7dc69e5..4977d94 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -2312,6 +2312,7 @@
 <translation id="3090819949319990166">Не може да ја копира надворешната crx датотека на <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">„<ph name="DEVICE_NAME" />“ се спари</translation>
 <translation id="3093714882666365141">Не им дозволувај на сајтовите да инсталираат ракувачи со плаќања</translation>
+<translation id="3093958632721393232">Вклучи само кога батеријата е речиси празна</translation>
 <translation id="3094141017404513551">Ова ќе го оддели вашето прелистување од <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Обележувачите, лозинките и другите податоци од прелистувачот се синхронизираат со примарната сметка.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 потенцијално штетна екстензија е исклучена. Може и да ја отстраните.}one{{NUM_EXTENSIONS} потенцијално штетна екстензија е исклучена. Може и да ги отстраните.}other{{NUM_EXTENSIONS} потенцијално штетни екстензии се исклучени. Може и да ги отстраните.}}</translation>
@@ -5034,6 +5035,7 @@
 <translation id="5747552184818312860">Истекува на</translation>
 <translation id="5747785204778348146">Програмер - нестабилен</translation>
 <translation id="5747809636523347288">&amp;Залепи и оди на <ph name="URL" /></translation>
+<translation id="5748137879145720682">Вклучи кога компјутерот не е приклучен</translation>
 <translation id="5751345516399502412">Проверете ја подготвеноста за интернет преку мобилен</translation>
 <translation id="5755022574660047665">спомени од „Фотографии на Google“</translation>
 <translation id="5756163054456765343">Центар за п&amp;омош</translation>
@@ -7669,6 +7671,7 @@
 <translation id="8248381369318572865">Пристап до микрофонот и анализа на вашиот говор</translation>
 <translation id="8248887045858762645">Совет за Chrome</translation>
 <translation id="8249048954461686687">Папка на OEM</translation>
+<translation id="8249239468199142122">Штедач на батерија</translation>
 <translation id="8249615410597138718">Испратете до вашите уреди</translation>
 <translation id="8250210000648910632">Нема простор за складирање</translation>
 <translation id="8251441930213048644">Освежи сега</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 6c99bff..f7aeb0f 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -2173,6 +2173,7 @@
 <translation id="2977480621796371840">ഗ്രൂപ്പിൽ നിന്ന് നീക്കം ചെയ്യുക</translation>
 <translation id="2979639724566107830">പുതിയ വിന്‍ഡോയില്‍ തുറക്കുക</translation>
 <translation id="2981113813906970160">വലിയ മൗസ് കഴ്‌സർ കാണിക്കുക</translation>
+<translation id="2981293774053328982">നിങ്ങളുടെ വ്യക്തിപരമായ അല്ലെങ്കിൽ സോഷ്യൽ നെറ്റ്‌വർക്ക് അക്കൗണ്ടുകളുടെ സുരക്ഷ അപഹരിക്കാൻ കഴിയുന്ന മാൽവെയർ ഈ ഫയലിൽ അടങ്ങിയിരിക്കുന്നു</translation>
 <translation id="2983373101216420412">കെയ്‌സ് ബാറ്ററി നില <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">"<ph name="EXTENSION_NAME" />" ഇൻസ്‌റ്റാൾ ചെയ്യാൻ നിങ്ങളുടെ അഡ്‌മിന് ഒരു അഭ്യർത്ഥന അയയ്ക്കണോ?</translation>
 <translation id="2987620471460279764">മറ്റൊരു ഉപകരണത്തിൽ നിന്ന് പങ്കിട്ട ടെക്‌സ്‌റ്റ്</translation>
@@ -3756,6 +3757,7 @@
 <translation id="4514610446763173167">പ്ലേ ചെയ്യാനോ താൽക്കാലികമായി നിർത്താനോ വീഡിയോ മാറ്റുക</translation>
 <translation id="451515744433878153">നീക്കംചെയ്യുക</translation>
 <translation id="4515872537870654449">സർവീസ് ചെയ്യാൻ Dell-നെ ബന്ധപ്പെടുക. ഫാൻ പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ ഡോക്ക് ഷട്ട് ഡൗൺ ആകും.</translation>
+<translation id="4518840066030486079">Shift കീ മോഡ് സ്റ്റൈൽ</translation>
 <translation id="4519331665958994620">നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കാൻ സൈറ്റുകൾക്ക് അനുവാദം ചോദിക്കാം</translation>
 <translation id="4519935350946509010">കണക്ഷൻ പിശക്.</translation>
 <translation id="4520385623207007473">ഉപയോഗത്തിലുള്ള കുക്കികൾ</translation>
@@ -3851,6 +3853,7 @@
 <translation id="4598345735110653698">പാസ്‌കീകൾ മാനേജ് ചെയ്യുക</translation>
 <translation id="4598556348158889687">സ്‌റ്റോറേജ് മാനേജ്‌മെന്റ്</translation>
 <translation id="4598776695426288251">ഒന്നിലധികം ഉപകരണങ്ങളിൽ നിന്ന് ലഭ്യമായ വൈഫൈ</translation>
+<translation id="4600071396330666617">നിർദ്ദേശങ്ങളുടെ എണ്ണം</translation>
 <translation id="4601426376352205922">'വായിക്കാത്തവ' എന്ന് അടയാളപ്പെടുത്തുക</translation>
 <translation id="4602466770786743961">നിങ്ങളുടെ ക്യാമറയും മൈക്രോഫോണും ആക്‌സസ് ചെയ്യുന്നതിന് <ph name="HOST" /> എന്നതിനെ എപ്പോഴും അനുവദിക്കുക</translation>
 <translation id="4606551464649945562">നിങ്ങളുടെ ചുറ്റുപാടുകളുടെ 3D മാപ്പ് സൃഷ്ടിക്കാനോ ക്യാമറയുടെ സ്ഥാനം ട്രാക്ക് ചെയ്യാനോ സൈറ്റുകളെ അനുവദിക്കരുത്</translation>
@@ -4297,6 +4300,7 @@
 <translation id="5043913660911154449">അല്ലെങ്കിൽ നിങ്ങളുടെ പ്രിന്റർ PPD വ്യക്തമാക്കുക <ph name="LINK_BEGIN" />കൂടുതലറിയുക<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">പാസ്‍വേഡ് തെറ്റാണ്</translation>
 <translation id="504561833207953641">നിലവിലുള്ള ബ്രൗസര്‍ സെഷനില്‍ തുറക്കുന്നു.</translation>
+<translation id="5049614114599109018">ഇൻപുട്ട് ചരിത്രം ഉപയോഗിക്കുക</translation>
 <translation id="5051836348807686060">നിങ്ങൾ തിരഞ്ഞെടുത്ത ഭാഷകൾക്ക് സ്പെൽ ചെക്ക് പിന്തുണയ്‌ക്കുന്നില്ല</translation>
 <translation id="5052499409147950210">സൈറ്റ് എഡിറ്റ് ചെയ്യുക</translation>
 <translation id="505347685865235222">പേരില്ലാത്ത ഗ്രൂപ്പ് - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index 99417e5..9c00900 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -2307,6 +2307,7 @@
 <translation id="3090819949319990166">Гадаад crx файлыг <ph name="TEMP_CRX_FILE" />-д хуулах боломжгүй байна.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" хосолсон</translation>
 <translation id="3093714882666365141">Сайтуудад төлбөр хариуцагч суулгахыг бүү зөвшөөр</translation>
+<translation id="3093958632721393232">Зөвхөн миний батарейг бага үед асаах</translation>
 <translation id="3094141017404513551">Энэ нь таны хөтчийн үзэлтийг <ph name="EXISTING_USER" />-с тусгаарлана</translation>
 <translation id="3095871294753148861">Хавчуурга, нууц үг болон бусад интернэтээр үзсэн өгөгдлийг үндсэн бүртгэлтэй синк хийдэг.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{Аюултай байж болзошгүй 1 өргөтгөлийг унтраалаа. Та мөн түүнийг устгах боломжтой.}other{Аюултай байж болзошгүй {NUM_EXTENSIONS} өргөтгөлийг унтраалаа. Та мөн тэднийг устгах боломжтой.}}</translation>
@@ -5029,6 +5030,7 @@
 <translation id="5747552184818312860">Дуусах хугацаа</translation>
 <translation id="5747785204778348146">Хөгжүүлэгч - тогтворгүй</translation>
 <translation id="5747809636523347288"><ph name="URL" /> г буулгаад, очих</translation>
+<translation id="5748137879145720682">Миний компьютерыг салгасан үед асаах</translation>
 <translation id="5751345516399502412">Модем болгох явцын бэлэн байдлыг шалгах</translation>
 <translation id="5755022574660047665">Google Зургийн дурсамжууд</translation>
 <translation id="5756163054456765343">Тусламжийн төв</translation>
@@ -7659,6 +7661,7 @@
 <translation id="8248381369318572865">Микрофондоо нэвтэрч, яриагаа задлан шинжилнэ үү</translation>
 <translation id="8248887045858762645">Chrome-н зөвлөгөө</translation>
 <translation id="8249048954461686687">OEM хавтас</translation>
+<translation id="8249239468199142122">Батарей хэмнэгч</translation>
 <translation id="8249615410597138718">Төхөөрөмжүүддээ илгээх</translation>
 <translation id="8250210000648910632">Хадгалах сангийн зай дүүрсэн</translation>
 <translation id="8251441930213048644">Яг одоо дахин ачаалах</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index 402424e..1f09103 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -2188,6 +2188,7 @@
 <translation id="2977480621796371840">गटामधून काढून टाका</translation>
 <translation id="2979639724566107830">नवीन विंडोमध्ये उघडा</translation>
 <translation id="2981113813906970160">मोठा माउस कर्सर दर्शवा</translation>
+<translation id="2981293774053328982">या फाइलमध्ये मालवेअर आहे, ज्यामुळे तुमची वैयक्तिक किंवा सोशल नेटवर्क खाती धोक्यात येऊ शकतात</translation>
 <translation id="2983373101216420412">केसची बॅटरी पातळी <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">तुमच्या अ‍ॅडमिनिस्ट्रेटरला "<ph name="EXTENSION_NAME" />" इंस्टॉल करण्याची विनंती पाठवायची?</translation>
 <translation id="2987620471460279764">मजकूर इतर डिव्हाइसवरून शेअर केला आहे</translation>
@@ -3771,6 +3772,7 @@
 <translation id="4514610446763173167">प्ले करण्यासाठी किंवा थांबवण्यासाठी व्हिडिओ टॉगल करा</translation>
 <translation id="451515744433878153">काढून टाका</translation>
 <translation id="4515872537870654449">सेवेसाठी Dell शी संपर्क साधा. फॅन काम करत नसल्यास डॉक बंद होईल.</translation>
+<translation id="4518840066030486079">शिफ्ट की मोड शैली</translation>
 <translation id="4519331665958994620">साइट तुमचा कॅमेरा वापरण्यासाठी विचारू शकतात</translation>
 <translation id="4519935350946509010">कनेक्शन एरर.</translation>
 <translation id="4520385623207007473">वापरात असलेल्या कुकीज</translation>
@@ -3866,6 +3868,7 @@
 <translation id="4598345735110653698">पासकी व्यवस्थापित करा</translation>
 <translation id="4598556348158889687">स्टोरेज व्यवस्थापन</translation>
 <translation id="4598776695426288251">एकाहून अधिक डिव्हाइसद्वारे वाय-फाय उपलब्ध आहे</translation>
+<translation id="4600071396330666617">सूचनांची संख्या</translation>
 <translation id="4601426376352205922">न वाचलेली म्हणून मार्क करा</translation>
 <translation id="4602466770786743961">नेहमी <ph name="HOST" /> ला तुमचा कॅमेरा आणि मायक्रोफोन ॲक्सेस करण्‍यास परवानगी द्या</translation>
 <translation id="4606551464649945562">साइटना तुमच्या आसपासच्या परिसराचा 3D नकाशा तयार करू किंवा कॅमेर्‍याचे स्थान ट्रॅक करू देऊ नका</translation>
@@ -4312,6 +4315,7 @@
 <translation id="5043913660911154449">किंवा तुमची PPD नमूद करा <ph name="LINK_BEGIN" />अधिक जाणून घ्या<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">चुकीचा पासवर्ड</translation>
 <translation id="504561833207953641">अस्तित्वात असलेल्या ब्राउझर सेशनमध्ये उघडत आहे.</translation>
+<translation id="5049614114599109018">इनपुट इतिहास वापरा</translation>
 <translation id="5051836348807686060">तुम्ही निवडलेल्या भाषांसाठी स्पेल चेक सपोर्ट करत नाही</translation>
 <translation id="5052499409147950210">साइट संपादित करा</translation>
 <translation id="505347685865235222">निनावी गट - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index e3e6e525..05e60e9 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">Alih keluar daripada kumpulan</translation>
 <translation id="2979639724566107830">Buka dalam tetingkap baharu</translation>
 <translation id="2981113813906970160">Paparkan kursor tetikus besar</translation>
+<translation id="2981293774053328982">Fail ini mengandungi perisian hasad yang boleh menjejaskan akaun peribadi atau rangkaian sosial anda</translation>
 <translation id="2983373101216420412">Paras bateri bekas <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Hantar permintaan kepada pentadbir anda untuk memasang "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Teks yang dikongsi daripada peranti lain</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">Togol video kepada main atau jeda</translation>
 <translation id="451515744433878153">Alih keluar</translation>
 <translation id="4515872537870654449">Hubungi Dell untuk penyelenggaraan. Dok akan dimatikan jika kipas tidak berfungsi.</translation>
+<translation id="4518840066030486079">Gaya Mod Kekunci Shift</translation>
 <translation id="4519331665958994620">Laman boleh meminta untuk menggunakan kamera anda</translation>
 <translation id="4519935350946509010">Ralat sambungan.</translation>
 <translation id="4520385623207007473">Kuki yang digunakan</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">Urus kunci laluan</translation>
 <translation id="4598556348158889687">Pengurusan storan</translation>
 <translation id="4598776695426288251">Wi-Fi tersedia melalui berbilang peranti</translation>
+<translation id="4600071396330666617">Bilangan cadangan</translation>
 <translation id="4601426376352205922">Tandakan sebagai Belum Dibaca</translation>
 <translation id="4602466770786743961">Sentiasa benarkan <ph name="HOST" /> mengakses kamera dan mikrofon anda</translation>
 <translation id="4606551464649945562">Jangan benarkan tapak membuat peta 3D bagi persekitaran anda dan menjejaki kedudukan kamera</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">Anda juga boleh menentukan PPD pencetak anda <ph name="LINK_BEGIN" />Ketahui lebih lanjut<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Kata laluan tidak sah</translation>
 <translation id="504561833207953641">Membuka sesi penyemak imbas yang sedia ada.</translation>
+<translation id="5049614114599109018">Gunakan Sejarah Input</translation>
 <translation id="5051836348807686060">Semak ejaan tidak disokong untuk bahasa yang anda pilih</translation>
 <translation id="5052499409147950210">Edit tapak</translation>
 <translation id="505347685865235222">Kumpulan tidak bernama - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6739,6 +6743,7 @@
 <translation id="7404065585741198296">Telefon anda dengan kabel USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Semakan keselamatan dijalankan 1 jam yang lalu}other{Semakan keselamatan dijalankan {NUM_HOURS} jam yang lalu}}</translation>
 <translation id="740624631517654988">Pop muncul disekat</translation>
+<translation id="7406912950279255498">Mod penyongsangan warna</translation>
 <translation id="7407430846095439694">Import dan Ikat</translation>
 <translation id="7407504355934009739">Kebanyakan orang menyekat pemberitahuan daripada tapak ini</translation>
 <translation id="740810853557944681">Tambahkan pelayan cetak</translation>
@@ -7689,6 +7694,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Pemilik boleh mengawal ciri ini daripada Tetapan &gt; Terperinci &gt; Hantar data diagnostik dan penggunaan kepada Google secara automatik.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Jika tetapan Aktiviti Web &amp; Apl tambahan dihidupkan untuk anak anda, data ini mungkin disimpan pada Google Account mereka. Ketahui lebih lanjut tentang tetapan ini dan cara menyelaraskan tetapan ini pada families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Sijil pelanggan tidak sah</translation>
+<translation id="8270162672241199380">Pemasang Steam</translation>
 <translation id="827097179112817503">Paparkan butang laman utama</translation>
 <translation id="8271268254812352141">Dapatkan takrif, terjemahan atau penukaran unit apabila anda mengklik kanan atau menyentuh &amp; menahan teks. Sesuaikan bahasa terjemahan dalam <ph name="LINK_BEGIN" />Bahasa laman web<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Ibu bapa, beberapa langkah yang seterusnya adalah untuk anda. Anda boleh menyerahkan <ph name="DEVICE_TYPE" /> ini semula kepada anak anda selepas persediaan akaun selesai.</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index a6e79ae..4de0f3d 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -2187,6 +2187,7 @@
 <translation id="2977480621796371840">အဖွဲ့မှ ဖယ်ရှားပါ</translation>
 <translation id="2979639724566107830">ဝင်းဒိုးအသစ်တွင် ဖွင့်ပါ</translation>
 <translation id="2981113813906970160">ကြီးမားသည့် မောက်စ်ညွှန်ပြကိရိယာ ပြရန်</translation>
+<translation id="2981293774053328982">ဤဖိုင်တွင် သင့်ပုဂ္ဂိုလ်ရေး (သို့) လူမှုကွန်ရက် အကောင့်များကို ထိခိုက်စေနိုင်သည့် မဲလ်ဝဲ ပါဝင်သည်</translation>
 <translation id="2983373101216420412">နားကြပ်ဘူး ဘက်ထရီအား <ph name="PERCENTAGE" />%။</translation>
 <translation id="2985348301114641460">သင့်စီမံခန့်ခွဲသူထံ "<ph name="EXTENSION_NAME" />" ထည့်သွင်းရန် တောင်းဆိုချက်ပို့မလား။</translation>
 <translation id="2987620471460279764">အခြားစက်ပစ္စည်းမှ မျှဝေထားသော စာတို</translation>
@@ -2308,6 +2309,7 @@
 <translation id="3090819949319990166">ပြင်ပရှိ crx ဖိုင်ကို <ph name="TEMP_CRX_FILE" /> သို့ ကူးယူမရပါ။</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" အတူတွဲပြီး</translation>
 <translation id="3093714882666365141">ငွေပေးချေမှုစီမံသူများ ထည့်သွင်းရန် ဝဘ်ဆိုက်များကို ခွင့်မပြုပါနှင့်</translation>
+<translation id="3093958632721393232">ဘက်ထရီအားနည်းသောအခါမှသာ ဖွင့်ရန်</translation>
 <translation id="3094141017404513551">၎င်းက သင်၏ကြည့်ရှုမှုကို <ph name="EXISTING_USER" /> နှင့် သီးခြားခွဲပေးပါမည်။</translation>
 <translation id="3095871294753148861">လိပ်စာများ၊ စကားဝှက်များနှင့် အခြားဖွင့်ကြည့်ထားသည့် မှတ်တမ်းဒေတာများကို ပင်မ အကောင့်ဖြင့် စင့်ခ်လုပ်ထားသည်။</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{အန္တရာယ်ရှိနိုင်သော နောက်ဆက်တွဲ ၁ ခုကို ပိတ်ထားသည်။ သင်၎င်းကို ဖယ်ရှားနိုင်သည်။}other{အန္တရာယ်ရှိနိုင်သော နောက်ဆက်တွဲ {NUM_EXTENSIONS} ခုကို ပိတ်ထားသည်။ သင်၎င်းတို့ကို ဖယ်ရှားနိုင်သည်။}}</translation>
@@ -3771,6 +3773,7 @@
 <translation id="4514610446763173167">ဗီဒီယိုကို ဖွင့်ရန် သို့မဟုတ် ခေတ္တရပ်ရန် ခလုတ်နှိပ်ပါ</translation>
 <translation id="451515744433878153">ဖယ်ရှားရန်</translation>
 <translation id="4515872537870654449">ဝန်ဆောင်မှုအတွက် Dell ကို ဆက်သွယ်ပါ။ ပန်ကာအလုပ်မလုပ်လျှင် အထိုင်ပိတ်သွားပါမည်။</translation>
+<translation id="4518840066030486079">Shift ကီးမုဒ် ပုံစံ</translation>
 <translation id="4519331665958994620">ဝဘ်ဆိုက်များက သင့်ကင်မရာအသုံးပြုလိုပါက ခွင့်တောင်းနိုင်သည်</translation>
 <translation id="4519935350946509010">ကွန်ရက်ချိတ်ဆက်မှု ပြဿနာ။</translation>
 <translation id="4520385623207007473">အသုံးပြုနေသော ကွတ်ကီးများ</translation>
@@ -3866,6 +3869,7 @@
 <translation id="4598345735110653698">လျှို့ဝှက်ကီးများ စီမံရန်</translation>
 <translation id="4598556348158889687">သိုလှောင်ခန်းစီမံခန့်ခွဲမှု</translation>
 <translation id="4598776695426288251">စက်ပစ္စည်းများစွာမှတစ်ဆင့် Wi-Fi ရနိုင်ပါသည်</translation>
+<translation id="4600071396330666617">အကြံပြုချက် အရေအတွက်</translation>
 <translation id="4601426376352205922">မဖတ်ရသေးဟု မှတ်သားရန်</translation>
 <translation id="4602466770786743961"><ph name="HOST" />အား သင်၏ ကင်မရာ နှင့် မိုက်ခရိုဖုန်းကို အမြဲတမ်းရယူသုံးမှု ဆက်ခွင့်ပြုရန်</translation>
 <translation id="4606551464649945562">သင့်ပတ်ဝန်းကျင်၏ 3D မြေပုံဆွဲခြင်း သို့မဟုတ် ကင်မရာအနေအထား ခြေရာခံခြင်းတို့ ပြုလုပ်ရန် ဝဘ်ဆိုက်များကို ခွင့်မပြုပါနှင့်</translation>
@@ -4312,6 +4316,7 @@
 <translation id="5043913660911154449">သို့မဟုတ် သင့်ပရင်တာ PPD ကို သတ်မှတ်ပါ <ph name="LINK_BEGIN" />ပိုမိုလေ့လာရန်<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">စကားဝှက် မမှန်ပါ</translation>
 <translation id="504561833207953641">လက်ရှိ ဘရောင်ဇာစက်ရှင်တွင် ဖွင့်နေသည်</translation>
+<translation id="5049614114599109018">ထည့်သွင်းသည့်မှတ်တမ်းကို အသုံးပြုရန်</translation>
 <translation id="5051836348807686060">သင်ရွေးချယ်ထားသော ဘာသာစကားများအတွက် စာလုံးပေါင်းစစ်ဆေးခြင်းကို ပံ့ပိုးမထားပါ</translation>
 <translation id="5052499409147950210">ဝဘ်ဆိုက်ကို တည်းဖြတ်ရန်</translation>
 <translation id="505347685865235222">အမည်ပေးမထားသော အုပ်စု - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -5027,6 +5032,7 @@
 <translation id="5747552184818312860">သက်တမ်းကုန်ဆုံးချိန်</translation>
 <translation id="5747785204778348146">ပြုစုသူ - မတည်ငြိမ်</translation>
 <translation id="5747809636523347288">ကူးထည့်ပြီး <ph name="URL" /> သို့ သွားရန်</translation>
+<translation id="5748137879145720682">ကွန်ပျူတာကို ပလပ်ဖြုတ်ထားသောအခါတွင် ဖွင့်ရန်</translation>
 <translation id="5751345516399502412">မိုဘိုင်းသုံးတွဲချိတ်မှု အသင့်ပြင်ခြင်းကို ကြည့်ရန်</translation>
 <translation id="5755022574660047665">Google Photos မှ အမှတ်တရများ</translation>
 <translation id="5756163054456765343">အကူ&amp;အညီ ဌာန</translation>
@@ -7657,6 +7663,7 @@
 <translation id="8248381369318572865">သင့်မိုက်ခရိုဖုန်းကို သုံးပြီး သင့်စကားပြောကို ပိုင်းခြားစိတ်ဖြာနိုင်သည်</translation>
 <translation id="8248887045858762645">Chrome အကြံပြုချက်</translation>
 <translation id="8249048954461686687">OEM ဖိုလ်ဒါ</translation>
+<translation id="8249239468199142122">ဘက်ထရီ အားထိန်း</translation>
 <translation id="8249615410597138718">သင့်ကိရိယာများသို့ ပို့ပါ</translation>
 <translation id="8250210000648910632">သိုလှောင်ခန်း နေရာ မကျန်တော့ပါ</translation>
 <translation id="8251441930213048644">ယခု ပြန်လည်စတင်ရန်</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index 4eccad8e..1f7d55e 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -6719,6 +6719,7 @@
 <translation id="7404065585741198296">तपाईंको फोन (USB केबलमार्फत कनेक्ट गरेर)</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{१ घन्टाअघि सुरक्षा जाँच गरिएको थियो}other{{NUM_HOURS} घन्टाअघि सुरक्षा जाँच गरिएको थियो}}</translation>
 <translation id="740624631517654988">पप-अप रोकिएको</translation>
+<translation id="7406912950279255498">कलर इन्भर्सन मोड</translation>
 <translation id="7407430846095439694">आयात गनुहोस् र बाँध्नुहोस्</translation>
 <translation id="7407504355934009739">धेरैजसो मान्छेहरू यो साइटका सूचनाहरूमाथि रोक लगाउँछन्</translation>
 <translation id="740810853557944681">प्रिन्ट सर्भर थप्नुहोस्</translation>
@@ -7668,6 +7669,7 @@
     <ph name="BEGIN_PARAGRAPH3" />यस डिभाइसका मालिक सेटिङहरू &gt; उन्नत &gt; निदान तथा प्रयोगसम्बन्धी डेटा Google मा स्वतः पठाउनुहोस् नामक विकल्पमा गई यो सुविधा नियन्त्रण गर्न सक्नुहुन्छ।<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />तपाईंका बालकको वेब तथा एपसम्बन्धी अतिरिक्त क्रियाकलापको सेटिङ सक्रिय गरिएको छ भने यो डेटा उनको Google खातामा सुरक्षित गरिन सक्छ। families.google.com मा गई यी सेटिङहरूका साथै यिनको समायोजन गर्ने तरिकाबारे थप जान्नुहोस्।<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">क्लाइन्टको अमान्य प्रमाणपत्र</translation>
+<translation id="8270162672241199380">Steam इन्स्टलर</translation>
 <translation id="827097179112817503">गृह बटन देखाउनुहोस्</translation>
 <translation id="8271268254812352141">तपाईंले कुनै पाठमा दायाँ क्लिक गर्दा वा टच एन्ड होल्ड गर्दा परिभाषा, अनुवाद वा एकाइ रूपान्तरण जस्ता जानकारी प्राप्त गर्नुहोस्। तपाईं <ph name="LINK_BEGIN" />वेबसाइटका भाषा<ph name="LINK_END" />मा गई अनुवाद सेवाका लागि आफूले चाहेअनुसारको भाषा चयन गर्न सक्नुहुन्छ।</translation>
 <translation id="8271379370373330993">अभिभावकहरूले पूरा गर्नु पर्ने आगामी केही चरणहरू यस प्रकार छन्। तपाईं खाता सेटअप गरेपछि बच्चालाई <ph name="DEVICE_TYPE" /> फिर्ता दिन सक्नुहुन्छ।</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index c90291b..1834584f 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -2183,6 +2183,7 @@
 <translation id="2977480621796371840">Fjern fra gruppen</translation>
 <translation id="2979639724566107830">Åpne i nytt vindu</translation>
 <translation id="2981113813906970160">Vis stor musepeker</translation>
+<translation id="2981293774053328982">Denne filen inneholder skadelig programvare som kan utsette de personlige kontoene dine eller kontoene dine på sosiale nettverk for sikkerhetsbrudd</translation>
 <translation id="2983373101216420412">Batterinivået til etuiet er <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">Vil du sende en forespørsel til administratoren om å installere «<ph name="EXTENSION_NAME" />»?</translation>
 <translation id="2987620471460279764">En annen enhet har delt tekst</translation>
@@ -3765,6 +3766,7 @@
 <translation id="4514610446763173167">Spill av videoen eller sett den på pause</translation>
 <translation id="451515744433878153">Fjern</translation>
 <translation id="4515872537870654449">Kontakt Dell for service. Dokken slår seg av hvis viften ikke virker.</translation>
+<translation id="4518840066030486079">Type modus for Shift-tast</translation>
 <translation id="4519331665958994620">Nettsteder kan be om å få bruke kameraet ditt</translation>
 <translation id="4519935350946509010">Tilkoblingsfeil.</translation>
 <translation id="4520385623207007473">Informasjonskapsler i bruk</translation>
@@ -3860,6 +3862,7 @@
 <translation id="4598345735110653698">Administrer tilgangsnøkler</translation>
 <translation id="4598556348158889687">Lagringsbehandling</translation>
 <translation id="4598776695426288251">Wi-Fi er tilgjengelig via flere enheter</translation>
+<translation id="4600071396330666617">Antall forslag</translation>
 <translation id="4601426376352205922">Merk som ulest</translation>
 <translation id="4602466770786743961">Tillat alltid at <ph name="HOST" /> bruker kameraet og mikrofonen</translation>
 <translation id="4606551464649945562">Ikke la nettsteder lage 3D-kart av omgivelsene dine eller spore kameraposisjonen</translation>
@@ -4306,6 +4309,7 @@
 <translation id="5043913660911154449">Eller angi PPD-fil for skriveren <ph name="LINK_BEGIN" />Finn ut mer<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Feil passord</translation>
 <translation id="504561833207953641">Åpner i den eksisterende nettleserøkten.</translation>
+<translation id="5049614114599109018">Bruk inndatalogg</translation>
 <translation id="5051836348807686060">Stavekontroll støttes ikke for språkene du har valgt</translation>
 <translation id="5052499409147950210">Rediger nettstedet</translation>
 <translation id="505347685865235222">Gruppe uten navn – <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6729,6 +6733,7 @@
 <translation id="7404065585741198296">Telefonen din med USB-kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Sikkerhetssjekken ble kjørt for 1 time siden}other{Sikkerhetssjekken ble kjørt for {NUM_HOURS} timer siden}}</translation>
 <translation id="740624631517654988">Blokkerte forgrunnsvindu</translation>
+<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="740810853557944681">Legg til en utskriftstjener</translation>
@@ -7678,6 +7683,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Eieren kan kontrollere funksjonen fra Innstillinger &gt; Avansert &gt; Send diagnostikk og bruksdata til Google automatisk.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Hvis ytterligere nett- og appaktivitet er slått på for barnet ditt, kan disse dataene bli lagret i barnets Google-konto. Finn ut mer om disse innstillingene og hvordan du justerer dem, på families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Ugyldig klientsertifikat</translation>
+<translation id="8270162672241199380">Steam-installasjonsprogram</translation>
 <translation id="827097179112817503">Vis startsideknapp</translation>
 <translation id="8271268254812352141">Få definisjoner, oversettelser eller enhetskonverteringer når du høyreklikker eller trykker og holder på tekst. Tilpass språk for oversettelse i <ph name="LINK_BEGIN" />Nettstedsspråk<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Foreldre, dere må utføre de neste trinnene. Dere kan gi <ph name="DEVICE_TYPE" /> tilbake til barnet etter kontokonfigureringen.</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index 9f0e46e..113ca961 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -2172,6 +2172,7 @@
 <translation id="2977480621796371840">ଗୋଷ୍ଠୀରୁ କାଢ଼ି ଦିଅନ୍ତୁ</translation>
 <translation id="2979639724566107830">ନୂତନ ୱିଣ୍ଡୋରେ ଖୋଲନ୍ତୁ</translation>
 <translation id="2981113813906970160">ବଡ ମାଉସ୍‌ କର୍ସର୍‌ ଦେଖନ୍ତୁ</translation>
+<translation id="2981293774053328982">ଆପଣଙ୍କ ବ୍ୟକ୍ତିଗତ କିମ୍ବା ସୋସିଆଲ ନେଟୱାର୍କ ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ ଚୋରି କରିପାରୁଥିବା ମାଲୱେର ଏହି ଫାଇଲରେ ଅଛି</translation>
 <translation id="2983373101216420412">କେସର ବ୍ୟାଟେରୀ ଲେଭେଲ <ph name="PERCENTAGE" />%।</translation>
 <translation id="2985348301114641460">"<ph name="EXTENSION_NAME" />"କୁ ଇନଷ୍ଟଲ୍ କରିବା ପାଇଁ ଆପଣଙ୍କର ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କୁ ଏକ ଅନୁରୋଧ ପଠାଇବେ?</translation>
 <translation id="2987620471460279764">ଅନ୍ୟ ଡିଭାଇସ୍ ଠାରୁ ଟେକ୍ସଟ୍ ସେୟାର୍ କରାଯାଇଛି</translation>
@@ -3756,6 +3757,7 @@
 <translation id="4514610446763173167">ଭିଡିଓକୁ ଚଲାଇବା କିମ୍ବା ବିରତ କରିବା ପାଇଁ ଟୋଗଲ୍ କରନ୍ତୁ</translation>
 <translation id="451515744433878153">କାଢ଼ିଦିଅନ୍ତୁ</translation>
 <translation id="4515872537870654449">ସେବା ପାଇଁ Dell ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ। ଯଦି ଫ୍ୟାନ୍ କାମ କରୁ ନାହିଁ, ତେବେ ଡକ୍ ବନ୍ଦ ହୋଇଯିବ।</translation>
+<translation id="4518840066030486079">Shift କୀ ମୋଡ ଷ୍ଟାଇଲ</translation>
 <translation id="4519331665958994620">ସାଇଟଗୁଡ଼ିକ ଆପଣଙ୍କ କ୍ୟାମେରା ବ୍ୟବହାର କରିବାକୁ ପଚାରିପାରିବ</translation>
 <translation id="4519935350946509010">ସଂଯୋଗରେ ତ୍ରୁଟି।</translation>
 <translation id="4520385623207007473">ବ୍ୟବହାରରେ ଥିବା କୁକି‌ଗୁଡ଼ିକ</translation>
@@ -3851,6 +3853,7 @@
 <translation id="4598345735110653698">ପାସକୀଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="4598556348158889687">ଷ୍ଟୋରେଜ୍ ପରିଚାଳନା</translation>
 <translation id="4598776695426288251">ଏକାଧିକ ଡିଭାଇସ୍ ଜରିଆରେ Wi-Fi ଉପଲବ୍ଧ</translation>
+<translation id="4600071396330666617">ପରାମର୍ଶର ସଂଖ୍ୟା</translation>
 <translation id="4601426376352205922">ଅପଠିତ ଭାବେ ଚିହ୍ନଟ କରନ୍ତୁ</translation>
 <translation id="4602466770786743961">ଆପଣଙ୍କର କ୍ୟାମେରା ଓ ମାଇକ୍ରୋଫୋନ୍ ଆକ୍ସେସ୍ କରିବା ପାଇଁ <ph name="HOST" />କୁ ସର୍ବଦା ଅନୁମତି ଦିଅନ୍ତୁ</translation>
 <translation id="4606551464649945562">ଆପଣଙ୍କ ପରିପାର୍ଶ୍ୱର ଏକ 3D ମ୍ୟାପ୍ ତିଆରି କରିବା ଏବଂ କ୍ୟାମେରା ସ୍ଥିତି ଟ୍ରାକ୍ କରିବାକୁ ସାଇଟଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ ନାହିଁ</translation>
@@ -4297,6 +4300,7 @@
 <translation id="5043913660911154449">କିମ୍ବା ଆପଣଙ୍କ ପ୍ରିଣ୍ଟର୍ PPD ନିର୍ଦ୍ଦିଷ୍ଟ କରନ୍ତୁ <ph name="LINK_BEGIN" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">ଭୁଲ ପାସୱାର୍ଡ</translation>
 <translation id="504561833207953641">ପୂର୍ବରୁ ଥିବା ବ୍ରାଉଜର୍‌ ଅବଧିରେ ଖୋଲୁଛି</translation>
+<translation id="5049614114599109018">ଇନପୁଟ ଇତିହାସକୁ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="5051836348807686060">ଆପଣ ଚୟନ କରିଥିବା ଭାଷାଗୁଡ଼ିକ ପାଇଁ ବନାନ ଯାଞ୍ଚ ସମର୍ଥନ ନାହିଁ</translation>
 <translation id="5052499409147950210">ସାଇଟ୍‌ ଏଡିଟ୍‌ କରନ୍ତୁ</translation>
 <translation id="505347685865235222">ବେନାମୀ ଗୋଷ୍ଠୀ - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -4928,6 +4932,7 @@
 <translation id="5658415415603568799">ଅତିରିକ୍ତ ସୁରକ୍ଷା ପାଇଁ ସ୍ମାର୍ଟ ଲକ୍‌ ଆପଣଙ୍କୁ 20 ଘଣ୍ଟା ପରେ ଆପଣଙ୍କର ପାସ୍‌ୱର୍ଡ ଲେଖିବାକୁ କହିବ।</translation>
 <translation id="5659593005791499971">ଇମେଲ୍</translation>
 <translation id="5662513737565158057">Linux ଆପ୍ସ କିପରି କାମ କରିବ ତାହା ବଦଳାନ୍ତୁ।</translation>
+<translation id="5663459693447872156">ସ୍ଵଚାଳିତ ଭାବେ ହାଫୱିଡଥକୁ ସ୍ଵିଚ କରନ୍ତୁ</translation>
 <translation id="5667293444945855280">ମାଲୱେର୍</translation>
 <translation id="5667546120811588575">Google Play ସେଟ୍‍ଅପ୍ କରାଯାଉଛି...</translation>
 <translation id="5668351004957198136">ବିଫଳ</translation>
@@ -7686,6 +7691,7 @@
 <translation id="8284279544186306258">ସମସ୍ତ <ph name="WEBSITE_1" /> ସାଇଟ୍</translation>
 <translation id="8284326494547611709">କ୍ୟାପସନ୍</translation>
 <translation id="8286036467436129157">ସାଇନ୍ ଇନ୍ କରନ୍ତୁ</translation>
+<translation id="8286227656784970313">ସିଷ୍ଟମରେ ଥିବା ଶବ୍ଦକୋଷକୁ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="828642162569365647">ଏହି ପାସୱାର୍ଡ କିମ୍ବା PIN ଏହି <ph name="DEVICE_TYPE" />ରେ ଥିବା ଆପଣଙ୍କ ଡାଟାକୁ ଏବଂ ଆପଣ ଆପଣଙ୍କ ଫୋନରୁ ଆକ୍ସେସ କରୁଥିବା ଯେ କୌଣସି ସୂଚନାକୁ ସୁରକ୍ଷିତ ରଖେ। ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> ପ୍ରତ୍ୟେକ ଥର ନିଷ୍କ୍ରିୟରୁ ସକ୍ରିୟ ସ୍ଥିତିକୁ ଫେରିଲେ ଆପଣଙ୍କୁ ଏହାକୁ ଅନଲକ କରିବା ଆବଶ୍ୟକ।</translation>
 <translation id="8287902281644548111">API କଲ୍/URL ଦ୍ୱାରା ସନ୍ଧାନ କରନ୍ତୁ</translation>
 <translation id="8288032458496410887"><ph name="APP" /> ଅନ୍‍ଇନ୍‍ଷ୍ଟଲ୍ କରନ୍ତୁ...</translation>
@@ -7796,6 +7802,7 @@
 <translation id="8393511274964623038">ପ୍ଲଗ୍‍ଇନ୍‌ ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="839363317075970734">ବ୍ଲୁଟୁଥ୍ ଡିଭାଇସର ବିବରଣୀ</translation>
 <translation id="8393700583063109961">ମେସେଜ୍‌ ପଠାନ୍ତୁ</translation>
+<translation id="8394212467245680403">ଆଲ୍ଫାନ୍ୟୁମେରିକ</translation>
 <translation id="8397825320644530257">ସଂଯୁକ୍ତ ଥିବା ଫୋନକୁ ବିଚ୍ଛିନ୍ନ କରନ୍ତୁ</translation>
 <translation id="8398877366907290961">ଯେକୌଣସି ପ୍ରକାରେ ଆଗେଇ ଚାଲନ୍ତୁ</translation>
 <translation id="8399282673057829204">ପାସୱାର୍ଡ ଦେଖନ୍ତୁ</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index 821408d..5e9afbd 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -42,7 +42,7 @@
 <translation id="1039337018183941703">ਅਵੈਧ ਜਾਂ ਖਰਾਬ ਫ਼ਾਈਲ</translation>
 <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 ਖੋਜ ਪੁੱਛਗਿੱਛਾਂ ਵਿੱਚ ਪ੍ਰਗਟ ਹੁੰਦੇ ਹਨ।</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="1043505821207197890">ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। Linux ਨੂੰ ਸ਼ਾਇਦ ਸਿਰਫ਼ ਅੰਸ਼ਕ ਤੌਰ 'ਤੇ ਅੱਪਗ੍ਰੇਡ ਕੀਤਾ ਜਾਵੇ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ ਲੌਗਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ। ਲੌਗਾਂ ਨੂੰ ਫ਼ਾਈਲਾਂ &gt; ਮੇਰੀਆਂ ਫ਼ਾਈਲਾਂ &gt; <ph name="LOG_FILE" /> ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਹੈ</translation>
 <translation id="1043818413152647937">ਕੀ ਇਹਨਾਂ ਐਪਾਂ ਤੋਂ ਵੀ ਡਾਟਾ ਕਲੀਅਰ ਕਰਨਾ ਹੈ?</translation>
 <translation id="1043824690776631483">ਇਸ ਸਾਈਟ 'ਤੇ ਜਾਣ ਲਈ ਤੁਹਾਨੂੰ ਇਜਾਜ਼ਤ ਦੀ ਲੋੜ ਹੈ। ਸ਼ਾਇਦ ਇਸ ਵਿੱਚ ਅਢੁਕਵੀਂ ਸਮੱਗਰੀ ਹੋ ਸਕਦੀ ਹੈ।</translation>
@@ -2097,7 +2097,7 @@
 <translation id="2891922230654533301">ਕੀ <ph name="APP_NAME" /> 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਵਰਤਣਾ ਹੈ?</translation>
 <translation id="2893013536106749396">ਖੁਦ ਨੂੰ ਉਨ੍ਹਾਂ ਚੀਜ਼ਾਂ ਬਾਰੇ ਅੱਪਡੇਟ ਰੱਖਣ ਲਈ ਕਾਰਡ ਚੁਣੋ ਜੋ ਤੁਹਾਡੇ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ</translation>
 <translation id="2893168226686371498">ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ</translation>
-<translation id="2893180576842394309">Google ਖੋਜ ਅਤੇ ਹੋਰਾਂ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
+<translation id="2893180576842394309">Google Search ਅਤੇ ਹੋਰਾਂ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2894757982205307093">ਗਰੁੱਪ ਵਿੱਚ ਨਵੀਂ ਟੈਬ</translation>
 <translation id="289695669188700754">ਕੁੰਜੀ ਆਈ.ਡੀ.: <ph name="KEY_ID" /></translation>
 <translation id="2897713966423243833">ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੀ ਸਾਰੀਆਂ ਇਨਕੋਗਨਿਟੋ ਵਿੰਡੋਆਂ ਨੂੰ ਬੰਦ ਕਰਨ 'ਤੇ ਇਸ ਵਿਉਂਤਬੱਧ ਸੈਟਿੰਗ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ</translation>
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">ਗਰੁੱਪ ਵਿੱਚੋਂ ਹਟਾਓ</translation>
 <translation id="2979639724566107830">ਨਵੀਂ ਵਿੰਡੋ ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
 <translation id="2981113813906970160">ਵੱਡਾ ਮਾਊਸ ਕਰਸਰ ਦਿਖਾਓ</translation>
+<translation id="2981293774053328982">ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਮਾਲਵੇਅਰ ਸ਼ਾਮਲ ਹੈ ਜਿਸ ਨਾਲ ਤੁਹਾਡੇ ਨਿੱਜੀ ਜਾਂ ਸੋਸ਼ਲ ਨੈੱਟਵਰਕ ਖਾਤਿਆਂ ਨੂੰ ਖਤਰਾ ਹੋ ਸਕਦਾ ਹੈ</translation>
 <translation id="2983373101216420412">ਡੱਬੀ ਦੀ ਬੈਟਰੀ ਦਾ ਪੱਧਰ <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">ਕੀ ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ "<ph name="EXTENSION_NAME" />" ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਭੇਜਣੀ ਹੈ?</translation>
 <translation id="2987620471460279764">ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ ਤੋਂ ਸਾਂਝੀ ਕੀਤੀ ਲਿਖਤ</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">ਵੀਡੀਓ ਨੂੰ ਚਲਾਉਣ ਜਾਂ ਰੋਕਣ ਲਈ ਟੌਗਲ ਕਰੋ</translation>
 <translation id="451515744433878153">ਹਟਾਓ</translation>
 <translation id="4515872537870654449">ਸੇਵਾ ਲਈ Dell ਨੂੰ ਸੰਪਰਕ ਕਰੋ। ਇਹ ਡੌਕ, ਪੱਖੇ ਦੇ ਕੰਮ ਨਾ ਕਰਨ 'ਤੇ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।</translation>
+<translation id="4518840066030486079">Shift ਕੁੰਜੀ ਮੋਡ ਸਟਾਈਲ</translation>
 <translation id="4519331665958994620">ਸਾਈਟਾਂ ਤੁਹਾਡਾ ਕੈਮਰਾ ਵਰਤਣ ਲਈ ਪੁੱਛ ਸਕਦੀਆਂ ਹਨ</translation>
 <translation id="4519935350946509010">ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਗੜਬੜ।</translation>
 <translation id="4520385623207007473">ਵਰਤੀਆਂ ਜਾ ਰਹੀਆਂ ਕੁਕੀਜ਼</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">ਪਾਸਕੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
 <translation id="4598556348158889687">ਸਟੋਰੇਜ ਪ੍ਰਬੰਧਨ</translation>
 <translation id="4598776695426288251">ਇੱਕ ਤੋਂ ਵੱਧ ਡੀਵਾਈਸਾਂ ਰਾਹੀਂ ਵਾਈ-ਫਾਈ ਉਪਲਬਧ ਹੈ</translation>
+<translation id="4600071396330666617">ਸੁਝਾਵਾਂ ਦੀ ਗਿਣਤੀ</translation>
 <translation id="4601426376352205922">ਨਾ-ਪੜ੍ਹੇ ਵਜੋਂ ਨਿਸ਼ਾਨਦੇਹੀ ਕਰੋ</translation>
 <translation id="4602466770786743961">ਹਮੇਸ਼ਾਂ <ph name="HOST" />  ਆਪਣੇ ਕੈਮਰੇ ਅਤੇ ਮਾਈਕ੍ਰੋਫੋਨ ਤੇ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿਓ</translation>
 <translation id="4606551464649945562">ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ 3D ਨਕਸ਼ਾ ਬਣਾਉਣ ਜਾਂ ਕੈਮਰਾ ਸਥਿਤੀ ਨੂੰ ਟਰੈਕ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਾ ਦਿਓ</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">ਜਾਂ ਆਪਣਾ ਪ੍ਰਿੰਟਰ PPD ਨਿਰਧਾਰਤ ਕਰੋ <ph name="LINK_BEGIN" />ਹੋਰ ਜਾਣੋ<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">ਗਲਤ ਪਾਸਵਰਡ</translation>
 <translation id="504561833207953641">ਮੌਜੂਦਾ ਬ੍ਰਾਊਜ਼ਰ ਸੈਸ਼ਨ ਵਿੱਚ ਖੋਲ੍ਹੀ ਜਾ ਰਹੀ ਹੈ।</translation>
+<translation id="5049614114599109018">ਇਨਪੁੱਟ ਇਤਿਹਾਸ ਨੂੰ ਵਰਤੋ</translation>
 <translation id="5051836348807686060">ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚ ਦੀ ਸੁਵਿਧਾ ਤੁਹਾਡੇ ਵੱਲੋਂ ਚੁਣੀਆਂ ਭਾਸ਼ਾਵਾਂ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ</translation>
 <translation id="5052499409147950210">ਸਾਈਟ ਦਾ ਸੰਪਾਦਨ ਕਰੋ</translation>
 <translation id="505347685865235222">ਬੇਨਾਮ ਗਰੁੱਪ - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6534,7 +6538,7 @@
 <translation id="7193374945610105795"><ph name="ORIGIN" /> ਲਈ ਕੋਈ ਪਾਸਵਰਡ ਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤੇ ਗਏ</translation>
 <translation id="7194873994243265344">ਤੁਹਾਡੀ ਸੰਸਥਾ ਨੇ ਇਸ ਫ਼ਾਈਲ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਕਿਉਂਕਿ ਇਹ ਇਨਕ੍ਰਿਪਟਡ ਹੈ। ਇਸਦੇ ਮਾਲਕ ਨੂੰ ਡਿਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਕਹੋ।</translation>
 <translation id="7196913789568937443">Google Drive ਵਿੱਚ ਬੈਕਅੱਪ ਲਓ। ਕਿਸੇ ਵੇਲੇ ਵੀ ਅਸਾਨੀ ਨਾਲ ਆਪਣਾ ਡਾਟਾ ਮੁੜ-ਬਹਾਲ ਕਰੋ ਜਾਂ ਡੀਵਾਈਸਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰੋ। ਤੁਹਾਡੇ ਬੈਕਅੱਪ Google 'ਤੇ ਅੱਪਲੋਡ ਕੀਤੇ ਜਾਂਦੇ ਹਨ ਅਤੇ ਤੁਹਾਡੇ Google ਖਾਤੇ ਦੇ ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਨਕ੍ਰਿਪਟ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। <ph name="BEGIN_LINK1" />ਹੋਰ ਜਾਣੋ<ph name="END_LINK1" /></translation>
-<translation id="7197190419934240522">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹਰ ਵਾਰ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਵੇਲੇ ਬਿਹਤਰ 'Google ਖੋਜ' ਅਤੇ Google ਪ੍ਰਾਪਤ ਕਰੋ</translation>
+<translation id="7197190419934240522">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹਰ ਵਾਰ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਵੇਲੇ ਬਿਹਤਰ 'Google Search' ਅਤੇ Google ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="719791532916917144">ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ</translation>
 <translation id="7198503619164954386">ਤੁਹਾਡਾ ਦਰਜ ਕੀਤੇ ਐਂਟਰਪ੍ਰਾਈਜ਼ ਡੀਵਾਈਸ 'ਤੇ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ</translation>
 <translation id="7199158086730159431">ਸ&amp;ਹਾਇਤਾ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
@@ -6742,6 +6746,7 @@
 <translation id="7404065585741198296">USB ਕੇਬਲ ਨਾਲ ਤੁਹਾਡਾ ਫ਼ੋਨ</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{ਸੁਰੱਖਿਆ ਜਾਂਚ 1 ਘੰਟਾ ਪਹਿਲਾਂ ਚਲਾਈ ਗਈ}one{ਸੁਰੱਖਿਆ ਜਾਂਚ {NUM_HOURS} ਘੰਟਾ ਪਹਿਲਾਂ ਚਲਾਈ ਗਈ}other{ਸੁਰੱਖਿਆ ਜਾਂਚ {NUM_HOURS} ਘੰਟੇ ਪਹਿਲਾਂ ਚਲਾਈ ਗਈ}}</translation>
 <translation id="740624631517654988">ਪੌਪ-ਅੱਪ ਬਲਾਕ ਕੀਤੇ</translation>
+<translation id="7406912950279255498">ਰੰਗ ਪਲਟਨਾ ਮੋਡ</translation>
 <translation id="7407430846095439694">ਆਯਾਤ ਕਰੋ ਅਤੇ ਜੋੜੋ</translation>
 <translation id="7407504355934009739">ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਇਸ ਸਾਈਟ ਤੋਂ ਸੂਚਨਾਵਾਂ ਬਲਾਕ ਕਰਦੇ ਹਨ</translation>
 <translation id="740810853557944681">ਕੋਈ ਪ੍ਰਿੰਟ ਸਰਵਰ ਸ਼ਾਮਲ ਕਰੋ</translation>
@@ -6801,7 +6806,7 @@
 <translation id="7456142309650173560">dev</translation>
 <translation id="7456847797759667638">ਨਿਰਧਾਰਿਤ ਸਥਾਨ ਖੋਲ੍ਹੋ...</translation>
 <translation id="7457831169406914076">{COUNT,plural, =1{ਇੱਕ ਲਿੰਕ}one{# ਲਿੰਕ}other{# ਲਿੰਕ}}</translation>
-<translation id="7458168200501453431">Google ਖੋਜ ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ।</translation>
+<translation id="7458168200501453431">Google Search ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ।</translation>
 <translation id="7458715171471938198">ਕੀ ਐਪਾਂ ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕਰਨਾ ਹੈ?</translation>
 <translation id="7460045493116006516">ਮੌਜੂਦਾ ਥੀਮ ਜੋ ਤੁਸੀਂ ਸਥਾਪਤ ਕੀਤਾ ਹੈ</translation>
 <translation id="7461924472993315131">Pin</translation>
@@ -7690,6 +7695,7 @@
     <ph name="BEGIN_PARAGRAPH3" />ਮਾਲਕ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਸੈਟਿੰਗਾਂ &gt; ਉੱਨਤ &gt; 'Google ਨੂੰ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਤਸ਼ਖੀਸ ਅਤੇ ਵਰਤੋਂ ਡਾਟਾ ਭੇਜੋ' ਤੋੋਂ ਕੰਟਰੋਲ ਕਰ ਸਕਦਾ ਹੈ।<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />ਜੇ ਤੁਹਾਡੇ ਬੱਚੇ ਲਈ ਵਧੀਕ ਵੈੱਬ ਅਤੇ ਐਪ ਸਰਗਰਮੀ ਸੈਟਿੰਗ ਚਾਲੂ ਹੋਵੇ, ਤਾਂ ਇਹ ਡਾਟਾ ਉਨ੍ਹਾਂ ਦੇ Google ਖਾਤੇ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। families.google.com 'ਤੇ ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਹੋਰ ਜਾਣੋ।<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">ਅਵੈਧ ਕਲਾਇੰਟ ਪ੍ਰਮਾਣ-ਪੱਤਰ</translation>
+<translation id="8270162672241199380">ਸਟ੍ਰੀਮ ਸਥਾਪਨਾਕਾਰ</translation>
 <translation id="827097179112817503">ਹੋਮ ਬਟਨ ਦਿਖਾਓ</translation>
 <translation id="8271268254812352141">ਲਿਖਤ ਨੂੰ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖਣ ਜਾਂ ਉਸ 'ਤੇ ਸੱਜਾ-ਕਲਿੱਕ ਕਰਨ 'ਤੇ ਪਰਿਭਾਸ਼ਾਵਾਂ, ਅਨੁਵਾਦ, ਜਾਂ ਇਕਾਈ ਰੂਪਾਂਤਰਨ ਪ੍ਰਾਪਤ ਕਰੋ। ਅਨੁਵਾਦ ਦੀਆਂ ਭਾਸ਼ਾਵਾਂ ਨੂੰ <ph name="LINK_BEGIN" />ਵੈੱਬਸਾਈਟ ਦੀਆਂ ਭਾਸ਼ਾਵਾਂ<ph name="LINK_END" /> ਵਿੱਚ ਵਿਉਂਤਬੱਧ ਕਰੋ।</translation>
 <translation id="8271379370373330993">ਅਗਲੇ ਕੁਝ ਪੜਾਅ ਮਾਪਿਆਂ ਲਈ ਹਨ। ਖਾਤਾ ਸੈੱਟਅੱਪ ਹੋਣ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ <ph name="DEVICE_TYPE" /> ਬੱਚੇ ਨੂੰ ਵਾਪਸ ਦੇ ਸਕਦੇ ਹੋ।</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index f0215b9..4f781c46 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -2161,6 +2161,7 @@
 <translation id="2977480621796371840">Usuń z grupy</translation>
 <translation id="2979639724566107830">Otwórz w nowym oknie</translation>
 <translation id="2981113813906970160">Pokaż duży kursor myszy</translation>
+<translation id="2981293774053328982">Ten plik zawiera złośliwe oprogramowanie, które może naruszać bezpieczeństwo Twoich kont osobistych lub kont w sieciach społecznościowych</translation>
 <translation id="2983373101216420412">Poziom naładowania baterii obudowy to <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Wysłać do administratora prośbę o zainstalowanie: „<ph name="EXTENSION_NAME" />”?</translation>
 <translation id="2987620471460279764">Tekst udostępniany przez inne urządzenia</translation>
@@ -3746,6 +3747,7 @@
 <translation id="4514610446763173167">Przełącz, by odtworzyć lub wstrzymać wideo</translation>
 <translation id="451515744433878153">Usuń</translation>
 <translation id="4515872537870654449">Skontaktuj się z serwisem firmy Dell. Jeśli wentylator nie działa, stacja dokująca się wyłączy.</translation>
+<translation id="4518840066030486079">Styl trybu klawisza Shift</translation>
 <translation id="4519331665958994620">Strony mogą prosić o dostęp do kamery</translation>
 <translation id="4519935350946509010">Błąd połączenia.</translation>
 <translation id="4520385623207007473">Pliki cookie w użyciu</translation>
@@ -3841,6 +3843,7 @@
 <translation id="4598345735110653698">Zarządzaj kluczami</translation>
 <translation id="4598556348158889687">Zarządzanie pamięcią</translation>
 <translation id="4598776695426288251">Sieć Wi-Fi jest dostępna przez wiele urządzeń</translation>
+<translation id="4600071396330666617">Liczba sugestii</translation>
 <translation id="4601426376352205922">Oznacz jako nieprzeczytane</translation>
 <translation id="4602466770786743961">Zawsze zezwalaj witrynie <ph name="HOST" /> na dostęp do kamery i mikrofonu</translation>
 <translation id="4606551464649945562">Nie zezwalaj stronom na tworzenie mapy 3D Twojego otoczenia ani na śledzenie pozycji kamery</translation>
@@ -4287,6 +4290,7 @@
 <translation id="5043913660911154449">Lub wskaż plik PPD drukarki <ph name="LINK_BEGIN" />Więcej informacji<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Nieprawidłowe hasło</translation>
 <translation id="504561833207953641">Otwieram w istniejącej sesji przeglądarki.</translation>
+<translation id="5049614114599109018">Użyj historii wprowadzania</translation>
 <translation id="5051836348807686060">Sprawdzanie pisowni w wybranych językach nie jest obsługiwane</translation>
 <translation id="5052499409147950210">Edytowanie strony internetowej</translation>
 <translation id="505347685865235222">Grupa bez nazwy – <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index d5b92d48..00481f4 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -2190,6 +2190,7 @@
 <translation id="2977480621796371840">Remover do grupo</translation>
 <translation id="2979639724566107830">Abrir em uma nova janela</translation>
 <translation id="2981113813906970160">Mostrar cursor grande do mouse</translation>
+<translation id="2981293774053328982">Esse arquivo contém um malware que pode comprometer suas contas pessoais ou de rede social</translation>
 <translation id="2983373101216420412">Nível da bateria do estojo: <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Enviar uma solicitação ao administrador para instalar "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Texto compartilhado de outro dispositivo</translation>
@@ -2311,6 +2312,7 @@
 <translation id="3090819949319990166">Não foi possível copiar o arquivo externo crx em <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" pareado</translation>
 <translation id="3093714882666365141">Não permitir que os sites instalem gerenciadores de pagamento</translation>
+<translation id="3093958632721393232">Ativar apenas quando a bateria estiver fraca</translation>
 <translation id="3094141017404513551">Sua navegação será separada de <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Favoritos, senhas e outros dados de navegação são sincronizados com a conta principal.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 extensão possivelmente nociva foi desativada. Você também pode removê-la.}one{{NUM_EXTENSIONS} extensão possivelmente nociva foi desativada. Você também pode removê-la.}other{{NUM_EXTENSIONS} extensões possivelmente nocivas foram desativadas. Você também pode removê-las.}}</translation>
@@ -3776,6 +3778,7 @@
 <translation id="4514610446763173167">Alternar vídeo entre reproduzir e pausar</translation>
 <translation id="451515744433878153">Remover</translation>
 <translation id="4515872537870654449">Fale com a Dell para consertar. A base será desligada se a ventilação não estiver funcionando.</translation>
+<translation id="4518840066030486079">Estilo do modo da tecla Shift</translation>
 <translation id="4519331665958994620">Os sites podem pedir para usar a câmera</translation>
 <translation id="4519935350946509010">Erro de conexão.</translation>
 <translation id="4520385623207007473">Cookies em uso</translation>
@@ -3871,6 +3874,7 @@
 <translation id="4598345735110653698">Gerenciar senhas de acesso</translation>
 <translation id="4598556348158889687">Gestão de armazenamento</translation>
 <translation id="4598776695426288251">Wi-Fi disponível por meio de vários dispositivos</translation>
+<translation id="4600071396330666617">Número de sugestões</translation>
 <translation id="4601426376352205922">Marcar como não lido</translation>
 <translation id="4602466770786743961">Sempre permitir que <ph name="HOST" /> acesse sua câmera e seu microfone</translation>
 <translation id="4606551464649945562">Não permitir que os sites criem um mapa 3D do ambiente a sua volta ou acompanhem a posição da câmera</translation>
@@ -4317,6 +4321,7 @@
 <translation id="5043913660911154449">Ou especifique a impressora PPD <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Senha incorreta</translation>
 <translation id="504561833207953641">Abrindo em uma sessão de navegador existente.</translation>
+<translation id="5049614114599109018">Usar o histórico de entrada</translation>
 <translation id="5051836348807686060">A verificação ortográfica não é compatível com os idiomas selecionados</translation>
 <translation id="5052499409147950210">Editar site</translation>
 <translation id="505347685865235222">Grupo sem nome: <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -5032,6 +5037,7 @@
 <translation id="5747552184818312860">Expira em</translation>
 <translation id="5747785204778348146">Desenvolvedor: instável</translation>
 <translation id="5747809636523347288">Colar e acessar <ph name="URL" /></translation>
+<translation id="5748137879145720682">Ativar quando o computador estiver desconectado</translation>
 <translation id="5751345516399502412">Verificar a prontidão do tethering</translation>
 <translation id="5755022574660047665">recordações do Google Fotos</translation>
 <translation id="5756163054456765343">Central de ajuda</translation>
@@ -7668,6 +7674,7 @@
 <translation id="8248381369318572865">Acessar seu microfone e analisar sua fala</translation>
 <translation id="8248887045858762645">Dica do Chrome</translation>
 <translation id="8249048954461686687">Pasta do OEM</translation>
+<translation id="8249239468199142122">Economia de bateria</translation>
 <translation id="8249615410597138718">Enviar para seus dispositivos</translation>
 <translation id="8250210000648910632">Sem espaço de armazenamento</translation>
 <translation id="8251441930213048644">Atualizar agora</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index c4b9c176..824e464 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -2175,6 +2175,7 @@
 <translation id="2977480621796371840">Elimină din grup</translation>
 <translation id="2979639724566107830">Deschide într-o fereastră nouă</translation>
 <translation id="2981113813906970160">Afișați cursorul de mouse mare</translation>
+<translation id="2981293774053328982">Acest fișier conține programe malware care îți pot compromite conturile personale sau din rețelele sociale</translation>
 <translation id="2983373101216420412">Nivelul bateriei carcasei: <ph name="PERCENTAGE" /> %.</translation>
 <translation id="2985348301114641460">Trimiți o solicitare administratorului privind instalarea „<ph name="EXTENSION_NAME" />”?</translation>
 <translation id="2987620471460279764">Text trimis de pe alt dispozitiv</translation>
@@ -3759,6 +3760,7 @@
 <translation id="4514610446763173167">Redă sau întrerupe videoclipul</translation>
 <translation id="451515744433878153">Elimină</translation>
 <translation id="4515872537870654449">Contactează Dell pentru service. Dispozitivul de andocare se va închide dacă ventilatorul nu funcționează.</translation>
+<translation id="4518840066030486079">Stilul modului pentru tasta Shift</translation>
 <translation id="4519331665958994620">Site-urile pot solicita permisiunea de a folosi camera</translation>
 <translation id="4519935350946509010">Eroare de conexiune.</translation>
 <translation id="4520385623207007473">Cookie-uri utilizate</translation>
@@ -3854,6 +3856,7 @@
 <translation id="4598345735110653698">Gestionează cheile de acces</translation>
 <translation id="4598556348158889687">Gestionarea stocării</translation>
 <translation id="4598776695426288251">Conexiune Wi-Fi disponibilă prin mai multe dispozitive</translation>
+<translation id="4600071396330666617">Numărul de sugestii</translation>
 <translation id="4601426376352205922">Marchează ca necitit</translation>
 <translation id="4602466770786743961">Permiteți întotdeauna accesul <ph name="HOST" /> la camera și microfonul dvs.</translation>
 <translation id="4606551464649945562">Nu permite site-urilor să creeze o hartă 3D a lucrurilor din jur sau să urmărească poziția camerei video</translation>
@@ -4300,6 +4303,7 @@
 <translation id="5043913660911154449">Sau indică PPD-ul imprimantei <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Parolă incorectă</translation>
 <translation id="504561833207953641">Se deschide în sesiunea de browser existentă.</translation>
+<translation id="5049614114599109018">Folosește istoricul de introducere a textului</translation>
 <translation id="5051836348807686060">Verificarea ortografiei nu este acceptată pentru limbile selectate</translation>
 <translation id="5052499409147950210">Editează site-ul</translation>
 <translation id="505347685865235222">Grup nedenumit – <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6726,6 +6730,7 @@
 <translation id="7404065585741198296">Telefonul cu un cablu USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Verificarea de siguranță a rulat acum o oră}few{Verificarea de siguranță a rulat acum {NUM_HOURS} ore}other{Verificarea de siguranță a rulat acum {NUM_HOURS} de ore}}</translation>
 <translation id="740624631517654988">Fereastră pop-up blocată</translation>
+<translation id="7406912950279255498">Modul de inversare a culorilor</translation>
 <translation id="7407430846095439694">Importă și asociază</translation>
 <translation id="7407504355934009739">Majoritatea utilizatorilor blochează notificările de la acest site</translation>
 <translation id="740810853557944681">Adaugă un server de imprimare</translation>
@@ -7675,6 +7680,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Proprietarul poate controla această funcție în Setări &gt; Avansate &gt; Trimite automat la Google statistici de diagnosticare și utilizare.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Dacă este activată setarea suplimentară „Activitatea de pe web și din aplicații” pentru copilul tău, datele pot fi salvate în Contul Google al acestuia. Află mai multe despre aceste setări și cum să le modifici la families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Certificat de client nevalid</translation>
+<translation id="8270162672241199380">Program de instalare Steam</translation>
 <translation id="827097179112817503">Afișează butonul Pagina principală</translation>
 <translation id="8271268254812352141">Obții definiții, traduceri sau conversii ale unităților când dai clic dreapta sau apeși lung textul. Personalizează limbile pentru traduceri în <ph name="LINK_BEGIN" />Limbi pentru site-uri<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Pașii următori sunt pentru părinți. Poți să îi înapoiezi copilului dispozitivul <ph name="DEVICE_TYPE" /> după crearea contului.</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 6ea3ba2..d2b8632 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -2298,6 +2298,7 @@
 <translation id="3090819949319990166">Externý súbor crx nie je možné skopírovať do súboru <ph name="TEMP_CRX_FILE" /></translation>
 <translation id="3090871774332213558">Zariadenie „<ph name="DEVICE_NAME" />“ bolo spárované</translation>
 <translation id="3093714882666365141">Nepovoliť webom inštalovať obslužné nástroje platieb</translation>
+<translation id="3093958632721393232">Zapnúť iba vtedy, keď je batéria takmer vybitá</translation>
 <translation id="3094141017404513551">Týmto oddelíte svoje prehliadanie od používateľa <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Záložky, heslá a ďalšie dáta prehliadania sú synchronizované s primárnym účtom.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 potenciálne škodlivé rozšírenie je vypnuté. Môžete ho tiež odstrániť.}few{{NUM_EXTENSIONS} potenciálne škodlivé rozšírenia sú vypnuté. Môžete ich tiež odstrániť.}many{{NUM_EXTENSIONS} potentially harmful extensions are off. You can also remove them.}other{{NUM_EXTENSIONS} potenciálne škodlivých rozšírení je vypnutých. Môžete ich tiež odstrániť.}}</translation>
@@ -5019,6 +5020,7 @@
 <translation id="5747552184818312860">Koniec platnosti</translation>
 <translation id="5747785204778348146">Vývojár – nestabilné</translation>
 <translation id="5747809636523347288">Prilepiť a prejsť na <ph name="URL" /></translation>
+<translation id="5748137879145720682">Zapnúť, keď je počítač odpojený</translation>
 <translation id="5751345516399502412">Kontrola pripravenosti na zdieľanie dátového pripojenia</translation>
 <translation id="5755022574660047665">spomienky z Fotiek Google</translation>
 <translation id="5756163054456765343">Centrum pomoci</translation>
@@ -7656,6 +7658,7 @@
 <translation id="8248381369318572865">Prístup k mikrofónu a analyzovanie reči</translation>
 <translation id="8248887045858762645">Tip pre Chrome</translation>
 <translation id="8249048954461686687">Priečinok OEM</translation>
+<translation id="8249239468199142122">Šetrič batérie</translation>
 <translation id="8249615410597138718">Odoslať do zariadení</translation>
 <translation id="8250210000648910632">Nie je k dispozícii žiadny ukladací priestor</translation>
 <translation id="8251441930213048644">Ihneď obnoviť</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 9c0e88f0..49051ba 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -2295,6 +2295,7 @@
 <translation id="3090819949319990166">Nije uspelo kopiranje spoljne crx datoteke u datoteku <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Uparili ste „<ph name="DEVICE_NAME" />“</translation>
 <translation id="3093714882666365141">Ne dozvoljavaj sajtovima da instaliraju obrađivače plaćanja</translation>
+<translation id="3093958632721393232">Uključi samo kada je baterija skoro prazna</translation>
 <translation id="3094141017404513551">Ovim se vaše pregledanje razdvaja od pregledanja korisnika <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Obeleživači, lozinke i drugi podaci pregledanja se sinhronizuju sa primarnim nalogom.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 potencijalno štetan dodatak je isključen. Možete i da ga uklonite.}one{{NUM_EXTENSIONS} potencijalno štetan dodatak je isključen. Možete i da ga uklonite.}few{{NUM_EXTENSIONS} potencijalno štetna dodatka su isključena. Možete i da ih uklonite.}other{{NUM_EXTENSIONS} potencijalno štetnih dodataka je isključeno. Možete i da ih uklonite.}}</translation>
@@ -5016,6 +5017,7 @@
 <translation id="5747552184818312860">Ističe</translation>
 <translation id="5747785204778348146">Programer – nestabilno</translation>
 <translation id="5747809636523347288">Nalepi i idi na <ph name="URL" /></translation>
+<translation id="5748137879145720682">Uključi kada je računar isključen iz napajanja</translation>
 <translation id="5751345516399502412">Provera spremnosti za privezivanje</translation>
 <translation id="5755022574660047665">uspomene iz Google slika</translation>
 <translation id="5756163054456765343">C&amp;entar za pomoć</translation>
@@ -6730,6 +6732,7 @@
 <translation id="7404065585741198296">Telefon sa USB kablom</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Bezbednosna provera je pokrenuta pre 1 sat}one{Bezbednosna provera je pokrenuta pre {NUM_HOURS} sat}few{Bezbednosna provera je pokrenuta pre {NUM_HOURS} sata}other{Bezbednosna provera je pokrenuta pre {NUM_HOURS} sati}}</translation>
 <translation id="740624631517654988">Iskačući prozori su blokirani</translation>
+<translation id="7406912950279255498">Režim inverzije boja</translation>
 <translation id="7407430846095439694">Uvezi i obaveži se</translation>
 <translation id="7407504355934009739">Većina ljudi blokira obaveštenja sa ovog sajta</translation>
 <translation id="740810853557944681">Dodajte server za štampanje</translation>
@@ -7652,6 +7655,7 @@
 <translation id="8248381369318572865">Pristup mikrofonu i analiza govora</translation>
 <translation id="8248887045858762645">Savet za Chrome</translation>
 <translation id="8249048954461686687">Folder Proizvođač originalne opreme</translation>
+<translation id="8249239468199142122">Ušteda baterije</translation>
 <translation id="8249615410597138718">Pošaljite na svoje uređaje</translation>
 <translation id="8250210000648910632">Nema memorijskog prostora</translation>
 <translation id="8251441930213048644">Osveži</translation>
@@ -7679,6 +7683,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Vlasnik može da upravlja ovom funkcijom u odeljku Podešavanja &gt; Napredno &gt; Automatski šalji dijagnostiku i podatke o korišćenju Google-u.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Ako za dete uključite dodatne Aktivnosti na vebu i u aplikacijama, ti podaci će se možda čuvati na Google nalogu deteta. Saznajte više o ovim podešavanjima i o tome kako da ih prilagodite na families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Nevažeći sertifikat klijenta</translation>
+<translation id="8270162672241199380">Steam program za instalaciju</translation>
 <translation id="827097179112817503">Prikaži dugme za početnu stranicu</translation>
 <translation id="8271268254812352141">Dobijajte definicije, prevode ili konverzije jedinica kada kliknete desnim tasterom na tekst ili ga dodirnete i zadržite. Prilagodite jezike za prevod u <ph name="LINK_BEGIN" />Jezicima za veb-sajtove<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Roditelji, sledećih nekoliko koraka su za vas. Možete da vratite <ph name="DEVICE_TYPE" /> detetu posle otvaranja naloga.</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index f2eb590f..9b691d86 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -2295,6 +2295,7 @@
 <translation id="3090819949319990166">Није успело копирање спољне crx датотеке у датотеку <ph name="TEMP_CRX_FILE" />.</translation>
 <translation id="3090871774332213558">Упарили сте „<ph name="DEVICE_NAME" />“</translation>
 <translation id="3093714882666365141">Не дозвољавај сајтовима да инсталирају обрађиваче плаћања</translation>
+<translation id="3093958632721393232">Укључи само када је батерија скоро празна</translation>
 <translation id="3094141017404513551">Овим се ваше прегледање раздваја од прегледања корисника <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">Обележивачи, лозинке и други подаци прегледања се синхронизују са примарним налогом.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 потенцијално штетан додатак је искључен. Можете и да га уклоните.}one{{NUM_EXTENSIONS} потенцијално штетан додатак је искључен. Можете и да га уклоните.}few{{NUM_EXTENSIONS} потенцијално штетна додатка су искључена. Можете и да их уклоните.}other{{NUM_EXTENSIONS} потенцијално штетних додатака је искључено. Можете и да их уклоните.}}</translation>
@@ -5016,6 +5017,7 @@
 <translation id="5747552184818312860">Истиче</translation>
 <translation id="5747785204778348146">Програмер – нестабилно</translation>
 <translation id="5747809636523347288">Налепи и иди на <ph name="URL" /></translation>
+<translation id="5748137879145720682">Укључи када је рачунар искључен из напајања</translation>
 <translation id="5751345516399502412">Провера спремности за привезивање</translation>
 <translation id="5755022574660047665">успомене из Google слика</translation>
 <translation id="5756163054456765343">Ц&amp;ентар за помоћ</translation>
@@ -6730,6 +6732,7 @@
 <translation id="7404065585741198296">Телефон са USB каблом</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Безбедносна провера је покренута пре 1 сат}one{Безбедносна провера је покренута пре {NUM_HOURS} сат}few{Безбедносна провера је покренута пре {NUM_HOURS} сата}other{Безбедносна провера је покренута пре {NUM_HOURS} сати}}</translation>
 <translation id="740624631517654988">Искачући прозори су блокирани</translation>
+<translation id="7406912950279255498">Режим инверзије боја</translation>
 <translation id="7407430846095439694">Увези и обавежи се</translation>
 <translation id="7407504355934009739">Већина људи блокира обавештења са овог сајта</translation>
 <translation id="740810853557944681">Додајте сервер за штампање</translation>
@@ -7652,6 +7655,7 @@
 <translation id="8248381369318572865">Приступ микрофону и анализа говора</translation>
 <translation id="8248887045858762645">Савет за Chrome</translation>
 <translation id="8249048954461686687">Фолдер Произвођач оригиналне опреме</translation>
+<translation id="8249239468199142122">Уштеда батерије</translation>
 <translation id="8249615410597138718">Пошаљите на своје уређаје</translation>
 <translation id="8250210000648910632">Нема меморијског простора</translation>
 <translation id="8251441930213048644">Освежи</translation>
@@ -7679,6 +7683,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Власник може да управља овом функцијом у одељку Подешавања &gt; Напредно &gt; Аутоматски шаљи дијагностику и податке о коришћењу Google-у.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Ако за дете укључите додатне Активности на вебу и у апликацијама, ти подаци ће се можда чувати на Google налогу детета. Сазнајте више о овим подешавањима и о томе како да их прилагодите на families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Неважећи сертификат клијента</translation>
+<translation id="8270162672241199380">Steam програм за инсталацију</translation>
 <translation id="827097179112817503">Прикажи дугме за почетну страницу</translation>
 <translation id="8271268254812352141">Добијајте дефиниције, преводе или конверзије јединица када кликнете десним тастером на текст или га додирнете и задржите. Прилагодите језике за превод у <ph name="LINK_BEGIN" />Језицима за веб-сајтове<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Родитељи, следећих неколико корака су за вас. Можете да вратите <ph name="DEVICE_TYPE" /> детету после отварања налога.</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 131f700..0de5082 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -6739,6 +6739,7 @@
 <translation id="7404065585741198296">Telefonen med en USB-kabel</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Säkerhetskontrollen kördes för 1 timme sedan}other{Säkerhetskontrollen kördes för {NUM_HOURS} timmar sedan}}</translation>
 <translation id="740624631517654988">Blockering av popup-fönster</translation>
+<translation id="7406912950279255498">Läge för inverterade färger</translation>
 <translation id="7407430846095439694">Importera och bind</translation>
 <translation id="7407504355934009739">De flesta användarna blockerar aviseringar från den här webbplatsen</translation>
 <translation id="740810853557944681">Lägg till en utskriftsserver</translation>
@@ -7689,6 +7690,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Ägaren kan styra denna funktion via Inställningar &gt; Avancerat &gt; Skicka diagnostik- och användningsdata automatiskt till Google.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Om tillvalsinställningen Webb- och appaktivitet har aktiverats för ditt barn kan denna data sparas i barnets Google-konto. Läs mer om de här inställningarna och hur du kan ändra dem på families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Ogiltigt klientcertifikat</translation>
+<translation id="8270162672241199380">Installationsprogram för Steam</translation>
 <translation id="827097179112817503">Visa hemknappen</translation>
 <translation id="8271268254812352141">Få definitioner, översättningar eller enhetskonverteringar när du högerklickar eller trycker länge på text. Anpassa språken för översättning via <ph name="LINK_BEGIN" />Språk på webbplatser<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Nästa steg är till för dig som är förälder. Du kan lämna tillbaka <ph name="DEVICE_TYPE" /> till barnet när konfigureringen av kontot är klar.</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 80ef6ca..e5da110 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -2296,6 +2296,7 @@
 <translation id="3090819949319990166">ไม่สามารถคัดลอกไฟล์ crx ภายนอกไปยัง <ph name="TEMP_CRX_FILE" /></translation>
 <translation id="3090871774332213558">จับคู่ "<ph name="DEVICE_NAME" />" แล้ว</translation>
 <translation id="3093714882666365141">ไม่อนุญาตให้เว็บไซต์ติดตั้งเครื่องจัดการการชำระเงิน</translation>
+<translation id="3093958632721393232">เปิดเฉพาะเมื่อแบตเตอรี่เหลือน้อย</translation>
 <translation id="3094141017404513551">การดำเนินการนี้จะแยกการท่องเว็บของคุณออกจาก <ph name="EXISTING_USER" /></translation>
 <translation id="3095871294753148861">บุ๊กมาร์ก รหัสผ่าน และข้อมูลอื่นๆ ในเบราว์เซอร์จะซิงค์กับบัญชีหลัก</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{ระบบปิดส่วนขยายที่อาจเป็นอันตรายไป 1 รายการ คุณจะนำส่วนขยายนี้ออกก็ได้}other{ระบบปิดส่วนขยายที่อาจเป็นอันตรายไป {NUM_EXTENSIONS} รายการ คุณจะนำส่วนขยายเหล่านี้ออกก็ได้}}</translation>
@@ -5015,6 +5016,7 @@
 <translation id="5747552184818312860">หมดอายุ</translation>
 <translation id="5747785204778348146">นักพัฒนาซอฟต์แวร์ - ไม่เสถียร</translation>
 <translation id="5747809636523347288">ว&amp;างและไปที่ <ph name="URL" /></translation>
+<translation id="5748137879145720682">เปิดเมื่อถอดปลั๊กคอมพิวเตอร์</translation>
 <translation id="5751345516399502412">ตรวจสอบความพร้อมดำเนินการของการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ</translation>
 <translation id="5755022574660047665">ความทรงจำจาก Google Photos</translation>
 <translation id="5756163054456765343">ศู&amp;นย์ช่วยเหลือ</translation>
@@ -7647,6 +7649,7 @@
 <translation id="8248381369318572865">เข้าถึงไมโครโฟนและวิเคราะห์คำพูด</translation>
 <translation id="8248887045858762645">เคล็ดลับสำหรับ Chrome</translation>
 <translation id="8249048954461686687">โฟลเดอร์ OEM</translation>
+<translation id="8249239468199142122">ประหยัดแบตเตอรี่</translation>
 <translation id="8249615410597138718">ส่งไปยังอุปกรณ์</translation>
 <translation id="8250210000648910632">พื้นที่เก็บข้อมูลไม่พอ</translation>
 <translation id="8251441930213048644">รีเฟรชเลย</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index ffa4525..3dca98b 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -6745,6 +6745,7 @@
 <translation id="7404065585741198296">Телефон із кабелем USB</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Перевірку безпеки виконано 1 годину тому}one{Перевірку безпеки виконано {NUM_HOURS} годину тому}few{Перевірку безпеки виконано {NUM_HOURS} години тому}many{Перевірку безпеки виконано {NUM_HOURS} годин тому}other{Перевірку безпеки виконано {NUM_HOURS} години тому}}</translation>
 <translation id="740624631517654988">Спливаюче вікно заблоковано</translation>
+<translation id="7406912950279255498">Режим інверсії кольорів</translation>
 <translation id="7407430846095439694">Імпортувати та зв’язати</translation>
 <translation id="7407504355934009739">Більшість людей блокують усі сповіщення від цього сайту</translation>
 <translation id="740810853557944681">Додайте сервер для друку</translation>
@@ -7695,6 +7696,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Власник може керувати цією функцією в меню "Налаштування" &gt; "Розширені" &gt; "Автоматично надсилати в Google дані про діагностику та використання".<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Якщо ввімкнено Історію додатків і веб-пошуку, ці дані зберігаються в обліковому записі Google дитини. Дізнайтеся більше про ці налаштування, а також про те, як їх змінювати, на сторінці families.google.com.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Недійсний сертифікат клієнта</translation>
+<translation id="8270162672241199380">Програма встановлення Steam</translation>
 <translation id="827097179112817503">Показувати кнопку головної сторінки</translation>
 <translation id="8271268254812352141">Щоб дізнатися визначення тексту, перекласти його або конвертувати в іншу одиницю, натисніть його правою кнопкою миші або натисніть і втримуйте. Налаштувати мови перекладу можна в розділі <ph name="LINK_BEGIN" />Мови веб-сайтів<ph name="LINK_END" />.</translation>
 <translation id="8271379370373330993">Батьки, наступні кілька кроків маєте виконати ви. Ви зможете віддати дитині <ph name="DEVICE_TYPE" />, коли налаштуєте обліковий запис.</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 9a7fad7..7e8f78a 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -2176,6 +2176,7 @@
 <translation id="2977480621796371840">گروپ سے ہٹائیں</translation>
 <translation id="2979639724566107830">نئی ونڈو میں کھولیں</translation>
 <translation id="2981113813906970160">بڑا ماؤس کرسر دکھائیں</translation>
+<translation id="2981293774053328982">اس فائل میں میلوئیر ہے جو آپ کے ذاتی یا سوشل نیٹ ورک کے اکاؤنٹس کو نقصان پہنچا سکتا ہے</translation>
 <translation id="2983373101216420412">کیس بیٹری کا لیول <ph name="PERCENTAGE" />% ہے۔</translation>
 <translation id="2985348301114641460">"<ph name="EXTENSION_NAME" />" انسٹال کرنے کے لیے آپ کے منتظم کو درخواست بھیجیں؟</translation>
 <translation id="2987620471460279764">دوسرے آلے سے اشتراک کردہ متن</translation>
@@ -2297,6 +2298,7 @@
 <translation id="3090819949319990166">‏خارجی crx فائل کو <ph name="TEMP_CRX_FILE" /> پر کاپی نہیں کیا جا سکتا ہے۔</translation>
 <translation id="3090871774332213558">"<ph name="DEVICE_NAME" />" کا جوڑا بنایا گیا</translation>
 <translation id="3093714882666365141">سائٹس کو ادائیگی کے ہینڈلرز انسٹال کرنے کی اجازت نہ دیں</translation>
+<translation id="3093958632721393232">صرف اس وقت آن کریں جب میری بیٹری کم ہو</translation>
 <translation id="3094141017404513551">یہ آپ کی براؤزنگ کو <ph name="EXISTING_USER" /> سے الگ کر دے گا</translation>
 <translation id="3095871294753148861">بُک مارکس، پاس ورڈز اور دیگر براؤزر ڈیٹا ابتدائی اکاؤنٹ کے ساتھ مطابقت پذیر ہیں۔</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 ممکنہ طور پر نقصان دہ ایکسٹینشن آف ہے۔ آپ اسے ہٹا بھی سکتے ہیں۔}other{{NUM_EXTENSIONS} ممکنہ طور پر نقصان دہ ایکسٹینشنز آف ہیں۔ آپ انہیں ہٹا بھی سکتے ہیں۔}}</translation>
@@ -3760,6 +3762,7 @@
 <translation id="4514610446763173167">چلانے یا روکنے کیلئے ویڈیو ٹوگل کریں</translation>
 <translation id="451515744433878153">ہٹائیں</translation>
 <translation id="4515872537870654449">‏سروس کیلئے Dell سے رابطہ کریں۔ پنکھے کے کام نہ کرنے کی صورت میں ڈاک بند ہو جائے گا۔</translation>
+<translation id="4518840066030486079">شفٹ کلید موڈ اسٹائل</translation>
 <translation id="4519331665958994620">سائٹس آپ کا کیمرا استعمال کرنے کیلئے پوچھ سکتی ہیں</translation>
 <translation id="4519935350946509010">کنکشن میں خرابی ہے۔</translation>
 <translation id="4520385623207007473">زیر استعمال کوکیز</translation>
@@ -3855,6 +3858,7 @@
 <translation id="4598345735110653698">پاس کیز کا نظم کریں</translation>
 <translation id="4598556348158889687">اسٹوریج کا نظم</translation>
 <translation id="4598776695426288251">‏متعدد آلات کے ذریعے Wi-Fi دستیاب ہے</translation>
+<translation id="4600071396330666617">تجاویز کی تعداد</translation>
 <translation id="4601426376352205922">بغیر پڑھا ہوا کے بطور نشان زد کریں</translation>
 <translation id="4602466770786743961"><ph name="HOST" /> کو ہمیشہ اپنے کیمرے اور مائیکروفون تک رسائی حاصل کرنے کی اجازت دیں</translation>
 <translation id="4606551464649945562">‏سائٹس کو اپنے اطراف کا 3D نقشہ تخلیق یا کمرے کی پوزیشن ٹریک کرنے کی اجازت نہ دیں</translation>
@@ -4301,6 +4305,7 @@
 <translation id="5043913660911154449">‏یا اپنے پرنٹر PPD کی وضاحت کریں <ph name="LINK_BEGIN" />مزید جانیں<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">غلط پاس ورڈ</translation>
 <translation id="504561833207953641">موجودہ براؤزر کے سیشن میں کھل رہا ہے۔</translation>
+<translation id="5049614114599109018">ان پٹ کی سرگزشت استعمال کریں</translation>
 <translation id="5051836348807686060">املا کی جانچ آپ کی منتخب زبانوں کے لیے تعاون یافتہ نہیں ہے</translation>
 <translation id="5052499409147950210">سائٹ میں ترمیم کریں</translation>
 <translation id="505347685865235222">بغیر نام کے گروپ - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -5014,6 +5019,7 @@
 <translation id="5747552184818312860">میعاد کا اختتام</translation>
 <translation id="5747785204778348146">ڈویلپر - ناپائیدار</translation>
 <translation id="5747809636523347288">پیسٹ کریں اور <ph name="URL" /> پر جائیں</translation>
+<translation id="5748137879145720682">میرا کمپیوٹر ان پلگ ہونے پر آن کریں</translation>
 <translation id="5751345516399502412">ٹیدرنگ کی تیاری چیک کریں</translation>
 <translation id="5755022574660047665">‏Google تصاویر سے میموریز</translation>
 <translation id="5756163054456765343">امدادی &amp;مرکز</translation>
@@ -7645,6 +7651,7 @@
 <translation id="8248381369318572865">اپنے مائیکروفون تک رسائی حاصل کریں اور اپنی اسپیچ کا تجزیہ کریں</translation>
 <translation id="8248887045858762645">‏Chrome تجویز</translation>
 <translation id="8249048954461686687">‏OEM فولڈر</translation>
+<translation id="8249239468199142122">بیٹری سیور</translation>
 <translation id="8249615410597138718">اپنے آلات پر بھیجیں</translation>
 <translation id="8250210000648910632">اسٹوریج کی جگہ ختم ہو چکی ہے</translation>
 <translation id="8251441930213048644">اب ریفریش کریں</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index d7a33b1..80f772ae 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -2298,6 +2298,7 @@
 <translation id="3090819949319990166">Tashqi CRX faylni <ph name="TEMP_CRX_FILE" /> jildiga nusxalab bo‘lmadi.</translation>
 <translation id="3090871774332213558">“<ph name="DEVICE_NAME" />” qurilmasi ulandi</translation>
 <translation id="3093714882666365141">Saytlarga toʻlov vositalarini oʻrnatishni taqiqlash</translation>
+<translation id="3093958632721393232">Faqatgina batareya quvvati kam qolganda yoqilsin</translation>
 <translation id="3094141017404513551">Brauzer axborotlari <ph name="EXISTING_USER" /> hisobidan ajratiladi</translation>
 <translation id="3095871294753148861">Bukmarklar, parollar va boshqa brauzer maʼlumotlari asosiy hisobga sinxronlanadi.</translation>
 <translation id="3099836255427453137">{NUM_EXTENSIONS,plural, =1{1 ta ehtimoliy zararli kengaytma faolsizlantirildi. Uni oʻchirib tashlash mumkin.}other{{NUM_EXTENSIONS} ta ehtimoliy zararli kengaytma faolsizlantirildi. Ularni oʻchirib tashlash mumkin.}}</translation>
@@ -5020,6 +5021,7 @@
 <translation id="5747552184818312860">Amal qilish muddati</translation>
 <translation id="5747785204778348146">Dasturchilar kanali (barqaror emas)</translation>
 <translation id="5747809636523347288">Joyla&amp;sh va ochish: <ph name="URL" /></translation>
+<translation id="5748137879145720682">Faqatgina kompyuter quvvat manbaidan uzilganda yoqilsin</translation>
 <translation id="5751345516399502412">Modem rejimiga tayyorlikni tekshirish</translation>
 <translation id="5755022574660047665">Google Photos xizmatidan xotiralar</translation>
 <translation id="5756163054456765343">&amp;Yordam markazi</translation>
@@ -6730,6 +6732,7 @@
 <translation id="7404065585741198296">Telefoningiz USB kabel bilan</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{Xavfsizlik tekshiruvi 1 soat oldin bajarilgan}other{Xavfsizlik tekshiruvi {NUM_HOURS} soat oldin bajarilgan}}</translation>
 <translation id="740624631517654988">Qalqib chiquvchi oyna bloklandi</translation>
+<translation id="7406912950279255498">Ranglarni akslantirish usuli</translation>
 <translation id="7407430846095439694">Import qilish va bog‘lash</translation>
 <translation id="7407504355934009739">Aksariyat foydalanuvchilar bu saytdagi bildirishnomalarni bloklaydi</translation>
 <translation id="740810853557944681">Bosma server kiritish</translation>
@@ -7651,6 +7654,7 @@
 <translation id="8248381369318572865">Mikrofondan foydalanishga va nutqingizni tahlil qilishga ruxsat bering</translation>
 <translation id="8248887045858762645">Chrome maslahati</translation>
 <translation id="8249048954461686687">OEM jildi</translation>
+<translation id="8249239468199142122">Quvvat tejash</translation>
 <translation id="8249615410597138718">Qurilmalaringizga yuborish</translation>
 <translation id="8250210000648910632">Xotirada joy yoʻq</translation>
 <translation id="8251441930213048644">Hozir yangilash</translation>
@@ -7678,6 +7682,7 @@
     <ph name="BEGIN_PARAGRAPH3" />Qurilma egasi bu funksiyani “Sozlamalar &gt; Qoʻshimcha &gt; Foydalanish statistikasi va ichdan chiqish hisobotlarining Google serverlariga avtomatik yuborilishi” orqali boshqarishi mumkin.<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />Bundan tashqari farzandingiz uchun Veb va ilovalar faoliyati sozlamasi yoniq boʻlsa, bu maʼlumotlar Google hisobingizda saqlanishi mumkin. Bularni families.google.com sahifasidan boshqarish mumkin.<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">Yaroqsiz mijoz sertifikati</translation>
+<translation id="8270162672241199380">Steam oʻrnatish vositasi</translation>
 <translation id="827097179112817503">“Boshi” tugmasini ko‘rsatish</translation>
 <translation id="8271268254812352141">Tavsif olish, tarjima qilish yoki birlik konversiyasi uchun matn ustiga oʻng klik yoki biroz bosib turing. Tillarni <ph name="LINK_BEGIN" />Sayt tillari<ph name="LINK_END" /> orqali moslash mumkin.</translation>
 <translation id="8271379370373330993">Ota-onalar, keyingi bosqichlar siz uchun. Hisobni sozlaganingizdan keyin <ph name="DEVICE_TYPE" /> qurilmasini farzandingizga berishingiz mumkin.</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 27a4b33..22ad427a 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">Xóa khỏi nhóm</translation>
 <translation id="2979639724566107830">Mở trong cửa sổ mới</translation>
 <translation id="2981113813906970160">Hiển thị con trỏ chuột lớn</translation>
+<translation id="2981293774053328982">Tệp này chứa phần mềm độc hại có thể xâm phạm tài khoản cá nhân hoặc tài khoản mạng xã hội của bạn</translation>
 <translation id="2983373101216420412">Mức pin hộp đựng <ph name="PERCENTAGE" />%.</translation>
 <translation id="2985348301114641460">Gửi yêu cầu tới quản trị viên để cài đặt "<ph name="EXTENSION_NAME" />"?</translation>
 <translation id="2987620471460279764">Văn bản được chia sẻ từ thiết bị khác</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">Bật/tắt video để phát hoặc tạm dừng</translation>
 <translation id="451515744433878153">Xóa</translation>
 <translation id="4515872537870654449">Hãy liên hệ với Dell để được bảo dưỡng. Đế sạc sẽ tắt nếu quạt không hoạt động.</translation>
+<translation id="4518840066030486079">Kiểu chế độ phím Shift</translation>
 <translation id="4519331665958994620">Các trang web có thể yêu cầu sử dụng máy ảnh của bạn</translation>
 <translation id="4519935350946509010">Lỗi kết nối.</translation>
 <translation id="4520385623207007473">Các cookie đang được sử dụng</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">Quản lý mã xác thực</translation>
 <translation id="4598556348158889687">Quản lý bộ nhớ</translation>
 <translation id="4598776695426288251">Wi-Fi khả dụng qua nhiều thiết bị</translation>
+<translation id="4600071396330666617">Số ý kiến đề xuất</translation>
 <translation id="4601426376352205922">Đánh dấu là chưa đọc</translation>
 <translation id="4602466770786743961">Luôn cho phép <ph name="HOST" /> truy cập vào máy ảnh và micrô của bạn</translation>
 <translation id="4606551464649945562">Không cho phép trang web tạo bản đồ 3D về các khu vực xung quanh bạn hoặc theo dõi thông tin vị trí của máy ảnh</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">Hoặc chỉ định tệp PPD cho máy in của bạn <ph name="LINK_BEGIN" />Tìm hiểu thêm<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">Mật khẩu sai</translation>
 <translation id="504561833207953641">Mở trong phiên trình duyệt hiện tại.</translation>
+<translation id="5049614114599109018">Sử dụng nhật ký nhập</translation>
 <translation id="5051836348807686060">Các ngôn ngữ bạn đã chọn không hỗ trợ tính năng kiểm tra chính tả</translation>
 <translation id="5052499409147950210">Chỉnh sửa trang web</translation>
 <translation id="505347685865235222">Nhóm chưa có tên – <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index 2c694a2..17e1ea9 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -2166,6 +2166,7 @@
 <translation id="2977480621796371840">从组中移除</translation>
 <translation id="2979639724566107830">在新窗口中打开</translation>
 <translation id="2981113813906970160">显示大号鼠标光标</translation>
+<translation id="2981293774053328982">此文件包含可能会使您的个人帐号或社交网络帐号遭到入侵的恶意软件</translation>
 <translation id="2983373101216420412">保护套的电池电量为 <ph name="PERCENTAGE" />%。</translation>
 <translation id="2985348301114641460">向您的管理员发送“<ph name="EXTENSION_NAME" />”安装请求?</translation>
 <translation id="2987620471460279764">从其他设备分享的文字</translation>
@@ -3747,6 +3748,7 @@
 <translation id="4514610446763173167">在播放视频和暂停视频之间切换</translation>
 <translation id="451515744433878153">移除</translation>
 <translation id="4515872537870654449">请联系戴尔以获取帮助。如果风扇停止工作,基座将会关闭。</translation>
+<translation id="4518840066030486079">Shift 键模式样式</translation>
 <translation id="4519331665958994620">网站可以请求使用您的摄像头</translation>
 <translation id="4519935350946509010">建立连接时出错。</translation>
 <translation id="4520385623207007473">正在使用的 Cookie</translation>
@@ -3842,6 +3844,7 @@
 <translation id="4598345735110653698">管理密钥</translation>
 <translation id="4598556348158889687">存储空间管理</translation>
 <translation id="4598776695426288251">可通过多部设备使用 Wi-Fi</translation>
+<translation id="4600071396330666617">建议数量</translation>
 <translation id="4601426376352205922">标记为未读</translation>
 <translation id="4602466770786743961">始终允许 <ph name="HOST" /> 使用您的摄像头和麦克风</translation>
 <translation id="4606551464649945562">不允许网站为您的周边环境创建 3D 地图或跟踪摄像头位置</translation>
@@ -4288,6 +4291,7 @@
 <translation id="5043913660911154449">或指定您的打印机 PPD <ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">密码不正确</translation>
 <translation id="504561833207953641">正在现有的浏览器会话中打开。</translation>
+<translation id="5049614114599109018">使用输入历史记录</translation>
 <translation id="5051836348807686060">所选语言不支持拼写检查</translation>
 <translation id="5052499409147950210">修改网站</translation>
 <translation id="505347685865235222">未命名的组 - <ph name="GROUP_CONTENT_STRING" /></translation>
@@ -6709,6 +6713,7 @@
 <translation id="7404065585741198296">使用 USB 线连接手机</translation>
 <translation id="7405938989981604410">{NUM_HOURS,plural, =1{1 小时前运行过安全检查}other{{NUM_HOURS} 小时前运行过安全检查}}</translation>
 <translation id="740624631517654988">已拦截弹出式窗口</translation>
+<translation id="7406912950279255498">颜色反转模式</translation>
 <translation id="7407430846095439694">导入并绑定</translation>
 <translation id="7407504355934009739">多数人会屏蔽来自此网站的通知</translation>
 <translation id="740810853557944681">添加打印服务器</translation>
@@ -7658,6 +7663,7 @@
     <ph name="BEGIN_PARAGRAPH3" />所有者可以通过“设置”&gt;“高级”&gt;“自动向 Google 发送诊断数据和使用情况数据”来控制这项功能。<ph name="END_PARAGRAPH3" />
     <ph name="BEGIN_PARAGRAPH4" />如果您已为孩子开启了“其他网络与应用活动记录”设置,这些数据可能会保存在您孩子的 Google 帐号中。您可以前往 families.google.com 详细了解这些设置以及对应的调整方式。<ph name="END_PARAGRAPH4" /></translation>
 <translation id="826905130698769948">客户端证书无效</translation>
+<translation id="8270162672241199380">Steam 安装程序</translation>
 <translation id="827097179112817503">显示“主页”按钮</translation>
 <translation id="8271268254812352141">在您右键点击或轻触并按住文字时获取定义、翻译或单位换算结果。您可在<ph name="LINK_BEGIN" />网站语言<ph name="LINK_END" />部分中自定义翻译语言。</translation>
 <translation id="8271379370373330993">接下来的几个步骤需由家长完成。家长可在设置好帐号后将 <ph name="DEVICE_TYPE" /> 交还给孩子。</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 8a03449a..3a1dccc 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -2189,6 +2189,7 @@
 <translation id="2977480621796371840">從群組中移除</translation>
 <translation id="2979639724566107830">在新視窗中開啟</translation>
 <translation id="2981113813906970160">顯示大型滑鼠游標</translation>
+<translation id="2981293774053328982">此檔案含有惡意軟件,可能會導致您的個人或社交網絡帳戶受到威脅</translation>
 <translation id="2983373101216420412">充電盒電量係 <ph name="PERCENTAGE" />%。</translation>
 <translation id="2985348301114641460">要向管理員傳送「<ph name="EXTENSION_NAME" />」的安裝要求嗎?</translation>
 <translation id="2987620471460279764">從其他裝置分享的文字</translation>
@@ -3774,6 +3775,7 @@
 <translation id="4514610446763173167">喺播放同暫停影片之間切換</translation>
 <translation id="451515744433878153">移除</translation>
 <translation id="4515872537870654449">請聯絡 Dell 以取得支援服務。風扇故障時,插座會停止運作。</translation>
+<translation id="4518840066030486079">Shift 鍵模式樣式</translation>
 <translation id="4519331665958994620">網站可要求使用攝錄機</translation>
 <translation id="4519935350946509010">連線錯誤。</translation>
 <translation id="4520385623207007473">使用中的 Cookie</translation>
@@ -3869,6 +3871,7 @@
 <translation id="4598345735110653698">管理密鑰</translation>
 <translation id="4598556348158889687">管理儲存空間</translation>
 <translation id="4598776695426288251">可透過多部裝置使用 Wi-Fi</translation>
+<translation id="4600071396330666617">建議數量</translation>
 <translation id="4601426376352205922">標示為未讀取</translation>
 <translation id="4602466770786743961">永遠允許 <ph name="HOST" /> 存取您的相機和麥克風</translation>
 <translation id="4606551464649945562">不允許網站建立您身處環境的 3D 地圖或追蹤攝錄機位置</translation>
@@ -4315,6 +4318,7 @@
 <translation id="5043913660911154449">或指定打印機的 PPD <ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">密碼不正確</translation>
 <translation id="504561833207953641">正在現有的瀏覽器工作階段中開啟。</translation>
+<translation id="5049614114599109018">使用輸入記錄功能</translation>
 <translation id="5051836348807686060">您所選取的語言不支援拼字檢查功能</translation>
 <translation id="5052499409147950210">編輯網站</translation>
 <translation id="505347685865235222">未命名的群組 - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index 48fd4a2..2a91ed82 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -2174,6 +2174,7 @@
 <translation id="2977480621796371840">從群組中移除</translation>
 <translation id="2979639724566107830">於新視窗中開啟</translation>
 <translation id="2981113813906970160">顯示大型滑鼠游標</translation>
+<translation id="2981293774053328982">這個檔案含有惡意軟體,可能會入侵你的社群網路或個人帳戶</translation>
 <translation id="2983373101216420412">充電盒電量為 <ph name="PERCENTAGE" />%。</translation>
 <translation id="2985348301114641460">要傳送「<ph name="EXTENSION_NAME" />」的安裝要求給系統管理員嗎?</translation>
 <translation id="2987620471460279764">從其他裝置分享的文字</translation>
@@ -3757,6 +3758,7 @@
 <translation id="4514610446763173167">在播放和暫停影片之間切換</translation>
 <translation id="451515744433878153">移除</translation>
 <translation id="4515872537870654449">請聯絡 Dell 以取得支援服務。風扇故障時,座架將會停止運作。</translation>
+<translation id="4518840066030486079">Shift 鍵模式樣式</translation>
 <translation id="4519331665958994620">網站可以要求使用你的攝影機</translation>
 <translation id="4519935350946509010">連線錯誤。</translation>
 <translation id="4520385623207007473">使用中的 Cookie</translation>
@@ -3852,6 +3854,7 @@
 <translation id="4598345735110653698">管理密碼金鑰</translation>
 <translation id="4598556348158889687">儲存空間管理</translation>
 <translation id="4598776695426288251">可透過多部裝置使用 Wi-Fi</translation>
+<translation id="4600071396330666617">建議數量</translation>
 <translation id="4601426376352205922">標示為未讀取</translation>
 <translation id="4602466770786743961">一律允許 <ph name="HOST" /> 存取你的攝影機和麥克風</translation>
 <translation id="4606551464649945562">不允許網站根據你的周遭環境建立 3D 地圖或追蹤攝影機位置</translation>
@@ -4298,6 +4301,7 @@
 <translation id="5043913660911154449">或指定印表機 PPD。<ph name="LINK_BEGIN" />瞭解詳情<ph name="LINK_END" /></translation>
 <translation id="5045550434625856497">密碼不正確</translation>
 <translation id="504561833207953641">正於現有瀏覽器工作階段中開啟。</translation>
+<translation id="5049614114599109018">使用輸入歷史記錄</translation>
 <translation id="5051836348807686060">你選取的語言不支援拼字檢查功能</translation>
 <translation id="5052499409147950210">編輯網站</translation>
 <translation id="505347685865235222">未命名的群組 - <ph name="GROUP_CONTENT_STRING" /></translation>
diff --git a/chrome/app/resources/google_chrome_strings_af.xtb b/chrome/app/resources/google_chrome_strings_af.xtb
index 6c33e52..e9c4fc3995 100644
--- a/chrome/app/resources/google_chrome_strings_af.xtb
+++ b/chrome/app/resources/google_chrome_strings_af.xtb
@@ -230,6 +230,7 @@
 <translation id="5386244825306882791">Dit beheer ook watter bladsy gewys word wanneer jy Chrome begin of soek vanuit die omnikassie.</translation>
 <translation id="5394833366792865639">Deel 'n Chrome-oortjie</translation>
 <translation id="5412485296464121825">Werwe kan inligting oor jou belangstellings in Chrome stoor. As jy byvoorbeeld ’n werf besoek om skoene vir ’n marathon te koop, kan die werf jou belangstelling definieer as iemand wat marathons hardloop. As jy later ’n ander werf besoek om vir ’n wedloop te registreer, kan daardie werf vir jou ’n advertensie vir drafskoene op grond van jou belangstellings wys.</translation>
+<translation id="5416870378730196769">Chrome het Geheuebespaarder aangeskakel</translation>
 <translation id="5430073640787465221">Jou voorkeurelêer is korrup of ongeldig.
 
 Google Chrome kan nie jou instellings terugstel nie.</translation>
@@ -328,6 +329,7 @@
 <translation id="7649070708921625228">Hulp</translation>
 <translation id="7651907282515937834">Chrome-onderneminglogo</translation>
 <translation id="7655455401911432608">Jou blaaigeskiedenis, ’n rekord van werwe wat jy besoek het deur Chrome op hierdie toestel te gebruik.</translation>
+<translation id="7726773885101561560">Chrome herwin geheue vanaf oortjies wat jy nie gebruik nie om jou vinniger te laat blaai.</translation>
 <translation id="7747138024166251722">Die installeerder kon nie 'n tydelike gids skep nie. Gaan asseblief na vir beskikbare skyfspasie en toestemming om sagteware te installeer.</translation>
 <translation id="7761834446675418963">Klik jou naam om Chrome oop te maak en te begin blaai.</translation>
 <translation id="7777080907402804672">As 'n prent nie 'n nuttige beskrywing het nie, sal Chrome probeer om een vir jou te verskaf. Prente word na Google toe gestuur om beskrywings te skep. Jy kan dit enige tyd in instellings afskakel.</translation>
@@ -400,6 +402,7 @@
 <translation id="8986207147630327271">Jy voeg tans 'n werkprofiel by hierdie blaaier en gee jou administrateur beheer oor net jou werkprofiel.</translation>
 <translation id="8989968390305463310">Jou blaaigeskiedenis beïnvloed die advertensies wat jy sien en die belangstellings soos hieronder geskat. Chrome vee outomaties elke maand jou belangstellings op ’n rollende basis uit om jou privaatheid te beskerm. Belangstellings kan herlaai, tensy jy hulle verwyder.</translation>
 <translation id="8999208279178790196">{0,plural, =0{'n Chrome-opdatering is beskikbaar}=1{'n Chrome-opdatering is beskikbaar}other{'n Chrome-opdatering is al # dae lank beskikbaar}}</translation>
+<translation id="9003498785844995646">Wanneer dit aan is, bespaar Chrome batterykrag deur agtergrondaktiwiteit en visuele effekte, soos gladde rollees en videoraamtempo's, te beperk. <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /> of <ph name="BEGIN_LINK_2" />stuur terugvoer<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Chrome OS Flex-stelsel</translation>
 <translation id="9067395829937117663">Google Chrome vereis Windows 7 of nuwer.</translation>
 <translation id="911206726377975832">Vee ook jou blaaidata uit?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_as.xtb b/chrome/app/resources/google_chrome_strings_as.xtb
index dc7b609..a78fb0048 100644
--- a/chrome/app/resources/google_chrome_strings_as.xtb
+++ b/chrome/app/resources/google_chrome_strings_as.xtb
@@ -230,6 +230,7 @@
 <translation id="5386244825306882791">এইটোৱে লগতে আপুনি Chrome আৰম্ভ কৰিলে বা Omniboxৰ পৰা সন্ধান কৰিলে কি পৃষ্ঠা খোল খায় সেয়া নিয়ন্ত্ৰণ কৰে।</translation>
 <translation id="5394833366792865639">Chrome টেব এটা শ্বেয়াৰ কৰক</translation>
 <translation id="5412485296464121825">ছাইটে আপোনাৰ আগ্ৰহৰ বিষয়ে তথ্য Chromeৰ জৰিয়তে ষ্ট’ৰ কৰিব পাৰে। উদাহৰণস্বৰূপে, আপুনি মাৰাথানৰ বাবে জোতা কিনিবলৈ কোনো ছাইটলৈ যায়, ছাইটটোৱে আপোনাৰ মাৰাথান দৌৰাটো আপোনাৰ আগ্ৰহ হিচাপে নিৰ্ধাৰণ কৰিব পাৰে। পাছত, যদি আপুনি দৌৰ প্ৰতিযোগিতাৰ বাবে পঞ্জীয়ন কৰিবলৈ অন্য এটা ছাইটলৈ যায়, সেই ছাইটটোৱে আপোনাৰ আগ্ৰহৰ ভিত্তিত আপোনাক দৌৰিবলৈ ব্যৱহাৰ কৰা জোতাৰ এটা বিজ্ঞাপন দেখুৱাব পাৰে।</translation>
+<translation id="5416870378730196769">Chromeএ মেম’ৰী সঞ্চয়কাৰী অন কৰিছে</translation>
 <translation id="5430073640787465221">আপোনাৰ পচন্দৰ ফাইলটো ব্যৱহাৰযোগ্য নহয় বা অমান্য।
 
 Google Chromeএ আপোনাৰ ছেটিংসমূহ পুনৰুদ্ধাৰ কৰিবলৈ সক্ষম নহ'ল।</translation>
@@ -328,6 +329,7 @@
 <translation id="7649070708921625228">সহায়</translation>
 <translation id="7651907282515937834">Chrome এণ্টাৰপ্ৰাইজৰ ল’গ’</translation>
 <translation id="7655455401911432608">আপোনাৰ ব্ৰাউজিঙৰ ইতিহাস, আপুনি এই ডিভাইচটোত Chrome ব্যৱহাৰ কৰি চোৱা ছাইটৰ ৰেকৰ্ড।</translation>
+<translation id="7726773885101561560">দ্ৰুতভাৱে ব্ৰাউজ কৰিবলৈ, Chromeএ আপুনি ব্যৱহাৰ কৰি নথকা টেবসমূহৰ পৰা মেম’ৰী পুনৰুদ্ধাৰ কৰে।</translation>
 <translation id="7747138024166251722">ইনষ্টলাৰটোৱে কোনো অস্থায়ী ডাইৰেক্ট'ৰী সৃষ্টি কৰিব নোৱাৰিলে। ছফ্টৱেৰ ইনষ্টল কৰিবলৈ অনুগ্ৰহ কৰি খালী ঠাই আৰু লগতে অনুমতি আছেনে নাই পৰীক্ষা কৰক।</translation>
 <translation id="7761834446675418963">Chrome খুলিবলৈ আপোনাৰ নামত ক্লিক কৰক আৰু ব্ৰাউজিং আৰম্ভ কৰক।</translation>
 <translation id="7777080907402804672">যদি কোনো প্ৰতিচ্ছবিত উপযোগী বিৱৰণ নাই তেন্তে Chromeএ আপোনাক সেয়া প্ৰদান কৰিবলৈ চেষ্টা কৰিব। বিৱৰণ সৃষ্টি কৰিবলৈ প্ৰতিচ্ছবি Googleলৈ প্ৰেৰণ কৰা হয়। আপুনি যিকোনো সময়তে ছেটিঙলৈ গৈ ইয়াক অফ কৰিব পাৰে।</translation>
@@ -400,6 +402,7 @@
 <translation id="8986207147630327271">আপুনি এই ব্ৰাউজাৰত এটা কৰ্মস্থানৰ প্ৰ’ফাইল যোগ দিছে আৰু নিজৰ প্ৰশাসকক কেৱল কৰ্মস্থানৰ প্ৰ’ফাইলটোৰ ওপৰত নিয়ন্ত্ৰণ দিছে।</translation>
 <translation id="8989968390305463310">আপোনাৰ ব্ৰাউজিঙৰ ইতিহাসে আপুনি দেখা বিজ্ঞাপন আৰু তলত দিয়া আগ্ৰহসমূহৰ অনুমান প্ৰভাৱিত কৰে। আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, Chromeএ প্ৰতি মাহে এক নিৰ্দিষ্ট সময়ৰ অন্তৰে অন্তৰে আপোনাৰ আগ্ৰহসমূহ স্বয়ংক্ৰিয়ভাৱে মচে। আপুনি আঁতৰাই নিদিয়া পৰ্যন্ত আগ্ৰহসমূহ ৰিফ্ৰেশ্ব কৰিব পৰা যায়।</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chromeৰ এটা আপডে’ট উপলব্ধ}=1{Chromeৰ এটা আপডে’ট উপলব্ধ}one{# দিনৰ বাবে Chromeৰ এটা আপডে’ট উপলব্ধ}other{# দিনৰ বাবে Chromeৰ এটা আপডে’ট উপলব্ধ}}</translation>
+<translation id="9003498785844995646">অন হৈ থাকিলে, Chromeএ নেপথ্যৰ কাৰ্যকলাপ আৰু ভিজুৱেল ইফেক্ট, যেনে- মসৃণ স্ক্ৰ’লিং আৰু ভিডিঅ’ ফ্ৰে’মৰ হাৰ সীমিত কৰি বেটাৰীৰ পাৱাৰ সংৰক্ষণ কৰে। <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /> অথবা <ph name="BEGIN_LINK_2" />মতামত পঠিয়াওক<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">ChromeOS Flex ছিষ্টেম</translation>
 <translation id="9067395829937117663">Google Chromeক Windows 7 বা তাতোকৈ উন্নত সংস্কৰণৰ আৱশ্যক।</translation>
 <translation id="911206726377975832">লগতে আপোনাৰ ব্ৰাউজিং ডেটাও মচিবনে?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_az.xtb b/chrome/app/resources/google_chrome_strings_az.xtb
index 282e3e0..8dd04ad 100644
--- a/chrome/app/resources/google_chrome_strings_az.xtb
+++ b/chrome/app/resources/google_chrome_strings_az.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">Google Chrome kameranızı istifadə edir.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> təhlükəli olduğu üçün Chrome onu blok etdi.</translation>
 <translation id="1597911401261118146">Parollarınızın data pozuntuları və digər güvənlik məsələlərinə qarşı güvəndə olduğunu yoxlamaq üçün <ph name="BEGIN_LINK" />Chrome'a daxil olun<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome bu arxiv faylını bloklayıb, çünki faylda zərərli proqram ola bilər</translation>
 <translation id="1619887657840448962">Chrome'u təhlükəsiz etmək üçün, <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> siyahısında olmayan və xəbəriniz olmadan əlavə edilən artırmanı deaktiv etdik.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Datanızı necə idarə edə bilərsiniz:<ph name="END_BOLD" /> Məxfiliyinizi qorumaq üçün 4 həftədən köhnə maraqlarınızı avtomatik silirik. Baxmağa davam etdikcə, maraq siyahıda yenidən görünə bilər. Və ya Chrome'un nəzərə almasını istəmədiyiniz maraqları silə bilərsiniz.</translation>
 <translation id="1628000112320670027">Chrome ilə yardım alın</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bs.xtb b/chrome/app/resources/google_chrome_strings_bs.xtb
index 0564389..bfc34ee 100644
--- a/chrome/app/resources/google_chrome_strings_bs.xtb
+++ b/chrome/app/resources/google_chrome_strings_bs.xtb
@@ -230,6 +230,7 @@
 <translation id="5386244825306882791">Također kontrolira koja stranica će se prikazati kada pokrenete Chrome ili budete pretraživali iz višenamjenskog okvira.</translation>
 <translation id="5394833366792865639">Dijelite Chrome karticu</translation>
 <translation id="5412485296464121825">Web lokacije mogu pohranjivati informacije o vašim interesovanjima u Chromeu. Naprimjer, ako posjetite web lokaciju da kupite obuću za maraton, ta web lokacija može definirati vaše interesovanje za trčanje maratona. Kasnije, kada posjetite drugu web lokaciju da se registrirate za utrku, ta web lokacija vam može prikazati oglas koji prikazuje obuću za trčanje, na osnovu vaših interesovanja.</translation>
+<translation id="5416870378730196769">Chrome je uključio štednju memorije</translation>
 <translation id="5430073640787465221">Datoteka vaših postavki oštećena je ili nevažeća. Google Chrome nema mogućnost oporavka vaših postavki.</translation>
 <translation id="5524761631371622910">Tokom probnog perioda i ako vas je Chrome nasumično ubacio u aktivni probni period, vaša historija pregledanja utiče na oglase koje vidite i interesovanja, kao što je procijenjeno u nastavku. Da zaštiti vašu privatnost, Chrome automatski briše interesovanja na mjesečnoj osnovi.</translation>
 <translation id="556024056938947818">Google Chrome pokušava prikazati lozinke.</translation>
@@ -326,6 +327,7 @@
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7651907282515937834">Logotip Chrome Enterprise</translation>
 <translation id="7655455401911432608">Vaša historija pregledanja, zapisi o web lokacijama koje ste posjetili koristeći Chrome na ovom uređaju.</translation>
+<translation id="7726773885101561560">Da bi vaše pregledavanje bilo brže, Chrome vraća memoriju s kartica koje ne upotrebljavate.</translation>
 <translation id="7747138024166251722">Aplikacija za instaliranje nije uspjela kreirati privremeni direktorij. Provjerite imate li slobodnog prostora na disku kao i odobrenje da instalirate softver.</translation>
 <translation id="7761834446675418963">Kliknite svoje ime da otvorite Chrome i počnete pregledati.</translation>
 <translation id="7777080907402804672">Ako slika ne sadrži koristan opis, Chrome će ga pokušati pružiti. Slike se šalju Googleu radi kreiranja opisa. To možete isključiti u postavkama kad god želite.</translation>
@@ -398,6 +400,7 @@
 <translation id="8986207147630327271">Dodajete radni profil na ovaj preglednik i dajte administratoru kontrolu samo nad radnim profilom.</translation>
 <translation id="8989968390305463310">Vaša historija pregledanja utiče na oglase koje vidite i interesovanja, kao što je procijenjeno u nastavku. Da zaštiti vašu privatnost, Chrome automatski briše vaša interesovanja na mjesečnoj osnovi. Interesovanja se mogu osvježiti ukoliko ih ne uklonite.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Dostupno je ažuriranje Chromea}=1{Dostupno je ažuriranje Chromea}one{Ažuriranje Chromea je dostupno # dan}few{Ažuriranje Chromea je dostupno # dana}other{Ažuriranje Chromea je dostupno # dana}}</translation>
+<translation id="9003498785844995646">Kad je to uključeno, Chrome štedi bateriju ograničavajući pozadinsku aktivnost i vizualne efekte, kao što je glatko pomicanje i broj sličica u sekundi videozapisa. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /> ili <ph name="BEGIN_LINK_2" />pošaljite povratne informacije<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Sistem ChromeOS Flex</translation>
 <translation id="9067395829937117663">Za Google Chrome je potreban Windows 7 ili novija verzija.</translation>
 <translation id="911206726377975832">Također izbrisati podatke pregledanja?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb
index 34eda61..06cfdeb370 100644
--- a/chrome/app/resources/google_chrome_strings_ca.xtb
+++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome està utilitzant la càmera.</translation>
 <translation id="1587325591171447154">Chrome ha bloquejat <ph name="FILE_NAME" /> perquè és perillós.</translation>
 <translation id="1597911401261118146">Per comprovar si les teves contrasenyes estan protegides contra violacions de les dades i contra altres problemes de seguretat, <ph name="BEGIN_LINK" />inicia la sessió a Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome ha bloquejat aquest fitxer d'arxiu perquè és possible que amagui programari maliciós</translation>
 <translation id="1619887657840448962">Per tal que Chrome sigui més segur, hem desactivat algunes de les extensions que no figuren a <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i que és possible que s'hagin afegit sense que ho sapigueu.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Com pots gestionar les teves dades<ph name="END_BOLD" />: amb la finalitat de protegir la teva privadesa, suprimim automàticament els interessos que tenen més de 4 setmanes. A mesura que continuïs navegant, és possible que torni a aparèixer un interès a la llista. També pots suprimir els interessos que no vulguis que Chrome tingui en compte.</translation>
 <translation id="1628000112320670027">Obtén ajuda per a Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb
index aa7eec8..47f764d 100644
--- a/chrome/app/resources/google_chrome_strings_cs.xtb
+++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -280,6 +280,7 @@
 <translation id="6735387454586646204">Systém ChromeOS Flex</translation>
 <translation id="6739177684496155661">Pokračovat v novém profilu Chrome?</translation>
 <translation id="6750954913813541382">Text zadaný v prohlížeči odesílá Chrome kvůli opravě pravopisných chyb do Googlu</translation>
+<translation id="6756581345161130259">Chrome podle potřeby znovu využívá paměť obsazenou kartami, které aktivně nepoužíváte. Tuto volbu můžete v nastavení kdykoli změnit.</translation>
 <translation id="677276454032249905">Přesto Chrome ukončit?</translation>
 <translation id="6785872064505734160">Asistent Google v Chromu může na webech provádět různé akce za vás</translation>
 <translation id="683440813066116847">Pravidlo příchozího provozu pro aplikaci Google Chrome Canary, které povolí provoz mDNS.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb
index f889d1c0..1d4f2e7 100644
--- a/chrome/app/resources/google_chrome_strings_de.xtb
+++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome verwendet deine Kamera.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> ist schädlich und wurde daher von Chrome blockiert.</translation>
 <translation id="1597911401261118146">Wenn du prüfen möchtest, ob deine Passwörter von Datenpannen und anderen Sicherheitsproblemen betroffen sind, <ph name="BEGIN_LINK" />melde dich in Chrome an<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome hat diese Archivdatei blockiert, da sie möglicherweise Malware enthält</translation>
 <translation id="1619887657840448962">Um Chrome sicherer zu machen, haben wir die folgende Erweiterung deaktiviert. Sie ist nicht im <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> aufgeführt und wurde möglicherweise ohne dein Wissen hinzugefügt.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />So kannst du deine Daten verwalten<ph name="END_BOLD" />: Zum Schutz deiner Daten löschen wir automatisch deine Interessen, die älter als vier Wochen sind. Je nach deinen Browsingaktivitäten können die Interessen wieder in der Liste erscheinen. Du kannst jedoch Interessen entfernen, die Chrome nicht berücksichtigen soll.</translation>
 <translation id="1628000112320670027">Hilfe für Chrome aufrufen</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index 03ddffd9..617e3a7 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -229,6 +229,7 @@
 <translation id="5386244825306882791">Επίσης, ελέγχει τη σελίδα που εμφανίζεται κατά την εκκίνηση του Chrome ή όταν κάνετε αναζήτηση από το κύριο πλαίσιο.</translation>
 <translation id="5394833366792865639">Μοιραστείτε μια καρτέλα του Chrome</translation>
 <translation id="5412485296464121825">Οι ιστότοποι μπορούν να αποθηκεύουν πληροφορίες σχετικά με τα ενδιαφέροντά σας στο Chrome. Για παράδειγμα, εάν επισκεφτείτε έναν ιστότοπο για να αγοράσετε παπούτσια για έναν μαραθώνιο, ο ιστότοπος μπορεί να ορίσει τους μαραθώνιους τρεξίματος ως ενδιαφέρον σας. Αργότερα, εάν επισκεφτείτε έναν διαφορετικό ιστότοπο για να εγγραφείτε σε έναν αγώνα, αυτός ο ιστότοπος μπορεί να σας εμφανίσει μια διαφήμιση για παπούτσια τρεξίματος με βάση τα ενδιαφέροντά σας.</translation>
+<translation id="5416870378730196769">Το Chrome ενεργοποίησε την Εξοικονόμηση μνήμης</translation>
 <translation id="5430073640787465221">Το αρχείο προτιμήσεών σας είναι κατεστραμμένο ή μη έγκυρο.Το Google Chrome δεν μπορεί να ανακτήσει τις ρυθμίσεις σας.</translation>
 <translation id="5524761631371622910">Όταν είναι ενεργοποιημένες οι δοκιμές και εάν το Chrome σας έχει τοποθετήσει τυχαία σε μια ενεργή δοκιμή, το ιστορικό περιήγησής σας επηρεάζει τις διαφημίσεις που βλέπετε και τις εκτιμήσεις για τα ενδιαφέροντά σας παρακάτω. Για την προστασία του απορρήτου σας, το Chrome διαγράφει τα ενδιαφέροντά σας σε κυλιόμενη βάση κάθε μήνα.</translation>
 <translation id="556024056938947818">Το Google Chrome επιχειρεί να εμφανίσει κωδικούς πρόσβασης.</translation>
@@ -325,6 +326,7 @@
 <translation id="7649070708921625228">Βοήθεια</translation>
 <translation id="7651907282515937834">Λογότυπο Chrome Enterprise</translation>
 <translation id="7655455401911432608">Το ιστορικό περιήγησής σας, δηλαδή ένα αρχείο των ιστοτόπων που έχετε επισκεφτεί χρησιμοποιώντας το Chrome σε αυτήν τη συσκευή.</translation>
+<translation id="7726773885101561560">Για να επιταχύνει την περιήγησή σας, το Chrome ανακτά τη μνήμη από τις καρτέλες που δεν χρησιμοποιείτε.</translation>
 <translation id="7747138024166251722">Δεν ήταν δυνατή η δημιουργία ενός προσωρινού καταλόγου από το πρόγραμμα εγκατάστασης. Ελέγξτε τον κενό χώρο του δίσκου και το δικαίωμα εγκατάστασης του λογισμικού.</translation>
 <translation id="7761834446675418963">Κάντε κλικ στο όνομά σας, για να ανοίξετε το Chrome και να ξεκινήσετε την περιήγηση.</translation>
 <translation id="7777080907402804672">Εάν μια εικόνα δεν έχει κάποια χρήσιμη περιγραφή, το Chrome θα προσπαθήσει να σας προσφέρει μια περιγραφή. Για τη δημιουργία περιγραφών, αποστέλλονται εικόνες στην Google. Μπορείτε να απενεργοποιήσετε αυτήν τη λειτουργία στις ρυθμίσεις οποιαδήποτε στιγμή.</translation>
@@ -397,6 +399,7 @@
 <translation id="8986207147630327271">Προσθέτετε ένα προφίλ εργασίας σε αυτό το πρόγραμμα περιήγησης και παραχωρείτε τον έλεγχο στον διαχειριστή σας μόνο για το προφίλ εργασίας.</translation>
 <translation id="8989968390305463310">Το ιστορικό περιήγησής σας επηρεάζει τις διαφημίσεις που βλέπετε και τις εκτιμήσεις για τα ενδιαφέροντά σας παρακάτω. Για την προστασία του απορρήτου σας, το Chrome διαγράφει αυτόματα τα ενδιαφέροντά σας σε κυλιόμενη βάση κάθε μήνα. Τα ενδιαφέροντα μπορούν να ανανεώνονται, εκτός εάν τα καταργήσετε.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome}=1{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome}other{Υπάρχει μια διαθέσιμη ενημέρωση του Chrome για # ημέρες}}</translation>
+<translation id="9003498785844995646">Όταν είναι ενεργοποιημένη, το Chrome εξοικονομεί μπαταρία περιορίζοντας τη δραστηριότητα στο παρασκήνιο και τα οπτικά εφέ, όπως είναι η ομαλή κύλιση και οι ρυθμοί καρέ του βίντεο. <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /> ή <ph name="BEGIN_LINK_2" />στείλτε σχόλια<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Σύστημα ChromeOS Flex</translation>
 <translation id="9067395829937117663">Το Google Chrome απαιτεί Windows 7 ή νεότερη έκδοση.</translation>
 <translation id="911206726377975832">Να γίνει διαγραφή και των δεδομένων περιήγησης;</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb
index 3904fab8..43e29ba 100644
--- a/chrome/app/resources/google_chrome_strings_es.xtb
+++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome está utilizando la cámara.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> es peligroso, por lo que Chrome lo ha bloqueado.</translation>
 <translation id="1597911401261118146">Para comprobar si tus contraseñas han sufrido quiebras de seguridad de datos u otros problemas de seguridad, <ph name="BEGIN_LINK" />inicia sesión en Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome ha bloqueado este archivo porque puede ocultar software malicioso</translation>
 <translation id="1619887657840448962">Para aumentar la seguridad de Chrome, hemos inhabilitado la siguiente extensión que no figura en <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> y que puede haberse añadido sin tu conocimiento.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Cómo puedes gestionar tus datos:<ph name="END_BOLD" /> para proteger tu privacidad, eliminamos automáticamente tus intereses si tienen una antigüedad superior a 4 semanas. A medida que sigas navegando, es posible que un interés vuelva a aparecer en la lista. También puedes eliminar los intereses que no quieras que Chrome tenga en cuenta.</translation>
 <translation id="1628000112320670027">Obtener ayuda de Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index e9fd329..d134e990 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome kasutab teie kaamerat.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> on ohtlik, mistõttu Chrome blokeeris selle.</translation>
 <translation id="1597911401261118146">Kui soovite kontrollida, kas teie paroolid on andmetega seotud rikkumiste ja muude turvaprobleemide eest kaitstud, <ph name="BEGIN_LINK" />logige Chrome'i sisse<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome blokeeris selle arhiivifaili, kuna see võib sisaldada pahavara</translation>
 <translation id="1619887657840448962">Chrome'i turvalisemaks muutmiseks keelasime järgmise laienduse, mida ei leidu veebipoes <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ja mis võidi lisada teie teadmata.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Kuidas saate oma andmeid hallata?<ph name="END_BOLD" /> Teie privaatsuse kaitsmiseks kustutame automaatselt huvid, mis on vanemad kui 4 nädalat. Kui jätkate sirvimist, võib huvi uuesti loendis ilmuda. Võite ka eemaldada huvid, mida te ei soovi lasta Chrome'il arvesse võtta.</translation>
 <translation id="1628000112320670027">Chrome'i puhul abi hankimine</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb
index 9ad496e..c597374 100644
--- a/chrome/app/resources/google_chrome_strings_fa.xtb
+++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">‏Google Chrome درحال استفاده از دوربین شما است.</translation>
 <translation id="1587325591171447154">‏<ph name="FILE_NAME" /> خطرناک است، بنابراین Chrome آن را مسدود کرده ست.</translation>
 <translation id="1597911401261118146">‏برای بررسی اینکه از گذرواژه‌هایتان دربرابر نقض داده یا دیگر مشکلات امنیتی محافظت می‌شود، <ph name="BEGIN_LINK" />به سیستم Chrome وارد شوید<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">‏Chrome این فایل بایگانی را مسدود کرده است چون ممکن است بدافزار پنهان کرده باشد</translation>
 <translation id="1619887657840448962">‏برای ایمن‌تر کردن Chrome، افزونه زیر را که در <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> فهرست نشده است و ممکن است بدون اطلاع شما اضافه شده باشد، غیرفعال کردیم.</translation>
 <translation id="1627304841979541023">‏<ph name="BEGIN_BOLD" />چگونه می‌توانید داده‌هایتان را مدیریت کنید:<ph name="END_BOLD" /> برای محافظت از حریم خصوصی شما، علایقی را که قدیمی‌تر از ۴ هفته باشد به‌طور خودکار حذف می‌کنیم. وقتی به مرور کردن ادامه می‌دهید، ممکن است علاقه‌ای مجدداً به فهرست اضافه شود. یا می‌توانید علایقی را که نمی‌خواهید Chrome مدنظر قرار دهد حذف کنید.</translation>
 <translation id="1628000112320670027">‏دریافت کمک برای Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb
index edc514d..12166c4 100644
--- a/chrome/app/resources/google_chrome_strings_fi.xtb
+++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome käyttää kameraasi.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> on vaarallinen, joten Chrome on estänyt sen.</translation>
 <translation id="1597911401261118146">Jos haluat tarkistaa, ovatko salasanasi turvassa tietosuojaloukkauksilta ja muilta tietoturvaongelmilta, <ph name="BEGIN_LINK" />kirjaudu Chromeen<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome on estänyt tämän arkistotiedoston, koska se voi piilottaa haittaohjelman</translation>
 <translation id="1619887657840448962">Paransimme Chromen turvallisuutta poistamalla käytöstä sovelluksia, joita <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ei tarjoa ja jotka on voitu lisätä ilman lupaasi.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Miten voit vaikuttaa dataasi:<ph name="END_BOLD" /> Yksityisyytesi suojaamiseksi poistamme automaattisesti yli neljä viikkoa vanhat kiinnostuksen kohteet. Kun jatkat selaamista, kiinnostuksen kohde voi näkyä listalla uudelleen. Voit myös poistaa kiinnostuksen kohteet, joita et halua Chromen ottavan huomioon.</translation>
 <translation id="1628000112320670027">Ohjeita Chromen käyttöön</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb
index 4bbedf5..53f16ac 100644
--- a/chrome/app/resources/google_chrome_strings_fil.xtb
+++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Ginagamit ng Google Chrome ang iyong camera.</translation>
 <translation id="1587325591171447154">Mapanganib ang <ph name="FILE_NAME" />, kaya na-block ito ng Chrome.</translation>
 <translation id="1597911401261118146">Para makita kung ligtas ang iyong mga password mula sa mga paglabag sa data at iba pang isyu sa seguridad, <ph name="BEGIN_LINK" />mag-sign in sa Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Na-block ng Chrome ang naka-archive na file na ito dahil posibleng nagtatago ito ng malware</translation>
 <translation id="1619887657840448962">Upang mas gawing ligtas ang Chrome, na-disable namin ang sumusunod na extension na hindi nakalista sa <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> na maaaring naidagdag nang hindi mo nalalalaman.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Paano mo mapapamahalaan ang iyong data:<ph name="END_BOLD" /> Para protektahan ang iyong privacy, awtomatiko naming dine-delete ang mga interes mo na mas matagal sa 4 na linggo. Habang patuloy kang nagba-browse, posibleng lumabas ulit sa listahan ang isang interes. O puwede kang mag-alis ng mga interes na ayaw mong isaalang-alang ng Chrome.</translation>
 <translation id="1628000112320670027">Humingi ng tulong sa Chrome</translation>
@@ -230,6 +231,7 @@
 <translation id="5386244825306882791">Kinokontrol din nito kung anong pahina ang ipinapakita kapag sinimulan mo ang Chrome o naghanap mula sa Omnibox.</translation>
 <translation id="5394833366792865639">Magbahagi ng tab ng Chrome</translation>
 <translation id="5412485296464121825">Puwedeng mag-store ang mga site sa Chrome tungkol sa iyong mga interes. Halimbawa, kung bibisita ka sa isang site para bumili ng mga sapatos para sa isang marathon, posibleng tukuyin ng site ang iyong interes bilang pagtakbo sa mga marathon. Sa ibang pagkakataon, kung bibisita ka sa ibang site para magparehistro para sa isang karera, puwedeng magpakita sa iyo ang site na iyon ng ad para sa running shoes batay sa mga interes mo.</translation>
+<translation id="5416870378730196769">Na-on ng Chrome ang Memory Saver</translation>
 <translation id="5430073640787465221">Sira o di-wasto ang iyong file ng mga kagustuhan.
 
 Hindi magawang bawiin ng Google Chrome ang iyong mga setting.</translation>
@@ -328,6 +330,7 @@
 <translation id="7649070708921625228">Tulong</translation>
 <translation id="7651907282515937834">Logo ng Chrome Enterprise</translation>
 <translation id="7655455401911432608">Iyong history ng pag-browse, record ng mga site na binisita mo gamit ang Chrome sa device na ito.</translation>
+<translation id="7726773885101561560">Para mas pabilisin ang iyong pag-browse, binabawi ng Chrome ang memory mula sa mga tab na hindi mo ginagamit.</translation>
 <translation id="7747138024166251722">Hindi makalikha ng pansamantalang direktoryo ang installer. Paki-suri para sa puwang sa disk na walang laman at pahintulot upang i-install ang software.</translation>
 <translation id="7761834446675418963">I-click ang iyong pangalan upang buksan ang Chrome at simulan ang pagba-browse.</translation>
 <translation id="7777080907402804672">Kung hindi sapat ang deskripsyon ng isang larawan, susubukan ng Chrome na ayusin ito para sa iyo. Para gumawa ng mga deskripsyon, ipinapadala ang mga larawan sa Google. Puwede mo itong i-off sa mga setting anumang oras.</translation>
@@ -400,6 +403,7 @@
 <translation id="8986207147630327271">Nagdaragdag ka ng profile sa trabaho sa browser na ito at binibigyan mo ang iyong administrator ng kontrol sa profile sa trabaho lang.</translation>
 <translation id="8989968390305463310">Naaapektuhan ng iyong history ng pag-browse ang mga ad na nakikita mo at mga interes tulad ng tinatantya sa ibaba. Para protektahan ang iyong privacy, awtomatikong ide-delete ng Chrome ang mga interes mo sa rolling na paraan bawat buwan. Puwedeng ma-refresh ang mga interes maliban na lang kung alisin mo ang mga ito.</translation>
 <translation id="8999208279178790196">{0,plural, =0{May available na update sa Chrome}=1{May available na update sa Chrome}one{# araw nang may available na update sa Chrome}other{# na araw nang may available na update sa Chrome}}</translation>
+<translation id="9003498785844995646">Kapag naka-on, nakakatipid ng baterya ang Chrome sa pamamagitan ng paglimita sa aktibidad sa background at mga visual effect, tulad ng maayos na pag-scroll at mga frame rate ng video. <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /> o <ph name="BEGIN_LINK_2" />magpadala ng feedback<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">System ng ChromeOS Flex</translation>
 <translation id="9067395829937117663">Kailangan ng Google Chrome ng Windows 7 o mas bago.</translation>
 <translation id="911206726377975832">Tatanggalin din ang iyong data sa pag-browse?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index 69012d89..aedeb47 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -224,6 +224,7 @@
 <translation id="5386244825306882791">Upravlja i time koja se stranica prikazuje prilikom pokretanja Chromea ili pretraživanja putem višenamjenskog okvira.</translation>
 <translation id="5394833366792865639">Podijeli karticu Chrome</translation>
 <translation id="5412485296464121825">Web-lokacije mogu pohraniti informacije o vašim interesima u Chrome. Na primjer, ako posjetite neku web-lokaciju da biste kupili tenisice za maraton, ta web-lokacija može definirati vaš interes kao trčanje maratona. Ako poslije posjetite neku drugu web-lokaciju da biste se registrirali za utrku, ta vam web-lokacija može prikazati oglas za tenisice za trčanje na temelju vaših interesa.</translation>
+<translation id="5416870378730196769">Chrome je uključio štednju memorije</translation>
 <translation id="5430073640787465221">Datoteka vaših postavki oštećena je ili nevažeća. Google Chrome nema mogućnost oporavka vaših postavki.</translation>
 <translation id="5524761631371622910">Tijekom eksperimenata i ako vas je Chrome nasumično rasporedio u aktivni eksperiment, vaša povijest pregledavanja utječe na oglase koji vam se prikazuju i interese procijenjene u nastavku. Da bi zaštitio vašu privatnost, Chrome kontinuirano briše vaše interese svakog mjeseca.</translation>
 <translation id="556024056938947818">Google Chrome pokušava prikazati zaporke.</translation>
@@ -320,6 +321,7 @@
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7651907282515937834">Logotip Chrome Enterprise</translation>
 <translation id="7655455401911432608">Vaša povijest pregledavanja, zapisnik web-lokacija koje ste posjetili u Chromeu na ovom uređaju.</translation>
+<translation id="7726773885101561560">Da bi vaše pregledavanje bilo brže, Chrome vraća memoriju s kartica koje ne upotrebljavate.</translation>
 <translation id="7747138024166251722">Program za instalaciju nije izradio privremeni direktorij. Provjerite ima li slobodnog prostora na disku i postoji li dopuštenje za instalaciju softvera.</translation>
 <translation id="7761834446675418963">Kliknite svoje ime da biste otvorili Chrome i počeli s pregledavanjem.</translation>
 <translation id="7777080907402804672">Ako slika nema koristan opis, Chrome će ga pokušati pružiti. Da bi se izradili opisi, slike se šalju Googleu. To možete isključiti u bilo kojem trenutku u postavkama.</translation>
@@ -392,6 +394,7 @@
 <translation id="8986207147630327271">Dodat ćete poslovni profil u ovaj preglednik i dati administratoru kontrolu samo nad poslovnim profilom.</translation>
 <translation id="8989968390305463310">Vaša povijest pregledavanja utječe na oglase koji vam se prikazuju i interese procijenjene u nastavku. Da bi zaštitio vašu privatnost, Chrome automatski kontinuirano briše vaše interese svakog mjeseca. Interesi se mogu osvježiti ako ih ne uklonite.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Dostupno je ažuriranje Chromea}=1{Dostupno je ažuriranje Chromea}one{Ažuriranje Chromea dostupno je # dana}few{Ažuriranje Chromea dostupno je # dana}other{Ažuriranje Chromea dostupno je # dana}}</translation>
+<translation id="9003498785844995646">Kad je to uključeno, Chrome štedi bateriju ograničavajući pozadinsku aktivnost i vizualne efekte, kao što je glatko pomicanje i broj sličica u sekundi videozapisa. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /> ili <ph name="BEGIN_LINK_2" />pošaljite povratne informacije<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Sustav ChromeOS Flex</translation>
 <translation id="9067395829937117663">Google Chrome zahtijeva Windows 7 ili noviju verziju.</translation>
 <translation id="911206726377975832">Izbrisati i podatke o pregledavanju?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index 96f3b67..fd20368 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -224,6 +224,7 @@
 <translation id="5386244825306882791">Továbbá azt is szabályozza, hogy melyik oldal jelenik meg a Chrome indításakor vagy a cím- és keresősávban indított kereséskor.</translation>
 <translation id="5394833366792865639">Chrome-lap megosztása</translation>
 <translation id="5412485296464121825">A webhelyek tárolhatnak az Ön érdeklődési köreivel kapcsolatos információkat a Chrome-ban. Ha például felkeres egy webhelyet, ahol maratonfutáshoz való cipőt vásárol, akkor a webhely meghatározhatja a maratonfutást az Ön egyik érdeklődési köreként. Ha később felkeres egy másik webhelyet, hogy jelentkezzen egy versenyre, ezen a webhelyen megjelenhet egy futócipőket reklámozó hirdetés az Ön érdeklődési köre alapján.</translation>
+<translation id="5416870378730196769">A Chrome bekapcsolta a memóriatakarékos módot</translation>
 <translation id="5430073640787465221">A beállításait tartalmazó fájl hibás vagy érvénytelen. A Google Chrome nem tudja helyreállítani a beállításait.</translation>
 <translation id="5524761631371622910">A próbaidőszakok során, ha a Chrome véletlenszerű módon regisztrálta Önt egy próbaidőszakra, az Ön böngészési előzményei hatással vannak a megjelenő hirdetésekre és a becslések szerinti érdeklődési körökre. Adatai védelme érdekében a Chrome havi rendszerességgel törli az Ön érdeklődési köreit.</translation>
 <translation id="556024056938947818">A Google Chrome megpróbálja megjeleníteni a jelszavakat.</translation>
@@ -320,6 +321,7 @@
 <translation id="7649070708921625228">Súgó</translation>
 <translation id="7651907282515937834">Chrome Enterprise-embléma</translation>
 <translation id="7655455401911432608">Böngészési előzményei és az Ön által az ezen az eszközön használt Chrome-ban felkeresett webhelyek jegyzéke.</translation>
+<translation id="7726773885101561560">A böngészés felgyorsítása érdekében a Chrome visszaveszi a memóriát a nem használt lapoktól.</translation>
 <translation id="7747138024166251722">A telepítőnek nem sikerült létrehoznia az ideiglenes könyvtárat. Kérjük ellenőrizze, hogy van-e elegendő hely a lemezen, és rendelkezik-e engedéllyel a szoftvertelepítésre.</translation>
 <translation id="7761834446675418963">Kattintson a nevére a Chrome megnyitásához és a böngészés megkezdéséhez.</translation>
 <translation id="7777080907402804672">Ha valamelyik kép nem rendelkezik hasznos leírással, akkor a Chrome igyekszik leírást adni róla. A Google automatikusan megkapja a leírások létrehozásához szükséges képeket. A funkciót a beállítások között bármikor kikapcsolhatja.</translation>
@@ -392,6 +394,7 @@
 <translation id="8986207147630327271">Munkaprofilt ad hozzá ehhez a böngészőhöz, és csak a munkaprofil felett adja át az irányítást a rendszergazdának.</translation>
 <translation id="8989968390305463310">Böngészési előzményei határozzák meg az Ön számára megjelenő hirdetéseket és az alább látható módon felmért érdeklődési köröket. Adatai védelme érdekében a Chrome havi rendszerességgel automatikusan törli az Ön érdeklődési köreit. Az érdeklődési körök frissülhetnek, kivéve, ha eltávolítja őket.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Rendelkezésre áll egy Chrome-frissítés}=1{Rendelkezésre áll egy Chrome-frissítés}other{# napja rendelkezésre áll egy Chrome-frissítés}}</translation>
+<translation id="9003498785844995646">Ha be van kapcsolva, a Chrome kíméli az akkumulátort: korlátozza a háttértevékenységeket és a vizuális effekteket, például a fionomgörgetést és a videók képkockasebességét. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" /> vagy <ph name="BEGIN_LINK_2" />visszajelzés küldése<ph name="END_LINK_2" />.</translation>
 <translation id="9053892488859122171">ChromeOS Flex rendszer</translation>
 <translation id="9067395829937117663">A Google Chrome futtatásához Windows 7 vagy újabb verzió szükséges.</translation>
 <translation id="911206726377975832">Törli a böngészési adatait is?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb
index 53ef89c..17f9d772 100644
--- a/chrome/app/resources/google_chrome_strings_id.xtb
+++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome menggunakan kamera Anda.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> berbahaya, sehingga Chrome memblokirnya.</translation>
 <translation id="1597911401261118146">Untuk memeriksa apakah sandi Anda aman dari pelanggaran data dan masalah keamanan lainnya, <ph name="BEGIN_LINK" />login ke Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome memblokir file arsip ini karena dapat menyembunyikan malware</translation>
 <translation id="1619887657840448962">Agar Chrome lebih aman, kami menonaktifkan ekstensi berikut yang tidak tercantum dalam <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> dan mungkin telah ditambahkan tanpa sepengetahuan Anda.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Cara Anda dapat mengelola data Anda:<ph name="END_BOLD" /> Untuk melindungi privasi Anda, kami otomatis menghapus minat yang tersimpan lebih dari 4 minggu. Saat Anda terus menjelajah, minat dapat kembali muncul di daftar. Atau Anda dapat menghapus minat yang tidak perlu disarankan oleh Chrome.</translation>
 <translation id="1628000112320670027">Dapatkan bantuan Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_is.xtb b/chrome/app/resources/google_chrome_strings_is.xtb
index 94f1f57..115ac39 100644
--- a/chrome/app/resources/google_chrome_strings_is.xtb
+++ b/chrome/app/resources/google_chrome_strings_is.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">Google Chrome er að nota myndavélina þína.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> er skaðleg skrá og Chrome útilokaði hana.</translation>
 <translation id="1597911401261118146"><ph name="BEGIN_LINK" />Skráðu þig inn á Chrome<ph name="END_LINK" /> til að athuga hvort aðgangsorðin þín séu óhult fyrir öryggisbrotum og öðrum öryggisvandamálum.</translation>
+<translation id="1599904803480101533">Chrome lokaði fyrir þessa geymslu þar sem hún kann að innihalda spilliforrit</translation>
 <translation id="1619887657840448962">Til að gera Chrome öruggara höfum við slökkt á eftirfarandi viðbót sem ekki er á skrá hjá <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> og kann að hafa verið bætt við án þinnar vitneskju.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Svona geturðu stjórnað gögnunum þínum:<ph name="END_BOLD" /> Til að gæta persónuverndar þinnar eyðum við áhugasviðunum þínum sem eru eldri en 4 vikna sjálfkrafa. Áhugasvið kann að birtast aftur á listanum þegar þú heldur áfram að vafra. Þú getur einnig fjarlægt áhugasvið sem þú vilt ekki að Chrome taki tillit til.</translation>
 <translation id="1628000112320670027">Fá hjálp með Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb
index 16568c86..9d6bf347 100644
--- a/chrome/app/resources/google_chrome_strings_it.xtb
+++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome sta utilizzando la videocamera.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> è pericoloso, pertanto è stato bloccato da Chrome.</translation>
 <translation id="1597911401261118146">Per controllare che le tue password siano protette da violazioni dei dati e altri problemi di sicurezza, <ph name="BEGIN_LINK" />accedi a Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome ha bloccato questo file di archivio perché potrebbe nascondere malware</translation>
 <translation id="1619887657840448962">Per rendere Chrome più sicuro, abbiamo disattivato la seguente estensione non presente nel <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> che potrebbe essere stata aggiunta a tua insaputa.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Come puoi gestire i tuoi dati:<ph name="END_BOLD" /> per tutelare la tua privacy, eliminiamo automaticamente i tuoi interessi risalenti a più di 4 settimane prima della data corrente. Mentre continui a navigare, un interesse potrebbe essere nuovamente visualizzato nell'elenco. Puoi anche rimuovere gli interessi che non vuoi che Chrome prenda in considerazione.</translation>
 <translation id="1628000112320670027">Ricevi assistenza per Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ka.xtb b/chrome/app/resources/google_chrome_strings_ka.xtb
index 26302f8..287e0e9 100644
--- a/chrome/app/resources/google_chrome_strings_ka.xtb
+++ b/chrome/app/resources/google_chrome_strings_ka.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">Google Chrome იყენებს თქვენს კამერას.</translation>
 <translation id="1587325591171447154">Chrome-მა დაბლოკა <ph name="FILE_NAME" />, რადგან ის სახიფათოა.</translation>
 <translation id="1597911401261118146"><ph name="BEGIN_LINK" />შედით Chrome-ში<ph name="END_LINK" />, რომ შეამოწმოთ, შეეხო თუ არა პერსონალურ მონაცემთა გაჟონვის შემთხვევები და უსაფრთხოებასთან დაკავშირებული პრობლემები თქვენს პაროლებს.</translation>
+<translation id="1599904803480101533">Chrome-მა დაბლოკა არქივის ეს ფაილი, ვინაიდან მასში, შესაძლოა, იმალებოდეს მავნე პროგრამა</translation>
 <translation id="1619887657840448962">Chrome-ის უსაფრთხოების გასაძლიერებლად, ჩვენ გავთიშეთ შემდეგი გაფართოება, რომელიც არ არის ხელმისაწვდომი <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-ში და, შესაძლოა, თქვენი თანხმობის გარეშე დაემატა.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />თქვენი მონაცემების მართვის ხერხები:<ph name="END_BOLD" /> თქვენი კონფიდენციალურობის დაცვის მიზნით, ჩვენ ავტომატურად ვშლით თქვენს ინტერესებს, რომლებიც 4 კვირაზე ძველია. თქვენ მიერ ვების დათვალიერების პარალელურად, ესა თუ ეს ინტერესი შეიძლება ხელახლა გამოჩნდეს სიაში. სურვილისამებრ, შეგიძლიათ წაშალოთ ინტერესები, რომლებიც არ გსურთ, Chrome-მა რომ გაითვალისწინოს.</translation>
 <translation id="1628000112320670027">Chrome-თან დაკავშირებული დახმარების მიღება</translation>
diff --git a/chrome/app/resources/google_chrome_strings_km.xtb b/chrome/app/resources/google_chrome_strings_km.xtb
index 008ac84..2f9a82e 100644
--- a/chrome/app/resources/google_chrome_strings_km.xtb
+++ b/chrome/app/resources/google_chrome_strings_km.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome កំពុងប្រើកាមេរ៉ារបស់អ្នក។</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> មានគ្រោះថ្នាក់ ដូច្នេះ Chrome បានរារាំងវា។</translation>
 <translation id="1597911401261118146">ដើម្បីពិនិត្យមើលថា​តើពាក្យសម្ងាត់​របស់អ្នក​មានសុវត្ថិភាពពី​ការបែកធ្លាយ​ទិន្នន័យ និងបញ្ហាសុវត្ថិភាព​ផ្សេងទៀតឬអត់ សូម​<ph name="BEGIN_LINK" />ចូល Chrome<ph name="END_LINK" />។</translation>
+<translation id="1599904803480101533">Chrome បាន​ទប់ស្កាត់​ឯកសារ​បណ្ណសារ​នេះ ដោយសារ​ឯកសារនេះ​អាច​លាក់​កម្មវិធីគ្រោះថ្នាក់</translation>
 <translation id="1619887657840448962">ដើម្បីធ្វើឲ្យ Chrome មានសុវត្ថិភាពជាងមុន យើងបានបិទដំណើរកម្មវិធីបន្ថែមមួយចំនួនដែលមិនត្រូវបានរាយនៅក្នុង <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ហើយអាចត្រូវបានបន្ថែមដោយពុំមានការជូនដំណឹងដល់អ្នក។</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />របៀបដែល​អ្នកអាចគ្រប់គ្រង​ទិន្នន័យ​របស់អ្នក៖<ph name="END_BOLD" /> ដើម្បីការពារ​ឯកជនភាព​របស់អ្នក យើងលុប​ចំណាប់អារម្មណ៍​របស់អ្នក​ដែលចាស់ជាង 4 សប្ដាហ៍​ដោយស្វ័យប្រវត្តិ។ នៅពេលដែលអ្នក​បន្តរុករក ចំណាប់អារម្មណ៍​ប្រហែលជាបង្ហាញ​នៅលើ​បញ្ជីម្ដងទៀត។ ឬអ្នកអាច​ដកចំណាប់អារម្មណ៍ដែលអ្នក​មិនចង់ឱ្យ Chrome ណែនាំចេញបាន។</translation>
 <translation id="1628000112320670027">ទទួលយកជំនួយពី Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb
index da0d7f7..f66940d 100644
--- a/chrome/app/resources/google_chrome_strings_ko.xtb
+++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Chrome에서 카메라를 사용 중입니다.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" />은(는) 위험하므로 Chrome에서 차단했습니다.</translation>
 <translation id="1597911401261118146">암호가 정보 유출 및 다른 보안 문제로부터 안전한지 확인하려면 <ph name="BEGIN_LINK" />Chrome에 로그인<ph name="END_LINK" />하세요.</translation>
+<translation id="1599904803480101533">멀웨어가 숨겨져 있을 수 있어 Chrome에서 이 보관 파일을 차단했습니다.</translation>
 <translation id="1619887657840448962">Google에서는 Chrome의 보안을 강화하기 위해 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />에 표시되지 않고 사용자가 모르게 추가되었을 수 있는 다음 확장 프로그램의 사용을 중지했습니다.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />데이터 관리 방법:<ph name="END_BOLD" /> 개인 정보를 보호하기 위해 Chrome에서는 4주가 지난 관심분야를 자동 삭제합니다. 인터넷 사용에 따라 특정 관심분야가 목록에 다시 표시될 수 있습니다. Chrome에서 고려하지 않았으면 하는 관심분야가 있으면 직접 삭제하세요.</translation>
 <translation id="1628000112320670027">Chrome 도움말 보기</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb
index b9423f6..81059f1 100644
--- a/chrome/app/resources/google_chrome_strings_lt.xtb
+++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">„Google Chrome“ naudoja jūsų fotoaparatą.</translation>
 <translation id="1587325591171447154">Failas „<ph name="FILE_NAME" />“ pavojingas, todėl „Chrome“ jį užblokavo.</translation>
 <translation id="1597911401261118146">Jei norite patikrinti, ar slaptažodžiai apsaugoti nuo duomenų saugos pažeidimų bei kitų saugos problemų, <ph name="BEGIN_LINK" />prisijunkite prie „Chrome“<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">„Chrome“ užblokavo šį archyvo failą, nes jis gali slėpti kenkėjiškas programas</translation>
 <translation id="1619887657840448962">Kad „Chrome“ būtų saugesnė, išjungėme toliau nurodytą plėtinį, kuris nepateiktas <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> sąraše ir tikriausiai buvo pridėtas be jūsų žinios.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Kaip galite tvarkyti savo duomenis:<ph name="END_BOLD" /> siekdami apsaugoti jūsų privatumą, automatiškai ištriname senesnius nei keturių savaičių pomėgius. Jums naršant toliau, pomėgiai vėl gali atsirasti sąraše. Arba galite pašalinti pomėgius, kurių „Chrome“ įtraukti neturėtų.</translation>
 <translation id="1628000112320670027">Gaukite pagalbos dėl „Chrome“</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mk.xtb b/chrome/app/resources/google_chrome_strings_mk.xtb
index bad5f41..fc3938b 100644
--- a/chrome/app/resources/google_chrome_strings_mk.xtb
+++ b/chrome/app/resources/google_chrome_strings_mk.xtb
@@ -231,6 +231,7 @@
 <translation id="5386244825306882791">Контролира и која страница се прикажува кога го стартувате Chromе или ако пребарувате од лентата за адреси.</translation>
 <translation id="5394833366792865639">Споделете картичка на Chrome</translation>
 <translation id="5412485296464121825">Сајтовите можат да зачувуваат податоци со Chrome за вашите интереси. На пример, ако посетите сајт за да купите патики за маратон, сајтот може да дефинира дека вашиот интерес е трчање маратони. Подоцна ако посетите друг сајт за да се регистрирате за трка, тој сајт може да ви прикаже реклама за патики за трчање според вашите интереси.</translation>
+<translation id="5416870378730196769">Chrome го вклучи „Штедачот на меморија“</translation>
 <translation id="5430073640787465221">Вашата датотека со претпочитани вредности е оштетена или неважечка.
 
 Google Chrome не може да ги обнови вашите поставки.</translation>
@@ -329,6 +330,7 @@
 <translation id="7649070708921625228">Помош</translation>
 <translation id="7651907282515937834">Лого на Chrome Enterprise</translation>
 <translation id="7655455401911432608">Вашата историја на прелистувањето, евиденција на сајтовите што сте ги посетиле со Chrome на овој уред.</translation>
+<translation id="7726773885101561560">За побрзо прелистување, Chrome ја зема меморијата на картичките што не ги користите.</translation>
 <translation id="7747138024166251722">Инсталаторот не може да создаде привремен директориум. Проверете дали има доволно празен простор и дозвола за инсталирање на софтверот.</translation>
 <translation id="7761834446675418963">Кликнете си на името за да го отворите Chrome и да започнете со прелистување.</translation>
 <translation id="7777080907402804672">Ако сликата нема корисен опис, Chrome ќе се обиде да ви обезбеди опис. За да се создаваат описи, сликите се испраќаат до Google. Ова може да го исклучите во „Поставки“ во секое време.</translation>
@@ -401,6 +403,7 @@
 <translation id="8986207147630327271">Додавате работен профил во овој прелистувач и му давате контрола на администраторот само врз тој профил.</translation>
 <translation id="8989968390305463310">Вашата историја на прелистувањето влијае на рекламите што ги гледате и на интересите како што е проценето подолу. За да ја заштитите приватноста, Chrome автоматски ги брише вашите интереси секој месец. Интересите може да се освежуваат освен ако не ги отстраните.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Достапно е ажурирање за Chrome}=1{Достапно е ажурирање за Chrome}one{Достапно е ажурирање за Chrome веќе # ден}other{Достапно е ажурирање за Chrome веќе # дена}}</translation>
+<translation id="9003498785844995646">Кога е вклучен, Chrome ја штеди батеријата со ограничување на активностите во заднина и визуелните ефекти, како непречено лизгање и стапки на слики на видеата. <ph name="BEGIN_LINK" />Дознајте повеќе<ph name="END_LINK" /> или <ph name="BEGIN_LINK_2" />испратете повратни информации<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Системот ChromeOS Flex</translation>
 <translation id="9067395829937117663">Google Chrome бара Windows 7 или понова верзија.</translation>
 <translation id="911206726377975832">Да се избришат ли и вашите податоци од пребарувањата?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb
index 3b6b9a2..5e3d3ca 100644
--- a/chrome/app/resources/google_chrome_strings_ml.xtb
+++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome നിങ്ങളുടെ ക്യാമറ ഉപയോഗിക്കുന്നു.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> അപകടകരമായതിനാൽ, Chrome ഇതിനെ ബ്ലോക്കുചെയ്‌തു.</translation>
 <translation id="1597911401261118146">ഡാറ്റാ ലംഘനങ്ങളിൽ നിന്നും മറ്റ് സുരക്ഷാ പ്രശ്‌നങ്ങളിൽ നിന്നും നിങ്ങളുടെ പാസ്‌വേഡുകൾ സുരക്ഷിതമാണോ എന്ന് പരിശോധിക്കാൻ, <ph name="BEGIN_LINK" />Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">മാൽവെയർ മറച്ചേക്കാമെന്നതിനാൽ Chrome ഈ ആർക്കൈവ് ഫയൽ ബ്ലോക്ക് ചെയ്തിരിക്കുന്നു</translation>
 <translation id="1619887657840448962">Chrome സുരക്ഷിതമാക്കാൻ, <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> എന്നതിൽ ലിസ്റ്റ് ചെയ്യാത്ത ചില വിപുലീകരണങ്ങൾ ഞങ്ങൾ പ്രവർത്തനരഹിതമാക്കി, അവ നിങ്ങളുടെ അറിവില്ലാതെ ചേർത്തിരിക്കാനിടയുണ്ട്.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />നിങ്ങളുടെ ഡാറ്റ എങ്ങനെ മാനേജ് ചെയ്യാം:<ph name="END_BOLD" /> നിങ്ങളുടെ സ്വകാര്യത പരിരക്ഷിക്കുന്നതിന് 4 ആഴ്‌ചയിലധികം പഴക്കമുള്ള താൽപ്പര്യങ്ങൾ ഞങ്ങൾ സ്വയമേവ ഇല്ലാതാക്കുന്നു. നിങ്ങൾ ബ്രൗസ് ചെയ്യുന്നത് തുടരുമ്പോൾ, ഒരു താൽപ്പര്യം ലിസ്റ്റിൽ വീണ്ടും ദൃശ്യമായേക്കാം. അല്ലെങ്കിൽ Chrome പരിഗണിക്കരുതെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്ന താൽപ്പര്യങ്ങൾ നിങ്ങൾക്ക് നീക്കം ചെയ്യാം.</translation>
 <translation id="1628000112320670027">Chrome ഉപയോഗിക്കുന്നതിനുള്ള സഹായം തേടുക</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mn.xtb b/chrome/app/resources/google_chrome_strings_mn.xtb
index fc518d8c..73173d33 100644
--- a/chrome/app/resources/google_chrome_strings_mn.xtb
+++ b/chrome/app/resources/google_chrome_strings_mn.xtb
@@ -231,6 +231,7 @@
 <translation id="5386244825306882791">Энэ нь мөн таныг Chrome эхлүүлэхэд ямар хуудаснуудыг харуулах эсвэл Omnibox-оос хайхыг хянадаг.</translation>
 <translation id="5394833366792865639">Chrome-н таб хуваалцах</translation>
 <translation id="5412485296464121825">Сайтууд Chrome-р таны сонирхлын талаарх мэдээллийг хадгалах боломжтой. Жишээлбэл, та марафонд зориулж гутал авахаар сайтад зочилсон бол тухайн сайт таны сонирхлыг марафонд гүйх гэж тодорхойлж магадгүй. Дараа та уралдаанд бүртгүүлэхийн тулд өөр сайтад зочилсон бол тухайн сайт таны сонирхолд тулгуурлан танд гүйлтийн гутлын зарыг харуулах боломжтой.</translation>
+<translation id="5416870378730196769">Chrome Санах ой хэмнэгчийг асаасан</translation>
 <translation id="5430073640787465221">Та сонгосон файл хүчин төгөлдөр бус эсвэл гэмтсэн байна.
 
 Google Chrome таны тохируулгыг дахин сэргээх боломжгүй байна.</translation>
@@ -329,6 +330,7 @@
 <translation id="7649070708921625228">Тусламж</translation>
 <translation id="7651907282515937834">Chrome-н байгууллагын лого</translation>
 <translation id="7655455401911432608">Таны хөтчийн түүх буюу энэ төхөөрөмж дээр Chrome-г ашиглан зочилсон сайтуудын бүртгэл.</translation>
+<translation id="7726773885101561560">Таны үзэлтийг илүү хурдан болгохын тулд Chrome таны ашиглаагүй табуудын санах ойг сэргээнэ.</translation>
 <translation id="7747138024166251722">Суулгагч нь түр зуурын хадгалалтын санг үүсгэж чадсангүй. Дискэнд сул зай байгаа эсэхийг мөн программ хангамж суулгах зөвшөөрлийг шалгана уу.</translation>
 <translation id="7761834446675418963">Chrome-ыг нээж хайлтаа эхлүүлэх нэрэн дээрээ дарна уу.</translation>
 <translation id="7777080907402804672">Хэрэв зурагт хэрэгтэй тайлбар байхгүй бол Chrome танд тайлбар өгөхөөр оролдох болно. Тайлбар үүсгэхийн тулд зургийг Google-д илгээнэ. Та үүнийг хүссэн үедээ тохиргоонд унтрааж болно.</translation>
@@ -401,6 +403,7 @@
 <translation id="8986207147630327271">Та энэ хөтчид ажлын профайл нэмж байгаа бөгөөд администратордоо зөвхөн ажлын профайлын хяналтыг өгч байна.</translation>
 <translation id="8989968390305463310">Таны хөтчийн түүх таны хардаг зар болон доор тооцоолсны дагуу сонирхолд нөлөөлнө. Таны нууцлалыг хамгаалахын тулд Chrome тодорхойгүй хугацаанд сар бүр таны сонирхлыг автоматаар устгана. Та сонирхлыг хасаагүй бол сэргээх боломжтой.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome-н шинэчлэлт боломжтой байна}=1{Chrome-н шинэчлэлт боломжтой байна}other{Chromium-н шинэчлэлт # хоногийн турш боломжтой байсаар байна}}</translation>
+<translation id="9003498785844995646">Асаалттай үед Chrome жигд гүйлгэх болон видеоны фреймийн хурд зэрэг дэвсгэрийн үйл ажиллагаа болон визуал эффектийг хязгаарласнаар батарейн цэнэгийг хадгална. <ph name="BEGIN_LINK" />Нэмэлт мэдээлэл авах<ph name="END_LINK" /> эсвэл <ph name="BEGIN_LINK_2" />санал хүсэлт илгээх<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">ChromeOS Flex-н систем</translation>
 <translation id="9067395829937117663">Google Chrome-д Windows 7 болон үүнээс дээших хувилбарууд шаардлагатай.</translation>
 <translation id="911206726377975832">Хайлтын мэдээллээ бас устгамаар байна уу?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb
index 66703fa4..b705f46 100644
--- a/chrome/app/resources/google_chrome_strings_mr.xtb
+++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">Google Chrome तुमचा कॅमेरा वापरत आहे.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> धोकादायक आहे, त्यामुळे Chrom ने ती ब्लॉक केली आहे.</translation>
 <translation id="1597911401261118146">तुमचे पासवर्ड डेटा भंग आणि इतर सुरक्षा समस्यांपासून सुरक्षित आहेत हे तपासण्यासाठी, <ph name="BEGIN_LINK" />Chrome मध्ये साइन इन करा<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome ने ही संग्रहण फाइल ब्लॉक केली, कारण त्यामध्ये मालवेअर लपलेले असू शकते</translation>
 <translation id="1619887657840448962">Chrome अधिक सुरक्षित करण्यासाठी, आम्ही <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> मध्ये सूचीबद्ध नसलेला आणि तुमच्या माहितीशिवाय कदाचित जोडले गेलेले खालील एक्स्टेंशन बंद केले आहे.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />तुम्ही तुमचा डेटा कसा व्यवस्थापित करू शकता:<ph name="END_BOLD" /> तुमच्या गोपनीयतेचे संरक्षण करण्यासाठी, आम्ही तुमची चार आठवड्यांपेक्षा जुनी स्वारस्ये ऑटो-डिलीट करतो. तुम्ही ब्राउझ करत राहाल, तसे सूचीमध्ये स्वारस्य पुन्हा दिसू शकते. किंवा Chrome ने विचारात घेऊ नये असे तुम्हाला वाटत असलेली स्वारस्ये तुम्ही काढून टाकू शकता.</translation>
 <translation id="1628000112320670027">Chrome सह मदत मिळवा</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb
index 655e2ca..8434962e 100644
--- a/chrome/app/resources/google_chrome_strings_ms.xtb
+++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome menggunakan kamera anda.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> berbahaya, jadi Chrome telah menyekat fail itu.</translation>
 <translation id="1597911401261118146">Untuk menyemak sama ada kata laluan anda selamat daripada pelanggaran data dan isu keselamatan lain, <ph name="BEGIN_LINK" />log masuk ke Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome menyekat fail arkib ini kerana fail ini mungkin menyembunyikan perisian hasad</translation>
 <translation id="1619887657840448962">Untuk menjadikan Chrome lebih selamat, kami melumpuhkan sambungan berikut yang tidak disenaraikan dalam <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> dan mungkin telah ditambahkan tanpa pengetahuan anda.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Cara anda boleh mengurus data anda:<ph name="END_BOLD" /> Untuk melindungi privasi anda, kami memadamkan minat anda yang disimpan melebihi 4 minggu secara automatik. Semasa anda terus menyemak imbas, minat itu mungkin muncul semula dalam senarai. Anda juga boleh mengalih keluar minat yang anda tidak mahu dipertimbangkan oleh Chrome.</translation>
 <translation id="1628000112320670027">Dapatkan bantuan berkenaan Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_my.xtb b/chrome/app/resources/google_chrome_strings_my.xtb
index a4514fa..1cccc28 100644
--- a/chrome/app/resources/google_chrome_strings_my.xtb
+++ b/chrome/app/resources/google_chrome_strings_my.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome iသည် သင်၏ ကင်မရာကို သုံးနေ</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> သည် အန္တရာယ်ရှိသောကြောင့် Chrome က ၎င်းကို ပိတ်ဆို့ထားပါသည်။</translation>
 <translation id="1597911401261118146">သင်၏စကားဝှက်များတွင် ဒေတာပေါက်ကြားမှုနှင့် အခြားသော လုံခြုံရေးပြဿနာများ ရှိ၊ မရှိ စစ်ဆေးရန် <ph name="BEGIN_LINK" />Chrome သို့ လက်မှတ်ထိုးဝင်ပါ<ph name="END_LINK" />။</translation>
+<translation id="1599904803480101533">ဤမှတ်တမ်းဖိုင်သည် မဲလ်ဝဲ ကို ဝှက်ထားနိုင်သဖြင့် Chrome က ပိတ်ထားသည်</translation>
 <translation id="1619887657840448962">Chrome ပိုမိုလုံခြုံမှုရှိစေရန်၊ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> တွင် စာရင်းဝင်ထားခြင်း မရှိသည့်အပြင် သင့်အား အသိမပေးဘဲ ထည့်ထားပုံရသည့် အောက်ပါ တိုးချဲ့လိုင်းအား ပိတ်ထားခဲ့၏။</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />သင့်ဒေတာကို စီမံနိုင်ပုံ-<ph name="END_BOLD" /> သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် ၄ ပတ်ကျော်ပြီဖြစ်သော သင့်စိတ်ဝင်စားမှုများကို အလိုအလျောက်ဖျက်သည်။ သင်ကြည့်ရှုနေသည့်အတွက် စိတ်ဝင်စားမှုက စာရင်းတွင် ထပ်ပေါ်လာနိုင်သည်။ သို့မဟုတ် Chrome ထည့်မတွက်ရမည့် စိတ်ဝင်စားမှုများကို ဖယ်ရှားနိုင်သည်။</translation>
 <translation id="1628000112320670027">Chrome အကူအညီရယူရန်</translation>
@@ -230,6 +231,7 @@
 <translation id="5386244825306882791">၎င်းသည် သင်က Chrome ကို စတင်စဉ် သို့မဟုတ် Omnibox ထဲမှ ရှာဖွေစဉ် ပြပေးသည့် စာမျက်နှာကိုပါ ထိန်းချုပ်ပါသည်။</translation>
 <translation id="5394833366792865639">Chrome တဘ် မျှဝေခြင်း</translation>
 <translation id="5412485296464121825">ဝဘ်ဆိုက်များသည် သင်၏စိတ်ဝင်စားမှုများကို Chrome တွင် သိမ်းနိုင်သည်။ ဥပမာ မာရသွန်အတွက် ရှူးဖိနပ်ဝယ်ရန် ဝဘ်ဆိုက်တွင်ဝင်ကြည့်ပါက ဝဘ်ဆိုက်သည် သင်၏စိတ်ဝင်စားမှုကို မာရသွန်ပြေးခြင်းအဖြစ် သတ်မှတ်နိုင်သည်။ နောင်တွင် ပြိုင်ပွဲအတွက်စာရင်းသွင်းရန် အခြားဝဘ်ဆိုက်သို့ ဝင်ကြည့်သောအခါ ထိုဝဘ်ဆိုက်က သင်၏စိတ်ဝင်စားမှုများပေါ် အခြေခံပြီး အပြေးဖိနပ်ကြော်ငြာကို ပြနိုင်သည်။</translation>
+<translation id="5416870378730196769">Chrome က ‘မှတ်ဉာဏ် ချွေတာစနစ်’ ဖွင့်ထားသည်</translation>
 <translation id="5430073640787465221">သင်၏ ဦးစားပေးမှု ဖိုင်မှာ ပျက်စီး သို့မဟုတ် မမှန်ကန်ပါ။
 
 Google Chrome သည် သင်၏ ဆက်တင်များကို ပြန်ပြီး မဖေါ်ထုတ်နိုင်ပါ။</translation>
@@ -328,6 +330,7 @@
 <translation id="7649070708921625228">အကူအညီ</translation>
 <translation id="7651907282515937834">Chrome လုပ်ငန်းသုံး သင်္ကေတ</translation>
 <translation id="7655455401911432608">ဤစက်တွင် Chrome သုံးပြီး သင်ဝင်ကြည့်သည့်ဝဘ်ဆိုက်များ၏ မှတ်တမ်းဖြစ်သော သင့်ကြည့်ရှုခြင်းမှတ်တမ်း။</translation>
+<translation id="7726773885101561560">သင်၏ကြည့်ရှုမှု ပိုမြန်ဆန်စေရန် Chrome သည် အသုံးမပြုသည့် တဘ်များမှ မှတ်ဉာဏ်ကို ပြန်လည်ရယူသည်။</translation>
 <translation id="7747138024166251722">ဤထည့်သွင်းသူသည် ယာယီဒါရိုက်ထရီကို မဖန်တီးနိုင်ခဲ့ပါ။ ကျေးဇူးပြု၍ ဒစ်က် နေရာလွတ်နှင့် ဆော့ဖ်ဝဲထည့်သွင်းရန် ခွင့်ပြုချက်ကို စစ်ဆေးပါ။</translation>
 <translation id="7761834446675418963">Chrome အားဖွင့်ရန် သင့်အမည်ကို နှိပ်ကာ စတင်အသုံးပြုပါ။</translation>
 <translation id="7777080907402804672">ပုံတွင် အသုံးဝင်သော အကြောင်းအရာ မပါလျှင် Chrome က သင့်အတွက် ဖော်ပြပေးပါမည်။ အကြောင်းအရာများ ဖော်ပြပေးရန် ပုံများကို Google သို့ပို့လိုက်ပါသည်။ ၎င်းကို ဆက်တင်များတွင် အချိန်မရွေး ပိတ်နိုင်သည်။</translation>
@@ -400,6 +403,7 @@
 <translation id="8986207147630327271">သင်သည် ဤဘရောင်ဇာတွင် အလုပ်ပရိုဖိုင်ကိုထည့်နေပြီး သင့်စီမံခန့်ခွဲသူကို အလုပ်ပရိုဖိုင်အတွက်သာ ထိန်းချုပ်ခွင့်ပေးနေခြင်း ဖြစ်ပါသည်။</translation>
 <translation id="8989968390305463310">သင်၏ကြည့်ရှုခြင်းမှတ်တမ်းသည် သင်မြင်ရသည့်ကြော်ငြာများနှင့် အောက်တွင် ခန့်မှန်းထားသည့် စိတ်ဝင်စားမှုများအပေါ် သက်ရောက်မှုရှိသည်။ သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် Chrome သည် သင်၏စိတ်ဝင်စားမှုများကို လစဉ်အလှည့်ကျ အလိုအလျောက်ဖျက်သည်။ စိတ်ဝင်စားမှုများကို မဖယ်ရှားပါက ပြန်လည်စတင်နိုင်သည်။</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်ပါသည်}=1{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်ပါသည်}other{Chrome အပ်ဒိတ်တစ်ခု ရနိုင်သည်မှာ # ရက်ရှိပါပြီ}}</translation>
+<translation id="9003498785844995646">ဖွင့်ထားသောအခါ ချောမွေ့စွာလှိမ့်ခြင်းနှင့် ဗီဒီယို ဖရိမ်ပြနှုန်းများကဲ့သို့ နောက်ခံလုပ်ဆောင်ချက်နှင့် အမြင်ပိုင်း အထူးပြုလုပ်ချက်များကို ကန့်သတ်ခြင်းဖြင့် Chrome သည် ဘက်ထရီပါဝါကို ချွေတာသည်။ <ph name="BEGIN_LINK" />ပိုမိုလေ့လာရန်<ph name="END_LINK" /> (သို့) <ph name="BEGIN_LINK_2" />အကြံပြုချက် ပို့ရန်<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">ChromeOS Flex စနစ်</translation>
 <translation id="9067395829937117663">Google Chrome ကိုထည့်သွင်းရန် Windows 7 နှင့်အထက် လိုအပ်ပါသည်။</translation>
 <translation id="911206726377975832">သင့်အသုံးပြုမှု ဒေတာအားလဲ ဖျက်မည်လား?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_no.xtb b/chrome/app/resources/google_chrome_strings_no.xtb
index 01253ea3..7445b56 100644
--- a/chrome/app/resources/google_chrome_strings_no.xtb
+++ b/chrome/app/resources/google_chrome_strings_no.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome bruker kameraet ditt.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> er farlig, så Chrome har blokkert den.</translation>
 <translation id="1597911401261118146">For å sjekke om passordene dine er trygge mot databrudd og andre sikkerhetsproblemer, <ph name="BEGIN_LINK" />logg på Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome har blokkert denne arkivfilen fordi den kan inneholde skadelig programvare</translation>
 <translation id="1619887657840448962">For å gjøre Chrome tryggere har vi slått av følgende utvidelse som ikke finnes i <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />, og som kan ha blitt lagt til uten at du vet det.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Slik kan du administrere dataene dine:<ph name="END_BOLD" /> For å beskytte personvernet ditt sletter vi automatisk interessene dine som er eldre enn fire uker. Når du fortsetter å surfe, kan det hende at interesser havner på listen igjen. Alternativt kan du fjerne interesse du ikke vil at Chrome skal vurdere.</translation>
 <translation id="1628000112320670027">Få hjelp med Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_or.xtb b/chrome/app/resources/google_chrome_strings_or.xtb
index 56fd092..01ab1c9f 100644
--- a/chrome/app/resources/google_chrome_strings_or.xtb
+++ b/chrome/app/resources/google_chrome_strings_or.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome ଆପଣଙ୍କର କ୍ୟାମେରା ବ୍ୟବହାର କରୁଛି।</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> ବିପଜ୍ଜନକ ଅଟେ, ତେଣୁ Chrome ଏହାକୁ ଅବରୋଧ କରିଛି।</translation>
 <translation id="1597911401261118146">ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକ ଡାଟା ଚୋରି ଏବଂ ଅନ୍ୟ ସୁରକ୍ଷା ସମସ୍ୟାଗୁଡ଼ିକରୁ ସୁରକ୍ଷିତ ଅଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରିବାକୁ, <ph name="BEGIN_LINK" />Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ<ph name="END_LINK" />।</translation>
+<translation id="1599904803480101533">Chrome ଏହି ଆର୍କାଇଭ ଫାଇଲକୁ ବ୍ଲକ କରିଛି କାରଣ ଏଥିରେ ମାଲୱେର ଲୁଚି ରହିଥାଇପାରେ</translation>
 <translation id="1619887657840448962">Chromeକୁ ଆହୁରି ସୁରକ୍ଷିତ କରିବା ପାଇଁ, ଆମେ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />ରେ ତାଲିକାଭୁକ୍ତ ହୋଇନଥିବା ଏବଂ ଆପଣଙ୍କର ଅଜାଣତରେ ଯୋଗ କରାଯାଇଥିବା ନିମ୍ନୋକ୍ତ ଏକ୍ସ‌ଟେନ୍‌ସନ୍‌କୁ ଅକ୍ଷମ କରିଦେଇଛୁ।</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />ଆପଣ ଆପଣଙ୍କ ଡାଟାକୁ କିପରି ପରିଚାଳନା କରିପାରିବେ:<ph name="END_BOLD" /> ଆପଣଙ୍କ ଗୋପନୀୟତାକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ, ଆମେ ଆପଣଙ୍କ 4 ସପ୍ତାହରୁ ଅଧିକ ପୁରୁଣା ରୁଚିଗୁଡ଼ିକୁ ସ୍ୱତଃ-ଡିଲିଟ କରୁ। ଆପଣ ବ୍ରାଉଜ କରିବା ଜାରି ରଖିବା ସମୟରେ, ତାଲିକାରେ ଏକ ରୁଚି ପୁଣି ଦେଖାଯାଇପାରେ। କିମ୍ବା Chrome ଯେଉଁ ରୁଚିଗୁଡ଼ିକୁ ବିଚାରକୁ ନେଉ ବୋଲି ଆପଣ ଚାହୁଁନାହାଁନ୍ତି ସେଗୁଡ଼ିକୁ ଆପଣ କାଢ଼ିପାରିବେ।</translation>
 <translation id="1628000112320670027">Chrome ସାହାଯ୍ୟରେ ସାହାଯ୍ୟ ପ୍ରାପ୍ତ କରନ୍ତୁ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pa.xtb b/chrome/app/resources/google_chrome_strings_pa.xtb
index 568b6e7..afc2c10 100644
--- a/chrome/app/resources/google_chrome_strings_pa.xtb
+++ b/chrome/app/resources/google_chrome_strings_pa.xtb
@@ -32,6 +32,7 @@
 <translation id="1587223624401073077">Google Chrome ਤੁਹਾਡਾ ਕੈਮਰਾ ਵਰਤ ਰਿਹਾ ਹੈ।</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> ਖਤਰਨਾਕ ਹੈ, ਇਸ ਲਈ Chrome ਨੇ ਇਸਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="1597911401261118146">ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਡਾਟਾ ਉਲੰਘਣਾਵਾਂ ਅਤੇ ਹੋਰ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਸੁਰੱਖਿਅਤ ਹਨ ਜਾਂ ਨਹੀਂ, <ph name="BEGIN_LINK" />Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ<ph name="END_LINK" />।</translation>
+<translation id="1599904803480101533">Chrome ਨੇ ਇਸ ਪੁਰਾਲੇਖ ਫ਼ਾਈਲ ਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ ਕਿਉਂਕਿ ਇਸ ਵਿੱਚ ਮਾਲਵੇਅਰ ਲੁਕਿਆ ਹੋ ਸਕਦਾ ਹੈ</translation>
 <translation id="1619887657840448962">Chrome ਨੂੰ ਵੱਧ ਸੁਰੱਖਿਅਤ ਬਣਾਉਣ ਲਈ, ਅਸੀਂ ਹੇਠਾਂ ਦਿੱਤੀ ਐਕਸਟੈਂਸ਼ਨ ਨੂੰ ਬੰਦ ਕੀਤਾ ਹੈ, ਜੋ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ਵਿੱਚ ਸੂਚੀਬੱਧ ਨਹੀਂ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਜਾਣਕਾਰੀ ਤੋਂ ਬਿਨਾਂ ਸ਼ਾਮਲ ਕੀਤੀਆਂ ਗਈਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਦਾ ਪ੍ਰਬੰਧਨ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹੋ:<ph name="END_BOLD" /> ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ, ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਸਵੈਚਲਿਤ-ਮਿਟਾਉਂਦੇ ਹਾਂ ਜੋ 4 ਹਫ਼ਤਿਆਂ ਤੋਂ ਵੱਧ ਪੁਰਾਣੀਆਂ ਹਨ। ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ ਕਰਦੇ ਰਹਿਣ 'ਤੇ, ਸੂਚੀ ਵਿੱਚ ਕੋਈ ਦਿਲਚਸਪੀ ਦੁਬਾਰਾ ਦਿਸ ਸਕਦੀ ਹੈ। ਜਾਂ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਹਟਾ ਸਕਦੇ ਹੋ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ Chrome ਵਿਚਾਰ ਕਰੇ।</translation>
 <translation id="1628000112320670027">Chrome ਬਾਰੇ ਮਦਦ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
@@ -201,7 +202,7 @@
 <translation id="4747730611090640388">Chrome ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਦਾ ਅੰਦਾਜ਼ਾ ਲਗਾ ਸਕਦਾ ਹੈ।  ਬਾਅਦ ਵਿੱਚ, ਤੁਸੀਂ ਜਿਹੜੀ ਸਾਈਟ 'ਤੇ ਜਾਂਦੇ ਹੋ ਉਹ Chrome ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੇ ਜਾਣ ਵਾਲੇ ਵਿਗਿਆਪਨਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਵਾਸਤੇ ਤੁਹਾਡੀਆਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਦੇਖਣ ਲਈ ਕਹਿ ਸਕਦੀ ਹੈ।</translation>
 <translation id="4754614261631455953">Google Chrome Canary (mDNS-In)</translation>
 <translation id="4771048833395599659">ਇਹ ਫ਼ਾਈਲ ਖਤਰਨਾਕ ਹੋ ਸਕਦੀ ਹੈ, ਇਸ ਕਰਕੇ Chrome ਨੇ ਇਸਨੂੰ ਬਲਾਕ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
-<translation id="479167709087336770">ਇਹ Google ਖੋਜ ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਵਤੀਰੇ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ।</translation>
+<translation id="479167709087336770">ਇਹ Google Search ਵੇਲੇ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਸਪੈੱਲ-ਚੈਕਰ ਨੂੰ ਹੀ ਵਰਤਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਲਿਖਤ Google ਨੂੰ ਭੇਜੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਇਸ ਵਤੀਰੇ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹੋ।</translation>
 <translation id="4842397268809523050">ChromeOS Flex ਤੁਹਾਡਾ ਡਾਟਾ ਸਿੰਕ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿਉਂਕਿ ਸਿੰਕ ਤੁਹਾਡੇ ਡੋਮੇਨ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।</translation>
 <translation id="4873783916118289636">Chrome 'ਤੇ ਪ੍ਰਮੁੱਖ ਪਰਦੇਦਾਰੀ ਅਤੇ ਸੁਰੱਖਿਆ ਕੰਟਰੋਲਾਂ ਦੀ ਸਮੀਖਿਆ ਕਰੋ</translation>
 <translation id="4891791193823137474">Google Chrome ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਣ ਦਿਓ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb
index 55f2c9a..484bb5a 100644
--- a/chrome/app/resources/google_chrome_strings_pl.xtb
+++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome używa Twojej kamery.</translation>
 <translation id="1587325591171447154">Plik <ph name="FILE_NAME" /> jest niebezpieczny, dlatego został zablokowany przez Chrome.</translation>
 <translation id="1597911401261118146">Aby sprawdzić, czy Twoje hasła są chronione przed naruszeniami bezpieczeństwa danych i innymi zagrożeniami tego typu, <ph name="BEGIN_LINK" />zaloguj się w Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Ten plik archiwum został zablokowany przez Chrome, bo może zawierać złośliwe oprogramowanie</translation>
 <translation id="1619887657840448962">Aby poprawić bezpieczeństwo Chrome, wyłączyliśmy to rozszerzenie. Nie jest ono dostępne w <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> i mogło zostać dodane bez Twojej wiedzy.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />W jaki sposób możesz zarządzać swoimi danymi:<ph name="END_BOLD" /> żeby chronić Twoją prywatność, automatycznie usuwamy Twoje zainteresowania, które są starsze niż 4 tygodnie. Podczas dalszego przeglądania zainteresowanie może się pojawić ponownie na liście. Możesz też usunąć zainteresowania, których Chrome ma nie brać pod uwagę.</translation>
 <translation id="1628000112320670027">Pomoc do Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
index 0bbdc1a..b1ad0ce 100644
--- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">O Google Chrome está usando sua câmera.</translation>
 <translation id="1587325591171447154">O arquivo <ph name="FILE_NAME" /> é perigoso. Por isso ele foi bloqueado pelo Chrome.</translation>
 <translation id="1597911401261118146">Para verificar se suas senhas estão protegidas contra violações de dados e outros problemas de segurança, <ph name="BEGIN_LINK" />faça login no Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">O Chrome bloqueou esse arquivo porque ele pode conter malware</translation>
 <translation id="1619887657840448962">Para tornar o Chrome mais seguro, desativamos a extensão a seguir, que não está listada na <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> e pode ter sido adicionada sem seu conhecimento.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Como gerenciar seus dados<ph name="END_BOLD" />: para proteger sua privacidade, excluímos automaticamente seus interesses que têm mais de quatro semanas. Enquanto você navega, um interesse pode aparecer na lista novamente. Você também pode remover interesses que não quer que o Chrome considere.</translation>
 <translation id="1628000112320670027">Ajuda com o Chrome</translation>
@@ -224,6 +225,7 @@
 <translation id="5386244825306882791">Controla também qual página deve ser exibida quando você inicia o Chrome ou faz uma pesquisa na Omnibox.</translation>
 <translation id="5394833366792865639">Compartilhar uma guia do Chrome</translation>
 <translation id="5412485296464121825">Sites podem armazenar informações sobre seus interesses com o Chrome. Por exemplo, se você visitar um site para comprar sapatos de maratona, ele pode definir "maratonas" como um dos seus interesses. Depois, se você visitar outro site para se inscrever em uma maratona, esse site pode mostrar um anúncio de sapatos de corrida com base nos seus interesses.</translation>
+<translation id="5416870378730196769">O Chrome ativou a Economia de memória</translation>
 <translation id="5430073640787465221">Seu arquivo de preferências está corrompido ou é inválido. O Google Chrome não foi capaz de recuperar suas configurações.</translation>
 <translation id="5524761631371622910">Quando os testes estão ativados e se o Chrome colocou você aleatoriamente em um teste ativo, seu histórico de navegação vai afetar os anúncios que você vê e os interesses estimados abaixo. Para proteger sua privacidade, o Chrome exclui seus interesses mais antigos do que um mês.</translation>
 <translation id="556024056938947818">O Google Chrome está tentando mostrar senhas.</translation>
@@ -320,6 +322,7 @@
 <translation id="7649070708921625228">Ajuda</translation>
 <translation id="7651907282515937834">Logotipo do Chrome Enterprise</translation>
 <translation id="7655455401911432608">Seu histórico de navegação, um registro de sites visitados usando o Chrome neste dispositivo.</translation>
+<translation id="7726773885101561560">Para deixar sua navegação mais rápida, o Chrome recupera a memória das guias que você não está usando.</translation>
 <translation id="7747138024166251722">O instalador não conseguiu criar um diretório temporário. Verifique se há espaço livre em disco e se há permissão para a instalação de software.</translation>
 <translation id="7761834446675418963">Clique no seu nome para abrir o Chrome e começar a navegar.</translation>
 <translation id="7777080907402804672">Se uma imagem não tiver uma descrição útil, o Chrome tentará fornecer uma para você. As imagens serão enviadas ao Google para a criação de descrições. É possível desativar essa opção nas configurações a qualquer momento.</translation>
@@ -392,6 +395,7 @@
 <translation id="8986207147630327271">Você está adicionando um perfil de trabalho a este navegador. O administrador poderá controlar apenas o perfil de trabalho.</translation>
 <translation id="8989968390305463310">Seu histórico de navegação afeta os anúncios que você vê e os interesses estimados abaixo. Para proteger sua privacidade, o Chrome exclui automaticamente seus interesses mais antigos do que um mês. Os interesses podem ser atualizados, a menos que você os remova.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Uma atualização do Chrome está disponível}=1{Uma atualização do Chrome está disponível}one{Uma atualização do Chrome está disponível há # dia}other{Uma atualização do Chrome está disponível há # dias}}</translation>
+<translation id="9003498785844995646">Quando essa opção está ativada, o Chrome economiza energia da bateria limitando atividades em segundo plano e efeitos visuais, como rolagem suave e frame rates de vídeos. <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /> ou <ph name="BEGIN_LINK_2" />envie um feedback<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Sistema ChromeOS Flex</translation>
 <translation id="9067395829937117663">O Google Chrome requer o Windows 7 ou versão superior.</translation>
 <translation id="911206726377975832">Excluir também dados de navegação?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index 8ac7b5c..3c57306 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome utilizează camera foto.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> este periculos, așadar Chrome l-a blocat.</translation>
 <translation id="1597911401261118146">Ca să verifici dacă parolele sunt protejate împotriva încălcării securității datelor și a altor probleme de securitate, <ph name="BEGIN_LINK" />conectează-te la Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome a blocat fișierul din arhivă deoarece poate ascunde programe malware</translation>
 <translation id="1619887657840448962">Pentru mai multă siguranță în Chrome, am dezactivat următoarea extensie care nu este inclusă în <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> și care este posibil să fi fost adăugată fără știrea ta.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Cum îți poți gestiona datele:<ph name="END_BOLD" /> pentru a-ți proteja confidențialitatea, ștergem automat categoriile de interese mai vechi de patru săptămâni. Pe măsură ce navighezi, o categorie de interese poate să reapară în listă. Sau poți elimina categoriile de interese pe care nu dorești ca Chrome să le ia în considerare.</translation>
 <translation id="1628000112320670027">Obține ajutor privind Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb
index 7276404..46c250a 100644
--- a/chrome/app/resources/google_chrome_strings_sk.xtb
+++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -229,6 +229,7 @@
 <translation id="5386244825306882791">Tiež určuje, ktorá stránka sa zobrazí pri spustení prehliadača Chrome alebo pri vyhľadávaní pomocou všeobecného poľa.</translation>
 <translation id="5394833366792865639">Zdieľanie karty Chromu</translation>
 <translation id="5412485296464121825">Weby môžu v Chrome ukladať údaje o vašich záujmoch. Ak napríklad navštívite web na nákup obuvi na maratón, daný web môže definovať váš záujem ako behanie maratónov. Ak neskôr navštívite iný, aby ste sa zaregistrovali na preteky, tento web vám môže zobraziť reklamu na bežeckú obuv na základe vašich záujmov.</translation>
+<translation id="5416870378730196769">Chrome zapol šetrič pamäte</translation>
 <translation id="5430073640787465221">Súbor predvolieb je poškodený alebo neplatný. 
 
 Prehliadač Google Chrome nedokáže obnoviť vaše nastavenia.</translation>
@@ -327,6 +328,7 @@
 <translation id="7649070708921625228">Pomocník</translation>
 <translation id="7651907282515937834">Logo Chrome Enterprise</translation>
 <translation id="7655455401911432608">Vaša história prehliadania, teda záznam webov, ktoré ste navštívili pomocou Chromu v tomto zariadení.</translation>
+<translation id="7726773885101561560">Chrome uvoľňuje pamäť z kariet, ktoré nepoužívate, čím zrýchľuje prehliadanie.</translation>
 <translation id="7747138024166251722">Inštalátor nemohol vytvoriť dočasný priečinok. Skontrolujte úroveň zaplnenia disku a povolenie na inštaláciu softvéru.</translation>
 <translation id="7761834446675418963">Ak chcete otvoriť prehliadač Chrome a začať prehliadať, kliknite na svoje meno.</translation>
 <translation id="7777080907402804672">Ak obrázok nemá užitočný popis, Chrome sa vám ho pokúsi poskytnúť. Obrázky sa odosielajú Googlu, aby bolo možné vytvoriť popisy. Môžete to kedykoľvek vypnúť v nastaveniach.</translation>
@@ -399,6 +401,7 @@
 <translation id="8986207147630327271">Do tohto prehliadača pridávate pracovný profil a svojmu správcovi udeľujete kontrolu iba nad ním.</translation>
 <translation id="8989968390305463310">Vaša história prehliadania ovplyvňuje zobrazované reklamy a záujmy, ktoré sú odhadnuté nižšie. Chrome priebežne automaticky odstraňuje vaše záujmy každý mesiac, aby tak chránil vaše súkromie. Záujmy sa môžu obnoviť, pokiaľ ich neodstránite.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Je k dispozícii aktualizácia Chromu}=1{Je k dispozícii aktualizácia Chromu}few{Aktualizácia Chromu je k dispozícii už # dni}many{Aktualizácia Chromu je k dispozícii už # dňa}other{Aktualizácia Chromu je k dispozícii už # dní}}</translation>
+<translation id="9003498785844995646">Keď je táto možnosť zapnutá, Chrome šetrí batériu tým, že obmedzí aktivitu na pozadí a vizuálne efekty, napríklad plynulé posúvanie a snímkové frekvencie videa. Môžete si prečítať <ph name="BEGIN_LINK" />ďalšie informácie<ph name="END_LINK" /> alebo <ph name="BEGIN_LINK_2" />odoslať spätnú väzbu<ph name="END_LINK_2" />.</translation>
 <translation id="9053892488859122171">Systém Chrome OS Flex</translation>
 <translation id="9067395829937117663">Google Chrome vyžaduje Windows 7 alebo vyšší.</translation>
 <translation id="911206726377975832">Chcete tiež odstrániť svoje údaje prehliadania?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
index ba50606..ac87049 100644
--- a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
@@ -231,6 +231,7 @@
 <translation id="5386244825306882791">Kontroliše i stranicu koja se prikazuje kada pokrenete Chrome ili pretražujete iz omniboksa.</translation>
 <translation id="5394833366792865639">Delite Chrome karticu</translation>
 <translation id="5412485296464121825">Sajtovi mogu da čuvaju informacije o vašim interesovanjima u Chrome-u. Na primer, ako posetite sajt da biste kupili patike za maraton, taj sajt može da definiše vaše interesovanje kao trčanje maratona. Kasnije, ako posetite neki drugi sajt da biste se prijavili za trku, taj sajt može da vam prikaže oglas za patike za trčanje na osnovu interesovanja.</translation>
+<translation id="5416870378730196769">Chrome je uključio Uštedu memorije</translation>
 <translation id="5430073640787465221">Datoteka podešavanja je oštećena ili nevažeća.
 
 Google Chrome ne može da vrati podešavanja.</translation>
@@ -329,6 +330,7 @@
 <translation id="7649070708921625228">Pomoć</translation>
 <translation id="7651907282515937834">Chrome Enterprise logotip</translation>
 <translation id="7655455401911432608">Istorija pregledanja, evidencija sajtova koje ste posetili pomoću Chrome-a na ovom uređaju.</translation>
+<translation id="7726773885101561560">Da bi pregledanje bilo brže, Chrome vraća memoriju sa kartica koje ne koristite.</translation>
 <translation id="7747138024166251722">Program za instalaciju nije mogao da napravi privremeni direktorijum. Proverite da li imate slobodnog prostora na disku, kao i dozvolu da instalirate softver.</translation>
 <translation id="7761834446675418963">Kliknite na ime da biste otvorili Chrome i počnite da pregledate.</translation>
 <translation id="7777080907402804672">Ako slika nema koristan opis, Chrome će probati da vam ga pruži. Slike se šalju Google-u radi pravljenja opisa. To možete da isključite u podešavanjima u svakom trenutku.</translation>
@@ -401,6 +403,7 @@
 <translation id="8986207147630327271">Dodajete poslovni profil u ovaj pregledač i dajete administratoru kontrolu samo nad ovim poslovnim profilom.</translation>
 <translation id="8989968390305463310">Istorija pregledanja utiče na oglase koji vam se prikazuju i interesovanja procenjena u nastavku. Radi zaštite privatnosti Chrome automatski briše interesovanja svakog meseca čim postanu dostupna. Interesovanja mogu da se osvežavaju ako ih ne uklonite.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ažuriranje za Chrome je dostupno}=1{Ažuriranje za Chrome je dostupno}one{Ažuriranje za Chrome je dostupno već # dan}few{Ažuriranje za Chrome je dostupno već # dana}other{Ažuriranje za Chrome je dostupno već # dana}}</translation>
+<translation id="9003498785844995646">Kada je uključena, Chrome štedi bateriju tako što ograničava aktivnosti u pozadini i vizuelne efekte, kao što je glatko skrolovanje i brzine kadrova u videu. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /> ili <ph name="BEGIN_LINK_2" />pošaljite povratne informacije<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Chrome OS Flex sistem</translation>
 <translation id="9067395829937117663">Za Google Chrome je potreban Windows 7 ili novija verzija.</translation>
 <translation id="911206726377975832">Želite li da izbrišete i podatke pregledanja?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb
index b98473b..9bdd61e 100644
--- a/chrome/app/resources/google_chrome_strings_sr.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -231,6 +231,7 @@
 <translation id="5386244825306882791">Контролише и страницу која се приказује када покренете Chrome или претражујете из омнибокса.</translation>
 <translation id="5394833366792865639">Делите Chrome картицу</translation>
 <translation id="5412485296464121825">Сајтови могу да чувају информације о вашим интересовањима у Chrome-у. На пример, ако посетите сајт да бисте купили патике за маратон, тај сајт може да дефинише ваше интересовање као трчање маратона. Касније, ако посетите неки други сајт да бисте се пријавили за трку, тај сајт може да вам прикаже оглас за патике за трчање на основу интересовања.</translation>
+<translation id="5416870378730196769">Chrome је укључио Уштеду меморије</translation>
 <translation id="5430073640787465221">Датотека подешавања је оштећена или неважећа.
 
 Google Chrome не може да врати подешавања.</translation>
@@ -329,6 +330,7 @@
 <translation id="7649070708921625228">Помоћ</translation>
 <translation id="7651907282515937834">Chrome Enterprise логотип</translation>
 <translation id="7655455401911432608">Историја прегледања, евиденција сајтова које сте посетили помоћу Chrome-а на овом уређају.</translation>
+<translation id="7726773885101561560">Да би прегледање било брже, Chrome враћа меморију са картица које не користите.</translation>
 <translation id="7747138024166251722">Програм за инсталацију није могао да направи привремени директоријум. Проверите да ли имате слободног простора на диску, као и дозволу да инсталирате софтвер.</translation>
 <translation id="7761834446675418963">Кликните на име да бисте отворили Chrome и почните да прегледате.</translation>
 <translation id="7777080907402804672">Ако слика нема користан опис, Chrome ће пробати да вам га пружи. Слике се шаљу Google-у ради прављења описа. То можете да искључите у подешавањима у сваком тренутку.</translation>
@@ -401,6 +403,7 @@
 <translation id="8986207147630327271">Додајете пословни профил у овај прегледач и дајете администратору контролу само над овим пословним профилом.</translation>
 <translation id="8989968390305463310">Историја прегледања утиче на огласе који вам се приказују и интересовања процењена у наставку. Ради заштите приватности Chrome аутоматски брише интересовања сваког месеца чим постану доступна. Интересовања могу да се освежавају ако их не уклоните.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Ажурирање за Chrome је доступно}=1{Ажурирање за Chrome је доступно}one{Ажурирање за Chrome је доступно већ # дан}few{Ажурирање за Chrome је доступно већ # дана}other{Ажурирање за Chrome је доступно већ # дана}}</translation>
+<translation id="9003498785844995646">Када је укљученa, Chrome штеди батерију тако што ограничава активности у позадини и визуелне ефекте, као што је глатко скроловање и брзине кадрова у видеу. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /> или <ph name="BEGIN_LINK_2" />пошаљите повратне информације<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">Chrome OS Flex систем</translation>
 <translation id="9067395829937117663">За Google Chrome је потребан Windows 7 или новија верзија.</translation>
 <translation id="911206726377975832">Желите ли да избришете и податке прегледања?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb
index 1c5fe464..195342e 100644
--- a/chrome/app/resources/google_chrome_strings_th.xtb
+++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -224,6 +224,7 @@
 <translation id="5386244825306882791">อีกทั้งยังควบคุมหน้าที่จะแสดงเมื่อคุณเปิด Chrome หรือทำการค้นหาจากแถบอเนกประสงค์ด้วย</translation>
 <translation id="5394833366792865639">แชร์แท็บ Chrome</translation>
 <translation id="5412485296464121825">เว็บไซต์สามารถจัดเก็บข้อมูลเกี่ยวกับความสนใจไว้กับ Chrome ตัวอย่างเช่น หากคุณเข้าชมเว็บไซต์เพื่อซื้อรองเท้าวิ่งมาราธอน เว็บไซต์นี้อาจระบุว่าคุณสนใจการวิ่งมาราธอน ภายหลัง เมื่อคุณเข้าชมเว็บไซต์อื่นเพื่อลงทะเบียนแข่งมาราธอน เว็บไซต์นี้ก็อาจแสดงโฆษณารองเท้าวิ่งโดยอิงจากความสนใจดังกล่าว</translation>
+<translation id="5416870378730196769">Chrome เปิดโหมดประหยัดหน่วยความจำแล้ว</translation>
 <translation id="5430073640787465221">ไฟล์ค่ากำหนดของคุณขัดข้องหรือไม่ถูกต้อง Google Chrome ไม่สามารถกู้คืนการตั้งค่าของคุณได้</translation>
 <translation id="5524761631371622910">เมื่อเริ่มการทดสอบและหาก Chrome สุ่มคุณไปไว้ในการทดสอบที่ดำเนินอยู่ ประวัติการท่องเว็บจะส่งผลต่อโฆษณาที่คุณเห็นและความสนใจที่ระบบคาดคะเนไว้ดังที่แสดงอยู่ด้านล่างนี้ Chrome ลบความสนใจเป็นประจำทุกเดือนเพื่อปกป้องความเป็นส่วนตัวของคุณ</translation>
 <translation id="556024056938947818">Google Chrome กำลังพยายามแสดงรหัสผ่าน</translation>
@@ -320,6 +321,7 @@
 <translation id="7649070708921625228">ความช่วยเหลือ</translation>
 <translation id="7651907282515937834">โลโก้ Chrome Enterprise</translation>
 <translation id="7655455401911432608">ประวัติการท่องเว็บ ซึ่งเป็นบันทึกรายการเว็บไซต์ที่คุณเข้าชมโดยใช้ Chrome ในอุปกรณ์นี้</translation>
+<translation id="7726773885101561560">Chrome จะเรียกคืนหน่วยความจำจากแท็บที่ไม่ได้ใช้งานอยู่เพื่อให้คุณท่องเว็บได้เร็วขึ้น</translation>
 <translation id="7747138024166251722">โปรแกรมติดตั้งสร้างไดเรกทอรีชั่วคราวไม่ได้ โปรดตรวจสอบพื้นที่ดิสก์ว่างและการอนุญาตให้ติดตั้งซอฟต์แวร์</translation>
 <translation id="7761834446675418963">คลิกชื่อของคุณเพื่อเปิด Chrome และเริ่มท่องเว็บ</translation>
 <translation id="7777080907402804672">หากรูปภาพไม่มีคำอธิบายที่เป็นประโยชน์ Chrome จะพยายามใส่คำอธิบายให้คุณ รูปภาพจะส่งมายัง Google เพื่อสร้างคำอธิบาย คุณปิดการดำเนินการนี้ได้ทุกเมื่อในการตั้งค่า</translation>
@@ -392,6 +394,7 @@
 <translation id="8986207147630327271">คุณกำลังเพิ่มโปรไฟล์งานลงในเบราว์เซอร์นี้และให้ผู้ดูแลระบบเป็นผู้ควบคุมเฉพาะโปรไฟล์งานดังกล่าว</translation>
 <translation id="8989968390305463310">ประวัติการท่องเว็บส่งผลต่อโฆษณาที่คุณเห็นและความสนใจที่ระบบคาดคะเนไว้ดังที่แสดงอยู่ด้านล่างนี้ Chrome ลบความสนใจโดยอัตโนมัติเป็นประจำทุกเดือนเพื่อปกป้องความเป็นส่วนตัวของคุณ ระบบจะรีเฟรชความสนใจหากคุณไม่นำออก</translation>
 <translation id="8999208279178790196">{0,plural, =0{มีอัปเดต Chrome พร้อมให้ใช้งาน}=1{มีอัปเดต Chrome พร้อมให้ใช้งาน}other{อัปเดต Chrome พร้อมให้ใช้งานมาแล้ว # วัน}}</translation>
+<translation id="9003498785844995646">เมื่อเปิดไว้ Chrome จะช่วยสงวนพลังงานแบตเตอรี่โดยการจำกัดกิจกรรมในเบื้องหลังและเอฟเฟกต์ภาพ เช่น การเลื่อนอย่างราบรื่นและอัตราเฟรมของวิดีโอ <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" />หรือ<ph name="BEGIN_LINK_2" />ส่งความคิดเห็น<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">ระบบ Chrome OS Flex</translation>
 <translation id="9067395829937117663">Google Chrome ต้องใช้ Windows 7 ขึ้นไป</translation>
 <translation id="911206726377975832">ลบข้อมูลการท่องเว็บด้วยหรือไม่</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ur.xtb b/chrome/app/resources/google_chrome_strings_ur.xtb
index cc35a9c4..18849c6 100644
--- a/chrome/app/resources/google_chrome_strings_ur.xtb
+++ b/chrome/app/resources/google_chrome_strings_ur.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">‏Google Chrome آپ کا کیمرا استعمال کر رہا ہے۔</translation>
 <translation id="1587325591171447154">‏<ph name="FILE_NAME" /> خطرناک ہے، اس لیے Chrome نے اسے مسدود کر دیا ہے۔</translation>
 <translation id="1597911401261118146">‏یہ دیکھنے کے لئے کہ آیا آپ کے پاس ورڈز ڈیٹا کی خلاف ورزیوں اور دیگر سیکیورٹی مسائل سے محفوظ ہیں، <ph name="BEGIN_LINK" />Chrome میں سائن ان کریں<ph name="END_LINK" />۔</translation>
+<translation id="1599904803480101533">‏Chrome نے اس آرکائیو فائل کو مسدود کر دیا کیونکہ یہ میلوئیر کو پوشیدہ رکھ سکتی ہے</translation>
 <translation id="1619887657840448962">‏Chrome کو محفوظ تر بنانے کیلئے، ہم نے مندرجہ ذیل ایکسٹینشن کو غیر فعال کر دیا ہے جو <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> میں مندرج نہیں ہے اور ممکن ہے کہ اسے آپ کے علم کے بغیر شامل کر دیا گیا ہو۔</translation>
 <translation id="1627304841979541023">‏<ph name="BEGIN_BOLD" />آپ کس طرح اپنے ڈیٹا کا نظم کر سکتے ہیں:<ph name="END_BOLD" /> آپ کی رازداری کے تحفظ کے لئے، ہم 4 ہفتے سے زیادہ پرانی آپ کی دلچسپیوں کو خودکار طور پر حذف کر دیتے ہیں۔ جب تک آپ براؤزنگ جاری رکھتے ہیں، فہرست پر دلچسپی دوبارہ ظاہر ہو سکتی ہے۔ یا آپ ان دلچسپیوں کو ہٹا سکتے ہیں جنہیں آپ چاہتے ہیں کہ Chrome نہ دکھائے۔</translation>
 <translation id="1628000112320670027">‏Chrome کے بارے میں مدد حاصل کریں</translation>
@@ -229,6 +230,7 @@
 <translation id="5386244825306882791">‏یہ آپ کی جانب سے Chrome شروع کیے جانے یا اومنی باکس سے تلاش کیے جانے پر دکھائی دینے والے صفحہ کو کنٹرول بھی کرتا ہے۔</translation>
 <translation id="5394833366792865639">‏ایک Chrome ٹیب کا اشتراک کریں</translation>
 <translation id="5412485296464121825">‏سائٹس Chrome کے ساتھ آپ کی دلچسپیوں کے بارے میں معلومات اسٹور کر سکتی ہیں۔ مثلاً اگر آپ میراتھن کے لئے جوتے خریدنے کی خاطر کوئی سائٹ ملاحظہ کرتے ہیں تو سائٹ دوڑ کے میراتھنز کے بطور آپ کی دلچسپی کا تعین کر سکتی ہے۔ بعد میں اگر آپ دوڑ میں رجسٹر کرنے کے لئے کوئی دوسری سائٹ ملاحظہ کرتے ہیں تو وہ سائٹ آپ کو آپ کی دلچسپیوں کی بنیاد پر دوڑنے کے جوتوں کا اشتہار دکھا سکتی ہے۔</translation>
+<translation id="5416870378730196769">‏Chrome نے میموری سیور کو آن کر دیا</translation>
 <translation id="5430073640787465221">‏آپ کی ترجیحات کی فائل خراب یا غلط ہے۔
 
 Google Chrome آپ کی ترتیبات کو بازیافت کرنے سے قاصر ہے۔</translation>
@@ -327,6 +329,7 @@
 <translation id="7649070708921625228">مدد</translation>
 <translation id="7651907282515937834">‏Chrome انٹرپرائز کا لوگو</translation>
 <translation id="7655455401911432608">‏آپ کی براؤزنگ کی سرگزشت، ان سائٹس کا ریکارڈ جو آپ اس آلے پر Chrome کا استعمال کر کے ملاحظہ کر چکے ہیں۔</translation>
+<translation id="7726773885101561560">‏آپ کی براؤزنگ کو تیز تر بنانے کے لیے، Chrome ان ٹیبز سے میموری کا دوبارہ دعویٰ کرتا ہے جنہیں آپ استعمال نہیں کر رہے ہیں۔</translation>
 <translation id="7747138024166251722">انسٹالر ایک عارضی ڈائرکٹری نہیں بنا سکا۔ سافٹ ویئر انسٹال کرنے کیلئے براہ کرم ڈسک کی خالی جگہ اور اجازت کو چیک کریں۔</translation>
 <translation id="7761834446675418963">‏Chrome کھولنے اور براؤزنگ شروع کرنے کیلئے اپنے نام پر کلک کریں۔</translation>
 <translation id="7777080907402804672">‏اگر کسی تصویر میں مفید تفصیل موجود نہیں ہے تو Chrome آپ کے لیے تفصیل فراہم کرنے کی کوشش کرے گا۔ تفصیلات تخلیق کرنے کے لیے، تصاویر Google کو بھیجی جاتی ہیں۔ آپ اسے ترتیبات میں کسی بھی وقت آف کر سکتے ہیں۔</translation>
@@ -399,6 +402,7 @@
 <translation id="8986207147630327271">آپ اس براؤزر میں ایک دفتری پروفائل شامل کر رہے ہیں اور اپنے منتظم کو صرف دفتری پروفائل پر کنٹرول فراہم کر رہے ہیں۔</translation>
 <translation id="8989968390305463310">‏آپ کی براؤزنگ کی سرگزشت آپ کے دیکھے جانے والے اشتہارات اور ذیل میں لگائے گئے اندازے کے مطابق دلچسپیوں کو متاثر کرتی ہے۔ آپ کی رازداری کے تحفظ کے لیے، Chrome آپ کی دلچسپیوں کو ہر ماہ رولنگ کے تحت خودکار طور پر حذف کرتا ہے۔ دلچسپیاں آپ کے ہٹانے تک ریفریش ہو سکتی ہیں۔</translation>
 <translation id="8999208279178790196">{0,plural, =0{‏Chrome کا اپ ڈیٹ دستیاب ہے}=1{‏Chrome کا اپ ڈیٹ دستیاب ہے}other{‏Chrome کا اپ ڈیٹ # دن سے دستیاب ہے}}</translation>
+<translation id="9003498785844995646">‏آن ہونے پر، Chrome پس منظر کی سرگرمی اور ویژوئل اثرات، جیسے ہموار اسکرولنگ اور ویڈیو فریم ریٹس کو محدود کر کے بیٹری پاور کو محفوظ کرتا ہے۔ <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /> یا <ph name="BEGIN_LINK_2" />تاثرات بھیجیں<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">‏ChromeOS Flex سسٹم</translation>
 <translation id="9067395829937117663">‏Google Chrome کیلئے Windows 7 یا اس کے بعد کا ورژن درکار ہے۔</translation>
 <translation id="911206726377975832">نیز آپ کا براؤزنگ ڈیٹا حذف کریں؟</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uz.xtb b/chrome/app/resources/google_chrome_strings_uz.xtb
index 2727919..0b6bae0c 100644
--- a/chrome/app/resources/google_chrome_strings_uz.xtb
+++ b/chrome/app/resources/google_chrome_strings_uz.xtb
@@ -228,6 +228,7 @@
 <translation id="5386244825306882791">Bundan tashqari kengaytma Chrome boshlash sahifasini va omniboksdagi so‘rovlar uchun foydalaniladigan birlamchi qidiruv tizimini o‘zgartirdi.</translation>
 <translation id="5394833366792865639">Chrome sahifasini namoyish qilish</translation>
 <translation id="5412485296464121825">Chrome orqali saytlar qiziqishlaringiz haqidagi maʼlumotlarni saqlashi mumkin. Misol uchun marafonda yugurish uchun poyabzal sotib olish saytini ochsangiz, sayt marafonda yugurishni qiziqishingiz deb aniqlashi mumkin. Keyin yugurish uchun boshqa saytga kirganingizda sayt qiziqishingiz asosida yugurish uchun poyabzal reklamasini chiqarishi mumkin.</translation>
+<translation id="5416870378730196769">Chrome tomonidan Xotirani tejash yoqildi</translation>
 <translation id="5430073640787465221">Sozlamalar fayli shikastlangan yoki yaroqsiz holatda.
 
 Google Chrome sozlamalaringizni qaytadan tiklay olmadi.</translation>
@@ -326,6 +327,7 @@
 <translation id="7649070708921625228">Yordam</translation>
 <translation id="7651907282515937834">Chrome Enterprise logotipi</translation>
 <translation id="7655455401911432608">Bu qurilmada Chrome orqali siz kirgan saytlar tarixidagi qaydlar.</translation>
+<translation id="7726773885101561560">Internetni tezroq kezishingiz uchun Chrome nofaol varaqlardan xotira oladi.</translation>
 <translation id="7747138024166251722">O‘rnatish dasturi vaqtinchalik katalog yarata olmadi. Sizda ilovalar o‘rnatish uchun yetarli vakolat yoki disk yetarli bo‘sh joy yo‘q bo‘lsa kerak.</translation>
 <translation id="7761834446675418963">Chrome‘ga kirish uchun o‘z ismingiz ustiga bosing va kezishni boshlang.</translation>
 <translation id="7777080907402804672">Agar rasmga foydali tavsif berilmagan boʻlsa, Google Chrome uni sizga tavsiflaydi. Tavsif yaratish uchun rasmlar Googlega yuboriladi. Bu sozlamani istalgan vaqtda faolsizlantirish mumkin.</translation>
@@ -398,6 +400,7 @@
 <translation id="8986207147630327271">Bu brauzerga ish profilini kiritish bilan siz administratorga ish profili orqali barcha boshqaruv ruxsatlarini berasiz.</translation>
 <translation id="8989968390305463310">Ochgan saytlaringiz tarixi chiqadigan reklama va quyidagi qiziqishlaringizga taʼsir qiladi. Maxfiylikni himoya qilish maqsadida Chrome har oyda qiziqishlaringizni avtomatik oʻchiradi. Qiziqishlar ularni olib tashlamaguningizga qadar yangilanishi mumkin.</translation>
 <translation id="8999208279178790196">{0,plural, =0{Chrome uchun yangilanish mavjud}=1{Chrome uchun yangilanish mavjud}other{Chrome uchun yangilanish mavjud (# kun)}}</translation>
+<translation id="9003498785844995646">Yoqilganda Chrome fondagi amallar hamda ravon varaqlash va video freyming kabi vizual effektlarni cheklash orqali batareya quvvatini tejashni boshlaydi. <ph name="BEGIN_LINK" />Batafsil<ph name="END_LINK" /> axborot olish yoki <ph name="BEGIN_LINK_2" />fikr-mulohaza yuborish<ph name="END_LINK_2" /></translation>
 <translation id="9053892488859122171">ChromeOS Flex tizimi</translation>
 <translation id="9067395829937117663">Google Chrome brauzeri ishlashi uchun kompyuterda Windows 7 yoki undan yangiroq versiyadagi operatsion tizim o‘rnatilgan bo‘lishi lozim.</translation>
 <translation id="911206726377975832">Brauzer faoliyati haqidagi ma’lumotlar ham tozalansinmi?</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index e560515..099bbac 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -30,6 +30,7 @@
 <translation id="1587223624401073077">Google Chrome đang sử dụng máy ảnh của bạn.</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> nguy hiểm, do đó Chrome đã chặn tệp.</translation>
 <translation id="1597911401261118146">Để kiểm tra xem mật khẩu của bạn có bị ảnh hưởng bởi các vụ rò rỉ dữ liệu và sự cố bảo mật khác hay không, hãy <ph name="BEGIN_LINK" />đăng nhập vào Chrome<ph name="END_LINK" />.</translation>
+<translation id="1599904803480101533">Chrome đã chặn tệp lưu trữ này vì tệp này có thể ẩn chứa phần mềm độc hại</translation>
 <translation id="1619887657840448962">Để làm cho Chrome an toàn hơn, chúng tôi đã vô hiệu hóa tiện ích không được liệt kê trong <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> và có thể đã được thêm mà bạn không biết.</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />Cách bạn có thể quản lý dữ liệu của mình:<ph name="END_BOLD" /> Để bảo vệ quyền riêng tư của bạn, chúng tôi tự động xoá các mối quan tâm không được làm mới sau 4 tuần. Trong quá trình bạn duyệt web, các mối quan tâm có thể xuất hiện lại trong danh sách. Bạn cũng có thể xoá những mối quan tâm mà bạn không muốn Chrome xem xét.</translation>
 <translation id="1628000112320670027">Nhận trợ giúp về Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
index b1ab0c3..1b6e775 100644
--- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome 正在使用您的摄像头。</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> 存在危险,因此 Chrome 已将其拦截。</translation>
 <translation id="1597911401261118146">若要检查您的密码是否未曾遭遇数据泄露和其他安全问题,请<ph name="BEGIN_LINK" />登录 Chrome<ph name="END_LINK" />。</translation>
+<translation id="1599904803480101533">Chrome 屏蔽了此归档文件,因为它可能藏有恶意软件</translation>
 <translation id="1619887657840448962">为了提高 Chrome 的安全性,我们停用了以下扩展程序(该扩展程序未列在<ph name="IDS_EXTENSION_WEB_STORE_TITLE" />中,并且可能是在您不知情的情况下添加的)。</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />您可以如何管理自己的数据<ph name="END_BOLD" />:为了保护您的隐私,如果您的兴趣保留时间超过 4 周,系统便会自动将其删除。随着您继续浏览,某项兴趣可能会再次出现在列表中。您也可以移除不希望纳入 Chrome 考虑范围的兴趣。</translation>
 <translation id="1628000112320670027">获取有关 Chrome 的帮助</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-HK.xtb b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
index 80dce72e..961dd6f 100644
--- a/chrome/app/resources/google_chrome_strings_zh-HK.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
@@ -31,6 +31,7 @@
 <translation id="1587223624401073077">Google Chrome 正在使用您的相機。</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> 不安全,因此 Chrome 已封鎖此檔案。</translation>
 <translation id="1597911401261118146">如要檢查密碼是否安全,且未受資料外洩或其他安全性問題影響,請<ph name="BEGIN_LINK" />登入 Chrome<ph name="END_LINK" />。</translation>
+<translation id="1599904803480101533">由於此封存檔案可能隱藏惡意軟件,因此 Chrome 已封鎖此封存檔案</translation>
 <translation id="1619887657840448962">為鞏固 Chrome 的安全性,我們已將未列在 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> 中的擴充功能停用,因為它們可能在您不知情的情況下加入瀏覽器。</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />您可如何管理資料:<ph name="END_BOLD" />為保障您的私隱,我們會自動刪除超過 4 星期的興趣。按瀏覽內容而定,某個主題可能會再次在您的興趣清單中顯示。您亦可移除不希望 Chrome 列在興趣清單中的項目。</translation>
 <translation id="1628000112320670027">取得 Chrome 相關說明</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
index bcc0a39..cfbb931 100644
--- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -29,6 +29,7 @@
 <translation id="1587223624401073077">Google Chrome 正在使用你的攝影機。</translation>
 <translation id="1587325591171447154"><ph name="FILE_NAME" /> 並不安全,因此遭到 Chrome 封鎖。</translation>
 <translation id="1597911401261118146">如要檢查你的密碼是否因資料侵害事件而遭到外洩,或是否有其他安全性問題,<ph name="BEGIN_LINK" />請登入 Chrome<ph name="END_LINK" />。</translation>
+<translation id="1599904803480101533">這個封存檔可能藏有惡意軟體,因此 Chrome 已封鎖這個檔案</translation>
 <translation id="1619887657840448962">為了讓 Chrome 的安全性更有保障,我們停用了以下這個未列在「<ph name="IDS_EXTENSION_WEB_STORE_TITLE" />」中的擴充功能 (它可能是在您不知情的情況下加入瀏覽器)。</translation>
 <translation id="1627304841979541023"><ph name="BEGIN_BOLD" />你可以透過哪些方式管理資料:<ph name="END_BOLD" />
 為保護個人隱私,我們會自動刪除 4 週以前的興趣喜好。視瀏覽內容而定,某個主題可能會再次顯示在你的興趣喜好清單中。或者,你可以移除不希望 Chrome 列在興趣喜好清單中的項目。</translation>
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index cbc15c4..bc71442 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3748,6 +3748,9 @@
     },
 #endif  // BUILDFLAG(ENABLE_WEBUI_TAB_STRIP) && BUILDFLAG(IS_CHROMEOS_ASH)
 #if BUILDFLAG(IS_CHROMEOS_ASH)
+    {"apn-revamp", flag_descriptions::kApnRevampName,
+     flag_descriptions::kApnRevampDescription, kOsCrOS,
+     FEATURE_VALUE_TYPE(chromeos::features::kApnRevamp)},
     {"audio-hfp-mic-sr", flag_descriptions::kAudioHFPMicSRName,
      flag_descriptions::kAudioHFPMicSRDescription, kOsCrOS,
      PLATFORM_FEATURE_NAME_TYPE("CrOSLateBootAudioHFPMicSR")},
@@ -3845,9 +3848,6 @@
      kOsCrOS,
      FEATURE_VALUE_TYPE(
          chromeos::features::kCellularBypassESimInstallationConnectivityCheck)},
-    {"apn-revamp", flag_descriptions::kApnRevampName,
-     flag_descriptions::kApnRevampDescription, kOsCrOS,
-     FEATURE_VALUE_TYPE(chromeos::features::kApnRevamp)},
     {"cellular-use-second-euicc",
      flag_descriptions::kCellularUseSecondEuiccName,
      flag_descriptions::kCellularUseSecondEuiccDescription, kOsCrOS,
diff --git a/chrome/browser/ash/dbus/dlp_files_policy_service_provider_unittest.cc b/chrome/browser/ash/dbus/dlp_files_policy_service_provider_unittest.cc
index cd52d078..1b087341 100644
--- a/chrome/browser/ash/dbus/dlp_files_policy_service_provider_unittest.cc
+++ b/chrome/browser/ash/dbus/dlp_files_policy_service_provider_unittest.cc
@@ -139,11 +139,9 @@
   request.mutable_file_metadata()->set_source_url(kExampleUrl);
 
   policy::DlpRulesManager::Level level = GetParam();
-  EXPECT_CALL(
-      *mock_rules_manager_,
-      IsRestrictedByAnyRule(GURL(kExampleUrl),
-                            policy::DlpRulesManager::Restriction::kFiles))
-      .WillOnce(testing::Return(level));
+  EXPECT_CALL(*mock_rules_manager_, IsRestrictedByAnyRule)
+      .WillOnce(testing::DoAll(testing::SetArgPointee<2>(kExampleUrl),
+                               testing::Return(level)));
 
   EXPECT_CALL(*mock_rules_manager_, GetDlpFilesController())
       .Times(::testing::AnyNumber())
diff --git a/chrome/browser/ash/file_manager/path_util.cc b/chrome/browser/ash/file_manager/path_util.cc
index c471220..3ff7d4b 100644
--- a/chrome/browser/ash/file_manager/path_util.cc
+++ b/chrome/browser/ash/file_manager/path_util.cc
@@ -9,6 +9,7 @@
 
 #include "ash/components/arc/arc_features.h"
 #include "ash/components/arc/arc_util.h"
+#include "ash/constants/ash_switches.h"
 #include "base/barrier_closure.h"
 #include "base/base64.h"
 #include "base/bind.h"
@@ -121,9 +122,17 @@
   std::move(callback).Run(*urls, *paths_to_share);
 }
 
-// On non-ChromeOS system (test+development), the primary profile uses
-// $HOME/Downloads for ease access to local files for debugging.
+// By default, in ChromeOS it uses the $profile_dir/MyFiles however,
+// for manual tests/development in linux-chromeos it uses $HOME/Downloads for
+// chrome binary and a temp dir for browser tests. The flag
+// `--use-myfiles-in-user-data-dir-for-testing` forces the ChromeOS pattern,
+// even for non-ChromeOS environments.
 bool ShouldMountPrimaryUserDownloads(Profile* profile) {
+  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+          ash::switches::kUseMyFilesInUserDataDirForTesting)) {
+    return false;
+  }
+
   if (!base::SysInfo::IsRunningOnChromeOS() &&
       user_manager::UserManager::IsInitialized()) {
     const user_manager::User* const user =
diff --git a/chrome/browser/ash/lock_screen_apps/app_manager_impl.cc b/chrome/browser/ash/lock_screen_apps/app_manager_impl.cc
index 12be3ef..a44a2af0 100644
--- a/chrome/browser/ash/lock_screen_apps/app_manager_impl.cc
+++ b/chrome/browser/ash/lock_screen_apps/app_manager_impl.cc
@@ -423,9 +423,10 @@
 
   std::string error;
   scoped_refptr<extensions::Extension> lock_profile_app =
-      extensions::Extension::Create(lock_profile_app_path, app->location(),
-                                    *app->manifest()->value()->CreateDeepCopy(),
-                                    app->creation_flags(), app->id(), &error);
+      extensions::Extension::Create(
+          lock_profile_app_path, app->location(),
+          base::Value::AsDictionaryValue(app->manifest()->value()->Clone()),
+          app->creation_flags(), app->id(), &error);
 
   // While extension creation can fail in general, in this case the lock screen
   // profile extension creation arguments come from an app already installed in
@@ -566,9 +567,10 @@
 
   std::string error;
   scoped_refptr<extensions::Extension> lock_profile_app =
-      extensions::Extension::Create(app->path(), app->location(),
-                                    *app->manifest()->value()->CreateDeepCopy(),
-                                    app->creation_flags(), app->id(), &error);
+      extensions::Extension::Create(
+          app->path(), app->location(),
+          base::Value::AsDictionaryValue(app->manifest()->value()->Clone()),
+          app->creation_flags(), app->id(), &error);
 
   extensions::ExtensionService* extension_service =
       extensions::ExtensionSystem::Get(lock_screen_profile_)
diff --git a/chrome/browser/ash/login/OWNERS b/chrome/browser/ash/login/OWNERS
index 71f7370..62c340d 100644
--- a/chrome/browser/ash/login/OWNERS
+++ b/chrome/browser/ash/login/OWNERS
@@ -11,3 +11,5 @@
 per-file *challenge_response*=fabiansommer@chromium.org
 per-file *security_token*=emaxx@chromium.org
 per-file *security_token*=fabiansommer@chromium.org
+per-file *cryptohome_mixin*=mbid@google.com
+per-file *cryptohome_mixin*=emaamari@google.com
diff --git a/chrome/browser/ash/login/marketing_backend_connector.cc b/chrome/browser/ash/login/marketing_backend_connector.cc
index 11fdb064..9468edab 100644
--- a/chrome/browser/ash/login/marketing_backend_connector.cc
+++ b/chrome/browser/ash/login/marketing_backend_connector.cc
@@ -236,16 +236,16 @@
 }
 
 std::string MarketingBackendConnector::GetRequestContent() {
-  base::Value request_dict(base::Value::Type::DICTIONARY);
-  request_dict.SetKey("country_code", base::Value(country_code_));
-  request_dict.SetKey("language", base::Value("en"));
+  base::Value::Dict request_dict;
+  request_dict.Set("country_code", country_code_);
+  request_dict.Set("language", "en");
 
   std::string request_content;
   base::JSONWriter::Write(request_dict, &request_content);
   return request_content;
 }
 
-MarketingBackendConnector::~MarketingBackendConnector() {}
+MarketingBackendConnector::~MarketingBackendConnector() = default;
 
 ScopedRequestCallbackSetter::ScopedRequestCallbackSetter(
     std::unique_ptr<base::RepeatingCallback<void(std::string)>> callback)
diff --git a/chrome/browser/ash/login/screens/signin_fatal_error_screen.cc b/chrome/browser/ash/login/screens/signin_fatal_error_screen.cc
index 682aa6e..7c1d6b0 100644
--- a/chrome/browser/ash/login/screens/signin_fatal_error_screen.cc
+++ b/chrome/browser/ash/login/screens/signin_fatal_error_screen.cc
@@ -4,11 +4,9 @@
 
 #include "chrome/browser/ash/login/screens/signin_fatal_error_screen.h"
 
-#include "base/types/optional_util.h"
 #include "base/values.h"
 #include "chrome/browser/ash/login/ui/login_display_host.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h"
-#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace ash {
 namespace {
@@ -30,10 +28,9 @@
 SignInFatalErrorScreen::~SignInFatalErrorScreen() = default;
 
 void SignInFatalErrorScreen::SetErrorState(Error error,
-                                           const base::Value* params) {
+                                           base::Value::Dict params) {
   error_state_ = error;
-  extra_error_info_ = params ? absl::make_optional<base::Value>(params->Clone())
-                             : absl::nullopt;
+  extra_error_info_ = std::move(params);
 }
 
 void SignInFatalErrorScreen::SetCustomError(const std::string& error_text,
@@ -41,18 +38,17 @@
                                             const std::string& details,
                                             const std::string& help_link_text) {
   error_state_ = Error::CUSTOM;
-  extra_error_info_ =
-      absl::make_optional<base::Value>(base::Value::Type::DICTIONARY);
+  extra_error_info_ = base::Value::Dict();
   DCHECK(!error_text.empty());
-  extra_error_info_->SetStringKey("errorText", error_text);
+  extra_error_info_.Set("errorText", error_text);
   if (!keyboard_hint.empty()) {
-    extra_error_info_->SetStringKey("keyboardHint", keyboard_hint);
+    extra_error_info_.Set("keyboardHint", keyboard_hint);
   }
   if (!details.empty()) {
-    extra_error_info_->SetStringKey("details", details);
+    extra_error_info_.Set("details", details);
   }
   if (!help_link_text.empty()) {
-    extra_error_info_->SetStringKey("helpLinkText", help_link_text);
+    extra_error_info_.Set("helpLinkText", help_link_text);
   }
 }
 
@@ -60,7 +56,7 @@
   if (!view_)
     return;
 
-  view_->Show(error_state_, base::OptionalToPtr(extra_error_info_));
+  view_->Show(error_state_, extra_error_info_);
 }
 
 void SignInFatalErrorScreen::HideImpl() {}
diff --git a/chrome/browser/ash/login/screens/signin_fatal_error_screen.h b/chrome/browser/ash/login/screens/signin_fatal_error_screen.h
index 118c9c9..6a3562c 100644
--- a/chrome/browser/ash/login/screens/signin_fatal_error_screen.h
+++ b/chrome/browser/ash/login/screens/signin_fatal_error_screen.h
@@ -13,9 +13,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/values.h"
 #include "chrome/browser/ash/login/help_app_launcher.h"
-#include "chrome/browser/ash/login/screen_manager.h"
 #include "chrome/browser/ash/login/screens/base_screen.h"
-#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace chromeos {
 class SignInFatalErrorView;
@@ -45,7 +43,7 @@
   ~SignInFatalErrorScreen() override;
 
   // Setting the error methods.
-  void SetErrorState(Error error, const base::Value* params);
+  void SetErrorState(Error error, base::Value::Dict params);
   void SetCustomError(const std::string& error_text,
                       const std::string& keyboard_hint,
                       const std::string& details,
@@ -58,7 +56,7 @@
   void OnUserAction(const base::Value::List& args) override;
 
   Error error_state_ = Error::UNKNOWN;
-  absl::optional<base::Value> extra_error_info_;
+  base::Value::Dict extra_error_info_;
 
   base::WeakPtr<chromeos::SignInFatalErrorView> view_;
   base::RepeatingClosure exit_callback_;
diff --git a/chrome/browser/ash/login/screens/sync_consent_browsertest.cc b/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
index 2008e46..80dbd9b 100644
--- a/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
+++ b/chrome/browser/ash/login/screens/sync_consent_browsertest.cc
@@ -359,23 +359,13 @@
   EXPECT_TRUE(settings->IsSyncEverythingEnabled());
 }
 
-class SyncConsentRecorderTest : public SyncConsentTest {
- public:
-  SyncConsentRecorderTest() {
-    features_.InitAndEnableFeature(features::kSyncSettingsCategorization);
-  }
-  ~SyncConsentRecorderTest() override = default;
-
-  base::test::ScopedFeatureList features_;
-};
-
 // TODO(crbug.com/1312384): Test failed on linux-chromeos-dbg.
 #if !defined(NDEBUG)
 #define MAYBE_SyncConsentRecorder DISABLED_SyncConsentRecorder
 #else
 #define MAYBE_SyncConsentRecorder SyncConsentRecorder
 #endif
-IN_PROC_BROWSER_TEST_F(SyncConsentRecorderTest, MAYBE_SyncConsentRecorder) {
+IN_PROC_BROWSER_TEST_F(SyncConsentTest, MAYBE_SyncConsentRecorder) {
   EXPECT_EQ(g_browser_process->GetApplicationLocale(), "en-US");
   LoginAndShowSyncConsentScreenWithCapability();
   WaitForScreenShown();
@@ -540,7 +530,7 @@
                          testing::Combine(testing::Bool(), testing::Bool()));
 
 class SyncConsentTestWithParams
-    : public SyncConsentRecorderTest,
+    : public SyncConsentTest,
       public ::testing::WithParamInterface<std::string> {
  public:
   SyncConsentTestWithParams() = default;
@@ -618,14 +608,9 @@
 // not use sync.
 class SyncConsentActiveDirectoryTest : public OobeBaseTest {
  public:
-  SyncConsentActiveDirectoryTest() {
-    sync_feature_list_.InitWithFeatures({features::kSyncSettingsCategorization},
-                                        {});
-  }
   ~SyncConsentActiveDirectoryTest() override = default;
 
  protected:
-  base::test::ScopedFeatureList sync_feature_list_;
   DeviceStateMixin device_state_{
       &mixin_host_,
       DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED};
diff --git a/chrome/browser/ash/login/wizard_controller.cc b/chrome/browser/ash/login/wizard_controller.cc
index 403eb63..5a64effc 100644
--- a/chrome/browser/ash/login/wizard_controller.cc
+++ b/chrome/browser/ash/login/wizard_controller.cc
@@ -853,8 +853,8 @@
 
 void WizardController::ShowSignInFatalErrorScreen(
     SignInFatalErrorScreen::Error error,
-    const base::Value* params) {
-  GetScreen<SignInFatalErrorScreen>()->SetErrorState(error, params);
+    base::Value::Dict params) {
+  GetScreen<SignInFatalErrorScreen>()->SetErrorState(error, std::move(params));
   AdvanceToScreen(SignInFatalErrorView::kScreenId);
 }
 
@@ -1168,7 +1168,7 @@
     case SamlConfirmPasswordScreen::Result::kTooManyAttempts:
       ShowSignInFatalErrorScreen(
           SignInFatalErrorScreen::Error::SCRAPED_PASSWORD_VERIFICATION_FAILURE,
-          nullptr);
+          base::Value::Dict());
   }
 }
 
diff --git a/chrome/browser/ash/login/wizard_controller.h b/chrome/browser/ash/login/wizard_controller.h
index f75dfa8..0c57b34 100644
--- a/chrome/browser/ash/login/wizard_controller.h
+++ b/chrome/browser/ash/login/wizard_controller.h
@@ -230,7 +230,7 @@
 
   // Configure and show the signin fatal error screen.
   void ShowSignInFatalErrorScreen(SignInFatalErrorScreen::Error error,
-                                  const base::Value* params);
+                                  base::Value::Dict params);
 
   // Show Family Link notice screen.
   void ShowFamilyLinkNoticeScreen();
diff --git a/chrome/browser/ash/policy/dlp/dlp_files_controller.cc b/chrome/browser/ash/policy/dlp/dlp_files_controller.cc
index 7800a3d0..a414e46 100644
--- a/chrome/browser/ash/policy/dlp/dlp_files_controller.cc
+++ b/chrome/browser/ash/policy/dlp/dlp_files_controller.cc
@@ -345,14 +345,16 @@
   std::vector<FileDaemonInfo> restricted_files;
   std::vector<FileDaemonInfo> warned_files;
   DlpConfidentialContents dialog_files;
-  std::string source_pattern, destination_pattern;
+  std::string destination_pattern;
+  std::vector<std::string> warned_source_patterns;
   for (const auto& file : transferred_files) {
     DlpRulesManager::Level level;
+    std::string source_pattern;
     if (dst_component.has_value()) {
       level = rules_manager_.IsRestrictedComponent(
           GURL(file.source_url), dst_component.value(),
           DlpRulesManager::Restriction::kFiles, &source_pattern);
-      MaybeReportEvent(file.source_url.spec(),
+      MaybeReportEvent(source_pattern,
                        DlpFileDestination((dst_component.value())), level);
     } else {
       // TODO(crbug.com/1286366): Revisit whether passing files paths here
@@ -362,7 +364,7 @@
           GURL(file.source_url), GURL(*destination.url_or_path),
           DlpRulesManager::Restriction::kFiles, &source_pattern,
           &destination_pattern);
-      MaybeReportEvent(file.source_url.spec(),
+      MaybeReportEvent(source_pattern,
                        DlpFileDestination(*destination.url_or_path), level);
     }
 
@@ -371,6 +373,7 @@
       DlpHistogramEnumeration(dlp::kFileActionBlockedUMA, files_action);
     } else if (level == DlpRulesManager::Level::kWarn) {
       warned_files.push_back(file);
+      warned_source_patterns.emplace_back(source_pattern);
       if (files_action != FileAction::kDownload) {
         dialog_files.Add(
             // TODO(crbug.com/1357593): Pass the proper |dark_background|
@@ -391,11 +394,11 @@
                                 : DlpFileDestination(*destination.url_or_path);
 
   warn_notifier_->ShowDlpFilesWarningDialog(
-      base::BindOnce(&DlpFilesController::OnDlpWarnDialogReply,
-                     weak_ptr_factory_.GetWeakPtr(),
-                     std::move(restricted_files), std::move(warned_files),
-                     std::move(reporting_dst), files_action,
-                     std::move(result_callback)),
+      base::BindOnce(
+          &DlpFilesController::OnDlpWarnDialogReply,
+          weak_ptr_factory_.GetWeakPtr(), std::move(restricted_files),
+          std::move(warned_files), std::move(warned_source_patterns),
+          std::move(reporting_dst), files_action, std::move(result_callback)),
       std::move(dialog_files), dst_component, destination_pattern,
       files_action);
 }
@@ -462,9 +465,11 @@
 bool DlpFilesController::IsDlpPolicyMatched(const FileDaemonInfo& file) {
   bool restricted = false;
 
+  std::string src_pattern;
+
   policy::DlpRulesManager::Level level = rules_manager_.IsRestrictedByAnyRule(
       GURL(file.source_url.spec()),
-      policy::DlpRulesManager::Restriction::kFiles);
+      policy::DlpRulesManager::Restriction::kFiles, &src_pattern);
 
   switch (level) {
     case policy::DlpRulesManager::Level::kBlock:
@@ -479,7 +484,7 @@
       break;
   }
 
-  MaybeReportEvent(file.source_url.spec(), {}, level);
+  MaybeReportEvent(src_pattern, {}, level);
 
   return restricted;
 }
@@ -493,6 +498,7 @@
 void DlpFilesController::OnDlpWarnDialogReply(
     std::vector<FileDaemonInfo> restricted_files,
     std::vector<FileDaemonInfo> warned_files,
+    std::vector<std::string> warned_src_patterns,
     const DlpFileDestination& destination,
     FileAction files_action,
     IsFilesTransferRestrictedCallback callback,
@@ -502,9 +508,9 @@
                             std::make_move_iterator(warned_files.begin()),
                             std::make_move_iterator(warned_files.end()));
   } else {
-    for (const FileDaemonInfo& file : warned_files) {
+    for (const std::string& src_pattern : warned_src_patterns) {
       DlpHistogramEnumeration(dlp::kFileActionWarnProceededUMA, files_action);
-      MaybeReportWarnProceededEvent(file.source_url.spec(), destination);
+      MaybeReportWarnProceededEvent(src_pattern, destination);
     }
   }
   std::move(callback).Run(std::move(restricted_files));
@@ -561,7 +567,8 @@
   base::flat_map<ino_t, DlpFileMetadata> metadata_map;
   for (const auto& metadata : response.files_metadata()) {
     DlpRulesManager::Level level = rules_manager_.IsRestrictedByAnyRule(
-        GURL(metadata.source_url()), DlpRulesManager::Restriction::kFiles);
+        GURL(metadata.source_url()), DlpRulesManager::Restriction::kFiles,
+        nullptr);
     bool is_dlp_restricted = level != DlpRulesManager::Level::kNotSet &&
                              level != DlpRulesManager::Level::kAllow;
     metadata_map.emplace(
diff --git a/chrome/browser/ash/policy/dlp/dlp_files_controller.h b/chrome/browser/ash/policy/dlp/dlp_files_controller.h
index 63d7087..c254519 100644
--- a/chrome/browser/ash/policy/dlp/dlp_files_controller.h
+++ b/chrome/browser/ash/policy/dlp/dlp_files_controller.h
@@ -196,6 +196,7 @@
   void OnDlpWarnDialogReply(
       std::vector<FileDaemonInfo> restricted_files_sources,
       std::vector<FileDaemonInfo> warned_files_sources,
+      std::vector<std::string> warned_src_patterns,
       const DlpFileDestination& destination,
       FileAction files_action,
       IsFilesTransferRestrictedCallback callback,
diff --git a/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc b/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc
index d3e7028..0b38bde4 100644
--- a/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc
+++ b/chrome/browser/ash/policy/dlp/dlp_files_controller_unittest.cc
@@ -550,10 +550,16 @@
   const auto histogram_tester = base::HistogramTester();
 
   EXPECT_CALL(*rules_manager_, IsRestrictedByAnyRule)
-      .WillOnce(testing::Return(DlpRulesManager::Level::kBlock))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kReport))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kWarn))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kAllow));
+      .WillOnce(testing::DoAll(testing::SetArgPointee<2>(kExampleUrl1),
+                               testing::Return(DlpRulesManager::Level::kBlock)))
+      .WillOnce(
+          testing::DoAll(testing::SetArgPointee<2>(kExampleUrl2),
+                         testing::Return(DlpRulesManager::Level::kReport)))
+      .WillOnce(testing::DoAll(testing::SetArgPointee<2>(kExampleUrl3),
+                               testing::Return(DlpRulesManager::Level::kWarn)))
+      .WillOnce(
+          testing::DoAll(testing::SetArgPointee<2>(kExampleUrl4),
+                         testing::Return(DlpRulesManager::Level::kAllow)));
 
   EXPECT_CALL(*rules_manager_, GetReportingManager).Times(testing::AnyNumber());
 
@@ -733,9 +739,13 @@
 
   EXPECT_CALL(*rules_manager_,
               IsRestrictedComponent(_, expected_component, _, _))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kBlock))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kAllow))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kBlock));
+      .WillOnce(testing::DoAll(testing::SetArgPointee<3>(kExampleUrl1),
+                               testing::Return(DlpRulesManager::Level::kBlock)))
+      .WillOnce(testing::DoAll(testing::SetArgPointee<3>(kExampleUrl2),
+                               testing::Return(DlpRulesManager::Level::kAllow)))
+      .WillOnce(
+          testing::DoAll(testing::SetArgPointee<3>(kExampleUrl3),
+                         testing::Return(DlpRulesManager::Level::kBlock)));
 
   EXPECT_CALL(*rules_manager_, GetReportingManager())
       .Times(::testing::AnyNumber());
@@ -776,7 +786,9 @@
 
   EXPECT_CALL(*rules_manager_,
               IsRestrictedComponent(_, expected_component, _, _))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kBlock));
+      .WillOnce(
+          testing::DoAll(testing::SetArgPointee<3>(kExampleUrl1),
+                         testing::Return(DlpRulesManager::Level::kBlock)));
 
   EXPECT_CALL(*rules_manager_, GetReportingManager())
       .Times(::testing::AnyNumber());
@@ -840,9 +852,17 @@
   EXPECT_CALL(cb, Run(disallowed_files)).Times(1);
 
   EXPECT_CALL(*rules_manager_, IsRestrictedDestination(_, _, _, _, _))
-      .WillOnce(testing::Return(confidential_files_restriction_level))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kAllow))
-      .WillOnce(testing::Return(confidential_files_restriction_level));
+      .WillOnce(
+          testing::DoAll(testing::SetArgPointee<3>(kExampleUrl1),
+                         testing::SetArgPointee<4>(dst),
+                         testing::Return(confidential_files_restriction_level)))
+      .WillOnce(testing::DoAll(testing::SetArgPointee<3>(kExampleUrl2),
+                               testing::SetArgPointee<4>(dst),
+                               testing::Return(DlpRulesManager::Level::kAllow)))
+      .WillOnce(testing::DoAll(
+          testing::SetArgPointee<3>(kExampleUrl3),
+          testing::SetArgPointee<4>(dst),
+          testing::Return(confidential_files_restriction_level)));
 
   EXPECT_CALL(*rules_manager_, GetReportingManager())
       .Times(::testing::AnyNumber());
@@ -907,7 +927,8 @@
 
   EXPECT_CALL(*rules_manager_,
               IsRestrictedComponent(_, DlpRulesManager::Component::kUsb, _, _))
-      .WillOnce(testing::Return(DlpRulesManager::Level::kWarn));
+      .WillOnce(testing::DoAll(testing::SetArgPointee<3>(kExampleUrl1),
+                               testing::Return(DlpRulesManager::Level::kWarn)));
 
   EXPECT_CALL(*rules_manager_, GetReportingManager())
       .Times(::testing::AnyNumber());
@@ -1023,7 +1044,13 @@
 
   EXPECT_CALL(*rules_manager_,
               IsRestrictedComponent(_, DlpRulesManager::Component::kUsb, _, _))
-      .WillRepeatedly(testing::Return(DlpRulesManager::Level::kWarn));
+      .WillRepeatedly([](const GURL& source,
+                         const DlpRulesManager::Component& destination,
+                         DlpRulesManager::Restriction restriction,
+                         std::string* out_source_pattern) {
+        *out_source_pattern = source.spec();
+        return DlpRulesManager::Level::kWarn;
+      });
 
   EXPECT_CALL(*rules_manager_, GetReportingManager())
       .Times(::testing::AnyNumber());
diff --git a/chrome/browser/autofill_assistant/common_dependencies_chrome.cc b/chrome/browser/autofill_assistant/common_dependencies_chrome.cc
index 0257e4c7..ebe641b 100644
--- a/chrome/browser/autofill_assistant/common_dependencies_chrome.cc
+++ b/chrome/browser/autofill_assistant/common_dependencies_chrome.cc
@@ -53,8 +53,13 @@
   return g_browser_process->GetApplicationLocale();
 }
 
-std::string CommonDependenciesChrome::GetCountryCode() const {
-  return dependencies_util::GetCountryCode(
+std::string CommonDependenciesChrome::GetLatestCountryCode() const {
+  return dependencies_util::GetLatestCountryCode(
+      g_browser_process->variations_service());
+}
+
+std::string CommonDependenciesChrome::GetStoredPermanentCountryCode() const {
+  return dependencies_util::GetStoredPermanentCountryCode(
       g_browser_process->variations_service());
 }
 
diff --git a/chrome/browser/autofill_assistant/common_dependencies_chrome.h b/chrome/browser/autofill_assistant/common_dependencies_chrome.h
index 9e4c926..fe1b1b2 100644
--- a/chrome/browser/autofill_assistant/common_dependencies_chrome.h
+++ b/chrome/browser/autofill_assistant/common_dependencies_chrome.h
@@ -51,7 +51,8 @@
   std::unique_ptr<AssistantFieldTrialUtil> CreateFieldTrialUtil()
       const override;
   std::string GetLocale() const override;
-  std::string GetCountryCode() const override;
+  std::string GetLatestCountryCode() const override;
+  std::string GetStoredPermanentCountryCode() const override;
   autofill::PersonalDataManager* GetPersonalDataManager() const override;
   password_manager::PasswordManagerClient* GetPasswordManagerClient(
       content::WebContents* web_contents) const override;
diff --git a/chrome/browser/breadcrumbs/crash_reporter_breadcrumb_observer_unittest.cc b/chrome/browser/breadcrumbs/crash_reporter_breadcrumb_observer_unittest.cc
index b48deed..de622ff 100644
--- a/chrome/browser/breadcrumbs/crash_reporter_breadcrumb_observer_unittest.cc
+++ b/chrome/browser/breadcrumbs/crash_reporter_breadcrumb_observer_unittest.cc
@@ -46,10 +46,20 @@
  public:
   void SetUp() override {
     PlatformTest::SetUp();
+
+    // Ensure the CrashReporterBreadcrumbObserver singleton is created
+    // and registered.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance();
+
     crash_reporter::InitializeCrashKeysForTesting();
   }
 
   void TearDown() override {
+    // Clear the CrashReporterBreadcrumbObserver singleton state to
+    // avoid polluting other tests.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
+
     // TODO(crbug.com/1269414) This should call
     // crash_reporter::ResetCrashKeysForTesting() once
     // ChromeUserManagerImpl::UpdateNumberOfUsers allows the static
@@ -61,11 +71,6 @@
   content::BrowserTaskEnvironment task_environment_;
   TestingProfile browser_context_;
   TestingProfile browser_context_2_;
-
-  // Must be destroyed before browser contexts to ensure that it stops observing
-  // the browser contexts' BreadcrumbManagers before they are destroyed.
-  breadcrumbs::CrashReporterBreadcrumbObserver
-      crash_reporter_breadcrumb_observer_;
 };
 
 // Tests that breadcrumb events logged to a single BreadcrumbManagerKeyedService
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
index 4b70782..2002b44 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate_unittest.cc
@@ -69,6 +69,8 @@
 #include "chrome/browser/sync/sync_service_factory.h"
 #include "chrome/browser/translate/chrome_translate_client.h"
 #include "chrome/browser/web_data_service_factory.h"
+#include "chrome/browser/webid/federated_identity_active_session_permission_context.h"
+#include "chrome/browser/webid/federated_identity_sharing_permission_context.h"
 #include "chrome/common/chrome_constants.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/chrome_paths.h"
@@ -2747,6 +2749,69 @@
       << host_settings[0].primary_pattern.ToString();
 }
 
+TEST_F(ChromeBrowsingDataRemoverDelegateTest, RemoveFederatedContentSettings) {
+  const GURL rp_url("https://rp.com");
+  const url::Origin rp_origin = url::Origin::Create(rp_url);
+  const GURL rp_embedder_url("https://rp-embedder.com");
+  const url::Origin rp_embedder_origin = url::Origin::Create(rp_embedder_url);
+  const url::Origin idp_origin = url::Origin::Create(GURL("https://idp.com"));
+  const std::string account_id("account_id");
+
+  HostContentSettingsMap* host_content_settings_map =
+      HostContentSettingsMapFactory::GetForProfile(GetProfile());
+
+  content::BrowsingDataRemover::DataType test_cases[] = {
+      content::BrowsingDataRemover::DATA_TYPE_COOKIES,
+      constants::DATA_TYPE_HISTORY, constants::DATA_TYPE_PASSWORDS};
+  for (content::BrowsingDataRemover::DataType test_data_type : test_cases) {
+    {
+      FederatedIdentityActiveSessionPermissionContext active_session_context(
+          GetProfile());
+      active_session_context.GrantActiveSession(rp_origin, idp_origin,
+                                                account_id);
+      ASSERT_TRUE(active_session_context.HasActiveSession(rp_origin, idp_origin,
+                                                          account_id));
+
+      FederatedIdentitySharingPermissionContext sharing_context(GetProfile());
+      sharing_context.GrantSharingPermission(rp_origin, rp_embedder_origin,
+                                             idp_origin, account_id);
+      ASSERT_TRUE(sharing_context.HasSharingPermission(
+          rp_origin, rp_embedder_origin, idp_origin, account_id));
+
+      host_content_settings_map->SetContentSettingDefaultScope(
+          rp_url, rp_embedder_url, ContentSettingsType::FEDERATED_IDENTITY_API,
+          CONTENT_SETTING_BLOCK);
+      ASSERT_EQ(CONTENT_SETTING_BLOCK,
+                host_content_settings_map->GetContentSetting(
+                    rp_url, rp_embedder_url,
+                    ContentSettingsType::FEDERATED_IDENTITY_API));
+    }
+
+    BlockUntilBrowsingDataRemoved(AnHourAgo(), base::Time::Max(),
+                                  test_data_type,
+                                  /*include_protected_origins=*/true);
+
+    {
+      // Re-initialize contexts in order to update in-memory
+      // ObjectPermissionContextBase cache.
+      FederatedIdentityActiveSessionPermissionContext active_session_context(
+          GetProfile());
+      FederatedIdentitySharingPermissionContext sharing_context(GetProfile());
+
+      EXPECT_FALSE(active_session_context.HasActiveSession(
+          rp_origin, idp_origin, account_id));
+      EXPECT_FALSE(sharing_context.HasSharingPermission(
+          rp_origin, rp_embedder_origin, idp_origin, account_id));
+
+      // Content setting is on by default.
+      EXPECT_EQ(CONTENT_SETTING_ALLOW,
+                host_content_settings_map->GetContentSetting(
+                    rp_url, rp_embedder_url,
+                    ContentSettingsType::FEDERATED_IDENTITY_API));
+    }
+  }
+}
+
 // Test that removing passwords clears HTTP auth data.
 TEST_F(ChromeBrowsingDataRemoverDelegateTest,
        ClearHttpAuthCache_RemovePasswords) {
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index f71749c..79ae02b 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -1426,6 +1426,8 @@
     "../ash/device_name/fake_device_name_applier.h",
     "../ash/device_name/fake_device_name_store.cc",
     "../ash/device_name/fake_device_name_store.h",
+    "../ash/drive/drive_integration_service_browser_test_base.cc",
+    "../ash/drive/drive_integration_service_browser_test_base.h",
     "../ash/drive/drivefs_test_support.cc",
     "../ash/drive/drivefs_test_support.h",
     "../ash/file_manager/mount_test_util.cc",
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h
index b11c7ce..02af5e7 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h
+++ b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h
@@ -112,8 +112,12 @@
   // Returns the highest possible restriction enforcement level for
   // 'restriction' given that data comes from 'source' and the destination might
   // be any. ALLOW level rules are ignored.
-  virtual Level IsRestrictedByAnyRule(const GURL& source,
-                                      Restriction restriction) const = 0;
+  // If there's a rule matching, `out_source_pattern` will be changed to any
+  // random matching rule URL pattern.
+  virtual Level IsRestrictedByAnyRule(
+      const GURL& source,
+      Restriction restriction,
+      std::string* out_source_pattern) const = 0;
 
   // Returns the enforcement level for `restriction` given that data comes
   // from `source` and requested to be shared to `destination`. ALLOW is
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.cc b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.cc
index 50d20c7f..cdc7ea1 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.cc
+++ b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.cc
@@ -237,15 +237,23 @@
 
 DlpRulesManager::Level DlpRulesManagerImpl::IsRestrictedByAnyRule(
     const GURL& source,
-    Restriction restriction) const {
+    Restriction restriction,
+    std::string* out_source_pattern) const {
   DCHECK(src_url_matcher_);
 
   const RulesConditionsMap src_rules_map = MatchUrlAndGetRulesMapping(
       source, src_url_matcher_.get(), src_url_rules_mapping_);
 
-  return GetMaxJoinRestrictionLevel(restriction, src_rules_map,
-                                    restrictions_map_, /*ignore_allow=*/true)
-      .first;
+  std::pair<Level, absl::optional<UrlConditionId>> level_url_pair =
+      GetMaxJoinRestrictionLevel(restriction, src_rules_map, restrictions_map_,
+                                 /*ignore_allow=*/true);
+
+  if (level_url_pair.second.has_value() && out_source_pattern) {
+    UrlConditionId src_condition_id = level_url_pair.second.value();
+    *out_source_pattern = src_pattterns_mapping_.at(src_condition_id);
+  }
+
+  return level_url_pair.first;
 }
 
 DlpRulesManager::Level DlpRulesManagerImpl::IsRestrictedDestination(
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h
index 84a4f68..9b20692 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h
+++ b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl.h
@@ -39,7 +39,8 @@
   Level IsRestricted(const GURL& source,
                      Restriction restriction) const override;
   Level IsRestrictedByAnyRule(const GURL& source,
-                              Restriction restriction) const override;
+                              Restriction restriction,
+                              std::string* out_source_pattern) const override;
   Level IsRestrictedDestination(
       const GURL& source,
       const GURL& destination,
diff --git a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl_unittest.cc b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl_unittest.cc
index fea3fa401..407f0d7 100644
--- a/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl_unittest.cc
+++ b/chrome/browser/chromeos/policy/dlp/dlp_rules_manager_impl_unittest.cc
@@ -230,12 +230,15 @@
   EXPECT_EQ(src_pattern, kExampleUrl);
   EXPECT_EQ(dst_pattern, kWildCardMatching);
 
+  src_pattern.clear();
   EXPECT_EQ(DlpRulesManager::Level::kBlock,
             dlp_rules_manager_.IsRestricted(
                 GURL(kExampleUrl), DlpRulesManager::Restriction::kScreenshot));
   EXPECT_EQ(DlpRulesManager::Level::kBlock,
             dlp_rules_manager_.IsRestrictedByAnyRule(
-                GURL(kExampleUrl), DlpRulesManager::Restriction::kClipboard));
+                GURL(kExampleUrl), DlpRulesManager::Restriction::kClipboard,
+                &src_pattern));
+  EXPECT_EQ(src_pattern, kExampleUrl);
   histogram_tester_.ExpectUniqueSample(
       GetDlpHistogramPrefix() + dlp::kDlpPolicyPresentUMA, true, 1);
   histogram_tester_.ExpectBucketCount("Enterprise.Dlp.RestrictionConfigured",
diff --git a/chrome/browser/chromeos/policy/dlp/mock_dlp_rules_manager.h b/chrome/browser/chromeos/policy/dlp/mock_dlp_rules_manager.h
index c08d059..656a95d 100644
--- a/chrome/browser/chromeos/policy/dlp/mock_dlp_rules_manager.h
+++ b/chrome/browser/chromeos/policy/dlp/mock_dlp_rules_manager.h
@@ -21,8 +21,10 @@
   MOCK_CONST_METHOD2(IsRestricted,
                      Level(const GURL& source, Restriction restriction));
 
-  MOCK_CONST_METHOD2(IsRestrictedByAnyRule,
-                     Level(const GURL& source, Restriction restriction));
+  MOCK_CONST_METHOD3(IsRestrictedByAnyRule,
+                     Level(const GURL& source,
+                           Restriction restriction,
+                           std::string* out_source_pattern));
 
   MOCK_CONST_METHOD5(IsRestrictedDestination,
                      Level(const GURL& source,
diff --git a/chrome/browser/commerce/price_tracking/BUILD.gn b/chrome/browser/commerce/price_tracking/BUILD.gn
index 857953d..13110680 100644
--- a/chrome/browser/commerce/price_tracking/BUILD.gn
+++ b/chrome/browser/commerce/price_tracking/BUILD.gn
@@ -10,9 +10,10 @@
 
   deps = [
     "//chrome/common:constants",
+    "//components/commerce/core:feature_list",
     "//components/commerce/core:shopping_service",
     "//components/image_fetcher/core",
-    "//components/prefs:prefs",
+    "//components/prefs",
     "//content/public/browser",
     "//net/traffic_annotation",
     "//ui/gfx",
diff --git a/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.cc b/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.cc
index b082b527..13d7e657 100644
--- a/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.cc
+++ b/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.cc
@@ -4,15 +4,65 @@
 
 #include "chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h"
 
+#include "base/bind.h"
 #include "chrome/common/pref_names.h"
+#include "components/commerce/core/commerce_feature_list.h"
+#include "components/image_fetcher/core/image_fetcher_service.h"
 #include "components/prefs/pref_service.h"
+#include "content/public/browser/page.h"
 #include "content/public/browser/web_contents.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
+#include "url/gurl.h"
 
 namespace commerce {
 
-ShoppingListUiTabHelper::ShoppingListUiTabHelper(content::WebContents* contents)
-    : content::WebContentsObserver(contents),
-      content::WebContentsUserData<ShoppingListUiTabHelper>(*contents) {}
+namespace {
+constexpr net::NetworkTrafficAnnotationTag kTrafficAnnotation =
+    net::DefineNetworkTrafficAnnotation("shopping_list_ui_image_fetcher",
+                                        R"(
+        semantics {
+          sender: "Product image fetcher for the shopping list feature."
+          description:
+            "Retrieves the image for a product that is displayed on the active "
+            "web page. This will be shown to the user as part of the "
+            "bookmarking or price tracking action."
+          trigger:
+            "On navigation, if the URL of the page is determined to be a "
+            "product that can be price tracked, we will attempt to fetch the "
+            "image for it."
+          data:
+            "An image of a product that can be price tracked."
+          destination: WEBSITE
+        }
+        policy {
+          cookies_allowed: NO
+          setting:
+            "This fetch is enabled for any user with the 'Shopping List' "
+            "feature enabled."
+          chrome_policy {
+            ShoppingListEnabled {
+              policy_options {mode: MANDATORY}
+              ShoppingListEnabled: true
+            }
+          }
+        })");
+
+constexpr char kImageFetcherUmaClient[] = "ShoppingList";
+}  // namespace
+
+ShoppingListUiTabHelper::ShoppingListUiTabHelper(
+    content::WebContents* content,
+    ShoppingService* shopping_service,
+    image_fetcher::ImageFetcherService* image_fetcher_service,
+    PrefService* prefs)
+    : content::WebContentsObserver(content),
+      content::WebContentsUserData<ShoppingListUiTabHelper>(*content),
+      shopping_service_(shopping_service),
+      prefs_(prefs) {
+  // TODO(1360846): Consider using the in-memory cache instead.
+  image_fetcher_ = image_fetcher_service->GetImageFetcher(
+      image_fetcher::ImageFetcherConfig::kDiskCacheOnly);
+}
 
 ShoppingListUiTabHelper::~ShoppingListUiTabHelper() = default;
 
@@ -22,6 +72,59 @@
   registry->RegisterBooleanPref(prefs::kShouldShowPriceTrackFUEBubble, true);
 }
 
+void ShoppingListUiTabHelper::PrimaryPageChanged(content::Page& page) {
+  if (!shopping_service_ || !IsShoppingListAllowedForEnterprise(prefs_))
+    return;
+
+  // Cancel any pending callbacks by invalidating any weak pointers.
+  weak_ptr_factory_.InvalidateWeakPtrs();
+
+  shopping_service_->GetProductInfoForUrl(
+      web_contents()->GetLastCommittedURL(),
+      base::BindOnce(&ShoppingListUiTabHelper::HandleProductInfoResponse,
+                     weak_ptr_factory_.GetWeakPtr()));
+}
+
+void ShoppingListUiTabHelper::HandleProductInfoResponse(
+    const GURL& url,
+    const absl::optional<ProductInfo>& info) {
+  if (url != web_contents()->GetLastCommittedURL())
+    return;
+
+  if (!info.has_value() || info.value().image_url.is_empty())
+    return;
+
+  // TODO(1360850): Delay this fetch by possibly waiting until page load has
+  //                finished.
+  image_fetcher_->FetchImage(
+      info.value().image_url,
+      base::BindOnce(&ShoppingListUiTabHelper::HandleImageFetcherResponse,
+                     weak_ptr_factory_.GetWeakPtr(), info.value().image_url),
+      image_fetcher::ImageFetcherParams(kTrafficAnnotation,
+                                        kImageFetcherUmaClient));
+}
+
+void ShoppingListUiTabHelper::HandleImageFetcherResponse(
+    const GURL image_url,
+    const gfx::Image& image,
+    const image_fetcher::RequestMetadata& request_metadata) {
+  if (image.IsEmpty())
+    return;
+
+  last_fetched_image_url_ = image_url;
+  last_fetched_image_ = image;
+
+  // TODO(meiliang): Trigger UI here.
+}
+
+const gfx::Image& ShoppingListUiTabHelper::GetProductImage() {
+  return last_fetched_image_;
+}
+
+const GURL& ShoppingListUiTabHelper::GetProductImageURL() {
+  return last_fetched_image_url_;
+}
+
 WEB_CONTENTS_USER_DATA_KEY_IMPL(ShoppingListUiTabHelper);
 
 }  // namespace commerce
diff --git a/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h b/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h
index 30aa58dd..13b1bde 100644
--- a/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h
+++ b/chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h
@@ -5,16 +5,30 @@
 #ifndef CHROME_BROWSER_COMMERCE_PRICE_TRACKING_SHOPPING_LIST_UI_TAB_HELPER_H_
 #define CHROME_BROWSER_COMMERCE_PRICE_TRACKING_SHOPPING_LIST_UI_TAB_HELPER_H_
 
+#include "base/memory/raw_ptr.h"
 #include "base/memory/weak_ptr.h"
+#include "components/commerce/core/shopping_service.h"
+#include "components/image_fetcher/core/image_fetcher.h"
+#include "components/image_fetcher/core/request_metadata.h"
 #include "components/prefs/pref_registry_simple.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "content/public/browser/web_contents_user_data.h"
+#include "ui/gfx/image/image.h"
+
+class GURL;
+class PrefService;
 
 namespace content {
+class Page;
 class WebContents;
 }  // namespace content
 
+namespace image_fetcher {
+class ImageFetcherService;
+}
+
 namespace commerce {
+
 // This tab helper is used to update and maintain the state of the shopping list
 // and price tracking UI on desktop.
 class ShoppingListUiTabHelper
@@ -28,12 +42,52 @@
 
   static void RegisterProfilePrefs(PrefRegistrySimple* registry);
 
+  // Get the image for the last fetched product URL. A reference to this object
+  // should not be kept directly, if one is needed, a copy should be made.
+  const gfx::Image& GetProductImage();
+
+  // The URL for the last fetched product image. A reference to this object
+  // should not be kept directly, if one is needed, a copy should be made.
+  const GURL& GetProductImageURL();
+
+  // content::WebContentsObserver implementation
+  void PrimaryPageChanged(content::Page& page) override;
+
  private:
   friend class content::WebContentsUserData<ShoppingListUiTabHelper>;
 
-  explicit ShoppingListUiTabHelper(content::WebContents* contents);
+  ShoppingListUiTabHelper(
+      content::WebContents* contents,
+      ShoppingService* shopping_service,
+      image_fetcher::ImageFetcherService* image_fetcher_service,
+      PrefService* prefs);
+
+  void HandleProductInfoResponse(const GURL& url,
+                                 const absl::optional<ProductInfo>& info);
+
+  void HandleImageFetcherResponse(
+      const GURL image_url,
+      const gfx::Image& image,
+      const image_fetcher::RequestMetadata& request_metadata);
+
+  // The shopping service is tied to the lifetime of the browser context
+  // which will always outlive this tab helper.
+  raw_ptr<ShoppingService> shopping_service_;
+  raw_ptr<PrefService> prefs_;
+  raw_ptr<image_fetcher::ImageFetcher> image_fetcher_;
+
+  // The URL of the last product image that was fetched.
+  GURL last_fetched_image_url_;
+
+  // The last image that was fetched. See |last_image_fetched_url_| for the
+  // URL that was used.
+  gfx::Image last_fetched_image_;
+
   base::WeakPtrFactory<ShoppingListUiTabHelper> weak_ptr_factory_{this};
+
   WEB_CONTENTS_USER_DATA_KEY_DECL();
 };
+
 }  // namespace commerce
+
 #endif  // CHROME_BROWSER_COMMERCE_PRICE_TRACKING_SHOPPING_LIST_UI_TAB_HELPER_H_
diff --git a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
index c2d51e3..da5055a 100644
--- a/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
+++ b/chrome/browser/commerce/subscriptions/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImpl.java
@@ -318,6 +318,7 @@
 
     // Calls the backend for known types and updates the local cache.
     private void initTypes(Callback<Integer> callback) {
+        mStorage.deleteAll();
         String type = CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK;
         getSubscriptions(type, true,
                 remoteSubscriptions
diff --git a/chrome/browser/commerce/subscriptions/test/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImplTest.java b/chrome/browser/commerce/subscriptions/test/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImplTest.java
index a0d42bf..e6cfa27 100644
--- a/chrome/browser/commerce/subscriptions/test/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImplTest.java
+++ b/chrome/browser/commerce/subscriptions/test/android/java/src/org/chromium/chrome/browser/subscriptions/SubscriptionsManagerImplTest.java
@@ -500,6 +500,7 @@
     @Test
     public void testOnIdentityChanged_AccountCleared() {
         // Fetch subscriptions when SubscriptionManager is created.
+        verify(mStorage, times(1)).deleteAll();
         verify(mProxy, times(1))
                 .get(eq(CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK),
                         any(Callback.class));
@@ -507,7 +508,7 @@
         // Simulate user signs out. We should delete local storage but not fetch data from server.
         PriceTrackingFeatures.setIsSignedInAndSyncEnabledForTesting(false);
         mSubscriptionsManager.onIdentityChanged();
-        verify(mStorage, times(1)).deleteAll();
+        verify(mStorage, times(2)).deleteAll();
         verify(mProxy, times(1))
                 .get(eq(CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK),
                         any(Callback.class));
@@ -518,6 +519,7 @@
     @Test
     public void testOnIdentityChanged_AccountChanged() {
         // Fetch subscriptions when SubscriptionManager is created.
+        verify(mStorage, times(1)).deleteAll();
         verify(mProxy, times(1))
                 .get(eq(CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK),
                         any(Callback.class));
@@ -526,7 +528,7 @@
         // from server.
         PriceTrackingFeatures.setIsSignedInAndSyncEnabledForTesting(true);
         mSubscriptionsManager.onIdentityChanged();
-        verify(mStorage, times(1)).deleteAll();
+        verify(mStorage, times(3)).deleteAll();
         verify(mProxy, times(2))
                 .get(eq(CommerceSubscription.CommerceSubscriptionType.PRICE_TRACK),
                         any(Callback.class));
diff --git a/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc b/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
index 330cf30..5efb2a1 100644
--- a/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
+++ b/chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc
@@ -6,7 +6,6 @@
 
 #include <memory>
 
-#include "ash/constants/ash_features.h"
 #include "ash/constants/ash_pref_names.h"
 #include "base/command_line.h"
 #include "base/memory/ptr_util.h"
@@ -28,6 +27,7 @@
 #include "chromeos/system/fake_statistics_provider.h"
 #include "chromeos/system/statistics_provider.h"
 #include "components/sync/base/command_line_switches.h"
+#include "components/sync/base/model_type.h"
 #include "components/sync/base/pref_names.h"
 #include "components/sync/model/sync_change_processor.h"
 #include "components/sync/test/fake_sync_change_processor.h"
@@ -248,34 +248,10 @@
   TestingBrowserProcess::GetGlobal()->SetProfileManager(nullptr);
 }
 
-enum class SyncSettingsCategorization { kEnabled, kDisabled };
-
-class ExternalProviderImplChromeOSSyncCategorizationTest
-    : public ExternalProviderImplChromeOSTest,
-      public ::testing::WithParamInterface<SyncSettingsCategorization> {
- public:
-  ExternalProviderImplChromeOSSyncCategorizationTest() {
-    switch (GetParam()) {
-      case SyncSettingsCategorization::kEnabled:
-        feature_list_.InitAndEnableFeature(
-            chromeos::features::kSyncSettingsCategorization);
-        break;
-      case SyncSettingsCategorization::kDisabled:
-        feature_list_.InitAndDisableFeature(
-            chromeos::features::kSyncSettingsCategorization);
-        break;
-    }
-  }
-
- private:
-  base::test::ScopedFeatureList feature_list_;
-};
-
 // User signed in, sync service started, install app when priority sync is
 // completed.
 // TODO(crbug.com/1177118) Re-enable test
-TEST_P(ExternalProviderImplChromeOSSyncCategorizationTest,
-       DISABLED_PriorityCompleted) {
+TEST_F(ExternalProviderImplChromeOSTest, DISABLED_PriorityCompleted) {
   InitServiceWithExternalProviders(true);
 
   // User is logged in.
@@ -291,18 +267,11 @@
   // App sync will wait for priority sync to complete.
   service_->CheckForExternalUpdates();
 
-  // SyncSettingsCategorization makes ExternalPrefLoader wait for OS priority
-  // prefs.
-  syncer::ModelType priority_pref_type =
-      GetParam() == SyncSettingsCategorization::kEnabled
-          ? syncer::OS_PRIORITY_PREFERENCES
-          : syncer::PRIORITY_PREFERENCES;
-
   // Priority sync completed.
   PrefServiceSyncableFromProfile(profile())
-      ->GetSyncableService(priority_pref_type)
+      ->GetSyncableService(syncer::OS_PRIORITY_PREFERENCES)
       ->MergeDataAndStartSyncing(
-          priority_pref_type, syncer::SyncDataList(),
+          syncer::OS_PRIORITY_PREFERENCES, syncer::SyncDataList(),
           std::make_unique<syncer::FakeSyncChangeProcessor>(),
           std::make_unique<syncer::SyncErrorFactoryMock>());
 
@@ -313,11 +282,6 @@
   EXPECT_TRUE(registry()->GetInstalledExtension(kStandaloneAppId));
 }
 
-INSTANTIATE_TEST_SUITE_P(All,
-                         ExternalProviderImplChromeOSSyncCategorizationTest,
-                         testing::Values(SyncSettingsCategorization::kDisabled,
-                                         SyncSettingsCategorization::kEnabled));
-
 // Validate the external providers enabled in the Chrome App Kiosk session. The
 // expected number should be 3.
 // - |policy_provider|.
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index 4638344..5982bfb 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -4676,6 +4676,11 @@
     "slideshow) when entering ambient mode. Currently, there is only one "
     "animation theme available (feel the breeze).";
 
+const char kApnRevampName[] = "APN Revamp";
+const char kApnRevampDescription[] =
+    "Enables the ChromeOS APN Revamp, which updates cellular network APN "
+    "system UI and related infrastructure.";
+
 const char kAppDiscoveryForOobeName[] =
     "OOBE app recommendations with App Discovery Service.";
 const char kAppDiscoveryForOobeDescription[] =
@@ -4924,12 +4929,6 @@
     "Bypass the non-cellular internet connectivity check during eSIM "
     "installation.";
 
-const char kApnRevampName[] = "APN Revamp";
-const char kApnRevampDescription[] =
-    "Enables the ChromeOS APN Revamp, which updates cellular network APN "
-    "system UI and related "
-    "infrastructure.";
-
 const char kCellularUseSecondEuiccName[] = "Use second Euicc";
 const char kCellularUseSecondEuiccDescription[] =
     "When enabled Cellular Setup and Settings UI will use the second available "
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 9f270be..d23c29b 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -2678,6 +2678,9 @@
 extern const char kAmbientModeAnimationName[];
 extern const char kAmbientModeAnimationDescription[];
 
+extern const char kApnRevampName[];
+extern const char kApnRevampDescription[];
+
 extern const char kAppDiscoveryForOobeName[];
 extern const char kAppDiscoveryForOobeDescription[];
 
@@ -2816,9 +2819,6 @@
 extern const char kCellularBypassESimInstallationConnectivityCheckName[];
 extern const char kCellularBypassESimInstallationConnectivityCheckDescription[];
 
-extern const char kApnRevampName[];
-extern const char kApnRevampDescription[];
-
 extern const char kCellularUseSecondEuiccName[];
 extern const char kCellularUseSecondEuiccDescription[];
 
diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc
index 3a1d97bd0..6d8b553 100644
--- a/chrome/browser/flags/android/chrome_feature_list.cc
+++ b/chrome/browser/flags/android/chrome_feature_list.cc
@@ -94,7 +94,6 @@
     &autofill::features::kAutofillManualFallbackAndroid,
     &autofill::features::kAutofillRefreshStyleAndroid,
     &autofill::features::kAutofillEnableSupportForHonorificPrefixes,
-    &autofill::features::kAutofillEnableSupportForMoreStructureInAddresses,
     &autofill::features::kAutofillEnableUpdateVirtualCardEnrollment,
     &autofill::features::kAutofillEnableVirtualCardMetadata,
     &blink::features::kForceWebContentsDarkMode,
diff --git a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
index c0c104e9..898b61b 100644
--- a/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
+++ b/chrome/browser/performance_manager/chrome_browser_main_extra_parts_performance_manager.cc
@@ -222,8 +222,9 @@
                 base::WrapUnique(new performance_manager::user_tuning::
                                      UserPerformanceTuningManager::
                                          UserPerformanceTuningReceiverImpl),
-                tab_count_threshold,
-                system_memory_kb * 100 / memory_percent_threshold)));
+                /*resident_set_threshold_kb=*/system_memory_kb * 100 /
+                    memory_percent_threshold,
+                /*tab_count_threshold=*/tab_count_threshold)));
   }
 #endif
 
diff --git a/chrome/browser/permissions/unused_site_permissions_service_browsertest.cc b/chrome/browser/permissions/unused_site_permissions_service_browsertest.cc
index a334b6f1..28b6b1e0 100644
--- a/chrome/browser/permissions/unused_site_permissions_service_browsertest.cc
+++ b/chrome/browser/permissions/unused_site_permissions_service_browsertest.cc
@@ -2,7 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "base/run_loop.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/test/simple_test_clock.h"
 #include "base/time/default_clock.h"
diff --git a/chrome/browser/resources/chromeos/accessibility/accessibility_common/BUILD.gn b/chrome/browser/resources/chromeos/accessibility/accessibility_common/BUILD.gn
index 23a88eb..48d2d00 100644
--- a/chrome/browser/resources/chromeos/accessibility/accessibility_common/BUILD.gn
+++ b/chrome/browser/resources/chromeos/accessibility/accessibility_common/BUILD.gn
@@ -123,7 +123,6 @@
     # The test uses data from the original location, not the copied one.
     "//chrome/browser/resources/chromeos/accessibility/accessibility_common/",
     "//chrome/browser/resources/chromeos/accessibility/common/",
-    "//ui/webui/resources/js/cr.js",
   ]
   data += js2gtest_js_libraries
 }
diff --git a/chrome/browser/resources/chromeos/accessibility/select_to_speak/BUILD.gn b/chrome/browser/resources/chromeos/accessibility/select_to_speak/BUILD.gn
index ff89fa6..6484af4 100644
--- a/chrome/browser/resources/chromeos/accessibility/select_to_speak/BUILD.gn
+++ b/chrome/browser/resources/chromeos/accessibility/select_to_speak/BUILD.gn
@@ -73,7 +73,6 @@
     # The test uses data from the original location, not the copied one.
     "//chrome/browser/resources/chromeos/accessibility/common/",
     "//chrome/browser/resources/chromeos/accessibility/select_to_speak/",
-    "//ui/webui/resources/js/cr.js",
   ]
   data += js2gtest_js_libraries
 }
diff --git a/chrome/browser/resources/chromeos/accessibility/select_to_speak/fake_settings_private.js b/chrome/browser/resources/chromeos/accessibility/select_to_speak/fake_settings_private.js
index 9bc6b6ec..1493834 100644
--- a/chrome/browser/resources/chromeos/accessibility/select_to_speak/fake_settings_private.js
+++ b/chrome/browser/resources/chromeos/accessibility/select_to_speak/fake_settings_private.js
@@ -8,7 +8,6 @@
  * settings/WebUI team. For the updated version (JS modules only), see
  * chrome/test/data/webui/settings/fake_settings_private.js.
  */
-cr.define('settings', function() {
   /**
    * @typedef {Array<{key: string,
    *               type: chrome.settingsPrivate.PrefType,
@@ -146,9 +145,3 @@
       };
     }
   }
-
-  return {
-    FakeSettingsPrivate,
-    FakeSettingsPrivatePref,
-  };
-});
diff --git a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_enhanced_voices_test.js b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_enhanced_voices_test.js
index 72c4e7f..dde3274 100644
--- a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_enhanced_voices_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_enhanced_voices_test.js
@@ -2,7 +2,6 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-GEN_INCLUDE(['../../../../../../ui/webui/resources/js/cr.js']);
 GEN_INCLUDE(['fake_chrome_event.js']);
 GEN_INCLUDE(['select_to_speak_e2e_test_base.js']);
 GEN_INCLUDE(['../common/testing/mock_tts.js']);
@@ -24,7 +23,7 @@
 
     this.enhancedNetworkVoicesPolicyKey_ =
         'settings.a11y.enhanced_network_voices_in_select_to_speak_allowed';
-    this.mockSettingsPrivate_ = new settings.FakeSettingsPrivate([
+    this.mockSettingsPrivate_ = new FakeSettingsPrivate([
       {type: 'number', key: 'settings.tts.speech_rate', value: 1.0},
       {type: 'number', key: 'settings.tts.speech_pitch', value: 1.0},
       {type: 'boolean', key: this.enhancedNetworkVoicesPolicyKey_, value: true},
diff --git a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_prefs_test.js b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_prefs_test.js
index 89ba31b..be99009 100644
--- a/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_prefs_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/select_to_speak/select_to_speak_prefs_test.js
@@ -3,7 +3,6 @@
 // found in the LICENSE file.
 
 GEN_INCLUDE(['select_to_speak_e2e_test_base.js']);
-GEN_INCLUDE(['../../../../../../ui/webui/resources/js/cr.js']);
 GEN_INCLUDE(['fake_chrome_event.js']);
 GEN_INCLUDE(['fake_settings_private.js']);
 GEN_INCLUDE(['../common/testing/mock_storage.js']);
@@ -20,7 +19,7 @@
 
     const enhancedNetworkVoicesAllowedKey =
         'settings.a11y.enhanced_network_voices_in_select_to_speak_allowed';
-    this.mockSettingsPrivate_ = new settings.FakeSettingsPrivate([
+    this.mockSettingsPrivate_ = new FakeSettingsPrivate([
       {type: 'number', key: 'settings.tts.speech_rate', value: 1.0},
       {type: 'number', key: 'settings.tts.speech_pitch', value: 1.0},
       {type: 'boolean', key: enhancedNetworkVoicesAllowedKey, value: true},
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb
index c30a49f..5440a37 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_iw.xtb
@@ -140,6 +140,7 @@
 <translation id="1834891354138622109">עמודה</translation>
 <translation id="1846771122725914429">‏צג ברייל תואם Bluetooth</translation>
 <translation id="1852018405765032699">‏כדי לפתוח ולסגור את התפריטים של ChromeVox, מקישים על המסך בעזרת ארבע אצבעות. התפריטים האלה כוללים מידע שימושי לגבי פקודות ומקשי קיצור. אחרי שפותחים את התפריטים, אפשר להחליק בעזרת אצבע אחת כדי לעבור בין פריטים וללחוץ פעמיים כדי להפעיל פריטים. כדי להמשיך יש להקיש על המסך בעזרת ארבע אצבעות.</translation>
+<translation id="1864430479908918647">יש להקיש על מקש החיפוש ועל מקש הרווח</translation>
 <translation id="1865601187525349519">סוף הטקסט</translation>
 <translation id="1876229593313240038">doc</translation>
 <translation id="1902396333223336119">תא</translation>
@@ -780,6 +781,7 @@
 <translation id="6236061028292614533">הכותרת הבאה</translation>
 <translation id="6254901459154107917">האזור הבא בטקסט הניתן לעריכה</translation>
 <translation id="6259464875943891919">יצאת מ-<ph name="TYPE" />.</translation>
+<translation id="6280088282605782512">הקשה כפולה</translation>
 <translation id="6282062888058716985">nav</translation>
 <translation id="6295699829709583154">מקשים חיוניים: חיפוש</translation>
 <translation id="6305702903308659374">‏הפעלה בעוצמת שמע רגילה גם אם מכשיר ה-ChromeVox מקריא</translation>
@@ -983,6 +985,7 @@
 <translation id="7731785449856576010">אין עוד ווידג'טים של מדיה</translation>
 <translation id="7735498529470878067">בעזרת 'גילוי באמצעות מגע', קל להבין במהירות מה מוצג במסך.</translation>
 <translation id="773906353055481349">‏כדי לנווט לפי תא, יש להקיש על Search+Ctrl+Alt ביחד עם מקשי החיצים</translation>
+<translation id="7746976083433980639"><ph name="ACTION" /> עד <ph name="LABEL" /></translation>
 <translation id="7763537600611320912">ההורדה של <ph name="FILE_NAME" /> התחילה</translation>
 <translation id="7768784765476638775">הקראה</translation>
 <translation id="7776293189010177726">‏פתיחת תפריטי ChromeVox</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
index e3b95061..e6071a2 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_ja.xtb
@@ -237,6 +237,7 @@
 <translation id="2619344480613750862">画面上のセクション間を移動することもできます。たとえば、ランチャー、シェルフ、Chrome のタブの間を移動できます。次のセクションに移動するには、4 本の指で左から右にスワイプします。実際にやってみて、次へ進みましょう。</translation>
 <translation id="2624431853467395961">学習モードを開く</translation>
 <translation id="2626530649491650971">クリック可能</translation>
+<translation id="263637551280112393">検索+Shift+Space キーを押す</translation>
 <translation id="2637227747952042642">数式</translation>
 <translation id="2638785836053527382"><ph name="FILE_NAME" /> のダウンロードを再開しました</translation>
 <translation id="2639750663247012216">ChromeVox 修飾キー</translation>
@@ -649,6 +650,7 @@
 <translation id="5355014376930441909">次のセクションはありません</translation>
 <translation id="5368000168321181111">イアコン オフ</translation>
 <translation id="5368505757342402527"><ph name="FILE_NAME" /> のダウンロードが <ph name="PROGRESS" />% 終了しました。完了まであと約 <ph name="TIME" /> <ph name="UNITS" />です。</translation>
+<translation id="5381388086899614489">押し続ける</translation>
 <translation id="5400836586163650660">グレー</translation>
 <translation id="5402367795255837559">点字</translation>
 <translation id="5402791055281059602">モーダル アラート</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
index a533522..4cca984 100644
--- a/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
+++ b/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_kk.xtb
@@ -238,6 +238,7 @@
 <translation id="2619344480613750862">Сондай-ақ экрандағы бөлімдер арасында жылжуыңызға болады. Мысалы, іске қосқыш, сөре және Chrome қойындылары арасында жылжи аласыз. Келесі бөлімге жылжу үшін төрт саусақпен солдан оңға сырғытыңыз. Мұны қазір істеп көріп, әрі қарай жалғастырыңыз.</translation>
 <translation id="2624431853467395961">Үйрену режимін ашу</translation>
 <translation id="2626530649491650971">clickable</translation>
+<translation id="263637551280112393">Search + Shift + Бос орын пернелер тіркесімін басыңыз.</translation>
 <translation id="2637227747952042642">Математика</translation>
 <translation id="2638785836053527382"><ph name="FILE_NAME" /> файлын жүктеп алу жалғастырылды</translation>
 <translation id="2639750663247012216">ChromeVox өзгерткіші</translation>
@@ -650,6 +651,7 @@
 <translation id="5355014376930441909">Келесі бөлім жоқ.</translation>
 <translation id="5368000168321181111">Дыбыстық сигналдарды өшіру</translation>
 <translation id="5368505757342402527"><ph name="FILE_NAME" /> файлының <ph name="PROGRESS" />%-ы жүктеп алынды. Шамамен <ph name="TIME" /> <ph name="UNITS" /> қалды.</translation>
+<translation id="5381388086899614489">ұзақ басып тұру</translation>
 <translation id="5400836586163650660">Сұр</translation>
 <translation id="5402367795255837559">Брайль</translation>
 <translation id="5402791055281059602">Модальдық ескерту</translation>
diff --git a/chrome/browser/resources/chromeos/accessibility/switch_access/BUILD.gn b/chrome/browser/resources/chromeos/accessibility/switch_access/BUILD.gn
index 56a54928..9ee02107a 100644
--- a/chrome/browser/resources/chromeos/accessibility/switch_access/BUILD.gn
+++ b/chrome/browser/resources/chromeos/accessibility/switch_access/BUILD.gn
@@ -99,7 +99,6 @@
   data = [
     "//chrome/browser/resources/chromeos/accessibility/common/",
     "//chrome/browser/resources/chromeos/accessibility/switch_access/",
-    "//ui/webui/resources/js/cr.js",
   ]
   data += js2gtest_js_libraries
 }
diff --git a/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_graphics_tracing.html b/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_graphics_tracing.html
index 4566bff..2826aa2 100644
--- a/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_graphics_tracing.html
+++ b/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_graphics_tracing.html
@@ -9,7 +9,7 @@
   <head>
     <meta charset=utf-8>
     <link rel="stylesheet" href="arc_tracing.css">
-    <script src="chrome://resources/js/cr.js"></script>
+    <script src="chrome://resources/ash/common/cr.js"></script>
     <script src="chrome://resources/js/util_deprecated.js"></script>
     <script src="arc_tracing_ui.js"></script>
     <script src="arc_graphics_tracing_ui.js"></script>
diff --git a/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_overview_tracing.html b/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_overview_tracing.html
index 7d4e8a6..f837cd33 100644
--- a/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_overview_tracing.html
+++ b/chrome/browser/resources/chromeos/arc_graphics_tracing/arc_overview_tracing.html
@@ -9,7 +9,7 @@
   <head>
     <meta charset=utf-8>
     <link rel="stylesheet" href="arc_tracing.css">
-    <script src="chrome://resources/js/cr.js"></script>
+    <script src="chrome://resources/ash/common/cr.js"></script>
     <script src="chrome://resources/js/util_deprecated.js"></script>
     <script src="arc_tracing_ui.js"></script>
     <script src="arc_overview_tracing_ui.js"></script>
diff --git a/chrome/browser/resources/chromeos/arc_power_control/arc_power_control.html b/chrome/browser/resources/chromeos/arc_power_control/arc_power_control.html
index 77c90ea..0fb40d3 100644
--- a/chrome/browser/resources/chromeos/arc_power_control/arc_power_control.html
+++ b/chrome/browser/resources/chromeos/arc_power_control/arc_power_control.html
@@ -10,7 +10,7 @@
     <meta charset=utf-8>
     <link rel="stylesheet" href="arc_power_control.css">
     <link rel="stylesheet" href="arc_tracing.css">
-    <script src="chrome://resources/js/cr.js"></script>
+    <script src="chrome://resources/ash/common/cr.js"></script>
     <script src="chrome://resources/js/util_deprecated.js"></script>
     <script src="arc_tracing_ui.js"></script>
     <script src="arc_power_control.js"></script>
diff --git a/chrome/browser/resources/chromeos/arc_support/main.html b/chrome/browser/resources/chromeos/arc_support/main.html
index 8bf7adc..f2427b9 100644
--- a/chrome/browser/resources/chromeos/arc_support/main.html
+++ b/chrome/browser/resources/chromeos/arc_support/main.html
@@ -14,7 +14,7 @@
   <script src="chrome://resources/js/load_time_data.js"></script>
   <script src="chrome://resources/js/util_deprecated.js"></script>
   <script src="i18n_template_no_process.js"></script>
-  <script src="chrome://resources/js/cr.js"></script>
+  <script src="chrome://resources/ash/common/cr.js"></script>
   <script src="event_tracker.js"></script>
   <script src="ui.js"></script>
   <script src="bubble.js"></script>
diff --git a/chrome/browser/resources/chromeos/assistant_optin/browser_proxy.html b/chrome/browser/resources/chromeos/assistant_optin/browser_proxy.html
index 92e7ad5b..772ebc8 100644
--- a/chrome/browser/resources/chromeos/assistant_optin/browser_proxy.html
+++ b/chrome/browser/resources/chromeos/assistant_optin/browser_proxy.html
@@ -4,5 +4,4 @@
 found in the LICENSE file.
 -->
 
-<script src="chrome://resources/js/cr.js">
 <script src="browser_proxy.js"></script>
diff --git a/chrome/browser/resources/chromeos/keyboard/BUILD.gn b/chrome/browser/resources/chromeos/keyboard/BUILD.gn
index db5f1d5..3f9b78b9 100644
--- a/chrome/browser/resources/chromeos/keyboard/BUILD.gn
+++ b/chrome/browser/resources/chromeos/keyboard/BUILD.gn
@@ -3,8 +3,8 @@
 # found in the LICENSE file.
 
 import("//third_party/closure_compiler/compile_js.gni")
-import("//ui/webui/resources/tools/js_modulizer.gni")
 import("//tools/grit/preprocess_if_expr.gni")
+import("//ui/webui/resources/tools/js_modulizer.gni")
 
 # Copies the modulized file into chromeos/login to be used
 # by the GRD generated there.
@@ -12,39 +12,27 @@
   deps = [ ":modulize" ]
   in_folder = target_gen_dir
   out_folder = "$target_gen_dir/../login"
-  in_files = [
-    "keyboard_utils.m.js"
-  ]
+  in_files = [ "keyboard_utils.m.js" ]
 }
 
 js_type_check("closure_compile") {
-  deps = [
-    ":keyboard_utils",
-  ]
+  deps = [ ":keyboard_utils" ]
 }
 
 js_type_check("closure_compile_module") {
-  deps = [
-    ":keyboard_utils.m",
-  ]
+  deps = [ ":keyboard_utils.m" ]
 }
 
 js_library("keyboard_utils") {
-  deps = [
-    "//ui/webui/resources/js:cr",
-  ]
+  externs_list = [ "$externs_path/chrome_send.js" ]
 }
 
 js_library("keyboard_utils.m") {
   sources = [ "$root_gen_dir/chrome/browser/resources/chromeos/keyboard/keyboard_utils.m.js" ]
-  deps = [
-    "//ui/webui/resources/js:cr.m",
-  ]
+  externs_list = [ "$externs_path/chrome_send.js" ]
   extra_deps = [ ":modulize" ]
 }
 
 js_modulizer("modulize") {
-  input_files = [
-    "keyboard_utils.js",
-  ]
+  input_files = [ "keyboard_utils.js" ]
 }
diff --git a/chrome/browser/resources/chromeos/mobile_setup_portal.html b/chrome/browser/resources/chromeos/mobile_setup_portal.html
index 15e1857f..9c5aa71e 100644
--- a/chrome/browser/resources/chromeos/mobile_setup_portal.html
+++ b/chrome/browser/resources/chromeos/mobile_setup_portal.html
@@ -5,7 +5,7 @@
 <title>$i18n{title}</title>
 <link rel="stylesheet" href="chrome://resources/css/text_defaults.css">
 <link rel="stylesheet" href="mobile_setup.css"></link>
-<script src="chrome://resources/js/cr.js"></script>
+<script src="chrome://resources/ash/common/cr.js"></script>
 <script src="chrome://resources/js/util_deprecated.js"></script>
 <script src="chrome://resources/cr_components/chromeos/cellular_setup/webview_post_util.js">
 </script>
diff --git a/chrome/browser/resources/chromeos/notification_tester/index.html b/chrome/browser/resources/chromeos/notification_tester/index.html
index 51958956..4ae0ad2c 100644
--- a/chrome/browser/resources/chromeos/notification_tester/index.html
+++ b/chrome/browser/resources/chromeos/notification_tester/index.html
@@ -11,7 +11,6 @@
   <meta charset="utf-8">
   <title>Notification Tester</title>
   <link rel="stylesheet" href="chrome://resources/css/text_defaults_md.css">
-  <script src="chrome://resources/js/cr.js"></script>
 </head>
 
 <body>
@@ -19,4 +18,4 @@
   <script type="module" src="notification_tester.js"></script>
 </body>
 
-</html>
\ No newline at end of file
+</html>
diff --git a/chrome/browser/resources/chromeos/password_change/lock_screen_reauth.html b/chrome/browser/resources/chromeos/password_change/lock_screen_reauth.html
index 8e72017..b6853955 100644
--- a/chrome/browser/resources/chromeos/password_change/lock_screen_reauth.html
+++ b/chrome/browser/resources/chromeos/password_change/lock_screen_reauth.html
@@ -284,7 +284,7 @@
   <div id="samlContainer"
       saml-notice-message$="[[showSamlNoticeMessage_]]">
     <span id="samlNoticeMessage" hidden="[[!showSamlNoticeMessage_]]">
-    [[i18n('samlNotice', authDomain]]
+      [[i18n('samlNotice', authDomain_)]]
     </span>
     <cr-icon-button id="saml-close-button" iron-icon="cr:close"
         on-click="onCloseTap_" aria-label="$i18n{lockScreenCloseButton}">
@@ -360,4 +360,4 @@
       <iron-icon icon="oobe-20:button-arrow-forward"></iron-icon>
     </cr-button>
   </div>
-</div>
\ No newline at end of file
+</div>
diff --git a/chrome/browser/resources/new_tab_page/app.html b/chrome/browser/resources/new_tab_page/app.html
index 8738777..4e80351 100644
--- a/chrome/browser/resources/new_tab_page/app.html
+++ b/chrome/browser/resources/new_tab_page/app.html
@@ -1,6 +1,5 @@
 <style include="cr-shared-style">
   :host {
-    --ntp-theme-text-color: var(--google-grey-800);
     --ntp-theme-text-shadow: none;
     --ntp-one-google-bar-height: 56px;
     --ntp-search-box-width: 337px;
@@ -23,12 +22,6 @@
     }
   }
 
-  @media (prefers-color-scheme: dark) {
-    :host {
-      --ntp-theme-text-color: white;
-    }
-  }
-
   :host([modules-redesigned-enabled_]) {
     --ntp-module-border-radius: 24px;
     --ntp-module-layout-width: 360px;
@@ -113,7 +106,7 @@
 
   cr-most-visited {
     --most-visited-focus-shadow: var(--ntp-focus-shadow);
-    --most-visited-text-color: var(--ntp-theme-text-color);
+    --most-visited-text-color: var(--color-new-tab-page-most-visited-foreground);
     --most-visited-text-shadow: var(--ntp-theme-text-shadow);
   }
 
@@ -231,7 +224,7 @@
   #backgroundImageAttribution {
     border-radius: 8px;
     bottom: 16px;
-    color: var(--ntp-theme-text-color);
+    color: var(--color-new-tab-page-attribution-foreground);
     line-height: 20px;
     max-width: 50vw;
     padding: 8px;
@@ -271,7 +264,7 @@
     -webkit-mask-image: url(icons/link.svg);
     -webkit-mask-repeat: no-repeat;
     -webkit-mask-size: 100%;
-    background-color: var(--ntp-theme-text-color);
+    background-color: var(--color-new-tab-page-attribution-foreground);
     height: 16px;
     margin-inline-end: 8px;
     width: 16px;
@@ -303,7 +296,8 @@
   }
 </style>
 <div id="content" style="
-        --ntp-theme-text-color: [[rgbaOrInherit_(theme_.textColor)]];
+        --color-new-tab-page-attribution-foreground: [[rgbaOrInherit_(theme_.textColor)]];
+        --color-new-tab-page-most-visited-foreground: [[rgbaOrInherit_(theme_.textColor)]];
         --ntp-logo-color: [[rgbaOrInherit_(logoColor_)]];">
   <template is="dom-if" if="[[lazyRender_]]">
     <template is="dom-if" if="[[oneGoogleBarEnabled_]]">
diff --git a/chrome/browser/storage_access_api/api_browsertest.cc b/chrome/browser/storage_access_api/api_browsertest.cc
index 1214636..b54d886 100644
--- a/chrome/browser/storage_access_api/api_browsertest.cc
+++ b/chrome/browser/storage_access_api/api_browsertest.cc
@@ -765,6 +765,193 @@
                         StorageAccessAPIForSiteExtensionBrowserTest,
                         testing::Combine(testing::Bool(), testing::Bool()));
 
+// Tests to validate First-Party Set use with `requestStorageAccessForSite`.
+class StorageAccessAPIForSiteWithFirstPartySetsBrowserTest
+    : public StorageAccessAPIBaseBrowserTest,
+      public testing::WithParamInterface<std::tuple<bool, bool>> {
+ public:
+  StorageAccessAPIForSiteWithFirstPartySetsBrowserTest()
+      : StorageAccessAPIBaseBrowserTest(false, false) {}
+
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    StorageAccessAPIBaseBrowserTest::SetUpCommandLine(command_line);
+    command_line->AppendSwitchASCII(
+        network::switches::kUseFirstPartySet,
+        base::StrCat({R"({"primary": "https://)", kHostA,
+                      R"(", "associatedSites": ["https://)", kHostC, R"("])",
+                      R"(, "serviceSites": ["https://)", kHostB, R"("]})"}));
+  }
+
+ protected:
+  std::vector<base::test::ScopedFeatureList::FeatureAndParams>
+  GetEnabledFeatures() override {
+    return {{blink::features::kStorageAccessAPIForSiteExtension, {}},
+            {net::features::kStorageAccessAPI,
+             {
+                 {
+                     net::features::kStorageAccessAPIAutoGrantInFPS.name,
+                     "true",
+                 },
+                 {
+                     net::features::kStorageAccessAPIAutoDenyOutsideFPS.name,
+                     "true",
+                 },
+                 // Setting implicit grants to a non-zero number here
+                 // demonstrates that when the auto-deny param is enabled, the
+                 // implicit grants param doesn't matter, since the auto-deny
+                 // param takes precedence.
+                 {
+                     "storage-access-api-implicit-grant-limit",
+                     "5",
+                 },
+             }}};
+  }
+};
+
+IN_PROC_BROWSER_TEST_F(StorageAccessAPIForSiteWithFirstPartySetsBrowserTest,
+                       Permission_AutograntedWithinFirstPartySet) {
+  SetBlockThirdPartyCookies(true);
+  base::HistogramTester histogram_tester;
+
+  // Set cross-site cookies on all hosts.
+  SetCrossSiteCookieOnHost(kHostA);
+  SetCrossSiteCookieOnHost(kHostB);
+  SetCrossSiteCookieOnHost(kHostC);
+
+  NavigateToPageWithFrame(kHostA);
+
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  // The request comes from `kHostA`, which is in a First-Party Set with
+  // `khostB`. Note that `kHostB` would not be auto-granted access if it were
+  // the requestor, because it is a service domain.
+  EXPECT_TRUE(storage::test::RequestStorageAccessForSite(
+      GetPrimaryMainFrame(),
+      base::StrCat({"https://", kHostB, ":",
+                    base::NumberToString(https_server().port())})));
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // Navigate iframe to a cross-site, cookie-reading endpoint, and verify that
+  // the cookie is sent.
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "cross-site=b.test");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "cross-site=b.test");
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // Also validate that an additional site C was not granted access.
+  NavigateFrameTo(kHostC, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+}
+
+IN_PROC_BROWSER_TEST_F(StorageAccessAPIForSiteWithFirstPartySetsBrowserTest,
+                       Permission_AutodeniedForServiceDomain) {
+  SetBlockThirdPartyCookies(true);
+  base::HistogramTester histogram_tester;
+
+  // Set cross-site cookies on all hosts.
+  SetCrossSiteCookieOnHost(kHostA);
+  SetCrossSiteCookieOnHost(kHostB);
+
+  NavigateToPageWithFrame(kHostB);
+
+  NavigateFrameTo(kHostA, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  // The promise should be rejected; `khostB` is a service domain.
+  EXPECT_FALSE(storage::test::RequestStorageAccessForSite(
+      GetPrimaryMainFrame(),
+      base::StrCat({"https://", kHostA, ":",
+                    base::NumberToString(https_server().port())})));
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // Re-navigate iframe to a cross-site, cookie-reading endpoint, and verify
+  // that the cookie is not sent.
+  NavigateFrameTo(kHostA, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+}
+
+IN_PROC_BROWSER_TEST_F(StorageAccessAPIForSiteWithFirstPartySetsBrowserTest,
+                       Permission_AutodeniedForServiceDomainInIframe) {
+  SetBlockThirdPartyCookies(true);
+  base::HistogramTester histogram_tester;
+
+  // Set cross-site cookies on all hosts.
+  SetCrossSiteCookieOnHost(kHostA);
+  SetCrossSiteCookieOnHost(kHostB);
+
+  NavigateToPageWithFrame(kHostA);
+
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  // `kHostB` cannot be granted access via `requestStorageAccessForSite`,
+  // because the call is not from the top-level page and because `kHostB` is a
+  // service domain.
+  EXPECT_FALSE(storage::test::RequestStorageAccessForSite(
+      GetFrame(), base::StrCat({"https://", kHostA, ":",
+                                base::NumberToString(https_server().port())})));
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // Navigate iframe to a cross-site, cookie-reading endpoint, and verify that
+  // the cookie is not sent.
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // However, a regular `requestStorageAccess` call should be granted;
+  // requesting on behalf of another domain is what is not acceptable.
+  EXPECT_TRUE(storage::test::RequestStorageAccessForFrame(GetFrame()));
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // When the frame subsequently navigates to an endpoint on kHostB,
+  // kHostB's cookies are sent, and the iframe retains storage
+  // access.
+  NavigateFrameTo(kHostB, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "cross-site=b.test");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "cross-site=b.test");
+  EXPECT_TRUE(storage::test::HasStorageAccessForFrame(GetFrame()));
+}
+
+IN_PROC_BROWSER_TEST_F(StorageAccessAPIForSiteWithFirstPartySetsBrowserTest,
+                       Permission_AutodeniedOutsideFirstPartySet) {
+  SetBlockThirdPartyCookies(true);
+  base::HistogramTester histogram_tester;
+
+  // Set cross-site cookies on all hosts.
+  SetCrossSiteCookieOnHost(kHostA);
+  SetCrossSiteCookieOnHost(kHostD);
+
+  NavigateToPageWithFrame(kHostA);
+
+  NavigateFrameTo(kHostD, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+  // `kHostD` cannot be granted access via `requestStorageAccessForSite` in this
+  // configuration, because the requesting site (`kHostA`) is not in the same
+  // First-Party Set as the requested site (`kHostD`).
+  EXPECT_FALSE(storage::test::RequestStorageAccessForSite(
+      GetFrame(), base::StrCat({"https://", kHostD, ":",
+                                base::NumberToString(https_server().port())})));
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+
+  // Navigate iframe to a cross-site, cookie-reading endpoint, and verify that
+  // the cookie is not sent.
+  NavigateFrameTo(kHostD, "/echoheader?cookie");
+  EXPECT_EQ(GetFrameContent(), "None");
+  EXPECT_EQ(ReadCookiesViaJS(GetFrame()), "");
+  EXPECT_FALSE(storage::test::HasStorageAccessForFrame(GetFrame()));
+}
+
 // Tests to validate that, when the rsaForSite extension is explicitly disabled,
 // or if the larger Storage Access API is disabled, it does not leak onto the
 // document object.
diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
index 2fc10e7a..d85d408 100644
--- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
+++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.cc
@@ -20,9 +20,11 @@
 #include "components/permissions/permission_request_id.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/browser_thread.h"
+#include "content/public/browser/render_frame_host.h"
 #include "content/public/browser/storage_partition.h"
 #include "content/public/common/content_features.h"
 #include "net/base/features.h"
+#include "net/first_party_sets/first_party_set_entry.h"
 #include "net/first_party_sets/first_party_set_metadata.h"
 #include "net/first_party_sets/same_party_context.h"
 #include "services/network/public/mojom/cookie_manager.mojom.h"
@@ -71,6 +73,22 @@
   base::UmaHistogramEnumeration("API.StorageAccess.RequestOutcome", outcome);
 }
 
+StorageAccessRequestType GetStorageAccessRequestType(
+    const GURL& requesting_origin,
+    const GURL& embedding_origin,
+    content::RenderFrameHost* render_frame_host) {
+  // `requestStorageAccessForSite` can only be called from the main frame, and
+  // standard `requestStorageAccess` calls pass the same origin for requesting
+  // and embedding in a top-level context. Any `requestStorageAccessForSite`
+  // calls passing the same origin as the current page are automatically granted
+  // upstream.
+  if (render_frame_host->IsInPrimaryMainFrame() &&
+      requesting_origin != embedding_origin) {
+    return StorageAccessRequestType::kRequestStorageAccessForSite;
+  }
+  return StorageAccessRequestType::kRequestStorageAccess;
+}
+
 }  // namespace
 
 StorageAccessGrantPermissionContext::StorageAccessGrantPermissionContext(
@@ -124,6 +142,12 @@
     return;
   }
 
+  content::RenderFrameHost* rfh = content::RenderFrameHost::FromID(
+      id.render_process_id(), id.render_frame_id());
+  DCHECK(rfh);
+  StorageAccessRequestType request_type =
+      GetStorageAccessRequestType(requesting_origin, embedding_origin, rfh);
+
   return browser_context()
       ->GetDefaultStoragePartition()
       ->GetNetworkContext()
@@ -133,7 +157,8 @@
           base::BindOnce(&StorageAccessGrantPermissionContext::
                              CheckForAutoGrantOrAutoDenial,
                          weak_factory_.GetWeakPtr(), id, requesting_origin,
-                         embedding_origin, user_gesture, std::move(callback)));
+                         embedding_origin, user_gesture, request_type,
+                         std::move(callback)));
 }
 
 void StorageAccessGrantPermissionContext::CheckForAutoGrantOrAutoDenial(
@@ -141,11 +166,13 @@
     const GURL& requesting_origin,
     const GURL& embedding_origin,
     bool user_gesture,
+    const StorageAccessRequestType request_type,
     permissions::BrowserPermissionCallback callback,
     net::FirstPartySetMetadata metadata) {
   // We should only run this method if something might need the FPS metadata.
   DCHECK(net::features::kStorageAccessAPIAutoGrantInFPS.Get() ||
          net::features::kStorageAccessAPIAutoDenyOutsideFPS.Get());
+
   switch (metadata.context().context_type()) {
     case net::SamePartyContext::Type::kCrossParty:
       if (net::features::kStorageAccessAPIAutoDenyOutsideFPS.Get()) {
@@ -159,6 +186,18 @@
       break;
     case net::SamePartyContext::Type::kSameParty:
       if (net::features::kStorageAccessAPIAutoGrantInFPS.Get()) {
+        // Service domains are not allowed to request storage access on behalf
+        // of other domains, even in the same First-Party Set.
+        if (request_type ==
+                StorageAccessRequestType::kRequestStorageAccessForSite &&
+            metadata.top_frame_entry()->site_type() ==
+                net::SiteType::kService) {
+          NotifyPermissionSetInternal(id, requesting_origin, embedding_origin,
+                                      std::move(callback),
+                                      /*persist=*/true, CONTENT_SETTING_BLOCK,
+                                      RequestOutcome::kDeniedByPrerequisites);
+          return;
+        }
         // Since the sites are in the same First-Party Set, risk of abuse due to
         // allowing access is considered to be low.
         NotifyPermissionSetInternal(id, requesting_origin, embedding_origin,
diff --git a/chrome/browser/storage_access_api/storage_access_grant_permission_context.h b/chrome/browser/storage_access_api/storage_access_grant_permission_context.h
index c925ebfd..24df772 100644
--- a/chrome/browser/storage_access_api/storage_access_grant_permission_context.h
+++ b/chrome/browser/storage_access_api/storage_access_grant_permission_context.h
@@ -45,6 +45,11 @@
   kMaxValue = kReusedPreviousDecision,
 };
 
+enum class StorageAccessRequestType {
+  kRequestStorageAccess,
+  kRequestStorageAccessForSite
+};
+
 class StorageAccessGrantPermissionContext
     : public permissions::PermissionContextBase {
  public:
@@ -110,6 +115,7 @@
       const GURL& requesting_origin,
       const GURL& embedding_origin,
       bool user_gesture,
+      const StorageAccessRequestType request_type,
       permissions::BrowserPermissionCallback callback,
       net::FirstPartySetMetadata metadata);
 
diff --git a/chrome/browser/sync/test/integration/ash_lacros_sync_test.cc b/chrome/browser/sync/test/integration/ash_lacros_sync_test.cc
index 51b992e..a0c5c59 100644
--- a/chrome/browser/sync/test/integration/ash_lacros_sync_test.cc
+++ b/chrome/browser/sync/test/integration/ash_lacros_sync_test.cc
@@ -16,8 +16,7 @@
 class LacrosPrimaryAshSyncTest : public SyncTest {
  public:
   LacrosPrimaryAshSyncTest() : SyncTest(SINGLE_CLIENT) {
-    feature_list_.InitWithFeatures({ash::features::kSyncSettingsCategorization,
-                                    chromeos::features::kLacrosSupport,
+    feature_list_.InitWithFeatures({chromeos::features::kLacrosSupport,
                                     chromeos::features::kLacrosPrimary},
                                    {});
   }
@@ -32,8 +31,7 @@
  public:
   LacrosOnlyAshSyncTest() : SyncTest(SINGLE_CLIENT) {
     feature_list_.InitWithFeatures(
-        {ash::features::kSyncSettingsCategorization,
-         chromeos::features::kLacrosSupport, chromeos::features::kLacrosPrimary,
+        {chromeos::features::kLacrosSupport, chromeos::features::kLacrosPrimary,
          chromeos::features::kLacrosOnly},
         {});
   }
diff --git a/chrome/browser/sync/test/integration/preferences_helper.cc b/chrome/browser/sync/test/integration/preferences_helper.cc
index 3774778..ef3b9d24 100644
--- a/chrome/browser/sync/test/integration/preferences_helper.cc
+++ b/chrome/browser/sync/test/integration/preferences_helper.cc
@@ -56,11 +56,11 @@
 
 void ChangeListPref(int index,
                     const char* pref_name,
-                    const base::ListValue& new_value) {
-  ListPrefUpdate update(GetPrefs(index), pref_name);
-  base::Value* list = update.Get();
-  for (const base::Value& it : new_value.GetListDeprecated()) {
-    list->Append(it.Clone());
+                    const base::Value::List& new_value) {
+  ScopedListPrefUpdate update(GetPrefs(index), pref_name);
+  base::Value::List& list = update.Get();
+  for (const base::Value& it : new_value) {
+    list.Append(it.Clone());
   }
 }
 
diff --git a/chrome/browser/sync/test/integration/preferences_helper.h b/chrome/browser/sync/test/integration/preferences_helper.h
index 8189be7..d4e54ac 100644
--- a/chrome/browser/sync/test/integration/preferences_helper.h
+++ b/chrome/browser/sync/test/integration/preferences_helper.h
@@ -62,7 +62,7 @@
 // profile with index |index| to |new_value|.
 void ChangeListPref(int index,
                     const char* pref_name,
-                    const base::ListValue& new_value);
+                    const base::Value::List& new_value);
 
 // Used to verify that the boolean preference with name |pref_name| has the
 // same value across all profiles.
diff --git a/chrome/browser/sync/test/integration/single_client_app_list_sync_test.cc b/chrome/browser/sync/test/integration/single_client_app_list_sync_test.cc
index 05fca64..adcb03f0 100644
--- a/chrome/browser/sync/test/integration/single_client_app_list_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_app_list_sync_test.cc
@@ -11,7 +11,6 @@
 #include "chrome/browser/sync/test/integration/status_change_checker.h"
 #include "chrome/browser/sync/test/integration/sync_app_list_helper.h"
 #include "chrome/browser/sync/test/integration/sync_service_impl_harness.h"
-#include "chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
 #include "chrome/browser/sync/test/integration/updated_progress_marker_checker.h"
 #include "chrome/browser/ui/app_list/app_list_syncable_service.h"
@@ -260,11 +259,9 @@
 }
 
 // Tests for SyncSettingsCategorization.
-class SingleClientAppListOsSyncTest
-    : public SyncSettingsCategorizationSyncTest {
+class SingleClientAppListOsSyncTest : public SyncTest {
  public:
-  SingleClientAppListOsSyncTest()
-      : SyncSettingsCategorizationSyncTest(SINGLE_CLIENT) {}
+  SingleClientAppListOsSyncTest() : SyncTest(SINGLE_CLIENT) {}
   ~SingleClientAppListOsSyncTest() override = default;
 };
 
diff --git a/chrome/browser/sync/test/integration/single_client_os_preferences_sync_test.cc b/chrome/browser/sync/test/integration/single_client_os_preferences_sync_test.cc
index 745854f..9302c2d7 100644
--- a/chrome/browser/sync/test/integration/single_client_os_preferences_sync_test.cc
+++ b/chrome/browser/sync/test/integration/single_client_os_preferences_sync_test.cc
@@ -2,14 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "ash/constants/ash_features.h"
 #include "ash/constants/ash_pref_names.h"
 #include "ash/public/cpp/shelf_prefs.h"
 #include "base/json/json_writer.h"
 #include "base/notreached.h"
 #include "base/values.h"
 #include "chrome/browser/sync/test/integration/preferences_helper.h"
-#include "chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h"
 #include "chrome/browser/sync/test/integration/sync_test.h"
 #include "chrome/browser/sync/test/integration/updated_progress_marker_checker.h"
 #include "chrome/common/pref_names.h"
@@ -28,29 +26,10 @@
 using preferences_helper::GetPrefs;
 using testing::Eq;
 
-class SingleClientOsPreferencesSyncTest
-    : public SyncSettingsCategorizationSyncTest {
+class SingleClientOsPreferencesSyncTest : public SyncTest {
  public:
-  SingleClientOsPreferencesSyncTest()
-      : SyncSettingsCategorizationSyncTest(SINGLE_CLIENT) {}
+  SingleClientOsPreferencesSyncTest() : SyncTest(SINGLE_CLIENT) {}
   ~SingleClientOsPreferencesSyncTest() override = default;
-};
-
-IN_PROC_BROWSER_TEST_F(SingleClientOsPreferencesSyncTest, Sanity) {
-  ASSERT_TRUE(chromeos::features::IsSyncSettingsCategorizationEnabled());
-  ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
-
-  // Shelf alignment is a Chrome OS only preference.
-  ChangeStringPref(/*index=*/0, ash::prefs::kShelfAlignment,
-                   ash::kShelfAlignmentRight);
-  EXPECT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
-  EXPECT_THAT(GetPrefs(/*index=*/0)->GetString(ash::prefs::kShelfAlignment),
-              Eq(ash::kShelfAlignmentRight));
-}
-
-class SyncCategorizationBaseTest : public SyncTest {
- public:
-  SyncCategorizationBaseTest() : SyncTest(SyncTest::SINGLE_CLIENT) {}
 
  protected:
   static std::string ConvertToSyncedPrefValue(const base::Value& value) {
@@ -98,26 +77,22 @@
       base::Value(ash::kShelfAutoHideBehaviorAlways);
   const char* const kOsPriorityPreferenceKey = ::prefs::kTapToClickEnabled;
   const base::Value kOsPriorityPreferenceNewValue = base::Value(false);
-  base::test::ScopedFeatureList features_;
 };
 
-class SyncCategorizationEnabledTest : public SyncCategorizationBaseTest {
- public:
-  SyncCategorizationEnabledTest() {
-    features_.InitAndEnableFeature(ash::features::kSyncSettingsCategorization);
-  }
-};
+IN_PROC_BROWSER_TEST_F(SingleClientOsPreferencesSyncTest, Sanity) {
+  ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
 
-class SyncCategorizationDisabledTest : public SyncCategorizationBaseTest {
- public:
-  SyncCategorizationDisabledTest() {
-    features_.InitAndDisableFeature(ash::features::kSyncSettingsCategorization);
-  }
-};
+  // Shelf alignment is a Chrome OS only preference.
+  ChangeStringPref(/*index=*/0, ash::prefs::kShelfAlignment,
+                   ash::kShelfAlignmentRight);
+  EXPECT_TRUE(UpdatedProgressMarkerChecker(GetSyncService(0)).Wait());
+  EXPECT_THAT(GetPrefs(/*index=*/0)->GetString(ash::prefs::kShelfAlignment),
+              Eq(ash::kShelfAlignmentRight));
+}
 
 // OS preferences should sync from the new clients as both preferences and OS
 // preferences.
-IN_PROC_BROWSER_TEST_F(SyncCategorizationEnabledTest,
+IN_PROC_BROWSER_TEST_F(SingleClientOsPreferencesSyncTest,
                        OSPreferencesSyncAsBothTypes) {
   ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
   ASSERT_NE(GetPrefs(0)->GetValue(kOsPreferenceKey), kOsPreferenceNewValue);
@@ -154,64 +129,9 @@
                   .Wait());
 }
 
-// Old clients should get synced prefs.
-IN_PROC_BROWSER_TEST_F(SyncCategorizationDisabledTest, ReceiveSyncedOSPrefs) {
-  InjectPreferenceToFakeServer(syncer::PREFERENCES, kOsPreferenceKey,
-                               kOsPreferenceNewValue);
-  InjectPreferenceToFakeServer(syncer::OS_PREFERENCES, kOsPreferenceKey,
-                               kOsPreferenceNewValue);
-  InjectPreferenceToFakeServer(syncer::PRIORITY_PREFERENCES,
-                               kOsPriorityPreferenceKey,
-                               kOsPriorityPreferenceNewValue);
-  InjectPreferenceToFakeServer(syncer::OS_PRIORITY_PREFERENCES,
-                               kOsPriorityPreferenceKey,
-                               kOsPriorityPreferenceNewValue);
-
-  ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
-
-  EXPECT_EQ(GetPrefs(/*index=*/0)->GetValue(kOsPreferenceKey),
-            kOsPreferenceNewValue);
-  EXPECT_EQ(GetPrefs(/*index=*/0)->GetValue(kOsPriorityPreferenceKey),
-            kOsPriorityPreferenceNewValue);
-}
-
-// OS preferences are syncing only as browser prefs on the old clients.
-IN_PROC_BROWSER_TEST_F(SyncCategorizationDisabledTest,
-                       OSPreferencesSyncOnlyAsBrowserPrefs) {
-  ASSERT_TRUE(SetupClients()) << "SetupClients() failed.";
-  ASSERT_NE(GetPrefs(0)->GetValue(kOsPreferenceKey), kOsPreferenceNewValue);
-  ASSERT_NE(GetPrefs(0)->GetValue(kOsPriorityPreferenceKey),
-            kOsPriorityPreferenceNewValue);
-
-  ASSERT_TRUE(SetupSync());
-
-  GetPrefs(/*index=*/0)->Set(kOsPreferenceKey, kOsPreferenceNewValue);
-  GetPrefs(/*index=*/0)
-      ->Set(kOsPriorityPreferenceKey, kOsPriorityPreferenceNewValue);
-
-  EXPECT_TRUE(FakeServerPrefMatchesValueChecker(
-                  syncer::ModelType::PREFERENCES, kOsPreferenceKey,
-                  ConvertToSyncedPrefValue(kOsPreferenceNewValue))
-                  .Wait());
-  EXPECT_FALSE(
-      preferences_helper::GetPreferenceInFakeServer(
-          syncer::ModelType::OS_PREFERENCES, kOsPreferenceKey, GetFakeServer())
-          .has_value());
-
-  EXPECT_TRUE(FakeServerPrefMatchesValueChecker(
-                  syncer::ModelType::PRIORITY_PREFERENCES,
-                  kOsPriorityPreferenceKey,
-                  ConvertToSyncedPrefValue(kOsPriorityPreferenceNewValue))
-                  .Wait());
-  EXPECT_FALSE(preferences_helper::GetPreferenceInFakeServer(
-                   syncer::ModelType::OS_PRIORITY_PREFERENCES, kOsPreferenceKey,
-                   GetFakeServer())
-                   .has_value());
-}
-
 // OS preferences are not getting synced from the browser prefs on the new
 // clients.
-IN_PROC_BROWSER_TEST_F(SyncCategorizationEnabledTest,
+IN_PROC_BROWSER_TEST_F(SingleClientOsPreferencesSyncTest,
                        DontReceiveSyncedOSPrefsFromOldClients) {
   InjectPreferenceToFakeServer(syncer::PREFERENCES, kOsPreferenceKey,
                                kOsPreferenceNewValue);
diff --git a/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.cc b/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.cc
deleted file mode 100644
index 82c59a8..0000000
--- a/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.cc
+++ /dev/null
@@ -1,17 +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 "chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h"
-
-#include "ash/constants/ash_features.h"
-
-SyncSettingsCategorizationSyncTest::SyncSettingsCategorizationSyncTest(
-    TestType type)
-    : SyncTest(type) {
-  settings_feature_list_.InitAndEnableFeature(
-      ash::features::kSyncSettingsCategorization);
-}
-
-SyncSettingsCategorizationSyncTest::~SyncSettingsCategorizationSyncTest() =
-    default;
diff --git a/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h b/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h
deleted file mode 100644
index 2229e2e..0000000
--- a/chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h
+++ /dev/null
@@ -1,30 +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.
-
-#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_SETTINGS_CATEGORIZATION_SYNC_TEST_H_
-#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_SETTINGS_CATEGORIZATION_SYNC_TEST_H_
-
-#include "base/test/scoped_feature_list.h"
-#include "chrome/browser/sync/test/integration/sync_test.h"
-
-// Test suite for Chrome OS sync. Enables the SyncSettingsCategorization
-// feature. TODO(https://crbug.com/1227417): When SyncSettingsCategorization is
-// on-by-default this class can be deleted.
-class SyncSettingsCategorizationSyncTest : public SyncTest {
- public:
-  explicit SyncSettingsCategorizationSyncTest(TestType type);
-  ~SyncSettingsCategorizationSyncTest() override;
-
-  SyncSettingsCategorizationSyncTest(
-      const SyncSettingsCategorizationSyncTest&) = delete;
-  SyncSettingsCategorizationSyncTest& operator=(
-      const SyncSettingsCategorizationSyncTest&) = delete;
-
- private:
-  // The names |scoped_feature_list_| and |feature_list_| are both used in
-  // superclasses.
-  base::test::ScopedFeatureList settings_feature_list_;
-};
-
-#endif  // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_SETTINGS_CATEGORIZATION_SYNC_TEST_H_
diff --git a/chrome/browser/sync/test/integration/sync_test.cc b/chrome/browser/sync/test/integration/sync_test.cc
index 4b9c44dc..a422ea5 100644
--- a/chrome/browser/sync/test/integration/sync_test.cc
+++ b/chrome/browser/sync/test/integration/sync_test.cc
@@ -759,27 +759,25 @@
       // real clients, those are stored upon subscription with the
       // per-user-topic server. The pref name is defined in
       // per_user_topic_subscription_manager.cc.
-      DictionaryPrefUpdate update(
+      ScopedDictPrefUpdate update(
           GetProfile(index)->GetPrefs(),
           "invalidation.per_sender_registered_for_invalidation");
-      update->SetKey(kInvalidationGCMSenderId,
-                     base::Value(base::Value::Type::DICTIONARY));
+      update->Set(kInvalidationGCMSenderId, base::Value::Dict());
       for (syncer::ModelType model_type :
            GetSyncService(index)->GetPreferredDataTypes()) {
         std::string notification_type;
         if (!RealModelTypeToNotificationType(model_type, &notification_type)) {
           continue;
         }
-        update->FindDictKey(kInvalidationGCMSenderId)
-            ->SetKey(notification_type,
-                     base::Value("/private/" + notification_type +
-                                 "-topic_server_user_id"));
+        update->FindDict(kInvalidationGCMSenderId)
+            ->Set(notification_type,
+                  "/private/" + notification_type + "-topic_server_user_id");
       }
-      DictionaryPrefUpdate update_client_id(
+      ScopedDictPrefUpdate update_client_id(
           GetProfile(index)->GetPrefs(),
           invalidation::prefs::kInvalidationClientIDCache);
 
-      update_client_id->SetStringKey(kInvalidationGCMSenderId, client_id);
+      update_client_id->Set(kInvalidationGCMSenderId, client_id);
       break;
     }
     case SERVER_TYPE_UNDECIDED:
diff --git a/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc b/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
index 9c98b50..5a70d29 100644
--- a/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_extension_settings_and_app_settings_sync_test.cc
@@ -15,7 +15,6 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 #include "ash/constants/ash_features.h"
-#include "chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h"
 #endif
 
 namespace {
@@ -240,11 +239,9 @@
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 // Tests for SyncSettingsCategorization, which uses a different
 // ModelTypeController for syncer::APP_SETTINGS.
-class TwoClientAppSettingsOsSyncTest
-    : public SyncSettingsCategorizationSyncTest {
+class TwoClientAppSettingsOsSyncTest : public SyncTest {
  public:
-  TwoClientAppSettingsOsSyncTest()
-      : SyncSettingsCategorizationSyncTest(TWO_CLIENT) {}
+  TwoClientAppSettingsOsSyncTest() : SyncTest(TWO_CLIENT) {}
   ~TwoClientAppSettingsOsSyncTest() override = default;
 
   bool UseVerifier() override {
diff --git a/chrome/browser/sync/test/integration/two_client_os_preferences_sync_test.cc b/chrome/browser/sync/test/integration/two_client_os_preferences_sync_test.cc
index 59e91e3f..03ddb43b 100644
--- a/chrome/browser/sync/test/integration/two_client_os_preferences_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_os_preferences_sync_test.cc
@@ -8,7 +8,7 @@
 #include "chrome/browser/sync/test/integration/preferences_helper.h"
 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
 #include "chrome/browser/sync/test/integration/sync_service_impl_harness.h"
-#include "chrome/browser/sync/test/integration/sync_settings_categorization_sync_test.h"
+#include "chrome/browser/sync/test/integration/sync_test.h"
 #include "components/prefs/pref_service.h"
 #include "components/sync/engine/cycle/entity_change_metric_recording.h"
 #include "content/public/test/browser_test.h"
@@ -20,11 +20,9 @@
 
 namespace {
 
-class TwoClientOsPreferencesSyncTest
-    : public SyncSettingsCategorizationSyncTest {
+class TwoClientOsPreferencesSyncTest : public SyncTest {
  public:
-  TwoClientOsPreferencesSyncTest()
-      : SyncSettingsCategorizationSyncTest(TWO_CLIENT) {}
+  TwoClientOsPreferencesSyncTest() : SyncTest(TWO_CLIENT) {}
   ~TwoClientOsPreferencesSyncTest() override = default;
 
   // Needed for AwaitQuiescence().
diff --git a/chrome/browser/sync/test/integration/two_client_preferences_sync_test.cc b/chrome/browser/sync/test/integration/two_client_preferences_sync_test.cc
index 03f49ea..0f5374b 100644
--- a/chrome/browser/sync/test/integration/two_client_preferences_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_preferences_sync_test.cc
@@ -152,7 +152,7 @@
   ChangeIntegerPref(0, prefs::kRestoreOnStartup, 0);
   ASSERT_TRUE(IntegerPrefMatchChecker(prefs::kRestoreOnStartup).Wait());
 
-  base::ListValue urls;
+  base::Value::List urls;
   urls.Append("http://www.google.com/");
   urls.Append("http://www.flickr.com/");
   ChangeIntegerPref(0, prefs::kRestoreOnStartup, 4);
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 8c128c5..2390b929 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -2315,6 +2315,8 @@
       "ash/holding_space/holding_space_metrics_delegate.h",
       "ash/holding_space/holding_space_persistence_delegate.cc",
       "ash/holding_space/holding_space_persistence_delegate.h",
+      "ash/holding_space/holding_space_suggestions_delegate.cc",
+      "ash/holding_space/holding_space_suggestions_delegate.h",
       "ash/holding_space/holding_space_util.cc",
       "ash/holding_space/holding_space_util.h",
       "ash/image_downloader_impl.cc",
@@ -5951,6 +5953,8 @@
 
   if (is_chromeos_ash) {
     sources += [
+      "app_list/search/files/file_suggest_test_util.cc",
+      "app_list/search/files/file_suggest_test_util.h",
       "ash/ash_test_util.cc",
       "ash/ash_test_util.h",
       "ash/shelf/chrome_shelf_controller_test_util.cc",
diff --git a/chrome/browser/ui/android/fast_checkout/internal/java/strings/translations/android_fast_checkout_strings_iw.xtb b/chrome/browser/ui/android/fast_checkout/internal/java/strings/translations/android_fast_checkout_strings_iw.xtb
index bc1713b..61cdb128 100644
--- a/chrome/browser/ui/android/fast_checkout/internal/java/strings/translations/android_fast_checkout_strings_iw.xtb
+++ b/chrome/browser/ui/android/fast_checkout/internal/java/strings/translations/android_fast_checkout_strings_iw.xtb
@@ -2,12 +2,15 @@
 <!DOCTYPE translationbundle>
 <translationbundle lang="iw">
 <translation id="1068168522143272502">רשימת הכתובות ואמצעי התשלום שימולאו בתהליך התשלום נפתחה בחצי הגובה.</translation>
+<translation id="2148715923718146918">הפריט הנבחר</translation>
 <translation id="248973266728004341">הוספת כרטיס אשראי חדש</translation>
 <translation id="2501278716633472235">חזרה</translation>
 <translation id="312532069930005172">פתיחת ההגדרות של המילוי האוטומטי לפרופילים</translation>
 <translation id="4401440167302712543">מילוי אוטומטי של פרטי תשלום ומשלוח בקופה</translation>
 <translation id="4526274353008646337">הוספת כתובת חדשה</translation>
 <translation id="567079066552447069">רשימת הכתובות ואמצעי התשלום שימולאו בתהליך התשלום נסגרה.</translation>
+<translation id="6350814703899626921">שינוי בחירת כרטיס האשראי.</translation>
+<translation id="731090949585674442">שינוי בחירת הפרופיל למילוי האוטומטי.</translation>
 <translation id="780301667611848630">לא תודה</translation>
 <translation id="8264703973415044493">רשימת הכתובות ואמצעי התשלום שימולאו בתהליך התשלום נפתחה בגובה מלא.</translation>
 <translation id="8315600272591552085">רשימת הכתובות ואמצעי התשלום שימולאו בתהליך התשלום.</translation>
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 22fede0..b8a300f 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Laai bladsye vooraf wat Chrome dink jy waarskynlik gaan besoek.</translation>
 <translation id="6186394685773237175">Geen gekompromitteerde wagwoorde gekry nie</translation>
 <translation id="6192907950379606605">Kry prentbeskrywings</translation>
+<translation id="6193448654517602979">Kies oortjies</translation>
 <translation id="6196315980958524839">Wagwoorde word op hierdie toestel in Google Wagwoordbestuurder gestoor</translation>
 <translation id="620197886010707372">Maak program vir <ph name="APPNAME" /> oop met Google Play?</translation>
 <translation id="6203593061661911168">Aflaai sal begin wanneer jy op wi-fi is</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
index df7fd0b..137fdbf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome እርስዎ ሊጎበኟቸው ይችላሉ ብሎ የሚያስባቸውን ገጾችን አስቀድሞ ይጭናል።</translation>
 <translation id="6186394685773237175">ምንም የተጠለፈ የይለፍ ቃል አልተገኘም</translation>
 <translation id="6192907950379606605">የምስል መግለጫዎችን ያግኙ</translation>
+<translation id="6193448654517602979">ትሮችን ምረጥ</translation>
 <translation id="6196315980958524839">የይለፍ ቃላት የሚቀመጡት በዚህ መሣሪያ ላይ ባለው የGoogle የይለፍ ቃል አስተዳዳሪ ላይ ነው</translation>
 <translation id="620197886010707372">የ<ph name="APPNAME" /> መተግበሪያ በGoogle Play ይከፈት?</translation>
 <translation id="6203593061661911168">ውርድ በWi-Fi ላይ ሲሆን ይጀመራል።</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
index 59ff777..25e223b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
@@ -949,6 +949,7 @@
 <translation id="6162892189396105610">‏يتيح هذا الإعداد التحميل المُسبق لصفحات الويب التي يظن Chrome أنّه من المرجّح أن تنتقل إليها.</translation>
 <translation id="6186394685773237175">لم يتم العثور على أي كلمات مرور محتمَل تعرّضها للاختراق.</translation>
 <translation id="6192907950379606605">عرض أوصاف الصور</translation>
+<translation id="6193448654517602979">اختيار علامات التبويب</translation>
 <translation id="6196315980958524839">‏يتم حفظ كلمات المرور في تطبيق "مدير كلمات المرور في Google" على هذا الجهاز.</translation>
 <translation id="620197886010707372">‏هل تريد فتح تطبيق <ph name="APPNAME" /> باستخدام Google Play؟</translation>
 <translation id="6203593061661911168">‏ستبدأ عملية التنزيل عند الاتصال بشبكة Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
index f1ade61..bf6b805 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chromeএ যিবোৰ পৃষ্ঠালৈ আপুনি যোৱাৰ সম্ভাৱনা আছে বুলি ভাবে সেইসমূহ আগতীয়াকৈ ল’ড কৰে।</translation>
 <translation id="6186394685773237175">হেক হোৱা কোনো পাছৱর্ড পোৱা নাই</translation>
 <translation id="6192907950379606605">প্ৰতিচ্ছবিৰ বিৱৰণ লাভ কৰক</translation>
+<translation id="6193448654517602979">টেবসমূহ বাছনি কৰক</translation>
 <translation id="6196315980958524839">পাছৱৰ্ডসমূহ এই ডিভাইচটোত থকা Google পাছৱৰ্ড পৰিচালকত ছেভ কৰা হয়</translation>
 <translation id="620197886010707372">Google Playৰ জৰিয়তে <ph name="APPNAME" />ৰ বাবে এপ্‌টো খুলিবনে?</translation>
 <translation id="6203593061661911168">ডাউনল’ডটো ৱাই-ফাইৰ মাধ্যমেৰে আৰম্ভ হ’ব</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 306bb28..16ea969 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
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome'un ziyarət edə biləcəyinizi düşündüyü səhifələri əvvəlcədən yükləyir.</translation>
 <translation id="6186394685773237175">Oğurlanmış parol tapılmadı</translation>
 <translation id="6192907950379606605">Şəkil təsvirləri əldə edin</translation>
+<translation id="6193448654517602979">Tablar seçin</translation>
 <translation id="6196315980958524839">Parollar bu cihazda Google Parol Menecerində saxlanılır</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> üçün tətbiq Google Play ilə açılsın?</translation>
+<translation id="6202812185118613467">Sinxronizasiyanı başlatmaq üçün yenidən daxil olun</translation>
 <translation id="6203593061661911168">Endirmə Wi-Fi aktiv olduqda başlayacaq</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> deyil?</translation>
 <translation id="6211386937064921208">Bu səhifə önizlənir</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
index 03188ddf..c655a940 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome перадзагружае старонкі, якія вы, імаверна, наведаеце.</translation>
 <translation id="6186394685773237175">Не знойдзена раскрытых пароляў</translation>
 <translation id="6192907950379606605">Атрымл. апісанні відарысаў</translation>
+<translation id="6193448654517602979">Выберыце ўкладкі</translation>
 <translation id="6196315980958524839">Паролі захоўваюцца ў Менеджары пароляў Google на гэтай прыладзе.</translation>
 <translation id="620197886010707372">Адкрыць праграму для "<ph name="APPNAME" />" праз Google Play?</translation>
 <translation id="6203593061661911168">Спампоўванне пачнецца пры падключэнні праз Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
index 106ac690..982e09b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Предварително зареждане на страниците, които Chrome смята, че е вероятно да посетите.</translation>
 <translation id="6186394685773237175">Няма намерени компрометирани пароли</translation>
 <translation id="6192907950379606605">Описания на изображенията</translation>
+<translation id="6193448654517602979">Избиране на раздели</translation>
 <translation id="6196315980958524839">Паролите се запазват в Google Мениджър на пароли на това устройство</translation>
 <translation id="620197886010707372">Искате ли да отворите приложението за <ph name="APPNAME" /> чрез Google Play?</translation>
 <translation id="6203593061661911168">Изтеглянето ще стартира при връзка с Wi-Fi мрежа</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
index 89d731e..ecc5f257 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
@@ -950,6 +950,7 @@
 <translation id="6162892189396105610">Chrome-এর মতে আপনি যেসব পৃষ্ঠা দেখতে পারেন সেগুলি প্রিলোড করা হয়।</translation>
 <translation id="6186394685773237175">কোনও চুরি হয়ে যাওয়া পাসওয়ার্ড খুঁজে পাওয়া যায়নি</translation>
 <translation id="6192907950379606605">ছবির বিবরণ পান</translation>
+<translation id="6193448654517602979">ট্যাব বেছে নিন</translation>
 <translation id="6196315980958524839">পাসওয়ার্ড এই ডিভাইসের Google পাসওয়ার্ড ম্যানেজার বিকল্পে সেভ করা হয়</translation>
 <translation id="620197886010707372">Google Play দিয়ে <ph name="APPNAME" />-এর জন্য অ্যাপ খুলবেন?</translation>
 <translation id="6203593061661911168">ওয়াই-ফাই নেটওয়ার্কে কানেক্ট করা হলে ডাউনলোড শুরু হবে</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 c7d1e04..e40d836 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Stranice za koje Chrome smatra da ćete ih vjerovatno posjetiti se predučitavaju.</translation>
 <translation id="6186394685773237175">Nisu pronađene ugrožene lozinke</translation>
 <translation id="6192907950379606605">Preuzmi opise slika</translation>
+<translation id="6193448654517602979">Odaberite kartice</translation>
 <translation id="6196315980958524839">Lozinke se pohranjuju u Googleovom Upravitelju lozinki na ovom uređaju.</translation>
 <translation id="620197886010707372">Otvoriti aplikaciju za aplikaciju <ph name="APPNAME" /> pomoću Google Playa?</translation>
 <translation id="6203593061661911168">Preuzimanje će se pokrenuti kada bude uspostavljena WiFi veza</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
index 2e001ab..6a9d180 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Carrega prèviament les pàgines que Chrome considera que és possible que visitis.</translation>
 <translation id="6186394685773237175">No s'ha trobat cap contrasenya en perill</translation>
 <translation id="6192907950379606605">Obtén descripcions d'imatges</translation>
+<translation id="6193448654517602979">Selecciona pestanyes</translation>
 <translation id="6196315980958524839">Les contrasenyes es desen al gestor de contrasenyes de Google en aquest dispositiu</translation>
 <translation id="620197886010707372">Vols obrir l'aplicació per a <ph name="APPNAME" /> amb Google Play?</translation>
+<translation id="6202812185118613467">Torna a iniciar la sessió per començar la sincronització</translation>
 <translation id="6203593061661911168">La baixada començarà quan hi hagi connexió Wi‑Fi</translation>
 <translation id="6210748933810148297">No ets <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Es previsualitza aquesta pàgina</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
index fb2f899..3e102b9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Předběžně načítá stránky, o kterých si Chrome myslí, že byste je mohli navštívit.</translation>
 <translation id="6186394685773237175">Nebylo nalezeno žádné prolomené heslo</translation>
 <translation id="6192907950379606605">Zobrazovat popisy obrázků</translation>
+<translation id="6193448654517602979">Vyberte karty</translation>
 <translation id="6196315980958524839">Hesla se ukládají do Správce hesel Google pouze na tomto zařízení</translation>
 <translation id="620197886010707372">Otevřít aplikaci <ph name="APPNAME" /> pomocí Google Play?</translation>
 <translation id="6203593061661911168">Stahování bude zahájeno při připojení k Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
index 3236bc5b..187c31c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Yn rhaglwytho tudalennau y mae Chrome yn credu eich bod yn debygol o ymweld â nhw.</translation>
 <translation id="6186394685773237175">Heb ganfod unrhyw gyfrineiriau sydd dan fygythiad</translation>
 <translation id="6192907950379606605">Cael disgrifiadau lluniau</translation>
+<translation id="6193448654517602979">Dewis tabiau</translation>
 <translation id="6196315980958524839">Mae cyfrineiriau'n cael eu cadw i Rheolwr Cyfrineiriau Google ar y ddyfais hon.</translation>
 <translation id="620197886010707372">Agor ap ar gyfer <ph name="APPNAME" /> gyda Google Play?</translation>
 <translation id="6203593061661911168">Bydd y lawrlwythiad yn dechrau pan fydd y ddyfais wedi'i chysylltu â Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
index 72fac2d..be4ef8bb 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Forudindlæser sider, som Google tror, at der er stor chance for, at du besøger.</translation>
 <translation id="6186394685773237175">Der blev ikke fundet nogen kompromitterede adgangskoder</translation>
 <translation id="6192907950379606605">Få billedbeskrivelser</translation>
+<translation id="6193448654517602979">Vælg faner</translation>
 <translation id="6196315980958524839">Adgangskoder gemmes i Google Adgangskodeadministrator på denne enhed</translation>
 <translation id="620197886010707372">Vil du åbne appen for <ph name="APPNAME" /> med Google Play?</translation>
 <translation id="6203593061661911168">Downloaden starter, så snart der er Wi-Fi-forbindelse</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
index bcd87f3..0febd84 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">In Chrome werden Seiten vorab geladen, die du wahrscheinlich aufrufen wirst.</translation>
 <translation id="6186394685773237175">Keine gehackten Passwörter gefunden</translation>
 <translation id="6192907950379606605">Bildbeschreibungen abrufen</translation>
+<translation id="6193448654517602979">Tabs auswählen</translation>
 <translation id="6196315980958524839">Passwörter werden auf diesem Gerät im Google Passwortmanager gespeichert</translation>
 <translation id="620197886010707372">App für <ph name="APPNAME" /> mit Google Play öffnen?</translation>
+<translation id="6202812185118613467">Melde dich wieder an, um die Synchronisierung zu starten</translation>
 <translation id="6203593061661911168">Der Download beginnt bei Verbindung mit einem WLAN</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> ist nicht deine E-Mail-Adresse?</translation>
 <translation id="6211386937064921208">Vorschau für diese Seite</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
index ed412f8..b77e55a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Προφορτώνει σελίδες τις οποίες το Chrome θεωρεί πιθανό ότι θα επισκεφτείτε.</translation>
 <translation id="6186394685773237175">Δεν βρέθηκαν παραβιασμένοι κωδικοί πρόσβασης.</translation>
 <translation id="6192907950379606605">Λήψη περιγραφών εικόνων</translation>
+<translation id="6193448654517602979">Επιλογή καρτελών</translation>
 <translation id="6196315980958524839">Οι κωδικοί πρόσβασης αποθηκεύονται στον Διαχειριστή κωδικών πρόσβασης Google σε αυτήν τη συσκευή.</translation>
 <translation id="620197886010707372">Θέλετε να ανοίξετε την εφαρμογή <ph name="APPNAME" /> με το Google Play;</translation>
 <translation id="6202812185118613467">Συνδεθείτε ξανά για να ξεκινήσετε τον συγχρονισμό</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 5c82755..a22d28e 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Preloads pages that Chrome thinks that you are likely to visit.</translation>
 <translation id="6186394685773237175">No compromised passwords found</translation>
 <translation id="6192907950379606605">Get image descriptions</translation>
+<translation id="6193448654517602979">Select tabs</translation>
 <translation id="6196315980958524839">Passwords are saved to Google Password Manager on this device</translation>
 <translation id="620197886010707372">Open app for <ph name="APPNAME" /> with Google Play?</translation>
 <translation id="6202812185118613467">Sign back in to start sync</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
index 2b2ab73..ef98b35 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Precarga las páginas que Chrome considera que posiblemente visites.</translation>
 <translation id="6186394685773237175">No se encontraron contraseñas hackeadas</translation>
 <translation id="6192907950379606605">Obtener descripción de imágenes</translation>
+<translation id="6193448654517602979">Seleccionar pestañas</translation>
 <translation id="6196315980958524839">Las contraseñas se guardan en el Administrador de contraseñas de Google en este dispositivo</translation>
 <translation id="620197886010707372">¿Quieres abrir la app de <ph name="APPNAME" /> con Google Play?</translation>
 <translation id="6203593061661911168">Se iniciará la descarga cuando el dispositivo se conecte a Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
index 9f59fc5..5f1ed920 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Precarga las páginas que Chrome considera que es probable que visites.</translation>
 <translation id="6186394685773237175">No se ha encontrado ninguna contraseña vulnerada</translation>
 <translation id="6192907950379606605">Obtener descripciones</translation>
+<translation id="6193448654517602979">Selecciona pestañas</translation>
 <translation id="6196315980958524839">Las contraseñas se guardan en el gestor de contraseñas de Google en este dispositivo</translation>
 <translation id="620197886010707372">¿Abrir <ph name="APPNAME" /> con Google Play?</translation>
+<translation id="6202812185118613467">Vuelve a iniciar sesión para iniciar la sincronización</translation>
 <translation id="6203593061661911168">La descarga comenzará cuando haya conexión Wi‑Fi.</translation>
 <translation id="6210748933810148297">¿No eres <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Mostrando vista previa de esta página</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
index 88f35b00..895f4a07 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Eellaadib lehed, mida Chrome'i arvates tõenäoliselt külastate.</translation>
 <translation id="6186394685773237175">Ohustatud paroole ei leitud</translation>
 <translation id="6192907950379606605">Piltide kirjelduste saamine</translation>
+<translation id="6193448654517602979">Valige vahelehed</translation>
 <translation id="6196315980958524839">Paroolid salvestatakse Google'i paroolihaldurisse selles seadmes</translation>
 <translation id="620197886010707372">Kas soovite avada rakenduse <ph name="APPNAME" /> Google Playga?</translation>
+<translation id="6202812185118613467">Sünkroonimise alustamiseks logige uuesti sisse</translation>
 <translation id="6203593061661911168">Allalaadimine algab, kui loodud on WiFi-ühendus</translation>
 <translation id="6210748933810148297">Kas pole <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Selle lehe eelvaade</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
index 457c38e..ab6b04e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Aurrez kargatzen dira Chrome-ren ustez bisitatuko dituzun orriak.</translation>
 <translation id="6186394685773237175">Ez da aurkitu arriskuan dagoen pasahitzik</translation>
 <translation id="6192907950379606605">Lortu irudi-deskribapenak</translation>
+<translation id="6193448654517602979">Hautatu fitxak</translation>
 <translation id="6196315980958524839">Pasahitzak gailu honetan gordetzen dira, Google-ren Pasahitz-kudeatzailea zerbitzuan</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> aplikazioa ireki nahi duzu Google Play-rekin?</translation>
 <translation id="6203593061661911168">Wifira konektatzean hasiko da deskargatzen</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
index 375432a..2d91a055 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">‏صفحاتی که Chrome فکر می‌کند ممکن است بازدید کنید پیش‌بارگیری می‌شود.</translation>
 <translation id="6186394685773237175">گذرواژه لورفته‌ای پیدا نشد</translation>
 <translation id="6192907950379606605">دریافت توضیحات تصویر</translation>
+<translation id="6193448654517602979">انتخاب برگه‌ها</translation>
 <translation id="6196315980958524839">‏گذرواژه‌ها در «مدیر گذرواژه Google» در این دستگاه ذخیره می‌شوند</translation>
 <translation id="620197886010707372">‏برنامه <ph name="APPNAME" /> با Google Play باز شود؟</translation>
+<translation id="6202812185118613467">برای شروع همگام‌سازی دوباره به سیستم وارد شوید</translation>
 <translation id="6203593061661911168">‏بارگیری هنگام اتصال به Wi-Fi شروع خواهد شد</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> ایمیل شما نیست؟</translation>
 <translation id="6211386937064921208">درحال پیش‌نمایش این صفحه</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
index 0b5248da..d29acdfd 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Esilataa sivuja, joita Chromen mukaan avaat todennäköisesti.</translation>
 <translation id="6186394685773237175">Vaarantuneita salasanoja ei löytynyt</translation>
 <translation id="6192907950379606605">Muodosta kuvaselitykset</translation>
+<translation id="6193448654517602979">Valitse välilehdet</translation>
 <translation id="6196315980958524839">Salasanat tallennetaan Google Salasanoihin tällä laitteella</translation>
 <translation id="620197886010707372">Avataanko <ph name="APPNAME" /> Google Playlla?</translation>
+<translation id="6202812185118613467">Kirjaudu takaisin sisään, jotta voit aloittaa synkronoinnin</translation>
 <translation id="6203593061661911168">Lataus alkaa, kun yhdistät Wi-Fi-verkkoon</translation>
 <translation id="6210748933810148297">Etkö ole <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Tätä sivua esikatsellaan</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
index b99b2644..e28d329 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Mag-preloads ng mga page na sa palagay ng Chrome ay malamang mong bisitahin.</translation>
 <translation id="6186394685773237175">Walang nakitang nakompromisong password</translation>
 <translation id="6192907950379606605">Makakuha ng desc ng larawan</translation>
+<translation id="6193448654517602979">Pumili ng mga tab</translation>
 <translation id="6196315980958524839">Sine-save ang mga password sa Google Password Manager sa device na ito.</translation>
 <translation id="620197886010707372">Buksan ang app para sa <ph name="APPNAME" /> gamit ang Google Play?</translation>
+<translation id="6202812185118613467">Mag-sign in ulit para simulan ang pag-sync</translation>
 <translation id="6203593061661911168">Magsisimula ang pag-download kapag nakakonekta sa Wi-Fi</translation>
 <translation id="6210748933810148297">Hindi si <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Pini-preview ang page na ito</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
index e6cade7..9a17ade9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Précharge les pages que vous êtes susceptible de visiter selon Chrome.</translation>
 <translation id="6186394685773237175">Aucun mot de passe compromis n'a été trouvé</translation>
 <translation id="6192907950379606605">Obtenir les descriptions</translation>
+<translation id="6193448654517602979">Sélectionnez des onglets</translation>
 <translation id="6196315980958524839">Les mots de passe sont enregistrés dans le gestionnaire de mots de passe Google sur cet appareil</translation>
 <translation id="620197886010707372">Ouvrir l'application pour <ph name="APPNAME" /> avec Google Play?</translation>
 <translation id="6203593061661911168">Le téléchargement commencera lorsque vous serez connecté à un réseau Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
index ea963ba..c70550f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Les pages que vous êtes susceptible de consulter selon Chrome sont préchargées.</translation>
 <translation id="6186394685773237175">Aucun mot de passe compromis trouvé</translation>
 <translation id="6192907950379606605">Obtenir descriptions images</translation>
+<translation id="6193448654517602979">Sélectionner des onglets</translation>
 <translation id="6196315980958524839">Les mots de passe sont enregistrés dans le Gestionnaire de mots de passe de Google sur cet appareil</translation>
 <translation id="620197886010707372">Ouvrir l'appli pour <ph name="APPNAME" /> avec Google Play ?</translation>
 <translation id="6203593061661911168">Le téléchargement commencera lorsque vous serez connecté au Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
index 3a7744f7..3847239 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Precarga aquelas páxinas que Chrome considera que é probable que visites.</translation>
 <translation id="6186394685773237175">Non se atoparon contrasinais vulnerados</translation>
 <translation id="6192907950379606605">Obter descricións de imaxes</translation>
+<translation id="6193448654517602979">Selecciona pestanas</translation>
 <translation id="6196315980958524839">Os contrasinais gárdanse no xestor de contrasinais de Google neste dispositivo</translation>
 <translation id="620197886010707372">Queres abrir a aplicación para <ph name="APPNAME" /> con Google Play?</translation>
 <translation id="6203593061661911168">A descarga iniciarase cando se estableza conexión cunha rede wifi.</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 e74806b..0872251 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">તમે મુલાકાત લઈ શકો છો એવી સંભાવના ધરાવતા પેજને Chrome પહેલેથી લોડ કરે છે.</translation>
 <translation id="6186394685773237175">ચેડાં કરાયેલો કોઈ પાસવર્ડ મળ્યો નથી</translation>
 <translation id="6192907950379606605">છબીના વર્ણનો મેળવો</translation>
+<translation id="6193448654517602979">ટૅબ પસંદ કરો</translation>
 <translation id="6196315980958524839">પાસવર્ડ આ ડિવાઇસના Google Password Managerમાં સાચવવામાં આવે છે</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> માટે Google Play વડે ઍપ ખોલીએ?</translation>
 <translation id="6202812185118613467">સિંક શરૂ કરવા ફરી સાઇન ઇન કરો</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
index 1c72daa..d86c4a5 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">इस सेटिंग से, ऐसे पेज पहले से लोड होते हैं जिनके लिए Chrome को लगता है कि इन्हें विज़िट किया जा सकता है.</translation>
 <translation id="6186394685773237175">ऐसा कोई भी पासवर्ड नहीं मिला जो या तो हैक हुआ है या चोरी हुआ है</translation>
 <translation id="6192907950379606605">ज़्यादा जानकारी पाएं</translation>
+<translation id="6193448654517602979">टैब चुनें</translation>
 <translation id="6196315980958524839">पासवर्ड, इस डिवाइस पर Google Password Manager में सेव किए गए हैं</translation>
 <translation id="620197886010707372">क्या Google Play की मदद से <ph name="APPNAME" /> ऐप्लिकेशन खोलना है?</translation>
 <translation id="6203593061661911168">वाई-फ़ाई से कनेक्ट होने पर डाउनलोड होगा</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
index c5132c3..8344e92d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Predučitava stranice za koje Chrome misli da ćete ih vjerojatno posjetiti.</translation>
 <translation id="6186394685773237175">Nije pronađena nijedna ugrožena zaporka</translation>
 <translation id="6192907950379606605">Primajte opise slike</translation>
+<translation id="6193448654517602979">Odaberite kartice</translation>
 <translation id="6196315980958524839">Zaporke se spremaju u Google upravitelj zaporki na ovom uređaju.</translation>
 <translation id="620197886010707372">Otvoriti aplikaciju <ph name="APPNAME" /> u Google Playu?</translation>
 <translation id="6203593061661911168">Preuzimanje će se pokrenuti na Wi-Fiju</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
index c305f7399..077502e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Azoknak az oldalaknak az előtöltése, amelyeket a Chrome szerint Ön valószínűleg felkeres.</translation>
 <translation id="6186394685773237175">Nincs nyilvánosságra került jelszó</translation>
 <translation id="6192907950379606605">Képleírások lekérése</translation>
+<translation id="6193448654517602979">Lapok kiválasztása</translation>
 <translation id="6196315980958524839">A jelszavakat ezen az eszközön menti a rendszer a Google Jelszókezelőbe.</translation>
 <translation id="620197886010707372">Megnyitja a következőhöz tartozó alkalmazást a Google Play segítségével: <ph name="APPNAME" />?</translation>
 <translation id="6203593061661911168">A letöltés Wi-Fi-hálózaton indul el</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
index 419be89..ec6aaf983 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome-ը նախաբեռնում է այն էջերը, որոնք առավել հավանական է, որ կայցելեք։</translation>
 <translation id="6186394685773237175">Կոտրված գաղտնաբառեր չեն գտնվել</translation>
 <translation id="6192907950379606605">Ստանալ նկարագրություններ</translation>
+<translation id="6193448654517602979">Ընտրեք ներդիրներ</translation>
 <translation id="6196315980958524839">Գաղտնաբառերը պահվում են այս սարքի Google Գաղտնաբառերի կառավարիչում</translation>
 <translation id="620197886010707372">Բացե՞լ <ph name="APPNAME" /> հավելվածը Google Play-ի միջոցով</translation>
 <translation id="6203593061661911168">Ներբեռնումը կսկսվի, հենց որ միանաք Wi-Fi ցանցին։</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
index df7f9c4..019ded61 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Melakukan pramuat halaman yang menurut Chrome mungkin akan Anda buka.</translation>
 <translation id="6186394685773237175">Tidak ditemukan sandi yang telah dibobol</translation>
 <translation id="6192907950379606605">Dapatkan deskripsi gambar</translation>
+<translation id="6193448654517602979">Pilih tab</translation>
 <translation id="6196315980958524839">Sandi disimpan ke Pengelola Sandi Google di perangkat ini</translation>
 <translation id="620197886010707372">Buka aplikasi <ph name="APPNAME" /> dengan Google Play?</translation>
+<translation id="6202812185118613467">Login kembali untuk memulai sinkronisasi</translation>
 <translation id="6203593061661911168">Download akan dimulai saat terhubung ke Wi-Fi</translation>
 <translation id="6210748933810148297">Bukan <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Melihat pratinjau halaman ini</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
index b78e168f..6bb78bc 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Forhleður síðum sem Chrome telur að þú munir opna.</translation>
 <translation id="6186394685773237175">Engin aðgangsorð í hættu fundust</translation>
 <translation id="6192907950379606605">Fá myndlýsingar</translation>
+<translation id="6193448654517602979">Velja flipa</translation>
 <translation id="6196315980958524839">Aðgangsorð eru vistuð í Google aðgangsorðastjórnun í þessu tæki.</translation>
 <translation id="620197886010707372">Opna forrit fyrir <ph name="APPNAME" /> með Google Play?</translation>
+<translation id="6202812185118613467">Skráðu þig aftur inn til að hefja samstillingu</translation>
 <translation id="6203593061661911168">Niðurhal hefst þegar Wi-Fi er tengt</translation>
 <translation id="6210748933810148297">Ekki <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Forskoðun á þessari síðu.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
index f863f071..e3124b9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Precarica le pagine che Chrome ritiene tu possa visitare.</translation>
 <translation id="6186394685773237175">Non sono state trovate password compromesse</translation>
 <translation id="6192907950379606605">Recupera descriz. immagini</translation>
+<translation id="6193448654517602979">Seleziona schede</translation>
 <translation id="6196315980958524839">Le password vengono salvate in Gestore delle password di Google su questo dispositivo</translation>
 <translation id="620197886010707372">Aprire l'app per <ph name="APPNAME" /> con Google Play?</translation>
+<translation id="6202812185118613467">Accedi di nuovo per avviare la sincronizzazione</translation>
 <translation id="6203593061661911168">Il download inizierà quando è attiva la connessione Wi-Fi</translation>
 <translation id="6210748933810148297">Non sei <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Visualizzazione dell'anteprima della pagina</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
index 78145d8f..a97eb080 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">‏מערכת Chrome טוענת מראש דפים שסביר שהמשתמש יעבור אליהם.</translation>
 <translation id="6186394685773237175">לא נמצאו סיסמאות שנחשפו</translation>
 <translation id="6192907950379606605">ליצירת תיאורי תמונות</translation>
+<translation id="6193448654517602979">בחירת כרטיסיות</translation>
 <translation id="6196315980958524839">‏סיסמאות נשמרות במנהל הסיסמאות של Google במכשיר הזה</translation>
 <translation id="620197886010707372">‏לפתוח את האפליקציה <ph name="APPNAME" /> באמצעות Google Play?</translation>
 <translation id="6203593061661911168">‏ההורדה תתחיל בחיבור Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
index 34b070f0..0d071663 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -454,6 +454,7 @@
 <translation id="3435465986463792564">ウィンドウの数が多くてお困りの場合も、ここで管理できます</translation>
 <translation id="3443221991560634068">現在のページを再読み込みする</translation>
 <translation id="3444179773590444986">サイトのダークモードに関するフィードバックを共有しますか?</translation>
+<translation id="3452832259067974318">プライバシー保護のため、Chrome ではこの欄のパスワードの自動入力は行われません。</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{1 件のダウンロードがスケジュール設定されました}other{# 件のダウンロードがスケジュール設定されました}}</translation>
 <translation id="3474624961160222204"><ph name="NAME" /> として続行</translation>
 <translation id="3478363558367712427">検索エンジンを選択できます</translation>
@@ -679,6 +680,7 @@
 <translation id="4763480195061959176">動画</translation>
 <translation id="4766313118839197559">パスワードは、このデバイスのパスワード マネージャーに保存されます</translation>
 <translation id="4766678251456904326">デバイスへのアカウントの追加</translation>
+<translation id="4787736314074622408"><ph name="ITEM_TITLE" />を削除しますか?</translation>
 <translation id="4791358705705538979">ウェブでの操作(購入手続きなど)を完了できるようにサポートします</translation>
 <translation id="4794291718671962615">(<ph name="MEGABYTES" />)<ph name="URL" /></translation>
 <translation id="4802417911091824046">パスフレーズ暗号化の対象に Google Pay のお支払い方法と住所は含まれません。
@@ -946,6 +948,7 @@
 <translation id="6162892189396105610">Chrome によってアクセスする可能性があると判断されたページをプリロードします。</translation>
 <translation id="6186394685773237175">漏洩した可能性のあるパスワードは見つかりませんでした</translation>
 <translation id="6192907950379606605">画像の説明文を取得する</translation>
+<translation id="6193448654517602979">タブを選択</translation>
 <translation id="6196315980958524839">パスワードは、このデバイスの Google パスワード マネージャーに保存されます</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> 用のアプリを Google Play で開きますか?</translation>
 <translation id="6203593061661911168">Wi-Fi 接続時にダウンロードを開始します</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
index cb39005..f57c391d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">წინასწარ ჩატვირთავს გვერდებს, რომლებსაც Chrome-ის გათვლებით, სავარაუდოდ, ეწვევით.</translation>
 <translation id="6186394685773237175">გატეხილი პაროლები არ მოიძებნა</translation>
 <translation id="6192907950379606605">სურათების აღწერილობების მიღება</translation>
+<translation id="6193448654517602979">აირჩიეთ ჩანართები</translation>
 <translation id="6196315980958524839">პაროლები ინახება Google პაროლების მმართველში მხოლოდ ამ მოწყობილობაზე</translation>
 <translation id="620197886010707372">გაიხსნას აპი „<ph name="APPNAME" />“ Google Play-თი?</translation>
+<translation id="6202812185118613467">სინქრონიზაციის დასაწყებად ხელახლა შედით სისტემაში</translation>
 <translation id="6203593061661911168">ჩამოტვირთვა დაიწყება, როცა Wi-Fi ქსელს დაუკავშირდებით</translation>
 <translation id="6210748933810148297">არ ხართ <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">მიმდინარეობს ამ გვერდის გადახედვა</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
index 14c0c9f..0cbb29c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
@@ -454,6 +454,7 @@
 <translation id="3435465986463792564">Ашық тұрған терезе көп пе? Оларды осы жерден реттеңіз.</translation>
 <translation id="3443221991560634068">Ағымдағы бетті жаңарту</translation>
 <translation id="3444179773590444986">Сайттарға арналған қараңғы режим туралы пікір бөлісесіз бе?</translation>
+<translation id="3452832259067974318">Құпиялылықты сақтау үшін Chrome браузері құпия сөзіңізді автоматты түрде толтырмайды.</translation>
 <translation id="3469665409713263828">{FILE_COUNT,plural, =1{1 жүктеп алу жоспарланды.}other{# жүктеп алу жоспарланды.}}</translation>
 <translation id="3474624961160222204"><ph name="NAME" /> болып жалғастыру</translation>
 <translation id="3478363558367712427">Іздеу жүйесін таңдай аласыз.</translation>
@@ -679,6 +680,7 @@
 <translation id="4763480195061959176">бейне</translation>
 <translation id="4766313118839197559">Құпия сөздер осы құрылғыдағы Құпия сөз менеджеріне сақталады.</translation>
 <translation id="4766678251456904326">Құрылғыға аккаунт енгізу</translation>
+<translation id="4787736314074622408"><ph name="ITEM_TITLE" /> элементін жойғыңыз келе ме?</translation>
 <translation id="4791358705705538979">Интернет арқылы тапсырмаларды орындауға (мысалы, төлем жасау) көмектеседі.</translation>
 <translation id="4794291718671962615">(<ph name="MEGABYTES" />) <ph name="URL" /></translation>
 <translation id="4802417911091824046">Google Pay қызметіндегі төлеу әдістері мен мекенжайлар құпия фразамен шифрланбайды.
@@ -946,6 +948,7 @@
 <translation id="6162892189396105610">Chrome браузері сіз кіруіңіз мүмкін деп санайтын беттерді алдын ала жүктейді.</translation>
 <translation id="6186394685773237175">Ешқандай құпия сөз ұрланбаған.</translation>
 <translation id="6192907950379606605">Сурет сипаттамаларын алу</translation>
+<translation id="6193448654517602979">Қойындыларды таңдау</translation>
 <translation id="6196315980958524839">Құпия сөздер осы құрылғыдағы Google Құпия сөз менеджеріне сақталады.</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> қолданбасы Google Play арқылы ашылсын ба?</translation>
 <translation id="6203593061661911168">Жүктеп алу Wi-Fi желісіне қосылғанда басталады.</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 5d7c69b7..37bd69f 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
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">ផ្ទុកទំព័រជាមុន​ដែល Chrome គិតថាអ្នកទំនងជា​ចូលមើល។</translation>
 <translation id="6186394685773237175">រកមិនឃើញពាក្យសម្ងាត់ដែល​រងការលុកលុយទេ</translation>
 <translation id="6192907950379606605">យកការពណ៌នា​អំពីរូបភាព</translation>
+<translation id="6193448654517602979">ជ្រើសរើសផ្ទាំង</translation>
 <translation id="6196315980958524839">ពាក្យសម្ងាត់ត្រូវបានរក្សាទុកទៅក្នុងកម្មវិធីគ្រប់គ្រង​ពាក្យសម្ងាត់ Google នៅលើឧបករណ៍នេះ</translation>
 <translation id="620197886010707372">បើកកម្មវិធីសម្រាប់ <ph name="APPNAME" /> ដោយប្រើ Google Play ឬ?</translation>
+<translation id="6202812185118613467">ចូល​គណនី​វិញ ដើម្បី​ចាប់ផ្ដើម​ធ្វើសមកាលកម្ម</translation>
 <translation id="6203593061661911168">ការទាញយក​នឹងចាប់ផ្ដើមពេលមាន Wi-Fi</translation>
 <translation id="6210748933810148297">មិនមែន <ph name="EMAIL" /> ទេ?</translation>
 <translation id="6211386937064921208">កំពុងមើល​ទំព័រនេះ​សាកល្បង</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
index bc163c2e..933ce842 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
@@ -947,6 +947,7 @@
 <translation id="6162892189396105610">ನೀವು ಭೇಟಿ ನೀಡುವ ಸಾಧ್ಯತೆ ಇದೆ ಎಂದು Chrome ಭಾವಿಸುವ ಪುಟಗಳನ್ನು ಮುಂಚಿತವಾಗಿ ಲೋಡ್ ಮಾಡುತ್ತದೆ.</translation>
 <translation id="6186394685773237175">ಯಾವುದೇ ಪಾಸ್‌ವರ್ಡ್ ಅಪಾಯಕ್ಕೀಡಾದ ಹಾಗೆ ಕಂಡುಬರುತ್ತಿಲ್ಲ</translation>
 <translation id="6192907950379606605">ಚಿತ್ರದ ವಿವರಣೆ ಪಡೆಯಿರಿ</translation>
+<translation id="6193448654517602979">ಟ್ಯಾಬ್‌ ಆಯ್ಕೆ</translation>
 <translation id="6196315980958524839">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಈ ಸಾಧನದಲ್ಲಿನ Google Password Manager ನಲ್ಲಿ ಉಳಿಸಲಾಗಿದೆ</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> ಗಾಗಿ Google Play ಬಳಸಿ ಆ್ಯಪ್ ತೆರೆಯಬೇಕೇ?</translation>
 <translation id="6203593061661911168">ವೈ-ಫೈ ಆನ್ ಆದಾಗ ಡೌನ್‌ಲೋಡ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
index d9b8a65..5b2fc72 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome에서 사용자가 방문할 가능성이 높다고 생각되는 페이지를 미리 로드합니다.</translation>
 <translation id="6186394685773237175">유출된 비밀번호가 없습니다.</translation>
 <translation id="6192907950379606605">이미지 설명 보기</translation>
+<translation id="6193448654517602979">탭 선택</translation>
 <translation id="6196315980958524839">비밀번호가 이 기기의 Google 비밀번호 관리자에 저장됩니다.</translation>
 <translation id="620197886010707372">Google Play에서 <ph name="APPNAME" /> 앱을 여시겠습니까?</translation>
+<translation id="6202812185118613467">동기화를 시작하려면 다시 로그인하세요.</translation>
 <translation id="6203593061661911168">Wi-Fi에 연결되면 다운로드가 시작됩니다.</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" />이(가) 아닌가요?</translation>
 <translation id="6211386937064921208">페이지 미리보기입니다.</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 4f44d4c1..a46a450 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome сизди баш багат деп болжолдогон барактарды алдын ала жүктөйт.</translation>
 <translation id="6186394685773237175">Билинип калган сырсөздөр аныкталган жок</translation>
 <translation id="6192907950379606605">Сүрөттөмөлөрдү алуу</translation>
+<translation id="6193448654517602979">Өтмөктөрдү тандоо</translation>
 <translation id="6196315980958524839">Сырсөздөр ушул түзмөктө Google Сырсөздөрдү башкаргычка сакталат</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> колдонмосу Google Play'де ачылсынбы?</translation>
 <translation id="6203593061661911168">Wi-Fi'га туташканда жүктөлүп алынат</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
index 6b7d7a44..81584222 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">ໂຫຼດໜ້າທີ່ Chrome ຄິດວ່າທ່ານໜ້າຈະເຂົ້າໄວ້ກ່ອນລ່ວງໜ້າ.</translation>
 <translation id="6186394685773237175">ບໍ່ພົບລະຫັດຜ່ານທີ່ຖືກລະເມີດ</translation>
 <translation id="6192907950379606605">ຮັບຄຳອະທິບາຍຮູບ</translation>
+<translation id="6193448654517602979">ເລືອກແຖບ</translation>
 <translation id="6196315980958524839">ລະຫັດຜ່ານແມ່ນຖືກບັນທຶກໄປໃສ່ຕົວຈັດການລະຫັດຜ່ານ Google ຢູ່ອຸປະກອນນີ້</translation>
 <translation id="620197886010707372">ເປີດແອັບສຳລັບ <ph name="APPNAME" /> ດ້ວຍ Google Play ບໍ?</translation>
 <translation id="6203593061661911168">ການດາວໂຫຼດຈະເລີ່ມຕົ້ນເມື່ອໃຊ້ Wi-Fi</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 ba0bcd7..c83fadd 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
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Iš anksto įkeliami puslapiai, kuriuose, „Chrome“ manymu, galite apsilankyti.</translation>
 <translation id="6186394685773237175">Nerasta pažeistų slaptažodžių</translation>
 <translation id="6192907950379606605">Gauti vaizdų aprašus</translation>
+<translation id="6193448654517602979">Pasirinkti skirtukus</translation>
 <translation id="6196315980958524839">Slaptažodžiai saugomi „Google“ slaptažodžių tvarkyklėje šiame įrenginyje</translation>
 <translation id="620197886010707372">Atidaryti programą „<ph name="APPNAME" />“ sistemoje „Google Play“?</translation>
+<translation id="6202812185118613467">Prisijunkite vėl ir pradėkite sinchronizuoti</translation>
 <translation id="6203593061661911168">Atsisiuntimas bus pradėtas prisijungus prie „Wi-Fi“</translation>
 <translation id="6210748933810148297">Ne <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Peržiūrimas šis puslapis</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
index 95f4573..330e930 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Tiek iepriekš ielādētas lapas, ko jūs varētu apmeklēt saskaņā ar Chrome pieejamajiem datiem.</translation>
 <translation id="6186394685773237175">Netika atrasta neviena uzlauzta parole.</translation>
 <translation id="6192907950379606605">Iegūt attēlu aprakstus</translation>
+<translation id="6193448654517602979">Atlasiet cilnes</translation>
 <translation id="6196315980958524839">Paroles tiek saglabātas Google paroļu pārvaldniekā šajā ierīcē</translation>
 <translation id="620197886010707372">Vai atvērt lietotni <ph name="APPNAME" />, izmantojot Google Play?</translation>
 <translation id="6203593061661911168">Lejupielāde tiks sākta, kad būs izveidots savienojums ar Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
index 3037043..1bd9016 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Однапред ги вчитува страниците што Chrome мисли дека ќе ги посетите.</translation>
 <translation id="6186394685773237175">Не се најдени компромитирани лозинки</translation>
 <translation id="6192907950379606605">Добивајте описи на слики</translation>
+<translation id="6193448654517602979">Изберете картички</translation>
 <translation id="6196315980958524839">Лозинките се зачувани во „Управникот со лозинки на Google“ на уредов</translation>
 <translation id="620197886010707372">Да се отвори аплиација за <ph name="APPNAME" /> со Google Play?</translation>
 <translation id="6202812185118613467">Најавете се повторно за да започнете со синхронизација</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
index 41f31f3a8..20bedf0 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">നിങ്ങൾ സന്ദർശിക്കാൻ സാധ്യതയുണ്ടെന്ന് Chrome കരുതുന്ന പേജുകൾ മുൻകൂട്ടി ലോഡ് ചെയ്യുക.</translation>
 <translation id="6186394685773237175">അപഹരിക്കപ്പെട്ട പാസ്‌വേഡുകളൊന്നും കണ്ടെത്തിയില്ല</translation>
 <translation id="6192907950379606605">ചിത്ര വിവരണങ്ങൾ നേടുക</translation>
+<translation id="6193448654517602979">തിരഞ്ഞെടുക്കൂ</translation>
 <translation id="6196315980958524839">ഈ ഉപകരണത്തിലെ Google Password Manager-ൽ പാസ്‌വേഡുകൾ സംരക്ഷിക്കുന്നു</translation>
 <translation id="620197886010707372">Google Play ഉപയോഗിച്ച് <ph name="APPNAME" /> എന്നതിനുള്ള ആപ്പ് തുറക്കണോ?</translation>
+<translation id="6202812185118613467">സമന്വയിപ്പിക്കൽ തുടങ്ങുന്നതിന് തിരികെ സൈൻ ഇൻ ചെയ്യുക</translation>
 <translation id="6203593061661911168">വൈഫൈ കണക്റ്റാകുമ്പോൾ ഡൗൺലോഡ് ആരംഭിക്കും</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> അല്ലേ?</translation>
 <translation id="6211386937064921208">ഈ പേജ് പ്രിവ്യു ചെയ്യുന്നു</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
index d9aa226..ffeb38c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
@@ -947,6 +947,7 @@
 <translation id="6162892189396105610">Chrome-н таныг зочилж магадгүй гэж бодсон хуудаснуудыг урьдчилан ачаална.</translation>
 <translation id="6186394685773237175">Алдагдсан нууц үг олдсонгүй</translation>
 <translation id="6192907950379606605">Зургийн тайлбарыг авах</translation>
+<translation id="6193448654517602979">Таб сонгох</translation>
 <translation id="6196315980958524839">Нууц үгнүүдийг энэ төхөөрөмж дээр Google Password Manager-т хадгалдаг</translation>
 <translation id="620197886010707372">Google Play-р <ph name="APPNAME" />-н аппыг нээх үү?</translation>
 <translation id="6202812185118613467">Синк хийж эхлэхийн тулд буцаж нэвтэрнэ үү</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
index 35074af..28bbd5b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome ला तुम्ही भेट देण्याची शक्यता आहे, असे वाटत असलेली पेज ते प्रीलोड करते.</translation>
 <translation id="6186394685773237175">धोक्यात असलेले पासवर्ड सापडले नाहीत</translation>
 <translation id="6192907950379606605">इमेजची वर्णने मिळवा</translation>
+<translation id="6193448654517602979">टॅब निवडा</translation>
 <translation id="6196315980958524839">पासवर्ड हे Google पासवर्ड व्यवस्थापक यामध्ये या डिव्हाइसवर सेव्ह केले जातात</translation>
 <translation id="620197886010707372">Google Play वापरून <ph name="APPNAME" /> साठी अ‍ॅप उघडायचे आहे का?</translation>
+<translation id="6202812185118613467">सिंक सुरू करण्यासाठी पुन्हा साइन इन करा</translation>
 <translation id="6203593061661911168">वाय-फायशी कनेक्ट झाल्यावर, डाउनलोड सुरू होईल</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> नाही?</translation>
 <translation id="6211386937064921208">या पेजचे पूर्वावलोकन करत आहे</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
index 8312d49..de2913e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Mempramuat halaman yang diramal oleh Chrome akan anda lawati.</translation>
 <translation id="6186394685773237175">Tiada kata laluan yang terjejas ditemukan</translation>
 <translation id="6192907950379606605">Dapatkan perihalan imej</translation>
+<translation id="6193448654517602979">Pilih tab</translation>
 <translation id="6196315980958524839">Kata laluan disimpan pada Google Password Manager pada peranti ini</translation>
 <translation id="620197886010707372">Buka apl <ph name="APPNAME" /> dengan Google Play?</translation>
+<translation id="6202812185118613467">Log masuk semula untuk memulakan penyegerakan</translation>
 <translation id="6203593061661911168">Muat turun akan bermula apabila menggunakan Wi-Fi</translation>
 <translation id="6210748933810148297">Bukan <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Memaparkan pratonton halaman ini</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
index 6b60a6937..37eeea1 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome က သင်ဝင်ကြည့်လိုသည်ဟု ထင်သည့် စာမျက်နှာများကို ကြိုဖွင့်ပေးသည်။</translation>
 <translation id="6186394685773237175">ကျိုးပေါက်ထားသည့် စကားဝှက် မရှိပါ</translation>
 <translation id="6192907950379606605">ပုံရှင်းလင်းချက်များ ရယူရန်</translation>
+<translation id="6193448654517602979">တဘ်ရွေးရန်</translation>
 <translation id="6196315980958524839">စကားဝှက်များကို ဤစက်ရှိ ‘Google စကားဝှက်မန်နေဂျာ’ တွင် သိမ်းသည်</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> အတွက် အက်ပ်ကို Google Play ဖြင့် ဖွင့်မလား။</translation>
+<translation id="6202812185118613467">စတင်စင့်ခ်လုပ်ရန် ပြန်လည်လက်မှတ်ထိုးဝင်ပါ</translation>
 <translation id="6203593061661911168">Wi-Fi ချိတ်မိပါက ဒေါင်းလုဒ် စတင်ပါမည်</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> မဟုတ်ဘူးလား။</translation>
 <translation id="6211386937064921208">ဤစာမျက်နှာကို အစမ်းကြည့်ရှုနေသည်</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
index e4da430..8b3ad6c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
@@ -947,6 +947,7 @@
 <translation id="6162892189396105610">यो मोड अन हुँदा Chrome लाई तपाईं जुन जुन पेज खोल्न सक्नुहुन्छ भन्ने लाग्छ ती पेज प्रिलोड गरेर राखिन्छ।</translation>
 <translation id="6186394685773237175">अरूले देखेको कुनै पनि पासवर्ड फेला परेन</translation>
 <translation id="6192907950379606605">फोटोका विवरणहरू पाउनुहोस्</translation>
+<translation id="6193448654517602979">ट्याबहरू चयन गर्नुहोस्</translation>
 <translation id="6196315980958524839">पासवर्डहरू यो डिभाइसको Google पासवर्ड म्यानेजरमा सेभ गरिन्छन्</translation>
 <translation id="620197886010707372">Google Play मार्फत <ph name="APPNAME" /> एप खोल्ने हो?</translation>
 <translation id="6203593061661911168">Wi-Fi मा कनेक्ट भएपछि डाउनलोड गर्न थालिने छ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
index 7bbcb3f..043dce35 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Pagina's waarvan Chrome denkt dat je ze waarschijnlijk gaat bezoeken, worden vooraf geladen.</translation>
 <translation id="6186394685773237175">Geen gehackte wachtwoorden gevonden</translation>
 <translation id="6192907950379606605">Afbeeldingsbeschrijvingen ophalen</translation>
+<translation id="6193448654517602979">Tabbladen selecteren</translation>
 <translation id="6196315980958524839">Wachtwoorden worden opgeslagen in Google Wachtwoordmanager op dit apparaat</translation>
 <translation id="620197886010707372">App voor <ph name="APPNAME" /> openen met Google Play?</translation>
 <translation id="6202812185118613467">Log weer in om de synchronisatie te starten</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 efd541da0..50b363a 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
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Forhåndslaster sider som Chrome tror du kanskje kommer til å besøke.</translation>
 <translation id="6186394685773237175">Fant ingen passord som er utsatt for sikkerhetsbrudd</translation>
 <translation id="6192907950379606605">Få bildebeskrivelser</translation>
+<translation id="6193448654517602979">Velg faner</translation>
 <translation id="6196315980958524839">Passord lagres i Google Passordlagring på denne enheten</translation>
 <translation id="620197886010707372">Vil du åpne appen for <ph name="APPNAME" /> med Google Play?</translation>
+<translation id="6202812185118613467">Logg på igjen for å starte synkroniseringen</translation>
 <translation id="6203593061661911168">Nedlastingen starter når du er tilkoblet Wi-Fi</translation>
 <translation id="6210748933810148297">Ikke <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Forhåndsviser denne siden</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
index 4c88f965..0e8845f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">ଆପଣ ଭିଜିଟ କରିବାର ସମ୍ଭାବନା ଅଛି ବୋଲି Chrome ଭାବୁଥିବା ପୃଷ୍ଠାଗୁଡ଼ିକୁ ପ୍ରିଲୋଡ କରେ।</translation>
 <translation id="6186394685773237175">କୌଣସି ଚୋରି ହୋଇଯାଇଥିବା ପାସୱାର୍ଡ ମିଳିଲା ନାହିଁ</translation>
 <translation id="6192907950379606605">ଛବିର ବର୍ଣ୍ଣନା ପାଆନ୍ତୁ</translation>
+<translation id="6193448654517602979">ଟାବ୍‌ଗୁଡ଼ିକ ବାଛନ୍ତୁ</translation>
 <translation id="6196315980958524839">ଏହି ଡିଭାଇସ Google Password Managerରେ ପାସୱାର୍ଡଗୁଡ଼ିକ ସେଭ କରାଯାଇଛି</translation>
 <translation id="620197886010707372">Google Play ମାଧ୍ୟମରେ <ph name="APPNAME" /> ପାଇଁ ଆପ ଖୋଲିବେ?</translation>
+<translation id="6202812185118613467">ସିଙ୍କ ଆରମ୍ଭ କରିବା ପାଇଁ ପୁଣି ସାଇନ ଇନ କରନ୍ତୁ</translation>
 <translation id="6203593061661911168">ୱାଇ-ଫାଇ ଚାଲୁ ଥିବା ବେଳେ ଡାଉନଲୋଡ୍ ଆରମ୍ଭ ହେବ</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> ନୁହେଁ?</translation>
 <translation id="6211386937064921208">ଏହି ପୃଷ୍ଠା ପ୍ରିଭ୍ୟୁ କରାଯାଉଛି</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
index 113eee4..156ee3b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
@@ -343,7 +343,7 @@
 <translation id="2886836735871983413">ਵੈੱਬ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰਦੇ ਹੋਏ ਸਾਈਟਾਂ ਦੀ ਸੂਚੀ ਇੱਥੇ ਦਿਸੇਗੀ</translation>
 <translation id="2888126860611144412">Chrome ਬਾਰੇ</translation>
 <translation id="2891154217021530873">ਲੋਡ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੁਕੋ</translation>
-<translation id="2893180576842394309">Google ਖੋਜ ਅਤੇ ਹੋਰਾਂ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
+<translation id="2893180576842394309">Google Search ਅਤੇ ਹੋਰਾਂ Google ਸੇਵਾਵਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਤੁਹਾਡੇ ਇਤਿਹਾਸ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ</translation>
 <translation id="2900528713135656174">ਵਰਤਾਰਾ ਬਣਾਓ</translation>
 <translation id="2901411048554510387"><ph name="WEBSITE_TITLE" /> ਲਈ ਸੁਝਾਅ ਦਿਖਾਏ ਜਾ ਰਹੇ ਹਨ</translation>
 <translation id="2904414404539560095">ਕਿਸੇ ਟੈਬ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਵਾਲੇ ਡੀਵਾਈਸਾਂ ਦੀ ਸੂਚੀ ਪੂਰੀ ਉਚਾਈ 'ਤੇ ਖੁੱਲ੍ਹੀ ਹੋਈ ਹੈ।</translation>
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome ਮੁਤਾਬਕ ਜਿਨ੍ਹਾਂ ਪੰਨਿਆਂ 'ਤੇ ਤੁਸੀਂ ਜਾ ਸਕਦੇ ਹੋ, ਇਹ ਉਨ੍ਹਾਂ ਨੂੰ ਪ੍ਰੀਲੋਡ ਕਰਦਾ ਹੈ।</translation>
 <translation id="6186394685773237175">ਕੋਈ ਛੇੜਛਾੜ ਵਾਲੇ ਪਾਸਵਰਡ ਨਹੀਂ ਮਿਲੇ</translation>
 <translation id="6192907950379606605">ਚਿੱਤਰ ਵਰਣਨ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
+<translation id="6193448654517602979">ਟੈਬਾਂ ਚੁਣੋ</translation>
 <translation id="6196315980958524839">ਪਾਸਵਰਡ ਇਸ ਡੀਵਾਈਸ ਦੇ Google ਪਾਸਵਰਡ ਪ੍ਰਬੰਧਕ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੇ ਗਏ ਹਨ</translation>
 <translation id="620197886010707372">ਕੀ Google Play ਨਾਲ <ph name="APPNAME" /> ਲਈ ਐਪ ਨੂੰ ਖੋਲ੍ਹਣਾ ਹੈ?</translation>
+<translation id="6202812185118613467">ਸਿੰਕ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਵਾਪਸ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="6203593061661911168">ਵਾਈ-ਫਾਈ 'ਤੇ ਡਾਊਨਲੋਡ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇਗਾ</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> ਨਹੀਂ ਹੋ?</translation>
 <translation id="6211386937064921208">ਇਸ ਪੰਨੇ ਦੀ ਪੂਰਵ-ਝਲਕ ਦਿਖਾਈ ਜਾ ਰਹੀ ਹੈ</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
index b1a8359..b08814e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Wczytuje strony, w przypadku których Chrome przewiduje, że je odwiedzisz.</translation>
 <translation id="6186394685773237175">Nie znaleziono przejętych haseł</translation>
 <translation id="6192907950379606605">Pobieraj opisy obrazów</translation>
+<translation id="6193448654517602979">Wybierz karty</translation>
 <translation id="6196315980958524839">Hasła są zapisywane w Menedżerze haseł Google na tym urządzeniu.</translation>
 <translation id="620197886010707372">Otworzyć aplikację <ph name="APPNAME" /> w Google Play?</translation>
+<translation id="6202812185118613467">Zaloguj się z powrotem, aby rozpocząć synchronizację</translation>
 <translation id="6203593061661911168">Pobieranie rozpocznie się po połączeniu z siecią Wi-Fi</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> to nie Ty?</translation>
 <translation id="6211386937064921208">Wyświetlam podgląd tej strony</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
index 520353d..8de6f49 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -949,8 +949,10 @@
 <translation id="6162892189396105610">Pré-carrega páginas que o Chrome acredita que você irá acessar.</translation>
 <translation id="6186394685773237175">Não foram encontradas senhas comprometidas</translation>
 <translation id="6192907950379606605">Ver descrições de imagens</translation>
+<translation id="6193448654517602979">Selecione as guias</translation>
 <translation id="6196315980958524839">As senhas são salvas no Gerenciador de senhas do Google neste dispositivo</translation>
 <translation id="620197886010707372">Abrir app <ph name="APPNAME" /> com o Google Play?</translation>
+<translation id="6202812185118613467">Faça login novamente para iniciar a sincronização</translation>
 <translation id="6203593061661911168">O download será iniciado quando houver uma conexão Wi-Fi</translation>
 <translation id="6210748933810148297">Não é <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Visualizando esta página</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 bb835d0e..70ad174 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Pré-carrega páginas que o Chrome pensa que provavelmente irá visitar.</translation>
 <translation id="6186394685773237175">Não foram encontradas palavras-passe comprometidas.</translation>
 <translation id="6192907950379606605">Obter descrições de imagens</translation>
+<translation id="6193448654517602979">Selecione separadores</translation>
 <translation id="6196315980958524839">As palavras-passe são guardadas no Gestor de Palavras-passe da Google neste dispositivo</translation>
 <translation id="620197886010707372">Abrir a app <ph name="APPNAME" /> com o Google Play?</translation>
 <translation id="6202812185118613467">Inicie sessão novamente para iniciar a sincronização</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
index 2f4fc49..da1adb3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Preîncarcă paginile pe care Chrome consideră că este posibil să le accesezi.</translation>
 <translation id="6186394685773237175">Nu s-au găsit parole compromise</translation>
 <translation id="6192907950379606605">Generează descrieri imagine</translation>
+<translation id="6193448654517602979">Selectează file</translation>
 <translation id="6196315980958524839">Parolele sunt salvate în Managerul de parole Google pe acest dispozitiv</translation>
 <translation id="620197886010707372">Deschizi aplicația pentru <ph name="APPNAME" /> cu Google Play?</translation>
+<translation id="6202812185118613467">Conectează-te din nou pentru a începe sincronizarea</translation>
 <translation id="6203593061661911168">Descărcarea va începe după conectarea la Wi-Fi</translation>
 <translation id="6210748933810148297">Nu ești <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Previzualizare a paginii</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
index 46ab8be..173a2c8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome предварительно загружает страницы, которые вы с большой вероятностью посетите.</translation>
 <translation id="6186394685773237175">Раскрытых паролей не найдено.</translation>
 <translation id="6192907950379606605">Описывать изображения</translation>
+<translation id="6193448654517602979">Выберите вкладки</translation>
 <translation id="6196315980958524839">Пароли сохраняются в Google Менеджере паролей и доступны на этом устройстве.</translation>
 <translation id="620197886010707372"><ph name="APPNAME" />: открыть приложение через Google Play?</translation>
 <translation id="6203593061661911168">Скачивание начнется, когда будет установлено подключение по Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
index eb2fbc0..25913ca 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">ඔබ පැමිණිය හැකි යැයි Chrome සිතන පිටු පූර්ව පූරණය කරයි.</translation>
 <translation id="6186394685773237175">සමථයට පත් වූ මුරපද කිසියක් නැත</translation>
 <translation id="6192907950379606605">රූප විස්තර ලබා ගන්න</translation>
+<translation id="6193448654517602979">පටිති තෝරන්න</translation>
 <translation id="6196315980958524839">මුරපද මෙම උපාංගයේ Google මුරපද කළමනාකරු තුළ සුරැකේ</translation>
 <translation id="620197886010707372">Google Play සමග <ph name="APPNAME" /> සඳහා යෙදුම විවෘත කරන්නද?</translation>
 <translation id="6203593061661911168">බාගැනීම Wi-Fi හි ඇති විට ආරම්භ වනු ඇත</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 53c9c00..1b6aeae 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Prednačítava stránky, ktoré podľa Chromu pravdepodobne navštívite.</translation>
 <translation id="6186394685773237175">Nezistili sa žiadne prelomené heslá</translation>
 <translation id="6192907950379606605">Získať popisy obrázkov</translation>
+<translation id="6193448654517602979">Vyberte karty</translation>
 <translation id="6196315980958524839">Heslá sa ukladajú do Správcu hesiel Google v tomto zariadení.</translation>
 <translation id="620197886010707372">Chcete otvoriť aplikáciu pre aplikáciu <ph name="APPNAME" /> pomocou služby Google Play?</translation>
 <translation id="6202812185118613467">Ak chcete spustiť synchronizáciu, znova sa prihláste</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
index 782354e..269d6cd 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Vnaprej naloži strani, za katere Chrome meni, da jih boste najverjetneje obiskali.</translation>
 <translation id="6186394685773237175">Najdeno ni bilo nobeno ogroženo geslo</translation>
 <translation id="6192907950379606605">Prenesi opise slik</translation>
+<translation id="6193448654517602979">Izberite zavihke</translation>
 <translation id="6196315980958524839">Gesla so shranjena v Google Upravitelju gesel v tej napravi.</translation>
 <translation id="620197886010707372">Želite odpreti aplikacijo za aplikacijo <ph name="APPNAME" /> z Googlom Play?</translation>
 <translation id="6203593061661911168">Prenos se bo začel v omrežju Wi-Fi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
index 02eaa35d..f52c949 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Ngarkon paraprakisht faqet që Chrome mendon se mund të vizitosh.</translation>
 <translation id="6186394685773237175">Nuk u gjetën fjalëkalime të komprometuara</translation>
 <translation id="6192907950379606605">Merr përshkrimet e imazheve</translation>
+<translation id="6193448654517602979">Zgjidh skedat</translation>
 <translation id="6196315980958524839">Fjalëkalimet ruhen në "Menaxherin e fjalëkalimeve të Google" në këtë pajisje</translation>
 <translation id="620197886010707372">Të hapet aplikacioni për <ph name="APPNAME" /> me Google Play?</translation>
 <translation id="6203593061661911168">Shkarkimi do të fillojë kur të jesh në Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
index 3e37cbf..37e3d400 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Predučitava stranice za koje Chrome smatra da ćete ih verovatno posetiti.</translation>
 <translation id="6186394685773237175">Nije pronađena nijedna ugrožena lozinka</translation>
 <translation id="6192907950379606605">Preuzimaj opise slika</translation>
+<translation id="6193448654517602979">Izaberite kartice</translation>
 <translation id="6196315980958524839">Lozinke se čuvaju u Google menadžeru lozinki na ovom uređaju</translation>
 <translation id="620197886010707372">Želite da otvorite aplikaciju <ph name="APPNAME" /> pomoću Google Play-a?</translation>
 <translation id="6202812185118613467">Ponovo se prijavite da biste započeli sinhronizaciju</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
index 58e26893..bb7441f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Предучитава странице за које Chrome сматра да ћете их вероватно посетити.</translation>
 <translation id="6186394685773237175">Није пронађена ниједна угрожена лозинка</translation>
 <translation id="6192907950379606605">Преузимај описе слика</translation>
+<translation id="6193448654517602979">Изаберите картице</translation>
 <translation id="6196315980958524839">Лозинке се чувају у Google менаџеру лозинки на овом уређају</translation>
 <translation id="620197886010707372">Желите да отворите апликацију <ph name="APPNAME" /> помоћу Google Play-а?</translation>
 <translation id="6202812185118613467">Поново се пријавите да бисте започели синхронизацију</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
index 101d2788..9a5bbc9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
@@ -949,6 +949,7 @@
 <translation id="6162892189396105610">Sidor som du kanske vill besöka läses in i förväg i Chrome.</translation>
 <translation id="6186394685773237175">Inga utsatta lösenord hittades</translation>
 <translation id="6192907950379606605">Få bildbeskrivningar</translation>
+<translation id="6193448654517602979">Välj flikar</translation>
 <translation id="6196315980958524839">Lösenorden sparas med Google Lösenordshantering på den här enheten</translation>
 <translation id="620197886010707372">Vill du öppna appen för <ph name="APPNAME" /> med Google Play?</translation>
 <translation id="6203593061661911168">Nedladdningen påbörjas när du ansluter till wifi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
index 2f84fc8..0a464a02 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Hupakia mapema kurasa ambazo Chrome inafikiri kwamba unaweza kuzitembelea.</translation>
 <translation id="6186394685773237175">Hatukupata manenosiri yaliyoathiriwa</translation>
 <translation id="6192907950379606605">Pata maelezo ya picha</translation>
+<translation id="6193448654517602979">Chagua vichupo</translation>
 <translation id="6196315980958524839">Manenosiri huhifadhiwa kwenye Kidhibiti cha Manenosiri cha Google katika kifaa hiki</translation>
 <translation id="620197886010707372">Unataka ufungue programu ya <ph name="APPNAME" /> kwa kutumia Google Play?</translation>
 <translation id="6203593061661911168">Itaanza kupakua ukiunganisha kwenye Wi-Fi</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
index 7c84da25..012c323 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">நீங்கள் பார்வையிடக்கூடிய பக்கங்களைக் கணித்து அவற்றை Chrome முன்கூட்டியே ஏற்றும்.</translation>
 <translation id="6186394685773237175">களவாடப்பட்ட கடவுச்சொற்கள் எதுவும் இல்லை</translation>
 <translation id="6192907950379606605">பட விளக்கங்களைப் பெறு</translation>
+<translation id="6193448654517602979">தாவல்களைத் தேர்ந்தெடுக்கவும்</translation>
 <translation id="6196315980958524839">இந்தச் சாதனத்தில் உள்ள Google Password Managerரில் கடவுச்சொற்கள் சேமிக்கப்படுகின்றன</translation>
 <translation id="620197886010707372">Google Playயில் <ph name="APPNAME" />க்கான ஆப்ஸைத் திறக்கவா?</translation>
 <translation id="6203593061661911168">வைஃபையுடன் இணைக்கப்பட்டதும் பதிவிறக்கம் தொடங்கும்</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
index 3f6dbe5b..ebfebbf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">మీరు సందర్శించవచ్చని Chrome భావించే పేజీలను ప్రీ - లోడ్ చేస్తుంది.</translation>
 <translation id="6186394685773237175">చోరీకి గురైన పాస్‌వర్డ్‌లు ఏవీ కనుగొనబడలేదు</translation>
 <translation id="6192907950379606605">ఇమేజ్ వివరణలను పొందండి</translation>
+<translation id="6193448654517602979">ట్యాబ్‌లను ఎంచుకోండి</translation>
 <translation id="6196315980958524839">పాస్‌వర్డ్‌లు ఈ పరికరంలోని Google పాస్‌వర్డ్ మేనేజర్‌లో సేవ్ చేయబడతాయి</translation>
 <translation id="620197886010707372">Google Playలో <ph name="APPNAME" /> యాప్‌ను తెరవాలా?</translation>
 <translation id="6202812185118613467">సింక్‌ను ప్రారంభించడం కోసం తిరిగి సైన్ ఇన్ చేయండి</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
index 79ecf80..eb51603d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">โหลดหน้าที่ Chrome คิดว่าคุณอาจจะเข้าชมไว้ล่วงหน้า</translation>
 <translation id="6186394685773237175">ไม่พบรหัสผ่านที่ไม่รัดกุม</translation>
 <translation id="6192907950379606605">รับคำอธิบายรูปภาพ</translation>
+<translation id="6193448654517602979">เลือกแท็บ</translation>
 <translation id="6196315980958524839">รหัสผ่านจะบันทึกอยู่ในเครื่องมือจัดการรหัสผ่านของ Google ในอุปกรณ์นี้</translation>
 <translation id="620197886010707372">เปิดแอปสำหรับ <ph name="APPNAME" /> ใน Google Play ไหม</translation>
 <translation id="6202812185118613467">ลงชื่อเข้าใช้อีกครั้งเพื่อเริ่มซิงค์</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
index a9f4af2..bc4c745 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome'un ziyaret edebileceğinizi düşündüğü sayfaları önceden yükler.</translation>
 <translation id="6186394685773237175">Güvenliği ihlal edilmiş şifre bulunmadı</translation>
 <translation id="6192907950379606605">Resim açıklaması al</translation>
+<translation id="6193448654517602979">Sekmeleri seçin</translation>
 <translation id="6196315980958524839">Şifreler bu cihazda Google Şifre Yöneticisi'ne kaydedilir</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> uygulaması Google Play ile açılsın mı?</translation>
 <translation id="6203593061661911168">İndirme kablosuz bağlantı üzerinden başlatılacak</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
index e57bc563..d013adf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Сторінки, які ви, імовірно, відвідаєте, попередньо завантажуються.</translation>
 <translation id="6186394685773237175">Немає зламаних паролів</translation>
 <translation id="6192907950379606605">Отримувати описи зображень</translation>
+<translation id="6193448654517602979">Виберіть вкладки</translation>
 <translation id="6196315980958524839">Паролі збережено в Менеджері паролів Google на цьому пристрої</translation>
 <translation id="620197886010707372"><ph name="APPNAME" />: відкрити додаток через Google Play?</translation>
 <translation id="6203593061661911168">Завантаження почнеться, коли пристрій підключиться до Wi-Fi</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 f1aba84..2a8bf12 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
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">‏ایسے صفحات پیشگی لوڈ ہوتے ہیں جن کے بارے میں Chrome کا خیال ہوتا ہے کہ آپ ملاحظہ کر سکتے ہیں۔</translation>
 <translation id="6186394685773237175">کوئی متاثرہ پاس ورڈ نہیں ملا</translation>
 <translation id="6192907950379606605">تصویری تفصیلات حاصل کریں</translation>
+<translation id="6193448654517602979">ٹیبز منتخب کریں</translation>
 <translation id="6196315980958524839">‏پاس ورڈز اس آلہ پر Google پاس ورڈ مینیجر میں محفوظ کیے جاتے ہیں</translation>
 <translation id="620197886010707372">‏Google Play کے ساتھ <ph name="APPNAME" /> کے لیے ایپ کھولیں؟</translation>
+<translation id="6202812185118613467">مطابقت پذیری شروع کرنے کے لیے دوبارہ سائن ان کریں</translation>
 <translation id="6203593061661911168">‏ڈاؤن لوڈ Wi-Fi آن ہونے پر شروع ہوگا</translation>
 <translation id="6210748933810148297"><ph name="EMAIL" /> نہیں؟</translation>
 <translation id="6211386937064921208">اس صفحہ کا پیش منظر دکھایا جا رہا ہے</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
index f303c43..9774ef7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Chrome sizni kirishni istaydi deb hisoblagan sahifalarni oldindan yuklaydi.</translation>
 <translation id="6186394685773237175">Oshkor qilingan parollar topilmadi</translation>
 <translation id="6192907950379606605">Rasm tavsiflari chiqsin</translation>
+<translation id="6193448654517602979">Varaqlarni tanlang</translation>
 <translation id="6196315980958524839">Parollar shu qurilmadagi Google Parollar menejeriga saqlanadi.</translation>
 <translation id="620197886010707372"><ph name="APPNAME" /> ilovasi Google Play orqali ochilsinmi?</translation>
 <translation id="6202812185118613467">Sinxronizatsiyani boshlash uchun hisobga qayta kiring.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
index cc475b4..e4c3cc8b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">Chrome sẽ tải trước các trang mà trình duyệt cho rằng bạn có thể sẽ truy cập.</translation>
 <translation id="6186394685773237175">Không phát hiện thấy mật khẩu nào bị lộ</translation>
 <translation id="6192907950379606605">Tải nội dung mô tả hình ảnh</translation>
+<translation id="6193448654517602979">Chọn các thẻ</translation>
 <translation id="6196315980958524839">Lưu mật khẩu vào Trình quản lý mật khẩu trên thiết bị này</translation>
 <translation id="620197886010707372">Mở ứng dụng <ph name="APPNAME" /> trên Google Play?</translation>
+<translation id="6202812185118613467">Đăng nhập lại để bắt đầu đồng bộ hoá</translation>
 <translation id="6203593061661911168">Quá trình tải xuống sẽ bắt đầu khi có Wi-Fi</translation>
 <translation id="6210748933810148297">Không phải là <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">Đang xem trước trang này</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
index 8ba6d6f8..1e697721 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">预加载 Chrome 认为您可能会访问的网页。</translation>
 <translation id="6186394685773237175">未发现任何已泄露的密码</translation>
 <translation id="6192907950379606605">获取图片说明</translation>
+<translation id="6193448654517602979">选择标签页</translation>
 <translation id="6196315980958524839">系统会将密码保存到此设备上的 Google 密码管理工具中</translation>
 <translation id="620197886010707372">要通过 Google Play 打开“<ph name="APPNAME" />”应用吗?</translation>
+<translation id="6202812185118613467">重新登录即可开始同步</translation>
 <translation id="6203593061661911168">一旦有 Wi-Fi 可用即开始下载</translation>
 <translation id="6210748933810148297">不是 <ph name="EMAIL" />?</translation>
 <translation id="6211386937064921208">正在预览此页</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
index af6ad85..ebc797c 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
@@ -948,8 +948,10 @@
 <translation id="6162892189396105610">預先載入 Chrome 認為您可能瀏覽的網頁。</translation>
 <translation id="6186394685773237175">找不到被盜用的密碼</translation>
 <translation id="6192907950379606605">取得圖片說明</translation>
+<translation id="6193448654517602979">選取分頁</translation>
 <translation id="6196315980958524839">密碼會儲存至此裝置上的「Google 密碼管理工具」</translation>
 <translation id="620197886010707372">要使用 Google Play 開啟「<ph name="APPNAME" />」應用程式嗎?</translation>
+<translation id="6202812185118613467">重新登入即可開始同步</translation>
 <translation id="6203593061661911168">使用 Wi-Fi 時將開始下載</translation>
 <translation id="6210748933810148297">不是 <ph name="EMAIL" /> 嗎?</translation>
 <translation id="6211386937064921208">正在預覽此網頁</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
index 623e0d3..e67c0e5 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -947,8 +947,10 @@
 <translation id="6162892189396105610">預先載入 Chrome 認為你可能造訪的網頁。</translation>
 <translation id="6186394685773237175">未發現任何外洩密碼</translation>
 <translation id="6192907950379606605">取得圖片說明</translation>
+<translation id="6193448654517602979">選取分頁</translation>
 <translation id="6196315980958524839">密碼會儲存至這部裝置上的 Google 密碼管理工具</translation>
 <translation id="620197886010707372">要使用 Google Play 開啟「<ph name="APPNAME" />」應用程式嗎?</translation>
+<translation id="6202812185118613467">重新登入即可開始同步</translation>
 <translation id="6203593061661911168">連上 Wi-Fi 網路後將開始下載</translation>
 <translation id="6210748933810148297">不是 <ph name="EMAIL" /> 嗎?</translation>
 <translation id="6211386937064921208">正在預覽這個網頁</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 9c78e722..9b2ce55 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
@@ -948,6 +948,7 @@
 <translation id="6162892189396105610">Ilayisha ngaphambilini amakhasi i-Chrome ecabanga ukuthi kungenzeka uwavakashele.</translation>
 <translation id="6186394685773237175">Awekho amaphasiwedi onakalisiwe atholakele</translation>
 <translation id="6192907950379606605">Thola incazelo yesithombe</translation>
+<translation id="6193448654517602979">Khetha amathebhu</translation>
 <translation id="6196315980958524839">Amaphasiwedi alondolozwa ku-Google Password Manager kule divayisi</translation>
 <translation id="620197886010707372">Vula i-app ye-<ph name="APPNAME" /> nge-Google Play?</translation>
 <translation id="6203593061661911168">Ukudawuniloa kuzoqala uma i-Wi-Fi ivuliwe</translation>
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarCoordinator.java
index 774e2f3..5dc4852 100644
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarCoordinator.java
@@ -16,7 +16,6 @@
 import org.chromium.base.Callback;
 import org.chromium.base.CallbackController;
 import org.chromium.base.supplier.BooleanSupplier;
-import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.Supplier;
 import org.chromium.chrome.browser.device.DeviceClassManager;
 import org.chromium.chrome.browser.layouts.LayoutType;
@@ -24,6 +23,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.theme.ThemeColorProvider;
 import org.chromium.chrome.browser.toolbar.ButtonData;
+import org.chromium.chrome.browser.toolbar.ButtonDataProvider;
 import org.chromium.chrome.browser.toolbar.R;
 import org.chromium.chrome.browser.toolbar.TabCountProvider;
 import org.chromium.chrome.browser.toolbar.TabSwitcherButtonCoordinator;
@@ -60,9 +60,8 @@
     private CallbackController mCallbackController = new CallbackController();
 
     StartSurfaceToolbarCoordinator(ViewStub startSurfaceToolbarStub,
-            UserEducationHelper userEducationHelper,
-            ObservableSupplier<Boolean> identityDiscStateSupplier, ThemeColorProvider provider,
-            MenuButtonCoordinator menuButtonCoordinator,
+            UserEducationHelper userEducationHelper, ButtonDataProvider identityDiscController,
+            ThemeColorProvider provider, MenuButtonCoordinator menuButtonCoordinator,
             Supplier<ButtonData> identityDiscButtonSupplier, boolean isGridTabSwitcherEnabled,
             boolean isTabToGtsAnimationEnabled, boolean isTabGroupsAndroidContinuationEnabled,
             BooleanSupplier isIncognitoModeEnabledSupplier,
@@ -92,7 +91,7 @@
                             iphCommandBuilder.setAnchorView(mView.getIdentityDiscView()).build());
                 },
                 StartSurfaceConfiguration.START_SURFACE_HIDE_INCOGNITO_SWITCH_NO_TAB.getValue(),
-                menuButtonCoordinator, identityDiscStateSupplier, identityDiscButtonSupplier,
+                menuButtonCoordinator, identityDiscController, identityDiscButtonSupplier,
                 StartSurfaceConfiguration.TAB_COUNT_BUTTON_ON_START_SURFACE.getValue(),
                 isTabToGtsFadeAnimationEnabled, isTabGroupsAndroidContinuationEnabled,
                 isIncognitoModeEnabledSupplier, logoClickedCallback, isRefactorEnabled,
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediator.java
index 65f48ff..bc85f933 100644
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/StartSurfaceToolbarMediator.java
@@ -34,7 +34,6 @@
 import org.chromium.base.Callback;
 import org.chromium.base.CallbackController;
 import org.chromium.base.supplier.BooleanSupplier;
-import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.Supplier;
 import org.chromium.chrome.browser.layouts.LayoutType;
 import org.chromium.chrome.browser.logo.LogoCoordinator;
@@ -46,6 +45,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
 import org.chromium.chrome.browser.toolbar.ButtonData;
 import org.chromium.chrome.browser.toolbar.ButtonData.ButtonSpec;
+import org.chromium.chrome.browser.toolbar.ButtonDataProvider;
 import org.chromium.chrome.browser.toolbar.TabCountProvider;
 import org.chromium.chrome.browser.toolbar.menu_button.MenuButtonCoordinator;
 import org.chromium.chrome.browser.user_education.IPHCommandBuilder;
@@ -58,7 +58,7 @@
 import org.chromium.ui.modelutil.PropertyModelAnimatorFactory;
 
 /** The mediator implements interacts between the views and the caller. */
-class StartSurfaceToolbarMediator {
+class StartSurfaceToolbarMediator implements ButtonDataProvider.ButtonDataObserver {
     private final PropertyModel mPropertyModel;
     private final Callback<IPHCommandBuilder> mShowIdentityIPHCallback;
     private final boolean mHideIncognitoSwitchWhenNoTabs;
@@ -73,6 +73,7 @@
     private final Callback<LoadUrlParams> mLogoClickedCallback;
     private final boolean mIsRefactorEnabled;
     private final boolean mShouldFetchDoodle;
+    private final ButtonDataProvider mIdentityDiscController;
 
     private TabModelSelector mTabModelSelector;
     private TabCountProvider mTabCountProvider;
@@ -94,7 +95,7 @@
     StartSurfaceToolbarMediator(PropertyModel model,
             Callback<IPHCommandBuilder> showIdentityIPHCallback,
             boolean hideIncognitoSwitchWhenNoTabs, MenuButtonCoordinator menuButtonCoordinator,
-            ObservableSupplier<Boolean> identityDiscStateSupplier,
+            ButtonDataProvider identityDiscController,
             Supplier<ButtonData> identityDiscButtonSupplier,
             boolean shouldShowTabSwitcherButtonOnHomepage, boolean isTabToGtsFadeAnimationEnabled,
             boolean isTabGroupsAndroidContinuationEnabled,
@@ -113,11 +114,8 @@
         mLogoClickedCallback = logoClickedCallback;
         mDefaultSearchEngineHasLogo = true;
         mShouldFetchDoodle = shouldFetchDoodle;
-        identityDiscStateSupplier.addObserver((canShowHint) -> {
-            // If the identity disc wants to be hidden and is hidden, there's nothing we need to do.
-            if (!canShowHint && !mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE)) return;
-            updateIdentityDisc(mIdentityDiscButtonSupplier.get());
-        });
+        mIdentityDiscController = identityDiscController;
+        mIdentityDiscController.addObserver(this);
         mIsRefactorEnabled = isRefactorEnabled;
 
         mShouldShowTabSwitcherButtonOnHomepage = shouldShowTabSwitcherButtonOnHomepage;
@@ -163,6 +161,7 @@
             mCallbackController.destroy();
             mCallbackController = null;
         }
+        mIdentityDiscController.removeObserver(this);
     }
 
     void onStartSurfaceStateChanged(@StartSurfaceState int newState,
@@ -468,4 +467,11 @@
     LogoCoordinator getLogoCoordinatorForTesting() {
         return mLogoCoordinator;
     }
+
+    @Override
+    public void buttonDataChanged(boolean canShowHint) {
+        // If the identity disc wants to be hidden and is hidden, there's nothing we need to do.
+        if (!canShowHint && !mPropertyModel.get(IDENTITY_DISC_IS_VISIBLE)) return;
+        updateIdentityDisc(mIdentityDiscButtonSupplier.get());
+    }
 }
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
index 6a78744..fbb1e29 100644
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/top/TopToolbarCoordinator.java
@@ -111,7 +111,7 @@
      * @param overviewThemeColorProvider The {@link ThemeColorProvider} for overview mode.
      * @param tabModelSelectorSupplier Supplier of the {@link TabModelSelector}.
      * @param homepageEnabledSupplier Supplier of whether Home button is enabled.
-     * @param identityDiscStateSupplier Supplier of the state change of identity disc button.
+     * @param identityDiscController The controller of the identity disc button.
      * @param invalidatorCallback Callback that will be invoked  when the toolbar attempts to
      *        invalidate the drawing surface.  This will give the object that registers as the host
      *        for the {@link Invalidator} a chance to defer the actual invalidate to sync drawing.
@@ -143,8 +143,8 @@
             ObservableSupplier<AppMenuButtonHelper> appMenuButtonHelperSupplier,
             ObservableSupplier<TabModelSelector> tabModelSelectorSupplier,
             ObservableSupplier<Boolean> homepageEnabledSupplier,
-            ObservableSupplier<Boolean> identityDiscStateSupplier,
-            Callback<Runnable> invalidatorCallback, Supplier<ButtonData> identityDiscButtonSupplier,
+            ButtonDataProvider identityDiscController, Callback<Runnable> invalidatorCallback,
+            Supplier<ButtonData> identityDiscButtonSupplier,
             Supplier<ResourceManager> resourceManagerSupplier,
             ObservableSupplier<Boolean> isProgressBarVisibleSupplier,
             BooleanSupplier isIncognitoModeEnabledSupplier, boolean isGridTabSwitcherEnabled,
@@ -166,7 +166,7 @@
 
         if (mToolbarLayout instanceof ToolbarPhone && isStartSurfaceEnabled) {
             mStartSurfaceToolbarCoordinator = new StartSurfaceToolbarCoordinator(toolbarStub,
-                    userEducationHelper, identityDiscStateSupplier, overviewThemeColorProvider,
+                    userEducationHelper, identityDiscController, overviewThemeColorProvider,
                     overviewModeMenuButtonCoordinator, identityDiscButtonSupplier,
                     isGridTabSwitcherEnabled, isTabToGtsAnimationEnabled,
                     isTabGroupsAndroidContinuationEnabled, isIncognitoModeEnabledSupplier,
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.cc b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.cc
index c865806..6468c94 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.cc
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.cc
@@ -99,6 +99,11 @@
 
 FileSuggestKeyedService::~FileSuggestKeyedService() = default;
 
+void FileSuggestKeyedService::MaybeUpdateItemSuggestCache(
+    base::PassKey<ZeroStateDriveProvider>) {
+  item_suggest_cache_->MaybeUpdateCache();
+}
+
 void FileSuggestKeyedService::GetSuggestFileData(
     FileSuggestionType type,
     GetSuggestDataCallback callback) {
@@ -118,9 +123,8 @@
   observers_.RemoveObserver(observer);
 }
 
-void FileSuggestKeyedService::MaybeUpdateItemSuggestCache(
-    base::PassKey<ZeroStateDriveProvider>) {
-  item_suggest_cache_->MaybeUpdateCache();
+bool FileSuggestKeyedService::HasPendingSuggestionFetchForTest() const {
+  return !on_drive_results_ready_callback_list_.empty();
 }
 
 void FileSuggestKeyedService::OnItemSuggestCacheUpdated() {
@@ -207,6 +211,7 @@
       continue;
 
     suggest_results.emplace_back(
+        /*type=*/FileSuggestionType::kDriveFile,
         ReparentToDriveMount(path_or_error->get_path(), drive_service_),
         raw_suggest_results[index].prediction_reason);
   }
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h
index e549c03..4e41d4d 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h
@@ -29,8 +29,8 @@
 // than leaving it under the app list directory.
 class FileSuggestKeyedService : public KeyedService {
  public:
-  using GetSuggestDataCallback =
-      base::OnceCallback<void(absl::optional<std::vector<FileSuggestData>>)>;
+  using GetSuggestDataCallback = base::OnceCallback<void(
+      const absl::optional<std::vector<FileSuggestData>>&)>;
 
   class Observer : public base::CheckedObserver {
    public:
@@ -43,6 +43,16 @@
   FileSuggestKeyedService& operator=(const FileSuggestKeyedService&) = delete;
   ~FileSuggestKeyedService() override;
 
+  // Requests to update the data in `item_suggest_cache_`. Only used by the zero
+  // state drive provider. Overridden for tests.
+  // TODO(https://crbug.com/1356347): Now the app list relies on this service to
+  // fetch the drive suggestion data. Meanwhile, this service relies on the app
+  // list to trigger the item cache update. This cyclic dependency could be
+  // confusing. The service should update the data cache by its own without
+  // depending on the app list code.
+  virtual void MaybeUpdateItemSuggestCache(
+      base::PassKey<ZeroStateDriveProvider>);
+
   // Queries for the suggested files of the specified type and returns the
   // suggested file data, including file paths and suggestion reasons, through
   // the callback. The returned suggestions have been filtered by the file
@@ -55,15 +65,8 @@
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
 
-  // Requests to update the data in `item_suggest_cache_`. Only used by the zero
-  // state drive provider. Overridden for tests.
-  // TODO(https://crbug.com/1356347): Now the app list relies on this service to
-  // fetch the drive suggestion data. Meanwhile, this service relies on the app
-  // list to trigger the item cache update. This cyclic dependency could be
-  // confusing. The service should update the data cache by its own without
-  // depending on the app list code.
-  virtual void MaybeUpdateItemSuggestCache(
-      base::PassKey<ZeroStateDriveProvider>);
+  // Returns true if there is pending fetch on file suggestions.
+  bool HasPendingSuggestionFetchForTest() const;
 
   ItemSuggestCache* item_suggest_cache_for_test() {
     return item_suggest_cache_.get();
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_browsertest.cc b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_browsertest.cc
index a788812..b6fe3067 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_browsertest.cc
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_browsertest.cc
@@ -3,11 +3,11 @@
 // found in the LICENSE file.
 
 #include "base/files/file_util.h"
-#include "base/json/json_writer.h"
 #include "chrome/browser/ash/drive/drive_integration_service_browser_test_base.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h"
 #include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_factory.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_test_util.h"
 #include "chrome/browser/ui/app_list/search/files/file_suggest_util.h"
 #include "chrome/browser/ui/browser.h"
 #include "chromeos/ash/components/drivefs/fake_drivefs.h"
@@ -36,7 +36,7 @@
 
  private:
   void OnSuggestFileDataFetched(
-      absl::optional<std::vector<FileSuggestData>> suggest_data_array) {
+      const absl::optional<std::vector<FileSuggestData>>& suggest_data_array) {
     last_fetched_data_ = suggest_data_array;
     run_loop_.Quit();
   }
@@ -57,49 +57,6 @@
       file_suggest_service_observation_{this};
 };
 
-/*
-The suggest item metadata. It matches the json response used by
-`ItemSuggestCache`. A sample json response is listed as below:
- R"(
-    {
-      "item": [
-        {
-          "itemId": "id",
-          "displayText": "text",
-          "predictionReason": "reason"
-        }
-      ],
-      "suggestionSessionId": "session id"
-    })";
-*/
-struct SuggestItemMetaData {
-  std::string item_id;
-  std::string display_text;
-  std::string prediction_reason;
-};
-
-// Calculates a json string used to update the drive suggest cache.
-std::string CalculateDriveSuggestUpdateJsonString(
-    const std::vector<SuggestItemMetaData>& data_array,
-    const std::string& session_id) {
-  base::Value::List list_value;
-  for (const auto& data : data_array) {
-    base::Value::Dict dict_value;
-    dict_value.Set("itemId", data.item_id);
-    dict_value.Set("displayText", data.display_text);
-    dict_value.Set("predictionReason", data.prediction_reason);
-    list_value.Append(std::move(dict_value));
-  }
-
-  base::Value::Dict suggest_item_update;
-  suggest_item_update.Set("item", std::move(list_value));
-  suggest_item_update.Set("suggestionSessionId", session_id);
-
-  std::string json_string;
-  base::JSONWriter::Write(suggest_item_update, &json_string);
-  return json_string;
-}
-
 }  // namespace
 
 using FileSuggestKeyedServiceBrowserTest =
@@ -116,7 +73,7 @@
   service->GetSuggestFileData(
       FileSuggestionType::kDriveFile,
       base::BindOnce(
-          [](absl::optional<std::vector<FileSuggestData>> suggest_data) {
+          [](const absl::optional<std::vector<FileSuggestData>>& suggest_data) {
             EXPECT_FALSE(suggest_data.has_value());
           }));
   tester.ExpectBucketCount("Ash.Search.DriveFileSuggestDataValidation.Status",
@@ -159,8 +116,8 @@
 
     // Update the item suggest cache with a non-existed file id.
     service->item_suggest_cache_for_test()->UpdateCacheWithJsonForTest(
-        CalculateDriveSuggestUpdateJsonString(
-            {{non_existed_id, "dispaly text 1", "prediction reason 1"}},
+        CreateItemSuggestUpdateJsonString(
+            {{non_existed_id, "display text 1", "prediction reason 1"}},
             "suggestion id 0"));
 
     observer.WaitUntilFetchingSuggestData();
@@ -178,8 +135,8 @@
 
     // Update the item suggest cache with two file ids: one is valid and the
     // other is not.
-    std::string json_string = CalculateDriveSuggestUpdateJsonString(
-        {{"abc123", "dispaly text 1", "prediction reason 1"},
+    std::string json_string = CreateItemSuggestUpdateJsonString(
+        {{"abc123", "display text 1", "prediction reason 1"},
          {non_existed_id, "display text 2", "prediction reason 2"}},
         "suggestion id 1");
     service->item_suggest_cache_for_test()->UpdateCacheWithJsonForTest(
@@ -201,8 +158,8 @@
     MockObserver observer(service);
 
     // Update the item suggest cache with two valid ids.
-    std::string json_string = CalculateDriveSuggestUpdateJsonString(
-        {{"abc123", "dispaly text 1", "prediction reason 1"},
+    std::string json_string = CreateItemSuggestUpdateJsonString(
+        {{"abc123", "display text 1", "prediction reason 1"},
          {"qwertyqwerty", "display text 2", "prediction reason 2"}},
         "suggestion id 2");
     service->item_suggest_cache_for_test()->UpdateCacheWithJsonForTest(
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_unittest.cc b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_unittest.cc
index d656082..55ab9272 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_unittest.cc
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_unittest.cc
@@ -32,7 +32,7 @@
   file_suggest_service_->GetSuggestFileData(
       FileSuggestionType::kDriveFile,
       base::BindOnce(
-          [](absl::optional<std::vector<FileSuggestData>> suggest_data) {
+          [](const absl::optional<std::vector<FileSuggestData>>& suggest_data) {
             EXPECT_FALSE(suggest_data.has_value());
           }));
   tester.ExpectBucketCount(
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_test_util.cc b/chrome/browser/ui/app_list/search/files/file_suggest_test_util.cc
new file mode 100644
index 0000000..b0dc975ca
--- /dev/null
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_test_util.cc
@@ -0,0 +1,32 @@
+// Copyright 2022 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/app_list/search/files/file_suggest_test_util.h"
+
+#include "base/json/json_writer.h"
+
+namespace app_list {
+
+std::string CreateItemSuggestUpdateJsonString(
+    const std::vector<SuggestItemMetadata>& item_data_array,
+    const std::string& session_id) {
+  base::Value::List list_value;
+  for (const auto& data : item_data_array) {
+    base::Value::Dict dict_value;
+    dict_value.Set("itemId", data.item_id);
+    dict_value.Set("displayText", data.display_text);
+    dict_value.Set("predictionReason", data.prediction_reason);
+    list_value.Append(std::move(dict_value));
+  }
+
+  base::Value::Dict suggest_item_update;
+  suggest_item_update.Set("item", std::move(list_value));
+  suggest_item_update.Set("suggestionSessionId", session_id);
+
+  std::string json_string;
+  base::JSONWriter::Write(suggest_item_update, &json_string);
+  return json_string;
+}
+
+}  // namespace app_list
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_test_util.h b/chrome/browser/ui/app_list/search/files/file_suggest_test_util.h
new file mode 100644
index 0000000..fc37703
--- /dev/null
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_test_util.h
@@ -0,0 +1,41 @@
+// Copyright 2022 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_APP_LIST_SEARCH_FILES_FILE_SUGGEST_TEST_UTIL_H_
+#define CHROME_BROWSER_UI_APP_LIST_SEARCH_FILES_FILE_SUGGEST_TEST_UTIL_H_
+
+#include <string>
+#include <vector>
+
+namespace app_list {
+
+/*
+The suggest item metadata. It matches the json response used by
+`ItemSuggestCache`. A sample json response is listed as below:
+ R"(
+    {
+      "item": [
+        {
+          "itemId": "id",
+          "displayText": "text",
+          "predictionReason": "reason"
+        }
+      ],
+      "suggestionSessionId": "session id"
+    })";
+*/
+struct SuggestItemMetadata {
+  std::string item_id;
+  std::string display_text;
+  std::string prediction_reason;
+};
+
+// Creates a json string used to update the item suggest cache.
+std::string CreateItemSuggestUpdateJsonString(
+    const std::vector<SuggestItemMetadata>& item_data_array,
+    const std::string& session_id);
+
+}  // namespace app_list
+
+#endif  // CHROME_BROWSER_UI_APP_LIST_SEARCH_FILES_FILE_SUGGEST_TEST_UTIL_H_
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_util.cc b/chrome/browser/ui/app_list/search/files/file_suggest_util.cc
index 3ea7fbe..7724008 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_util.cc
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_util.cc
@@ -8,12 +8,13 @@
 
 // FileSuggestData -------------------------------------------------------
 
-FileSuggestData::FileSuggestData() = default;
-
 FileSuggestData::FileSuggestData(
+    FileSuggestionType new_type,
     const base::FilePath& new_file_path,
     const absl::optional<std::string>& new_prediction_reason)
-    : file_path(new_file_path), prediction_reason(new_prediction_reason) {}
+    : type(new_type),
+      file_path(new_file_path),
+      prediction_reason(new_prediction_reason) {}
 
 FileSuggestData::FileSuggestData(FileSuggestData&&) = default;
 
diff --git a/chrome/browser/ui/app_list/search/files/file_suggest_util.h b/chrome/browser/ui/app_list/search/files/file_suggest_util.h
index 781ac3d..73ded6c 100644
--- a/chrome/browser/ui/app_list/search/files/file_suggest_util.h
+++ b/chrome/browser/ui/app_list/search/files/file_suggest_util.h
@@ -31,14 +31,17 @@
 
 // The data of an individual file suggested by `FileSuggestKeyedService`.
 struct FileSuggestData {
-  FileSuggestData();
-  FileSuggestData(const base::FilePath& new_file_path,
+  FileSuggestData(FileSuggestionType new_type,
+                  const base::FilePath& new_file_path,
                   const absl::optional<std::string>& new_prediction_reason);
   FileSuggestData(FileSuggestData&&);
   FileSuggestData(const FileSuggestData&);
   FileSuggestData& operator=(const FileSuggestData&);
   ~FileSuggestData();
 
+  // The type of the suggested file (e.g. a drive file).
+  FileSuggestionType type;
+
   // The path to the suggested file.
   base::FilePath file_path;
 
diff --git a/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.cc b/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.cc
index f186531e..602dd7a4 100644
--- a/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.cc
+++ b/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.cc
@@ -187,7 +187,7 @@
 }
 
 void ZeroStateDriveProvider::OnSuggestFileDataFetched(
-    absl::optional<SuggestResults> suggest_results) {
+    const absl::optional<SuggestResults>& suggest_results) {
   // Fail to fetch the suggest data, so return early.
   if (!suggest_results)
     return;
@@ -195,7 +195,8 @@
   SetSearchResults(*suggest_results);
 }
 
-void ZeroStateDriveProvider::SetSearchResults(SuggestResults suggest_results) {
+void ZeroStateDriveProvider::SetSearchResults(
+    const SuggestResults& suggest_results) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
   // Assign scores to results by simply using their position in the results
diff --git a/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.h b/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.h
index a0578ab..4c28b31 100644
--- a/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.h
+++ b/chrome/browser/ui/app_list/search/files/zero_state_drive_provider.h
@@ -66,10 +66,10 @@
  private:
   // Called when file suggestion data are fetched from the service.
   void OnSuggestFileDataFetched(
-      absl::optional<std::vector<FileSuggestData>> suggest_results);
+      const absl::optional<std::vector<FileSuggestData>>& suggest_results);
 
   // Builds the search results from file suggestions then publishes the results.
-  void SetSearchResults(std::vector<FileSuggestData> suggest_results);
+  void SetSearchResults(const std::vector<FileSuggestData>& suggest_results);
 
   std::unique_ptr<FileResult> MakeListResult(
       const base::FilePath& filepath,
diff --git a/chrome/browser/ui/ash/holding_space/BUILD.gn b/chrome/browser/ui/ash/holding_space/BUILD.gn
index 5c09bb1..6da0c5be8 100644
--- a/chrome/browser/ui/ash/holding_space/BUILD.gn
+++ b/chrome/browser/ui/ash/holding_space/BUILD.gn
@@ -14,6 +14,7 @@
   sources = [
     "//chrome/browser/ui/ash/holding_space/holding_space_client_impl_browsertest.cc",
     "//chrome/browser/ui/ash/holding_space/holding_space_keyed_service_browsertest.cc",
+    "//chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate_browsertest.cc",
     "//chrome/browser/ui/ash/holding_space/holding_space_ui_browsertest.cc",
   ]
 
@@ -30,6 +31,7 @@
     "//chrome/browser/extensions",
     "//chrome/browser/profiles:profile",
     "//chrome/browser/ui",
+    "//chrome/browser/ui:test_support",
     "//chrome/test:test_support_ui",
     "//chromeos/dbus/power:power",
     "//content/test:test_support",
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.cc b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.cc
index da9e0ff46..8a6f137c 100644
--- a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.cc
+++ b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.cc
@@ -6,20 +6,24 @@
 
 #include <set>
 
+#include "ash/constants/ash_features.h"
 #include "ash/public/cpp/holding_space/holding_space_controller.h"
 #include "ash/public/cpp/holding_space/holding_space_item.h"
 #include "ash/public/cpp/holding_space/holding_space_metrics.h"
 #include "ash/public/cpp/holding_space/holding_space_prefs.h"
 #include "base/callback_helpers.h"
+#include "base/containers/adapters.h"
 #include "base/files/file_path.h"
 #include "chrome/browser/ash/drive/drive_integration_service.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_util.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_downloads_delegate.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_file_system_delegate.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_keyed_service_delegate.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_metrics_delegate.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_persistence_delegate.h"
+#include "chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.h"
 #include "chrome/browser/ui/ash/holding_space/holding_space_util.h"
 #include "components/account_id/account_id.h"
 #include "storage/browser/file_system/file_system_url.h"
@@ -173,7 +177,7 @@
   holding_space_metrics::RecordItemAction(
       items_to_record, holding_space_metrics::ItemAction::kPin);
 
-  AddItems(std::move(items));
+  AddItems(std::move(items), /*allow_duplicates=*/false);
 }
 
 void HoldingSpaceKeyedService::RemovePinnedFiles(
@@ -265,44 +269,72 @@
   AddItemOfType(HoldingSpaceItem::Type::kScreenshot, screenshot_file);
 }
 
-void HoldingSpaceKeyedService::AddSuggestion(
-    HoldingSpaceItem::Type type,
-    const base::FilePath& suggestion_path) {
-  DCHECK(HoldingSpaceItem::IsSuggestion(type));
-  AddItemOfType(type, suggestion_path);
+void HoldingSpaceKeyedService::SetSuggestions(
+    const std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>&
+        suggestions) {
+  std::set<std::string> item_ids_to_remove;
+  for (const auto& item : holding_space_model_.items()) {
+    if (HoldingSpaceItem::IsSuggestion(item->type()))
+      item_ids_to_remove.insert(item->id());
+  }
+
+  std::vector<std::unique_ptr<HoldingSpaceItem>> items_to_add;
+
+  // Construct `items` from `suggestions` in the reverse order so that
+  // suggestion views follow the order of `suggestions`.
+  for (const auto& [type, file_path] : base::Reversed(suggestions)) {
+    std::unique_ptr<HoldingSpaceItem> item = CreateItemOfType(
+        type, file_path,
+        /*progress=*/HoldingSpaceProgress(),
+        /*placeholder_image_skia_resolver=*/base::NullCallback());
+    if (item)
+      items_to_add.push_back(std::move(item));
+  }
+
+  // Allow the duplicate suggestions to be added because the order among
+  // `suggestions` should be respected.
+  AddItems(std::move(items_to_add), /*allow_duplicates=*/true);
+
+  // Remove old suggestions after adding new suggestions. Otherwise,
+  // `holding_space_model_` could be empty after removing old suggestions and
+  // before adding new suggestions, which could close the holding space view.
+  holding_space_model_.RemoveItems(item_ids_to_remove);
 }
 
 const std::string& HoldingSpaceKeyedService::AddItem(
     std::unique_ptr<HoldingSpaceItem> item) {
   std::vector<std::unique_ptr<HoldingSpaceItem>> items;
   items.push_back(std::move(item));
-  return AddItems(std::move(items)).at(0);
+  return AddItems(std::move(items), /*allow_duplicates=*/false).at(0);
 }
 
 std::vector<std::reference_wrapper<const std::string>>
 HoldingSpaceKeyedService::AddItems(
-    std::vector<std::unique_ptr<HoldingSpaceItem>> items) {
+    std::vector<std::unique_ptr<HoldingSpaceItem>> items,
+    bool allow_duplicates) {
   std::vector<std::reference_wrapper<const std::string>> result;
-  std::vector<std::unique_ptr<HoldingSpaceItem>> unique_items;
+  std::vector<std::unique_ptr<HoldingSpaceItem>> items_to_add;
 
   for (auto& item : items) {
-    // Ignore any `items` that already exist in the `holding_space_model_`.
-    if (holding_space_model_.ContainsItem(item->type(), item->file_path())) {
+    if (!allow_duplicates &&
+        holding_space_model_.ContainsItem(item->type(), item->file_path())) {
+      // Ignore any `items` that already exist in the `holding_space_model_`
+      // if `allow_duplicates` is false.
       result.push_back(std::cref(base::EmptyString()));
       continue;
     }
     result.push_back(std::cref(item->id()));
-    unique_items.push_back(std::move(item));
+    items_to_add.push_back(std::move(item));
   }
 
-  if (!unique_items.empty()) {
+  if (!items_to_add.empty()) {
     // Mark the time when the user's first item was added to holding space. Note
     // that true is returned iff this is in fact the user's first add and, if
     // so, the time it took for the user to add their first item should be
     // recorded.
     if (holding_space_prefs::MarkTimeOfFirstAdd(profile_->GetPrefs()))
       RecordTimeFromFirstAvailabilityToFirstAdd(profile_);
-    holding_space_model_.AddItems(std::move(unique_items));
+    holding_space_model_.AddItems(std::move(items_to_add));
   }
 
   return result;
@@ -314,16 +346,12 @@
     const HoldingSpaceProgress& progress,
     HoldingSpaceImage::PlaceholderImageSkiaResolver
         placeholder_image_skia_resolver) {
-  const GURL file_system_url =
-      holding_space_util::ResolveFileSystemUrl(profile_, file_path);
-  if (file_system_url.is_empty())
+  std::unique_ptr<HoldingSpaceItem> item = CreateItemOfType(
+      type, file_path, progress, placeholder_image_skia_resolver);
+  if (!item)
     return base::EmptyString();
 
-  return AddItem(HoldingSpaceItem::CreateFileBackedItem(
-      type, file_path, file_system_url, progress,
-      base::BindOnce(
-          &holding_space_util::ResolveImageWithPlaceholderImageSkiaResolver,
-          &thumbnail_loader_, placeholder_image_skia_resolver)));
+  return AddItem(std::move(item));
 }
 
 std::unique_ptr<HoldingSpaceModel::ScopedItemUpdate>
@@ -419,6 +447,15 @@
       base::BindOnce(&HoldingSpaceKeyedService::OnPersistenceRestored,
                      weak_factory_.GetWeakPtr())));
 
+  // The `HoldingSpaceSuggestionsDelegate` manages file suggestions (i.e. the
+  // files predicted to be used).
+  // TODO(https://crbug.com/1364240): ensure that if the feature is disabled,
+  // the suggestions restored from the persistence do not appear in the model.
+  if (features::IsHoldingSpaceSuggestionsEnabled()) {
+    delegates_.push_back(std::make_unique<HoldingSpaceSuggestionsDelegate>(
+        this, &holding_space_model_));
+  }
+
   // Initialize all delegates only after they have been added to our collection.
   // Delegates should not fire their respective callbacks during construction
   // but once they have been initialized they are free to do so.
@@ -455,4 +492,22 @@
   }
 }
 
+std::unique_ptr<HoldingSpaceItem> HoldingSpaceKeyedService::CreateItemOfType(
+    HoldingSpaceItem::Type type,
+    const base::FilePath& file_path,
+    const HoldingSpaceProgress& progress,
+    HoldingSpaceImage::PlaceholderImageSkiaResolver
+        placeholder_image_skia_resolver) {
+  const GURL file_system_url =
+      holding_space_util::ResolveFileSystemUrl(profile_, file_path);
+  if (file_system_url.is_empty())
+    return nullptr;
+
+  return HoldingSpaceItem::CreateFileBackedItem(
+      type, file_path, file_system_url, progress,
+      base::BindOnce(
+          &holding_space_util::ResolveImageWithPlaceholderImageSkiaResolver,
+          &thumbnail_loader_, placeholder_image_skia_resolver));
+}
+
 }  // namespace ash
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.h b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.h
index e2f6988..a7cb15f 100644
--- a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.h
+++ b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service.h
@@ -7,6 +7,7 @@
 
 #include <memory>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "ash/public/cpp/holding_space/holding_space_image.h"
@@ -121,21 +122,27 @@
   // Adds a screenshot item backed by the provided absolute file path.
   void AddScreenshot(const base::FilePath& screenshot_path);
 
-  // Adds a suggested item of the specified `type` backed by the provided
-  // absolute file path. NOTE: `type` must refer to a suggestion type.
-  void AddSuggestion(HoldingSpaceItem::Type type,
-                     const base::FilePath& suggestion_path);
+  // Replaces the existing suggestions with `suggestions`. The order among
+  // `suggestions` is respected, which means that if a suggestion A is in front
+  // of a suggestion B in the given array, after calling this function, the
+  // suggestion view of A is in front of the view of B. `suggestions` can be
+  // empty. In this case, all the existing suggestions are cleared.
+  void SetSuggestions(
+      const std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>&
+          suggestions);
 
   // Adds the specified `item` to the holding space model. Returns the id of the
   // added holding space item or an empty string if the item was not added due
   // to de-duplication checks.
   const std::string& AddItem(std::unique_ptr<HoldingSpaceItem> item);
 
-  // Adds multiple `items` to the holding space model. Returns the ids of the
-  // added holding space items or empty strings where items were not added due
-  // to de-duplication checks.
+  // Adds multiple `items` to the holding space model. `allow_duplicates`
+  // indicates whether an item should be added to the model if it is duplicate
+  // to an existing item. Returns the ids of the added holding space items or
+  // empty strings where items were not added due to de-duplication checks.
   std::vector<std::reference_wrapper<const std::string>> AddItems(
-      std::vector<std::unique_ptr<HoldingSpaceItem>> items);
+      std::vector<std::unique_ptr<HoldingSpaceItem>> items,
+      bool allow_duplicates);
 
   // Adds an item of the specified `type` backed by the provided absolute
   // `file_path` to the holding space model. Returns the id of the added
@@ -206,6 +213,16 @@
   void MakeDriveItemAvailableOffline(
       const storage::FileSystemURL& file_system_url);
 
+  // Creates an item of the specified `type` backed by the provided absolute
+  // `file_path`. Returns an empty unique pointer if the file url cannot be
+  // resolved.
+  std::unique_ptr<HoldingSpaceItem> CreateItemOfType(
+      HoldingSpaceItem::Type type,
+      const base::FilePath& file_path,
+      const HoldingSpaceProgress& progress,
+      HoldingSpaceImage::PlaceholderImageSkiaResolver
+          placeholder_image_skia_resolver);
+
   Profile* const profile_;
   const AccountId account_id_;
 
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service_unittest.cc b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service_unittest.cc
index e763e32..ec0820e 100644
--- a/chrome/browser/ui/ash/holding_space/holding_space_keyed_service_unittest.cc
+++ b/chrome/browser/ui/ash/holding_space/holding_space_keyed_service_unittest.cc
@@ -2282,7 +2282,8 @@
         break;
       case HoldingSpaceItem::Type::kDriveSuggestion:
       case HoldingSpaceItem::Type::kLocalSuggestion:
-        holding_space_service->AddSuggestion(type, file_path);
+        holding_space_service->SetSuggestions(
+            /*suggestions=*/{{type, file_path}});
         break;
       case HoldingSpaceItem::Type::kNearbyShare:
         holding_space_service->AddNearbyShare(file_path);
@@ -2355,7 +2356,7 @@
       /*relative_path=*/base::FilePath("foo"), /*content=*/"foo");
 
   // Add a holding space item of the type under test.
-  const auto& id = AddItem(profile, GetType(), file_path);
+  const std::string id = AddItem(profile, GetType(), file_path);
 
   // Verify a holding space item has been added to the model.
   ASSERT_EQ(model->items().size(), 1u);
@@ -2389,14 +2390,24 @@
   }
 
   // Attempt to add a holding space item of the same type and `file_path`.
-  AddItem(profile, GetType(), file_path);
+  const std::string& id2 = AddItem(profile, GetType(), file_path);
 
-  // Attempts to add already represented items should be ignored.
   ASSERT_EQ(model->items().size(), 1u);
-  EXPECT_EQ(model->items()[0].get(), item);
+
+  const bool is_suggestion = HoldingSpaceItem::IsSuggestion(GetType());
+  if (is_suggestion) {
+    // For suggestion items, the new suggestions should always replace old ones.
+    EXPECT_NE(model->items()[0].get(), item);
+    EXPECT_NE(id, id2);
+  } else {
+    // For non-suggestion items, attempts to add already represented items
+    // should be ignored.
+    EXPECT_EQ(model->items()[0].get(), item);
+    EXPECT_EQ(id, id2);
+  }
 
   // Remove the holding space item.
-  GetService(profile)->RemoveItem(id);
+  GetService(profile)->RemoveItem(is_suggestion ? id2 : id);
   EXPECT_TRUE(model->items().empty());
 
   // Verify expected histograms after "waiting" for metrics debounce.
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.cc b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.cc
new file mode 100644
index 0000000..1ccd215
--- /dev/null
+++ b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.cc
@@ -0,0 +1,86 @@
+// Copyright 2022 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/ash/holding_space/holding_space_suggestions_delegate.h"
+
+#include "ash/constants/ash_features.h"
+#include "ash/public/cpp/holding_space/holding_space_controller.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_factory.h"
+#include "chrome/browser/ui/ash/holding_space/holding_space_util.h"
+
+namespace ash {
+namespace {
+
+// Returns the holding space item type that matches a given suggestion type.
+HoldingSpaceItem::Type GetItemTypeFromSuggestionType(
+    app_list::FileSuggestionType suggestion_type) {
+  switch (suggestion_type) {
+    case app_list::FileSuggestionType::kDriveFile:
+      return HoldingSpaceItem::Type::kDriveSuggestion;
+  }
+}
+
+}  // namespace
+
+HoldingSpaceSuggestionsDelegate::HoldingSpaceSuggestionsDelegate(
+    HoldingSpaceKeyedService* service,
+    HoldingSpaceModel* model)
+    : HoldingSpaceKeyedServiceDelegate(service, model) {
+  DCHECK(ash::features::IsHoldingSpaceSuggestionsEnabled());
+}
+
+HoldingSpaceSuggestionsDelegate::~HoldingSpaceSuggestionsDelegate() = default;
+
+void HoldingSpaceSuggestionsDelegate::OnPersistenceRestored() {
+  file_suggest_service_observation_.Observe(
+      app_list::FileSuggestKeyedServiceFactory::GetInstance()->GetService(
+          profile()));
+
+  // TODO(https://crbug.com/1352515): also refresh local file suggestion items
+  // when local file suggestions are supported by the service.
+  FetchSuggestions(app_list::FileSuggestionType::kDriveFile);
+}
+
+void HoldingSpaceSuggestionsDelegate::OnFileSuggestionUpdated(
+    app_list::FileSuggestionType type) {
+  FetchSuggestions(type);
+}
+
+void HoldingSpaceSuggestionsDelegate::FetchSuggestions(
+    app_list::FileSuggestionType type) {
+  // A data query on `type` has been sent so it is unnecessary to send a request
+  // again. Return early.
+  if (base::Contains(pending_fetches_, type))
+    return;
+
+  // Mark that the query for suggestions of `type` has been sent.
+  pending_fetches_.insert(type);
+
+  app_list::FileSuggestKeyedServiceFactory::GetInstance()
+      ->GetService(profile())
+      ->GetSuggestFileData(
+          type,
+          base::BindOnce(&HoldingSpaceSuggestionsDelegate::OnSuggestionsFetched,
+                         weak_factory_.GetWeakPtr(), type));
+}
+
+void HoldingSpaceSuggestionsDelegate::OnSuggestionsFetched(
+    app_list::FileSuggestionType type,
+    const absl::optional<std::vector<app_list::FileSuggestData>>& suggestions) {
+  // Mark that the suggestions of `type` have been fetched.
+  size_t deleted_size = pending_fetches_.erase(type);
+  DCHECK_EQ(1u, deleted_size);
+
+  if (!suggestions)
+    return;
+
+  std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+      suggestion_items;
+  HoldingSpaceItem::Type item_type = GetItemTypeFromSuggestionType(type);
+  for (const auto& suggestion : *suggestions)
+    suggestion_items.emplace_back(item_type, suggestion.file_path);
+  service()->SetSuggestions(suggestion_items);
+}
+
+}  // namespace ash
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.h b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.h
new file mode 100644
index 0000000..01aa8a9
--- /dev/null
+++ b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate.h
@@ -0,0 +1,58 @@
+// Copyright 2022 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_ASH_HOLDING_SPACE_HOLDING_SPACE_SUGGESTIONS_DELEGATE_H_
+#define CHROME_BROWSER_UI_ASH_HOLDING_SPACE_HOLDING_SPACE_SUGGESTIONS_DELEGATE_H_
+
+#include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_util.h"
+#include "chrome/browser/ui/ash/holding_space/holding_space_keyed_service_delegate.h"
+
+namespace ash {
+
+// A holding space delegate that manages the file suggestions (i.e. the files
+// predicted to be needed by users) used in the holding space. The delegate
+// observes the file suggestion service. When file suggestions update, the
+// delegate refreshes the file suggestion items in the holding space model.
+class HoldingSpaceSuggestionsDelegate
+    : public HoldingSpaceKeyedServiceDelegate,
+      public app_list::FileSuggestKeyedService::Observer {
+ public:
+  HoldingSpaceSuggestionsDelegate(HoldingSpaceKeyedService* service,
+                                  HoldingSpaceModel* model);
+  HoldingSpaceSuggestionsDelegate(const HoldingSpaceSuggestionsDelegate&) =
+      delete;
+  HoldingSpaceSuggestionsDelegate& operator=(
+      const HoldingSpaceSuggestionsDelegate&) = delete;
+  ~HoldingSpaceSuggestionsDelegate() override;
+
+ private:
+  // HoldingSpaceKeyedServiceDelegate:
+  void OnPersistenceRestored() override;
+
+  // app_list::FileSuggestKeyedService::Observer:
+  void OnFileSuggestionUpdated(app_list::FileSuggestionType type) override;
+
+  // Fetches file suggestions of the specified `type` from the service.
+  void FetchSuggestions(app_list::FileSuggestionType type);
+
+  // Called when fetching file suggestions finishes.
+  void OnSuggestionsFetched(
+      app_list::FileSuggestionType type,
+      const absl::optional<std::vector<app_list::FileSuggestData>>&
+          suggestions);
+
+  base::ScopedObservation<app_list::FileSuggestKeyedService,
+                          app_list::FileSuggestKeyedService::Observer>
+      file_suggest_service_observation_{this};
+
+  // Records the suggestion types on which data fetches are pending.
+  std::set<app_list::FileSuggestionType> pending_fetches_;
+
+  base::WeakPtrFactory<HoldingSpaceSuggestionsDelegate> weak_factory_{this};
+};
+
+}  // namespace ash
+
+#endif  // CHROME_BROWSER_UI_ASH_HOLDING_SPACE_HOLDING_SPACE_SUGGESTIONS_DELEGATE_H_
diff --git a/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate_browsertest.cc b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate_browsertest.cc
new file mode 100644
index 0000000..8385fc4
--- /dev/null
+++ b/chrome/browser/ui/ash/holding_space/holding_space_suggestions_delegate_browsertest.cc
@@ -0,0 +1,206 @@
+// Copyright 2022 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/constants/ash_features.h"
+#include "ash/public/cpp/holding_space/holding_space_controller.h"
+#include "ash/public/cpp/holding_space/holding_space_model.h"
+#include "ash/public/cpp/holding_space/mock_holding_space_model_observer.h"
+#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/ash/drive/drive_integration_service_browser_test_base.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_keyed_service_factory.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_test_util.h"
+#include "chrome/browser/ui/app_list/search/files/file_suggest_util.h"
+#include "chrome/browser/ui/browser.h"
+#include "content/public/test/browser_test.h"
+
+namespace ash {
+namespace {
+class MockFileSuggestKeyedServiceObserver
+    : public app_list::FileSuggestKeyedService::Observer {
+ public:
+  // app_list::FileSuggestKeyedService::Observer:
+  MOCK_METHOD(void,
+              OnFileSuggestionUpdated,
+              (app_list::FileSuggestionType type),
+              (override));
+};
+
+// Waits until `mock` is notified of the drive file suggestion update.
+void WaitForDriveFileSuggestionUpdate(
+    const testing::NiceMock<MockFileSuggestKeyedServiceObserver>& mock) {
+  base::RunLoop run_loop;
+  EXPECT_CALL(mock, OnFileSuggestionUpdated)
+      .WillOnce([&](app_list::FileSuggestionType type) {
+        EXPECT_EQ(app_list::FileSuggestionType::kDriveFile, type);
+        run_loop.Quit();
+      });
+  run_loop.Run();
+}
+
+// Returns the suggestion items in `model`.
+std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+GetSuggestionsInModel(const HoldingSpaceModel& model) {
+  std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+      model_suggestions;
+  for (const auto& item : model.items()) {
+    if (HoldingSpaceItem::IsSuggestion(item->type()))
+      model_suggestions.emplace_back(item->type(), item->file_path());
+  }
+  return model_suggestions;
+}
+
+// Waits until `expected_suggestions` appear in `model`.
+void WaitForSuggestionsInModel(
+    const testing::NiceMock<MockHoldingSpaceModelObserver>& mock,
+    const HoldingSpaceModel& model,
+    const std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>&
+        expected_suggestions) {
+  if (GetSuggestionsInModel(model) == expected_suggestions)
+    return;
+
+  base::RunLoop run_loop;
+  EXPECT_CALL(mock, OnHoldingSpaceItemsAdded)
+      .WillOnce([&](const std::vector<const HoldingSpaceItem*>& items) {
+        EXPECT_EQ(items.size(), expected_suggestions.size());
+        std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+            actual_suggestions;
+        for (const HoldingSpaceItem* item : items)
+          actual_suggestions.emplace_back(item->type(), item->file_path());
+        EXPECT_EQ(expected_suggestions, actual_suggestions);
+        run_loop.Quit();
+      });
+  run_loop.Run();
+
+  EXPECT_EQ(expected_suggestions, GetSuggestionsInModel(model));
+}
+
+}  // namespace
+
+class HoldingSpaceSuggestionsDelegateBrowserTest
+    : public drive::DriveIntegrationServiceBrowserTestBase,
+      public testing::WithParamInterface<bool> {
+ public:
+  HoldingSpaceSuggestionsDelegateBrowserTest() {
+    if (GetParam()) {
+      scoped_feature_list_.InitAndEnableFeature(
+          ash::features::kHoldingSpaceSuggestions);
+    } else {
+      scoped_feature_list_.InitAndDisableFeature(
+          ash::features::kHoldingSpaceSuggestions);
+    }
+  }
+
+  app_list::FileSuggestKeyedService* GetFileSuggestKeyedService() {
+    return app_list::FileSuggestKeyedServiceFactory::GetInstance()->GetService(
+        browser()->profile());
+  }
+
+  void UpdateSuggestionsForDriveFiles(
+      const std::vector<std::string>& file_ids) {
+    std::vector<app_list::SuggestItemMetadata> update_params;
+    for (const auto& file_id : file_ids)
+      update_params.push_back({file_id, "display text", "prediction reason"});
+
+    GetFileSuggestKeyedService()
+        ->item_suggest_cache_for_test()
+        ->UpdateCacheWithJsonForTest(
+            app_list::CreateItemSuggestUpdateJsonString(update_params,
+                                                        "session id"));
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+INSTANTIATE_TEST_SUITE_P(All,
+                         HoldingSpaceSuggestionsDelegateBrowserTest,
+                         testing::Bool());
+
+// Verifies that the holding space behaves as expected after the drive file
+// suggestions update.
+IN_PROC_BROWSER_TEST_P(HoldingSpaceSuggestionsDelegateBrowserTest,
+                       OnDriveSuggestUpdate) {
+  Profile* profile = browser()->profile();
+  InitTestFileMountRoot(profile);
+
+  // Add three drive files.
+  const std::string file_id1("drive_file1");
+  base::FilePath absolute_file_path1;
+  AddDriveFileWithRelativePath(profile, file_id1, base::FilePath(""),
+                               /*new_file_relative_path=*/nullptr,
+                               &absolute_file_path1);
+  const std::string file_id2("drive_file2");
+  base::FilePath absolute_file_path2;
+  AddDriveFileWithRelativePath(profile, file_id2, base::FilePath(""),
+                               /*new_file_relative_path=*/nullptr,
+                               &absolute_file_path2);
+  const std::string file_id3("drive_file3");
+  base::FilePath absolute_file_path3;
+  AddDriveFileWithRelativePath(profile, file_id3, base::FilePath(""),
+                               /*new_file_relative_path=*/nullptr,
+                               &absolute_file_path3);
+
+  // Bind an observer to watch for updates to the holding space model.
+  testing::NiceMock<MockHoldingSpaceModelObserver> model_mock;
+  base::ScopedObservation<HoldingSpaceModel, HoldingSpaceModelObserver>
+      model_observer{&model_mock};
+  HoldingSpaceModel* model = HoldingSpaceController::Get()->model();
+  model_observer.Observe(model);
+
+  // Add an observer to watch for updates in drive file suggestions.
+  testing::NiceMock<MockFileSuggestKeyedServiceObserver> service_observer_mock;
+  base::ScopedObservation<app_list::FileSuggestKeyedService,
+                          app_list::FileSuggestKeyedService::Observer>
+      service_observer{&service_observer_mock};
+  service_observer.Observe(GetFileSuggestKeyedService());
+
+  UpdateSuggestionsForDriveFiles({file_id1, file_id2});
+  WaitForDriveFileSuggestionUpdate(service_observer_mock);
+
+  const bool holding_space_suggestion_enabled = GetParam();
+  if (holding_space_suggestion_enabled) {
+    // File 2 should be added to the model before file 1 so that the suggestion
+    // of file 1 should show in front of the suggestion of file 2.
+    std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+        expected_suggestions = {
+            {HoldingSpaceItem::Type::kDriveSuggestion, absolute_file_path2},
+            {HoldingSpaceItem::Type::kDriveSuggestion, absolute_file_path1}};
+    WaitForSuggestionsInModel(model_mock, *model, expected_suggestions);
+  } else {
+    // Because `service_observer` starts observation after the holding space
+    // suggestion delegate, `service_observer` should be notified of the file
+    // suggestion update after the holding space. Therefore, it is safe to
+    // check the model contents now.
+    EXPECT_EQ(0u, model->items().size());
+    // No item is added to the holding space model.
+    EXPECT_CALL(model_mock, OnHoldingSpaceItemsAdded).Times(0);
+    // There should be no client fetching file suggestions.
+    EXPECT_FALSE(
+        GetFileSuggestKeyedService()->HasPendingSuggestionFetchForTest());
+  }
+
+  UpdateSuggestionsForDriveFiles({file_id2, file_id3});
+  WaitForDriveFileSuggestionUpdate(service_observer_mock);
+
+  if (holding_space_suggestion_enabled) {
+    // File 3 should be added to the model before file 2 so that the suggestion
+    // of file 2 should show in front of the suggestion of file 3.
+    std::vector<std::pair<HoldingSpaceItem::Type, base::FilePath>>
+        expected_suggestions = {
+            {HoldingSpaceItem::Type::kDriveSuggestion, absolute_file_path3},
+            {HoldingSpaceItem::Type::kDriveSuggestion, absolute_file_path2}};
+    WaitForSuggestionsInModel(model_mock, *model, expected_suggestions);
+  } else {
+    EXPECT_EQ(0u, model->items().size());
+    // No item is added to the holding space model.
+    EXPECT_CALL(model_mock, OnHoldingSpaceItemsAdded).Times(0);
+    // There should be no client fetching file suggestions.
+    EXPECT_FALSE(
+        GetFileSuggestKeyedService()->HasPendingSuggestionFetchForTest());
+  }
+}
+
+}  // namespace ash
diff --git a/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc b/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc
index 8db4ecdb..58bbf34 100644
--- a/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc
+++ b/chrome/browser/ui/ash/shelf/chrome_shelf_controller_unittest.cc
@@ -671,27 +671,19 @@
     app_list_syncable_service_->StopSyncing(syncer::APP_LIST);
   }
 
-  // static
-  syncer::ModelType GetPreferencesModelType() {
-    // SyncSettingsCategorization makes shelf prefs into OS prefs.
-    return chromeos::features::IsSyncSettingsCategorizationEnabled()
-               ? syncer::OS_PREFERENCES
-               : syncer::PREFERENCES;
-  }
-
   sync_preferences::PrefModelAssociator* GetPrefSyncService() {
     sync_preferences::PrefServiceSyncable* pref_sync =
         profile()->GetTestingPrefService();
     sync_preferences::PrefModelAssociator* pref_sync_service =
         static_cast<sync_preferences::PrefModelAssociator*>(
-            pref_sync->GetSyncableService(GetPreferencesModelType()));
+            pref_sync->GetSyncableService(syncer::OS_PREFERENCES));
     return pref_sync_service;
   }
 
   void StartPrefSyncService(const syncer::SyncDataList& init_sync_list) {
     absl::optional<syncer::ModelError> error =
         GetPrefSyncService()->MergeDataAndStartSyncing(
-            GetPreferencesModelType(), init_sync_list,
+            syncer::OS_PREFERENCES, init_sync_list,
             std::make_unique<syncer::FakeSyncChangeProcessor>(),
             std::make_unique<syncer::SyncErrorFactoryMock>());
     EXPECT_FALSE(error.has_value());
@@ -1236,29 +1228,15 @@
   }
 };
 
-// Parameterized test for ChromeShelfController. Parameterized to tests
-// the feature with SyncSettingsCategorization enabled/disabled.
-class ChromeShelfControllerTest : public ChromeShelfControllerTestBase,
-                                  public ::testing::WithParamInterface<bool> {
+class ChromeShelfControllerTest : public ChromeShelfControllerTestBase {
  public:
   ChromeShelfControllerTest() {
     // `media_router::kMediaRouter` is disabled because it has unmet
     // dependencies and is unrelated to this unit test.
-    if (ShouldEnableSyncSettingsCategorization()) {
-      feature_list_.InitWithFeatures(
-          /*enabled=*/{chromeos::features::kSyncSettingsCategorization},
-          /*disabled=*/{media_router::kMediaRouter});
-    } else {
-      feature_list_.InitWithFeatures(
-          /*enabled=*/{},
-          /*disabled=*/{chromeos::features::kSyncSettingsCategorization,
-                        media_router::kMediaRouter});
-    }
+    feature_list_.InitAndDisableFeature(media_router::kMediaRouter);
   }
   ~ChromeShelfControllerTest() override = default;
 
-  bool ShouldEnableSyncSettingsCategorization() const { return GetParam(); }
-
  private:
   // CrostiniTestHelper overrides feature list after GPU thread has started.
   viz::TestGpuServiceHolder::ScopedAllowRacyFeatureListOverrides
@@ -1576,7 +1554,7 @@
   ~ChromeShelfControllerMultiProfileWithArcTest() override = default;
 };
 
-TEST_P(ChromeShelfControllerTest, PreinstalledApps) {
+TEST_F(ChromeShelfControllerTest, PreinstalledApps) {
   InitShelfController();
 
   // The model should only contain the browser shortcut item.
@@ -1883,7 +1861,7 @@
 }
 
 // Ensure correct merging of policy pinned apps and user pinned apps.
-TEST_P(ChromeShelfControllerTest, MergePolicyAndUserPrefPinnedApps) {
+TEST_F(ChromeShelfControllerTest, MergePolicyAndUserPrefPinnedApps) {
   InitShelfController();
 
   AddWebApp(web_app::kGoogleDocsAppId);
@@ -1930,7 +1908,7 @@
 // Check that the restoration of shelf items is happening in the same order
 // as the user has pinned them (on another system) when they are synced reverse
 // order.
-TEST_P(ChromeShelfControllerTest, RestorePreinstalledAppsReverseOrder) {
+TEST_F(ChromeShelfControllerTest, RestorePreinstalledAppsReverseOrder) {
   InitShelfController();
 
   syncer::SyncChangeList sync_list;
@@ -1968,7 +1946,7 @@
 // Check that the restoration of shelf items is happening in the same order
 // as the user has pinned them (on another system) when they are synced random
 // order.
-TEST_P(ChromeShelfControllerTest, RestorePreinstalledAppsRandomOrder) {
+TEST_F(ChromeShelfControllerTest, RestorePreinstalledAppsRandomOrder) {
   InitShelfController();
 
   syncer::SyncChangeList sync_list;
@@ -2005,7 +1983,7 @@
 // Check that the restoration of shelf items is happening in the same order
 // as the user has pinned / moved them (on another system) when they are synced
 // random order - including the chrome icon.
-TEST_P(ChromeShelfControllerTest,
+TEST_F(ChromeShelfControllerTest,
        RestorePreinstalledAppsRandomOrderChromeMoved) {
   InitShelfController();
 
@@ -2043,7 +2021,7 @@
 }
 
 // Check that syncing to a different state does the correct thing.
-TEST_P(ChromeShelfControllerTest, RestorePreinstalledAppsResyncOrder) {
+TEST_F(ChromeShelfControllerTest, RestorePreinstalledAppsResyncOrder) {
   InitShelfController();
 
   syncer::SyncChangeList sync_list0;
@@ -2096,7 +2074,7 @@
 }
 
 // Test the V1 app interaction flow: run it, activate it, close it.
-TEST_P(ChromeShelfControllerTest, V1AppRunActivateClose) {
+TEST_F(ChromeShelfControllerTest, V1AppRunActivateClose) {
   InitShelfController();
   // The model should only contain the browser shortcut item.
   EXPECT_EQ(1, model_->item_count());
@@ -2131,7 +2109,7 @@
 }
 
 // Test the V1 app interaction flow: pin it, run it, close it, unpin it.
-TEST_P(ChromeShelfControllerTest, V1AppPinRunCloseUnpin) {
+TEST_F(ChromeShelfControllerTest, V1AppPinRunCloseUnpin) {
   InitShelfController();
   // The model should only contain the browser shortcut.
   EXPECT_EQ(1, model_->item_count());
@@ -2175,7 +2153,7 @@
 }
 
 // Test the V1 app interaction flow: run it, pin it, close it, unpin it.
-TEST_P(ChromeShelfControllerTest, V1AppRunPinCloseUnpin) {
+TEST_F(ChromeShelfControllerTest, V1AppRunPinCloseUnpin) {
   InitShelfController();
 
   // The model should only contain the browser shortcut.
@@ -2220,7 +2198,7 @@
 }
 
 // Test the V1 app interaction flow: pin it, run it, unpin it, close it.
-TEST_P(ChromeShelfControllerTest, V1AppPinRunUnpinClose) {
+TEST_F(ChromeShelfControllerTest, V1AppPinRunUnpinClose) {
   InitShelfController();
 
   // The model should only contain the browser shortcut item.
@@ -2265,7 +2243,7 @@
 }
 
 // Ensure unpinned V1 app ordering is properly restored after user changes.
-TEST_P(ChromeShelfControllerTest, CheckRunningV1AppOrder) {
+TEST_F(ChromeShelfControllerTest, CheckRunningV1AppOrder) {
   InitShelfController();
 
   // The model should only contain the browser shortcut item.
@@ -3202,7 +3180,7 @@
 
 // Check that a running windowed V1 application will be properly pinned and
 // unpinned when the order gets changed through a profile / policy change.
-TEST_P(ChromeShelfControllerTest, RestoreDefaultAndRunningV1AppsResyncOrder) {
+TEST_F(ChromeShelfControllerTest, RestoreDefaultAndRunningV1AppsResyncOrder) {
   InitShelfController();
 
   StartPrefSyncService(syncer::SyncDataList());
@@ -3251,7 +3229,7 @@
 
 // Check that a running unpinned V2 application will be properly pinned and
 // unpinned when the order gets changed through a profile / policy change.
-TEST_P(ChromeShelfControllerTest, RestoreDefaultAndRunningV2AppsResyncOrder) {
+TEST_F(ChromeShelfControllerTest, RestoreDefaultAndRunningV2AppsResyncOrder) {
   InitShelfController();
   syncer::SyncChangeList sync_list0;
   InsertAddPinChange(&sync_list0, 0, extension1_->id());
@@ -3295,7 +3273,7 @@
 
 // Each user has a different set of applications pinned. Check that when
 // switching between the two users, the state gets properly set.
-TEST_P(ChromeShelfControllerTest, UserSwitchIconRestore) {
+TEST_F(ChromeShelfControllerTest, UserSwitchIconRestore) {
   syncer::SyncChangeList user_a;
   syncer::SyncChangeList user_b;
 
@@ -3323,7 +3301,7 @@
 // Each user has a different set of applications pinned, and one user has an
 // application running. Check that when switching between the two users, the
 // state gets properly set.
-TEST_P(ChromeShelfControllerTest, UserSwitchIconRestoreWithRunningV2App) {
+TEST_F(ChromeShelfControllerTest, UserSwitchIconRestoreWithRunningV2App) {
   syncer::SyncChangeList user_a;
   syncer::SyncChangeList user_b;
 
@@ -3355,7 +3333,7 @@
 // application running. The chrome icon is not the last item in the list.
 // Check that when switching between the two users, the state gets properly set.
 // There was once a bug associated with this.
-TEST_P(ChromeShelfControllerTest,
+TEST_F(ChromeShelfControllerTest,
        UserSwitchIconRestoreWithRunningV2AppChromeInMiddle) {
   syncer::SyncChangeList user_a;
   syncer::SyncChangeList user_b;
@@ -3382,7 +3360,7 @@
             GetPinnedAppStatus());
 }
 
-TEST_P(ChromeShelfControllerTest, Policy) {
+TEST_F(ChromeShelfControllerTest, Policy) {
   extension_service_->AddExtension(extension2_.get());
   AddWebApp(web_app::kGmailAppId);
 
@@ -3413,7 +3391,7 @@
   EXPECT_EQ("Chrome, App1, App2", GetPinnedAppStatus());
 }
 
-TEST_P(ChromeShelfControllerTest, UnpinWithUninstall) {
+TEST_F(ChromeShelfControllerTest, UnpinWithUninstall) {
   AddWebApp(web_app::kGmailAppId);
   AddWebApp(web_app::kYoutubeAppId);
 
@@ -3429,7 +3407,7 @@
   EXPECT_TRUE(shelf_controller_->IsAppPinned(web_app::kYoutubeAppId));
 }
 
-TEST_P(ChromeShelfControllerTest, SyncUpdates) {
+TEST_F(ChromeShelfControllerTest, SyncUpdates) {
   extension_service_->AddExtension(extension2_.get());
   AddWebApp(web_app::kGmailAppId);
   AddWebApp(web_app::kGoogleDocsAppId);
@@ -3497,7 +3475,7 @@
   EXPECT_EQ(expected_pinned_apps, actual_pinned_apps);
 }
 
-TEST_P(ChromeShelfControllerTest, PendingInsertionOrder) {
+TEST_F(ChromeShelfControllerTest, PendingInsertionOrder) {
   extension_service_->AddExtension(extension1_.get());
   AddWebApp(web_app::kGmailAppId);
 
@@ -3537,7 +3515,7 @@
 }
 
 // Check that browsers get reflected correctly in the shelf menu.
-TEST_P(ChromeShelfControllerTest, BrowserMenuGeneration) {
+TEST_F(ChromeShelfControllerTest, BrowserMenuGeneration) {
   EXPECT_EQ(1U, chrome::GetTotalBrowserCount());
   chrome::NewTab(browser());
 
@@ -3624,7 +3602,7 @@
 // refocus logic.
 // Note that the extension matching logic is tested by the extension system
 // and does not need a separate test here.
-TEST_P(ChromeShelfControllerTest, V1AppMenuGeneration) {
+TEST_F(ChromeShelfControllerTest, V1AppMenuGeneration) {
   EXPECT_EQ(1U, chrome::GetTotalBrowserCount());
   EXPECT_EQ(0, browser()->tab_strip_model()->count());
 
@@ -3808,7 +3786,7 @@
   EXPECT_EQ(1, model_->item_count());
 }
 
-TEST_P(ChromeShelfControllerTest, Active) {
+TEST_F(ChromeShelfControllerTest, Active) {
   InitShelfController();
 
   // Creates a new app window.
@@ -4115,7 +4093,7 @@
 }
 
 // Checks that the generated menu list properly activates items.
-TEST_P(ChromeShelfControllerTest, V1AppMenuExecution) {
+TEST_F(ChromeShelfControllerTest, V1AppMenuExecution) {
   InitShelfControllerWithBrowser();
   StartPrefSyncService(syncer::SyncDataList());
 
@@ -4164,7 +4142,7 @@
 }
 
 // Checks that the generated menu list properly deletes items.
-TEST_P(ChromeShelfControllerTest, V1AppMenuDeletionExecution) {
+TEST_F(ChromeShelfControllerTest, V1AppMenuDeletionExecution) {
   InitShelfControllerWithBrowser();
   StartPrefSyncService(syncer::SyncDataList());
 
@@ -4207,7 +4185,7 @@
 }
 
 // Verify that the shelf item positions are persisted and restored.
-TEST_P(ChromeShelfControllerTest, PersistShelfItemPositions) {
+TEST_F(ChromeShelfControllerTest, PersistShelfItemPositions) {
   InitShelfController();
 
   TestShelfControllerHelper* helper = new TestShelfControllerHelper;
@@ -4252,7 +4230,7 @@
 }
 
 // Verifies pinned apps are persisted and restored.
-TEST_P(ChromeShelfControllerTest, PersistPinned) {
+TEST_F(ChromeShelfControllerTest, PersistPinned) {
   InitShelfControllerWithBrowser();
   size_t initial_size = model_->items().size();
 
@@ -4302,7 +4280,7 @@
 
 // Verifies that ShelfID property is updated for browsers that are present when
 // ChromeShelfController is created.
-TEST_P(ChromeShelfControllerTest, ExistingBrowserWindowShelfIDSet) {
+TEST_F(ChromeShelfControllerTest, ExistingBrowserWindowShelfIDSet) {
   InitShelfControllerWithBrowser();
   PinAppWithIDToShelf("1");
 
@@ -4326,7 +4304,7 @@
                     ash::kShelfIDKey)));
 }
 
-TEST_P(ChromeShelfControllerTest, MultipleAppIconLoaders) {
+TEST_F(ChromeShelfControllerTest, MultipleAppIconLoaders) {
   InitShelfControllerWithBrowser();
 
   const ash::ShelfID shelf_id1(extension1_->id());
@@ -4764,7 +4742,7 @@
 
 // Checks the case when several app items have the same ordinal position (which
 // is valid case).
-TEST_P(ChromeShelfControllerTest, CheckPositionConflict) {
+TEST_F(ChromeShelfControllerTest, CheckPositionConflict) {
   InitShelfController();
 
   extension_service_->AddExtension(extension1_.get());
@@ -4814,7 +4792,7 @@
 
 // Test the case when sync app is turned off and we need to use local copy to
 // support user's pins.
-TEST_P(ChromeShelfControllerTest, SyncOffLocalUpdate) {
+TEST_F(ChromeShelfControllerTest, SyncOffLocalUpdate) {
   InitShelfController();
 
   extension_service_->AddExtension(extension1_.get());
@@ -4846,7 +4824,7 @@
 }
 
 // Test the Settings can be pinned and unpinned.
-TEST_P(ChromeShelfControllerTest, InternalAppPinUnpin) {
+TEST_F(ChromeShelfControllerTest, InternalAppPinUnpin) {
   InitShelfController();
   // The model should only contain the browser shortcut item.
   EXPECT_EQ(1, model_->item_count());
@@ -4868,7 +4846,7 @@
 }
 
 // Test that internal app can be added and removed on shelf.
-TEST_P(ChromeShelfControllerTest, InternalAppWindowRecreation) {
+TEST_F(ChromeShelfControllerTest, InternalAppWindowRecreation) {
   InitShelfController();
 
   // Only test the first internal app. The others should be the same.
@@ -4899,7 +4877,7 @@
 
 // Test that internal app can be added and removed by SetProperty of
 // ash::kShelfIDKey.
-TEST_P(ChromeShelfControllerTest, InternalAppWindowPropertyChanged) {
+TEST_F(ChromeShelfControllerTest, InternalAppWindowPropertyChanged) {
   InitShelfController();
 
   // Only test the first internal app. The others should be the same.
@@ -5136,7 +5114,7 @@
 }
 
 // Tests behavior for ensuring some component apps can be marked unpinnable.
-TEST_P(ChromeShelfControllerTest, UnpinnableComponentApps) {
+TEST_F(ChromeShelfControllerTest, UnpinnableComponentApps) {
   InitShelfController();
 
   const char* kPinnableApp = file_manager::kFileManagerAppId;
@@ -5150,7 +5128,7 @@
   }
 }
 
-TEST_P(ChromeShelfControllerTest, DoNotShowInShelf) {
+TEST_F(ChromeShelfControllerTest, DoNotShowInShelf) {
   syncer::SyncChangeList sync_list;
   InsertAddPinChange(&sync_list, 0, extension1_->id());
   InsertAddPinChange(&sync_list, 0, extension2_->id());
@@ -5318,7 +5296,7 @@
 }
 
 // Test the app status when the paused app is blocked, un-blocked, and un-paused
-TEST_P(ChromeShelfControllerTest, VerifyAppStatusForPausedApp) {
+TEST_F(ChromeShelfControllerTest, VerifyAppStatusForPausedApp) {
   AddExtension(extension1_.get());
 
   // Set the app as paused
@@ -5349,7 +5327,7 @@
 
 // Test the app status when the blocked app is paused, un-paused, hidden,
 // visible and un-blocked
-TEST_P(ChromeShelfControllerTest, VerifyAppStatusForBlockedApp) {
+TEST_F(ChromeShelfControllerTest, VerifyAppStatusForBlockedApp) {
   AddExtension(extension1_.get());
 
   // Set the app as blocked
@@ -5394,7 +5372,7 @@
   EXPECT_EQ(ash::AppStatus::kReady, model_->items()[1].app_status);
 }
 
-TEST_P(ChromeShelfControllerTest, PinnedAppsRespectShownInShelfState) {
+TEST_F(ChromeShelfControllerTest, PinnedAppsRespectShownInShelfState) {
   InitShelfController();
   // Pin a test app.
   AddExtension(extension1_.get());
@@ -5420,7 +5398,7 @@
   EXPECT_EQ(1, model_->ItemIndexByAppID(extension1_->id()));
 }
 
-TEST_P(ChromeShelfControllerTest, AppIndexAfterUnhidingFirstPinnedApp) {
+TEST_F(ChromeShelfControllerTest, AppIndexAfterUnhidingFirstPinnedApp) {
   InitShelfController();
   // Pin a test app.
   AddExtension(extension1_.get());
@@ -5448,7 +5426,7 @@
   EXPECT_EQ(0, model_->ItemIndexByAppID(extension1_->id()));
 }
 
-TEST_P(ChromeShelfControllerTest,
+TEST_F(ChromeShelfControllerTest,
        AppIndexAfterUnhidingtPinnedAppWithOtherHiddenApps) {
   InitShelfController();
   // Pin test apps.
@@ -5488,7 +5466,7 @@
   EXPECT_EQ(2, model_->ItemIndexByAppID(extension6_->id()));
 }
 
-TEST_P(ChromeShelfControllerTest, AppsHiddenFromShelfDontGetPinnedByPolicy) {
+TEST_F(ChromeShelfControllerTest, AppsHiddenFromShelfDontGetPinnedByPolicy) {
   AddExtension(extension1_.get());
 
   // Pin a test app by policy.
@@ -5518,7 +5496,7 @@
   EXPECT_EQ(1, model_->ItemIndexByAppID(extension1_->id()));
 }
 
-TEST_P(ChromeShelfControllerTest, AppHiddenFromShelfNotPinnedOnInstall) {
+TEST_F(ChromeShelfControllerTest, AppHiddenFromShelfNotPinnedOnInstall) {
   AddExtension(extension1_.get());
   InitShelfController();
   PinAppWithIDToShelf(extension1_->id());
@@ -5548,11 +5526,6 @@
   EXPECT_EQ(1, model_->ItemIndexByAppID(extension1_->id()));
 }
 
-INSTANTIATE_TEST_SUITE_P(
-    /* no label */,
-    ChromeShelfControllerTest,
-    /*sync_settings_categorization_enabled=*/::testing::Bool());
-
 INSTANTIATE_TEST_SUITE_P(All,
                          ChromeShelfControllerPlayStoreAvailabilityTest,
                          ::testing::Values(false, true));
diff --git a/chrome/browser/ui/color/chrome_color_id.h b/chrome/browser/ui/color/chrome_color_id.h
index 7d510103..8a028a3 100644
--- a/chrome/browser/ui/color/chrome_color_id.h
+++ b/chrome/browser/ui/color/chrome_color_id.h
@@ -135,6 +135,7 @@
   E_CPONLY(kColorNewTabPageActionButtonBorder) \
   E_CPONLY(kColorNewTabPageActionButtonBorderHovered) \
   E_CPONLY(kColorNewTabPageActiveBackground) \
+  E_CPONLY(kColorNewTabPageAttributionForeground) \
   E_CPONLY(kColorNewTabPageBackground) \
   E_CPONLY(kColorNewTabPageBackgroundOverride) \
   E_CPONLY(kColorNewTabPageBorder) \
@@ -152,6 +153,7 @@
   E_CPONLY(kColorNewTabPageLogoUnthemedLight) \
   E_CPONLY(kColorNewTabPageMicBorderColor) \
   E_CPONLY(kColorNewTabPageMicIconColor) \
+  E_CPONLY(kColorNewTabPageMostVisitedForeground) \
   E_CPONLY(kColorNewTabPageMostVisitedTileBackground) \
   E_CPONLY(kColorNewTabPageMostVisitedTileBackgroundUnthemed) \
   E_CPONLY(kColorNewTabPageModuleIconContainerBackground) \
diff --git a/chrome/browser/ui/color/new_tab_page_color_mixer.cc b/chrome/browser/ui/color/new_tab_page_color_mixer.cc
index 1a219ec..66af2b4 100644
--- a/chrome/browser/ui/color/new_tab_page_color_mixer.cc
+++ b/chrome/browser/ui/color/new_tab_page_color_mixer.cc
@@ -53,6 +53,8 @@
   mixer[kColorNewTabPageLogoUnthemedDark] = {gfx::kGoogleGrey700};
   mixer[kColorNewTabPageLogoUnthemedLight] = {SkColorSetRGB(0xEE, 0xEE, 0xEE)};
 
+  mixer[kColorNewTabPageMostVisitedForeground] = {
+      dark_mode ? SK_ColorWHITE : gfx::kGoogleGrey800};
   if (dark_mode) {
     mixer[kColorNewTabPageMostVisitedTileBackground] = {gfx::kGoogleGrey900};
   } else {
@@ -152,6 +154,8 @@
 }
 
 void AddWebThemeNewTabPageColors(ui::ColorMixer& mixer, bool dark_mode) {
+  mixer[kColorNewTabPageAttributionForeground] = {
+      dark_mode ? SK_ColorWHITE : gfx::kGoogleGrey800};
   mixer[kColorNewTabPageActionButtonBorder] = {dark_mode ? gfx::kGoogleGrey700
                                                          : gfx::kGoogleGrey300};
   mixer[kColorNewTabPageActionButtonBorderHovered] = {
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
index 4cf4051e2..640ac8142 100644
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -36,6 +36,7 @@
 #include "chrome/browser/history/history_tab_helper.h"
 #include "chrome/browser/history/top_sites_factory.h"
 #include "chrome/browser/history_clusters/history_clusters_tab_helper.h"
+#include "chrome/browser/image_fetcher/image_fetcher_service_factory.h"
 #include "chrome/browser/login_detection/login_detection_tab_helper.h"
 #include "chrome/browser/media/history/media_history_contents_observer.h"
 #include "chrome/browser/media/media_engagement_service.h"
@@ -212,6 +213,7 @@
     BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)
 #include "chrome/browser/autofill_assistant/common_dependencies_chrome.h"
 #include "chrome/browser/autofill_assistant/platform_dependencies_desktop.h"
+#include "chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.h"
 #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/hats/hats_helper.h"
@@ -579,7 +581,12 @@
     user_notes::UserNotesTabHelper::CreateForWebContents(web_contents);
   }
   if (base::FeatureList::IsEnabled(commerce::kShoppingList)) {
-    commerce::ShoppingListUiTabHelper::CreateForWebContents(web_contents);
+    commerce::ShoppingListUiTabHelper::CreateForWebContents(
+        web_contents,
+        commerce::ShoppingServiceFactory::GetInstance()->GetForBrowserContext(
+            profile),
+        ImageFetcherServiceFactory::GetForKey(profile->GetProfileKey()),
+        profile->GetPrefs());
   }
 #endif
 
diff --git a/chrome/browser/ui/views/tabs/overflow_view_unittest.cc b/chrome/browser/ui/views/tabs/overflow_view_unittest.cc
index 6cc1cfb..18a615a 100644
--- a/chrome/browser/ui/views/tabs/overflow_view_unittest.cc
+++ b/chrome/browser/ui/views/tabs/overflow_view_unittest.cc
@@ -16,6 +16,7 @@
 #include "ui/views/layout/flex_layout_types.h"
 #include "ui/views/layout/layout_types.h"
 #include "ui/views/test/test_views.h"
+#include "ui/views/test/views_test_utils.h"
 #include "ui/views/view_class_properties.h"
 
 class OverflowViewTest : public testing::Test {
@@ -166,7 +167,7 @@
 
   void Resize(gfx::Size size) {
     parent_view_->SetSize(size);
-    parent_view_->Layout();
+    views::test::RunScheduledLayout(parent_view_.get());
   }
 
   void SizeToPreferredSize() { parent_view_->SizeToPreferredSize(); }
@@ -263,19 +264,19 @@
   Resize(size);
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kStart);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, 0), kPrimaryPreferredSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, 5), kPrimaryPreferredSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kEnd);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, 10), kPrimaryPreferredSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
@@ -285,18 +286,18 @@
   Resize(size);
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kStart);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, 0), kPrimaryMinimumSize), primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, -5), kPrimaryMinimumSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kEnd);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, -10), kPrimaryMinimumSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
@@ -340,18 +341,18 @@
   Resize(size);
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kStart);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(), kPrimaryPreferredSize), primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(5, 0), kPrimaryPreferredSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kEnd);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(10, 0), kPrimaryPreferredSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
@@ -361,18 +362,18 @@
   Resize(size);
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kStart);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(0, 0), kPrimaryMinimumSize), primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kCenter);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(-5, 0), kPrimaryMinimumSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
 
   overflow_view_->SetCrossAxisAlignment(views::LayoutAlignment::kEnd);
-  parent_view_->Layout();
+  views::test::RunScheduledLayout(parent_view_.get());
   EXPECT_EQ(gfx::Rect(gfx::Point(-10, 0), kPrimaryMinimumSize),
             primary_bounds());
   EXPECT_FALSE(indicator_visible());
diff --git a/chrome/browser/ui/views/tabs/tab_strip_unittest.cc b/chrome/browser/ui/views/tabs/tab_strip_unittest.cc
index fa3c7875..5c40ec7a 100644
--- a/chrome/browser/ui/views/tabs/tab_strip_unittest.cc
+++ b/chrome/browser/ui/views/tabs/tab_strip_unittest.cc
@@ -42,6 +42,7 @@
 #include "ui/views/controls/label.h"
 #include "ui/views/layout/flex_layout.h"
 #include "ui/views/test/ax_event_counter.h"
+#include "ui/views/test/views_test_utils.h"
 #include "ui/views/view.h"
 #include "ui/views/view_class_properties.h"
 #include "ui/views/view_observer.h"
@@ -159,6 +160,9 @@
   void SetMaxTabStripWidth(int max_width) {
     tab_strip_parent_->SetBounds(0, 0, max_width,
                                  GetLayoutConstant(TAB_HEIGHT));
+    // Layout is handled from the Widget, so make sure it is also the correct
+    // size.
+    widget_->SetSize(tab_strip_parent_->bounds().size());
   }
 
   bool IsShowingAttentionIndicator(Tab* tab) {
@@ -169,7 +173,7 @@
     // Complete animations and lay out *within the current tabstrip width*.
     tab_strip_->StopAnimating(true);
     // Resize the tabstrip based on the current tab states.
-    tab_strip_parent_->Layout();
+    views::test::RunScheduledLayout(tab_strip_parent_.get());
   }
 
   int GetActiveTabWidth() { return tab_strip_->GetActiveTabWidth(); }
diff --git a/chrome/browser/ui/views/tabs/tab_unittest.cc b/chrome/browser/ui/views/tabs/tab_unittest.cc
index 79363db5..90e28c2b5 100644
--- a/chrome/browser/ui/views/tabs/tab_unittest.cc
+++ b/chrome/browser/ui/views/tabs/tab_unittest.cc
@@ -37,6 +37,7 @@
 #include "ui/views/controls/button/image_button.h"
 #include "ui/views/controls/label.h"
 #include "ui/views/layout/flex_layout.h"
+#include "ui/views/test/views_test_utils.h"
 #include "ui/views/view_class_properties.h"
 #include "ui/views/widget/widget.h"
 
@@ -66,7 +67,7 @@
 
   static void EndTitleAnimation(Tab* tab) { tab->title_animation_.End(); }
 
-  static void LayoutTab(Tab* tab) { tab->Layout(); }
+  static void LayoutTab(Tab* tab) { views::test::RunScheduledLayout(tab); }
 
   static int VisibleIconCount(const Tab& tab) {
     return tab.showing_icon_ + tab.showing_alert_indicator_ +
diff --git a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
index cfd33d0..49c7dbe 100644
--- a/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.cc
@@ -991,12 +991,11 @@
                                            const base::Value::Dict& params) {
   if (!LoginDisplayHost::default_host())
     return;
-  const base::Value params_value = base::Value(params.Clone());
   LoginDisplayHost::default_host()
       ->GetWizardController()
       ->ShowSignInFatalErrorScreen(
           static_cast<SignInFatalErrorScreen::Error>(error_code),
-          &params_value);
+          params.Clone());
 }
 
 void GaiaScreenHandler::HandleUserRemoved(const std::string& email) {
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.cc
index c3370c4..4d627f9 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.cc
@@ -39,9 +39,8 @@
 }
 
 void SignInFatalErrorScreenHandler::Show(SignInFatalErrorScreen::Error error,
-                                         const base::Value* params) {
-  base::Value::Dict screen_data =
-      params ? params->GetDict().Clone() : base::Value::Dict();
+                                         const base::Value::Dict& params) {
+  base::Value::Dict screen_data = params.Clone();
   screen_data.Set("errorState", base::Value(static_cast<int>(error)));
 
   ShowInWebUI(std::move(screen_data));
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h
index e9b7736..54c18f8 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/signin_fatal_error_screen_handler.h
@@ -23,7 +23,7 @@
 
   // Shows the contents of the screen.
   virtual void Show(SignInFatalErrorScreen::Error error,
-                    const base::Value* params) = 0;
+                    const base::Value::Dict& params) = 0;
 };
 
 class SignInFatalErrorScreenHandler : public SignInFatalErrorView,
@@ -39,7 +39,7 @@
 
  private:
   void Show(SignInFatalErrorScreen::Error error,
-            const base::Value* params) override;
+            const base::Value::Dict& params) override;
 
   // BaseScreenHandler:
   void DeclareLocalizedValues(
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
index 681b480064..a7da2fd 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
@@ -562,10 +562,6 @@
   // background image available as soon as the page loads to prevent a potential
   // white flicker.
 
-  // Load time data is cached across page reloads. Listen for theme changes so
-  // that theme info is up-to-date when reloading.
-  native_theme_observation_.Observe(ui::NativeTheme::GetInstanceForNativeUi());
-  theme_service_observation_.Observe(theme_service_.get());
   ntp_custom_background_service_observation_.Observe(
       ntp_custom_background_service_.get());
 
@@ -577,7 +573,7 @@
   }
 
   // Populates the load time data with basic info.
-  OnThemeChanged();
+  OnColorProviderChanged();
   OnCustomBackgroundImageUpdated();
   OnLoad();
 }
@@ -773,11 +769,7 @@
   most_visited_page_handler_->SetShortcutsVisible(IsShortcutsVisible());
 }
 
-void NewTabPageUI::OnNativeThemeUpdated(ui::NativeTheme* observed_theme) {
-  OnThemeChanged();
-}
-
-void NewTabPageUI::OnThemeChanged() {
+void NewTabPageUI::OnColorProviderChanged() {
   base::Value::Dict update;
   const ui::ColorProvider& color_provider = web_contents_->GetColorProvider();
   auto background_color = color_provider.GetColor(kColorNewTabPageBackground);
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
index 371b26d..4f3a072 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h
@@ -21,7 +21,6 @@
 #include "chrome/browser/search/background/ntp_custom_background_service.h"
 #include "chrome/browser/search/background/ntp_custom_background_service_observer.h"
 #include "chrome/browser/themes/theme_service.h"
-#include "chrome/browser/themes/theme_service_observer.h"
 #include "chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom.h"
 #include "chrome/browser/ui/webui/realbox/realbox.mojom-forward.h"
 #include "components/prefs/pref_change_registrar.h"
@@ -31,7 +30,6 @@
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "ui/base/resource/resource_scale_factor.h"
 #include "ui/native_theme/native_theme.h"
-#include "ui/native_theme/native_theme_observer.h"
 #include "ui/webui/mojo_web_ui_controller.h"
 #include "ui/webui/resources/cr_components/color_change_listener/color_change_listener.mojom.h"
 #include "ui/webui/resources/cr_components/customize_themes/customize_themes.mojom.h"
@@ -76,8 +74,6 @@
       public customize_themes::mojom::CustomizeThemesHandlerFactory,
       public most_visited::mojom::MostVisitedPageHandlerFactory,
       public browser_command::mojom::CommandHandlerFactory,
-      public ui::NativeThemeObserver,
-      public ThemeServiceObserver,
       public NtpCustomBackgroundServiceObserver,
       content::WebContentsObserver {
  public:
@@ -192,12 +188,6 @@
       mojo::PendingReceiver<most_visited::mojom::MostVisitedPageHandler>
           pending_page_handler) override;
 
-  // ui::NativeThemeObserver:
-  void OnNativeThemeUpdated(ui::NativeTheme* observed_theme) override;
-
-  // ThemeServiceObserver:
-  void OnThemeChanged() override;
-
   // NtpCustomBackgroundServiceObserver:
   void OnCustomBackgroundImageUpdated() override;
   void OnNtpCustomBackgroundServiceShuttingDown() override;
@@ -205,6 +195,7 @@
   // content::WebContentsObserver:
   void DidStartNavigation(
       content::NavigationHandle* navigation_handle) override;
+  void OnColorProviderChanged() override;
 
   bool IsCustomLinksEnabled() const;
   bool IsShortcutsVisible() const;
@@ -238,10 +229,6 @@
   raw_ptr<Profile> profile_;
   raw_ptr<ThemeService> theme_service_;
   raw_ptr<NtpCustomBackgroundService> ntp_custom_background_service_;
-  base::ScopedObservation<ui::NativeTheme, ui::NativeThemeObserver>
-      native_theme_observation_{this};
-  base::ScopedObservation<ThemeService, ThemeServiceObserver>
-      theme_service_observation_{this};
   base::ScopedObservation<NtpCustomBackgroundService,
                           NtpCustomBackgroundServiceObserver>
       ntp_custom_background_service_observation_{this};
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index a8165bc..c5724c2 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1663739963-03842ba17f7bdd32e0de3f1ee2f7ac5bbcb0e6b0.profdata
+chrome-linux-main-1663761539-961694930d329b2931eb3e0cb72c389c562bde19.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index d808fdb..3771bec 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1663739963-a069e20f7e85ab193ed8e1b85a24001d0cc008e0.profdata
+chrome-mac-main-1663761539-d8c347bff534468d1e5bdbac732c21017bc2e43f.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index 97da180..a4a796e 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1663739963-3cba666eb917b7ab4b2d16ae3bbe073979daffdc.profdata
+chrome-win32-main-1663761539-0d091209a48fdb1f00ea107ed3870b59a8d6f255.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 6873961..b853ff3 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1663739963-8fbe6c648df0bda8baca052853f854765e1c9035.profdata
+chrome-win64-main-1663761539-762ca22ce3fd3bb5d6b19e865b356e539850929b.profdata
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 6e22a50..0fb2fed 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2826,6 +2826,7 @@
         "//ppapi/tests/extensions",
       ]
       if (is_chromeos_ash) {
+        data += [ "//ash/webui/common/resources/cr.js" ]
         sources += [
           "../browser/ui/views/extensions/request_file_system_dialog_browsertest.cc",
           "//third_party/liblouis/wasm/liblouis_wrapper_browsertest.cc",
@@ -3614,8 +3615,6 @@
         "../browser/ash/dbus/proxy_resolution_service_provider_browsertest.cc",
         "../browser/ash/display/display_prefs_browsertest.cc",
         "../browser/ash/display/quirks_browsertest.cc",
-        "../browser/ash/drive/drive_integration_service_browser_test_base.cc",
-        "../browser/ash/drive/drive_integration_service_browser_test_base.h",
         "../browser/ash/drive/drive_integration_service_browsertest.cc",
         "../browser/ash/file_manager/external_filesystem_apitest.cc",
         "../browser/ash/file_manager/file_manager_browsertest.cc",
@@ -10210,8 +10209,6 @@
       "../browser/sync/test/integration/sync_app_list_helper.h",
       "../browser/sync/test/integration/sync_arc_package_helper.cc",
       "../browser/sync/test/integration/sync_arc_package_helper.h",
-      "../browser/sync/test/integration/sync_settings_categorization_sync_test.cc",
-      "../browser/sync/test/integration/sync_settings_categorization_sync_test.h",
       "../browser/sync/test/integration/workspace_desk_helper.cc",
       "../browser/sync/test/integration/workspace_desk_helper.h",
       "../browser/ui/app_list/test/fake_app_list_model_updater.cc",
diff --git a/chrome/test/data/webui/BUILD.gn b/chrome/test/data/webui/BUILD.gn
index 45428f95..85eff71 100644
--- a/chrome/test/data/webui/BUILD.gn
+++ b/chrome/test/data/webui/BUILD.gn
@@ -115,7 +115,6 @@
       "settings/privacy_sandbox_browsertest.js",
       "settings/settings_idle_load_browsertest.js",
       "text_defaults_browsertest.js",
-      "webui_resource_async_browsertest.js",
       "whats_new/whats_new_browsertest.js",
     ]
 
@@ -293,7 +292,6 @@
     extra_js_files = [
       "../../../renderer/resources/extensions/notifications_custom_bindings.js",
       "../../../renderer/resources/extensions/notifications_test_util.js",
-      "//ui/webui/resources/js/cr.js",
     ]
   }
 }
diff --git a/chrome/test/data/webui/chromeos/ash_common/cr_test.html b/chrome/test/data/webui/chromeos/ash_common/cr_test.html
new file mode 100644
index 0000000..a23876fb
--- /dev/null
+++ b/chrome/test/data/webui/chromeos/ash_common/cr_test.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<html>
+<body>
+<script src="chrome://resources/ash/common/cr.js"></script>
+<script src="cr_test.js"></script>
+</body>
+</html>
diff --git a/chrome/test/data/webui/cr_test.js b/chrome/test/data/webui/chromeos/ash_common/cr_test.js
similarity index 100%
rename from chrome/test/data/webui/cr_test.js
rename to chrome/test/data/webui/chromeos/ash_common/cr_test.js
diff --git a/chrome/test/data/webui/cr_test.html b/chrome/test/data/webui/cr_test.html
deleted file mode 100644
index a0bc639e..0000000
--- a/chrome/test/data/webui/cr_test.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-<script src="chrome://resources/js/cr.js"></script>
-<script src="cr_test.js"></script>
-</body>
-</html>
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 52590fe..5e97115 100644
--- a/chrome/test/data/webui/new_tab_page/app_test.ts
+++ b/chrome/test/data/webui/new_tab_page/app_test.ts
@@ -245,7 +245,8 @@
           0xffff0000 /* red */,
           (await backgroundManager.whenCalled('setBackgroundColor')).value);
       assertStyle(
-          $$(app, '#content')!, '--ntp-theme-text-color', 'rgba(0, 0, 255, 1)');
+          $$(app, '#content')!, '--color-new-tab-page-attribution-foreground',
+          'rgba(0, 0, 255, 1)');
       assertEquals(1, backgroundManager.getCallCount('setShowBackgroundImage'));
       assertFalse(await backgroundManager.whenCalled('setShowBackgroundImage'));
       assertStyle($$(app, '#backgroundImageAttribution')!, 'display', 'none');
diff --git a/chrome/test/data/webui/settings/chromeos/BUILD.gn b/chrome/test/data/webui/settings/chromeos/BUILD.gn
index fb9abbc2..dc4c9ed 100644
--- a/chrome/test/data/webui/settings/chromeos/BUILD.gn
+++ b/chrome/test/data/webui/settings/chromeos/BUILD.gn
@@ -45,6 +45,7 @@
   sources = [
     "$root_gen_dir/mojom-webui/chrome/test/data/webui/settings/chromeos/test_api.test-mojom-webui.js",
     "test_api.ts",
+    "utils.ts",
   ]
   outputs = [ "$target_gen_dir/{{source_file_part}}" ]
   deps = [ ":test_api_mojom_webui_js" ]
@@ -56,6 +57,7 @@
   tsconfig_base = "tsconfig_base.json"
   in_files = [
     "test_api.ts",
+    "utils.ts",
     "test_api.test-mojom-webui.js",
   ]
   deps = [
diff --git a/chrome/test/data/webui/settings/chromeos/os_settings_v3_browsertest.js b/chrome/test/data/webui/settings/chromeos/os_settings_v3_browsertest.js
index fdd52870..478fe03 100644
--- a/chrome/test/data/webui/settings/chromeos/os_settings_v3_browsertest.js
+++ b/chrome/test/data/webui/settings/chromeos/os_settings_v3_browsertest.js
@@ -118,14 +118,6 @@
   get browsePreload() {
     return 'chrome://os-settings/test_loader.html?module=settings/chromeos/os_sync_controls_test.js&host=test';
   }
-
-  /** @override */
-  get featureList() {
-    return {
-      enabled: super.featureList.enabled.concat(
-          ['chromeos::features::kSyncSettingsCategorization']),
-    };
-  }
 };
 
 TEST_F('OSSettingsPeoplePageOsSyncV3Test', 'AllJsTests', () => {
@@ -209,22 +201,6 @@
   mocha.run();
 });
 
-var OSSettingsSearchEngineV3Test = class extends OSSettingsV3BrowserTest {
-  /** @override */
-  get browsePreload() {
-    return 'chrome://os-settings/test_loader.html?module=settings/chromeos/search_engine_test.js&host=test';
-  }
-
-  /** @override */
-  get featureList() {
-    return {disabled: ['chromeos::features::kSyncSettingsCategorization']};
-  }
-};
-
-TEST_F('OSSettingsSearchEngineV3Test', 'AllJsTests', () => {
-  mocha.run();
-});
-
 var OSSettingsAppManagementAppDetailsV3Test =
     class extends OSSettingsV3BrowserTest {
   /** @override */
diff --git a/chrome/test/data/webui/settings/chromeos/test_api.ts b/chrome/test/data/webui/settings/chromeos/test_api.ts
index f5343da9..12387e9d 100644
--- a/chrome/test/data/webui/settings/chromeos/test_api.ts
+++ b/chrome/test/data/webui/settings/chromeos/test_api.ts
@@ -5,208 +5,155 @@
 import {assertTrue} from 'chrome://webui-test/chai_assert.js';
 
 import {LockScreenSettingsInterface, LockScreenSettingsReceiver, LockScreenSettingsRemote, OSSettingsBrowserProcess, OSSettingsDriverInterface, OSSettingsDriverReceiver} from './test_api.test-mojom-webui.js';
-
-const kDefaultTimeoutMilliseconds = 10 * 1000;
-
-// Applies a function to an element until the function returns not null.
-// Reapplies the function if the element changes.
-async function watchElement<E extends DocumentFragment|Element, T>(
-    element: E, elementFunction: (el: E) => (T | null),
-    timeoutMilliseconds: number =
-        kDefaultTimeoutMilliseconds): Promise<T|null> {
-  const result = elementFunction(element);
-  if (result != null) {
-    return result;
-  }
-
-  const asyncResult = await new Promise((resolve: (val: T|null) => void) => {
-    interface State {
-      mutationObserver: MutationObserver|null;
-      timeoutID: number|null;
-    }
-    const state: State = {
-      mutationObserver: null,
-      timeoutID: null,
-    };
-
-    const done = (result: T|null) => {
-      if (state.mutationObserver != null) {
-        state.mutationObserver.disconnect();
-      }
-      if (state.timeoutID != null) {
-        clearTimeout(state.timeoutID);
-      }
-      resolve(result);
-    };
-
-    state.mutationObserver = new MutationObserver(() => {
-      const result = elementFunction(element);
-      if (result != null) {
-        done(result);
-      }
-    });
-    state.mutationObserver.observe(
-        element, {childList: true, subtree: true, attributes: true});
-
-    state.timeoutID = setTimeout(() => {
-      done(null);
-    }, timeoutMilliseconds);
-  });
-
-  return asyncResult;
-}
-
-// Like querySelector, but waits for the element to appear if necessary.
-async function querySelectorAsync(
-    root: DocumentFragment|Element, selector: string,
-    timeoutMilliseconds: number =
-        kDefaultTimeoutMilliseconds): Promise<Element|null> {
-  return watchElement(
-      root, (root) => root.querySelector(selector), timeoutMilliseconds);
-}
-
-// Find an element that is nested inside shadow roots using a sequence of query
-// selectors. The first query is run from |root|. Subsequent queries are run
-// within the |shadowRoot| of the previous result. Returns |null| if any of
-// the queries did not yield a result.
-async function querySelectorAsyncShadowRoots(
-    root: DocumentFragment|Element, selectors: string[],
-    timeoutMilliseconds: number =
-        kDefaultTimeoutMilliseconds): Promise<Element|null> {
-  assertTrue(selectors.length > 0);
-
-  const initSelectors = selectors.slice(0, selectors.length - 1);
-  const lastSelector = selectors[selectors.length - 1];
-  assertTrue(lastSelector != null);
-  for (const selector of initSelectors) {
-    const el = await querySelectorAsync(root, selector, timeoutMilliseconds);
-    if (el == null) {
-      return null;
-    }
-    const shadowRoot =
-        await watchElement(el, (el) => el.shadowRoot, timeoutMilliseconds);
-    if (shadowRoot == null) {
-      return null;
-    }
-    root = shadowRoot;
-  }
-
-  return querySelectorAsync(root, lastSelector, timeoutMilliseconds);
-}
+import {assertAsync, assertForDuration, hasBooleanProperty, hasProperty, Lazy, querySelectorShadow, retryUntilSome} from './utils.js';
 
 export class LockScreenSettings implements LockScreenSettingsInterface {
-  privacyPage: Element;
-  lockScreen: Element;
+  // Relevant elements are stored as lazy values because element identity might
+  // change. For example, the settings page destroys |passwordDialog| after
+  // successful authentication and creates a new element if it requires
+  // authentication again.
+  private lockScreen: Lazy<HTMLElement>;
+  private passwordDialog: Lazy<HTMLElement|null>;
 
-  constructor(privacyPage: Element) {
-    this.privacyPage = privacyPage;
-    assertTrue(privacyPage.shadowRoot != null);
-    const lockScreen =
-        privacyPage.shadowRoot.querySelector('settings-lock-screen');
-    assertTrue(lockScreen != null);
-    this.lockScreen = lockScreen;
+  constructor(params: {
+    lockScreen: Lazy<HTMLElement>,
+    passwordDialog: Lazy<HTMLElement|null>,
+  }) {
+    this.lockScreen = params.lockScreen;
+    assertTrue(this.lockScreen().shadowRoot != null);
+    this.passwordDialog = params.passwordDialog;
   }
 
-  async passwordPrompt(): Promise<Element|null> {
-    assertTrue(this.privacyPage.shadowRoot != null);
-    const passwordDialog = await querySelectorAsync(
-        this.privacyPage.shadowRoot, '#passwordDialog');
-    if (passwordDialog == null) {
-      return null;
-    }
-
-    assertTrue(passwordDialog.shadowRoot != null);
-    return querySelectorAsync(passwordDialog.shadowRoot, '#passwordPrompt');
+  private shadowRoot(): ShadowRoot {
+    const lockScreen = this.lockScreen();
+    assertTrue(lockScreen.shadowRoot != null);
+    return lockScreen.shadowRoot;
   }
 
   async authenticate(password: string): Promise<void> {
-    const passwordPrompt = await this.passwordPrompt();
+    const passwordDialog = await retryUntilSome(this.passwordDialog);
+    assertTrue(passwordDialog != null);
+    assertTrue(passwordDialog.shadowRoot != null);
+
+    const passwordPrompt =
+        passwordDialog.shadowRoot.getElementById('passwordPrompt');
     assertTrue(passwordPrompt != null);
     assertTrue(passwordPrompt.shadowRoot != null);
 
     const passwordInput =
-        await querySelectorAsync(passwordPrompt.shadowRoot, '#passwordInput');
+        passwordPrompt.shadowRoot.getElementById('passwordInput');
     assertTrue(passwordInput != null);
-    (passwordInput as HTMLElement & {value: any}).value = password;
+    assertTrue(hasProperty(passwordInput, 'value'));
+
+    passwordInput.value = password;
 
     const confirmButton =
-        await querySelectorAsync(passwordPrompt.shadowRoot, '#confirmButton');
-    assertTrue(confirmButton instanceof HTMLElement);
+        passwordPrompt.shadowRoot.getElementById('confirmButton');
+    assertTrue(confirmButton != null);
     confirmButton.click();
+
+    await assertAsync(() => this.passwordDialog() == null);
   }
 
-  async recoveryToggle(): Promise<HTMLElement|null> {
-    assertTrue(this.lockScreen.shadowRoot != null);
-    const toggle =
-        await querySelectorAsync(this.lockScreen.shadowRoot, '#recoveryToggle');
-    assertTrue(toggle == null || toggle instanceof HTMLElement);
+  private recoveryToggle(): HTMLElement&{checked: boolean}|null {
+    const toggle = this.shadowRoot().getElementById('recoveryToggle');
+    if (toggle == null) {
+      return null;
+    }
+    assertTrue(hasBooleanProperty(toggle, 'checked'));
     return toggle;
   }
 
   async assertRecoveryControlVisibility(isVisible: boolean): Promise<void> {
-    // TODO(b/239416325): We could be more thorough here -- check that the
-    // toggle does not have visibility: hidden, has non-zero size, is not
-    // covered by other elements etc.
-    const toggle = await this.recoveryToggle();
-    const toggleExists = toggle != null;
-    assertTrue(isVisible === toggleExists);
+    const property = () => {
+      const toggle = this.recoveryToggle();
+      if (toggle == null) {
+        return !isVisible;
+      }
+      return toggle.hidden === !isVisible;
+    };
+
+    await assertAsync(property);
+    await assertForDuration(property);
   }
 
   async assertRecoveryConfigured(isConfigured: boolean): Promise<void> {
-    const toggle =
-        await this.recoveryToggle() as HTMLElement & {checked: boolean};
-    assertTrue(toggle.checked === isConfigured);
+    const property = () => {
+      const toggle = this.recoveryToggle();
+      if (toggle == null) {
+        return false;
+      }
+      return toggle.checked === isConfigured;
+    };
+
+    await assertAsync(property);
+    await assertForDuration(property);
   }
 
   async toggleRecoveryConfiguration(): Promise<void> {
-    const toggle = await this.recoveryToggle() as HTMLElement &
-        {checked: boolean, disabled: boolean};
+    const toggle = await retryUntilSome(() => this.recoveryToggle());
     assertTrue(toggle != null);
+    const previousChecked = toggle.checked;
+    const toggleIsFlipped = () => toggle.checked === previousChecked;
 
-    const previouslyChecked = toggle.checked;
     toggle.click();
 
-    // If the toggle is immediately toggled, that's OK. Otherwise we wait wait
-    // until it becomes toggled.
-    if (toggle.checked === !previouslyChecked) {
+    // If the toggle flips immediately, that's OK. Otherwise we need to wait
+    // until it flips.
+    if (!toggleIsFlipped()) {
       return;
     }
 
-    assertTrue(toggle.disabled);
+    assertTrue(hasBooleanProperty(toggle, 'disabled') && toggle.disabled);
     // Click again to see whether something weird happens.
     toggle.click();
 
-    // Check that toggle is eventually checked.
-    const notNullIfToggled = await watchElement(toggle, (toggle) => {
-      if (toggle.checked === !previouslyChecked) {
-        return {};
-      }
-      return null;
-    });
-
-    assertTrue(notNullIfToggled != null);
+    await assertAsync(toggleIsFlipped);
   }
 }
 
 class OSSettingsDriver implements OSSettingsDriverInterface {
   async goToLockScreenSettings():
       Promise<{lockScreenSettings: LockScreenSettingsRemote}> {
-    const privacyPage = await querySelectorAsyncShadowRoots(document.body, [
-      'os-settings-ui',
-      'os-settings-main',
-      'os-settings-page',
-      'os-settings-privacy-page',
-    ]);
-    assertTrue(privacyPage != null);
+    const privacyPage =
+        await retryUntilSome(() => querySelectorShadow(document.body, [
+                               'os-settings-ui',
+                               'os-settings-main',
+                               'os-settings-page',
+                               'os-settings-privacy-page',
+                             ]));
+    assertTrue(privacyPage instanceof HTMLElement);
     assertTrue(privacyPage.shadowRoot != null);
 
-    const trigger = await querySelectorAsync(
-        privacyPage.shadowRoot, '#lockScreenSubpageTrigger');
-    assertTrue(trigger instanceof HTMLElement);
+
+    // Click on button to go to lock screen settings.
+    const trigger =
+        privacyPage.shadowRoot.getElementById('lockScreenSubpageTrigger');
+    assertTrue(trigger != null);
     trigger.click();
 
-    const lockScreen = new LockScreenSettings(privacyPage);
-    const receiver = new LockScreenSettingsReceiver(lockScreen);
+    const lockScreen: Lazy<HTMLElement> = () => {
+      assertTrue(privacyPage.shadowRoot != null);
+      const lockScreen =
+          privacyPage.shadowRoot.querySelector('settings-lock-screen');
+      assertTrue(lockScreen instanceof HTMLElement);
+      return lockScreen;
+    };
+
+    const passwordDialog: Lazy<HTMLElement|null> = () => {
+      assertTrue(privacyPage.shadowRoot != null);
+      const passwordDialog =
+          privacyPage.shadowRoot.getElementById('passwordDialog');
+      if (passwordDialog == null) {
+        return null;
+      }
+
+      return passwordDialog;
+    };
+
+    const lockScreenSettings =
+        new LockScreenSettings({lockScreen, passwordDialog});
+    const receiver = new LockScreenSettingsReceiver(lockScreenSettings);
     const remote = receiver.$.bindNewPipeAndPassRemote();
 
     return {lockScreenSettings: remote};
diff --git a/chrome/test/data/webui/settings/chromeos/utils.ts b/chrome/test/data/webui/settings/chromeos/utils.ts
new file mode 100644
index 0000000..0c7eba9
--- /dev/null
+++ b/chrome/test/data/webui/settings/chromeos/utils.ts
@@ -0,0 +1,106 @@
+// Copyright 2022 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import {assertTrue} from 'chrome://webui-test/chai_assert.js';
+
+const RETRY_INTERVAL_MILLISECONDS = 0.2 * 1000;
+const RETRY_TIMEOUT_MILLISECONDS = 10 * 1000;
+const SATISFACTION_MILLISECONDS = 1 * 1000;
+
+export function hasProperty<X extends {}, Y extends PropertyKey>(
+    obj: X, prop: Y): obj is X&Record<Y, unknown> {
+  return prop in obj;
+}
+
+export function hasBooleanProperty<X extends {}, Y extends PropertyKey>(
+    obj: X, prop: Y): obj is X&Record<Y, boolean> {
+  return hasProperty(obj, prop) && typeof obj[prop] === 'boolean';
+}
+
+export function sleep(milliseconds: number): Promise<void> {
+  return new Promise(resolve => setTimeout(resolve, milliseconds));
+}
+
+export type Lazy<T> = () => T;
+
+// Repeatedly evaluates a lazy |value| until it evaluates without throwing an
+// exception, or if a timeout is exceeded.
+export async function retry<T>(
+    value: Lazy<T>,
+    timeoutMilliseconds: number = RETRY_TIMEOUT_MILLISECONDS): Promise<T> {
+  while (true) {
+    try {
+      const val = value();
+      return val;
+    } catch (err) {
+      if (timeoutMilliseconds <= 0) {
+        throw err;
+      }
+    }
+
+    const sleepMilliseconds =
+        Math.min(RETRY_INTERVAL_MILLISECONDS, timeoutMilliseconds);
+    await sleep(sleepMilliseconds);
+    timeoutMilliseconds -= sleepMilliseconds;
+  }
+}
+
+// Repeatedly evaluates a lazy |value| until it evaluates without throwing an
+// exception to something != null, or if a timeout is exceeded.
+export async function retryUntilSome<T>(
+    value: Lazy<T|null>,
+    timeoutMilliseconds: number = RETRY_TIMEOUT_MILLISECONDS): Promise<T> {
+  return await retry(() => {
+    const val = value();
+    assertTrue(val != null);
+    return val;
+  }, timeoutMilliseconds);
+}
+
+// Repeatedly evaluates a lazy |property| until it holds or a timeout is
+// exceeded.
+export async function assertAsync(
+    property: Lazy<boolean>,
+    timeoutMilliseconds: number = RETRY_TIMEOUT_MILLISECONDS): Promise<void> {
+  return await retry(() => assertTrue(property()), timeoutMilliseconds);
+}
+
+// Repeatedly asserts that a |property| holds for a (short) duration.
+export async function assertForDuration(
+    property: Lazy<boolean>,
+    satisfactionMilliseconds: number =
+        SATISFACTION_MILLISECONDS): Promise<void> {
+  while (true) {
+    assertTrue(property());
+    if (satisfactionMilliseconds <= 0) {
+      return;
+    }
+
+    const sleepMilliseconds =
+        Math.min(RETRY_INTERVAL_MILLISECONDS, satisfactionMilliseconds);
+    await sleep(sleepMilliseconds);
+    satisfactionMilliseconds -= sleepMilliseconds;
+  }
+}
+
+// Finds an element that is nested inside shadow roots using a sequence of
+// query selectors. The first query is run from |root|. Subsequent queries are
+// run within the |shadowRoot| of the previous result. Returns |null| if any of
+// the queries did not yield a result.
+export function querySelectorShadow(
+    root: DocumentFragment|Element, selectors: string[]): Element|null {
+  assertTrue(selectors.length > 0);
+
+  const initSelectors = selectors.slice(0, selectors.length - 1);
+  const lastSelector = selectors[selectors.length - 1];
+  assertTrue(lastSelector != null);
+  for (const selector of initSelectors) {
+    const el = root.querySelector(selector);
+    if (el == null || el.shadowRoot == null) {
+      return null;
+    }
+    root = el.shadowRoot;
+  }
+  return root.querySelector(lastSelector);
+}
diff --git a/chrome/test/data/webui/webui_resource_async_browsertest.js b/chrome/test/data/webui/webui_resource_async_browsertest.js
deleted file mode 100644
index 4fdd65aa..0000000
--- a/chrome/test/data/webui/webui_resource_async_browsertest.js
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2015 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-/**
- * @fileoverview Framework for running async JS tests for cr.js utility methods.
- */
-
-GEN('#include "content/public/test/browser_test.h"');
-
-/** @const {string} Name of the chrome.send() message to be used in tests. */
-var CHROME_SEND_NAME = 'echoMessage';
-
-/**
- * Test fixture for testing async methods of cr.js.
- * @constructor
- * @extends testing.Test
- */
-function WebUIResourceAsyncTest() {}
-
-WebUIResourceAsyncTest.prototype = {
-  __proto__: testing.Test.prototype,
-
-  /** @override */
-  browsePreload: DUMMY_URL,
-
-  /** @override */
-  isAsync: true,
-
-  /** @override */
-  extraLibraries: [
-    '//third_party/mocha/mocha.js',
-    '//chrome/test/data/webui/mocha_adapter.js',
-    '//ui/webui/resources/js/promise_resolver.js',
-    '//ui/webui/resources/js/cr.js',
-  ],
-};
-
-TEST_F('WebUIResourceAsyncTest', 'SendWithPromise', function() {
-  suite('SendWithPromise', function() {
-    const originalChromeSend = chrome.send;
-    var rejectPromises = false;
-
-    /**
-     * @param {string} name chrome.send message name.
-     * @return {!Promise} Fires when chrome.send is called with the given
-     *     message name.
-     */
-    function whenChromeSendCalled(name) {
-      assertEquals(originalChromeSend, chrome.send);
-      return new Promise(function(resolve, reject) {
-        chrome.send = (_, args) => resolve(args);
-      });
-    }
-
-    setup(function() {
-      // Simulate a WebUI handler that echoes back all parameters passed to it.
-      // Rejects the promise depending on |rejectPromises|.
-      whenChromeSendCalled(CHROME_SEND_NAME).then(function(args) {
-        var callbackId = args[0];
-        cr.webUIResponse.apply(
-            null, [callbackId, !rejectPromises].concat(args.slice(1)));
-      });
-    });
-
-    teardown(function() {
-      rejectPromises = false;
-
-      // Restore original chrome.send(), as it is necessary for the testing
-      // framework to signal test completion.
-      chrome.send = originalChromeSend;
-    });
-
-    test('sendWithPromise_ResponseObject', function() {
-      var expectedResponse = {'foo': 'bar'};
-      return cr.sendWithPromise(CHROME_SEND_NAME, expectedResponse)
-          .then(function(response) {
-            assertEquals(
-                JSON.stringify(expectedResponse), JSON.stringify(response));
-          });
-    });
-
-    test('sendWithPromise_ResponseArray', function() {
-      var expectedResponse = ['foo', 'bar'];
-      return cr.sendWithPromise(CHROME_SEND_NAME, expectedResponse)
-          .then(function(response) {
-            assertEquals(
-                JSON.stringify(expectedResponse), JSON.stringify(response));
-          });
-    });
-
-    test('sendWithPromise_ResponsePrimitive', function() {
-      var expectedResponse = 1234;
-      return cr.sendWithPromise(CHROME_SEND_NAME, expectedResponse)
-          .then(function(response) {
-            assertEquals(expectedResponse, response);
-          });
-    });
-
-    test('sendWithPromise_ResponseVoid', function() {
-      return cr.sendWithPromise(CHROME_SEND_NAME).then(function(response) {
-        assertEquals(undefined, response);
-      });
-    });
-
-    test('sendWithPromise_Reject', function() {
-      rejectPromises = true;
-      var expectedResponse = 1234;
-      return cr.sendWithPromise(CHROME_SEND_NAME, expectedResponse)
-          .then(
-              function() {
-                assertNotReached('should have rejected promise');
-              },
-              function(error) {
-                assertEquals(expectedResponse, error);
-              });
-    });
-  });
-
-  // Run all registered tests.
-  mocha.run();
-});
-
-
-TEST_F('WebUIResourceAsyncTest', 'WebUIListeners', function() {
-  suite('WebUIListeners', function() {
-    var listener1 = null;
-    var listener2 = null;
-
-    /** @const {string} */
-    var EVENT_NAME = 'my-foo-event';
-
-    teardown(function() {
-      if (listener1) {
-        cr.removeWebUIListener(listener1);
-      }
-      if (listener2) {
-        cr.removeWebUIListener(listener2);
-      }
-    });
-
-    test('removeWebUIListener', function() {
-      listener1 = cr.addWebUIListener(EVENT_NAME, function() {});
-      assertTrue(cr.removeWebUIListener(listener1));
-      assertFalse(cr.removeWebUIListener(listener1));
-      assertFalse(cr.removeWebUIListener({
-        eventName: 'non-existing-event',
-        uid: 12345,
-      }));
-    });
-
-    test('addWebUIListener_ResponseParams', function() {
-      var expectedString = 'foo';
-      var expectedNumber = 123;
-      var expectedArray = [1, 2];
-      var expectedObject = {};
-
-      return new Promise(function(resolve, reject) {
-        listener1 = cr.addWebUIListener(EVENT_NAME, function(s, n, a, o) {
-          assertEquals(expectedString, s);
-          assertEquals(expectedNumber, n);
-          assertEquals(expectedArray, a);
-          assertEquals(expectedObject, o);
-          resolve();
-        });
-        cr.webUIListenerCallback(
-            EVENT_NAME, expectedString, expectedNumber, expectedArray,
-            expectedObject);
-      });
-    });
-
-    test('addWebUIListener_NoResponseParams', function() {
-      return new Promise(function(resolve, reject) {
-        listener1 = cr.addWebUIListener(EVENT_NAME, function() {
-          assertEquals(0, arguments.length);
-          resolve();
-        });
-        cr.webUIListenerCallback(EVENT_NAME);
-      });
-    });
-
-    test('addWebUIListener_MulitpleListeners', function() {
-      var resolver1 = new PromiseResolver();
-      var resolver2 = new PromiseResolver();
-      listener1 = cr.addWebUIListener(EVENT_NAME, resolver1.resolve);
-      listener2 = cr.addWebUIListener(EVENT_NAME, resolver2.resolve);
-      cr.webUIListenerCallback(EVENT_NAME);
-      // Check that both listeners registered are invoked.
-      return Promise.all([resolver1.promise, resolver2.promise]);
-    });
-  });
-
-  // Run all registered tests.
-  mocha.run();
-});
diff --git a/chrome/test/data/webui/webui_resource_browsertest.cc b/chrome/test/data/webui/webui_resource_browsertest.cc
index e0770da1..1de72f4 100644
--- a/chrome/test/data/webui/webui_resource_browsertest.cc
+++ b/chrome/test/data/webui/webui_resource_browsertest.cc
@@ -49,7 +49,7 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 IN_PROC_BROWSER_TEST_F(WebUIResourceBrowserTest, CrTest) {
-  LoadTestUrl("cr_test.html");
+  LoadTestUrl("chromeos/ash_common/cr_test.html");
 }
 #endif
 
diff --git a/chrome/test/mini_installer/ZIP_README.txt b/chrome/test/mini_installer/ZIP_README.txt
index 5b79938..1c383ca 100644
--- a/chrome/test/mini_installer/ZIP_README.txt
+++ b/chrome/test/mini_installer/ZIP_README.txt
@@ -11,7 +11,7 @@
 run the tests. This method creates a batch file that will automatically
 set the paths.
 
-python chrome\test\mini_installer\create_zip.py ^
+vpython3 chrome\test\mini_installer\create_zip.py ^
   --output-path <ZIP_FILE_OUTPUT_PATH> ^
   --installer-path <CURRENT_INSTALLER_PATH> ^
   --previous-version-installer-path <PREVIOUS_INSTALLER_PATH> ^
@@ -34,7 +34,7 @@
 
 To run:
 
-1) Ensure the latest python 2.7 is installed and in your path
+1) Ensure the latest python 3 is installed and in your path
 2) Unzip zip file
 3) Open a command window in administrator mode
 4) Navigate to the unzip folder
@@ -49,4 +49,3 @@
 
 The batch script will use Python's pip module to install pywin32 and psutil
 to reduce the amount of setup time is needed.
-
diff --git a/chrome/test/mini_installer/create_zip.py b/chrome/test/mini_installer/create_zip.py
old mode 100644
new mode 100755
index 1957425..d9175a7
--- a/chrome/test/mini_installer/create_zip.py
+++ b/chrome/test/mini_installer/create_zip.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env vpython3
 # Copyright 2018 The Chromium Authors
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
diff --git a/chrome/test/mini_installer/zip_test_runner.bat b/chrome/test/mini_installer/zip_test_runner.bat
index 513a7a1..add3e6e 100755
--- a/chrome/test/mini_installer/zip_test_runner.bat
+++ b/chrome/test/mini_installer/zip_test_runner.bat
@@ -6,8 +6,9 @@
 rem chrome\test\mini_installer\run_mini_installer_tests.py for the args that

 rem can be passed.

 

-c:\Python27\python -m pip install --upgrade pip

-c:\Python27\Scripts\pip install psutil

-c:\Python27\Scripts\pip install pywin32

-c:\Python27\python chrome\test\mini_installer\run_mini_installer_tests.py {run_args} %*

+python3 -m pip install --upgrade pip

+python3 -m pip install psutil

+python3 -m pip install requests

+python3 -m pip install pypiwin32

+python3 chrome\test\mini_installer\run_mini_installer_tests.py {run_args} %*

 pause

diff --git a/chrome/updater/win/update_service_proxy.cc b/chrome/updater/win/update_service_proxy.cc
index 02839e18..205c506 100644
--- a/chrome/updater/win/update_service_proxy.cc
+++ b/chrome/updater/win/update_service_proxy.cc
@@ -715,16 +715,33 @@
     return;
   }
 
+  std::wstring app_id_w;
+  std::wstring install_data_index_w;
+  if (![&]() {
+        if (!base::UTF8ToWide(app_id.c_str(), app_id.size(), &app_id_w)) {
+          return false;
+        }
+        if (!base::UTF8ToWide(install_data_index.c_str(),
+                              install_data_index.size(),
+                              &install_data_index_w)) {
+          return false;
+        }
+        return true;
+      }()) {
+    std::move(callback).Run(Result::kServiceFailed);
+    return;
+  }
+
   CHECK(updater_);
 
   auto observer = Microsoft::WRL::Make<UpdaterObserver>(updater_, state_update,
                                                         std::move(callback));
-  HRESULT hr = updater_->Update(
-      base::UTF8ToWide(app_id).c_str(),
-      base::UTF8ToWide(install_data_index).c_str(), static_cast<int>(priority),
-      policy_same_version_update ==
-          UpdateService::PolicySameVersionUpdate::kAllowed,
-      observer.Get());
+  HRESULT hr =
+      updater_->Update(app_id_w.c_str(), install_data_index_w.c_str(),
+                       static_cast<int>(priority),
+                       policy_same_version_update ==
+                           UpdateService::PolicySameVersionUpdate::kAllowed,
+                       observer.Get());
   if (FAILED(hr)) {
     VLOG(2) << "Failed to call IUpdater::UpdateAll: " << std::hex << hr;
     observer->Disconnect().Run(Result::kServiceFailed);
@@ -746,31 +763,43 @@
     return;
   }
 
-  std::wstring app_id;
-  std::wstring brand_code;
-  std::wstring brand_path;
-  std::wstring ap;
-  std::wstring version;
-  std::wstring existence_checker_path;
+  std::wstring app_id_w;
+  std::wstring brand_code_w;
+  std::wstring brand_path_w;
+  std::wstring ap_w;
+  std::wstring version_w;
+  std::wstring existence_checker_path_w;
+  std::wstring client_install_data_w;
+  std::wstring install_data_index_w;
   if (![&]() {
         if (!base::UTF8ToWide(request.app_id.c_str(), request.app_id.size(),
-                              &app_id)) {
+                              &app_id_w)) {
           return false;
         }
         if (!base::UTF8ToWide(request.brand_code.c_str(),
-                              request.brand_code.size(), &brand_code)) {
+                              request.brand_code.size(), &brand_code_w)) {
           return false;
         }
-        brand_path = request.brand_path.value();
-        if (!base::UTF8ToWide(request.ap.c_str(), request.ap.size(), &ap)) {
+        brand_path_w = request.brand_path.value();
+        if (!base::UTF8ToWide(request.ap.c_str(), request.ap.size(), &ap_w)) {
           return false;
         }
         std::string version_str = request.version.GetString();
         if (!base::UTF8ToWide(version_str.c_str(), version_str.size(),
-                              &version)) {
+                              &version_w)) {
           return false;
         }
-        existence_checker_path = request.existence_checker_path.value();
+        existence_checker_path_w = request.existence_checker_path.value();
+        if (!base::UTF8ToWide(client_install_data.c_str(),
+                              client_install_data.size(),
+                              &client_install_data_w)) {
+          return false;
+        }
+        if (!base::UTF8ToWide(install_data_index.c_str(),
+                              install_data_index.size(),
+                              &install_data_index_w)) {
+          return false;
+        }
         return true;
       }()) {
     std::move(callback).Run(Result::kServiceFailed);
@@ -783,11 +812,10 @@
                                                         std::move(callback));
 
   HRESULT hr = updater_->Install(
-      app_id.c_str(), brand_code.c_str(), brand_path.c_str(), ap.c_str(),
-      version.c_str(), existence_checker_path.c_str(),
-      base::UTF8ToWide(client_install_data).c_str(),
-      base::UTF8ToWide(install_data_index).c_str(), static_cast<int>(priority),
-      observer.Get());
+      app_id_w.c_str(), brand_code_w.c_str(), brand_path_w.c_str(),
+      ap_w.c_str(), version_w.c_str(), existence_checker_path_w.c_str(),
+      client_install_data_w.c_str(), install_data_index_w.c_str(),
+      static_cast<int>(priority), observer.Get());
   if (FAILED(hr)) {
     VLOG(2) << "Failed to call IUpdater::Install: " << std::hex << hr;
     observer->Disconnect().Run(Result::kServiceFailed);
@@ -827,6 +855,32 @@
     return;
   }
 
+  std::wstring app_id_w;
+  std::wstring install_args_w;
+  std::wstring install_data_w;
+  std::wstring install_settings_w;
+  if (![&]() {
+        if (!base::UTF8ToWide(app_id.c_str(), app_id.size(), &app_id_w)) {
+          return false;
+        }
+        if (!base::UTF8ToWide(install_args.c_str(), install_args.size(),
+                              &install_args_w)) {
+          return false;
+        }
+        if (!base::UTF8ToWide(install_data.c_str(), install_data.size(),
+                              &install_data_w)) {
+          return false;
+        }
+        if (!base::UTF8ToWide(install_settings.c_str(), install_settings.size(),
+                              &install_settings_w)) {
+          return false;
+        }
+        return true;
+      }()) {
+    std::move(callback).Run(Result::kServiceFailed);
+    return;
+  }
+
   CHECK(updater_);
 
   // The COM RPC takes ownership of the `observer` and owns a reference to
@@ -839,10 +893,8 @@
   auto observer = Microsoft::WRL::Make<UpdaterObserver>(updater_, state_update,
                                                         std::move(callback));
   HRESULT hr = updater_->RunInstaller(
-      base::UTF8ToWide(app_id).c_str(), installer_path.value().c_str(),
-      base::UTF8ToWide(install_args).c_str(),
-      base::UTF8ToWide(install_data).c_str(),
-      base::UTF8ToWide(install_settings).c_str(), observer.Get());
+      app_id_w.c_str(), installer_path.value().c_str(), install_args_w.c_str(),
+      install_data_w.c_str(), install_settings_w.c_str(), observer.Get());
   if (SUCCEEDED(hr)) {
     VLOG(2) << "IUpdater::OfflineInstall completed successfully.";
   } else {
diff --git a/chromeos/ash/components/dbus/userdataauth/OWNERS b/chromeos/ash/components/dbus/userdataauth/OWNERS
index dcb91255..3ae7a21f 100644
--- a/chromeos/ash/components/dbus/userdataauth/OWNERS
+++ b/chromeos/ash/components/dbus/userdataauth/OWNERS
@@ -1 +1,3 @@
 per-file fake_userdataauth_client.*=file://ash/login/LOGIN_LOCK_OWNERS
+mbid@google.com
+emaamari@google.com
diff --git a/chromeos/services/network_config/cros_network_config.cc b/chromeos/services/network_config/cros_network_config.cc
index adb1f02..c3d2fa3 100644
--- a/chromeos/services/network_config/cros_network_config.cc
+++ b/chromeos/services/network_config/cros_network_config.cc
@@ -607,13 +607,15 @@
   return v->GetString();
 }
 
-bool GetBoolean(const base::Value* dict, const char* key) {
+bool GetBoolean(const base::Value* dict,
+                const char* key,
+                bool value_if_key_missing_from_dict = false) {
   const base::Value* v = dict->FindKey(key);
   if (v && !v->is_bool()) {
     NET_LOG(ERROR) << "Expected bool, found: " << *v;
     return false;
   }
-  return v ? v->GetBool() : false;
+  return v ? v->GetBool() : value_if_key_missing_from_dict;
 }
 
 int32_t GetInt32(const base::Value* dict, const char* key) {
@@ -2939,20 +2941,33 @@
     return;
   }
 
+  // Sets mojom global policy results directly from the |global_policy_dict|.
+  // If there is no key (in the case of non-managed devices), the default
+  // mojom::GlobalPolicy() boolean value(s) specified explicitly in
+  // cros_network_config.mojom is used instead.
   result->allow_cellular_sim_lock = GetBoolean(
-      global_policy_dict, ::onc::global_network_config::kAllowCellularSimLock);
-  result->allow_only_policy_cellular_networks = GetBoolean(
-      global_policy_dict,
-      ::onc::global_network_config::kAllowOnlyPolicyCellularNetworks);
+      global_policy_dict, ::onc::global_network_config::kAllowCellularSimLock,
+      /*value_if_key_missing_from_dict=*/result->allow_cellular_sim_lock);
+  result->allow_only_policy_cellular_networks =
+      GetBoolean(global_policy_dict,
+                 ::onc::global_network_config::kAllowOnlyPolicyCellularNetworks,
+                 /*value_if_key_missing_from_dict=*/
+                 result->allow_only_policy_cellular_networks);
   result->allow_only_policy_networks_to_autoconnect = GetBoolean(
       global_policy_dict,
-      ::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect);
+      ::onc::global_network_config::kAllowOnlyPolicyNetworksToAutoconnect,
+      /*value_if_key_missing_from_dict=*/
+      result->allow_only_policy_networks_to_autoconnect);
   result->allow_only_policy_wifi_networks_to_connect =
       GetBoolean(global_policy_dict,
-                 ::onc::global_network_config::kAllowOnlyPolicyWiFiToConnect);
+                 ::onc::global_network_config::kAllowOnlyPolicyWiFiToConnect,
+                 /*value_if_key_missing_from_dict=*/
+                 result->allow_only_policy_wifi_networks_to_connect);
   result->allow_only_policy_wifi_networks_to_connect_if_available = GetBoolean(
       global_policy_dict,
-      ::onc::global_network_config::kAllowOnlyPolicyWiFiToConnectIfAvailable);
+      ::onc::global_network_config::kAllowOnlyPolicyWiFiToConnectIfAvailable,
+      /*value_if_key_missing_from_dict=*/
+      result->allow_only_policy_wifi_networks_to_connect_if_available);
   absl::optional<std::vector<std::string>> blocked_hex_ssids = GetStringList(
       global_policy_dict, ::onc::global_network_config::kBlockedHexSSIDs);
   if (blocked_hex_ssids)
diff --git a/chromeos/services/network_config/cros_network_config_unittest.cc b/chromeos/services/network_config/cros_network_config_unittest.cc
index 980cc332..01c5c62 100644
--- a/chromeos/services/network_config/cros_network_config_unittest.cc
+++ b/chromeos/services/network_config/cros_network_config_unittest.cc
@@ -796,7 +796,7 @@
   EXPECT_EQ(mojom::SecurityType::kNone,
             network->type_state->get_wifi()->security);
   EXPECT_EQ(50, network->type_state->get_wifi()->signal_strength);
-  EXPECT_EQ(false, network->type_state->get_wifi()->hidden_ssid);
+  EXPECT_FALSE(network->type_state->get_wifi()->hidden_ssid);
   EXPECT_EQ(mojom::OncSource::kNone, network->source);
 
   network = GetNetworkState("wifi2_guid");
@@ -810,7 +810,7 @@
   EXPECT_EQ(mojom::SecurityType::kWpaPsk,
             network->type_state->get_wifi()->security);
   EXPECT_EQ(100, network->type_state->get_wifi()->signal_strength);
-  EXPECT_EQ(true, network->type_state->get_wifi()->hidden_ssid);
+  EXPECT_TRUE(network->type_state->get_wifi()->hidden_ssid);
   EXPECT_EQ(mojom::OncSource::kUserPolicy, network->source);
 
   network = GetNetworkState("wifi3_guid");
@@ -1147,7 +1147,7 @@
   EXPECT_EQ(mojom::NetworkType::kEthernet, properties->type);
   EXPECT_EQ(mojom::ConnectionStateType::kOnline, properties->connection_state);
   ASSERT_TRUE(properties->traffic_counter_properties);
-  EXPECT_EQ(false, properties->traffic_counter_properties->auto_reset);
+  EXPECT_FALSE(properties->traffic_counter_properties->auto_reset);
   EXPECT_EQ(static_cast<uint32_t>(1),
             properties->traffic_counter_properties->user_specified_reset_day);
   EXPECT_FALSE(properties->traffic_counter_properties->last_reset_time);
@@ -1168,14 +1168,14 @@
   ASSERT_TRUE(properties->type_properties->is_wifi());
   EXPECT_EQ(50, properties->type_properties->get_wifi()->signal_strength);
   EXPECT_EQ(mojom::OncSource::kNone, properties->source);
-  EXPECT_EQ(false, properties->type_properties->get_wifi()->is_syncable);
+  EXPECT_FALSE(properties->type_properties->get_wifi()->is_syncable);
   ASSERT_TRUE(properties->traffic_counter_properties &&
               properties->traffic_counter_properties->last_reset_time);
   EXPECT_EQ(123456789987654,
             properties->traffic_counter_properties->last_reset_time
                 ->ToDeltaSinceWindowsEpoch()
                 .InMilliseconds());
-  EXPECT_EQ(true, properties->traffic_counter_properties->auto_reset);
+  EXPECT_TRUE(properties->traffic_counter_properties->auto_reset);
   EXPECT_EQ(static_cast<uint32_t>(2),
             properties->traffic_counter_properties->user_specified_reset_day);
 
@@ -1197,8 +1197,8 @@
   EXPECT_EQ(mojom::SecurityType::kWpaPsk, wifi->security);
   EXPECT_EQ(100, wifi->signal_strength);
   EXPECT_EQ(mojom::OncSource::kUserPolicy, properties->source);
-  EXPECT_EQ(false, properties->type_properties->get_wifi()->is_syncable);
-  EXPECT_EQ(false, properties->traffic_counter_properties->auto_reset);
+  EXPECT_FALSE(properties->type_properties->get_wifi()->is_syncable);
+  EXPECT_FALSE(properties->traffic_counter_properties->auto_reset);
   EXPECT_EQ(static_cast<uint32_t>(1),
             properties->traffic_counter_properties->user_specified_reset_day);
 
@@ -1214,8 +1214,8 @@
   EXPECT_EQ(mojom::ConnectionStateType::kNotConnected,
             properties->connection_state);
   EXPECT_EQ(mojom::OncSource::kDevice, properties->source);
-  EXPECT_EQ(false, properties->type_properties->get_wifi()->is_syncable);
-  EXPECT_EQ(false, properties->traffic_counter_properties->auto_reset);
+  EXPECT_FALSE(properties->type_properties->get_wifi()->is_syncable);
+  EXPECT_FALSE(properties->traffic_counter_properties->auto_reset);
   EXPECT_EQ(static_cast<uint32_t>(1),
             properties->traffic_counter_properties->user_specified_reset_day);
 
@@ -1232,8 +1232,8 @@
   EXPECT_EQ(mojom::ConnectionStateType::kNotConnected,
             properties->connection_state);
   EXPECT_EQ(mojom::OncSource::kUser, properties->source);
-  EXPECT_EQ(true, properties->type_properties->get_wifi()->is_syncable);
-  EXPECT_EQ(false, properties->traffic_counter_properties->auto_reset);
+  EXPECT_TRUE(properties->type_properties->get_wifi()->is_syncable);
+  EXPECT_FALSE(properties->traffic_counter_properties->auto_reset);
   EXPECT_EQ(static_cast<uint32_t>(1),
             properties->traffic_counter_properties->user_specified_reset_day);
 
@@ -1916,10 +1916,10 @@
   base::RunLoop().RunUntilIdle();
   mojom::GlobalPolicyPtr policy = GetGlobalPolicy();
   ASSERT_TRUE(policy);
-  EXPECT_EQ(false, policy->allow_cellular_sim_lock);
-  EXPECT_EQ(false, policy->allow_only_policy_cellular_networks);
-  EXPECT_EQ(true, policy->allow_only_policy_networks_to_autoconnect);
-  EXPECT_EQ(false, policy->allow_only_policy_wifi_networks_to_connect);
+  EXPECT_TRUE(policy->allow_cellular_sim_lock);
+  EXPECT_FALSE(policy->allow_only_policy_cellular_networks);
+  EXPECT_TRUE(policy->allow_only_policy_networks_to_autoconnect);
+  EXPECT_FALSE(policy->allow_only_policy_wifi_networks_to_connect);
   EXPECT_EQ(false,
             policy->allow_only_policy_wifi_networks_to_connect_if_available);
   ASSERT_EQ(2u, policy->blocked_hex_ssids.size());
@@ -1933,7 +1933,7 @@
 
   base::DictionaryValue global_config;
   global_config.SetBoolKey(::onc::global_network_config::kAllowCellularSimLock,
-                           true);
+                           false);
   global_config.SetBoolKey(
       ::onc::global_network_config::kAllowOnlyPolicyCellularNetworks, true);
   global_config.SetBoolKey(
@@ -1944,12 +1944,11 @@
   base::RunLoop().RunUntilIdle();
   mojom::GlobalPolicyPtr policy = GetGlobalPolicy();
   ASSERT_TRUE(policy);
-  EXPECT_EQ(true, policy->allow_cellular_sim_lock);
-  EXPECT_EQ(true, policy->allow_only_policy_cellular_networks);
-  EXPECT_EQ(false, policy->allow_only_policy_networks_to_autoconnect);
-  EXPECT_EQ(false, policy->allow_only_policy_wifi_networks_to_connect);
-  EXPECT_EQ(false,
-            policy->allow_only_policy_wifi_networks_to_connect_if_available);
+  EXPECT_FALSE(policy->allow_cellular_sim_lock);
+  EXPECT_TRUE(policy->allow_only_policy_cellular_networks);
+  EXPECT_FALSE(policy->allow_only_policy_networks_to_autoconnect);
+  EXPECT_FALSE(policy->allow_only_policy_wifi_networks_to_connect);
+  EXPECT_FALSE(policy->allow_only_policy_wifi_networks_to_connect_if_available);
   EXPECT_EQ(1, observer()->GetPolicyAppliedCount(/*userhash=*/std::string()));
 }
 
diff --git a/chromeos/services/network_config/public/mojom/cros_network_config.mojom b/chromeos/services/network_config/public/mojom/cros_network_config.mojom
index 1a61e77..d088d503 100644
--- a/chromeos/services/network_config/public/mojom/cros_network_config.mojom
+++ b/chromeos/services/network_config/public/mojom/cros_network_config.mojom
@@ -938,6 +938,7 @@
 
 // Properties provided by GetGlobalPolicy. These properties affect network
 // configuration as a whole instead of individual network configurations.
+// Default values should be explicitly provided for boolean values.
 struct GlobalPolicy {
   // If true, allow PIN locking of SIMs attached to the device.
   // If false, PIN locking is prohibited.
diff --git a/chromeos/system/statistics_provider_impl_unittest.cc b/chromeos/system/statistics_provider_impl_unittest.cc
index 26e3b65d..c3c508e8 100644
--- a/chromeos/system/statistics_provider_impl_unittest.cc
+++ b/chromeos/system/statistics_provider_impl_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "chromeos/system/statistics_provider_impl.h"
 
+#include "ash/constants/ash_switches.h"
 #include "base/files/file.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_temp_dir.h"
@@ -12,6 +13,7 @@
 #include "base/system/sys_info.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_chromeos_version_info.h"
+#include "base/test/scoped_command_line.h"
 #include "base/test/task_environment.h"
 #include "base/time/time.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -645,4 +647,502 @@
                                     /*count=*/0);
 }
 
+// Test that the provider loads correct statistics OEM file if they
+// have correct format.
+TEST_F(StatisticsProviderImplTest, LoadsOemManifest) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  constexpr char kOemManifestStatistics[] = R"({
+    "device_requisition": "device_requisition_value",
+    "not_oem_statistic_key": "not_oem_statistic_value",
+    "enterprise_managed": true,
+    "can_exit_enrollment": true,
+    "keyboard_driven_oobe": true,
+    "not_oem_flag_key": true
+  })";
+
+  const StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_oem_manifest(
+              CreateFileInTempDir(kOemManifestStatistics, temp_dir()))
+          .Build();
+
+  // Load statistics without OEM flag.
+  auto provider =
+      StatisticsProviderImpl::CreateProviderForTesting(testing_sources);
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_FALSE(
+        provider->GetMachineStatistic(kOemDeviceRequisitionKey, &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+
+  {
+    std::string result;
+    EXPECT_FALSE(
+        provider->GetMachineStatistic("not_oem_statistic_key", &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+
+  for (const auto* oem_flag :
+       {kOemIsEnterpriseManagedKey, kOemCanExitEnterpriseEnrollmentKey,
+        kOemKeyboardDrivenOobeKey}) {
+    bool result = false;
+    EXPECT_FALSE(provider->GetMachineFlag(oem_flag, &result));
+    EXPECT_FALSE(result) << "Unexpected value loaded: " << result;
+  }
+
+  {
+    bool result = false;
+    EXPECT_FALSE(provider->GetMachineFlag("not_oem_flag_key", &result));
+    EXPECT_FALSE(result) << "Unexpected value loaded: " << result;
+  }
+
+  // Load statistics with OEM flag.
+  provider = StatisticsProviderImpl::CreateProviderForTesting(testing_sources);
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/true);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(
+        provider->GetMachineStatistic(kOemDeviceRequisitionKey, &result));
+    EXPECT_EQ(result, "device_requisition_value");
+  }
+
+  {
+    std::string result;
+    EXPECT_FALSE(
+        provider->GetMachineStatistic("not_oem_statistic_key", &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+
+  for (const auto* oem_flag :
+       {kOemIsEnterpriseManagedKey, kOemCanExitEnterpriseEnrollmentKey,
+        kOemKeyboardDrivenOobeKey}) {
+    bool result = false;
+    EXPECT_TRUE(provider->GetMachineFlag(oem_flag, &result));
+    EXPECT_TRUE(result);
+  }
+
+  {
+    bool result = false;
+    EXPECT_FALSE(provider->GetMachineFlag("not_oem_flag_key", &result));
+    EXPECT_FALSE(result) << "Unexpected value loaded: " << result;
+  }
+}
+
+// Test that the provider loads prefers OEM manifest file set by command line.
+TEST_F(StatisticsProviderImplTest, LoadsOemManifestFromCommandLine) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  constexpr char kOemManifestStatistics[] = R"({
+    "device_requisition": "device_requisition_value",
+    "not_oem_statistic_key": "not_oem_statistic_value",
+    "enterprise_managed": true,
+    "can_exit_enrollment": true,
+    "keyboard_driven_oobe": true,
+    "not_oem_flag_key": true
+  })";
+
+  constexpr char kOemManifestCommandLineStatistics[] = R"({
+    "device_requisition": "device_requisition_command_line_value",
+    "not_oem_statistic_key": "not_oem_statistic_value",
+    "enterprise_managed": false,
+    "can_exit_enrollment": false,
+    "keyboard_driven_oobe": false,
+    "not_oem_flag_key": true
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_oem_manifest(
+              CreateFileInTempDir(kOemManifestStatistics, temp_dir()))
+          .Build();
+
+  const base::FilePath oem_manifest_filepath_for_commandline =
+      CreateFileInTempDir(kOemManifestCommandLineStatistics, temp_dir());
+
+  base::test::ScopedCommandLine command_line;
+  command_line.GetProcessCommandLine()->AppendSwitchPath(
+      switches::kAppOemManifestFile, oem_manifest_filepath_for_commandline);
+
+  // Load statistics with OEM flag.
+  auto provider = StatisticsProviderImpl::CreateProviderForTesting(
+      std::move(testing_sources));
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/true);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(
+        provider->GetMachineStatistic(kOemDeviceRequisitionKey, &result));
+    EXPECT_EQ(result, "device_requisition_command_line_value");
+  }
+
+  {
+    std::string result;
+    EXPECT_FALSE(
+        provider->GetMachineStatistic("not_oem_statistic_key", &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+
+  for (const auto* oem_flag :
+       {kOemIsEnterpriseManagedKey, kOemCanExitEnterpriseEnrollmentKey,
+        kOemKeyboardDrivenOobeKey}) {
+    bool result = true;
+    EXPECT_TRUE(provider->GetMachineFlag(oem_flag, &result));
+    EXPECT_FALSE(result);
+  }
+
+  {
+    bool result = false;
+    EXPECT_FALSE(provider->GetMachineFlag("not_oem_flag_key", &result));
+    EXPECT_FALSE(result) << "Unexpected value loaded: " << result;
+  }
+}
+
+// Tests that StatisticsProvider skips OEM manifest statistics in non-ChromeOS
+// test environment.
+TEST_F(StatisticsProviderImplTest, DoesNotLoadOemManifestIfNotRunningChromeOS) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(
+      kInvalidLsbReleaseContent, base::Time());
+  ASSERT_FALSE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  constexpr char kOemManifestStatistics[] = R"({
+    "device_requisition": "device_requisition_value",
+    "enterprise_managed": true,
+    "can_exit_enrollment": true,
+    "keyboard_driven_oobe": true,
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_oem_manifest(
+              CreateFileInTempDir(kOemManifestStatistics, temp_dir()))
+          .Build();
+
+  // Load statistics with OEM flag.
+  auto provider = StatisticsProviderImpl::CreateProviderForTesting(
+      std::move(testing_sources));
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/true);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_FALSE(
+        provider->GetMachineStatistic(kOemDeviceRequisitionKey, &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+
+  for (const auto* oem_flag :
+       {kOemIsEnterpriseManagedKey, kOemCanExitEnterpriseEnrollmentKey,
+        kOemKeyboardDrivenOobeKey}) {
+    bool result = false;
+    EXPECT_FALSE(provider->GetMachineFlag(oem_flag, &result));
+    EXPECT_FALSE(result) << "Unexpected value loaded: " << result;
+  }
+}
+
+// Test that the provider loads statistics from regions file if they
+// have correct format.
+TEST_F(StatisticsProviderImplTest, LoadsRegionsFile) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  const std::string kMachineInfoStatistics =
+      base::StringPrintf(kMachineInfoFormat, kRegionKey, "region_value");
+
+  // NOTE: keys in regions JSON are different from the ones that are provided.
+  // See `kInitialLocaleKey` and `kLocalesPath`, and
+  // `GetInitialTimezoneFromRegionalData` for example.
+  constexpr char kRegionsStatistics[] = R"({
+    "region_value": {
+      "locales": ["locale_1", "locale_2", "locale_3"],
+      "keyboards": ["layout_1", "layout_2", "layout_3"],
+      "keyboard_mechanical_layout": "mechanical_layout",
+      "time_zones": ["timezone_1", "timezone_2", "timezone_3"],
+      "non_region_key": "non_region_value"
+    }
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_machine_info(
+              CreateFileInTempDir(kMachineInfoStatistics, temp_dir()))
+          .set_cros_regions(CreateFileInTempDir(kRegionsStatistics, temp_dir()))
+          .Build();
+
+  // Load statistics.
+  auto provider =
+      StatisticsProviderImpl::CreateProviderForTesting(testing_sources);
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kRegionKey, &result));
+    EXPECT_EQ(result, "region_value");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kInitialLocaleKey, &result));
+    EXPECT_EQ(result, "locale_1,locale_2,locale_3");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kKeyboardLayoutKey, &result));
+    EXPECT_EQ(result, "layout_1,layout_2,layout_3");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(
+        provider->GetMachineStatistic(kKeyboardMechanicalLayoutKey, &result));
+    EXPECT_EQ(result, "mechanical_layout");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kInitialTimezoneKey, &result));
+    EXPECT_EQ(result, "timezone_1");
+  }
+
+  {
+    std::string result;
+    EXPECT_FALSE(provider->GetMachineStatistic("non_region_key", &result));
+    EXPECT_TRUE(result.empty()) << "Unexpected value loaded: " << result;
+  }
+}
+
+// Test that the provider loads statistics from regions file from correct region
+// set by command line if statistics have correct format.
+TEST_F(StatisticsProviderImplTest, SetsRegionFromCommandLine) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  const std::string kMachineInfoStatistics =
+      base::StringPrintf(kMachineInfoFormat, kRegionKey, "region_value") +
+      base::StringPrintf(kMachineInfoFormat, kInitialLocaleKey,
+                         "machine_info_locale") +
+      base::StringPrintf(kMachineInfoFormat, kKeyboardLayoutKey,
+                         "machine_info_layout") +
+      base::StringPrintf(kMachineInfoFormat, kKeyboardMechanicalLayoutKey,
+                         "machine_info_mechanical_layout") +
+      base::StringPrintf(kMachineInfoFormat, kInitialTimezoneKey,
+                         "machine_info_mechanical_timezone") +
+      base::StringPrintf(kMachineInfoFormat, "non_region_key",
+                         "machine_info_region_value");
+
+  constexpr char kRegionsStatistics[] = R"({
+    "region_switch": {
+      "locales": ["locale_1", "locale_2", "locale_3"],
+      "keyboards": ["layout_1", "layout_2", "layout_3"],
+      "keyboard_mechanical_layout": "mechanical_layout",
+      "time_zones": ["timezone_1", "timezone_2", "timezone_3"],
+      "non_region_key": "non_region_value"
+    }
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_machine_info(
+              CreateFileInTempDir(kMachineInfoStatistics, temp_dir()))
+          .set_cros_regions(CreateFileInTempDir(kRegionsStatistics, temp_dir()))
+          .Build();
+
+  base::test::ScopedCommandLine command_line;
+  command_line.GetProcessCommandLine()->AppendSwitchASCII(
+      ash::switches::kCrosRegion, "region_switch");
+
+  // Load statistics.
+  auto provider =
+      StatisticsProviderImpl::CreateProviderForTesting(testing_sources);
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kRegionKey, &result));
+    EXPECT_EQ(result, "region_switch");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kInitialLocaleKey, &result));
+    EXPECT_EQ(result, "locale_1,locale_2,locale_3");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kKeyboardLayoutKey, &result));
+    EXPECT_EQ(result, "layout_1,layout_2,layout_3");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(
+        provider->GetMachineStatistic(kKeyboardMechanicalLayoutKey, &result));
+    EXPECT_EQ(result, "mechanical_layout");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kInitialTimezoneKey, &result));
+    EXPECT_EQ(result, "timezone_1");
+  }
+
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic("non_region_key", &result));
+    EXPECT_EQ(result, "machine_info_region_value");
+  }
+}
+
+// Test that the provider does not load region statistics when region file does
+// not exist.
+TEST_F(StatisticsProviderImplTest, DoesNotLoadRegionsFileWhenFileIsMissing) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  const std::string kMachineInfoStatistics =
+      base::StringPrintf(kMachineInfoFormat, kRegionKey, "region_value");
+
+  const base::FilePath kNonExistingRegionsFilepath =
+      temp_dir().GetPath().Append("vpd_does_not_exist");
+  ASSERT_FALSE(base::PathExists(kNonExistingRegionsFilepath));
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_machine_info(
+              CreateFileInTempDir(kMachineInfoStatistics, temp_dir()))
+          .set_cros_regions(kNonExistingRegionsFilepath)
+          .Build();
+
+  // Load statistics.
+  auto provider = StatisticsProviderImpl::CreateProviderForTesting(
+      std::move(testing_sources));
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kRegionKey, &result));
+    EXPECT_EQ(result, "region_value");
+  }
+
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialLocaleKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kKeyboardLayoutKey, nullptr));
+  EXPECT_FALSE(
+      provider->GetMachineStatistic(kKeyboardMechanicalLayoutKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialTimezoneKey, nullptr));
+}
+
+// Test that the provider does not load region statistics when region file has
+// incorrect formatting.
+TEST_F(StatisticsProviderImplTest, DoesNotLoadRegionsFileWhenFileIsMalformed) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  const std::string kMachineInfoStatistics =
+      base::StringPrintf(kMachineInfoFormat, kRegionKey, "region_value");
+
+  constexpr char kRegionsStatistics[] = R"({
+    "region_value": ["list", "is", "not", "a" "dictionary"]
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_machine_info(
+              CreateFileInTempDir(kMachineInfoStatistics, temp_dir()))
+          .set_cros_regions(CreateFileInTempDir(kRegionsStatistics, temp_dir()))
+          .Build();
+
+  // Load statistics.
+  auto provider = StatisticsProviderImpl::CreateProviderForTesting(
+      std::move(testing_sources));
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kRegionKey, &result));
+    EXPECT_EQ(result, "region_value");
+  }
+
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialLocaleKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kKeyboardLayoutKey, nullptr));
+  EXPECT_FALSE(
+      provider->GetMachineStatistic(kKeyboardMechanicalLayoutKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialTimezoneKey, nullptr));
+}
+
+// Test that the provider does not load region statistics when region file does
+// not have correct regions key.
+TEST_F(StatisticsProviderImplTest,
+       DoesNotLoadRegionsFileWhenRegionKeyIsMissing) {
+  base::test::ScopedChromeOSVersionInfo scoped_version_info(kLsbReleaseContent,
+                                                            base::Time());
+  ASSERT_TRUE(base::SysInfo::IsRunningOnChromeOS());
+
+  // Setup provider's sources.
+  const std::string kMachineInfoStatistics =
+      base::StringPrintf(kMachineInfoFormat, kRegionKey, "region_value");
+
+  constexpr char kRegionsStatistics[] = R"({
+    "different_region_value": {
+      "locales": ["locale_1", "locale_2", "locale_3"],
+      "keyboards": ["layout_1", "layout_2", "layout_3"],
+      "keyboard_mechanical_layout": "mechanical_layout",
+      "time_zones": ["timezone_1", "timezone_2", "timezone_3"],
+      "non_region_key": "non_region_value"
+    }
+  })";
+
+  StatisticsProviderImpl::StatisticsSources testing_sources =
+      SourcesBuilder(temp_dir())
+          .set_machine_info(
+              CreateFileInTempDir(kMachineInfoStatistics, temp_dir()))
+          .set_cros_regions(CreateFileInTempDir(kRegionsStatistics, temp_dir()))
+          .Build();
+
+  // Load statistics.
+  auto provider = StatisticsProviderImpl::CreateProviderForTesting(
+      std::move(testing_sources));
+  LoadStatistics(provider.get(), /*load_oem_manifest=*/false);
+
+  // Check statistics.
+  {
+    std::string result;
+    EXPECT_TRUE(provider->GetMachineStatistic(kRegionKey, &result));
+    EXPECT_EQ(result, "region_value");
+  }
+
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialLocaleKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kKeyboardLayoutKey, nullptr));
+  EXPECT_FALSE(
+      provider->GetMachineStatistic(kKeyboardMechanicalLayoutKey, nullptr));
+  EXPECT_FALSE(provider->GetMachineStatistic(kInitialTimezoneKey, nullptr));
+}
+
 }  // namespace chromeos::system
diff --git a/components/app_restore/app_restore_data.cc b/components/app_restore/app_restore_data.cc
index d2e803b..c324448 100644
--- a/components/app_restore/app_restore_data.cc
+++ b/components/app_restore/app_restore_data.cc
@@ -125,12 +125,12 @@
     const base::DictionaryValue& dict) {
   const base::Value* urls_path_value = dict.FindListKey(kUrlsKey);
   if (!urls_path_value || !urls_path_value->is_list() ||
-      urls_path_value->GetListDeprecated().empty()) {
+      urls_path_value->GetList().empty()) {
     return absl::nullopt;
   }
 
   std::vector<GURL> url_paths;
-  for (const auto& item : urls_path_value->GetListDeprecated()) {
+  for (const auto& item : urls_path_value->GetList()) {
     if (item.GetString().empty())
       continue;
     GURL url(item.GetString());
@@ -149,11 +149,11 @@
     const base::DictionaryValue& dict) {
   const base::Value* file_paths_value = dict.FindListKey(kFilePathsKey);
   if (!file_paths_value || !file_paths_value->is_list() ||
-      file_paths_value->GetListDeprecated().empty())
+      file_paths_value->GetList().empty())
     return absl::nullopt;
 
   std::vector<base::FilePath> file_paths;
-  for (const auto& item : file_paths_value->GetListDeprecated()) {
+  for (const auto& item : file_paths_value->GetList()) {
     if (item.GetString().empty())
       continue;
     file_paths.push_back(base::FilePath(item.GetString()));
@@ -168,12 +168,12 @@
                                           const std::string& key_name) {
   const base::Value* size_value = dict.FindListKey(key_name);
   if (!size_value || !size_value->is_list() ||
-      size_value->GetListDeprecated().size() != 2) {
+      size_value->GetList().size() != 2) {
     return absl::nullopt;
   }
 
   std::vector<int> size;
-  for (const auto& item : size_value->GetListDeprecated())
+  for (const auto& item : size_value->GetList())
     size.push_back(item.GetInt());
 
   return gfx::Size(size[0], size[1]);
@@ -185,12 +185,11 @@
     const base::DictionaryValue& dict,
     const std::string& key_name) {
   const base::Value* rect_value = dict.FindListKey(key_name);
-  if (!rect_value || !rect_value->is_list() ||
-      rect_value->GetListDeprecated().empty())
+  if (!rect_value || !rect_value->is_list() || rect_value->GetList().empty())
     return absl::nullopt;
 
   std::vector<int> rect;
-  for (const auto& item : rect_value->GetListDeprecated())
+  for (const auto& item : rect_value->GetList())
     rect.push_back(item.GetInt());
 
   if (rect.size() != 4)
diff --git a/components/autofill/content/renderer/autofill_agent.cc b/components/autofill/content/renderer/autofill_agent.cc
index 4655259..be59e2f 100644
--- a/components/autofill/content/renderer/autofill_agent.cc
+++ b/components/autofill/content/renderer/autofill_agent.cc
@@ -559,12 +559,11 @@
   // If `element_` is null or not focused, Autofill was triggered from another
   // frame. In this case, set `element_` to some form field as if Autofill had
   // been triggered from that field. This is necessary because currently
-  // AutofillAgent relies on the `elemet_` in many places.
+  // AutofillAgent relies on `elemet_` in many places.
   // Note: The `element_` needs to be updated for the new, parameterized
-  // sectioning algorithm regardless of the `query_id`. Otherwise, in some cases
+  // sectioning algorithm regardless the `query_id`. Otherwise,
   // `ReplaceElementIfNowInvalid()` choses the incorrect element as the
   // corresponding element to the `element_`.
-  // TODO(crbug.com/1361395): Delete deprecated query ids.
   if ((base::FeatureList::IsEnabled(
            features::kAutofillUseParameterizedSectioning) ||
        query_id == kCrossFrameFill) &&
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn
index ea3b878..a4ac209a 100644
--- a/components/autofill/core/browser/BUILD.gn
+++ b/components/autofill/core/browser/BUILD.gn
@@ -211,6 +211,8 @@
     "form_structure.h",
     "form_structure_rationalizer.cc",
     "form_structure_rationalizer.h",
+    "form_structure_sectioning_util.cc",
+    "form_structure_sectioning_util.h",
     "form_types.cc",
     "form_types.h",
     "geo/address_i18n.cc",
diff --git a/components/autofill/core/browser/autofill_field.cc b/components/autofill/core/browser/autofill_field.cc
index c4032624..76c0089 100644
--- a/components/autofill/core/browser/autofill_field.cc
+++ b/components/autofill/core/browser/autofill_field.cc
@@ -189,15 +189,11 @@
     believe_server = believe_server && heuristic_type() != NAME_LAST_SECOND &&
                      heuristic_type() != NAME_LAST_FIRST;
 
-    // For new address tokens the heuristic predictions get precedence over
-    // the server predictions.
-    // TODO(crbug.com/1098943): Remove feature check once launched.
-    believe_server =
-        believe_server &&
-        !(base::FeatureList::IsEnabled(
-              features::kAutofillEnableSupportForMoreStructureInAddresses) &&
-          (heuristic_type() == ADDRESS_HOME_STREET_NAME ||
-           heuristic_type() == ADDRESS_HOME_HOUSE_NUMBER));
+    // For structured address tokens the heuristic predictions get precedence
+    // over the server predictions.
+    believe_server = believe_server &&
+                     heuristic_type() != ADDRESS_HOME_STREET_NAME &&
+                     heuristic_type() != ADDRESS_HOME_HOUSE_NUMBER;
 
     // For merchant promo code fields the heuristic predictions get precedence
     // over the server predictions.
diff --git a/components/autofill/core/browser/autofill_merge_unittest.cc b/components/autofill/core/browser/autofill_merge_unittest.cc
index ecebfd9..81c4404 100644
--- a/components/autofill/core/browser/autofill_merge_unittest.cc
+++ b/components/autofill/core/browser/autofill_merge_unittest.cc
@@ -23,7 +23,6 @@
 #include "components/autofill/core/browser/data_model/autofill_profile_comparator.h"
 #include "components/autofill/core/browser/form_data_importer.h"
 #include "components/autofill/core/browser/form_structure.h"
-#include "components/autofill/core/browser/form_structure_test_api.h"
 #include "components/autofill/core/browser/geo/country_names.h"
 #include "components/autofill/core/browser/personal_data_manager.h"
 #include "components/autofill/core/browser/test_autofill_client.h"
@@ -162,10 +161,6 @@
   return result;
 }
 
-FormStructureTestApi test_api(FormStructure* form_structure) {
-  return FormStructureTestApi(form_structure);
-}
-
 }  // namespace
 
 // A data-driven test for verifying merging of Autofill profiles. Each input is
@@ -290,7 +285,6 @@
             StringToFieldType(base::UTF16ToUTF8(field->name));
         field->set_heuristic_type(GetActivePatternSource(), type);
       }
-      test_api(&form_structure).IdentifySections(false);
 
       // Import the profile.
       FormDataImporter::ImportFormDataResult imported_data;
diff --git a/components/autofill/core/browser/data_model/address.cc b/components/autofill/core/browser/data_model/address.cc
index b0c7290..ac2da0a8 100644
--- a/components/autofill/core/browser/data_model/address.cc
+++ b/components/autofill/core/browser/data_model/address.cc
@@ -43,42 +43,22 @@
 bool Address::operator==(const Address& other) const {
   if (this == &other)
     return true;
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    return structured_address_.SameAs(other.structured_address_);
-  }
-
-  return street_address_ == other.street_address_ &&
-         dependent_locality_ == other.dependent_locality_ &&
-         city_ == other.city_ && zip_code_ == other.zip_code_ &&
-         sorting_code_ == other.sorting_code_ &&
-         country_code_ == other.country_code_ && state_ == other.state_ &&
-         street_name_ == other.street_name_ &&
-         dependent_street_name_ == other.dependent_street_name_ &&
-         house_number_ == other.house_number_ &&
-         premise_name_ == other.premise_name_ &&
-         subpremise_ == other.subpremise_;
+  return structured_address_.SameAs(other.structured_address_);
 }
 
 bool Address::FinalizeAfterImport(bool profile_is_verified) {
-  // TODO(crbug.com/1130194): Remove feature check once structured addresses are
-  // fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    structured_address_.MigrateLegacyStructure(profile_is_verified);
-    bool result = structured_address_.CompleteFullTree();
-    // If the address could not be completed, it is possible that it contains an
-    // invalid structure.
-    if (!result) {
-      if (structured_address_.WipeInvalidStructure()) {
-        // If the structure was wiped because it is invalid, try to complete the
-        // address again.
-        result = structured_address_.CompleteFullTree();
-      }
+  structured_address_.MigrateLegacyStructure(profile_is_verified);
+  bool result = structured_address_.CompleteFullTree();
+  // If the address could not be completed, it is possible that it contains an
+  // invalid structure.
+  if (!result) {
+    if (structured_address_.WipeInvalidStructure()) {
+      // If the structure was wiped because it is invalid, try to complete the
+      // address again.
+      result = structured_address_.CompleteFullTree();
     }
-    return result;
   }
-  return true;
+  return result;
 }
 
 bool Address::MergeStructuredAddress(const Address& newer,
@@ -106,213 +86,30 @@
 std::u16string Address::GetRawInfo(ServerFieldType type) const {
   DCHECK_EQ(FieldTypeGroup::kAddressHome, AutofillType(type).group());
 
-  // For structured addresses, the value can be directly retrieved.
-  if (structured_address::StructuredAddressesEnabled())
-    return structured_address_.GetValueForType(type);
-
-  switch (type) {
-    case ADDRESS_HOME_LINE1:
-      return street_address_.size() > 0 ? street_address_[0] : std::u16string();
-
-    case ADDRESS_HOME_LINE2:
-      return street_address_.size() > 1 ? street_address_[1] : std::u16string();
-
-    case ADDRESS_HOME_LINE3:
-      return street_address_.size() > 2 ? street_address_[2] : std::u16string();
-
-    case ADDRESS_HOME_DEPENDENT_LOCALITY:
-      return dependent_locality_;
-
-    case ADDRESS_HOME_CITY:
-      return city_;
-
-    case ADDRESS_HOME_STATE:
-      return state_;
-
-    case ADDRESS_HOME_ZIP:
-      return zip_code_;
-
-    case ADDRESS_HOME_SORTING_CODE:
-      return sorting_code_;
-
-    case ADDRESS_HOME_COUNTRY:
-      return base::ASCIIToUTF16(country_code_);
-
-    case ADDRESS_HOME_STREET_ADDRESS:
-      return base::JoinString(street_address_, u"\n");
-
-    case ADDRESS_HOME_APT_NUM:
-      return std::u16string();
-
-    case ADDRESS_HOME_FLOOR:
-      return std::u16string();
-
-    // The following tokens are used for creating new type votes but should not
-    // be filled into fields.
-    case ADDRESS_HOME_STREET_NAME:
-      return street_name_;
-
-    case ADDRESS_HOME_HOUSE_NUMBER:
-      return house_number_;
-
-    case ADDRESS_HOME_DEPENDENT_STREET_NAME:
-      return dependent_street_name_;
-
-    case ADDRESS_HOME_PREMISE_NAME:
-      return premise_name_;
-
-    case ADDRESS_HOME_SUBPREMISE:
-      return subpremise_;
-
-    case ADDRESS_HOME_ADDRESS:
-    case ADDRESS_HOME_ADDRESS_WITH_NAME:
-      return std::u16string();
-
-    default:
-      NOTREACHED() << "Unrecognized type: " << type;
-      return std::u16string();
-  }
+  return structured_address_.GetValueForType(type);
 }
 
 void Address::SetRawInfoWithVerificationStatus(ServerFieldType type,
                                                const std::u16string& value,
                                                VerificationStatus status) {
   DCHECK_EQ(FieldTypeGroup::kAddressHome, AutofillType(type).group());
-
-  // For structured addresses, the value can directly be set.
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    // The street address has a structure that may have already been set before
-    // using the settings dialog. In case the settings dialog was used to change
-    // the address to contain different tokens, the structure must be reset.
-    if (type == ADDRESS_HOME_STREET_ADDRESS) {
-      const std::u16string current_value =
-          structured_address_.GetValueForType(type);
-      if (!current_value.empty()) {
-        bool token_equivalent = structured_address::AreStringTokenEquivalent(
-            value, structured_address_.GetValueForType(type));
-        structured_address_.SetValueForTypeIfPossible(
-            ADDRESS_HOME_STREET_ADDRESS, value, status,
-            /*invalidate_child_nodes=*/!token_equivalent);
-        return;
-      }
+  // The street address has a structure that may have already been set before
+  // using the settings dialog. In case the settings dialog was used to change
+  // the address to contain different tokens, the structure must be reset.
+  if (type == ADDRESS_HOME_STREET_ADDRESS) {
+    const std::u16string current_value =
+        structured_address_.GetValueForType(type);
+    if (!current_value.empty()) {
+      bool token_equivalent = structured_address::AreStringTokenEquivalent(
+          value, structured_address_.GetValueForType(type));
+      structured_address_.SetValueForTypeIfPossible(
+          ADDRESS_HOME_STREET_ADDRESS, value, status,
+          /*invalidate_child_nodes=*/!token_equivalent);
+      return;
     }
-
-    structured_address_.SetValueForTypeIfPossible(type, value, status);
-    return;
   }
 
-  switch (type) {
-      // If any of the address lines change, the structured tokens must be
-      // reset.
-    case ADDRESS_HOME_LINE1:
-      if (street_address_.empty())
-        street_address_.resize(1);
-      if (street_address_[0] != value)
-        ResetStructuredTokes();
-      street_address_[0] = value;
-      TrimStreetAddress();
-      break;
-
-    case ADDRESS_HOME_LINE2:
-      if (street_address_.size() < 2)
-        street_address_.resize(2);
-      if (street_address_[1] != value)
-        ResetStructuredTokes();
-      street_address_[1] = value;
-      TrimStreetAddress();
-      break;
-
-    case ADDRESS_HOME_LINE3:
-      if (street_address_.size() < 3)
-        street_address_.resize(3);
-      if (street_address_[2] != value)
-        ResetStructuredTokes();
-      street_address_[2] = value;
-      TrimStreetAddress();
-      break;
-
-    case ADDRESS_HOME_DEPENDENT_LOCALITY:
-      dependent_locality_ = value;
-      break;
-
-    case ADDRESS_HOME_CITY:
-      city_ = value;
-      break;
-
-    case ADDRESS_HOME_STATE:
-      state_ = value;
-      break;
-
-    case ADDRESS_HOME_COUNTRY:
-      DCHECK(value.empty() ||
-             data_util::IsValidCountryCode(base::i18n::ToUpper(value)));
-      country_code_ = base::ToUpperASCII(base::UTF16ToASCII(value));
-      break;
-
-    case ADDRESS_HOME_ZIP:
-      zip_code_ = value;
-      break;
-
-    case ADDRESS_HOME_SORTING_CODE:
-      sorting_code_ = value;
-      break;
-
-    case ADDRESS_HOME_STREET_ADDRESS:
-      // If the street address changes, the structured tokens must be reset.
-      if (base::SplitString(value, u"\n", base::TRIM_WHITESPACE,
-                            base::SPLIT_WANT_ALL) != street_address_) {
-        ResetStructuredTokes();
-        street_address_ = base::SplitString(value, u"\n", base::TRIM_WHITESPACE,
-                                            base::SPLIT_WANT_ALL);
-      }
-      break;
-
-    // The following types are used to create type votes but should not be
-    // filled into fields.
-    case ADDRESS_HOME_STREET_NAME:
-      street_name_ = value;
-      break;
-
-    case ADDRESS_HOME_DEPENDENT_STREET_NAME:
-      dependent_street_name_ = value;
-      break;
-
-    case ADDRESS_HOME_HOUSE_NUMBER:
-      house_number_ = value;
-      break;
-
-    case ADDRESS_HOME_PREMISE_NAME:
-      premise_name_ = value;
-      break;
-
-    case ADDRESS_HOME_SUBPREMISE:
-      subpremise_ = value;
-      break;
-
-    // Not implemented for unstructured addresses.
-    case ADDRESS_HOME_APT_NUM:
-      break;
-
-    // Not implemented for unstructured addresses.
-    case ADDRESS_HOME_FLOOR:
-      break;
-
-    case ADDRESS_HOME_ADDRESS:
-      break;
-
-    default:
-      NOTREACHED();
-  }
-}
-
-void Address::ResetStructuredTokes() {
-  street_name_.clear();
-  dependent_street_name_.clear();
-  house_number_.clear();
-  premise_name_.clear();
-  subpremise_.clear();
+  structured_address_.SetValueForTypeIfPossible(type, value, status);
 }
 
 void Address::GetMatchingTypes(const std::u16string& text,
@@ -320,15 +117,8 @@
                                ServerFieldTypeSet* matching_types) const {
   FormGroup::GetMatchingTypes(text, app_locale, matching_types);
 
-  // Get the country code stored in the profile either from the structured
-  // address if enabled or from the legacy field.
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  std::string country_code =
-      structured_address::StructuredAddressesEnabled()
-          ? base::UTF16ToUTF8(
-                structured_address_.GetValueForType(ADDRESS_HOME_COUNTRY))
-          : country_code_;
+  std::string country_code = base::UTF16ToUTF8(
+      structured_address_.GetValueForType(ADDRESS_HOME_COUNTRY));
 
   // Check to see if the |text| canonicalized as a country name is a match.
   std::string entered_country_code =
@@ -370,27 +160,17 @@
   supported_types->insert(ADDRESS_HOME_ZIP);
   supported_types->insert(ADDRESS_HOME_SORTING_CODE);
   supported_types->insert(ADDRESS_HOME_COUNTRY);
-  // If those types are not added, no votes will be generated.
-  if (structured_address::StructuredAddressesEnabled()) {
-    supported_types->insert(ADDRESS_HOME_STREET_NAME);
-    supported_types->insert(ADDRESS_HOME_DEPENDENT_STREET_NAME);
-    supported_types->insert(ADDRESS_HOME_HOUSE_NUMBER);
-    supported_types->insert(ADDRESS_HOME_PREMISE_NAME);
-    supported_types->insert(ADDRESS_HOME_SUBPREMISE);
-  }
+  supported_types->insert(ADDRESS_HOME_STREET_NAME);
+  supported_types->insert(ADDRESS_HOME_DEPENDENT_STREET_NAME);
+  supported_types->insert(ADDRESS_HOME_HOUSE_NUMBER);
+  supported_types->insert(ADDRESS_HOME_PREMISE_NAME);
+  supported_types->insert(ADDRESS_HOME_SUBPREMISE);
 }
 
 std::u16string Address::GetInfoImpl(const AutofillType& type,
                                     const std::string& locale) const {
-  // Get the country code stored in the profile either from the structured
-  // address if enabled or from the legacy field.
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  std::string country_code =
-      structured_address::StructuredAddressesEnabled()
-          ? base::UTF16ToUTF8(
-                structured_address_.GetValueForType(ADDRESS_HOME_COUNTRY))
-          : country_code_;
+  std::string country_code = base::UTF16ToUTF8(
+      structured_address_.GetValueForType(ADDRESS_HOME_COUNTRY));
 
   if (type.html_type() == HtmlFieldType::kCountryCode) {
     return base::ASCIIToUTF16(country_code);
@@ -407,11 +187,6 @@
                                                 const std::u16string& value,
                                                 const std::string& locale,
                                                 VerificationStatus status) {
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  bool use_structured_address =
-      structured_address::StructuredAddressesEnabled();
-
   if (type.html_type() == HtmlFieldType::kCountryCode) {
     std::string country_code = base::ToUpperASCII(base::UTF16ToASCII(value));
     if (!data_util::IsValidCountryCode(country_code)) {
@@ -430,14 +205,8 @@
       }
     }
 
-    // TODO(crbug.com/1130194): Clean legacy implementation once structured
-    // addresses are fully launched.
-    if (use_structured_address) {
-      structured_address_.SetValueForTypeIfPossible(ADDRESS_HOME_COUNTRY,
-                                                    country_code, status);
-    } else {
-      country_code_ = country_code;
-    }
+    structured_address_.SetValueForTypeIfPossible(ADDRESS_HOME_COUNTRY,
+                                                  country_code, status);
     return !country_code.empty();
   }
 
@@ -455,14 +224,8 @@
     base::UmaHistogramEnumeration(
         "Autofill.CountryCodeResolution.WhenSettingCountryName", source);
 
-    // TODO(crbug.com/1130194): Clean legacy implementation once structured
-    // addresses are fully launched.
-    if (use_structured_address) {
-      structured_address_.SetValueForTypeIfPossible(ADDRESS_HOME_COUNTRY,
-                                                    country_code, status);
-    } else {
-      country_code_ = country_code;
-    }
+    structured_address_.SetValueForTypeIfPossible(ADDRESS_HOME_COUNTRY,
+                                                  country_code, status);
     return !GetRawInfo(ADDRESS_HOME_COUNTRY).empty();
   }
 
@@ -472,15 +235,8 @@
   // There's a good chance that this formatting is not intentional, but it's
   // also not obviously safe to just strip the newlines.
   if (storable_type == ADDRESS_HOME_STREET_ADDRESS) {
-    // TODO(crbug.com/1130194): Clean legacy implementation once structured
-    // addresses are fully launched.
-    if (structured_address::StructuredAddressesEnabled()) {
-      return structured_address_.IsValueForTypeValid(
-          ADDRESS_HOME_STREET_ADDRESS, /*wipe_if_not=*/true);
-    } else if (base::Contains(street_address_, std::u16string())) {
-      street_address_.clear();
-      return false;
-    }
+    return structured_address_.IsValueForTypeValid(ADDRESS_HOME_STREET_ADDRESS,
+                                                   /*wipe_if_not=*/true);
   }
 
   return true;
@@ -488,17 +244,7 @@
 
 VerificationStatus Address::GetVerificationStatusImpl(
     ServerFieldType type) const {
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  if (structured_address::StructuredAddressesEnabled())
-    return structured_address_.GetVerificationStatusForType(type);
-  return VerificationStatus::kNoStatus;
-}
-
-void Address::TrimStreetAddress() {
-  while (!street_address_.empty() && street_address_.back().empty()) {
-    street_address_.pop_back();
-  }
+  return structured_address_.GetVerificationStatusForType(type);
 }
 
 }  // namespace autofill
diff --git a/components/autofill/core/browser/data_model/address.h b/components/autofill/core/browser/data_model/address.h
index 9e95aa2..2e59aa3d 100644
--- a/components/autofill/core/browser/data_model/address.h
+++ b/components/autofill/core/browser/data_model/address.h
@@ -36,8 +36,6 @@
                         const std::string& locale,
                         ServerFieldTypeSet* matching_types) const override;
 
-  void ResetStructuredTokes();
-
   // Derives all missing tokens in the structured representation of the address
   // either parsing missing tokens from their assigned parent or by formatting
   // them from their assigned children.
@@ -79,34 +77,6 @@
   structured_address::VerificationStatus GetVerificationStatusImpl(
       ServerFieldType type) const override;
 
-  // Trims any trailing newlines from |street_address_|.
-  void TrimStreetAddress();
-
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  // The lines of the street address.
-  std::vector<std::u16string> street_address_;
-  // A subdivision of city, e.g. inner-city district or suburb.
-  std::u16string dependent_locality_;
-  std::u16string city_;
-  std::u16string state_;
-  std::u16string zip_code_;
-  // Similar to a ZIP code, but used by entities that might not be
-  // geographically contiguous.  The canonical example is CEDEX in France.
-  std::u16string sorting_code_;
-
-  // The following entries are only popluated by Sync and
-  // used to create type votes, but are not used for filling fields.
-  std::u16string street_name_;
-  std::u16string dependent_street_name_;
-  std::u16string house_number_;
-  std::u16string premise_name_;
-  std::u16string subpremise_;
-
-  // The ISO 3166 2-letter country code, or an empty string if there is no
-  // country data specified for this address.
-  std::string country_code_;
-
   // This data structure holds the address information if the structured address
   // feature is enabled.
   structured_address::Address structured_address_;
diff --git a/components/autofill/core/browser/data_model/autofill_profile.cc b/components/autofill/core/browser/data_model/autofill_profile.cc
index 434c806..35633ff 100644
--- a/components/autofill/core/browser/data_model/autofill_profile.cc
+++ b/components/autofill/core/browser/data_model/autofill_profile.cc
@@ -409,6 +409,11 @@
       ADDRESS_HOME_ZIP,
       ADDRESS_HOME_SORTING_CODE,
       ADDRESS_HOME_COUNTRY,
+      ADDRESS_HOME_HOUSE_NUMBER,
+      ADDRESS_HOME_STREET_NAME,
+      ADDRESS_HOME_DEPENDENT_STREET_NAME,
+      ADDRESS_HOME_PREMISE_NAME,
+      ADDRESS_HOME_SUBPREMISE,
       EMAIL_ADDRESS,
       PHONE_HOME_WHOLE_NUMBER,
   };
@@ -418,9 +423,7 @@
     if (comparison != 0) {
       return comparison;
     }
-  }
 
-  for (ServerFieldType type : types) {
     // If the value is empty, the verification status can be ambiguous because
     // the value could be either build from its empty child nodes or parsed
     // from its parent. Therefore, it should not be considered when evaluating
@@ -438,44 +441,6 @@
     }
   }
 
-  // TODO(crbug.com/1130194): Remove feature check once structured addresses are
-  // fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    const ServerFieldType new_types[] = {
-        ADDRESS_HOME_HOUSE_NUMBER,
-        ADDRESS_HOME_STREET_NAME,
-        ADDRESS_HOME_DEPENDENT_STREET_NAME,
-        ADDRESS_HOME_PREMISE_NAME,
-        ADDRESS_HOME_SUBPREMISE,
-    };
-    for (ServerFieldType type : new_types) {
-      int comparison = GetRawInfo(type).compare(profile.GetRawInfo(type));
-      if (comparison != 0) {
-        return comparison;
-      }
-    }
-
-    for (ServerFieldType type : types) {
-      // If the value is empty, the verification status can be ambiguous because
-      // the value could be either build from its empty child nodes or parsed
-      // from its parent. Therefore, it should not be considered when evaluating
-      // the similarity of two profiles.
-      if (profile.GetRawInfo(type).empty())
-        continue;
-
-      if (structured_address::IsLessSignificantVerificationStatus(
-              GetVerificationStatus(type),
-              profile.GetVerificationStatus(type))) {
-        return -1;
-      }
-      if (structured_address::IsLessSignificantVerificationStatus(
-              profile.GetVerificationStatus(type),
-              GetVerificationStatus(type))) {
-        return 1;
-      }
-    }
-  }
-
   return 0;
 }
 
diff --git a/components/autofill/core/browser/data_model/autofill_profile_comparator.cc b/components/autofill/core/browser/data_model/autofill_profile_comparator.cc
index 498f75b..00d559ae 100644
--- a/components/autofill/core/browser/data_model/autofill_profile_comparator.cc
+++ b/components/autofill/core/browser/data_model/autofill_profile_comparator.cc
@@ -7,22 +7,17 @@
 #include <algorithm>
 #include <vector>
 
-#include "base/i18n/case_conversion.h"
 #include "base/i18n/char_iterator.h"
-#include "base/i18n/unicodestring.h"
 #include "base/ranges/algorithm.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversion_utils.h"
 #include "base/strings/utf_string_conversions.h"
-#include "components/autofill/core/browser/address_rewriter.h"
 #include "components/autofill/core/browser/autofill_data_util.h"
 #include "components/autofill/core/browser/data_model/autofill_structured_address_utils.h"
 #include "components/autofill/core/browser/geo/autofill_country.h"
-#include "components/autofill/core/browser/geo/state_names.h"
 #include "components/autofill/core/browser/metrics/autofill_metrics.h"
 #include "components/autofill/core/common/autofill_clock.h"
-#include "components/autofill/core/common/autofill_features.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/libphonenumber/phonenumber_api.h"
 
@@ -35,10 +30,6 @@
 
 constexpr char16_t kSpace[] = u" ";
 
-bool ContainsNewline(base::StringPiece16 text) {
-  return text.find('\n') != base::StringPiece16::npos;
-}
-
 std::ostream& operator<<(std::ostream& os,
                          const ::i18n::phonenumbers::PhoneNumber& n) {
   os << "country_code: " << n.country_code() << " "
@@ -187,14 +178,6 @@
   return iter_.get();
 }
 
-// Copies the address line information and structured tokens from |source| to
-// |target|.
-void CopyAddressLineInformationFromProfile(const AutofillProfile& source,
-                                           Address& target) {
-  target.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS,
-                    source.GetRawInfo(ADDRESS_HOME_STREET_ADDRESS));
-}
-
 // Sorts |profiles| by ranking score.
 void SortProfilesByRankingScore(std::vector<AutofillProfile*>* profiles) {
   base::Time comparison_time = AutofillClock::Now();
@@ -742,240 +725,10 @@
                                                Address& address) const {
   DCHECK(HaveMergeableAddresses(p1, p2));
 
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    // Note that p1 is the newer address. Using p2 as the base.
-    address = p2.GetAddress();
-    return address.MergeStructuredAddress(p1.GetAddress(),
-                                          p2.use_date() < p1.use_date());
-  }
-
-  // One of the countries is empty or they are the same modulo case, so we just
-  // have to find the non-empty one, if any.
-  const AutofillType kCountryCode(HtmlFieldType::kCountryCode,
-                                  HtmlFieldMode::kNone);
-  const std::u16string& country_code =
-      base::i18n::ToUpper(GetNonEmptyOf(p1, p2, kCountryCode));
-  address.SetInfo(kCountryCode, country_code, app_locale_);
-
-  // One of the zip codes is empty, they are the same, or one is a substring
-  // of the other. We prefer the most recently used zip code.
-  const AutofillType kZipCode(ADDRESS_HOME_ZIP);
-  const std::u16string& zip1 = p1.GetInfo(kZipCode, app_locale_);
-  const std::u16string& zip2 = p2.GetInfo(kZipCode, app_locale_);
-  if (zip1.empty()) {
-    address.SetInfo(kZipCode, zip2, app_locale_);
-  } else if (zip2.empty()) {
-    address.SetInfo(kZipCode, zip1, app_locale_);
-  } else {
-    address.SetInfo(kZipCode, (p2.use_date() > p1.use_date() ? zip2 : zip1),
-                    app_locale_);
-  }
-
-  // One of the states is empty or one of the states has a subset of tokens from
-  // the other. Pick the non-empty state that is shorter. This is usually the
-  // abbreviated one.
-  const AutofillType kState(ADDRESS_HOME_STATE);
-  const std::u16string& state1 = p1.GetInfo(kState, app_locale_);
-  const std::u16string& state2 = p2.GetInfo(kState, app_locale_);
-
-  if (base::FeatureList::IsEnabled(
-          features::kAutofillUseAlternativeStateNameMap)) {
-    // Holds information about the state string that is going to be used as the
-    // state value in the merged profile.
-    std::u16string candidate_state = state1;
-
-    // Cases where the |state2| is used as the state value in the merged
-    // profile:
-    //  1. |state1| is empty.
-    //  2. |state2| has the canonical state name present in
-    //       AlternativeStateNameMap and |state1| does not.
-    //  3. |state2.size()| < |state1.size()| and either both or none of them
-    //       have canonical state name present in the AlternativeStateNameMap.
-    if (state1.empty()) {
-      candidate_state = state2;
-    } else if (!state2.empty()) {
-      bool state1_has_canonical_name_present =
-          p1.GetAddress().GetCanonicalizedStateName().has_value();
-      bool state2_has_canonical_name_present =
-          p2.GetAddress().GetCanonicalizedStateName().has_value();
-
-      if ((state2_has_canonical_name_present &&
-           !state1_has_canonical_name_present) ||
-          (state2_has_canonical_name_present ==
-               state1_has_canonical_name_present &&
-           state2.size() < state1.size())) {
-        candidate_state = state2;
-      }
-    }
-
-    address.SetInfo(kState, candidate_state, app_locale_);
-  } else {
-    if (state1.empty()) {
-      address.SetInfo(kState, state2, app_locale_);
-    } else if (state2.empty()) {
-      address.SetInfo(kState, state1, app_locale_);
-    } else {
-      address.SetInfo(kState, (state2.size() < state1.size() ? state2 : state1),
-                      app_locale_);
-    }
-  }
-
-  AddressRewriter rewriter = AddressRewriter::ForCountryCode(country_code);
-
-  // One of the cities is empty or one of the cities has a subset of tokens from
-  // the other. Pick the city name with more tokens; this is usually the most
-  // explicit one.
-  const AutofillType kCity(ADDRESS_HOME_CITY);
-  const std::u16string& city1 = p1.GetInfo(kCity, app_locale_);
-  const std::u16string& city2 = p2.GetInfo(kCity, app_locale_);
-  if (city1.empty()) {
-    address.SetInfo(kCity, city2, app_locale_);
-  } else if (city2.empty()) {
-    address.SetInfo(kCity, city1, app_locale_);
-  } else {
-    // Prefer the one with more tokens, making sure to apply address
-    // normalization and rewriting before doing the comparison.
-    CompareTokensResult result =
-        CompareTokens(rewriter.Rewrite(NormalizeForComparison(city1)),
-                      rewriter.Rewrite(NormalizeForComparison(city2)));
-    switch (result) {
-      case SAME_TOKENS:
-        // They have the same set of unique tokens. Let's pick the more recently
-        // used one.
-        address.SetInfo(kCity, (p2.use_date() > p1.use_date() ? city2 : city1),
-                        app_locale_);
-        break;
-      case S1_CONTAINS_S2:
-        // city1 has more unique tokens than city2.
-        address.SetInfo(kCity, city1, app_locale_);
-        break;
-      case S2_CONTAINS_S1:
-        // city2 has more unique tokens than city1.
-        address.SetInfo(kCity, city2, app_locale_);
-        break;
-      case DIFFERENT_TOKENS:
-      default:
-        // The cities aren't mergeable and we shouldn't be doing any of
-        // this.
-        NOTREACHED() << "Unexpected mismatch: '" << city1 << "' vs '" << city2
-                     << "'";
-        return false;
-    }
-  }
-
-  // One of the dependend localities is empty or one of the localities has a
-  // subset of tokens from the other. Pick the locality name with more tokens;
-  // this is usually the most explicit one.
-  const AutofillType kDependentLocality(ADDRESS_HOME_DEPENDENT_LOCALITY);
-  const std::u16string& locality1 = p1.GetInfo(kDependentLocality, app_locale_);
-  const std::u16string& locality2 = p2.GetInfo(kDependentLocality, app_locale_);
-  if (locality1.empty()) {
-    address.SetInfo(kDependentLocality, locality2, app_locale_);
-  } else if (locality2.empty()) {
-    address.SetInfo(kDependentLocality, locality1, app_locale_);
-  } else {
-    // Prefer the one with more tokens, making sure to apply address
-    // normalization and rewriting before doing the comparison.
-    CompareTokensResult result =
-        CompareTokens(rewriter.Rewrite(NormalizeForComparison(locality1)),
-                      rewriter.Rewrite(NormalizeForComparison(locality2)));
-    switch (result) {
-      case SAME_TOKENS:
-        // They have the same set of unique tokens. Let's pick the more recently
-        // used one.
-        address.SetInfo(kDependentLocality,
-                        (p2.use_date() > p1.use_date() ? locality2 : locality1),
-                        app_locale_);
-        break;
-      case S1_CONTAINS_S2:
-        // locality1 has more unique tokens than locality2.
-        address.SetInfo(kDependentLocality, locality1, app_locale_);
-        break;
-      case S2_CONTAINS_S1:
-        // locality2 has more unique tokens than locality1.
-        address.SetInfo(kDependentLocality, locality2, app_locale_);
-        break;
-      case DIFFERENT_TOKENS:
-      default:
-        // The localities aren't mergeable and we shouldn't be doing any of
-        // this.
-        NOTREACHED() << "Unexpected mismatch: '" << locality1 << "' vs '"
-                     << locality2 << "'";
-        return false;
-    }
-  }
-
-  // One of the sorting codes is empty, they are the same, or one is a substring
-  // of the other. We prefer the most recently used sorting code.
-  const AutofillType kSortingCode(ADDRESS_HOME_SORTING_CODE);
-  const std::u16string& sorting1 = p1.GetInfo(kSortingCode, app_locale_);
-  const std::u16string& sorting2 = p2.GetInfo(kSortingCode, app_locale_);
-  if (sorting1.empty()) {
-    address.SetInfo(kSortingCode, sorting2, app_locale_);
-  } else if (sorting2.empty()) {
-    address.SetInfo(kSortingCode, sorting1, app_locale_);
-  } else {
-    address.SetInfo(kSortingCode,
-                    (p2.use_date() > p1.use_date() ? sorting2 : sorting1),
-                    app_locale_);
-  }
-
-  // One of the addresses is empty or one of the addresses has a subset of
-  // tokens from the other. Prefer the more verbosely expressed one.
-  const AutofillType kStreetAddress(ADDRESS_HOME_STREET_ADDRESS);
-  const std::u16string& address1 = p1.GetInfo(kStreetAddress, app_locale_);
-  const std::u16string& address2 = p2.GetInfo(kStreetAddress, app_locale_);
-  // If one of the addresses is empty then use the other.
-  if (address1.empty()) {
-    CopyAddressLineInformationFromProfile(p2, address);
-  } else if (address2.empty()) {
-    CopyAddressLineInformationFromProfile(p1, address);
-  } else {
-    // Prefer the multi-line address if one is multi-line and the other isn't.
-    bool address1_multiline = ContainsNewline(address1);
-    bool address2_multiline = ContainsNewline(address2);
-    if (address1_multiline && !address2_multiline) {
-      CopyAddressLineInformationFromProfile(p1, address);
-    } else if (address2_multiline && !address1_multiline) {
-      CopyAddressLineInformationFromProfile(p2, address);
-    } else {
-      // Prefer the one with more tokens if they're both single-line or both
-      // multi-line addresses, making sure to apply address normalization and
-      // rewriting before doing the comparison.
-      CompareTokensResult result =
-          CompareTokens(rewriter.Rewrite(NormalizeForComparison(address1)),
-                        rewriter.Rewrite(NormalizeForComparison(address2)));
-      switch (result) {
-        case SAME_TOKENS:
-          // They have the same set of unique tokens. Let's pick the one that's
-          // newer.
-          if (p2.use_date() > p1.use_date()) {
-            CopyAddressLineInformationFromProfile(p2, address);
-          } else {
-            CopyAddressLineInformationFromProfile(p1, address);
-          }
-          break;
-        case S1_CONTAINS_S2:
-          // address1 has more unique tokens than address2.
-          CopyAddressLineInformationFromProfile(p1, address);
-          break;
-        case S2_CONTAINS_S1:
-          // address2 has more unique tokens than address1.
-          CopyAddressLineInformationFromProfile(p2, address);
-          break;
-        case DIFFERENT_TOKENS:
-        default:
-          // The addresses aren't mergeable and we shouldn't be doing any of
-          // this.
-          NOTREACHED() << "Unexpected mismatch: '" << address1 << "' vs '"
-                       << address2 << "'";
-          return false;
-      }
-    }
-  }
-  return true;
+  // Note that p1 is the newer address. Using p2 as the base.
+  address = p2.GetAddress();
+  return address.MergeStructuredAddress(p1.GetAddress(),
+                                        p2.use_date() < p1.use_date());
 }
 
 bool AutofillProfileComparator::MergeBirthdates(const AutofillProfile& p1,
@@ -1296,146 +1049,8 @@
 bool AutofillProfileComparator::HaveMergeableAddresses(
     const AutofillProfile& p1,
     const AutofillProfile& p2) const {
-  // TODO(crbug.com/1130194): Clean legacy implementation once structured
-  // addresses are fully launched.
-  if (structured_address::StructuredAddressesEnabled()) {
-    // Note that p1 is the newer address. Using p2 as the base.
-    return p2.GetAddress().IsStructuredAddressMergeable(p1.GetAddress());
-  }
-
-  // If the address are not in the same country, then they're not the same. If
-  // one of the address countries is unknown/invalid the comparison continues.
-  const AutofillType kCountryCode(HtmlFieldType::kCountryCode,
-                                  HtmlFieldMode::kNone);
-  const std::u16string& country1 = p1.GetInfo(kCountryCode, app_locale_);
-  const std::u16string& country2 = p2.GetInfo(kCountryCode, app_locale_);
-  if (!country1.empty() && !country2.empty() &&
-      !case_insensitive_compare_.StringsEqual(country1, country2)) {
-    return false;
-  }
-
-  // Zip
-  // ----
-  // If the addresses are definitely not in the same zip/area code then we're
-  // done. Otherwise,the comparison continues.
-  const AutofillType kZipCode(ADDRESS_HOME_ZIP);
-  const std::u16string& zip1 = NormalizeForComparison(
-      p1.GetInfo(kZipCode, app_locale_), DISCARD_WHITESPACE);
-  const std::u16string& zip2 = NormalizeForComparison(
-      p2.GetInfo(kZipCode, app_locale_), DISCARD_WHITESPACE);
-  if (!zip1.empty() && !zip2.empty() &&
-      zip1.find(zip2) == std::u16string::npos &&
-      zip2.find(zip1) == std::u16string::npos) {
-    return false;
-  }
-
-  // Use the token rewrite rules for the (common) country of the address to
-  // transform equivalent substrings to a representative token for comparison.
-  AddressRewriter rewriter =
-      AddressRewriter::ForCountryCode(country1.empty() ? country2 : country1);
-
-  // State
-  // ------
-  // When |kAutofillUseAlternativeStateNameMap| is disabled: States are
-  // mergeable if one is a (possibly empty) bag of words subset of the other.
-  //
-  // When |kAutofillUseAlternativeStateNameMap| is enabled: The profiles
-  // w.r.t the state are mergeable if their canonical state names in
-  // AlternativeStateNameMap matches.
-  // In case one of the profile does not have a canonical state name present in
-  // the AlternativeStateNameMap, states are mergeable if one is a bag of words
-  // subset of the other.
-  //
-  // TODO(rogerm): If the match is between non-empty zip codes then we can infer
-  // that the two state strings are intended to have the same meaning. This
-  // handles the cases where we have invalid or poorly formed data in one of the
-  // state values (like "Select one", or "CA - California").
-  const AutofillType kState(ADDRESS_HOME_STATE);
-  bool canonical_state_names_match = false;
-  bool use_alternative_state_name_map_enabled = base::FeatureList::IsEnabled(
-      features::kAutofillUseAlternativeStateNameMap);
-  if (use_alternative_state_name_map_enabled) {
-    absl::optional<AlternativeStateNameMap::CanonicalStateName>
-        canonical_name_state1 = p1.GetAddress().GetCanonicalizedStateName();
-    absl::optional<AlternativeStateNameMap::CanonicalStateName>
-        canonical_name_state2 = p2.GetAddress().GetCanonicalizedStateName();
-    if (canonical_name_state1 && canonical_name_state2) {
-      if (canonical_name_state1.value() == canonical_name_state2.value())
-        canonical_state_names_match = true;
-      else
-        return false;
-    }
-  }
-
-  if (!use_alternative_state_name_map_enabled || !canonical_state_names_match) {
-    std::u16string state1 = rewriter.Rewrite(
-        NormalizeForComparison(p1.GetInfo(kState, app_locale_)));
-    std::u16string state2 = rewriter.Rewrite(
-        NormalizeForComparison(p2.GetInfo(kState, app_locale_)));
-    if (CompareTokens(state1, state2) == DIFFERENT_TOKENS) {
-      return false;
-    }
-  }
-
-  // City
-  // ------
-  // Heuristic: Cities are mergeable if one is a (possibly empty) bag of words
-  // subset of the other.
-  //
-  // TODO(rogerm): If the match is between non-empty zip codes then we can infer
-  // that the two city strings are intended to have the same meaning. This
-  // handles the cases where we have a city vs one of its suburbs.
-  const AutofillType kCity(ADDRESS_HOME_CITY);
-  const std::u16string& city1 =
-      rewriter.Rewrite(NormalizeForComparison(p1.GetInfo(kCity, app_locale_)));
-  const std::u16string& city2 =
-      rewriter.Rewrite(NormalizeForComparison(p2.GetInfo(kCity, app_locale_)));
-  if (CompareTokens(city1, city2) == DIFFERENT_TOKENS) {
-    return false;
-  }
-
-  // Dependent Locality
-  // -------------------
-  // Heuristic: Dependent Localities are mergeable if one is a (possibly empty)
-  // bag of words subset of the other.
-  const AutofillType kDependentLocality(ADDRESS_HOME_DEPENDENT_LOCALITY);
-  const std::u16string& locality1 = rewriter.Rewrite(
-      NormalizeForComparison(p1.GetInfo(kDependentLocality, app_locale_)));
-  const std::u16string& locality2 = rewriter.Rewrite(
-      NormalizeForComparison(p2.GetInfo(kDependentLocality, app_locale_)));
-  if (CompareTokens(locality1, locality2) == DIFFERENT_TOKENS) {
-    return false;
-  }
-
-  // Sorting Code
-  // -------------
-  // Heuristic: Sorting codes are mergeable if one is empty or one is a
-  // substring of the other, post normalization and whitespace removed. This
-  // is similar to postal/zip codes.
-  const AutofillType kSortingCode(ADDRESS_HOME_SORTING_CODE);
-  const std::u16string& sorting1 = NormalizeForComparison(
-      p1.GetInfo(kSortingCode, app_locale_), DISCARD_WHITESPACE);
-  const std::u16string& sorting2 = NormalizeForComparison(
-      p2.GetInfo(kSortingCode, app_locale_), DISCARD_WHITESPACE);
-  if (!sorting1.empty() && !sorting2.empty() &&
-      sorting1.find(sorting2) == std::u16string::npos &&
-      sorting2.find(sorting1) == std::u16string::npos) {
-    return false;
-  }
-
-  // Address
-  // --------
-  // Heuristic: Street addresses are mergeable if one is a (possibly empty) bag
-  // of words subset of the other.
-  const std::u16string& address1 = rewriter.Rewrite(NormalizeForComparison(
-      p1.GetInfo(ADDRESS_HOME_STREET_ADDRESS, app_locale_)));
-  const std::u16string& address2 = rewriter.Rewrite(NormalizeForComparison(
-      p2.GetInfo(ADDRESS_HOME_STREET_ADDRESS, app_locale_)));
-  if (CompareTokens(address1, address2) == DIFFERENT_TOKENS) {
-    return false;
-  }
-
-  return true;
+  // Note that p1 is the newer address. Using p2 as the base.
+  return p2.GetAddress().IsStructuredAddressMergeable(p1.GetAddress());
 }
 
 bool AutofillProfileComparator::HaveMergeableBirthdates(
diff --git a/components/autofill/core/browser/data_model/autofill_profile_unittest.cc b/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
index b3f4be5..688cb03 100644
--- a/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
+++ b/components/autofill/core/browser/data_model/autofill_profile_unittest.cc
@@ -1225,6 +1225,67 @@
   EXPECT_LT(0, b.Compare(a));
 }
 
+// For each structured profile tokens, test the comparison operator for both the
+// value and the status.
+TEST(AutofillProfileTest, Compare_StructuredTypes) {
+  // Those types do store a verification status.
+  ServerFieldTypeSet structured_types{
+      NAME_FULL,
+      NAME_FIRST,
+      NAME_MIDDLE,
+      NAME_LAST,
+      NAME_LAST_FIRST,
+      NAME_LAST_SECOND,
+      NAME_LAST_CONJUNCTION,
+      ADDRESS_HOME_STREET_ADDRESS,
+      ADDRESS_HOME_DEPENDENT_LOCALITY,
+      ADDRESS_HOME_CITY,
+      ADDRESS_HOME_STATE,
+      ADDRESS_HOME_ZIP,
+      ADDRESS_HOME_SORTING_CODE,
+      ADDRESS_HOME_COUNTRY,
+      ADDRESS_HOME_HOUSE_NUMBER,
+      ADDRESS_HOME_STREET_NAME,
+      ADDRESS_HOME_DEPENDENT_STREET_NAME,
+      ADDRESS_HOME_PREMISE_NAME,
+      ADDRESS_HOME_SUBPREMISE,
+  };
+
+  // Those values are legal for all tokens.
+  const std::u16string value1 = u"DE";
+  const std::u16string value2 = u"US";
+
+  const VerificationStatus status1 = VerificationStatus::kObserved;
+  const VerificationStatus status2 = VerificationStatus::kParsed;
+
+  ASSERT_NE(value1, value2);
+  ASSERT_NE(status1, status2);
+
+  for (auto type : structured_types) {
+    // Create two empty profiles to test the tokens individually.
+    AutofillProfile profile1;
+    AutofillProfile profile2;
+
+    SCOPED_TRACE(testing::Message()
+                 << "Testing the Compare method for the type: "
+                 << AutofillType(type).ToString());
+
+    SCOPED_TRACE(testing::Message()
+                 << "Verify the corrext result for identical values");
+    profile1.SetRawInfoWithVerificationStatus(type, value1, status1);
+    profile2.SetRawInfoWithVerificationStatus(type, value1, status1);
+    EXPECT_EQ(profile1.Compare(profile2), 0);
+
+    SCOPED_TRACE(testing::Message() << "Verify the sensitivity to the value");
+    profile2.SetRawInfoWithVerificationStatus(type, value2, status1);
+    EXPECT_NE(profile1.Compare(profile2), 0);
+
+    SCOPED_TRACE(testing::Message() << "Verify the sensitivity to the status");
+    profile2.SetRawInfoWithVerificationStatus(type, value1, status2);
+    EXPECT_NE(profile1.Compare(profile2), 0);
+  }
+}
+
 TEST(AutofillProfileTest, IsPresentButInvalid) {
   AutofillProfile profile(base::GenerateGUID(), test::kEmptyOrigin);
   EXPECT_FALSE(profile.IsPresentButInvalid(ADDRESS_HOME_STATE));
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc b/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
index fdcd50f..386324a 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_utils.cc
@@ -62,11 +62,6 @@
   return status == MATCH;
 }
 
-bool StructuredAddressesEnabled() {
-  return base::FeatureList::IsEnabled(
-      features::kAutofillEnableSupportForMoreStructureInAddresses);
-}
-
 bool HonorificPrefixEnabled() {
   return base::FeatureList::IsEnabled(
       features::kAutofillEnableSupportForHonorificPrefixes);
diff --git a/components/autofill/core/browser/data_model/autofill_structured_address_utils.h b/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
index 232ae58..1f868b5f 100644
--- a/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
+++ b/components/autofill/core/browser/data_model/autofill_structured_address_utils.h
@@ -94,12 +94,6 @@
   MatchQuantifier quantifier = MATCH_REQUIRED;
 };
 
-// Returns true if the structured names feature is enabled.
-bool StructuredNamesEnabled();
-
-// Returns true if the structured address feature is enabled.
-bool StructuredAddressesEnabled();
-
 // Returns true if honorific prefixes are enabled.
 bool HonorificPrefixEnabled();
 
diff --git a/components/autofill/core/browser/data_model/credit_card.cc b/components/autofill/core/browser/data_model/credit_card.cc
index a2cfa013..1509a6af 100644
--- a/components/autofill/core/browser/data_model/credit_card.cc
+++ b/components/autofill/core/browser/data_model/credit_card.cc
@@ -422,7 +422,6 @@
 }
 
 std::u16string CreditCard::GetRawInfo(ServerFieldType type) const {
-  DCHECK_EQ(FieldTypeGroup::kCreditCard, AutofillType(type).group());
   switch (type) {
     case CREDIT_CARD_NAME_FULL:
       return name_on_card_;
diff --git a/components/autofill/core/browser/field_filler_unittest.cc b/components/autofill/core/browser/field_filler_unittest.cc
index 09e71b4..1323b7e 100644
--- a/components/autofill/core/browser/field_filler_unittest.cc
+++ b/components/autofill/core/browser/field_filler_unittest.cc
@@ -1715,145 +1715,88 @@
         FillStateTextTestCase{HtmlFieldType::kAddressLevel1, 3, u"Quebec", u"",
                               false}));
 
-// Tests that the correct option is chosen in the selection box when one of the
-// options exactly matches the phone country code.
-TEST_F(AutofillFieldFillerTest,
-       FillSelectControlPhoneCountryCodeWithExactMatch) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
+// Tests that augment phone country code fields are filled correctly.
+struct FillAugmentedPhoneCountryCodeTestCase {
+  std::vector<const char*> phone_country_code_selection_options;
+  std::u16string phone_home_whole_number_value;
+  std::u16string expected_value;
+};
 
-  std::vector<const char*> kPhoneCountryCode = {"91", "1", "20", "49"};
+class AutofillFillAugmentedPhoneCountryCodeTest
+    : public AutofillFieldFillerTest,
+      public testing::WithParamInterface<
+          FillAugmentedPhoneCountryCodeTestCase> {
+ public:
+  AutofillFillAugmentedPhoneCountryCodeTest() {
+    scoped_feature_list_.InitAndEnableFeature(
+        features::kAutofillEnableAugmentedPhoneCountryCode);
+  }
+
+ private:
+  base::test::ScopedFeatureList scoped_feature_list_;
+};
+
+TEST_P(AutofillFillAugmentedPhoneCountryCodeTest,
+       FillAugmentedPhoneCountryCodeField) {
+  auto test_case = GetParam();
   AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
+  test::CreateTestSelectField(test_case.phone_country_code_selection_options,
+                              &field);
   field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
 
   AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+15145554578");
+  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER,
+                     test_case.phone_home_whole_number_value);
   FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
   filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
                        /*cvc=*/std::u16string(),
                        mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"1", field.value);
+  EXPECT_EQ(field.value, test_case.expected_value);
 }
 
-// Tests that the correct option is chosen in the selection box when the options
-// are preceded by a plus sign and the field is of |PHONE_HOME_COUNTRY_CODE|
-// type.
-TEST_F(AutofillFieldFillerTest,
-       FillSelectControlPhoneCountryCodePrecededByPlus) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
-
-  std::vector<const char*> kPhoneCountryCode = {"+91", "+1", "+20", "+49"};
-  AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
-  field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
-
-  AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+918890888888");
-  FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
-  filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
-                       /*cvc=*/std::u16string(),
-                       mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"+91", field.value);
-}
-
-// Tests that the correct option is chosen in the selection box when the options
-// are preceded by a '00' and the field is of |PHONE_HOME_COUNTRY_CODE|
-// type.
-TEST_F(AutofillFieldFillerTest,
-       FillSelectControlPhoneCountryCodePrecededByDoubleZeros) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
-
-  std::vector<const char*> kPhoneCountryCode = {"0091", "001", "0020", "0049"};
-  AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
-  field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
-
-  AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+918890888888");
-  FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
-  filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
-                       /*cvc=*/std::u16string(),
-                       mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"0091", field.value);
-}
-
-// Tests that the correct option is chosen in the selection box when the options
-// are composed of the country code and the country name.
-TEST_F(AutofillFieldFillerTest, FillSelectControlAugmentedPhoneCountryCode) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
-
-  std::vector<const char*> kPhoneCountryCode = {
-      "Please select an option", "+91 (India)", "+1 (United States)",
-      "+20 (Egypt)", "+49 (Germany)"};
-  AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
-  field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
-
-  AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+49151669087345");
-  FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
-  filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
-                       /*cvc=*/std::u16string(),
-                       mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"+49 (Germany)", field.value);
-}
-
-// Tests that the correct option is chosen in the selection box when the options
-// are composed of the country code having whitespace and the country name.
-TEST_F(AutofillFieldFillerTest,
-       FillSelectControlAugmentedPhoneCountryCodeWithWhiteSpaces) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
-
-  std::vector<const char*> kPhoneCountryCode = {
-      "Please select an option", "(00 91) India", "(00 1) United States",
-      "(00 20) Egypt", "(00 49) Germany"};
-  AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
-  field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
-
-  AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+49151669087345");
-  FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
-  filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
-                       /*cvc=*/std::u16string(),
-                       mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"(00 49) Germany", field.value);
-}
-
-// Tests that the correct option is chosen in the selection box when the options
-// are composed of the country code that is preceded by '00' and the country
-// name.
-TEST_F(AutofillFieldFillerTest,
-       FillSelectControlAugmentedPhoneCountryCodeHavingDoubleZeros) {
-  base::test::ScopedFeatureList enabled;
-  enabled.InitAndEnableFeature(
-      features::kAutofillEnableAugmentedPhoneCountryCode);
-
-  std::vector<const char*> kPhoneCountryCode = {
-      "Please select an option", "(0091) India", "(001) United States",
-      "(0020) Egypt", "(0049) Germany"};
-  AutofillField field;
-  test::CreateTestSelectField(kPhoneCountryCode, &field);
-  field.set_heuristic_type(GetActivePatternSource(), PHONE_HOME_COUNTRY_CODE);
-
-  AutofillProfile address;
-  address.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, u"+49151669087345");
-  FieldFiller filler(/*app_locale=*/"en-US", /*address_normalizer=*/nullptr);
-  filler.FillFormField(field, &address, /*forced_fill_values=*/{}, &field,
-                       /*cvc=*/std::u16string(),
-                       mojom::RendererFormDataAction::kFill);
-  EXPECT_EQ(u"(0049) Germany", field.value);
-}
+INSTANTIATE_TEST_SUITE_P(
+    AutofillFieldFillerTest,
+    AutofillFillAugmentedPhoneCountryCodeTest,
+    testing::Values(
+        // Filling phone country code selection field when one of the options
+        // exactly matches the phone country code.
+        FillAugmentedPhoneCountryCodeTestCase{{"91", "1", "20", "49"},
+                                              u"+15145554578",
+                                              u"1"},
+        // Filling phone country code selection field when the options
+        // are preceded by a plus sign and the field is of
+        // `PHONE_HOME_COUNTRY_CODE` type.
+        FillAugmentedPhoneCountryCodeTestCase{{"+91", "+1", "+20", "+49"},
+                                              u"+918890888888",
+                                              u"+91"},
+        // Filling phone country code selection field when the options
+        // are preceded by a '00' and the field is of `PHONE_HOME_COUNTRY_CODE`
+        // type.
+        FillAugmentedPhoneCountryCodeTestCase{{"0091", "001", "0020", "0049"},
+                                              u"+918890888888",
+                                              u"0091"},
+        // Filling phone country code selection field when the options are
+        // composed of the country code and the country name.
+        FillAugmentedPhoneCountryCodeTestCase{
+            {"Please select an option", "+91 (India)", "+1 (United States)",
+             "+20 (Egypt)", "+49 (Germany)"},
+            u"+49151669087345",
+            u"+49 (Germany)"},
+        // Filling phone country code selection field when the options are
+        // composed of the country code having whitespace and the country name.
+        FillAugmentedPhoneCountryCodeTestCase{
+            {"Please select an option", "(00 91) India", "(00 1) United States",
+             "(00 20) Egypt", "(00 49) Germany"},
+            u"+49151669087345",
+            u"(00 49) Germany"},
+        // Filling phone country code selection field when the options are
+        // composed of the country code that is preceded by '00' and the country
+        // name.
+        FillAugmentedPhoneCountryCodeTestCase{
+            {"Please select an option", "(0091) India", "(001) United States",
+             "(0020) Egypt", "(0049) Germany"},
+            u"+49151669087345",
+            u"(0049) Germany"}));
 
 // Tests that the abbreviated state names are selected correctly.
 TEST_F(AutofillFieldFillerTest, FillSelectAbbreviatedState) {
diff --git a/components/autofill/core/browser/form_data_importer_unittest.cc b/components/autofill/core/browser/form_data_importer_unittest.cc
index 9a63ee6..4ad99d3b 100644
--- a/components/autofill/core/browser/form_data_importer_unittest.cc
+++ b/components/autofill/core/browser/form_data_importer_unittest.cc
@@ -1843,7 +1843,7 @@
   // Start with a verified profile.
   AutofillProfile profile(base::GenerateGUID(), kSettingsOrigin);
   test::SetProfileInfo(&profile, "Marion", "Mitchell", "Morrison",
-                       "johnwayne@me.xyz", "Fox", "123 Zoo St.", "unit 5",
+                       "johnwayne@me.xyz", "Fox", "123 Zoo St.", "",
                        "Hollywood", "CA", "91601", "US", "12345678910");
   EXPECT_TRUE(profile.IsVerified());
 
@@ -4152,7 +4152,7 @@
   const std::vector<AutofillProfile*>& results =
       personal_data_manager_->GetProfiles();
   ASSERT_EQ(1U, results.size());
-  EXPECT_EQ(1, profile.Compare(*results[0]));
+  EXPECT_NE(0, profile.Compare(*results[0]));
   EXPECT_EQ(results[0]->GetRawInfo(NAME_FULL), u"Marion Mitchell Morrison");
   EXPECT_EQ(results[0]->GetRawInfo(NAME_FIRST), u"Marion");
   EXPECT_EQ(results[0]->GetRawInfo(NAME_MIDDLE), u"");
@@ -4213,7 +4213,7 @@
   const std::vector<AutofillProfile*>& results =
       personal_data_manager_->GetProfiles();
   ASSERT_EQ(1U, results.size());
-  EXPECT_EQ(1, profile.Compare(*results[0]));
+  EXPECT_NE(0, profile.Compare(*results[0]));
   EXPECT_EQ(results[0]->GetRawInfo(NAME_FULL), u"Marion Mitchell Morrison");
   EXPECT_EQ(results[0]->GetRawInfo(NAME_FIRST), u"Marion");
   EXPECT_EQ(results[0]->GetRawInfo(NAME_MIDDLE), u"");
diff --git a/components/autofill/core/browser/form_parsing/address_field.cc b/components/autofill/core/browser/form_parsing/address_field.cc
index 2eaebc7..6fc42efe 100644
--- a/components/autofill/core/browser/form_parsing/address_field.cc
+++ b/components/autofill/core/browser/form_parsing/address_field.cc
@@ -248,13 +248,6 @@
   // Search for a sequence of a street name field followed by a house number
   // field. Only if both are found in an abitrary order, the parsing is
   // considered successful.
-
-  // TODO(crbug.com/1125978): Remove once launched.
-  if (!base::FeatureList::IsEnabled(
-          features::kAutofillEnableSupportForMoreStructureInAddresses)) {
-    return false;
-  }
-
   const size_t cursor_position = scanner->CursorPosition();
 
   base::span<const MatchPatternRef> street_name_patterns =
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc
index 61841e4..91eaf04 100644
--- a/components/autofill/core/browser/form_structure.cc
+++ b/components/autofill/core/browser/form_structure.cc
@@ -41,6 +41,7 @@
 #include "components/autofill/core/browser/form_processing/label_processing_util.h"
 #include "components/autofill/core/browser/form_processing/name_processing_util.h"
 #include "components/autofill/core/browser/form_structure_rationalizer.h"
+#include "components/autofill/core/browser/form_structure_sectioning_util.h"
 #include "components/autofill/core/browser/logging/log_manager.h"
 #include "components/autofill/core/browser/metrics/autofill_metrics.h"
 #include "components/autofill/core/browser/metrics/shadow_prediction_metrics.h"
@@ -1604,6 +1605,12 @@
     return;
   }
 
+  if (base::FeatureList::IsEnabled(
+          features::kAutofillUseParameterizedSectioning)) {
+    AssignSections(fields_);
+    return;
+  }
+
   // Use unique local frame tokens of the fields to generate sections.
   base::flat_map<LocalFrameToken, size_t> frame_token_ids;
 
diff --git a/components/autofill/core/browser/form_structure_sectioning_util.cc b/components/autofill/core/browser/form_structure_sectioning_util.cc
new file mode 100644
index 0000000..4e958bf
--- /dev/null
+++ b/components/autofill/core/browser/form_structure_sectioning_util.cc
@@ -0,0 +1,154 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/autofill/core/browser/form_structure_sectioning_util.h"
+
+#include <iterator>
+#include <memory>
+#include <utility>
+
+#include "components/autofill/core/browser/autofill_field.h"
+#include "components/autofill/core/browser/field_types.h"
+
+namespace autofill {
+
+namespace {
+
+bool HaveSeenSimilarType(ServerFieldType type,
+                         const ServerFieldTypeSet& seen_types) {
+  // Forms sometimes have a different format of inputting names in
+  // different sections. If we believe a new name is being entered, assume
+  // it is a new section.
+  ServerFieldTypeSet first_last_name = {NAME_FIRST, NAME_LAST};
+  if ((type == NAME_FULL && seen_types.contains_any(first_last_name)) ||
+      (first_last_name.contains(type) && seen_types.contains(NAME_FULL))) {
+    return true;
+  }
+  return seen_types.count(type) > 0;
+}
+
+// Sectionable fields are all the fields that are in a non-default section.
+// Generally, only focusable fields are assigned a section. As an exception,
+// unfocusable <select> elements get a section, as hidden <select> elements are
+// common in custom select elements.
+bool IsSectionable(const AutofillField& field) {
+  return field.IsFocusable() || field.form_control_type == "select-one";
+}
+
+// Assign all credit card fields without a valid autocomplete attribute section
+// to one, separate section based on the first credit card field.
+void AssignCreditCardSections(
+    base::span<std::unique_ptr<AutofillField>> fields,
+    base::flat_map<LocalFrameToken, size_t>& frame_token_ids) {
+  auto first_cc_field = base::ranges::find_if(
+      fields, [&](const std::unique_ptr<AutofillField>& field) {
+        return field->Type().group() == FieldTypeGroup::kCreditCard &&
+               !field->section;
+      });
+  if (first_cc_field == fields.end())
+    return;
+  Section cc_section =
+      Section::FromFieldIdentifier(**first_cc_field, frame_token_ids);
+  for (const auto& field : fields) {
+    if (field->Type().group() == FieldTypeGroup::kCreditCard && !field->section)
+      field->section = cc_section;
+  }
+}
+
+void AssignAutocompleteSections(
+    base::span<std::unique_ptr<AutofillField>> fields) {
+  for (const auto& field : fields) {
+    if (field->parsed_autocomplete) {
+      Section autocomplete_section = Section::FromAutocomplete(
+          {.section = field->parsed_autocomplete->section,
+           .mode = field->parsed_autocomplete->mode});
+      if (autocomplete_section)
+        field->section = autocomplete_section;
+    }
+  }
+}
+
+void AssignFieldIdentifierSections(
+    base::span<std::unique_ptr<AutofillField>> section,
+    base::flat_map<LocalFrameToken, size_t>& frame_token_ids) {
+  Section s = Section::FromFieldIdentifier(**section.begin(), frame_token_ids);
+  for (const auto& field : section) {
+    if (!field->section && IsSectionable(*field))
+      field->section = s;
+  }
+}
+
+bool ShouldStartNewSection(const ServerFieldTypeSet& seen_types,
+                           const AutofillField& current_field,
+                           const AutofillField& previous_field) {
+  DCHECK(!previous_field.section);
+  DCHECK(seen_types.contains(previous_field.Type().GetStorableType()));
+
+  const ServerFieldType current_type = current_field.Type().GetStorableType();
+  if (current_type == UNKNOWN_TYPE)
+    return false;
+
+  // Some forms have adjacent fields of the same type. Two common examples:
+  //  * Forms with two email fields, where the second is meant to "confirm"
+  //    the first.
+  //  * Forms with a <select> menu for states in some countries, and a freeform
+  //    <input> field for states in other countries. (Usually, only one  of
+  //    these two will be visible for any given choice of country.)
+  // Generally, adjacent fields of the same type belong in the same logical
+  // section.
+  if (current_type == previous_field.Type().GetStorableType()) {
+    return false;
+  }
+
+  // There are many phone number field types and their classification is
+  // generally a little bit off. Furthermore, forms often ask for multiple phone
+  // numbers, e.g. both a daytime and evening phone number.
+  if (AutofillType(current_type).group() == FieldTypeGroup::kPhoneHome)
+    return false;
+
+  return HaveSeenSimilarType(current_type, seen_types);
+}
+
+// Finds the longest prefix of [begin, end) that belongs to the same section,
+// according to `ShouldStartNewSection()`.
+base::span<std::unique_ptr<AutofillField>>::iterator FindEndOfNextSection(
+    base::span<std::unique_ptr<AutofillField>>::iterator begin,
+    base::span<std::unique_ptr<AutofillField>>::iterator end) {
+  // Keeps track of the focusable types we've seen in this section.
+  ServerFieldTypeSet seen_types;
+  // The `prev_field` is from the section whose end we are currently searching.
+  const AutofillField* prev_field = nullptr;
+  for (auto it = begin; it != end; it++) {
+    const AutofillField& field = **it;
+    if (field.section || !IsSectionable(field))
+      continue;
+    if (prev_field && ShouldStartNewSection(seen_types, field, *prev_field))
+      return it;
+    seen_types.insert(field.Type().GetStorableType());
+    prev_field = &field;
+  }
+  return end;
+}
+
+}  // namespace
+
+void AssignSections(base::span<std::unique_ptr<AutofillField>> fields) {
+  for (const auto& field : fields)
+    field->section = Section();
+
+  // Create a unique identifier based on the field for the section.
+  base::flat_map<LocalFrameToken, size_t> frame_token_ids;
+
+  AssignAutocompleteSections(fields);
+  AssignCreditCardSections(fields, frame_token_ids);
+
+  auto begin = fields.begin();
+  while (begin != fields.end()) {
+    auto end = FindEndOfNextSection(begin, fields.end());
+    AssignFieldIdentifierSections({begin, end}, frame_token_ids);
+    begin = end;
+  }
+}
+
+}  // namespace autofill
diff --git a/components/autofill/core/browser/form_structure_sectioning_util.h b/components/autofill/core/browser/form_structure_sectioning_util.h
new file mode 100644
index 0000000..6146eb4
--- /dev/null
+++ b/components/autofill/core/browser/form_structure_sectioning_util.h
@@ -0,0 +1,53 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_SECTIONING_UTIL_H_
+#define COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_SECTIONING_UTIL_H_
+
+#include <memory>
+
+#include "base/containers/span.h"
+#include "components/autofill/core/browser/autofill_field.h"
+
+namespace autofill {
+
+// Sectioning is the process of splitting a form into logical groups (e.g.
+// shipping, billing, credit card section) which are filled separately.
+//
+// After this function has finished, the following conditions hold:
+//  1. Every field with an autocomplete attribute section S is in section S.
+//  2. All credit card fields are in one, distinct section, unless they have a
+//     valid autocomplete attribute section.
+//  3. All other fields that are focusable or <select> fields are partitioned
+//     into intervals, each of which is a section.
+//  4. All remaining fields are in one, distinct section.
+//
+// The basic idea of interval partitioning is to start a new section when the
+// same field type appears repeatedly. See `ShouldStartNewSection()` for the
+// details.
+//
+// The motivation behind the special handling of credit card fields is that
+// credit card forms frequently contain multiple fields of the same type, some
+// of which are invisible. In such cases, repeated field types must not start a
+// new section.
+//
+// Example:
+//   ------------------------------------------------------+-------------------
+//       HTML code                                         |      Section
+//   ------------------------------------------------------+-------------------
+//   Name:      <input id=1>                               | field 1 based
+//   Country:   <input id=2>                               | field 1 based
+//   Name:      <input id=3 autocomplete=”section-A name”> | A
+//   Country:   <input id=4>                               | field 1 based
+//   CC number: <input id=5>                               | field 5 based
+//   CC number: <input id=6 style="display:none">          | field 5 based
+//   Name:      <input id=7>                               | field 7 based
+//   Country:   <input id=8>                               | field 7 based
+//   CC number: <input id=5>                               | field 5 based
+//   ------------------------------------------------------+-------------------
+void AssignSections(base::span<std::unique_ptr<AutofillField>> fields);
+
+}  // namespace autofill
+
+#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_FORM_STRUCTURE_SECTIONING_UTIL_H_
diff --git a/components/autofill/core/browser/form_structure_unittest.cc b/components/autofill/core/browser/form_structure_unittest.cc
index 8ced6b93..1a30f0e 100644
--- a/components/autofill/core/browser/form_structure_unittest.cc
+++ b/components/autofill/core/browser/form_structure_unittest.cc
@@ -1088,6 +1088,14 @@
 // Verify that we can correctly process sections listed in the |autocomplete|
 // attribute.
 TEST_F(FormStructureTestImpl, HeuristicsAutocompleteAttributeWithSections) {
+  // This test tests whether credit card fields are implicitly in one, separate
+  // credit card section, independent of whether they have a valid autocomplete
+  // attribute section. With the new sectioning, credit card fields with a valid
+  // autocomplete attribute section S are in section S.
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(
+      features::kAutofillUseParameterizedSectioning);
+
   FormData form;
   form.url = GURL("http://www.foo.com/");
 
@@ -1241,6 +1249,16 @@
 // local heuristics.
 TEST_F(FormStructureTestImpl,
        HeuristicsDontOverrideAutocompleteAttributeSections) {
+  // With the new sectioning, fields with a valid autocomplete attribute section
+  // S are in section S. All other <input> fields that are focusable are
+  // partitioned into intervals, each of which is a section.
+  // This is different compared to the old behavior which assigns fields without
+  // an autocomplete attribute section to the empty, "-default" section if there
+  // is a field with a valid autocomplete attribute section in the form.
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(
+      features::kAutofillUseParameterizedSectioning);
+
   FormData form;
   form.url = GURL("http://www.foo.com/");
 
diff --git a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
index 2b70e09..4eaaad2d7 100644
--- a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
@@ -1463,7 +1463,12 @@
 // Test that we log the skip decisions for hidden/representational fields
 // correctly.
 TEST_F(AutofillMetricsTest, LogHiddenRepresentationalFieldSkipDecision) {
-  // Create a profile.
+  // The old sectioning algorithm emits several different UKM metrics. Since we
+  // will have various variants of the sectioning algorithm, we don't want to
+  // adjust the expectations for each variant for now.
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndDisableFeature(
+      features::kAutofillUseParameterizedSectioning);
   RecreateProfile(/*is_server=*/false);
 
   FormData form = CreateForm({
diff --git a/components/autofill/core/browser/webdata/autofill_table.cc b/components/autofill/core/browser/webdata/autofill_table.cc
index a0472a11..9d9749ba 100644
--- a/components/autofill/core/browser/webdata/autofill_table.cc
+++ b/components/autofill/core/browser/webdata/autofill_table.cc
@@ -672,58 +672,51 @@
 
 bool AddAutofillProfileAddresses(const AutofillProfile& profile,
                                  sql::Database* db) {
-  // The structured table is only populated if either the full support for
-  // structured addresses is enabled or the creation of address enhancement
-  // votes.
-  if (base::FeatureList::IsEnabled(
-          features::kAutofillEnableSupportForMoreStructureInAddresses)) {
-    sql::Statement s;
-    InsertBuilder(db, s, kAutofillProfileAddressesTable,
-                  {kGuid,
-                   kStreetAddress,
-                   kStreetAddressStatus,
-                   kStreetName,
-                   kStreetNameStatus,
-                   kDependentStreetName,
-                   kDependentStreetNameStatus,
-                   kHouseNumber,
-                   kHouseNumberStatus,
-                   kSubpremise,
-                   kSubpremiseStatus,
-                   kPremiseName,
-                   kPremiseNameStatus,
-                   kDependentLocality,
-                   kDependentLocalityStatus,
-                   kCity,
-                   kCityStatus,
-                   kState,
-                   kStateStatus,
-                   kZipCode,
-                   kZipCodeStatus,
-                   kSortingCode,
-                   kSortingCodeStatus,
-                   kCountryCode,
-                   kCountryCodeStatus,
-                   kApartmentNumber,
-                   kApartmentNumberStatus,
-                   kFloor,
-                   kFloorStatus});
+  sql::Statement s;
+  InsertBuilder(db, s, kAutofillProfileAddressesTable,
+                {kGuid,
+                 kStreetAddress,
+                 kStreetAddressStatus,
+                 kStreetName,
+                 kStreetNameStatus,
+                 kDependentStreetName,
+                 kDependentStreetNameStatus,
+                 kHouseNumber,
+                 kHouseNumberStatus,
+                 kSubpremise,
+                 kSubpremiseStatus,
+                 kPremiseName,
+                 kPremiseNameStatus,
+                 kDependentLocality,
+                 kDependentLocalityStatus,
+                 kCity,
+                 kCityStatus,
+                 kState,
+                 kStateStatus,
+                 kZipCode,
+                 kZipCodeStatus,
+                 kSortingCode,
+                 kSortingCodeStatus,
+                 kCountryCode,
+                 kCountryCodeStatus,
+                 kApartmentNumber,
+                 kApartmentNumberStatus,
+                 kFloor,
+                 kFloorStatus});
 
-    s.BindString(0, profile.guid());
-    int index = 1;
-    for (ServerFieldType type :
-         {ADDRESS_HOME_STREET_ADDRESS, ADDRESS_HOME_STREET_NAME,
-          ADDRESS_HOME_DEPENDENT_STREET_NAME, ADDRESS_HOME_HOUSE_NUMBER,
-          ADDRESS_HOME_SUBPREMISE, ADDRESS_HOME_PREMISE_NAME,
-          ADDRESS_HOME_DEPENDENT_LOCALITY, ADDRESS_HOME_CITY,
-          ADDRESS_HOME_STATE, ADDRESS_HOME_ZIP, ADDRESS_HOME_SORTING_CODE,
-          ADDRESS_HOME_COUNTRY, ADDRESS_HOME_APT_NUM, ADDRESS_HOME_FLOOR}) {
-      s.BindString16(index++, profile.GetRawInfo(type));
-      s.BindInt(index++, profile.GetVerificationStatusInt(type));
-    }
-    return s.Run();
+  s.BindString(0, profile.guid());
+  int index = 1;
+  for (ServerFieldType type :
+       {ADDRESS_HOME_STREET_ADDRESS, ADDRESS_HOME_STREET_NAME,
+        ADDRESS_HOME_DEPENDENT_STREET_NAME, ADDRESS_HOME_HOUSE_NUMBER,
+        ADDRESS_HOME_SUBPREMISE, ADDRESS_HOME_PREMISE_NAME,
+        ADDRESS_HOME_DEPENDENT_LOCALITY, ADDRESS_HOME_CITY, ADDRESS_HOME_STATE,
+        ADDRESS_HOME_ZIP, ADDRESS_HOME_SORTING_CODE, ADDRESS_HOME_COUNTRY,
+        ADDRESS_HOME_APT_NUM, ADDRESS_HOME_FLOOR}) {
+    s.BindString16(index++, profile.GetRawInfo(type));
+    s.BindInt(index++, profile.GetVerificationStatusInt(type));
   }
-  return true;
+  return s.Run();
 }
 
 bool AddAutofillProfileNamesToProfile(sql::Database* db,
@@ -755,10 +748,6 @@
 
 bool AddAutofillProfileAddressesToProfile(sql::Database* db,
                                           AutofillProfile* profile) {
-  if (!base::FeatureList::IsEnabled(
-          features::kAutofillEnableSupportForMoreStructureInAddresses)) {
-    return true;
-  }
   sql::Statement s;
   if (SelectByGuid(db, s, kAutofillProfileAddressesTable,
                    {kGuid,
diff --git a/components/autofill/core/common/autofill_features.cc b/components/autofill/core/common/autofill_features.cc
index 5faaf9a..ed5839d 100644
--- a/components/autofill/core/common/autofill_features.cc
+++ b/components/autofill/core/common/autofill_features.cc
@@ -305,12 +305,6 @@
              "AutofillEnableProfileDeduplication",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
-// Controls if Autofill supports new structure in addresses.
-// TODO(crbug.com/1098943): Remove once launched.
-BASE_FEATURE(kAutofillEnableSupportForMoreStructureInAddresses,
-             "AutofillEnableSupportForMoreStructureInAddresses",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
 // Controls if Autofill supports merging subset names.
 // TODO(crbug.com/1098943): Remove once launched.
 BASE_FEATURE(kAutofillEnableSupportForMergingSubsetNames,
diff --git a/components/autofill/core/common/autofill_features.h b/components/autofill/core/common/autofill_features.h
index bbb22c83..dde5d8b 100644
--- a/components/autofill/core/common/autofill_features.h
+++ b/components/autofill/core/common/autofill_features.h
@@ -111,12 +111,11 @@
 COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillEnableSupportForParsingWithSharedLabels);
 COMPONENT_EXPORT(AUTOFILL)
-BASE_DECLARE_FEATURE(kAutofillEnableSupportForMoreStructureInAddresses);
-COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillEnableSupportForMergingSubsetNames);
 COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillEnableSupportForHonorificPrefixes);
-COMPONENT_EXPORT(AUTOFILL) BASE_DECLARE_FEATURE(kAutofillExtractAllDatalists);
+COMPONENT_EXPORT(AUTOFILL)
+BASE_DECLARE_FEATURE(kAutofillExtractAllDatalists);
 COMPONENT_EXPORT(AUTOFILL)
 BASE_DECLARE_FEATURE(kAutofillEnableSupportForPhoneNumberTrunkTypes);
 COMPONENT_EXPORT(AUTOFILL)
diff --git a/components/autofill/ios/browser/autofill_util.mm b/components/autofill/ios/browser/autofill_util.mm
index 36e3bc4..ffc97f47 100644
--- a/components/autofill/ios/browser/autofill_util.mm
+++ b/components/autofill/ios/browser/autofill_util.mm
@@ -102,7 +102,7 @@
 
   // Iterate through all the extracted forms and copy the data from JSON into
   // BrowserAutofillManager structures.
-  for (const auto& form_dict : forms_value->GetListDeprecated()) {
+  for (const auto& form_dict : forms_value->GetList()) {
     autofill::FormData form;
     if (ExtractFormData(form_dict, filtered, form_name, main_frame_url,
                         frame_origin, &form))
@@ -336,7 +336,7 @@
   if (!ids_value->is_list())
     return false;
 
-  for (const auto& unique_id : ids_value->GetListDeprecated()) {
+  for (const auto& unique_id : ids_value->GetList()) {
     if (!unique_id.is_string())
       return false;
     uint32_t id_num = 0;
diff --git a/components/autofill_assistant/browser/android/client_android.cc b/components/autofill_assistant/browser/android/client_android.cc
index 6f9829ce..d6431db2 100644
--- a/components/autofill_assistant/browser/android/client_android.cc
+++ b/components/autofill_assistant/browser/android/client_android.cc
@@ -563,8 +563,13 @@
   return base::android::GetDefaultLocaleString();
 }
 
-std::string ClientAndroid::GetCountryCode() const {
-  return dependencies_->GetCommonDependencies()->GetCountryCode();
+std::string ClientAndroid::GetLatestCountryCode() const {
+  return dependencies_->GetCommonDependencies()->GetLatestCountryCode();
+}
+
+std::string ClientAndroid::GetStoredPermanentCountryCode() const {
+  return dependencies_->GetCommonDependencies()
+      ->GetStoredPermanentCountryCode();
 }
 
 DeviceContext ClientAndroid::GetDeviceContext() const {
diff --git a/components/autofill_assistant/browser/android/client_android.h b/components/autofill_assistant/browser/android/client_android.h
index e7eb2f6..093a874 100644
--- a/components/autofill_assistant/browser/android/client_android.h
+++ b/components/autofill_assistant/browser/android/client_android.h
@@ -136,7 +136,8 @@
   password_manager::PasswordChangeSuccessTracker*
   GetPasswordChangeSuccessTracker() const override;
   std::string GetLocale() const override;
-  std::string GetCountryCode() const override;
+  std::string GetLatestCountryCode() const override;
+  std::string GetStoredPermanentCountryCode() const override;
   DeviceContext GetDeviceContext() const override;
   bool IsAccessibilityEnabled() const override;
   bool IsSpokenFeedbackAccessibilityServiceEnabled() const override;
diff --git a/components/autofill_assistant/browser/autofill_assistant_impl.cc b/components/autofill_assistant/browser/autofill_assistant_impl.cc
index 0741aeed..bea61c5c 100644
--- a/components/autofill_assistant/browser/autofill_assistant_impl.cc
+++ b/components/autofill_assistant/browser/autofill_assistant_impl.cc
@@ -152,7 +152,7 @@
           {kIntentScriptParameterKey, intent}}};
 
   ClientContextProto client_context;
-  client_context.set_country(dependencies_->GetCountryCode());
+  client_context.set_country(dependencies_->GetLatestCountryCode());
   client_context.set_locale(dependencies_->GetLocale());
   client_context.mutable_chrome()->set_chrome_version(
       version_info::GetProductNameAndVersionForUserAgent());
diff --git a/components/autofill_assistant/browser/autofill_assistant_impl_unittest.cc b/components/autofill_assistant/browser/autofill_assistant_impl_unittest.cc
index 5a7964e..1a39298 100644
--- a/components/autofill_assistant/browser/autofill_assistant_impl_unittest.cc
+++ b/components/autofill_assistant/browser/autofill_assistant_impl_unittest.cc
@@ -28,16 +28,17 @@
 
 const char kScriptServerUrl[] = "https://www.fake.backend.com/script_server";
 
-class AutofillAssistantImpTest : public testing::Test {
+class AutofillAssistantImplTest : public testing::Test {
  public:
-  AutofillAssistantImpTest() {
+  AutofillAssistantImplTest() {
     auto mock_request_sender =
         std::make_unique<NiceMock<MockServiceRequestSender>>();
     mock_request_sender_ = mock_request_sender.get();
 
     auto mock_common_dependencies = std::make_unique<MockCommonDependencies>();
     mock_dependencies_ = mock_common_dependencies.get();
-    ON_CALL(*mock_dependencies_, GetCountryCode).WillByDefault(Return("US"));
+    ON_CALL(*mock_dependencies_, GetLatestCountryCode)
+        .WillByDefault(Return("US"));
     ON_CALL(*mock_dependencies_, GetLocale).WillByDefault(Return("en-US"));
     ON_CALL(*mock_dependencies_, IsSupervisedUser).WillByDefault(Return(false));
 
@@ -48,7 +49,7 @@
         /* browser_context= */ nullptr, std::move(mock_request_sender),
         std::move(mock_common_dependencies), GURL(kScriptServerUrl));
   }
-  ~AutofillAssistantImpTest() override = default;
+  ~AutofillAssistantImplTest() override = default;
 
  protected:
   base::MockCallback<AutofillAssistant::GetCapabilitiesResponseCallback>
@@ -75,7 +76,7 @@
                   rhs.bundle_capabilities_information);
 }
 
-TEST_F(AutofillAssistantImpTest, GetCapabilitiesByHashPrefixEmptyRespose) {
+TEST_F(AutofillAssistantImplTest, GetCapabilitiesByHashPrefixEmptyRespose) {
   EXPECT_CALL(*mock_request_sender_,
               OnSendRequest(GURL(kScriptServerUrl), _, _,
                             RpcType::GET_CAPABILITIES_BY_HASH_PREFIX))
@@ -90,7 +91,7 @@
                                         mock_response_callback_.Get());
 }
 
-TEST_F(AutofillAssistantImpTest, BackendRequestFailed) {
+TEST_F(AutofillAssistantImplTest, BackendRequestFailed) {
   EXPECT_CALL(*mock_request_sender_,
               OnSendRequest(GURL(kScriptServerUrl), _, _,
                             RpcType::GET_CAPABILITIES_BY_HASH_PREFIX))
@@ -105,7 +106,7 @@
                                         mock_response_callback_.Get());
 }
 
-TEST_F(AutofillAssistantImpTest, ParsingError) {
+TEST_F(AutofillAssistantImplTest, ParsingError) {
   EXPECT_CALL(*mock_request_sender_,
               OnSendRequest(GURL(kScriptServerUrl), _, _,
                             RpcType::GET_CAPABILITIES_BY_HASH_PREFIX))
@@ -120,7 +121,7 @@
                                         mock_response_callback_.Get());
 }
 
-TEST_F(AutofillAssistantImpTest, GetCapabilitiesByHashPrefix) {
+TEST_F(AutofillAssistantImplTest, GetCapabilitiesByHashPrefix) {
   GetCapabilitiesByHashPrefixResponseProto proto;
   GetCapabilitiesByHashPrefixResponseProto::MatchInfoProto* match_info =
       proto.add_match_info();
@@ -174,7 +175,7 @@
                                         mock_response_callback_.Get());
 }
 
-TEST_F(AutofillAssistantImpTest,
+TEST_F(AutofillAssistantImplTest,
        GetCapabilitiesByHashPrefixDoesNotExecuteForSupervisedUsers) {
   EXPECT_CALL(*mock_dependencies_, IsSupervisedUser).WillOnce(Return(true));
 
diff --git a/components/autofill_assistant/browser/client.h b/components/autofill_assistant/browser/client.h
index b77be717..8bc204e 100644
--- a/components/autofill_assistant/browser/client.h
+++ b/components/autofill_assistant/browser/client.h
@@ -79,8 +79,11 @@
   // Returns the locale.
   virtual std::string GetLocale() const = 0;
 
-  // Returns the country code.
-  virtual std::string GetCountryCode() const = 0;
+  // Returns the latest country code.
+  virtual std::string GetLatestCountryCode() const = 0;
+
+  // Returns the permanent country code stored for this client.
+  virtual std::string GetStoredPermanentCountryCode() const = 0;
 
   // Returns details about the device.
   virtual DeviceContext GetDeviceContext() const = 0;
diff --git a/components/autofill_assistant/browser/client_context.cc b/components/autofill_assistant/browser/client_context.cc
index 6243e25d..ea816cb 100644
--- a/components/autofill_assistant/browser/client_context.cc
+++ b/components/autofill_assistant/browser/client_context.cc
@@ -16,7 +16,7 @@
   proto_.mutable_chrome()->set_chrome_version(
       version_info::GetProductNameAndVersionForUserAgent());
   proto_.set_locale(client->GetLocale());
-  proto_.set_country(client->GetCountryCode());
+  proto_.set_country(client->GetLatestCountryCode());
 // TODO(crbug.com/1321034): Once PlatformDependencies exist and are exposed to
 // |Client|, move this check to calls of type |client->IsDesktop()|.
 #if BUILDFLAG(IS_ANDROID)
diff --git a/components/autofill_assistant/browser/client_context_unittest.cc b/components/autofill_assistant/browser/client_context_unittest.cc
index 92bcde4..02cfd91 100644
--- a/components/autofill_assistant/browser/client_context_unittest.cc
+++ b/components/autofill_assistant/browser/client_context_unittest.cc
@@ -38,7 +38,7 @@
   device_context_.model.assign("model");
 
   EXPECT_CALL(mock_client_, GetLocale()).WillOnce(Return("de-DE"));
-  EXPECT_CALL(mock_client_, GetCountryCode()).WillOnce(Return("ZZ"));
+  EXPECT_CALL(mock_client_, GetLatestCountryCode()).WillOnce(Return("ZZ"));
   EXPECT_CALL(mock_client_, GetDeviceContext())
       .WillOnce(Return(device_context_));
   EXPECT_CALL(mock_client_, GetWindowSize())
diff --git a/components/autofill_assistant/browser/common_dependencies.h b/components/autofill_assistant/browser/common_dependencies.h
index 9c0bc87..2f86383 100644
--- a/components/autofill_assistant/browser/common_dependencies.h
+++ b/components/autofill_assistant/browser/common_dependencies.h
@@ -52,7 +52,9 @@
 
   virtual std::string GetLocale() const = 0;
 
-  virtual std::string GetCountryCode() const = 0;
+  virtual std::string GetLatestCountryCode() const = 0;
+
+  virtual std::string GetStoredPermanentCountryCode() const = 0;
 
   virtual autofill::PersonalDataManager* GetPersonalDataManager() const = 0;
 
diff --git a/components/autofill_assistant/browser/dependencies_util.cc b/components/autofill_assistant/browser/dependencies_util.cc
index 269d97b..b1e4a49 100644
--- a/components/autofill_assistant/browser/dependencies_util.cc
+++ b/components/autofill_assistant/browser/dependencies_util.cc
@@ -12,7 +12,7 @@
 
 namespace autofill_assistant::dependencies_util {
 
-std::string GetCountryCode(VariationsService* variations_service) {
+std::string GetLatestCountryCode(VariationsService* variations_service) {
   if (!variations_service || variations_service->GetLatestCountry().empty()) {
     // Use fallback "ZZ" if no country is available.
     return "ZZ";
@@ -20,4 +20,14 @@
   return base::ToUpperASCII(variations_service->GetLatestCountry());
 }
 
+std::string GetStoredPermanentCountryCode(
+    variations::VariationsService* variations_service) {
+  if (!variations_service ||
+      variations_service->GetStoredPermanentCountry().empty()) {
+    // Use fallback "ZZ" if no country is available.
+    return "ZZ";
+  }
+  return base::ToUpperASCII(variations_service->GetStoredPermanentCountry());
+}
+
 }  // namespace autofill_assistant::dependencies_util
diff --git a/components/autofill_assistant/browser/dependencies_util.h b/components/autofill_assistant/browser/dependencies_util.h
index d6b1865..407f9cfb 100644
--- a/components/autofill_assistant/browser/dependencies_util.h
+++ b/components/autofill_assistant/browser/dependencies_util.h
@@ -11,7 +11,10 @@
 
 namespace autofill_assistant::dependencies_util {
 
-std::string GetCountryCode(variations::VariationsService* variations_service);
+std::string GetLatestCountryCode(
+    variations::VariationsService* variations_service);
+std::string GetStoredPermanentCountryCode(
+    variations::VariationsService* variations_service);
 
 }  // namespace autofill_assistant::dependencies_util
 
diff --git a/components/autofill_assistant/browser/fake_common_dependencies.cc b/components/autofill_assistant/browser/fake_common_dependencies.cc
index 1d0337ca..bbf1856 100644
--- a/components/autofill_assistant/browser/fake_common_dependencies.cc
+++ b/components/autofill_assistant/browser/fake_common_dependencies.cc
@@ -20,8 +20,12 @@
   return locale_;
 }
 
-std::string FakeCommonDependencies::GetCountryCode() const {
-  return country_code_;
+std::string FakeCommonDependencies::GetLatestCountryCode() const {
+  return latest_country_code_;
+}
+
+std::string FakeCommonDependencies::GetStoredPermanentCountryCode() const {
+  return permanent_country_code_;
 }
 
 autofill::PersonalDataManager* FakeCommonDependencies::GetPersonalDataManager()
diff --git a/components/autofill_assistant/browser/fake_common_dependencies.h b/components/autofill_assistant/browser/fake_common_dependencies.h
index 3d442cad..bf5d6c0 100644
--- a/components/autofill_assistant/browser/fake_common_dependencies.h
+++ b/components/autofill_assistant/browser/fake_common_dependencies.h
@@ -27,7 +27,8 @@
   std::unique_ptr<AssistantFieldTrialUtil> CreateFieldTrialUtil()
       const override;
   std::string GetLocale() const override;
-  std::string GetCountryCode() const override;
+  std::string GetLatestCountryCode() const override;
+  std::string GetStoredPermanentCountryCode() const override;
   autofill::PersonalDataManager* GetPersonalDataManager() const override;
   password_manager::PasswordManagerClient* GetPasswordManagerClient(
       content::WebContents* web_contents) const override;
@@ -45,7 +46,8 @@
 
   // Intentionally public to allow tests direct access.
   std::string locale_;
-  std::string country_code_;
+  std::string latest_country_code_;
+  std::string permanent_country_code_;
   std::string signed_in_email_;
   bool is_supervised_user_ = false;
   bool is_allowed_for_machine_learning_ = true;
diff --git a/components/autofill_assistant/browser/headless/client_headless.cc b/components/autofill_assistant/browser/headless/client_headless.cc
index ff4d934..681ae55 100644
--- a/components/autofill_assistant/browser/headless/client_headless.cc
+++ b/components/autofill_assistant/browser/headless/client_headless.cc
@@ -150,8 +150,12 @@
   return common_dependencies_->GetLocale();
 }
 
-std::string ClientHeadless::GetCountryCode() const {
-  return common_dependencies_->GetCountryCode();
+std::string ClientHeadless::GetLatestCountryCode() const {
+  return common_dependencies_->GetLatestCountryCode();
+}
+
+std::string ClientHeadless::GetStoredPermanentCountryCode() const {
+  return common_dependencies_->GetStoredPermanentCountryCode();
 }
 
 DeviceContext ClientHeadless::GetDeviceContext() const {
diff --git a/components/autofill_assistant/browser/headless/client_headless.h b/components/autofill_assistant/browser/headless/client_headless.h
index 6bce1fc3..16c2fca9 100644
--- a/components/autofill_assistant/browser/headless/client_headless.h
+++ b/components/autofill_assistant/browser/headless/client_headless.h
@@ -70,7 +70,8 @@
   password_manager::PasswordChangeSuccessTracker*
   GetPasswordChangeSuccessTracker() const override;
   std::string GetLocale() const override;
-  std::string GetCountryCode() const override;
+  std::string GetLatestCountryCode() const override;
+  std::string GetStoredPermanentCountryCode() const override;
   DeviceContext GetDeviceContext() const override;
   bool IsAccessibilityEnabled() const override;
   bool IsSpokenFeedbackAccessibilityServiceEnabled() const override;
diff --git a/components/autofill_assistant/browser/mock_client.h b/components/autofill_assistant/browser/mock_client.h
index 4543812..f247fbf 100644
--- a/components/autofill_assistant/browser/mock_client.h
+++ b/components/autofill_assistant/browser/mock_client.h
@@ -35,7 +35,8 @@
       ExtractValuesFromSingleTagXml,
       const std::vector<std::string>(const std::string& xml_string,
                                      const std::vector<std::string>& keys));
-  MOCK_CONST_METHOD0(GetCountryCode, std::string());
+  MOCK_CONST_METHOD0(GetLatestCountryCode, std::string());
+  MOCK_CONST_METHOD0(GetStoredPermanentCountryCode, std::string());
   MOCK_CONST_METHOD0(GetDeviceContext, DeviceContext());
   MOCK_CONST_METHOD0(GetWindowSize, absl::optional<std::pair<int, int>>());
   MOCK_CONST_METHOD0(GetScreenOrientation,
diff --git a/components/autofill_assistant/browser/mock_common_dependencies.h b/components/autofill_assistant/browser/mock_common_dependencies.h
index 6082f1e9..12f7d77 100644
--- a/components/autofill_assistant/browser/mock_common_dependencies.h
+++ b/components/autofill_assistant/browser/mock_common_dependencies.h
@@ -29,7 +29,8 @@
               (),
               (const override));
   MOCK_METHOD(std::string, GetLocale, (), (const override));
-  MOCK_METHOD(std::string, GetCountryCode, (), (const override));
+  MOCK_METHOD(std::string, GetLatestCountryCode, (), (const override));
+  MOCK_METHOD(std::string, GetStoredPermanentCountryCode, (), (const override));
   MOCK_METHOD(autofill::PersonalDataManager*,
               GetPersonalDataManager,
               (),
diff --git a/components/autofill_assistant/browser/starter_heuristic_configs/launched_configs_unittest.cc b/components/autofill_assistant/browser/starter_heuristic_configs/launched_configs_unittest.cc
index a42d8c5..f49065b 100644
--- a/components/autofill_assistant/browser/starter_heuristic_configs/launched_configs_unittest.cc
+++ b/components/autofill_assistant/browser/starter_heuristic_configs/launched_configs_unittest.cc
@@ -55,7 +55,8 @@
               Eq("SHOPPING_ASSISTED_CHECKOUT"));
   EXPECT_THAT(GetOrCreateCouponsConfig()->GetIntent(), Eq("FIND_COUPONS"));
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "us";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "us";
   EXPECT_THAT(GetOrCreateShoppingConfig()->GetConditionSetsForClientState(
                   &fake_platform_delegate_, &context_),
               SizeIs(2));
@@ -63,7 +64,8 @@
                   &fake_platform_delegate_, &context_),
               SizeIs(2));
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "gb";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "gb";
   EXPECT_THAT(GetOrCreateShoppingConfig()->GetConditionSetsForClientState(
                   &fake_platform_delegate_, &context_),
               SizeIs(2));
@@ -71,7 +73,8 @@
                   &fake_platform_delegate_, &context_),
               IsEmpty());
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "ch";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "ch";
   EXPECT_THAT(GetOrCreateShoppingConfig()->GetConditionSetsForClientState(
                   &fake_platform_delegate_, &context_),
               IsEmpty());
@@ -117,7 +120,8 @@
   scoped_feature_list.InitAndEnableFeature(
       features::kAutofillAssistantInCCTTriggering);
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "us";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "us";
 
   // - Must not be a supervised user
   // - Proactive help must be turned on
@@ -141,7 +145,8 @@
   scoped_feature_list.InitAndEnableFeature(
       features::kAutofillAssistantInCCTTriggering);
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "gb";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "gb";
 
   // - Must not be a supervised user
   // - Proactive help must be turned on
@@ -166,7 +171,8 @@
   scoped_feature_list.InitAndEnableFeature(
       features::kAutofillAssistantInCCTTriggering);
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "ch";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "ch";
   EXPECT_THAT(GetOrCreateShoppingConfig()->GetConditionSetsForClientState(
                   &fake_platform_delegate_, &context_),
               IsEmpty());
diff --git a/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config.cc b/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config.cc
index a186114..dd9f44d 100644
--- a/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config.cc
+++ b/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config.cc
@@ -27,8 +27,8 @@
     content::BrowserContext* browser_context) const {
   static const base::NoDestructor<base::Value> empty_list(
       base::Value::Type::LIST);
-  if (!countries_.contains(
-          platform_delegate->GetCommonDependencies()->GetCountryCode())) {
+  if (!countries_.contains(platform_delegate->GetCommonDependencies()
+                               ->GetStoredPermanentCountryCode())) {
     return empty_list->GetList();
   }
 
diff --git a/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config_unittest.cc b/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config_unittest.cc
index eb6eea6..2f18bfa 100644
--- a/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config_unittest.cc
+++ b/components/autofill_assistant/browser/starter_heuristic_configs/launched_starter_heuristic_config_unittest.cc
@@ -103,7 +103,8 @@
       features::kAutofillAssistantInCCTTriggering, kRegularConfig, {"us"}};
 
   SetupForRegularConfig(&fake_platform_delegate_);
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "us";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "us";
 
   EXPECT_THAT(config.GetDenylistedDomains(),
               UnorderedElementsAre("example1.com", "example2.com"));
@@ -129,7 +130,8 @@
       features::kAutofillAssistantInCCTTriggering, kRegularConfig, {"us"}};
 
   SetupForRegularConfig(&fake_platform_delegate_);
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "us";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "us";
 
   EXPECT_THAT(config.GetDenylistedDomains(), IsEmpty());
   EXPECT_THAT(config.GetIntent(), IsEmpty());
@@ -149,12 +151,14 @@
       {"us", "gb"}};
 
   SetupForRegularConfig(&fake_platform_delegate_);
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "ch";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "ch";
   EXPECT_THAT(config.GetConditionSetsForClientState(&fake_platform_delegate_,
                                                     &context_),
               IsEmpty());
 
-  fake_platform_delegate_.fake_common_dependencies_->country_code_ = "gb";
+  fake_platform_delegate_.fake_common_dependencies_->permanent_country_code_ =
+      "gb";
   EXPECT_THAT(config.GetConditionSetsForClientState(&fake_platform_delegate_,
                                                     &context_),
               SizeIs(1));
diff --git a/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator.cc b/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator.cc
index b750cc2..39fc439 100644
--- a/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator.cc
+++ b/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator.cc
@@ -93,7 +93,7 @@
   client_context.set_locale(
       starter_delegate_->GetCommonDependencies()->GetLocale());
   client_context.set_country(
-      starter_delegate_->GetCommonDependencies()->GetCountryCode());
+      starter_delegate_->GetCommonDependencies()->GetLatestCountryCode());
 
   if (ShouldGetTriggerScriptsByHashPrefix()) {
     uint64_t hash_prefix = AutofillAssistant::GetHashPrefix(
diff --git a/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator_unittest.cc b/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator_unittest.cc
index edeb976cf..e3f28f7 100644
--- a/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator_unittest.cc
+++ b/components/autofill_assistant/browser/trigger_scripts/trigger_script_coordinator_unittest.cc
@@ -214,7 +214,8 @@
       });
 
   fake_platform_delegate_.fake_common_dependencies_->locale_.assign("fr-CH");
-  fake_platform_delegate_.fake_common_dependencies_->country_code_.assign("CH");
+  fake_platform_delegate_.fake_common_dependencies_->latest_country_code_
+      .assign("CH");
   coordinator_->Start(GURL(kFakeDeepLink),
                       std::make_unique<TriggerContext>(
                           /* params = */ std::make_unique<ScriptParameters>(
diff --git a/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.cc b/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.cc
index 5677d94..d989c70 100644
--- a/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.cc
+++ b/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.cc
@@ -41,6 +41,10 @@
   UpdateBreadcrumbEventsCrashKey();
 }
 
+void CrashReporterBreadcrumbObserver::ResetForTesting() {
+  breadcrumbs_.clear();
+}
+
 void CrashReporterBreadcrumbObserver::EventAdded(BreadcrumbManager* manager,
                                                  const std::string& event) {
   breadcrumbs_.push_back(event);
diff --git a/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h b/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h
index e7460cedc..c606ebc 100644
--- a/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h
+++ b/components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h
@@ -13,8 +13,6 @@
 #include "components/breadcrumbs/core/breadcrumb_manager.h"
 #include "components/breadcrumbs/core/breadcrumb_manager_observer.h"
 
-class CrashReporterBreadcrumbObserverTest;
-
 namespace breadcrumbs {
 
 // Key for breadcrumbs attached to crash reports.
@@ -33,9 +31,11 @@
   // adds them to the start of the breadcrumbs log.
   void SetPreviousSessionEvents(const std::vector<std::string>& events);
 
+  // Removes all events.
+  void ResetForTesting();
+
  private:
   friend base::NoDestructor<CrashReporterBreadcrumbObserver>;
-  friend class ::CrashReporterBreadcrumbObserverTest;
 
   CrashReporterBreadcrumbObserver();
   ~CrashReporterBreadcrumbObserver() override;
diff --git a/components/browser_ui/site_settings/android/java/res/xml/grouped_websites_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/grouped_websites_preferences.xml
index d2cb250f..74a7565 100644
--- a/components/browser_ui/site_settings/android/java/res/xml/grouped_websites_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/grouped_websites_preferences.xml
@@ -23,6 +23,11 @@
         android:negativeButtonText="@string/cancel"
         android:widgetLayout="@layout/clear_storage" />
     <PreferenceCategory
+        android:key="related_sites_header"
+        android:title="@string/website_settings_related_sites" />
+    <org.chromium.components.browser_ui.settings.TextMessagePreference
+        android:key="related_sites" />
+    <PreferenceCategory
         android:key="sites_in_group" />
     <org.chromium.components.browser_ui.settings.ButtonPreference
         android:key="reset_site_button"
diff --git a/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
index 45f5828..edcb9a9 100644
--- a/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
@@ -45,6 +45,11 @@
         android:negativeButtonText="@string/cancel"
         android:widgetLayout="@layout/clear_storage" />
     <PreferenceCategory
+        android:key="related_sites_header"
+        android:title="@string/website_settings_related_sites" />
+    <org.chromium.components.browser_ui.settings.TextMessagePreference
+        android:key="related_sites" />
+    <PreferenceCategory
         android:key="site_permissions"
         android:title="@string/website_settings_permissions_category" />
 
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/GroupedWebsitesSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/GroupedWebsitesSettings.java
index 73f001f..8b21d4e1 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/GroupedWebsitesSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/GroupedWebsitesSettings.java
@@ -1,4 +1,4 @@
-// Copyright 2022 The Chromium Authors
+// Copyright 2022 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -12,6 +12,7 @@
 import androidx.preference.PreferenceCategory;
 
 import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.components.browser_ui.settings.TextMessagePreference;
 
 /**
  * Shows the permissions and other settings for a group of websites.
@@ -22,6 +23,8 @@
     // Preference keys, see grouped_websites_preferences.xml.
     public static final String PREF_SITE_TITLE = "site_title";
     public static final String PREF_CLEAR_DATA = "clear_data";
+    public static final String PREF_RELATED_SITES_HEADER = "related_sites_header";
+    public static final String PREF_RELATED_SITES = "related_sites";
     public static final String PREF_SITES_IN_GROUP = "sites_in_group";
 
     private WebsiteGroup mSiteGroup;
@@ -63,6 +66,7 @@
                         getContext().getString(R.string.domain_settings_sites_in_group,
                                 mSiteGroup.getDomainAndRegistry())));
         setUpClearDataPreference();
+        setupRelatedSitesPreferences();
         updateSitesInGroup();
     }
 
@@ -91,6 +95,30 @@
             getPreferenceScreen().removePreference(preference);
         }
     }
+    private void setupRelatedSitesPreferences() {
+        var relatedSitesHeader = findPreference(PREF_RELATED_SITES_HEADER);
+        TextMessagePreference relatedSitesText = findPreference(PREF_RELATED_SITES);
+        boolean shouldRelatedSitesPrefBeVisible =
+                getSiteSettingsDelegate().isPrivacySandboxFirstPartySetsUIFeatureEnabled()
+                && getSiteSettingsDelegate().isFirstPartySetsDataAccessEnabled()
+                && mSiteGroup.getFPSInfo() != null;
+        relatedSitesHeader.setVisible(shouldRelatedSitesPrefBeVisible);
+        relatedSitesText.setVisible(shouldRelatedSitesPrefBeVisible);
+
+        if (shouldRelatedSitesPrefBeVisible) {
+            var fpsInfo = mSiteGroup.getFPSInfo();
+            relatedSitesText.setTitle(getContext().getString(R.string.allsites_fps_summary,
+                    Integer.toString(fpsInfo.getMembersCount()), fpsInfo.getOwner(),
+                    mSiteGroup.getDomainAndRegistry()));
+            relatedSitesText.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate(
+                    getSiteSettingsDelegate().getManagedPreferenceDelegate()) {
+                @Override
+                public boolean isPreferenceControlledByPolicy(Preference preference) {
+                    return getSiteSettingsDelegate().isFirstPartySetsDataAccessManaged();
+                }
+            });
+        }
+    }
 
     private void updateSitesInGroup() {
         PreferenceCategory category = findPreference(PREF_SITES_IN_GROUP);
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
index 3bc903b..943ac6d 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/SingleWebsiteSettings.java
@@ -32,6 +32,7 @@
 import org.chromium.components.browser_ui.settings.ChromeSwitchPreference;
 import org.chromium.components.browser_ui.settings.ManagedPreferencesUtils;
 import org.chromium.components.browser_ui.settings.SettingsUtils;
+import org.chromium.components.browser_ui.settings.TextMessagePreference;
 import org.chromium.components.content_settings.ContentSettingValues;
 import org.chromium.components.content_settings.ContentSettingsType;
 import org.chromium.components.embedder_support.util.Origin;
@@ -83,6 +84,8 @@
     public static final String PREF_SITE_HEADING = "site_heading";
     public static final String PREF_SITE_TITLE = "site_title";
     public static final String PREF_USAGE = "site_usage";
+    public static final String PREF_RELATED_SITES_HEADER = "related_sites_header";
+    public static final String PREF_RELATED_SITES = "related_sites";
     public static final String PREF_PERMISSIONS_HEADER = "site_permissions";
     public static final String PREF_OS_PERMISSIONS_WARNING = "os_permissions_warning";
     public static final String PREF_OS_PERMISSIONS_WARNING_EXTRA = "os_permissions_warning_extra";
@@ -170,6 +173,8 @@
             PREF_SITE_HEADING,
             PREF_SITE_TITLE,
             PREF_USAGE,
+            PREF_RELATED_SITES_HEADER,
+            PREF_RELATED_SITES,
             PREF_PERMISSIONS_HEADER,
             PREF_CLEAR_DATA,
     };
@@ -462,6 +467,7 @@
         setupResetSitePreference();
         setUpClearDataPreference();
         setUpOsWarningPreferences();
+        setupRelatedSitesPreferences();
 
         setUpAdsInformationalBanner();
 
@@ -815,6 +821,31 @@
         }
     }
 
+    private void setupRelatedSitesPreferences() {
+        var relatedSitesHeader = findPreference(PREF_RELATED_SITES_HEADER);
+        TextMessagePreference relatedSitesText = findPreference(PREF_RELATED_SITES);
+        boolean shouldRelatedSitesPrefBeVisible =
+                getSiteSettingsDelegate().isPrivacySandboxFirstPartySetsUIFeatureEnabled()
+                && getSiteSettingsDelegate().isFirstPartySetsDataAccessEnabled()
+                && mSite.getFPSCookieInfo() != null;
+        relatedSitesHeader.setVisible(shouldRelatedSitesPrefBeVisible);
+        relatedSitesText.setVisible(shouldRelatedSitesPrefBeVisible);
+
+        if (shouldRelatedSitesPrefBeVisible) {
+            var fpsInfo = mSite.getFPSCookieInfo();
+            relatedSitesText.setTitle(getContext().getString(R.string.allsites_fps_summary,
+                    Integer.toString(fpsInfo.getMembersCount()), fpsInfo.getOwner(),
+                    mSite.getAddress().getDomainAndRegistry()));
+            relatedSitesText.setManagedPreferenceDelegate(new ForwardingManagedPreferenceDelegate(
+                    getSiteSettingsDelegate().getManagedPreferenceDelegate()) {
+                @Override
+                public boolean isPreferenceControlledByPolicy(Preference preference) {
+                    return getSiteSettingsDelegate().isFirstPartySetsDataAccessManaged();
+                }
+            });
+        }
+    }
+
     private void setUpAdsInformationalBanner() {
         // Add the informational banner which shows at the top of the UI if ad blocking is
         // activated on this site.
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsiteGroup.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsiteGroup.java
index 8853faa5..2c1cdd2 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsiteGroup.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsiteGroup.java
@@ -23,6 +23,8 @@
     private final List<Website> mWebsites;
     // Total storage taken up by all the stored websites.
     private final long mTotalUsage;
+    // First Party Sets info relative to the eTLD+1.
+    private FPSCookieInfo mFPSInfo;
 
     /**
      * Groups the websites by eTLD+1.
@@ -61,6 +63,9 @@
         for (Website website : websites) {
             totalUsage += website.getTotalUsage();
         }
+        if (websites.size() > 0) {
+            mFPSInfo = websites.get(0).getFPSCookieInfo();
+        }
         mTotalUsage = totalUsage;
     }
 
@@ -97,6 +102,10 @@
         return false;
     }
 
+    public FPSCookieInfo getFPSInfo() {
+        return mFPSInfo;
+    }
+
     public String getDomainAndRegistry() {
         return mDomainAndRegistry;
     }
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
index a3271a7..d71a03e 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePermissionsFetcher.java
@@ -117,9 +117,6 @@
         }
     }
 
-    // This map looks up Websites by their origin and embedder.
-    private final Map<OriginAndEmbedder, Website> mSites = new HashMap<>();
-
     private final boolean mFetchSiteImportantInfo;
 
     public WebsitePermissionsFetcher(BrowserContextHandle browserContextHandle) {
@@ -142,23 +139,10 @@
      * sites from the same origin as that of |url| - https://crbug.com/459222.
      * @param callback The callback to run when the fetch is complete.
      *
-     * NB: you should call either this method or {@link #fetchPreferencesForCategory} only once per
-     * instance.
      */
     public void fetchAllPreferences(WebsitePermissionsCallback callback) {
-        TaskQueue queue = new TaskQueue();
-
-        addAllFetchers(queue);
-
-        queue.add(new PermissionsAvailableCallbackRunner(callback));
-        queue.next();
-    }
-
-    private void addAllFetchers(TaskQueue queue) {
-        addFetcherForStorage(queue);
-        for (@ContentSettingsType int type = 0; type < ContentSettingsType.NUM_TYPES; type++) {
-            addFetcherForContentSettingsType(queue, type);
-        }
+        var fetcherInternal = new WebsitePermissionFetcherInternal();
+        fetcherInternal.fetchAllPreferences(callback);
     }
 
     /**
@@ -167,349 +151,407 @@
      * @param category A category to fetch.
      * @param callback The callback to run when the fetch is complete.
      *
-     * NB: you should call either this method or {@link #fetchAllPreferences} only once per
-     * instance.
      */
     public void fetchPreferencesForCategory(
             SiteSettingsCategory category, WebsitePermissionsCallback callback) {
-        TaskQueue queue = createFetchersForCategory(category);
-
-        queue.add(new PermissionsAvailableCallbackRunner(callback));
-        queue.next();
-    }
-
-    @NonNull
-    private TaskQueue createFetchersForCategory(SiteSettingsCategory category) {
-        TaskQueue queue = new TaskQueue();
-
-        if (category.getType() == SiteSettingsCategory.Type.ALL_SITES) {
-            addAllFetchers(queue);
-        } else if (category.getType() == SiteSettingsCategory.Type.USE_STORAGE) {
-            addFetcherForStorage(queue);
-        } else {
-            assert getPermissionsType(category.getContentSettingsType()) != null;
-            addFetcherForContentSettingsType(queue, category.getContentSettingsType());
-        }
-        return queue;
+        var fetcherInternal = new WebsitePermissionFetcherInternal();
+        fetcherInternal.fetchPreferencesForCategory(category, callback);
     }
 
     /**
-     * Fetches all preferences within a specific category and populates them with First Party Sets
-     * info.
+     * Fetches all preferences within a specific category and populates them with First Party
+     * Sets info.
      *
      * @param siteSettingsDelegate Delegate needed for fetching First Party Sets info.
      * @param category A category to fetch.
      * @param callback The callback to run when the fetch is complete.
      *
-     * NB: you should call either this method or {@link #fetchAllPreferences} or {@link
-     * #fetchPreferencesForCategory} only once per instance.
      */
     public void fetchPreferencesForCategoryAndPopulateFpsInfo(
             SiteSettingsDelegate siteSettingsDelegate, SiteSettingsCategory category,
             WebsitePermissionsCallback callback) {
-        TaskQueue queue = createFetchersForCategory(category);
-        queue.add(new FirstPartySetsInfoFetcher(siteSettingsDelegate));
-
-        queue.add(new PermissionsAvailableCallbackRunner(callback));
-        queue.next();
-    }
-
-    private void addFetcherForStorage(TaskQueue queue) {
-        // Local storage info is per-origin.
-        queue.add(new LocalStorageInfoFetcher());
-        // Website storage is per-host.
-        queue.add(new WebStorageInfoFetcher());
-    }
-
-    private void addFetcherForContentSettingsType(
-            TaskQueue queue, @ContentSettingsType int contentSettingsType) {
-        WebsitePermissionsType websitePermissionsType = getPermissionsType(contentSettingsType);
-        if (websitePermissionsType == null) {
-            return;
-        }
-
-        // Remove this check after the flag is removed.
-        // The Bluetooth Scanning permission controls access to the Web Bluetooth
-        // Scanning API, which enables sites to scan for and receive events for
-        // advertisement packets received from nearby Bluetooth devices.
-        if (contentSettingsType == ContentSettingsType.BLUETOOTH_SCANNING) {
-            CommandLine commandLine = CommandLine.getInstance();
-            if (!commandLine.hasSwitch(ContentSwitches.ENABLE_EXPERIMENTAL_WEB_PLATFORM_FEATURES)) {
-                return;
-            }
-        }
-
-        // Remove this check after the flag is removed.
-        if (contentSettingsType == ContentSettingsType.NFC
-                && !ContentFeatureList.isEnabled(ContentFeatureList.WEB_NFC)) {
-            return;
-        }
-
-        // The Bluetooth guard permission controls access to the Web Bluetooth
-        // API, which enables sites to request access to connect to specific
-        // Bluetooth devices. Users are presented with a chooser prompt in which
-        // they must select the Bluetooth device that they would like to allow
-        // the site to connect to. Therefore, this permission also displays a
-        // list of permitted Bluetooth devices that each site can connect to.
-        // Remove this check after the flag is removed.
-        if (contentSettingsType == ContentSettingsType.BLUETOOTH_GUARD
-                && !ContentFeatureList.isEnabled(
-                        ContentFeatureList.WEB_BLUETOOTH_NEW_PERMISSIONS_BACKEND)) {
-            return;
-        }
-
-        switch (websitePermissionsType) {
-            case CONTENT_SETTING_EXCEPTION:
-                queue.add(new ExceptionInfoFetcher(contentSettingsType));
-                return;
-            case PERMISSION_INFO:
-                queue.add(new PermissionInfoFetcher(contentSettingsType));
-                return;
-            case CHOSEN_OBJECT_INFO:
-                queue.add(new ChooserExceptionInfoFetcher(contentSettingsType));
-                return;
-        }
-    }
-
-    private Website findOrCreateSite(String origin, String embedder) {
-        // This allows us to show multiple entries in "All sites" for the same origin, based on
-        // the (origin, embedder) combination. For example, "cnn.com", "cnn.com all cookies on this
-        // site only", and "cnn.com embedded on example.com" are all possible. In the future, this
-        // should be collapsed into "cnn.com" and you can see the different options after clicking.
-        if (embedder != null && (embedder.equals(origin) || embedder.equals(SITE_WILDCARD))) {
-            embedder = null;
-        }
-
-        WebsiteAddress permissionOrigin = WebsiteAddress.create(origin);
-        WebsiteAddress permissionEmbedder = WebsiteAddress.create(embedder);
-
-        OriginAndEmbedder key = OriginAndEmbedder.create(permissionOrigin, permissionEmbedder);
-
-        Website site = mSites.get(key);
-        if (site == null) {
-            site = new Website(permissionOrigin, permissionEmbedder);
-            mSites.put(key, site);
-        }
-        return site;
-    }
-
-    private void setException(int contentSettingsType) {
-        for (ContentSettingException exception :
-                mWebsitePreferenceBridge.getContentSettingsExceptions(
-                        mBrowserContextHandle, contentSettingsType)) {
-            String address = exception.getPrimaryPattern();
-            String embedder = exception.getSecondaryPattern();
-            // If both patterns are the wildcard, dont display this rule.
-            if (address == null || (address.equals(embedder) && address.equals(SITE_WILDCARD))) {
-                continue;
-            }
-            Website site = findOrCreateSite(address, embedder);
-            site.setContentSettingException(contentSettingsType, exception);
-        }
-    }
-
-    @VisibleForTesting
-    public void resetContentSettingExceptions() {
-        mSites.clear();
+        var fetcherInternal = new WebsitePermissionFetcherInternal();
+        fetcherInternal.fetchPreferencesForCategoryAndPopulateFpsInfo(
+                siteSettingsDelegate, category, callback);
     }
 
     /**
-     * A single task in the WebsitePermissionsFetcher task queue. We need fetching of features to be
-     * serialized, as we need to have all the origins in place prior to populating the hosts.
+     * Internal class that actually performs the fetches, asynchronously fetching any Websites
+     * and the permissions that the user has set for them.
      */
-    private abstract class Task {
-        /** Override this method to implement a synchronous task. */
-        void run() {}
+    private class WebsitePermissionFetcherInternal {
+        // This map looks up Websites by their origin and embedder.
+        private final Map<OriginAndEmbedder, Website> mSites = new HashMap<>();
 
         /**
-         * Override this method to implement an asynchronous task. Call queue.next() once execution
-         * is complete.
+         * Fetches preferences for all sites that have them.
+         * TODO(mvanouwerkerk): Add an argument |url| to only fetch permissions for
+         * sites from the same origin as that of |url| - https://crbug.com/459222.
+         * @param callback The callback to run when the fetch is complete.
+         *
          */
-        void runAsync(TaskQueue queue) {
-            run();
+        public void fetchAllPreferences(WebsitePermissionsCallback callback) {
+            TaskQueue queue = new TaskQueue();
+
+            addAllFetchers(queue);
+
+            queue.add(new PermissionsAvailableCallbackRunner(callback));
             queue.next();
         }
-    }
 
-    /**
-     * A queue used to store the sequence of tasks to run to fetch the website preferences. Each
-     * task is run sequentially, and some of the tasks may run asynchronously.
-     */
-    private static class TaskQueue extends LinkedList<Task> {
-        void next() {
-            if (!isEmpty()) removeFirst().runAsync(this);
-        }
-    }
-
-    private class PermissionInfoFetcher extends Task {
-        final @ContentSettingsType int mType;
-
-        public PermissionInfoFetcher(@ContentSettingsType int type) {
-            mType = type;
-        }
-
-        @Override
-        public void run() {
-            for (PermissionInfo info :
-                    mWebsitePreferenceBridge.getPermissionInfo(mBrowserContextHandle, mType)) {
-                String origin = info.getOrigin();
-                if (origin == null) continue;
-                String embedder = mType == ContentSettingsType.SENSORS ? null : info.getEmbedder();
-                findOrCreateSite(origin, embedder).setPermissionInfo(info);
+        private void addAllFetchers(TaskQueue queue) {
+            addFetcherForStorage(queue);
+            for (@ContentSettingsType int type = 0; type < ContentSettingsType.NUM_TYPES; type++) {
+                addFetcherForContentSettingsType(queue, type);
             }
         }
-    }
 
-    private class ChooserExceptionInfoFetcher extends Task {
-        final @ContentSettingsType int mChooserDataType;
+        /**
+         * Fetches all preferences within a specific category.
+         *
+         * @param category A category to fetch.
+         * @param callback The callback to run when the fetch is complete.
+         *
+         */
+        public void fetchPreferencesForCategory(
+                SiteSettingsCategory category, WebsitePermissionsCallback callback) {
+            TaskQueue queue = createFetchersForCategory(category);
 
-        public ChooserExceptionInfoFetcher(@ContentSettingsType int type) {
-            mChooserDataType = SiteSettingsCategory.objectChooserDataTypeFromGuard(type);
+            queue.add(new PermissionsAvailableCallbackRunner(callback));
+            queue.next();
         }
 
-        @Override
-        public void run() {
-            if (mChooserDataType == -1) return;
+        @NonNull
+        private TaskQueue createFetchersForCategory(SiteSettingsCategory category) {
+            TaskQueue queue = new TaskQueue();
 
-            for (ChosenObjectInfo info : mWebsitePreferenceBridge.getChosenObjectInfo(
-                         mBrowserContextHandle, mChooserDataType)) {
-                String origin = info.getOrigin();
-                if (origin == null) continue;
-                findOrCreateSite(origin, null).addChosenObjectInfo(info);
-            }
-        }
-    }
-
-    private class ExceptionInfoFetcher extends Task {
-        final int mContentSettingsType;
-
-        public ExceptionInfoFetcher(int contentSettingsType) {
-            mContentSettingsType = contentSettingsType;
-        }
-
-        @Override
-        public void run() {
-            setException(mContentSettingsType);
-        }
-    }
-
-    private class LocalStorageInfoFetcher extends Task {
-        @Override
-        public void runAsync(final TaskQueue queue) {
-            mWebsitePreferenceBridge.fetchLocalStorageInfo(
-                    mBrowserContextHandle, new Callback<HashMap>() {
-                        @Override
-                        public void onResult(HashMap result) {
-                            for (Object o : result.entrySet()) {
-                                @SuppressWarnings("unchecked")
-                                Map.Entry<String, LocalStorageInfo> entry =
-                                        (Map.Entry<String, LocalStorageInfo>) o;
-                                String address = entry.getKey();
-                                if (address == null) continue;
-                                findOrCreateSite(address, null)
-                                        .setLocalStorageInfo(entry.getValue());
-                            }
-                            queue.next();
-                        }
-                    }, mFetchSiteImportantInfo);
-        }
-    }
-
-    private class WebStorageInfoFetcher extends Task {
-        @Override
-        public void runAsync(final TaskQueue queue) {
-            mWebsitePreferenceBridge.fetchStorageInfo(
-                    mBrowserContextHandle, new Callback<ArrayList>() {
-                        @Override
-                        public void onResult(ArrayList result) {
-                            @SuppressWarnings("unchecked")
-                            ArrayList<StorageInfo> infoArray = result;
-
-                            for (StorageInfo info : infoArray) {
-                                String address = info.getHost();
-                                if (address == null) continue;
-                                findOrCreateSite(address, null).addStorageInfo(info);
-                            }
-                            queue.next();
-                        }
-                    });
-        }
-    }
-
-    private class FirstPartySetsInfoFetcher extends Task {
-        final SiteSettingsDelegate mSiteSettingsDelegate;
-
-        public FirstPartySetsInfoFetcher(SiteSettingsDelegate siteSettingsDelegate) {
-            mSiteSettingsDelegate = siteSettingsDelegate;
-        }
-
-        private boolean canDealWithFirstPartySetsInfo() {
-            return mSiteSettingsDelegate != null
-                    && mSiteSettingsDelegate.isPrivacySandboxFirstPartySetsUIFeatureEnabled()
-                    && mSiteSettingsDelegate.isFirstPartySetsDataAccessEnabled();
-        }
-
-        @Override
-        public void runAsync(final TaskQueue queue) {
-            if (canDealWithFirstPartySetsInfo()) {
-                mSiteSettingsDelegate.fetchMemberToOwnerFPSMap((memberToOwnerFPSMap) -> {
-                    setFirstPartySetsInfo(memberToOwnerFPSMap);
-                    queue.next();
-                });
+            if (category.getType() == SiteSettingsCategory.Type.ALL_SITES) {
+                addAllFetchers(queue);
+            } else if (category.getType() == SiteSettingsCategory.Type.USE_STORAGE) {
+                addFetcherForStorage(queue);
             } else {
+                assert getPermissionsType(category.getContentSettingsType()) != null;
+                addFetcherForContentSettingsType(queue, category.getContentSettingsType());
+            }
+            return queue;
+        }
+
+        /**
+         * Fetches all preferences within a specific category and populates them with First Party
+         * Sets info.
+         *
+         * @param siteSettingsDelegate Delegate needed for fetching First Party Sets info.
+         * @param category A category to fetch.
+         * @param callback The callback to run when the fetch is complete.
+         *
+         */
+        public void fetchPreferencesForCategoryAndPopulateFpsInfo(
+                SiteSettingsDelegate siteSettingsDelegate, SiteSettingsCategory category,
+                WebsitePermissionsCallback callback) {
+            TaskQueue queue = createFetchersForCategory(category);
+            queue.add(new FirstPartySetsInfoFetcher(siteSettingsDelegate));
+
+            queue.add(new PermissionsAvailableCallbackRunner(callback));
+            queue.next();
+        }
+
+        private void addFetcherForStorage(TaskQueue queue) {
+            // Local storage info is per-origin.
+            queue.add(new LocalStorageInfoFetcher());
+            // Website storage is per-host.
+            queue.add(new WebStorageInfoFetcher());
+        }
+
+        private void addFetcherForContentSettingsType(
+                TaskQueue queue, @ContentSettingsType int contentSettingsType) {
+            WebsitePermissionsType websitePermissionsType = getPermissionsType(contentSettingsType);
+            if (websitePermissionsType == null) {
+                return;
+            }
+
+            // Remove this check after the flag is removed.
+            // The Bluetooth Scanning permission controls access to the Web Bluetooth
+            // Scanning API, which enables sites to scan for and receive events for
+            // advertisement packets received from nearby Bluetooth devices.
+            if (contentSettingsType == ContentSettingsType.BLUETOOTH_SCANNING) {
+                CommandLine commandLine = CommandLine.getInstance();
+                if (!commandLine.hasSwitch(
+                            ContentSwitches.ENABLE_EXPERIMENTAL_WEB_PLATFORM_FEATURES)) {
+                    return;
+                }
+            }
+
+            // Remove this check after the flag is removed.
+            if (contentSettingsType == ContentSettingsType.NFC
+                    && !ContentFeatureList.isEnabled(ContentFeatureList.WEB_NFC)) {
+                return;
+            }
+
+            // The Bluetooth guard permission controls access to the Web Bluetooth
+            // API, which enables sites to request access to connect to specific
+            // Bluetooth devices. Users are presented with a chooser prompt in which
+            // they must select the Bluetooth device that they would like to allow
+            // the site to connect to. Therefore, this permission also displays a
+            // list of permitted Bluetooth devices that each site can connect to.
+            // Remove this check after the flag is removed.
+            if (contentSettingsType == ContentSettingsType.BLUETOOTH_GUARD
+                    && !ContentFeatureList.isEnabled(
+                            ContentFeatureList.WEB_BLUETOOTH_NEW_PERMISSIONS_BACKEND)) {
+                return;
+            }
+
+            switch (websitePermissionsType) {
+                case CONTENT_SETTING_EXCEPTION:
+                    queue.add(new ExceptionInfoFetcher(contentSettingsType));
+                    return;
+                case PERMISSION_INFO:
+                    queue.add(new PermissionInfoFetcher(contentSettingsType));
+                    return;
+                case CHOSEN_OBJECT_INFO:
+                    queue.add(new ChooserExceptionInfoFetcher(contentSettingsType));
+                    return;
+            }
+        }
+
+        private Website findOrCreateSite(String origin, String embedder) {
+            // This allows us to show multiple entries in "All sites" for the same origin, based on
+            // the (origin, embedder) combination. For example, "cnn.com", "cnn.com all cookies on
+            // this site only", and "cnn.com embedded on example.com" are all possible. In the
+            // future, this should be collapsed into "cnn.com" and you can see the different options
+            // after clicking.
+            if (embedder != null && (embedder.equals(origin) || embedder.equals(SITE_WILDCARD))) {
+                embedder = null;
+            }
+
+            WebsiteAddress permissionOrigin = WebsiteAddress.create(origin);
+            WebsiteAddress permissionEmbedder = WebsiteAddress.create(embedder);
+
+            OriginAndEmbedder key = OriginAndEmbedder.create(permissionOrigin, permissionEmbedder);
+
+            Website site = mSites.get(key);
+            if (site == null) {
+                site = new Website(permissionOrigin, permissionEmbedder);
+                mSites.put(key, site);
+            }
+            return site;
+        }
+
+        private void setException(int contentSettingsType) {
+            for (ContentSettingException exception :
+                    mWebsitePreferenceBridge.getContentSettingsExceptions(
+                            mBrowserContextHandle, contentSettingsType)) {
+                String address = exception.getPrimaryPattern();
+                String embedder = exception.getSecondaryPattern();
+                // If both patterns are the wildcard, dont display this rule.
+                if (address == null
+                        || (address.equals(embedder) && address.equals(SITE_WILDCARD))) {
+                    continue;
+                }
+                Website site = findOrCreateSite(address, embedder);
+                site.setContentSettingException(contentSettingsType, exception);
+            }
+        }
+
+        /**
+         * A single task in the WebsitePermissionsFetcher task queue. We need fetching of features
+         * to be serialized, as we need to have all the origins in place prior to populating the
+         * hosts.
+         */
+        private abstract class Task {
+            /** Override this method to implement a synchronous task. */
+            void run() {}
+
+            /**
+             * Override this method to implement an asynchronous task. Call queue.next() once
+             * execution is complete.
+             */
+            void runAsync(TaskQueue queue) {
+                run();
                 queue.next();
             }
         }
-    }
 
-    private class PermissionsAvailableCallbackRunner extends Task {
-        private final WebsitePermissionsCallback mCallback;
-
-        private PermissionsAvailableCallbackRunner(WebsitePermissionsCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void run() {
-            mCallback.onWebsitePermissionsAvailable(mSites.values());
-        }
-    }
-
-    /**
-     * Builds a {@link Map<String, Set<String>>} of FPS Owner - Set of FPS Members from the fetched
-     * websites and for each {@link Website} sets its FPS info: the FPS Owner and the number
-     * of members of that FPS.
-     * @param memberToOwnerFPSMap map of ETLD+1s mapping a member to its owner.
-     */
-    private void setFirstPartySetsInfo(Map<String, String> memberToOwnerFPSMap) {
-        Map<String, Set<String>> fpsOwnerToMembers =
-                buildOwnerToMembersMapFromFetchedSites(memberToOwnerFPSMap);
-
-        for (Website site : mSites.values()) {
-            String fpsMember = site.getAddress().getDomainAndRegistry();
-            String fpsOwner = memberToOwnerFPSMap.get(fpsMember);
-            if (fpsOwner == null) continue;
-            int fpsMembersCount = fpsOwnerToMembers.get(fpsOwner).size();
-            site.setFPSCookieInfo(new FPSCookieInfo(fpsOwner, fpsMembersCount));
-        }
-    }
-
-    @NonNull
-    private Map<String, Set<String>> buildOwnerToMembersMapFromFetchedSites(
-            Map<String, String> memberToOwnerFPSMap) {
-        Map<String, Set<String>> fpsOwnerToMember = new HashMap<>();
-        for (Website site : mSites.values()) {
-            String fpsMember = site.getAddress().getDomainAndRegistry();
-            String fpsOwner = memberToOwnerFPSMap.get(fpsMember);
-            if (fpsOwner == null) continue;
-            Set<String> members = fpsOwnerToMember.get(fpsOwner);
-            if (members == null) {
-                members = new HashSet<>();
+        /**
+         * A queue used to store the sequence of tasks to run to fetch the website preferences. Each
+         * task is run sequentially, and some of the tasks may run asynchronously.
+         */
+        private class TaskQueue extends LinkedList<Task> {
+            void next() {
+                if (!isEmpty()) removeFirst().runAsync(this);
             }
-            members.add(fpsMember);
-            fpsOwnerToMember.put(fpsOwner, members);
         }
-        return fpsOwnerToMember;
+
+        private class PermissionInfoFetcher extends Task {
+            final @ContentSettingsType int mType;
+
+            public PermissionInfoFetcher(@ContentSettingsType int type) {
+                mType = type;
+            }
+
+            @Override
+            public void run() {
+                for (PermissionInfo info :
+                        mWebsitePreferenceBridge.getPermissionInfo(mBrowserContextHandle, mType)) {
+                    String origin = info.getOrigin();
+                    if (origin == null) continue;
+                    String embedder =
+                            mType == ContentSettingsType.SENSORS ? null : info.getEmbedder();
+                    findOrCreateSite(origin, embedder).setPermissionInfo(info);
+                }
+            }
+        }
+
+        private class ChooserExceptionInfoFetcher extends Task {
+            final @ContentSettingsType int mChooserDataType;
+
+            public ChooserExceptionInfoFetcher(@ContentSettingsType int type) {
+                mChooserDataType = SiteSettingsCategory.objectChooserDataTypeFromGuard(type);
+            }
+
+            @Override
+            public void run() {
+                if (mChooserDataType == -1) return;
+
+                for (ChosenObjectInfo info : mWebsitePreferenceBridge.getChosenObjectInfo(
+                             mBrowserContextHandle, mChooserDataType)) {
+                    String origin = info.getOrigin();
+                    if (origin == null) continue;
+                    findOrCreateSite(origin, null).addChosenObjectInfo(info);
+                }
+            }
+        }
+
+        private class ExceptionInfoFetcher extends Task {
+            final int mContentSettingsType;
+
+            public ExceptionInfoFetcher(int contentSettingsType) {
+                mContentSettingsType = contentSettingsType;
+            }
+
+            @Override
+            public void run() {
+                setException(mContentSettingsType);
+            }
+        }
+
+        private class LocalStorageInfoFetcher extends Task {
+            @Override
+            public void runAsync(final TaskQueue queue) {
+                mWebsitePreferenceBridge.fetchLocalStorageInfo(
+                        mBrowserContextHandle, new Callback<HashMap>() {
+                            @Override
+                            public void onResult(HashMap result) {
+                                for (Object o : result.entrySet()) {
+                                    @SuppressWarnings("unchecked")
+                                    Map.Entry<String, LocalStorageInfo> entry =
+                                            (Map.Entry<String, LocalStorageInfo>) o;
+                                    String address = entry.getKey();
+                                    if (address == null) continue;
+                                    findOrCreateSite(address, null)
+                                            .setLocalStorageInfo(entry.getValue());
+                                }
+                                queue.next();
+                            }
+                        }, mFetchSiteImportantInfo);
+            }
+        }
+
+        private class WebStorageInfoFetcher extends Task {
+            @Override
+            public void runAsync(final TaskQueue queue) {
+                mWebsitePreferenceBridge.fetchStorageInfo(
+                        mBrowserContextHandle, new Callback<ArrayList>() {
+                            @Override
+                            public void onResult(ArrayList result) {
+                                @SuppressWarnings("unchecked")
+                                ArrayList<StorageInfo> infoArray = result;
+
+                                for (StorageInfo info : infoArray) {
+                                    String address = info.getHost();
+                                    if (address == null) continue;
+                                    findOrCreateSite(address, null).addStorageInfo(info);
+                                }
+                                queue.next();
+                            }
+                        });
+            }
+        }
+
+        private class FirstPartySetsInfoFetcher extends Task {
+            final SiteSettingsDelegate mSiteSettingsDelegate;
+
+            public FirstPartySetsInfoFetcher(SiteSettingsDelegate siteSettingsDelegate) {
+                mSiteSettingsDelegate = siteSettingsDelegate;
+            }
+
+            private boolean canDealWithFirstPartySetsInfo() {
+                return mSiteSettingsDelegate != null
+                        && mSiteSettingsDelegate.isPrivacySandboxFirstPartySetsUIFeatureEnabled()
+                        && mSiteSettingsDelegate.isFirstPartySetsDataAccessEnabled();
+            }
+
+            @Override
+            public void runAsync(final TaskQueue queue) {
+                if (canDealWithFirstPartySetsInfo()) {
+                    mSiteSettingsDelegate.fetchMemberToOwnerFPSMap((memberToOwnerFPSMap) -> {
+                        setFirstPartySetsInfo(memberToOwnerFPSMap);
+                        queue.next();
+                    });
+                } else {
+                    queue.next();
+                }
+            }
+        }
+
+        private class PermissionsAvailableCallbackRunner extends Task {
+            private final WebsitePermissionsCallback mCallback;
+
+            private PermissionsAvailableCallbackRunner(WebsitePermissionsCallback callback) {
+                mCallback = callback;
+            }
+
+            @Override
+            public void run() {
+                mCallback.onWebsitePermissionsAvailable(mSites.values());
+            }
+        }
+
+        /**
+         * Builds a {@link Map<String,  Set <String>>} of FPS Owner - Set of FPS Members from the
+         * fetched websites and for each {@link Website} sets its FPS info: the FPS Owner and the
+         * number of members of that FPS.
+         * @param memberToOwnerFPSMap map of ETLD+1s mapping a member to its owner.
+         */
+        private void setFirstPartySetsInfo(Map<String, String> memberToOwnerFPSMap) {
+            Map<String, Set<String>> fpsOwnerToMembers =
+                    buildOwnerToMembersMapFromFetchedSites(memberToOwnerFPSMap);
+
+            for (Website site : mSites.values()) {
+                String fpsMember = site.getAddress().getDomainAndRegistry();
+                String fpsOwner = memberToOwnerFPSMap.get(fpsMember);
+                if (fpsOwner == null) continue;
+                int fpsMembersCount = fpsOwnerToMembers.get(fpsOwner).size();
+                site.setFPSCookieInfo(new FPSCookieInfo(fpsOwner, fpsMembersCount));
+            }
+        }
+
+        @NonNull
+        private Map<String, Set<String>> buildOwnerToMembersMapFromFetchedSites(
+                Map<String, String> memberToOwnerFPSMap) {
+            Map<String, Set<String>> fpsOwnerToMember = new HashMap<>();
+            for (Website site : mSites.values()) {
+                String fpsMember = site.getAddress().getDomainAndRegistry();
+                String fpsOwner = memberToOwnerFPSMap.get(fpsMember);
+                if (fpsOwner == null) continue;
+                Set<String> members = fpsOwnerToMember.get(fpsOwner);
+                if (members == null) {
+                    members = new HashSet<>();
+                }
+                members.add(fpsMember);
+                fpsOwnerToMember.put(fpsOwner, members);
+            }
+            return fpsOwnerToMember;
+        }
     }
 
     @VisibleForTesting
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreference.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreference.java
index 5b16065ff..97c61f9 100644
--- a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreference.java
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/WebsitePreference.java
@@ -88,6 +88,16 @@
     private void refresh() {
         setTitle(mSite.getTitle());
 
+        if (mSiteSettingsDelegate.isPrivacySandboxFirstPartySetsUIFeatureEnabled()
+                && mSiteSettingsDelegate.isFirstPartySetsDataAccessEnabled()
+                && mSite.getFPSCookieInfo() != null) {
+            var fpsInfo = mSite.getFPSCookieInfo();
+            setSummary(getContext().getString(R.string.allsites_fps_summary,
+                    Integer.toString(fpsInfo.getMembersCount()), fpsInfo.getOwner(),
+                    mSite.getAddress().getDomainAndRegistry()));
+            return;
+        }
+
         if (mSite.getEmbedder() == null) {
             if (mSite.isEmbargoed(mCategory.getContentSettingsType())) {
                 setSummary(getContext().getString(R.string.automatically_blocked));
diff --git a/components/browser_ui/site_settings/android/javatests/src/org/chromium/components/browser_ui/site_settings/WebsiteGroupTest.java b/components/browser_ui/site_settings/android/javatests/src/org/chromium/components/browser_ui/site_settings/WebsiteGroupTest.java
index 9c555dd..c0b11cb9 100644
--- a/components/browser_ui/site_settings/android/javatests/src/org/chromium/components/browser_ui/site_settings/WebsiteGroupTest.java
+++ b/components/browser_ui/site_settings/android/javatests/src/org/chromium/components/browser_ui/site_settings/WebsiteGroupTest.java
@@ -111,4 +111,17 @@
         Assert.assertNotNull(ipaddr);
         Assert.assertTrue(ipaddr instanceof Website);
     }
+
+    @Test
+    @SmallTest
+    public void testFPSInfo() {
+        var fpsInfo = new FPSCookieInfo("google.com", 5);
+        Website origin1 = new Website(WebsiteAddress.create("maps.google.com"), null);
+        Website origin2 = new Website(WebsiteAddress.create("mail.google.com"), null);
+        origin2.setFPSCookieInfo(fpsInfo);
+        WebsiteGroup group = new WebsiteGroup(origin2.getAddress().getDomainAndRegistry(),
+                new ArrayList<>(Arrays.asList(origin2, origin1)));
+
+        Assert.assertEquals(fpsInfo, group.getFPSInfo());
+    }
 }
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
index 2f6b2b3..d94ac35 100644
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
@@ -172,6 +172,9 @@
   <message name="IDS_WEBSITE_SETTINGS_USAGE_CATEGORY" desc="The headline above the usage stats (how much storage the site is using) on the website details page.">
     Usage
   </message>
+  <message name="IDS_WEBSITE_SETTINGS_RELATED_SITES" desc="The headline above the related sites (First Party Sets) on the website details page.">
+    Related sites
+  </message>
   <message name="IDS_WEBSITE_SETTINGS_PERMISSIONS_CATEGORY" desc="The headline above all the permissions on the website details page.">
     Permissions
   </message>
@@ -402,6 +405,9 @@
   <message name="IDS_WEBSITE_SETTINGS_CATEGORY_COOKIE_FPS_TOGGLE_DESCRIPTION" desc="First Party Sets toggle description in the cookie site settings subpage.">
     Related sites use cookies to help with things like keeping you signed in
   </message>
+  <message name="IDS_ALLSITES_FPS_SUMMARY" desc="First Party Sets cookie info, shown as site summary in the all sites settings page.">
+    Cookies allowed for <ph name="FPS_MEMBERS_COUNT">%1$s<ex>9</ex></ph> sites in the <ph name="FPS_OWNER">%2$s<ex>gannette.com</ex></ph> group, including <ph name="FPS_MEMBER">%3$s<ex>freep.com</ex></ph>
+  </message>
 
   <!-- Desktop Site -->
   <message name="IDS_WEBSITE_SETTINGS_CATEGORY_DESKTOP_SITE_ALLOWED" desc="Summary text explaining that desktop view of sites will be requested by default.">
diff --git a/components/browser_ui/strings/android/site_settings_grdp/IDS_ALLSITES_FPS_SUMMARY.png.sha1 b/components/browser_ui/strings/android/site_settings_grdp/IDS_ALLSITES_FPS_SUMMARY.png.sha1
new file mode 100644
index 0000000..67a62c8
--- /dev/null
+++ b/components/browser_ui/strings/android/site_settings_grdp/IDS_ALLSITES_FPS_SUMMARY.png.sha1
@@ -0,0 +1 @@
+d7dffe5f895511e1812b818780e925e8f5969d77
\ No newline at end of file
diff --git a/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_RELATED_SITES.png.sha1 b/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_RELATED_SITES.png.sha1
new file mode 100644
index 0000000..67a62c8
--- /dev/null
+++ b/components/browser_ui/strings/android/site_settings_grdp/IDS_WEBSITE_SETTINGS_RELATED_SITES.png.sha1
@@ -0,0 +1 @@
+d7dffe5f895511e1812b818780e925e8f5969d77
\ No newline at end of file
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 3742c20..5bbef0c 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Bütün kontaktar</translation>
 <translation id="3362437373201486687">Bluetooth cihazları skan edilir</translation>
 <translation id="3386292677130313581">Saytlara məkanınızı bilmək icazəsi verməmişdən əvvəl soruşun (tövsiyə olunur)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> domenindəki saytlar</translation>
 <translation id="3538390592868664640">Saytların ətrafınızdakı sahələrin 3D xəritəsini yaratmasına və ya kamera mövqeyini izləməsinə qarşı blok qoyun</translation>
 <translation id="3551268116566418498">Anonim rejimdən çıxılsın?</translation>
 <translation id="3586500876634962664">Kamera və mikrofondan istifadə</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
index d894eee..ef2f046f5 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Tots els contactes</translation>
 <translation id="3362437373201486687">S'estan cercant dispositius Bluetooth</translation>
 <translation id="3386292677130313581">Pregunta abans de permetre que els llocs web sàpiguen la teva ubicació (opció recomanada)</translation>
+<translation id="3521663503435878242">Llocs web a <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Impedeix que els llocs web creïn un mapa en 3D del teu entorn o que facin un seguiment de la posició de la càmera</translation>
 <translation id="3551268116566418498">Vols sortir del mode d'incògnit?</translation>
 <translation id="3586500876634962664">Ús de la càmera i el micròfon</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
index b15de1e..ef0c340a 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
@@ -182,6 +182,7 @@
 <translation id="5048398596102334565">Povolit webům přístup k senzorům pohybu (doporučeno)</translation>
 <translation id="5050380848339752099">Tento web chce sdílet informace s aplikací mimo anonymní režim.</translation>
 <translation id="5063480226653192405">Použití</translation>
+<translation id="5091013926750941408">Mobilní web</translation>
 <translation id="509133520954049755">Vyžádat zobrazení na počítači</translation>
 <translation id="5100237604440890931">Sbaleno – kliknutím rozbalíte</translation>
 <translation id="5123685120097942451">Anonymní karta</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_de.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_de.xtb
index 719cbd8..8c1edbe 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_de.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_de.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Alle Kontakte</translation>
 <translation id="3362437373201486687">Nach Bluetooth-Geräten wird gesucht</translation>
 <translation id="3386292677130313581">Nachfragen, bevor Websites mein Standort angezeigt wird (empfohlen)</translation>
+<translation id="3521663503435878242">Websites unter <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Websites daran hindern, eine 3D-Karte meiner Umgebung zu erstellen oder die Kameraposition zu verfolgen</translation>
 <translation id="3551268116566418498">Inkognitomodus deaktivieren?</translation>
 <translation id="3586500876634962664">Kamera- und Mikrofonnutzung</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
index a1b8343..f700d005 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Todos los contactos</translation>
 <translation id="3362437373201486687">Buscando dispositivos Bluetooth</translation>
 <translation id="3386292677130313581">Preguntar antes de permitir que los sitios detecten tu ubicación (recomendado)</translation>
+<translation id="3521663503435878242">Sitios de <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">No permitir que los sitios creen un mapa 3D de tu entorno o hagan un seguimiento de la posición de la cámara</translation>
 <translation id="3551268116566418498">¿Salir del modo Incógnito?</translation>
 <translation id="3586500876634962664">Uso de cámara y micrófono</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
index 0ddc556f..529f630b 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Kõik kontaktid</translation>
 <translation id="3362437373201486687">Bluetooth-seadmete otsimine</translation>
 <translation id="3386292677130313581">Küsi enne saitidele minu asukoha avaldamist (soovitatav)</translation>
+<translation id="3521663503435878242">Saidid domeenil <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Saitide jaoks blokeeritakse teid ümbritsevast 3D-kaardi loomine või kaamera asendi jälgimine</translation>
 <translation id="3551268116566418498">Kas lahkuda inkognito režiimist?</translation>
 <translation id="3586500876634962664">Kaamera ja mikrofoni kasutamine</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb
index 337072c..f914bea 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">همه مخاطبین</translation>
 <translation id="3362437373201486687">درحال جستجوی دستگاه‌های بلوتوث</translation>
 <translation id="3386292677130313581">قبل از اجازه به سایت‌ها برای اطلاع از مکانتان، ابتدا سؤال شود (توصیه می‌شود)</translation>
+<translation id="3521663503435878242">سایت‌های تحت <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">قابلیت سایت‌ها برای ایجاد نقشه سه‌بعدی از محیط یا ردیابی موقعیت دوربین مسدود می‌شود</translation>
 <translation id="3551268116566418498">از «حالت ناشناس» خارج می‌شوید؟</translation>
 <translation id="3586500876634962664">استفاده از دوربین و میکروفون</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
index b9646b6..273deb0 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Kaikki kontaktit</translation>
 <translation id="3362437373201486687">Haetaan Bluetooth-laitteita</translation>
 <translation id="3386292677130313581">Pyydä lupaa, kun sivustot yrittävät käyttää sijaintiasi (suositus).</translation>
+<translation id="3521663503435878242">Sivustot, joiden verkkotunnus on <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Estä sivustoja luomasta 3D-karttaa ympäristöstäsi tai seuraamasta kameran asentoa</translation>
 <translation id="3551268116566418498">Poistutaanko incognito-tilasta?</translation>
 <translation id="3586500876634962664">Kameran ja mikrofonin käyttö</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
index ff0d964a..603e8e86 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Lahat ng contact</translation>
 <translation id="3362437373201486687">Nagsa-scan ng mga Bluetooth device</translation>
 <translation id="3386292677130313581">Magtanong bago payagan ang mga site na malaman ang iyong lokasyon (inirerekomenda)</translation>
+<translation id="3521663503435878242">Mga site sa ilalim ng <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">I-block ang mga site sa paggawa ng 3D na mapa ng iyong kapaligiran o pagsubaybay sa posisyon ng camera</translation>
 <translation id="3551268116566418498">Umalis sa Incognito mode?</translation>
 <translation id="3586500876634962664">Paggamit ng camera at mikropono</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
index 93565ef9..1f0dc6f 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Semua kontak</translation>
 <translation id="3362437373201486687">Memindai perangkat Bluetooth</translation>
 <translation id="3386292677130313581">Minta izin sebelum mengizinkan situs mengetahui lokasi Anda (disarankan)</translation>
+<translation id="3521663503435878242">Situs di domain <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Blokir situs agar tidak membuat peta 3D untuk area di sekeliling Anda atau melacak posisi kamera</translation>
 <translation id="3551268116566418498">Keluar dari mode Samaran?</translation>
 <translation id="3586500876634962664">Kamera dan mikrofon aktif</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
index 42b0703..61da69b 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Allir tengiliðir</translation>
 <translation id="3362437373201486687">Leitar að Bluetooth-tækjum</translation>
 <translation id="3386292677130313581">Spyrja áður en vefsvæðum er veitt heimild til að sjá staðsetningu þína (ráðlagt)</translation>
+<translation id="3521663503435878242">Vefsvæði undir <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Komdu í veg fyrir að vefsvæði búi til þrívíddarkort af umhverfinu eða reki staðsetningu myndavélarinnar</translation>
 <translation id="3551268116566418498">Slökkva á huliðsstillingu?</translation>
 <translation id="3586500876634962664">Notkun myndavélar og hljóðnema</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
index 92286e9..d2a4506 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Tutti i contatti</translation>
 <translation id="3362437373201486687">Ricerca di dispositivi Bluetooth in corso…</translation>
 <translation id="3386292677130313581">Chiedi conferma prima di consentire ai siti di conoscere la tua posizione (opzione consigliata)</translation>
+<translation id="3521663503435878242">Siti in <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Impedisci ai siti di creare una mappa 3D dell'ambiente circostante o di monitorare la posizione della fotocamera</translation>
 <translation id="3551268116566418498">Uscire da modalità in incognito?</translation>
 <translation id="3586500876634962664">Uso di videocamera e microfono</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
index 4c06ae5..d9a7ddb 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">ყველა კონტაქტი</translation>
 <translation id="3362437373201486687">მიმდინარეობს Bluetooth მოწყობილობების სკანირება</translation>
 <translation id="3386292677130313581">შეკითხვა საიტებისთვის თქვენი მდებარეობის დადგენის დაშვებამდე (რეკომენდებული)</translation>
+<translation id="3521663503435878242">საიტები <ph name="DOMAIN" />-ის ფარგლებში</translation>
 <translation id="3538390592868664640">საიტებისთვის თქვენი გარემოს 3-განზომილებიანი რუკის შექმნის ან კამერის პოზიციისთვის თვალის მიდევნების დაბლოკვა</translation>
 <translation id="3551268116566418498">გავიდეთ ინკოგნიტო რეჟიმიდან?</translation>
 <translation id="3586500876634962664">კამერის/მიკროფონის გამოყენება</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 e376d2a..14fc1a5e 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">ទំនាក់​ទំនង​ទាំងអស់</translation>
 <translation id="3362437373201486687">កំពុងស្កេនរកឧបករណ៍ប៊្លូធូស</translation>
 <translation id="3386292677130313581">សួរមុនពេលអនុញ្ញាតឲ្យគេហទំព័រស្គាល់ទីតាំងរបស់អ្នក (បានណែនាំ)</translation>
+<translation id="3521663503435878242">គេហទំព័រ​នៅក្រោម <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">ទប់ស្កាត់គេហទំព័រមិនឱ្យបង្កើតផែនទី 3D នៃមជ្ឈដ្ឋានជុំវិញរបស់អ្នក ឬតាមដានទីតាំងកាមេរ៉ា</translation>
 <translation id="3551268116566418498">ចាកចេញពី​មុខងារ​ឯកជន​ដែរទេ?</translation>
 <translation id="3586500876634962664">ការប្រើមីក្រូហ្វូន និងកាមេរ៉ា</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
index abcb7177..01213c3 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">모든 연락처</translation>
 <translation id="3362437373201486687">블루투스 기기 검색 중</translation>
 <translation id="3386292677130313581">사이트에서 내 위치를 파악하도록 허용하기 전에 확인(권장)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" />의 사이트</translation>
 <translation id="3538390592868664640">사이트에서 주변 환경의 3D 지도를 생성하거나 카메라 위치를 추적하지 못하도록 차단</translation>
 <translation id="3551268116566418498">시크릿 모드를 종료하시겠습니까?</translation>
 <translation id="3586500876634962664">카메라 및 마이크 사용</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 16d39dc..f267fa1 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Visi kontaktai</translation>
 <translation id="3362437373201486687">Nuskaitoma ieškant „Bluetooth“ įrenginių</translation>
 <translation id="3386292677130313581">Klausti prieš leidžiant svetainėms žinoti vietą (rekomenduojama)</translation>
+<translation id="3521663503435878242">Svetainės, priklausančios <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Blokuoti, kad svetainės nekurtų jūsų aplinkos 3D žemėlapio ir nestebėtų kameros padėties</translation>
 <translation id="3551268116566418498">Išjungti inkognito režimą?</translation>
 <translation id="3586500876634962664">Kameros ir mikrofono naudojimas</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ml.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ml.xtb
index 53d5ead..11a608a 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ml.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ml.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">എല്ലാ കോൺടാക്റ്റുകളും</translation>
 <translation id="3362437373201486687">Bluetooth ഉപകരണങ്ങൾക്കായി സ്‌കാൻ ചെയ്യുന്നു</translation>
 <translation id="3386292677130313581">നിങ്ങളുടെ ലൊക്കേഷൻ അറിയാൻ സൈറ്റുകളെ അനുവദിക്കുന്നതിന് മുമ്പ് ചോദിക്കുക (ശുപാർശചെയ്‌തിരിക്കുന്നു)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> എന്നതിന് കീഴിലുള്ള സൈറ്റുകൾ</translation>
 <translation id="3538390592868664640">നിങ്ങളുടെ ചുറ്റുപാടുകളുടെ 3D മാപ്പ് സൃഷ്ടിക്കുന്നതിൽ നിന്നോ ക്യാമറയുടെ സ്ഥാനം ട്രാക്ക് ചെയ്യുന്നതിൽ നിന്നോ സൈറ്റുകളെ ബ്ലോക്ക് ചെയ്യുക</translation>
 <translation id="3551268116566418498">അദൃശ്യ മോഡ് വിടണോ?</translation>
 <translation id="3586500876634962664">ക്യാമറ, മൈക്രോഫോൺ ഉപയോഗം</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_mr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_mr.xtb
index 7ce6939e..3a18f44 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_mr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_mr.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">सर्व संपर्क</translation>
 <translation id="3362437373201486687">ब्लूटूथ डिव्हाइससाठी स्कॅन करत आहे</translation>
 <translation id="3386292677130313581">साइटना तुमचे स्थान जाणून घेण्याची अनुमती देण्यापूर्वी विचारा (शिफारस केलेले)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> अंतर्गत साइट</translation>
 <translation id="3538390592868664640">तुमच्या आसपासच्या परिसराचा 3D नकाशा तयार करण्यापासून किंवा कॅमेर्‍याचे स्थान ट्रॅक करण्यापासून साइट ब्लॉक करा</translation>
 <translation id="3551268116566418498">गुप्त मोडमधून बाहेर पडायचे का?</translation>
 <translation id="3586500876634962664">कॅमेरा आणि मायक्रोफोन वापरा</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ms.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ms.xtb
index 454d9207..6f55817 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ms.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ms.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Semua kenalan</translation>
 <translation id="3362437373201486687">Mengimbas peranti Bluetooth</translation>
 <translation id="3386292677130313581">Tanya sebelum membenarkan tapak mengetahui lokasi anda (disyorkan)</translation>
+<translation id="3521663503435878242">Laman di bawah <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Sekat tapak daripada membuat peta 3D bagi persekitaran anda atau menjejaki kedudukan kamera</translation>
 <translation id="3551268116566418498">Tinggalkan mod Inkognito?</translation>
 <translation id="3586500876634962664">Penggunaan kamera dan mikrofon</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_my.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_my.xtb
index f229b2b6..266e303 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_my.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_my.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">အဆက်အသွယ်အားလုံး</translation>
 <translation id="3362437373201486687">ဘလူးတုသ်စက်များ ရှာနေသည်</translation>
 <translation id="3386292677130313581">သင့်တည်နေရာကို ဆိုက်များအား အသိမပေးမီ မေးပါ (အကြံပြုထားသည်)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> အောက်ရှိ ဝဘ်ဆိုက်များ</translation>
 <translation id="3538390592868664640">သင့်ပတ်ဝန်းကျင်၏ 3D မြေပုံဆွဲခြင်း သို့မဟုတ် ကင်မရာအနေအထား ခြေရာခံခြင်းတို့ မပြုလုပ်ရန် ဝဘ်ဆိုက်များကို ပိတ်ထားသည်</translation>
 <translation id="3551268116566418498">ရုပ်ဖျက်မုဒ်မှ ထွက်လိုသလား။</translation>
 <translation id="3586500876634962664">ကင်မရာနှင့် မိုက် အသုံးပြုသည်</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 e067a51..78c71bc 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Alle kontakter</translation>
 <translation id="3362437373201486687">Skanner etter Bluetooth-enheter</translation>
 <translation id="3386292677130313581">Spør før nettsteder får vite posisjonen min (anbefales)</translation>
+<translation id="3521663503435878242">Nettsteder under <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Blokkér nettsteder fra å lage 3D-kart av omgivelsene dine eller spore kameraposisjonen</translation>
 <translation id="3551268116566418498">Vil du avslutte Inkognitomodus?</translation>
 <translation id="3586500876634962664">Kamera- og mikrofonbruk</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
index 06eeb0f8..6b79fbc 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">ସମସ୍ତ ଯୋଗାଯୋଗଗୁଡ଼ିକ</translation>
 <translation id="3362437373201486687">ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ସ୍କାନ କରାଯାଉଛି</translation>
 <translation id="3386292677130313581">ସାଇଟ୍‍ଗୁଡ଼ିକ ଆପଣଙ୍କର ଲୋକେସନ୍‌ ଜାଣିବା ପୂର୍ବରୁ ପଚାରନ୍ତୁ (ସୁପାରିଶ୍‌ କରାଯାଇଛି)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> ଅଧୀନରେ ଥିବା ସାଇଟଗୁଡ଼ିକ</translation>
 <translation id="3538390592868664640">ଆପଣଙ୍କ ପରିପାର୍ଶ୍ୱର ଏକ 3D ମ୍ୟାପ୍ ତିଆରି କରିବା ଏବଂ କ୍ୟାମେରା ସ୍ଥିତି ଟ୍ରାକ୍ କରିବାକୁ ସାଇଟଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ</translation>
 <translation id="3551268116566418498">ଇନକଗ୍ନିଟୋ ମୋଡରୁ ବାହାରି ଯିବେ କି?</translation>
 <translation id="3586500876634962664">କ୍ୟାମେରା ଏବଂ ମାଇକ୍ରୋଫୋନର ବ୍ୟବହାର</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
index 860e93db..bb5cdbeb 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_pa.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">ਸਭ ਸੰਪਰਕ</translation>
 <translation id="3362437373201486687">ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ</translation>
 <translation id="3386292677130313581">ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡਾ ਟਿਕਾਣਾ ਜਾਣਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੀ ਇਜਾਜ਼ਤ ਲੈਣ ਨੂੰ ਜ਼ਰੂਰੀ ਬਣਾਓ (ਸਿਫ਼ਾਰਸ਼ੀ)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> ਅਧੀਨ ਸਾਈਟਾਂ</translation>
 <translation id="3538390592868664640">ਸਾਈਟਾਂ ਨੂੰ ਤੁਹਾਡੇ ਆਲੇ-ਦੁਆਲੇ ਦਾ 3D ਨਕਸ਼ਾ ਬਣਾਉਣ ਜਾਂ ਕੈਮਰਾ ਸਥਿਤੀ ਨੂੰ ਟਰੈਕ ਕਰਨ ਤੋਂ ਬਲਾਕ ਕਰੋ</translation>
 <translation id="3551268116566418498">ਕੀ ਇਨਕੋਗਨਿਟੋ ਮੋਡ ਨੂੰ ਛੱਡਣਾ ਹੈ?</translation>
 <translation id="3586500876634962664">ਕੈਮਰੇ ਅਤੇ ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਦੀ ਵਰਤੋਂ</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_pl.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_pl.xtb
index c9d9956..ee6814c 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_pl.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_pl.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Wszystkie kontakty</translation>
 <translation id="3362437373201486687">Skanuję w poszukiwaniu urządzeń Bluetooth</translation>
 <translation id="3386292677130313581">Pytaj, zanim udostępnisz stronom swoją lokalizację (zalecane)</translation>
+<translation id="3521663503435878242">Witryny w domenie <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Nie zezwalaj stronom na tworzenie mapy 3D Twojego otoczenia ani na śledzenie pozycji kamery</translation>
 <translation id="3551268116566418498">Wyłączyć tryb incognito?</translation>
 <translation id="3586500876634962664">Korzystanie z kamery i mikrofonu</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_pt-BR.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_pt-BR.xtb
index 1197371..33657ae 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_pt-BR.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_pt-BR.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Todos os contatos</translation>
 <translation id="3362437373201486687">Procurando dispositivos Bluetooth</translation>
 <translation id="3386292677130313581">Perguntar antes de permitir que sites saibam seu local (recomendado)</translation>
+<translation id="3521663503435878242">Sites em <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Impedir sites de criar um mapa 3D do ambiente a sua volta ou acompanhar a posição da câmera</translation>
 <translation id="3551268116566418498">Sair do modo de navegação anônima?</translation>
 <translation id="3586500876634962664">Uso de câmera e microfone</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ro.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ro.xtb
index 9efab79..a4b5939 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ro.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ro.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Toată agenda</translation>
 <translation id="3362437373201486687">Se caută dispozitive Bluetooth</translation>
 <translation id="3386292677130313581">Întreabă înainte de a permite site-urilor să afle locația (recomandat)</translation>
+<translation id="3521663503435878242">Site-uri din <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Împiedică site-urile să creeze o hartă 3D a lucrurilor din jur sau să urmărească poziția camerei video</translation>
 <translation id="3551268116566418498">Ieși din modul incognito?</translation>
 <translation id="3586500876634962664">Folosirea camerei și a microfonului</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 f132be3..1605d3f 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">تمام رابطے</translation>
 <translation id="3362437373201486687">بلوٹوتھ آلات کے لیے اسکین کی جا رہی ہیں</translation>
 <translation id="3386292677130313581">سائٹس کو آپ کا مقام جاننے کی اجازت دینے سے پہلے پوچھیں (تجویز کردہ)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> کے تحت سائٹس</translation>
 <translation id="3538390592868664640">‏سائٹس کو اپنے اطراف کا 3D نقشہ تخلیق یا کیمرے کی پوزیشن ٹریک کرنے سے مسدود کریں</translation>
 <translation id="3551268116566418498">پوشیدگی وضع ترک کریں؟</translation>
 <translation id="3586500876634962664">کیمرا اور مائیکروفون کا استعمال</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb
index 0b036eb..603a52e 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">Tất cả người liên hệ</translation>
 <translation id="3362437373201486687">Đang quét tìm thiết bị Bluetooth</translation>
 <translation id="3386292677130313581">Hỏi trước khi cho phép các trang web biết vị trí của bạn (được đề xuất)</translation>
+<translation id="3521663503435878242">Các trang web trong <ph name="DOMAIN" /></translation>
 <translation id="3538390592868664640">Chặn không cho trang web tạo bản đồ 3D về các khu vực xung quanh bạn hoặc theo dõi thông tin vị trí của máy ảnh</translation>
 <translation id="3551268116566418498">Thoát khỏi chế độ Ẩn danh?</translation>
 <translation id="3586500876634962664">Đang sử dụng máy ảnh và micrô</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
index f798797..23141717 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">所有联系人</translation>
 <translation id="3362437373201486687">正在搜寻蓝牙设备</translation>
 <translation id="3386292677130313581">需先询问,得到许可后才允许网站获取您的位置信息(推荐)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> 下的网站</translation>
 <translation id="3538390592868664640">禁止网站为您的周边环境创建 3D 地图或跟踪摄像头位置</translation>
 <translation id="3551268116566418498">退出无痕模式?</translation>
 <translation id="3586500876634962664">正在使用摄像头和麦克风</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 a3c49cf7..88bc398 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
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">所有聯絡人</translation>
 <translation id="3362437373201486687">正在掃瞄藍牙裝置</translation>
 <translation id="3386292677130313581">允許網站存取您的位置前先詢問您 (建議)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> 下的網站</translation>
 <translation id="3538390592868664640">禁止網站建立您身處環境的 3D 地圖或追蹤攝錄機位置</translation>
 <translation id="3551268116566418498">要退出無痕模式嗎?</translation>
 <translation id="3586500876634962664">使用攝錄機和麥克風</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb
index 6efb281..a09e7a3 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb
@@ -115,6 +115,7 @@
 <translation id="3333961966071413176">所有聯絡人</translation>
 <translation id="3362437373201486687">正在掃描藍牙裝置</translation>
 <translation id="3386292677130313581">允許網站存取你的位置資訊前,必須先詢問你 (建議)</translation>
+<translation id="3521663503435878242"><ph name="DOMAIN" /> 底下的網站</translation>
 <translation id="3538390592868664640">禁止網站根據你的周遭環境建立 3D 地圖或追蹤攝影機位置</translation>
 <translation id="3551268116566418498">要退出無痕模式嗎?</translation>
 <translation id="3586500876634962664">使用攝影機和麥克風</translation>
diff --git a/components/certificate_transparency/data/log_list.json b/components/certificate_transparency/data/log_list.json
index a4515b9..f55c62b 100644
--- a/components/certificate_transparency/data/log_list.json
+++ b/components/certificate_transparency/data/log_list.json
@@ -1,6 +1,6 @@
 {
-  "version": "12.6",
-  "log_list_timestamp": "2022-09-20T12:55:37Z",
+  "version": "12.7",
+  "log_list_timestamp": "2022-09-21T12:55:42Z",
   "operators": [
     {
       "name": "Google",
diff --git a/components/content_capture/android/test_support/content_capture_test_support_android.cc b/components/content_capture/android/test_support/content_capture_test_support_android.cc
index 96ca65e..7ab2088 100644
--- a/components/content_capture/android/test_support/content_capture_test_support_android.cc
+++ b/components/content_capture/android/test_support/content_capture_test_support_android.cc
@@ -51,11 +51,11 @@
   CHECK(root);
   CHECK(root->is_list());
   std::vector<blink::mojom::FaviconURLPtr> favicon_urls;
-  for (const base::Value& icon : root->GetListDeprecated()) {
+  for (const base::Value& icon : root->GetList()) {
     std::vector<gfx::Size> sizes;
     // The sizes is optional.
     if (auto* icon_sizes = icon.FindKey("sizes")) {
-      for (const base::Value& size : icon_sizes->GetListDeprecated()) {
+      for (const base::Value& size : icon_sizes->GetList()) {
         CHECK(size.FindKey("width"));
         CHECK(size.FindKey("height"));
         sizes.emplace_back(size.FindKey("width")->GetInt(),
diff --git a/components/exo/text_input_unittest.cc b/components/exo/text_input_unittest.cc
index be1b84b..3d3b405 100644
--- a/components/exo/text_input_unittest.cc
+++ b/components/exo/text_input_unittest.cc
@@ -35,9 +35,9 @@
   ui::CompositionText t;
   t.text = text;
   t.selection = gfx::Range(text.size());
-  t.ime_text_spans.push_back(
-      ui::ImeTextSpan(ui::ImeTextSpan::Type::kComposition, 0, t.text.size(),
-                      ui::ImeTextSpan::Thickness::kThick));
+  t.ime_text_spans.emplace_back(ui::ImeTextSpan::Type::kComposition, 0,
+                                t.text.size(),
+                                ui::ImeTextSpan::Thickness::kThick);
   return t;
 }
 
diff --git a/components/guest_view/browser/guest_view_base.cc b/components/guest_view/browser/guest_view_base.cc
index 7291fcc9..7c236b2 100644
--- a/components/guest_view/browser/guest_view_base.cc
+++ b/components/guest_view/browser/guest_view_base.cc
@@ -62,7 +62,17 @@
   ~OwnerContentsObserver() override = default;
 
   // WebContentsObserver implementation.
-  void WebContentsDestroyed() override { DestroyGuestIfUnattached(&*guest_); }
+  void WebContentsDestroyed() override {
+    // Once attached, the guest can't outlive its owner WebContents.
+    DCHECK_EQ(guest_->element_instance_id(), kInstanceIDNone);
+
+    // Defensively clear the guest's `owner_web_contents_`, since a unique_ptr
+    // to the guest may be passed through asynchronous calls early in its
+    // initialization, and it's possible that its pointer to
+    // `owner_web_contents_` could become stale during this process.
+    guest_->owner_web_contents_ = nullptr;
+    DestroyGuestIfUnattached(&*guest_);
+  }
 
   void DidToggleFullscreenModeForTab(bool entered_fullscreen,
                                      bool will_cause_resize) override {
@@ -130,8 +140,8 @@
   DCHECK(!is_being_destroyed_);
   is_being_destroyed_ = true;
 
-  // It is important to clear owner_web_contents_ after the call to
-  // StopTrackingEmbedderZoomLevel(), but before the rest of
+  // If `this` was ever attached, it is important to clear `owner_web_contents_`
+  // after the call to StopTrackingEmbedderZoomLevel(), but before the rest of
   // the statements in this function.
   StopTrackingEmbedderZoomLevel();
   owner_web_contents_ = nullptr;
@@ -409,8 +419,7 @@
     GuestViewMessageHandler::AttachToEmbedderFrameCallback
         attachment_callback) {
   // Stop tracking the old embedder's zoom level.
-  if (owner_web_contents())
-    StopTrackingEmbedderZoomLevel();
+  StopTrackingEmbedderZoomLevel();
 
   if (owner_web_contents_ != embedder_web_contents) {
     DCHECK_EQ(owner_contents_observer_->web_contents(), owner_web_contents_);
@@ -823,6 +832,8 @@
   // TODO(wjmaclean): Remove the observer any time the GuestWebView transitions
   // from propagating to not-propagating the zoom from the embedder.
 
+  if (!owner_web_contents())
+    return;
   auto* embedder_zoom_controller =
       zoom::ZoomController::FromWebContents(owner_web_contents());
   // Chrome Apps do not have a ZoomController.
diff --git a/components/net_log/net_export_file_writer_unittest.cc b/components/net_log/net_export_file_writer_unittest.cc
index 2bc50ad..69aeb4d 100644
--- a/components/net_log/net_export_file_writer_unittest.cc
+++ b/components/net_log/net_export_file_writer_unittest.cc
@@ -795,7 +795,7 @@
   ASSERT_TRUE(root->GetList("events", &events));
 
   // Check there is at least one event as a result of the ongoing request.
-  ASSERT_GE(events->GetListDeprecated().size(), 1u);
+  ASSERT_GE(events->GetList().size(), 1u);
 
   // Check the URL in the params of the first event.
   base::Value::Dict* event = events->GetList()[0].GetIfDict();
diff --git a/components/omnibox/resources/translations/omnibox_pedal_synonyms_ca.xtb b/components/omnibox/resources/translations/omnibox_pedal_synonyms_ca.xtb
index 28e218a..447c4bab 100644
--- a/components/omnibox/resources/translations/omnibox_pedal_synonyms_ca.xtb
+++ b/components/omnibox/resources/translations/omnibox_pedal_synonyms_ca.xtb
@@ -1,19 +1,41 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="ca">
+<translation id="101606685846791463">esborra la memòria cau del navegador, esborrar la memòria cau del navegador, suprimeix la memòria cau del navegador, suprimir memòria cau del navegador, esborrar l'historial, suprimir l'historial, eliminar l'historial, esborra l'historial, suprimeix l'historial, suprimeix galetes, esborra galetes, elimina galetes, esborra l'historial de navegació, suprimeix historial de navegació, elimina l'historial de navegació</translation>
+<translation id="132297926492792130">controlar el meu compte de google, controlar comptes google, corregir el compte de google, corregir el meu compte de google, corregir comptes google, gestionar el compte de google, gestionar el meu compte de google, administrar el meu compte google, administrar el meu compte de google, gestionar un compte de google, administrar un compte de google, gestionar comptes google, administrar comptes google</translation>
+<translation id="1455865776268085776">entrar en el mode d'incògnit, finestra nova d'incògnit, obrir una pestanya d'incògnit, utilitzar el mode d'incògnit, usar el mode d'incògnit, fer servir el mode d'incògnit, obre una pestanya d'incògnit, finestra nova d'incògnit, obrir pestanya d'incògnit, obrir finestra d'incògnit, com s'utilitza el mode d'incògnit, com s'utilitzen les pestanyes d'incògnit, com fer servir pestanyes d'incògnit, com navegar d'incògnit, navegació d'incògnit</translation>
 <translation id="1545931455576308147">compartir aquesta pàgina, compartir aquesta pestanya</translation>
 <translation id="1912698329644085067">canviar la configuració de chrome, gestionar la configuració</translation>
+<translation id="1938436187879863297">crear una nota de google keep, crear una nota de keep, crear nota de google, crear nota de google keep, nova nota de google, iniciar nota de google, google keep, fer una nota amb google keep, utilitzar google keep, com es crea una nota amb google keep, creació d'una nota amb google keep, com es creen notes amb google keep, creació de notes amb google keep, notes amb google keep, notes noves amb google keep</translation>
 <translation id="2003251155164817216">personalitzar l'apariència de chrome, gestionar els temes de chrome</translation>
+<translation id="2757458512261408467">crear una invitació de google cal, crear una invitació de google calendar, crear un esdeveniment de google calendar, crear una nova invitació de cal, crear una nova invitació de calendar, nou esdeveniment de cal, nou esdeveniment de calendar, nova invitació de google calendar, invitació nova amb el calendari de google, nova invitació amb el calendari de google, calendari de google invitació, google calendar invitació, crea invitació amb google calendar</translation>
+<translation id="2903767089701932453">configuració de galetes de chrome, ús de galetes, no permetis totes les galetes de tercers, gestiona la configuració de galetes, gestiona les galetes, ajustos de galetes de chrome, no permetis totes les galetes externes, no permetis galetes externes, no permetis galetes de tercers, gestiona els ajustos de galetes, administra els ajustos de galetes, gestionar galetes, administra les galetes, administrar galetes, ajustar les galetes</translation>
+<translation id="2941773220794601465">traduir aquesta pàgina, traduir aquesta pàgina web, traduir una pàgina web, traduir pàgina, traduir pàgina web, tradueix aquesta pàgina, tradueix aquesta pàgina web, tradueix una pàgina web, tradueix pàgina, tradueix pàgina web, pàgina web en un altre idioma, canviar idioma de la pàgina web, veure pàgina web en un altre idioma, llegir pàgina web en un altre idioma, consultar pàgina web en un altre idioma</translation>
+<translation id="2973110773361184993">ajustar els permisos dels llocs web, canviar els permisos, controlar la configuració del lloc web, gestionar la configuració del lloc web, ajustar la configuració del lloc web, modificar els permisos dels llocs web, modificar permisos, controla configuració del lloc web, gestiona la configuració del lloc web, ajusta la configuració del lloc web, modifica els ajustos del lloc web, canvia els ajustos del lloc web, gestiona els ajustos del lloc web, gestionar la configuració de llocs web, ajustar la configuració de llocs web</translation>
+<translation id="3371457011763794419">actualitzar chrome, actualitzar el navegador, actualitza chrome, actualitza el navegador, chrome actualització, navegador actualització, fes l'actualització de chrome, fes l'actualització del navegador, actualització de chrome, actualització del navegador, versió superior del navegador, versió superior de chrome, canviar de versió del navegador, canviar de versió de chrome</translation>
 <translation id="3489247412199563299">personalitzar l'accessibilitat de chrome, gestionar la configuració d'accessibilitat</translation>
+<translation id="3936847108123063274">crear un lloc de google, crear un lloc web de google, lloc nou de google, lloc web nou de google, obrir un lloc nou de google, crear un lloc web amb google sites, crear un google sites, crea un lloc web amb google sites, fer servir google sites, crear amb google sites, utilitzar google sites, com es crea un lloc amb google sites, crear un lloc nou amb sites, google sites, creació de llocs web amb google sites</translation>
+<translation id="4165988127016746956">crear un formulari de google, crear un fitxer a formularis de google, utilitzar formularis de google, com es fa un formulari amb formularis de google, com es crea un formulari amb formularis de google, fer un formulari de google nou, iniciar una enquesta de google, crea un formulari de google, crea formulari google, formulari de google nou, enquesta de google, formularis de google, crear formulari de google, fes un formulari de google, inicia enquesta</translation>
 <translation id="4367205929005172598">trobar un telèfon perdut, trobar el dispositiu</translation>
 <translation id="4692900934258103694">dins, a, per, per a, com, el, la, un, una, meu, en, cap a</translation>
+<translation id="4834023075966161189">crear un document de google, crear un document de google nou, obrir un document de google, crear un google docs, veure un google docs, obrir un google docs, documents de google, crear un arxiu a documents de google, crear un fitxer de documents de google, obrir un arxiu a documents de google, obre un arxiu a documents de google, com es crea un arxiu a documents de google, com es fa servir documents de google, creació de documents a documents de google, creació de documents amb google</translation>
 <translation id="4922709528022057939">dinosaure de chrome, joc del dinosaure, jugar al dinosaure</translation>
 <translation id="5061612070235737664">canviar el tipus de lletra del navegador, tipus de lletra de chrome</translation>
+<translation id="6413237123574479071">gestionar les formes de pagament, administrar les formes de pagament, controlar les formes de pagament, canviar les formes de pagament, gestiona formes pagament, controla formes pagament, administra formes pagament, gestionar els mètodes de pagament, administrar els mètodes de pagament, actualitzar la targeta de crèdit, modificar la targeta de crèdit, editar la targeta de crèdit, canviar la targeta de crèdit, modificar targeta crèdit, canviar targeta crèdit</translation>
 <translation id="6654270263159958770">afegir una cerca personalitzada, gestionar els motors de cerca, motors de cerca</translation>
+<translation id="7081494400361697539">crear un full de càlcul de google, crear un full de càlcul de workspace, full de càlcul de google nou, iniciar un full de càlcul de google nou, crea full de càlcul de google, crea full de càlcul de workspace, full de càlcul de google, fulls de càlcul de google, crear un fitxer de fulls de càlcul de google, iniciar un full de càlcul de google, iniciar un fitxer de fulls de càlcul de google, fer un google sheets, crear un google sheets, obrir un google sheets, iniciar un google sheets</translation>
+<translation id="7153639895359139570">afegeix una adreça, afegir una adreça, canvia l'adreça d'enviament, canviar l'adreça d'enviament, canviar adreça enviament, editar adreces, modificar adreces, canviar adreces, modificar adreces, gestionar les adreces, administrar les adreces, controlar les adreces, gestiona adreces, administra adreces, controla adreces</translation>
+<translation id="7242693601647412075">gestiona la configuració de seguretat, gestionar la configuració de seguretat, gestionar configuració seguretat, administra la configuració de seguretat, administrar la configuració de seguretat, administrar configuració seguretat, gestiona els ajustos de seguretat, administra els ajustos de seguretat, configuració de seguretat gestió, gestiona els paràmetres de seguretat, administra els paràmetres de seguretat, gestionar els ajustos de seguretat, administrar els ajustos de seguretat, gestionar els paràmetres de seguretat, administrar els paràmetres de seguretat</translation>
+<translation id="7441773108452086364">canviar la contrasenya de gmail, canviar la meva contrasenya de gmail, canviar contrasenya de gmail, canviar la contrasenya de google, canviar la meva contrasenya de google, restablir la contrasenya del compte de gmail, modificar la contrasenya de gmail, modifica contrasenya de gmail, canviar contrasenya google, restableix la contrasenya del compte de gmail, restablir contrasenya compte gmail, compte gmail canviar contrasenya, compte gmail restablir contrasenya, inicialitzar la contrasenya del compte de gmail, inicialitzar contrasenya compte gmail</translation>
 <translation id="7660956169713698963">personalitzar l'accessibilitat de chromeos, gestionar la configuració d'accessibilitat</translation>
 <translation id="7700496593710078083">veure l'historial de chrome, veure l'historial de navegació</translation>
 <translation id="7739523284295786564">gestionar les baixades de chrome, veure les baixades</translation>
+<translation id="7873993277886791795">crear una presentació de google, crear diapositives en una presentació de google, crear una presentació nova, presentació de google nova, iniciar presentació de google, fer un google slides, fer una presentació amb diapositives de google, crear una presentació amb diapositives de google, com s'utilitza presentacions de google, com faig un arxiu amb presentacions de google, creació d'una presentació amb presentacions de google</translation>
 <translation id="7992725801741093524">canviar la configuració de privadesa de google, gestionar la privadesa de google</translation>
 <translation id="8020024640114692614">obrir enllaços sempre a chrome, usar sempre chrome, chrome predeterminat, navegador predeterminat, suprimir safari, que chrome sigui sempre el navegador predeterminat, que chrome sigui el navegador principal, vull que chrome sigui el navegador predeterminat, obrir tots els enllaços a chrome, que chrome sigui el meu navegador principal, configurar chrome com a navegador predeterminat, fer cerques a chrome, que chrome sigui el meu navegador predeterminat, configurar chrome com a navegador principal</translation>
+<translation id="8189600756055704659">canviar la configuració de sincronització del navegador chrome, canviar la sincronització de chrome, editar la sincronització, editar la configuració de sincronització, gestionar la sincronització, administrar la sincronització, ajustar la sincronització, modificar la configuració de sincronització del navegador chrome, canviar sincronització chrome, edita la sincronització, edita sincronització, modifica sincronització, edita la configuració de sincronització, gestiona la sincronització, administra la sincronització</translation>
+<translation id="8307473667919507216">executar la comprovació de seguretat de chrome, executa la comprovació de seguretat de chrome, executar la comprovació de seguretat, comprova la seguretat amb chrome, fes una comprovació de seguretat amb chrome, comprovació de seguretat de chrome</translation>
 <translation id="8319253638505741466">tancar la finestra d'incògnit, finalitzar l'incògnit</translation>
+<translation id="8350110529112037703">gestionar les contrasenyes de chrome, administrar les contrasenyes de chrome, gestionar la contrasenya de chrome, administrar la contrasenya de chrome, veure la contrasenya a chrome, mostrar la contrasenya a chrome, consultar la contrasenya a chrome, veure les contrasenyes a chrome, mostrar les contrasenyes a chrome, consultar les contrasenyes a chrome, accedir a la contrasenya a chrome, accedir a les contrasenyes a chrome, contrasenyes a chrome, contrasenyes navegador chrome, veure contrasenyes amb chrome</translation>
+<translation id="9015559449837241926">funcions de chrome, aprendre les funcions de google chrome, conèixer les funcions de google chrome, funcions noves de chrome, veure consells de chrome, característiques de chrome, aprendre les característiques de google chrome, conèixer les característiques de google chrome, característiques noves de chrome, veure suggeriments de chrome, obtenir suggeriments de chrome, obtenir consells de chrome, accedir a suggeriments de chrome, suggeriments de chrome, consells de chrome</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/omnibox/resources/translations/omnibox_pedal_synonyms_cs.xtb b/components/omnibox/resources/translations/omnibox_pedal_synonyms_cs.xtb
index 40ae212..a27ff4b 100644
--- a/components/omnibox/resources/translations/omnibox_pedal_synonyms_cs.xtb
+++ b/components/omnibox/resources/translations/omnibox_pedal_synonyms_cs.xtb
@@ -1,19 +1,41 @@
 <?xml version="1.0" ?>
 <!DOCTYPE translationbundle>
 <translationbundle lang="cs">
+<translation id="101606685846791463">smazání mezipaměti prohlížeče, smazání historie, vymazání historie, smazání souborů cookie, vymazání souborů cookie, vymazání cookies</translation>
+<translation id="132297926492792130">ovládání účtu google, oprava účtu google, správa účtu google, správa mého účtu google</translation>
+<translation id="1455865776268085776">zapnutí anonymního režimu, aktivace anonymního režimu, nové anonymní okno, otevření anonymní karty, jak otevřít anonymní kartu, jak otevřu anonymní okno</translation>
 <translation id="1545931455576308147">sdílení stránky, sdílení karty</translation>
 <translation id="1912698329644085067">změna nastavení chromu, správa nastavení</translation>
+<translation id="1938436187879863297">vytvoření poznámky google keep, vytvoření poznámky google, vytvoření nové poznámky google keep, nová poznámka google, napsání poznámky google</translation>
 <translation id="2003251155164817216">přizpůsobení vzhledu chromu, správa motivů v chromu</translation>
+<translation id="2757458512261408467">vytvoření pozvánky v kalendáři google, vytvoření události v kalendáři google, vytvořit novou pozvánku v kalendáři, nová událost v kalendáři, nová pozvánka v kalendáři google</translation>
+<translation id="2903767089701932453">nastavení souborů cookie v chromu, používání souborů cookie, zakázání všech souborů cookie třetích stran, správa nastavení souborů cookie, správa souborů cookie</translation>
+<translation id="2941773220794601465">přeložení této stránky, přeložení webové stránky</translation>
+<translation id="2973110773361184993">úprava oprávnění webů, změna oprávnění, ovládání nastavení webu, správa nastavení webů, nastavení webu v chromu</translation>
+<translation id="3371457011763794419">aktualizace chromu, upgrade prohlížeče, jak aktualizovat chrome, jak upgradovat prohlížeč</translation>
 <translation id="3489247412199563299">přizpůsobení přístupnosti pro chrome, správa nastavení přístupnosti</translation>
+<translation id="3936847108123063274">vytvoření webu google, jak vytvořím web google, jak vytvořit web google, nový web google</translation>
+<translation id="4165988127016746956">vytvoření formuláře google, vytvoření nového formuláře google, nový formulář google, spuštění průzkumu google</translation>
 <translation id="4367205929005172598">nalezení ztraceného telefonu, funkce najdi moje zařízení</translation>
 <translation id="4692900934258103694">v, jak, mohu, můžu, a, i, z</translation>
+<translation id="4834023075966161189">vytvoření dokumentu google, vytvoření nového dokumentu google, otevření dokumentu google</translation>
 <translation id="4922709528022057939">dinosauří hra v chromu, dinosauří hra, hra s dinosaurem</translation>
 <translation id="5061612070235737664">změna písma v prohlížeči, písma v chromu</translation>
+<translation id="6413237123574479071">správa platebních metod, aktualizace platební karty</translation>
 <translation id="6654270263159958770">přidání vlastního vyhledávání, správa vyhledávačů, vyhledávače</translation>
+<translation id="7081494400361697539">vytvoření tabulky google, vytvoření tabulky workspace, nová tabulka google, vytvoření nového sešitu google</translation>
+<translation id="7153639895359139570">přidání adresy, změna dodací adresy, úprava adresy, správa adres</translation>
+<translation id="7242693601647412075">správa nastavení zabezpečení</translation>
+<translation id="7441773108452086364">změna hesla pro gmail, změna hesla k gmailu, změna hesla do gmailu, změna hesla google, obnovení hesla účtu gmail, resetování hesla účtu gmail</translation>
 <translation id="7660956169713698963">přizpůsobení přístupnosti pro chrome os, správa nastavení přístupnosti</translation>
 <translation id="7700496593710078083">zobrazení historie chromu, zobrazení historie prohlížení</translation>
 <translation id="7739523284295786564">správa stahování v chromu, zobrazení stažených souborů</translation>
+<translation id="7873993277886791795">vytvoření prezentace google, vytvoření nové prezentace, nová prezentace google, jak vytvořím prezentaci google</translation>
 <translation id="7992725801741093524">změna nastavení ochrany soukromí na googlu, správa zásad ochrany soukromí google</translation>
 <translation id="8020024640114692614">vždy otvírat odkazy v chromu, vždy používat chrome, chrome jako výchozí prohlížeč, jak chrome nastavit jako výchozí prohlížeč, smazat safari, odstranit safari, primární prohlížeč, standardní prohlížeč</translation>
+<translation id="8189600756055704659">změna nastavení synchronizace prohlížeče chrome, změna synchronizace chromu, úprava synchronizace, úprava nastavení synchronizace, správa synchronizace</translation>
+<translation id="8307473667919507216">spuštění bezpečnostní kontroly chromu, jak spustit bezpečnostní kontrolu, jak spustím bezpečnostní kontrolu</translation>
 <translation id="8319253638505741466">zavření anonymního okna, ukončení anonymního režimu</translation>
+<translation id="8350110529112037703">správa hesel v chromu, zobrazení hesla v chromu</translation>
+<translation id="9015559449837241926">funkce chromu, seznámení s funkcemi google chrome, nové funkce google chrome, tipy k chromu</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/components/optimization_guide/core/optimization_guide_features.cc b/components/optimization_guide/core/optimization_guide_features.cc
index 4cd5ad7..6ec7cde2 100644
--- a/components/optimization_guide/core/optimization_guide_features.cc
+++ b/components/optimization_guide/core/optimization_guide_features.cc
@@ -77,102 +77,120 @@
 
 // Enables the syncing of the Optimization Hints component, which provides
 // hints for what optimizations can be applied on a page load.
-const base::Feature kOptimizationHints{"OptimizationHints",
-                                       base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizationHints,
+             "OptimizationHints",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables fetching from a remote Optimization Guide Service.
-const base::Feature kRemoteOptimizationGuideFetching{
-    "OptimizationHintsFetching", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kRemoteOptimizationGuideFetching,
+             "OptimizationHintsFetching",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent{
-    "OptimizationHintsFetchingAnonymousDataConsent",
-    base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent,
+             "OptimizationHintsFetchingAnonymousDataConsent",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables performance info in the context menu and fetching from a remote
 // Optimization Guide Service.
-const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching{
-    "ContextMenuPerformanceInfoAndRemoteHintFetching",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching,
+             "ContextMenuPerformanceInfoAndRemoteHintFetching",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Enables the prediction of optimization targets.
-const base::Feature kOptimizationTargetPrediction{
-    "OptimizationTargetPrediction", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizationTargetPrediction,
+             "OptimizationTargetPrediction",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables the downloading of models.
-const base::Feature kOptimizationGuideModelDownloading {
-  "OptimizationGuideModelDownloading",
+BASE_FEATURE(kOptimizationGuideModelDownloading,
+             "OptimizationGuideModelDownloading",
 #if BUILDFLAG(BUILD_WITH_TFLITE_LIB)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else   // BUILD_WITH_TFLITE_LIB
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif  // !BUILD_WITH_TFLITE_LIB
-};
+);
 
 // Enables page content to be annotated.
-const base::Feature kPageContentAnnotations{"PageContentAnnotations",
-                                            enabled_by_default_desktop_only};
+BASE_FEATURE(kPageContentAnnotations,
+             "PageContentAnnotations",
+             enabled_by_default_desktop_only);
 
 // Enables fetching page metadata from the remote Optimization Guide service.
-const base::Feature kRemotePageMetadata{"RemotePageMetadata",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRemotePageMetadata,
+             "RemotePageMetadata",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Enables the page entities model to be annotated on every page load.
-const base::Feature kPageEntitiesPageContentAnnotations{
-    "PageEntitiesPageContentAnnotations", enabled_by_default_desktop_only};
+BASE_FEATURE(kPageEntitiesPageContentAnnotations,
+             "PageEntitiesPageContentAnnotations",
+             enabled_by_default_desktop_only);
 // Enables the page visibility model to be annotated on every page load.
-const base::Feature kPageVisibilityPageContentAnnotations{
-    "PageVisibilityPageContentAnnotations", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPageVisibilityPageContentAnnotations,
+             "PageVisibilityPageContentAnnotations",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // This feature flag does not allow for the entities model to load the name and
 // prefix filters.
-const base::Feature kPageEntitiesModelBypassFilters{
-    "PageEntitiesModelBypassFilters", enabled_by_default_desktop_only};
+BASE_FEATURE(kPageEntitiesModelBypassFilters,
+             "PageEntitiesModelBypassFilters",
+             enabled_by_default_desktop_only);
 
 // This feature flag enables resetting the entities model on shutdown.
-const base::Feature kPageEntitiesModelResetOnShutdown{
-    "PageEntitiesModelResetOnShutdown", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPageEntitiesModelResetOnShutdown,
+             "PageEntitiesModelResetOnShutdown",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Enables push notification of hints.
-const base::Feature kPushNotifications{"OptimizationGuidePushNotifications",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPushNotifications,
+             "OptimizationGuidePushNotifications",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // This feature flag does not turn off any behavior, it is only used for
 // experiment parameters.
-const base::Feature kPageTextExtraction{
-    "OptimizationGuidePageContentExtraction", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kPageTextExtraction,
+             "OptimizationGuidePageContentExtraction",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables the validation of optimization guide metadata.
-const base::Feature kOptimizationGuideMetadataValidation{
-    "OptimizationGuideMetadataValidation", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizationGuideMetadataValidation,
+             "OptimizationGuideMetadataValidation",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPageTopicsBatchAnnotations{
-    "PageTopicsBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kPageVisibilityBatchAnnotations{
-    "PageVisibilityBatchAnnotations", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kPageTopicsBatchAnnotations,
+             "PageTopicsBatchAnnotations",
+             base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kPageVisibilityBatchAnnotations,
+             "PageVisibilityBatchAnnotations",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kUseLocalPageEntitiesMetadataProvider{
-    "UseLocalPageEntitiesMetadataProvider", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseLocalPageEntitiesMetadataProvider,
+             "UseLocalPageEntitiesMetadataProvider",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPageContentAnnotationsValidation{
-    "PageContentAnnotationsValidation", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPageContentAnnotationsValidation,
+             "PageContentAnnotationsValidation",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPreventLongRunningPredictionModels{
-    "PreventLongRunningPredictionModels", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kPreventLongRunningPredictionModels,
+             "PreventLongRunningPredictionModels",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature
-    kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations{
-        "OptimizationGuideUseContinueOnShutdownForPageContentAnnotations",
-        base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations,
+             "OptimizationGuideUseContinueOnShutdownForPageContentAnnotations",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kOverrideNumThreadsForModelExecution{
-    "OverrideNumThreadsForModelExecution", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kOverrideNumThreadsForModelExecution,
+             "OverrideNumThreadsForModelExecution",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kOptGuideEnableXNNPACKDelegateWithTFLite{
-    "OptGuideEnableXNNPACKDelegateWithTFLite",
-    base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kOptGuideEnableXNNPACKDelegateWithTFLite,
+             "OptGuideEnableXNNPACKDelegateWithTFLite",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kOptimizationHintsComponent{
-    "OptimizationHintsComponent", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizationHintsComponent,
+             "OptimizationHintsComponent",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // The default value here is a bit of a guess.
 // TODO(crbug/1163244): This should be tuned once metrics are available.
diff --git a/components/optimization_guide/core/optimization_guide_features.h b/components/optimization_guide/core/optimization_guide_features.h
index d115e3b..aeac5818 100644
--- a/components/optimization_guide/core/optimization_guide_features.h
+++ b/components/optimization_guide/core/optimization_guide_features.h
@@ -22,35 +22,35 @@
 namespace optimization_guide {
 namespace features {
 
-extern const base::Feature kOptimizationHints;
-extern const base::Feature kRemoteOptimizationGuideFetching;
-extern const base::Feature kRemoteOptimizationGuideFetchingAnonymousDataConsent;
-extern const base::Feature kContextMenuPerformanceInfoAndRemoteHintFetching;
-extern const base::Feature kOptimizationTargetPrediction;
-extern const base::Feature kOptimizationGuideModelDownloading;
-extern const base::Feature kPageContentAnnotations;
-extern const base::Feature kPageEntitiesPageContentAnnotations;
-extern const base::Feature kPageVisibilityPageContentAnnotations;
-extern const base::Feature kPageEntitiesModelBypassFilters;
-extern const base::Feature kPageTextExtraction;
-extern const base::Feature kPushNotifications;
-extern const base::Feature kOptimizationGuideMetadataValidation;
-extern const base::Feature kPageTopicsBatchAnnotations;
-extern const base::Feature kPageVisibilityBatchAnnotations;
-extern const base::Feature kPageEntitiesModelResetOnShutdown;
-extern const base::Feature kPageEntitiesModelBypassFilters;
-extern const base::Feature kUseLocalPageEntitiesMetadataProvider;
-extern const base::Feature kPageContentAnnotationsValidation;
-extern const base::Feature kPreventLongRunningPredictionModels;
-extern const base::Feature kOverrideNumThreadsForModelExecution;
-extern const base::Feature kOptGuideEnableXNNPACKDelegateWithTFLite;
-extern const base::Feature kRemotePageMetadata;
-extern const base::Feature kOptimizationHintsComponent;
+BASE_DECLARE_FEATURE(kOptimizationHints);
+BASE_DECLARE_FEATURE(kRemoteOptimizationGuideFetching);
+BASE_DECLARE_FEATURE(kRemoteOptimizationGuideFetchingAnonymousDataConsent);
+BASE_DECLARE_FEATURE(kContextMenuPerformanceInfoAndRemoteHintFetching);
+BASE_DECLARE_FEATURE(kOptimizationTargetPrediction);
+BASE_DECLARE_FEATURE(kOptimizationGuideModelDownloading);
+BASE_DECLARE_FEATURE(kPageContentAnnotations);
+BASE_DECLARE_FEATURE(kPageEntitiesPageContentAnnotations);
+BASE_DECLARE_FEATURE(kPageVisibilityPageContentAnnotations);
+BASE_DECLARE_FEATURE(kPageEntitiesModelBypassFilters);
+BASE_DECLARE_FEATURE(kPageTextExtraction);
+BASE_DECLARE_FEATURE(kPushNotifications);
+BASE_DECLARE_FEATURE(kOptimizationGuideMetadataValidation);
+BASE_DECLARE_FEATURE(kPageTopicsBatchAnnotations);
+BASE_DECLARE_FEATURE(kPageVisibilityBatchAnnotations);
+BASE_DECLARE_FEATURE(kPageEntitiesModelResetOnShutdown);
+BASE_DECLARE_FEATURE(kPageEntitiesModelBypassFilters);
+BASE_DECLARE_FEATURE(kUseLocalPageEntitiesMetadataProvider);
+BASE_DECLARE_FEATURE(kPageContentAnnotationsValidation);
+BASE_DECLARE_FEATURE(kPreventLongRunningPredictionModels);
+BASE_DECLARE_FEATURE(kOverrideNumThreadsForModelExecution);
+BASE_DECLARE_FEATURE(kOptGuideEnableXNNPACKDelegateWithTFLite);
+BASE_DECLARE_FEATURE(kRemotePageMetadata);
+BASE_DECLARE_FEATURE(kOptimizationHintsComponent);
 
 // Enables use of task runner with trait CONTINUE_ON_SHUTDOWN for page content
 // annotations on-device models.
-extern const base::Feature
-    kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations;
+BASE_DECLARE_FEATURE(
+    kOptimizationGuideUseContinueOnShutdownForPageContentAnnotations);
 
 // The grace period duration for how long to give outstanding page text dump
 // requests to respond after DidFinishLoad.
diff --git a/components/password_manager/core/browser/hash_password_manager.cc b/components/password_manager/core/browser/hash_password_manager.cc
index 0a7dc2b..10cc672e 100644
--- a/components/password_manager/core/browser/hash_password_manager.cc
+++ b/components/password_manager/core/browser/hash_password_manager.cc
@@ -135,8 +135,8 @@
   // If we've already saved password hash for |username|, and the |password| is
   // unchanged, no need to save password hash again. Instead we update the last
   // sign in timestamp.
-  ListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
-  for (base::Value& password_hash_data : update.Get()->GetList()) {
+  ScopedListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
+  for (base::Value& password_hash_data : update.Get()) {
     if (AreUsernamesSame(
             GetAndDecryptField(password_hash_data, kUsernameFieldKey),
             IsGaiaPassword(password_hash_data), username, is_gaia_password)) {
@@ -183,8 +183,8 @@
   if (!prefs_)
     return;
 
-  ListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
-  update->GetList().EraseIf([&](const auto& dict) {
+  ScopedListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
+  update->EraseIf([&](const auto& dict) {
     return AreUsernamesSame(GetAndDecryptField(dict, kUsernameFieldKey),
                             IsGaiaPassword(dict), username, is_gaia_password);
   });
@@ -194,8 +194,8 @@
   if (!prefs_)
     return;
 
-  ListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
-  update->GetList().EraseIf([&](const auto& dict) {
+  ScopedListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
+  update->EraseIf([&](const auto& dict) {
     return GetAndDecryptField(dict, kIsGaiaFieldKey) ==
            BooleanToString(is_gaia_password);
   });
@@ -205,8 +205,8 @@
   if (!prefs_)
     return;
 
-  ListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
-  update->GetList().EraseIf([](const base::Value& data) {
+  ScopedListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
+  update->EraseIf([](const base::Value& data) {
     if (GetAndDecryptField(data, kIsGaiaFieldKey) == "false") {
       return false;
     }
@@ -311,8 +311,8 @@
   encrypted_password_hash_entry.Set(kIsGaiaFieldKey, encrypted_is_gaia_value);
   encrypted_password_hash_entry.Set(kLastSignInTimeFieldKey,
                                     base::Time::Now().ToDoubleT());
-  ListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
-  base::Value::List& update_list = update->GetList();
+  ScopedListPrefUpdate update(prefs_, prefs::kPasswordHashDataList);
+  base::Value::List& update_list = update.Get();
   size_t num_erased = update_list.EraseIf([&](const auto& dict) {
     return AreUsernamesSame(GetAndDecryptField(dict, kUsernameFieldKey),
                             IsGaiaPassword(dict), password_hash_data.username,
diff --git a/components/password_manager/core/browser/password_change_success_tracker_impl.cc b/components/password_manager/core/browser/password_change_success_tracker_impl.cc
index 78603eb2..9fd0bb3 100644
--- a/components/password_manager/core/browser/password_change_success_tracker_impl.cc
+++ b/components/password_manager/core/browser/password_change_success_tracker_impl.cc
@@ -225,9 +225,9 @@
     const std::string& username,
     StartEvent event_type,
     EntryPoint entry_point) {
-  ListPrefUpdate update(pref_service_,
-                        prefs::kPasswordChangeSuccessTrackerFlows);
-  base::Value::List& flows = update->GetList();
+  ScopedListPrefUpdate update(pref_service_,
+                              prefs::kPasswordChangeSuccessTrackerFlows);
+  base::Value::List& flows = update.Get();
   RemoveFlowsWithTimeout(flows);
 
   flows.Append(
@@ -257,9 +257,9 @@
           base::ranges::find(incomplete_manual_flows_, ExtractEtldPlus1(url),
                              &IncompleteFlow::etld_plus_1);
       it != incomplete_manual_flows_.cend()) {
-    ListPrefUpdate update(pref_service_,
-                          prefs::kPasswordChangeSuccessTrackerFlows);
-    base::Value::List& flows = update->GetList();
+    ScopedListPrefUpdate update(pref_service_,
+                                prefs::kPasswordChangeSuccessTrackerFlows);
+    base::Value::List& flows = update.Get();
     RemoveFlowsWithTimeout(flows);
 
     flows.Append(
@@ -273,9 +273,9 @@
     const GURL& url,
     const std::string& username,
     StartEvent new_event_type) {
-  ListPrefUpdate update(pref_service_,
-                        prefs::kPasswordChangeSuccessTrackerFlows);
-  base::Value::List& flows = update->GetList();
+  ScopedListPrefUpdate update(pref_service_,
+                              prefs::kPasswordChangeSuccessTrackerFlows);
+  base::Value::List& flows = update.Get();
   RemoveFlowsWithTimeout(flows);
 
   // Currently, this method can only get called if a request link is requested
@@ -317,9 +317,9 @@
   if (read_flows.empty())
     return;
 
-  ListPrefUpdate update(pref_service_,
-                        prefs::kPasswordChangeSuccessTrackerFlows);
-  base::Value::List& flows = update->GetList();
+  ScopedListPrefUpdate update(pref_service_,
+                              prefs::kPasswordChangeSuccessTrackerFlows);
+  base::Value::List& flows = update.Get();
   RemoveFlowsWithTimeout(flows);
 
   // In the unlikely case that there are two flows with the same eTLD+1 and
diff --git a/components/password_manager/core/browser/password_manager_features_util.cc b/components/password_manager/core/browser/password_manager_features_util.cc
index 5ed4ff03..1a58d83 100644
--- a/components/password_manager/core/browser/password_manager_features_util.cc
+++ b/components/password_manager/core/browser/password_manager_features_util.cc
@@ -138,7 +138,7 @@
 };
 
 // Helper class for updating account storage settings for a given account. Like
-// with DictionaryPrefUpdate, updates are only published once the instance gets
+// with ScopedDictPrefUpdate, updates are only published once the instance gets
 // destroyed.
 class ScopedAccountStorageSettingsUpdate {
  public:
@@ -148,15 +148,7 @@
         account_hash_(gaia_id_hash.ToBase64()) {}
 
   base::Value::Dict* GetOrCreateAccountSettings() {
-    base::Value::Dict* account_settings =
-        update_->GetDict().FindDict(account_hash_);
-    if (!account_settings) {
-      account_settings = &update_->GetDict()
-                              .Set(account_hash_, base::Value::Dict())
-                              ->GetDict();
-    }
-    DCHECK(account_settings);
-    return account_settings;
+    return update_->EnsureDict(account_hash_);
   }
 
   void SetOptedIn() {
@@ -179,10 +171,10 @@
     account_settings->Set(kMoveToAccountStoreOfferedCountKey, ++count);
   }
 
-  void ClearAllSettings() { update_->RemoveKey(account_hash_); }
+  void ClearAllSettings() { update_->Remove(account_hash_); }
 
  private:
-  DictionaryPrefUpdate update_;
+  ScopedDictPrefUpdate update_;
   const std::string account_hash_;
 };
 }  // namespace
@@ -405,15 +397,15 @@
   // Now remove any settings for account that are *not* in the set of hashes.
   // DictionaryValue doesn't allow removing elements while iterating, so first
   // collect all the keys to remove, then actually remove them in a second pass.
-  DictionaryPrefUpdate update(pref_service,
+  ScopedDictPrefUpdate update(pref_service,
                               prefs::kAccountStoragePerAccountSettings);
   std::vector<std::string> keys_to_remove;
-  for (auto kv : update->DictItems()) {
+  for (auto kv : *update) {
     if (!hashes_to_keep.contains(kv.first))
       keys_to_remove.push_back(kv.first);
   }
   for (const std::string& key_to_remove : keys_to_remove)
-    update->RemoveKey(key_to_remove);
+    update->Remove(key_to_remove);
 }
 
 void ClearAccountStorageSettingsForAllUsers(PrefService* pref_service) {
diff --git a/components/permissions/unused_site_permissions_service.cc b/components/permissions/unused_site_permissions_service.cc
index 363114da..dda3145 100644
--- a/components/permissions/unused_site_permissions_service.cc
+++ b/components/permissions/unused_site_permissions_service.cc
@@ -4,12 +4,12 @@
 
 #include "components/permissions/unused_site_permissions_service.h"
 #include "base/bind.h"
-#include "base/callback_forward.h"
-#include "base/callback_helpers.h"
+#include "base/functional/callback_helpers.h"
+#include "base/memory/scoped_refptr.h"
 #include "base/run_loop.h"
 #include "base/task/task_traits.h"
 #include "base/task/thread_pool.h"
-#include "base/threading/thread_task_runner_handle.h"
+#include "base/time/clock.h"
 #include "base/time/default_clock.h"
 #include "components/content_settings/core/browser/content_settings_info.h"
 #include "components/content_settings/core/browser/content_settings_registry.h"
@@ -22,6 +22,39 @@
 #include "url/origin.h"
 
 namespace permissions {
+namespace {
+
+// Called on a background thread.
+UnusedSitePermissionsService::UnusedPermissionMap GetUnusedPermissionsMap(
+    base::Clock* clock,
+    scoped_refptr<HostContentSettingsMap> hcsm) {
+  UnusedSitePermissionsService::UnusedPermissionMap recently_unused;
+  base::Time threshold =
+      clock->Now() - content_settings::GetCoarseTimePrecision();
+
+  auto* registry = content_settings::ContentSettingsRegistry::GetInstance();
+  for (const content_settings::ContentSettingsInfo* info : *registry) {
+    ContentSettingsType type = info->website_settings_info()->type();
+    if (!content_settings::CanTrackLastVisit(type))
+      continue;
+    ContentSettingsForOneType settings;
+    hcsm->GetSettingsForOneType(type, &settings);
+    for (const auto& setting : settings) {
+      // Skip wildcard pattern that are not host specific. These shouldn't
+      // track visit timestamps as they would match any URL.
+      if (setting.primary_pattern.GetHost().empty())
+        continue;
+      if (setting.metadata.last_visited != base::Time() &&
+          setting.metadata.last_visited < threshold) {
+        auto& list = recently_unused[setting.primary_pattern.GetHost()];
+        list.push_back({type, std::move(setting)});
+      }
+    }
+  }
+  return recently_unused;
+}
+
+}  // namespace
 
 UnusedSitePermissionsService::TabHelper::TabHelper(
     content::WebContents* web_contents,
@@ -51,7 +84,9 @@
 
 UnusedSitePermissionsService::~UnusedSitePermissionsService() = default;
 
-void UnusedSitePermissionsService::Shutdown() {}
+void UnusedSitePermissionsService::Shutdown() {
+  update_timer_.Stop();
+}
 
 void UnusedSitePermissionsService::StartRepeatedUpdates() {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
@@ -75,8 +110,7 @@
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   base::ThreadPool::PostTaskAndReplyWithResult(
       FROM_HERE, {base::TaskPriority::BEST_EFFORT},
-      base::BindOnce(&UnusedSitePermissionsService::GetUnusedPermissionsMap,
-                     base::Unretained(this)),
+      base::BindOnce(&GetUnusedPermissionsMap, clock_, hcsm_),
       base::BindOnce(
           &UnusedSitePermissionsService::OnUnusedPermissionsMapRetrieved,
           AsWeakPtr(), std::move(callback)));
@@ -107,35 +141,6 @@
   }
 }
 
-// Called on a background thread.
-UnusedSitePermissionsService::UnusedPermissionMap
-UnusedSitePermissionsService::GetUnusedPermissionsMap() {
-  UnusedPermissionMap recently_unused;
-  base::Time threshold =
-      clock_->Now() - content_settings::GetCoarseTimePrecision();
-
-  auto* registry = content_settings::ContentSettingsRegistry::GetInstance();
-  for (const content_settings::ContentSettingsInfo* info : *registry) {
-    ContentSettingsType type = info->website_settings_info()->type();
-    if (!content_settings::CanTrackLastVisit(type))
-      continue;
-    ContentSettingsForOneType settings;
-    hcsm_->GetSettingsForOneType(type, &settings);
-    for (const auto& setting : settings) {
-      // Skip wildcard pattern that are not host specific. These shouldn't
-      // track visit timestamps as they would match any URL.
-      if (setting.primary_pattern.GetHost().empty())
-        continue;
-      if (setting.metadata.last_visited != base::Time() &&
-          setting.metadata.last_visited < threshold) {
-        auto& list = recently_unused[setting.primary_pattern.GetHost()];
-        list.push_back({type, std::move(setting)});
-      }
-    }
-  }
-  return recently_unused;
-}
-
 void UnusedSitePermissionsService::OnUnusedPermissionsMapRetrieved(
     base::OnceClosure callback,
     UnusedPermissionMap map) {
diff --git a/components/permissions/unused_site_permissions_service.h b/components/permissions/unused_site_permissions_service.h
index 1561d5f1..b8301850 100644
--- a/components/permissions/unused_site_permissions_service.h
+++ b/components/permissions/unused_site_permissions_service.h
@@ -82,19 +82,16 @@
   std::vector<ContentSettingEntry> GetTrackedUnusedPermissionsForTesting();
   void UpdateUnusedPermissionsForTesting();
 
- private:
   using UnusedPermissionMap =
       std::map<std::string, std::list<ContentSettingEntry>>;
 
+ private:
   // Called by TabHelper when a URL was visited.
   void OnPageVisited(const url::Origin& origin);
 
   // Called on UI thread
   void UpdateUnusedPermissionsAsync(base::RepeatingClosure callback);
 
-  // Called on a background thread.
-  UnusedPermissionMap GetUnusedPermissionsMap();
-
   // Called on UI thread.
   void OnUnusedPermissionsMapRetrieved(base::OnceClosure callback,
                                        UnusedPermissionMap map);
@@ -111,4 +108,4 @@
 
 }  // namespace permissions
 
-#endif  // COMPONENTS_PERMISSIONS_UNUSED_SITE_PERMISSIONS_SERVICE_H_
\ No newline at end of file
+#endif  // COMPONENTS_PERMISSIONS_UNUSED_SITE_PERMISSIONS_SERVICE_H_
diff --git a/components/permissions/unused_site_permissions_service_unittest.cc b/components/permissions/unused_site_permissions_service_unittest.cc
index a5f41ae..97366e05 100644
--- a/components/permissions/unused_site_permissions_service_unittest.cc
+++ b/components/permissions/unused_site_permissions_service_unittest.cc
@@ -6,7 +6,6 @@
 #include <ctime>
 #include <memory>
 #include "base/memory/scoped_refptr.h"
-#include "base/run_loop.h"
 #include "base/test/simple_test_clock.h"
 #include "base/time/clock.h"
 #include "components/content_settings/core/browser/content_settings_utils.h"
diff --git a/components/policy/core/browser/configuration_policy_handler.cc b/components/policy/core/browser/configuration_policy_handler.cc
index b9475c6..6a67369 100644
--- a/components/policy/core/browser/configuration_policy_handler.cc
+++ b/components/policy/core/browser/configuration_policy_handler.cc
@@ -267,7 +267,7 @@
 
   DCHECK(input->is_list());
   int index = -1;
-  for (const auto& entry : input->GetListDeprecated()) {
+  for (const auto& entry : input->GetList()) {
     ++index;
     if (!entry.is_string()) {
       if (errors) {
diff --git a/components/policy/core/browser/policy_conversions_client.cc b/components/policy/core/browser/policy_conversions_client.cc
index 5bf3ac9..eec3077 100644
--- a/components/policy/core/browser/policy_conversions_client.cc
+++ b/components/policy/core/browser/policy_conversions_client.cc
@@ -219,7 +219,7 @@
   }
 
   Value::List result;
-  for (const auto& element : value_copy.GetListDeprecated()) {
+  for (const auto& element : value_copy.GetList()) {
     if (element.is_dict()) {
       result.Append(Value(ConvertValueToJSON(element)));
     } else {
diff --git a/components/policy/core/browser/policy_pref_mapping_test.cc b/components/policy/core/browser/policy_pref_mapping_test.cc
index 7ac4a712..1314a3ad 100644
--- a/components/policy/core/browser/policy_pref_mapping_test.cc
+++ b/components/policy/core/browser/policy_pref_mapping_test.cc
@@ -296,7 +296,7 @@
 
     const base::Value* os_list = test_case.FindListKey("os");
     if (os_list) {
-      for (const auto& os : os_list->GetListDeprecated()) {
+      for (const auto& os : os_list->GetList()) {
         if (os.is_string())
           supported_os_.push_back(os.GetString());
       }
@@ -305,8 +305,7 @@
     const base::Value* policy_pref_mapping_tests =
         test_case.FindListKey("policy_pref_mapping_tests");
     if (policy_pref_mapping_tests) {
-      for (const auto& mapping :
-           policy_pref_mapping_tests->GetListDeprecated()) {
+      for (const auto& mapping : policy_pref_mapping_tests->GetList()) {
         if (mapping.is_dict()) {
           policy_pref_mapping_tests_.push_back(
               std::make_unique<PolicyPrefMappingTest>(mapping));
diff --git a/components/policy/core/browser/url_allowlist_policy_handler.cc b/components/policy/core/browser/url_allowlist_policy_handler.cc
index da2bea8..85268ee 100644
--- a/components/policy/core/browser/url_allowlist_policy_handler.cc
+++ b/components/policy/core/browser/url_allowlist_policy_handler.cc
@@ -42,7 +42,7 @@
 
   // Filters more than |policy::kMaxUrlFiltersPerPolicy| are ignored, add a
   // warning message.
-  if (url_allowlist->GetListDeprecated().size() > kMaxUrlFiltersPerPolicy) {
+  if (url_allowlist->GetList().size() > kMaxUrlFiltersPerPolicy) {
     errors->AddError(policy_name(),
                      IDS_POLICY_URL_ALLOW_BLOCK_LIST_MAX_FILTERS_LIMIT_WARNING,
                      base::NumberToString(kMaxUrlFiltersPerPolicy));
@@ -51,7 +51,7 @@
   bool type_error = false;
   std::string policy;
   std::vector<std::string> invalid_policies;
-  for (const auto& policy_iter : url_allowlist->GetListDeprecated()) {
+  for (const auto& policy_iter : url_allowlist->GetList()) {
     if (!policy_iter.is_string()) {
       type_error = true;
       continue;
diff --git a/components/policy/core/browser/url_allowlist_policy_handler_unittest.cc b/components/policy/core/browser/url_allowlist_policy_handler_unittest.cc
index d1e89294..e4d5062 100644
--- a/components/policy/core/browser/url_allowlist_policy_handler_unittest.cc
+++ b/components/policy/core/browser/url_allowlist_policy_handler_unittest.cc
@@ -87,7 +87,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlAllowlist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLAllowlistPolicyHandlerTest, ApplyPolicySettings_WrongElementType) {
@@ -101,7 +101,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlAllowlist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLAllowlistPolicyHandlerTest, ApplyPolicySettings_Successful) {
@@ -113,9 +113,9 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlAllowlist, &out));
   ASSERT_TRUE(out->is_list());
-  ASSERT_EQ(1U, out->GetListDeprecated().size());
+  ASSERT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestAllowlistValue, *out_string);
 }
@@ -134,7 +134,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlAllowlist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(max_filters_per_policy, out->GetListDeprecated().size());
+  EXPECT_EQ(max_filters_per_policy, out->GetList().size());
 }
 
 // Test that the warning message, mapped to
@@ -160,7 +160,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlAllowlist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(max_filters_per_policy + 1, out->GetListDeprecated().size());
+  EXPECT_EQ(max_filters_per_policy + 1, out->GetList().size());
 }
 
 TEST_F(URLAllowlistPolicyHandlerTest, ValidatePolicy) {
diff --git a/components/policy/core/browser/url_blocklist_policy_handler.cc b/components/policy/core/browser/url_blocklist_policy_handler.cc
index b9bc793..391fe82 100644
--- a/components/policy/core/browser/url_blocklist_policy_handler.cc
+++ b/components/policy/core/browser/url_blocklist_policy_handler.cc
@@ -45,7 +45,7 @@
       errors->AddError(key::kDisabledSchemes, IDS_POLICY_TYPE_ERROR,
                        base::Value::GetTypeName(base::Value::Type::LIST));
     } else {
-      disabled_schemes_entries = disabled_schemes->GetListDeprecated().size();
+      disabled_schemes_entries = disabled_schemes->GetList().size();
     }
   }
 #endif
@@ -64,7 +64,7 @@
 
   // Filters more than |url_util::kMaxFiltersPerPolicy| are ignored, add a
   // warning message.
-  if (url_blocklist->GetListDeprecated().size() + disabled_schemes_entries >
+  if (url_blocklist->GetList().size() + disabled_schemes_entries >
       kMaxUrlFiltersPerPolicy) {
     errors->AddError(policy_name(),
                      IDS_POLICY_URL_ALLOW_BLOCK_LIST_MAX_FILTERS_LIMIT_WARNING,
@@ -74,7 +74,7 @@
   bool type_error = false;
   std::string policy;
   std::vector<std::string> invalid_policies;
-  for (const auto& policy_iter : url_blocklist->GetListDeprecated()) {
+  for (const auto& policy_iter : url_blocklist->GetList()) {
     if (!policy_iter.is_string()) {
       type_error = true;
       continue;
diff --git a/components/policy/core/browser/url_blocklist_policy_handler_unittest.cc b/components/policy/core/browser/url_blocklist_policy_handler_unittest.cc
index 5b1c5e3..677b872 100644
--- a/components/policy/core/browser/url_blocklist_policy_handler_unittest.cc
+++ b/components/policy/core/browser/url_blocklist_policy_handler_unittest.cc
@@ -126,7 +126,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLBlocklistPolicyHandlerTest,
@@ -141,7 +141,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLBlocklistPolicyHandlerTest,
@@ -154,9 +154,9 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(1U, out->GetListDeprecated().size());
+  EXPECT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestDisabledScheme + std::string("://*"), *out_string);
 }
@@ -174,13 +174,13 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  ASSERT_EQ(2U, out->GetListDeprecated().size());
+  ASSERT_EQ(2U, out->GetList().size());
 
-  const std::string* out_string1 = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string1 = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string1);
   EXPECT_EQ(kTestDisabledScheme + std::string("://*"), *out_string1);
 
-  const std::string* out_string2 = out->GetListDeprecated()[1].GetIfString();
+  const std::string* out_string2 = out->GetList()[1].GetIfString();
   ASSERT_TRUE(out_string2);
   EXPECT_EQ(kTestBlocklistValue, *out_string2);
 }
@@ -213,7 +213,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(max_filters_per_policy + 1, out->GetListDeprecated().size());
+  EXPECT_EQ(max_filters_per_policy + 1, out->GetList().size());
 }
 #endif
 
@@ -231,7 +231,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLBlocklistPolicyHandlerTest,
@@ -246,7 +246,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(0U, out->GetListDeprecated().size());
+  EXPECT_EQ(0U, out->GetList().size());
 }
 
 TEST_F(URLBlocklistPolicyHandlerTest,
@@ -259,9 +259,9 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(1U, out->GetListDeprecated().size());
+  EXPECT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestBlocklistValue, *out_string);
 }
@@ -280,7 +280,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(max_filters_per_policy, out->GetListDeprecated().size());
+  EXPECT_EQ(max_filters_per_policy, out->GetList().size());
 }
 
 // Test that the warning message, mapped to
@@ -306,7 +306,7 @@
   base::Value* out = nullptr;
   EXPECT_TRUE(prefs_.GetValue(policy_prefs::kUrlBlocklist, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(max_filters_per_policy + 1, out->GetListDeprecated().size());
+  EXPECT_EQ(max_filters_per_policy + 1, out->GetList().size());
 }
 
 TEST_F(URLBlocklistPolicyHandlerTest, ValidatePolicy) {
diff --git a/components/policy/core/browser/url_scheme_list_policy_handler.cc b/components/policy/core/browser/url_scheme_list_policy_handler.cc
index 7c92013..69a6ca7 100644
--- a/components/policy/core/browser/url_scheme_list_policy_handler.cc
+++ b/components/policy/core/browser/url_scheme_list_policy_handler.cc
@@ -37,19 +37,19 @@
 
   const base::Value* schemes =
       policies.GetValue(policy_name(), base::Value::Type::LIST);
-  if (!schemes || schemes->GetListDeprecated().empty())
+  if (!schemes || schemes->GetList().empty())
     return true;
 
   // Filters more than |url_util::kMaxFiltersPerPolicy| are ignored, add a
   // warning message.
-  if (schemes->GetListDeprecated().size() > policy::kMaxUrlFiltersPerPolicy) {
+  if (schemes->GetList().size() > policy::kMaxUrlFiltersPerPolicy) {
     errors->AddError(policy_name(),
                      IDS_POLICY_URL_ALLOW_BLOCK_LIST_MAX_FILTERS_LIMIT_WARNING,
                      base::NumberToString(policy::kMaxUrlFiltersPerPolicy));
   }
 
   std::vector<std::string> invalid_policies;
-  for (const auto& entry : schemes->GetListDeprecated()) {
+  for (const auto& entry : schemes->GetList()) {
     if (!ValidatePolicyEntry(entry.GetIfString()))
       invalid_policies.push_back(entry.GetString());
   }
@@ -59,7 +59,7 @@
                      base::JoinString(invalid_policies, ","));
   }
 
-  return invalid_policies.size() < schemes->GetListDeprecated().size();
+  return invalid_policies.size() < schemes->GetList().size();
 }
 
 void URLSchemeListPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
diff --git a/components/policy/core/browser/url_scheme_list_policy_handler_unittest.cc b/components/policy/core/browser/url_scheme_list_policy_handler_unittest.cc
index c2a136c..652f9dcb 100644
--- a/components/policy/core/browser/url_scheme_list_policy_handler_unittest.cc
+++ b/components/policy/core/browser/url_scheme_list_policy_handler_unittest.cc
@@ -120,7 +120,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_TRUE(out->GetListDeprecated().empty());
+  EXPECT_TRUE(out->GetList().empty());
 }
 
 TEST_F(URLSchemeListPolicyHandlerTest, ApplyPolicySettings_WrongElementType) {
@@ -135,9 +135,9 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(1U, out->GetListDeprecated().size());
+  EXPECT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestUrl, *out_string);
 }
@@ -154,9 +154,9 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(1U, out->GetListDeprecated().size());
+  EXPECT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestUrl, *out_string);
 }
@@ -170,9 +170,9 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(1U, out->GetListDeprecated().size());
+  EXPECT_EQ(1U, out->GetList().size());
 
-  const std::string* out_string = out->GetListDeprecated()[0].GetIfString();
+  const std::string* out_string = out->GetList()[0].GetIfString();
   ASSERT_TRUE(out_string);
   EXPECT_EQ(kTestUrl, *out_string);
 }
@@ -189,7 +189,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(policy::kMaxUrlFiltersPerPolicy, out->GetListDeprecated().size());
+  EXPECT_EQ(policy::kMaxUrlFiltersPerPolicy, out->GetList().size());
 }
 
 // Test that the warning message, mapped to
@@ -214,7 +214,7 @@
   base::Value* out;
   EXPECT_TRUE(prefs_.GetValue(kTestPrefName, &out));
   ASSERT_TRUE(out->is_list());
-  EXPECT_EQ(policy::kMaxUrlFiltersPerPolicy, out->GetListDeprecated().size());
+  EXPECT_EQ(policy::kMaxUrlFiltersPerPolicy, out->GetList().size());
 }
 
 TEST_F(URLSchemeListPolicyHandlerTest, ValidatePolicyEntry) {
diff --git a/components/policy/core/common/cloud/cloud_policy_client_unittest.cc b/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
index db8e95e..f606a22 100644
--- a/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
+++ b/components/policy/core/common/cloud/cloud_policy_client_unittest.cc
@@ -1849,7 +1849,7 @@
   base::Value* events =
       payload->FindPath(RealtimeReportingJobConfiguration::kEventListKey);
   EXPECT_EQ(base::Value::Type::LIST, events->type());
-  EXPECT_EQ(1u, events->GetListDeprecated().size());
+  EXPECT_EQ(1u, events->GetList().size());
 }
 
 TEST_F(CloudPolicyClientTest, RealtimeReportMerge) {
@@ -1924,7 +1924,7 @@
   ASSERT_EQ(
       2u,
       payload->FindListPath(RealtimeReportingJobConfiguration::kEventListKey)
-          ->GetListDeprecated()
+          ->GetList()
           .size());
 }
 
diff --git a/components/policy/core/common/cloud/dmserver_job_configurations.h b/components/policy/core/common/cloud/dmserver_job_configurations.h
index 1ad040a..44cd900 100644
--- a/components/policy/core/common/cloud/dmserver_job_configurations.h
+++ b/components/policy/core/common/cloud/dmserver_job_configurations.h
@@ -28,13 +28,6 @@
 
 // Struct containing the result data for a given job.
 struct DMServerJobResult {
-  DMServerJobResult() = default;
-  DMServerJobResult(const DMServerJobResult&) = delete;
-  DMServerJobResult(DMServerJobResult&&) = default;
-  DMServerJobResult& operator=(const DMServerJobResult&) = delete;
-  DMServerJobResult& operator=(DMServerJobResult&&) = default;
-  ~DMServerJobResult() = default;
-
   // Unowned pointer the return value of `DeviceManagementService::CreateJob`.
   const DeviceManagementService::Job* job = nullptr;
 
diff --git a/components/policy/core/common/cloud/encrypted_reporting_job_configuration_unittest.cc b/components/policy/core/common/cloud/encrypted_reporting_job_configuration_unittest.cc
index dc66577..850e59c 100644
--- a/components/policy/core/common/cloud/encrypted_reporting_job_configuration_unittest.cc
+++ b/components/policy/core/common/cloud/encrypted_reporting_job_configuration_unittest.cc
@@ -384,12 +384,11 @@
 
   base::Value* record_list = nullptr;
   GetRecordList(&configuration, &record_list);
-  EXPECT_EQ(record_list->GetListDeprecated().size(), 1u);
-  EXPECT_EQ(record_list->GetListDeprecated()[0], record_value);
+  EXPECT_EQ(record_list->GetList().size(), 1u);
+  EXPECT_EQ(record_list->GetList()[0], record_value);
 
   std::string* encrypted_wrapped_record =
-      record_list->GetListDeprecated()[0].FindStringKey(
-          kEncryptedWrappedRecordKey);
+      record_list->GetList()[0].FindStringKey(kEncryptedWrappedRecordKey);
   ASSERT_THAT(encrypted_wrapped_record, NotNull());
 
   std::string decoded_record;
@@ -418,11 +417,11 @@
   base::Value* record_list = nullptr;
   GetRecordList(&configuration, &record_list);
 
-  EXPECT_EQ(record_list->GetListDeprecated().size(), records.size());
+  EXPECT_EQ(record_list->GetList().size(), records.size());
 
   size_t counter = 0;
   for (const auto& record : records) {
-    EXPECT_EQ(record_list->GetListDeprecated()[counter++], record);
+    EXPECT_EQ(record_list->GetList()[counter++], record);
   }
 
   EXPECT_FALSE(GetAttachEncryptionSettings(&configuration));
@@ -443,7 +442,7 @@
   base::Value* record_list = nullptr;
   GetRecordList(&configuration, &record_list);
 
-  EXPECT_TRUE(record_list->GetListDeprecated().empty());
+  EXPECT_TRUE(record_list->GetList().empty());
 
   EXPECT_TRUE(GetAttachEncryptionSettings(&configuration));
 }
@@ -469,11 +468,11 @@
   base::Value* record_list = nullptr;
   GetRecordList(&configuration, &record_list);
 
-  EXPECT_EQ(record_list->GetListDeprecated().size(), records.size());
+  EXPECT_EQ(record_list->GetList().size(), records.size());
 
   size_t counter = 0;
   for (const auto& record : records) {
-    EXPECT_EQ(record_list->GetListDeprecated()[counter++], record);
+    EXPECT_EQ(record_list->GetList()[counter++], record);
   }
 
   EXPECT_TRUE(GetAttachEncryptionSettings(&configuration));
diff --git a/components/policy/core/common/cloud/realtime_reporting_job_configuration.cc b/components/policy/core/common/cloud/realtime_reporting_job_configuration.cc
index 92d63995..34f2c345 100644
--- a/components/policy/core/common/cloud/realtime_reporting_job_configuration.cc
+++ b/components/policy/core/common/cloud/realtime_reporting_job_configuration.cc
@@ -131,7 +131,7 @@
   base::Value response_value = response ? std::move(*response) : base::Value();
   base::Value* failedUploads = response_value.FindListKey(kFailedUploadsKey);
   if (failedUploads) {
-    for (const auto& failedUpload : failedUploads->GetListDeprecated()) {
+    for (const auto& failedUpload : failedUploads->GetList()) {
       auto* id = failedUpload.FindStringKey(kEventIdKey);
       if (id) {
         failedIds.insert(*id);
diff --git a/components/policy/core/common/cloud/realtime_reporting_job_configuration_unittest.cc b/components/policy/core/common/cloud/realtime_reporting_job_configuration_unittest.cc
index 7c62b42e..0375fba 100644
--- a/components/policy/core/common/cloud/realtime_reporting_job_configuration_unittest.cc
+++ b/components/policy/core/common/cloud/realtime_reporting_job_configuration_unittest.cc
@@ -203,9 +203,9 @@
 
   base::Value* events =
       payload->FindListKey(RealtimeReportingJobConfiguration::kEventListKey);
-  EXPECT_EQ(ids.size(), events->GetListDeprecated().size());
+  EXPECT_EQ(ids.size(), events->GetList().size());
   int i = -1;
-  for (const auto& event : events->GetListDeprecated()) {
+  for (const auto& event : events->GetList()) {
     auto* id = event.FindStringKey(kEventId);
     EXPECT_EQ(ids[++i], *id);
     auto type = event.FindKey(kAppInstallEvent)->FindIntKey(kEventType);
@@ -326,8 +326,8 @@
       base::JSONReader::Read(configuration_->GetPayload());
   base::Value* events =
       payload->FindListKey(RealtimeReportingJobConfiguration::kEventListKey);
-  EXPECT_EQ(1u, events->GetListDeprecated().size());
-  auto& event = events->GetListDeprecated()[0];
+  EXPECT_EQ(1u, events->GetList().size());
+  auto& event = events->GetList()[0];
   EXPECT_EQ(ids[1], *event.FindStringKey(kEventId));
 }
 
diff --git a/components/policy/core/common/policy_loader_common.cc b/components/policy/core/common/policy_loader_common.cc
index f1f79155..1769790 100644
--- a/components/policy/core/common/policy_loader_common.cc
+++ b/components/policy/core/common/policy_loader_common.cc
@@ -79,8 +79,8 @@
     return false;
 
   // Using index for loop to update the list in place.
-  for (size_t i = 0; i < policy_list_value->GetListDeprecated().size(); i++) {
-    const auto& list_entry = policy_list_value->GetListDeprecated()[i];
+  for (size_t i = 0; i < policy_list_value->GetList().size(); i++) {
+    const auto& list_entry = policy_list_value->GetList()[i];
     if (!list_entry.is_string())
       continue;
 
@@ -92,7 +92,7 @@
     // Only allow custom update urls in enterprise environments.
     if (!base::EqualsCaseInsensitiveASCII(entry.substr(pos + 1),
                                           kChromeWebstoreUpdateURL)) {
-      policy_list_value->GetListDeprecated()[i] =
+      policy_list_value->GetList()[i] =
           base::Value(kBlockedExtensionPrefix + entry);
       has_invalid_policies = true;
     }
diff --git a/components/policy/core/common/policy_loader_win_unittest.cc b/components/policy/core/common/policy_loader_win_unittest.cc
index e8bed51..9e1f590c 100644
--- a/components/policy/core/common/policy_loader_win_unittest.cc
+++ b/components/policy/core/common/policy_loader_win_unittest.cc
@@ -323,7 +323,7 @@
       KEY_ALL_ACCESS);
   ASSERT_TRUE(key.Valid());
   int index = 1;
-  for (const auto& element : policy_value->GetListDeprecated()) {
+  for (const auto& element : policy_value->GetList()) {
     if (!element.is_string())
       continue;
 
diff --git a/components/policy/core/common/policy_merger.cc b/components/policy/core/common/policy_merger.cc
index 9c13a8c..f3cd1ac 100644
--- a/components/policy/core/common/policy_merger.cc
+++ b/components/policy/core/common/policy_merger.cc
@@ -141,7 +141,7 @@
   bool value_changed = false;
 
   for (const base::Value& val :
-       policy->value(base::Value::Type::LIST)->GetListDeprecated()) {
+       policy->value(base::Value::Type::LIST)->GetList()) {
     if (duplicates.find(&val) != duplicates.end())
       continue;
     duplicates.insert(&val);
@@ -157,7 +157,7 @@
     }
 
     for (const base::Value& val :
-         it.entry().value(base::Value::Type::LIST)->GetListDeprecated()) {
+         it.entry().value(base::Value::Type::LIST)->GetList()) {
       if (duplicates.find(&val) != duplicates.end())
         continue;
       duplicates.insert(&val);
diff --git a/components/policy/core/common/registry_dict.cc b/components/policy/core/common/registry_dict.cc
index 44fd3e2..d93876e5 100644
--- a/components/policy/core/common/registry_dict.cc
+++ b/components/policy/core/common/registry_dict.cc
@@ -56,7 +56,7 @@
       return result;
     } else if (value.is_list()) {
       base::Value result(base::Value::Type::LIST);
-      for (const auto& entry : value.GetListDeprecated()) {
+      for (const auto& entry : value.GetList()) {
         absl::optional<base::Value> converted =
             ConvertRegistryValue(entry, schema.GetItems());
         if (converted.has_value())
diff --git a/components/policy/core/common/schema.cc b/components/policy/core/common/schema.cc
index 3979d67..e74f876e 100644
--- a/components/policy/core/common/schema.cc
+++ b/components/policy/core/common/schema.cc
@@ -349,14 +349,14 @@
                   const std::string& type,
                   std::string* error) {
   if (enum_list->type() != base::Value::Type::LIST ||
-      enum_list->GetListDeprecated().empty()) {
+      enum_list->GetList().empty()) {
     *error = "Attribute 'enum' must be a non-empty list.";
     return false;
   }
   base::Value::Type expected_item_type = base::Value::Type::NONE;
   MapSchemaKeyToValueType(type, kSchemaTypesToValueTypes,
                           kSchemaTypesToValueTypesEnd, &expected_item_type);
-  for (const base::Value& item : enum_list->GetListDeprecated()) {
+  for (const base::Value& item : enum_list->GetList()) {
     if (item.type() != expected_item_type) {
       *error = base::StringPrintf(
           "Attribute 'enum' for type '%s' contains items with invalid types",
@@ -474,7 +474,7 @@
 
     const base::Value* required = dict.FindKey(schema::kRequired);
     if (required) {
-      for (const base::Value& item : required->GetListDeprecated()) {
+      for (const base::Value& item : required->GetList()) {
         if (!item.is_string()) {
           *error = "Attribute 'required' may only contain strings.";
           return false;
@@ -783,14 +783,13 @@
 
     const base::Value* required_properties = schema.FindKey(schema::kRequired);
     if (required_properties) {
-      sizes->strings += required_properties->GetListDeprecated().size();
-      sizes->required_properties +=
-          required_properties->GetListDeprecated().size();
+      sizes->strings += required_properties->GetList().size();
+      sizes->required_properties += required_properties->GetList().size();
     }
   } else if (schema.FindKey(schema::kEnum)) {
     const base::Value* possible_values = schema.FindListKey(schema::kEnum);
     if (possible_values) {
-      size_t num_possible_values = possible_values->GetListDeprecated().size();
+      size_t num_possible_values = possible_values->GetList().size();
       if (type == base::Value::Type::INTEGER) {
         sizes->int_enums += num_possible_values;
       } else if (type == base::Value::Type::STRING) {
@@ -972,7 +971,7 @@
   properties_nodes_[extra].required_begin = required_properties_.size();
   const base::Value* required_properties = schema.FindKey(schema::kRequired);
   if (required_properties) {
-    for (const base::Value& val : required_properties->GetListDeprecated()) {
+    for (const base::Value& val : required_properties->GetList()) {
       strings_.push_back(val.GetString());
       required_properties_.push_back(strings_.back().c_str());
     }
@@ -1011,7 +1010,7 @@
     *error = "Enum attribute must be a list value";
     return false;
   }
-  if (possible_values->GetListDeprecated().empty()) {
+  if (possible_values->GetList().empty()) {
     *error = "Enum attribute must be non-empty";
     return false;
   }
@@ -1019,7 +1018,7 @@
   int offset_end;
   if (type == base::Value::Type::INTEGER) {
     offset_begin = static_cast<int>(int_enums_.size());
-    for (const auto& possible_value : possible_values->GetListDeprecated()) {
+    for (const auto& possible_value : possible_values->GetList()) {
       if (!possible_value.is_int()) {
         *error = "Invalid enumeration member type";
         return false;
@@ -1029,7 +1028,7 @@
     offset_end = static_cast<int>(int_enums_.size());
   } else if (type == base::Value::Type::STRING) {
     offset_begin = static_cast<int>(string_enums_.size());
-    for (const auto& possible_value : possible_values->GetListDeprecated()) {
+    for (const auto& possible_value : possible_values->GetList()) {
       if (!possible_value.is_string()) {
         *error = "Invalid enumeration member type";
         return false;
@@ -1277,8 +1276,8 @@
       return false;
     }
   } else if (value.is_list()) {
-    for (size_t index = 0; index < value.GetListDeprecated().size(); ++index) {
-      const base::Value& list_item = value.GetListDeprecated()[index];
+    for (size_t index = 0; index < value.GetList().size(); ++index) {
+      const base::Value& list_item = value.GetList()[index];
       std::string new_error;
       const bool validation_result =
           GetItems().Validate(list_item, strategy, out_error_path, &new_error);
@@ -1648,7 +1647,7 @@
         schema_item.MaskSensitiveValuesRecursive(&sub_value);
     }
   } else if (value->is_list()) {
-    for (auto& list_elem : value->GetListDeprecated())
+    for (auto& list_elem : value->GetList())
       GetItems().MaskSensitiveValuesRecursive(&list_elem);
   }
 }
diff --git a/components/policy/core/common/values_util.cc b/components/policy/core/common/values_util.cc
index d4ed1bf..932c07e 100644
--- a/components/policy/core/common/values_util.cc
+++ b/components/policy/core/common/values_util.cc
@@ -12,7 +12,7 @@
   if (!value || !value->is_list())
     return base::flat_set<std::string>();
 
-  const auto& items = value->GetListDeprecated();
+  const auto& items = value->GetList();
 
   std::vector<std::string> item_vector;
   item_vector.reserve(items.size());
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index 43d921b5..4ab01db 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -12902,7 +12902,7 @@
     },
     {
       'name': 'DeviceUserAllowlist',
-      'owners': ['file://components/policy/resources/OWNERS', 'atwilson@chromium.org'],
+      'owners': ['file://components/policy/resources/OWNERS', 'emaamari@google.com'],
       'type': 'list',
       'schema': {
         'type': 'array',
@@ -25419,7 +25419,7 @@
     {
       'name': 'DeviceLoginScreenContextAwareAccessSignalsAllowlist',
       'owners': ['lmasopust@google.com', 'rodmartin@google.com', 'cbe-device-trust-eng@google.com'],
-      'future_on': ['chrome_os'],
+      'supported_on': ['chrome_os:108-'],
       'device_only': True,
       'type': 'list',
       'schema': {
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index f4a0a8d..257f558 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -1824,6 +1824,7 @@
 <translation id="2799297758492717491">Autoplay von Medien für eine Zulassungsliste mit URL-Mustern erlauben</translation>
 <translation id="2801065672151277034">Zertifikatverwaltungseinstellungen</translation>
 <translation id="2801155097555584385">Den Akkuladestand (%) für benutzerdefiniertes Starten des Ladevorgangs festlegen</translation>
+<translation id="2801378553855965587">Dadurch wird die <ph name="GOOGLE_CALENDAR_NAME" />-Integration deaktiviert.</translation>
 <translation id="2805707493867224476">Anzeige von Pop-ups für alle Websites zulassen</translation>
 <translation id="2818074121667686266">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, wird beim Zugriff für Audioaufnahmen beim Nutzer nachgefragt. Ausgenommen sind URLs in der Liste "AudioCaptureAllowedUrls".
 
@@ -2428,6 +2429,7 @@
           Die Warnung wird nur eingeblendet, wenn infolge der Inaktivität der Nutzer abgemeldet oder das Gerät heruntergefahren wird.</translation>
 <translation id="3360490004791301756">Erlauben, dass Nutzer Angebote über die <ph name="PRODUCT_OS_NAME" />-Registrierung einlösen</translation>
 <translation id="3363360928811201045">Einschränkungen für verwaltete Konten hinzufügen</translation>
+<translation id="3364400740222114778">Kontowiederherstellung</translation>
 <translation id="3373381043600809954">"<ph name="PRODUCT_NAME" />" aktivieren</translation>
 <translation id="3374587000313305002">Hiermit wird das Verzeichnis konfiguriert, in dem <ph name="PRODUCT_NAME" /> die Nutzerdaten speichert.
 
@@ -2449,6 +2451,7 @@
       Wenn die Richtlinie <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> nicht konfiguriert ist, hat diese Richtlinie keine Auswirkungen.</translation>
 <translation id="3397883909301547525">Keine App-Empfehlungen im Launcher von <ph name="PRODUCT_OS_NAME" /> anzeigen</translation>
 <translation id="3399859571630358395">Deaktivierung von schnellem Pairing (schnellem Bluetooth-Koppeln) erzwingen.</translation>
+<translation id="3404681701763345449">Dadurch wird die <ph name="GOOGLE_CALENDAR_NAME" />-Integration aktiviert.</translation>
 <translation id="3408078762098350617">Diese Richtlinie steuert die Nutzereinstellungen für die in <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" /> aufgelisteten deaktivierten Funktionen.
 
       Wenn sie als „blockiert“ konfiguriert ist, können die deaktivierten Funktionen nicht mehr verwendet werden, sind jedoch weiterhin für Nutzer sichtbar.
@@ -3349,6 +3352,7 @@
       Genaue Informationen zu gültigen <ph name="URL_LABEL" />-Mustern findest du unter https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. <ph name="WILDCARD_VALUE" /> ist kein akzeptierter Wert für diese Richtlinie.</translation>
 <translation id="4389073105055031853">Nutzern erlauben, alle Zertifikate zu verwalten</translation>
 <translation id="4389091865841123886">Konfiguriert die Remote-Bestätigung mit TPM-Mechanismus</translation>
+<translation id="4397045637922200204">Kontowiederherstellung deaktivieren</translation>
 <translation id="4397464099112037398">Standardeinstellung für die Berechtigung für die Fensterpositionierung</translation>
 <translation id="4401496838830169080">Mit dieser Richtlinie kannst du festlegen, ob die Safe Browsing-Funktion von <ph name="PRODUCT_NAME" /> aktiviert ist und in welchem Modus sie ausgeführt wird.
 
@@ -3764,6 +3768,7 @@
 <translation id="4913065710388638917">Attestierungsablauf für eine Liste von URLs aktivieren</translation>
 <translation id="4917385247580444890">Stark</translation>
 <translation id="4918261735182294270">Nutzern die Wahl lassen, ob sie <ph name="CHROME_SYNC_NAME" /> aktivieren</translation>
+<translation id="491889618361437456"><ph name="GOOGLE_CALENDAR_NAME" />-Integration aktivieren</translation>
 <translation id="4919122295221518724">Strengere Handhabung gemischter Inhalte aktivieren</translation>
 <translation id="4920367374739265095">Durch die Richtlinie wird angegeben, welche Zugriffsrichtlinie für die Massenkonfiguration von Druckern verwendet wird. Dadurch wird festgelegt, welche Drucker von <ph name="DEVICE_PRINTERS_POLICY_NAME" /> für Nutzer verfügbar sind.
 
@@ -3920,6 +3925,13 @@
 
       Wenn diese Richtlinie nicht konfiguriert oder deaktiviert ist, hat „webkitRequestFileSystem“ mit persistentem Typ ein temporäres Kontingent.
       </translation>
+<translation id="5099372083252975644">Aktiviere die <ph name="GOOGLE_CALENDAR_NAME" />-Integration, damit <ph name="PRODUCT_OS_NAME" />-Nutzer Termine aus <ph name="GOOGLE_CALENDAR_NAME" /> abrufen und im <ph name="PRODUCT_OS_NAME" />-Kalenderwidget in der Systemstatusleiste anzeigen lassen können.
+
+          Wenn diese Richtlinie aktiviert ist, kann das <ph name="PRODUCT_OS_NAME" />-Gerät <ph name="GOOGLE_CALENDAR_NAME" />-Termine abrufen und im <ph name="PRODUCT_OS_NAME" />-Kalenderwidget in der Systemstatusleiste des angemeldeten Nutzers anzeigen.
+
+          Wenn diese Richtlinie deaktiviert ist, kann das <ph name="PRODUCT_OS_NAME" />-Gerät keine <ph name="GOOGLE_CALENDAR_NAME" />-Termine abrufen und im <ph name="PRODUCT_OS_NAME" />-Kalenderwidget in der Systemstatusleiste des angemeldeten Nutzers anzeigen.
+
+          Ist die Richtlinie nicht konfiguriert, ist die <ph name="GOOGLE_CALENDAR_NAME" />-Funktion für Unternehmensnutzer standardmäßig deaktiviert.</translation>
 <translation id="5103112931744164177">Mit dieser Richtlinie wird festgelegt, welcher Software-Stack zur Kommunikation mit dem DNS-Server verwendet wird: der DNS-Client des Betriebssystems oder der integrierte DNS-Client von <ph name="PRODUCT_NAME" />. Sie beeinflusst nicht, welche DNS-Server verwendet werden. Wenn beispielsweise das Betriebssystem für die Verwendung eines Unternehmens-DNS-Servers konfiguriert ist, verwendet der integrierte DNS-Client genau diesen Server. Mit der Richtlinie wird auch nicht gesteuert, ob DoH (DNS over HTTPS) verwendet wird. <ph name="PRODUCT_NAME" /> nutzt immer den integrierten Resolver für DoH-Anfragen. Weitere Informationen zum Steuern von DoH findest du in der Richtlinie „<ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" />“.
 
       Wenn diese Richtlinie aktiviert ist, wird, falls verfügbar, der integrierte DNS-Client verwendet.
@@ -6250,6 +6262,15 @@
 <translation id="7482768039644066614">Abruf von Metadaten zum Seitenaufbau und Modellen zum maschinellen Lernen zum Verbessern der Browsernutzung aktivieren</translation>
 <translation id="7485481791539008776">Regeln zur Auswahl des Standarddruckers</translation>
 <translation id="7486205887492534734">Aufforderung auf dem Anmeldebildschirm, wenn mehrere Zertifikate passen</translation>
+<translation id="7489661071474025727">Gibt an, ob der Dienst zur Kontowiederherstellung für deine Nutzer auf <ph name="PRODUCT_OS_NAME" />-Geräten aktiviert ist.
+
+      Wenn die Richtlinie aktiviert ist, ist die Wiederherstellung der Nutzerdaten aktiviert. Falls die Richtlinie deaktiviert oder nicht konfiguriert ist, ist die Wiederherstellung der Nutzerdaten nicht aktiviert.
+      Wenn die Richtlinienebene auf „Empfohlen“ festgelegt ist, können Nutzer die Aktivierung der Kontowiederherstellung auf der Seite „Einstellungen“ ändern. Ist die Richtlinienebene auf „Obligatorisch“ festgelegt, können Nutzer die Aktivierung der Kontowiederherstellung nicht ändern.
+
+      Bei Änderung des Richtlinienwerts wird das Update bei der nächsten Anmeldung auf dem <ph name="PRODUCT_OS_NAME" />-Gerät abgeschlossen, nachdem der neue Richtlinienwert abgerufen wurde.
+
+      Hinweis: Diese Einstellung gilt nur für neue Konten, die auf <ph name="PRODUCT_OS_NAME" />-Geräten hinzugefügt werden.
+      </translation>
 <translation id="7491720878670299691">Häufigkeit, mit der Netzwerkdaten gepollt und auf Ereignisse geprüft werden. Die geringste zulässige Häufigkeit beträgt 1 Minute.
 
       Wenn die Richtlinie nicht konfiguriert ist, beträgt die Häufigkeit standardmäßig 1 Minute.</translation>
@@ -6776,11 +6797,6 @@
 <translation id="8091982561085048989">Boolescher Parameter, der angibt, ob zum Einrichten des Druckers IPP Everywhere verwendet werden soll. Dieser Parameter wird unter <ph name="PRODUCT_OS_NAME" /> Version 76 und höher unterstützt.</translation>
 <translation id="8099880303030573137">Inaktivitätsverzögerung im Akkubetrieb</translation>
 <translation id="8101381354936029836">Atomische Richtlinien-Gruppe:</translation>
-<translation id="8102504778644322990">Ab Version M106 wird die nicht standardmäßige window.webkitStorageInfo API entfernt.
-      Durch diese Richtlinie wird die API bis zur Version M107 wieder aktiviert.
-      Wenn diese Richtlinie aktiviert ist, ist die window.webkitStorageInfo API verfügbar.
-      Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, ist die window.webkitStorageInfo API nicht verfügbar.
-      </translation>
 <translation id="8102913158860568230">Standardeinstellung für MediaStream</translation>
 <translation id="8104962233214241919">Client-Zertifikate für diese Websites automatisch auswählen</translation>
 <translation id="8109762054721090517">Vorlage für <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /></translation>
@@ -7270,6 +7286,7 @@
 <translation id="8543108307976719751">Verbindungen per Remotezugriff verhindern</translation>
 <translation id="8544375438507658205">Standardanwendung für HTML-Darstellung in <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="8544465954173828789">Zulassen, dass SMS zwischen Smartphone mit Chromebook synchronisiert werden.</translation>
+<translation id="8549906780629620346">Kontowiederherstellung aktivieren</translation>
 <translation id="8553955290407912156">Wenn diese Richtlinie konfiguriert ist, kannst du eine Liste mit URL-Mustern erstellen, die angeben, welche Websites Nutzer nicht bitten dürfen, ihnen Zugriff auf ein HID-Gerät zu gewähren.
 
       Wenn die Richtlinie nicht konfiguriert ist, gilt <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> für alle Websites, sofern konfiguriert. Falls nicht, werden die persönlichen Einstellungen des Nutzers verwendet.
@@ -7733,12 +7750,6 @@
 
       Der Richtlinienwert sollte in Millisekunden angegeben werden. Der Wert kann zwischen 30 Sekunden und 24 Stunden liegen.</translation>
 <translation id="9040042535845939426">Mit dieser Richtlinie legst du den Status des Datenschutzbildschirms auf dem Anmeldebildschirm fest</translation>
-<translation id="9046609670147277653">Wenn diese Einstellung aktiviert ist, verifiziert <ph name="PRODUCT_NAME" /> Serverzertifikate anhand der integrierten Zertifikatsprüfung und dem Chrome Root Store als vertrauenswürdige Quelle.
-      Wenn diese Einstellung deaktiviert ist, verwendet <ph name="PRODUCT_NAME" /> den Chrome Root Store nicht. Bei der Verifizierung kann die Systemzertifikatsprüfung oder die integrierte Prüfung verwendet werden, wenn die Richtlinie <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> verfügbar und nicht deaktiviert ist.
-      Wenn diese Einstellung nicht konfiguriert ist, werden der Chrome Root Store oder die systemeigenen Stämme verwendet.
-
-      Diese Richtlinie wird voraussichtlich in Version 111 von <ph name="PRODUCT_NAME" /> für <ph name="MS_WIN_NAME" /> und für <ph name="MAC_OS_NAME" /> entfernt, wenn auch die Verwendung der von der Plattform bereitgestellten Zertifikatsprüfung und Stämme nicht mehr unterstützt wird.
-      </translation>
 <translation id="9050853837490399534">Diese Richtlinie gibt vor, ob das Gerät auf einen Quick-Fix-Build aktualisiert werden soll.
 
       Wenn als Richtlinienwert ein Token festgelegt ist, das mit einem Quick-Fix-Build verknüpft ist, wird das Gerät auf den entsprechenden Build aktualisiert, sofern eine solche Aktualisierung nicht durch eine andere Richtlinie blockiert wird.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index 1da5507..0dcf250 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -6856,11 +6856,6 @@
 <translation id="8091982561085048989">Función experimental booleana que indica si se debe usar IPP Everywhere para configurar la impresora. Esta función experimental es compatible con <ph name="PRODUCT_OS_NAME" /> 76 y versiones posteriores.</translation>
 <translation id="8099880303030573137">Demora de inactividad con batería</translation>
 <translation id="8101381354936029836">Grupo atómico de la política:</translation>
-<translation id="8102504778644322990">A partir de M106, se quitará la API no estándar de window.webkitStorageInfo.
-      Esta política vuelve a habilitar la API hasta M107.
-      Si habilitas esta política, la API de window.webkitStorageInfo estará disponible.
-      Si inhabilitas esta política o no la estableces, la API de window.webkitStorageInfo no estará disponible.
-      </translation>
 <translation id="8102913158860568230">Configuración de mediastream predeterminada</translation>
 <translation id="8104962233214241919">Seleccionar automáticamente certificados de clientes para estos sitios</translation>
 <translation id="8109762054721090517">Plantilla para <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /></translation>
@@ -7821,12 +7816,6 @@
 
       El valor de la política debe especificarse en milisegundos. Los valores están fijados en un intervalo de entre 30 segundos y 24 horas.</translation>
 <translation id="9040042535845939426">Establecer el estado de la pantalla de privacidad en la pantalla de acceso</translation>
-<translation id="9046609670147277653">Si habilitas esta configuración, <ph name="PRODUCT_NAME" /> verificará los certificados de servidores mediante el verificador de certificados integrado con Chrome Root Store como fuente de confianza pública.
-      Si la inhabilitas, <ph name="PRODUCT_NAME" /> no usará Chrome Root Store. La verificación puede usar el verificador de certificados del sistema o el verificador integrado si la política <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> está disponible y habilitada.
-      Si no estableces esta configuración, se podrán usar las raíces provistas por el sistema o Chrome Root Store.
-
-      Se planea quitar esta política en la versión 111 de <ph name="PRODUCT_NAME" /> para <ph name="MS_WIN_NAME" /> y <ph name="MAC_OS_NAME" />, cuando se quiten las raíces que proporciona la plataforma y la compatibilidad para usar el verificador de certificados.
-      </translation>
 <translation id="9050853837490399534">Esta política controla si se debe actualizar el dispositivo a una versión de corrección rápida.
 
       Si se establece el valor de esta política en un token que se mapee a una versión de corrección rápida, se actualizará el dispositivo a la versión de corrección rápida correspondiente en caso de que otra política no haya bloqueado la actualización.
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index d3aebdf2..01132de 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -1852,6 +1852,7 @@
 <translation id="2799297758492717491">Permitir reproducción automática de contenido multimedia en una lista blanca de patrones de URL</translation>
 <translation id="2801065672151277034">Ajustes de gestión de certificados</translation>
 <translation id="2801155097555584385">Define un porcentaje personalizado de inicio de carga de la batería</translation>
+<translation id="2801378553855965587">Inhabilita la integración con <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="2805707493867224476">Permitir que todos los sitios muestren ventanas emergentes</translation>
 <translation id="2818074121667686266">Si se asigna el valor "Habilitada" a esta política o no se le asigna ninguno, significa que, con la excepción de las URL que se hayan incluido en la lista AudioCaptureAllowedUrls, se solicitará a los usuarios acceso a la captura de audio.
 
@@ -2479,6 +2480,7 @@
       Esta política no tendrá efecto si no se define la política <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" />.</translation>
 <translation id="3397883909301547525">No mostrar recomendaciones de aplicaciones en el menú de aplicaciones de <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3399859571630358395">Forzar que se inhabilite Emparejamiento rápido (función que permite emparejar rápidamente mediante Bluetooth).</translation>
+<translation id="3404681701763345449">Habilita la integración con <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="3408078762098350617">Controla la experiencia de usuario de las funciones inhabilitadas que aparecen en <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" />.
 
       Si a esta política se le asigna el valor "blocked", los usuarios no podrán utilizar las funciones inhabilitadas, pero sí podrán verlas.
@@ -3812,6 +3814,7 @@
 <translation id="4913065710388638917">Habilitar el flujo de atestación de una lista de URLs</translation>
 <translation id="4917385247580444890">Buena</translation>
 <translation id="4918261735182294270">Permitir que los usuarios elijan si se habilita <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">Habilitar integración con <ph name="GOOGLE_CALENDAR_NAME" /></translation>
 <translation id="4919122295221518724">Permite un tratamiento más estricto para el contenido mixto</translation>
 <translation id="4920367374739265095">Si se establece esta política, se designará qué política de acceso se utiliza para configurar impresoras en bloque y controlará qué impresoras de la política <ph name="DEVICE_PRINTERS_POLICY_NAME" /> están disponibles para los usuarios.
 
@@ -3970,6 +3973,13 @@
 
       Si no se establece esta política o se inhabilita, webkitRequestFileSystem de tipo persistente funcionará con una cuota temporal.
       </translation>
+<translation id="5099372083252975644">Habilita la integración con <ph name="GOOGLE_CALENDAR_NAME" />, que permite que los usuarios de <ph name="PRODUCT_OS_NAME" /> obtengan eventos de <ph name="GOOGLE_CALENDAR_NAME" /> para rellenar el widget de calendario de <ph name="PRODUCT_OS_NAME" /> en la barra de estado del sistema.
+
+          Si se habilita esta política, el dispositivo <ph name="PRODUCT_OS_NAME" /> podrá recuperar eventos de <ph name="GOOGLE_CALENDAR_NAME" /> para rellenar el widget de calendario de <ph name="PRODUCT_OS_NAME" /> en la barra de estado del sistema del usuario que ha iniciado sesión.
+
+          Si se inhabilita esta política, el dispositivo <ph name="PRODUCT_OS_NAME" /> no podrá recuperar eventos de <ph name="GOOGLE_CALENDAR_NAME" /> para rellenar el widget de calendario de <ph name="PRODUCT_OS_NAME" /> en la barra de estado del sistema del usuario que ha iniciado sesión.
+
+          Si no se establece esta política, la función <ph name="GOOGLE_CALENDAR_NAME" /> estará inhabilitada de forma predeterminada para los usuarios de empresa.</translation>
 <translation id="5103112931744164177">Esta política controla qué pila de software se utiliza para comunicarse con el servidor DNS: el cliente DNS del sistema operativo o el cliente DNS integrado de <ph name="PRODUCT_NAME" />. Esta política no afecta a qué servidores DNS se utilizan. Por ejemplo, si el sistema operativo está configurado para utilizar un servidor DNS de empresa, el cliente DNS integrado usará ese mismo servidor. Tampoco controla si se usará DNS‑over‑HTTPS; <ph name="PRODUCT_NAME" /> siempre utilizará la resolución integrada para solicitudes DNS‑over‑HTTPS. Consulta la política <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> para obtener información sobre los controles de DNS‑over‑HTTPS.
 
       Si se habilita esta política, se utilizará el cliente DNS integrado si está disponible.
@@ -6876,11 +6886,6 @@
 <translation id="8091982561085048989">Indicador booleano que especifica si se debe usar IPP Everywhere para configurar la impresora. Este indicador es compatible con <ph name="PRODUCT_OS_NAME" /> 76 y versiones posteriores.</translation>
 <translation id="8099880303030573137">Retraso de inactividad cuando el dispositivo funciona con la batería</translation>
 <translation id="8101381354936029836">Grupo atómico de la política:</translation>
-<translation id="8102504778644322990">A partir de la versión M106, se eliminará la ventana no estándar de la API window.webkitStorageInfo.
-      Esta política vuelve a habilitar la API hasta la versión M107.
-      Si se habilita esta política, la API window.webkitStorageInfo estará disponible.
-      Si se inhabilita esta política o no se establece, la API window.webkitStorageInfo no estará disponible.
-      </translation>
 <translation id="8102913158860568230">Opción predeterminada de MediaStream</translation>
 <translation id="8104962233214241919">Seleccionar automáticamente certificados de cliente de estos sitios</translation>
 <translation id="8109762054721090517">Plantilla del <ph name="IPP_ATTRIBUTE" /> de <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /></translation>
@@ -7825,12 +7830,6 @@
 
       El valor de esta política debe estar especificado en milisegundos. Los valores están fijados en un intervalo que comprendido entre 30 segundos y 24 horas.</translation>
 <translation id="9040042535845939426">Definir el estado de la pantalla de privacidad en la pantalla de inicio de sesión</translation>
-<translation id="9046609670147277653">Si se habilita esta opción, <ph name="PRODUCT_NAME" /> verificará los certificados de los servidores mediante el verificador de certificados integrado, usando Chrome Root Store como fuente de confianza pública.
-      Si se inhabilita esta opción, <ph name="PRODUCT_NAME" /> no usará Chrome Root Store. La verificación podrá usar el verificador de certificados del sistema o el verificador integrado si la política <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> está disponible y no está inhabilitada.
-      Si no se configura esta opción, se podrán usar Chrome Root Store o las raíces proporcionadas por el sistema.
-
-      Se prevé que esta política se quite en la versión 111 de <ph name="PRODUCT_NAME" /> para <ph name="MS_WIN_NAME" /> y <ph name="MAC_OS_NAME" />, en la que el uso del verificador de certificados y las raíces proporcionados por la plataforma dejarán de ser compatibles.
-      </translation>
 <translation id="9050853837490399534">Esta política determina si es necesario o no que el dispositivo se actualice a una versión Quick Fix.
 
       Si el valor de la política se establece en un token que se asocia a una versión Quick Fix, el dispositivo se actualizará a la versión Quick Fix correspondiente, a no ser que otra política bloquee la actualización.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 80a5650..ae361556 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -6813,11 +6813,6 @@
 <translation id="8091982561085048989">Indicateur booléen spécifiant si IPP Everywhere doit être utilisé ou non pour configurer l'imprimante. Cet indicateur est compatible avec <ph name="PRODUCT_OS_NAME" /> version 76 (ou plus).</translation>
 <translation id="8099880303030573137">Délai d'inactivité (batterie)</translation>
 <translation id="8101381354936029836">Groupe atomique de la règle :</translation>
-<translation id="8102504778644322990">À partir de M106, l'API non standard window.webkitStorageInfo sera supprimée.
-      Cette règle réactive l'API jusqu'à M107.
-      Si cette règle est activée, l'API window.webkitStorageInfo sera disponible.
-      Si cette règle est désactivée ou n'est pas configurée, l'API window.webkitStorageInfo ne sera pas disponible.
-      </translation>
 <translation id="8102913158860568230">Paramètre MediaStream par défaut</translation>
 <translation id="8104962233214241919">Sélectionner automatiquement des certificats client pour ces sites</translation>
 <translation id="8109762054721090517">Modèle pour l'attribut <ph name="IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /></translation>
@@ -7749,12 +7744,6 @@
 
       La valeur de la règle doit être indiquée en millisecondes. Cette valeur doit être comprise entre 30 secondes et 24 heures.</translation>
 <translation id="9040042535845939426">Définir l'état de l'écran de confidentialité sur l'écran de connexion</translation>
-<translation id="9046609670147277653">Lorsque ce paramètre est activé, <ph name="PRODUCT_NAME" /> vérifie les certificats des serveurs à l'aide de l'outil de vérification intégré et utilise le Chrome Root Store comme source de confiance publique.
-      Lorsqu'il est désactivé, <ph name="PRODUCT_NAME" /> n'utilise pas le Chrome Root Store. La vérification peut utiliser l'outil de vérification des certificats du système, ou l'outil de vérification intégré si la règle "<ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" />" est disponible et qu'elle n'est pas désactivée.
-      Lorsque ce paramètre n'est pas défini, le Chrome Root Store ou les racines fournies par le système peuvent être utilisés.
-
-      Il est prévu que cette règle soit supprimée dans la version 111 de <ph name="PRODUCT_NAME" /> pour <ph name="MS_WIN_NAME" /> et <ph name="MAC_OS_NAME" />, car l'outil de vérification des certificats et les racines fournies par la plate-forme ne seront plus pris en charge.
-      </translation>
 <translation id="9050853837490399534">Cette règle détermine si un build Quick Fix doit être installé sur l'appareil.
 
       Si la règle est définie sur un jeton qui correspond à un build Quick Fix, l'appareil sera mis à jour avec le build Quick Fix correspondant à condition que la mise à jour ne soit pas bloquée par une autre règle.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index fd57727..c58853a 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -1851,6 +1851,7 @@
 <translation id="2799297758492717491">Izinkan pemutaran otomatis media pada pola URL yang diizinkan</translation>
 <translation id="2801065672151277034">Setelan pengelolaan sertifikat</translation>
 <translation id="2801155097555584385">Menetapkan nilai awal pengisian daya baterai kustom dalam persen</translation>
+<translation id="2801378553855965587">Nonaktifkan Integrasi <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="2805707493867224476">Izinkan semua situs menampilkan pop-up</translation>
 <translation id="2818074121667686266">Jika kebijakan disetel ke Aktif atau tidak disetel, pengguna akan dimintai akses perekaman audio kecuali untuk URL yang ditentukan dalam daftar AudioCaptureAllowedUrls.
 
@@ -2455,6 +2456,7 @@
           Pesan peringatan hanya ditampilkan jika tindakan tidak ada aktivitas adalah logout atau matikan.</translation>
 <translation id="3360490004791301756">Izinkan pengguna menukarkan penawaran melalui Pendaftaran <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3363360928811201045">Menambahkan batasan di akun terkelola</translation>
+<translation id="3364400740222114778">Pemulihan akun</translation>
 <translation id="3373381043600809954">Mengaktifkan <ph name="PRODUCT_NAME" /></translation>
 <translation id="3374587000313305002">Mengonfigurasi direktori yang akan digunakan <ph name="PRODUCT_NAME" /> untuk menyimpan data pengguna.
 
@@ -2476,6 +2478,7 @@
       Jika kebijakan <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> tidak disetel, kebijakan ini tidak berpengaruh.</translation>
 <translation id="3397883909301547525">Jangan tampilkan rekomendasi aplikasi di peluncur <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3399859571630358395">Paksa penonaktifan Sambungan Cepat (penyambungan Bluetooth cepat).</translation>
+<translation id="3404681701763345449">Aktifkan Integrasi <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="3408078762098350617">Mengontrol pengalaman pengguna fitur yang dinonaktifkan yang tercantum di <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" />.
 
       Jika kebijakan ini disetel ke "diblokir", fitur yang dinonaktifkan tidak akan dapat digunakan tetapi tetap terlihat oleh pengguna.
@@ -3401,6 +3404,7 @@
       Untuk informasi selengkapnya tentang pola <ph name="URL_LABEL" /> yang valid, lihat https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. <ph name="WILDCARD_VALUE" /> bukanlah nilai yang diterima untuk kebijakan ini.</translation>
 <translation id="4389073105055031853">Izinkan pengguna mengelola semua sertifikat</translation>
 <translation id="4389091865841123886">Mengonfigurasi pengesahan jarak jauh dengan mekanisme TPM.</translation>
+<translation id="4397045637922200204">Nonaktifkan pemulihan akun</translation>
 <translation id="4397464099112037398">Setelan default izin Penempatan Jendela</translation>
 <translation id="4401496838830169080">Memungkinkan Anda mengontrol apakah fitur Safe Browsing <ph name="PRODUCT_NAME" /> diaktifkan dan dalam mode apa fitur tersebut beroperasi.
 
@@ -3818,6 +3822,7 @@
 <translation id="4913065710388638917">Mengaktifkan alur pengesahan untuk daftar URL</translation>
 <translation id="4917385247580444890">Kuat</translation>
 <translation id="4918261735182294270">Izinkan pengguna memilih apakah akan mengaktifkan <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">Mengaktifkan Integrasi <ph name="GOOGLE_CALENDAR_NAME" /></translation>
 <translation id="4919122295221518724">Aktifkan perlakuan yang lebih ketat untuk konten campuran</translation>
 <translation id="4920367374739265095">Menyetel kebijakan akan menentukan kebijakan akses yang berlaku untuk konfigurasi printer massal sehingga akan mengontrol printer mana dari <ph name="DEVICE_PRINTERS_POLICY_NAME" /> yang akan tersedia bagi pengguna.
 
@@ -3977,6 +3982,13 @@
 
       Jika kebijakan ini disetel ke nonaktif atau tidak disetel, webkitRequestFileSystem dengan jenis persisten akan beroperasi dengan kuota sementara.
       </translation>
+<translation id="5099372083252975644">Mengaktifkan integrasi <ph name="GOOGLE_CALENDAR_NAME" /> yang memungkinkan pengguna <ph name="PRODUCT_OS_NAME" /> mengambil acara dari <ph name="GOOGLE_CALENDAR_NAME" /> untuk mengisi widget kalender <ph name="PRODUCT_OS_NAME" /> di status bar sistem.
+
+          Jika kebijakan ini disetel ke aktif, perangkat <ph name="PRODUCT_OS_NAME" /> dapat mengambil acara <ph name="GOOGLE_CALENDAR_NAME" /> untuk mengisi widget kalender <ph name="PRODUCT_OS_NAME" /> di status bar sistem bagi pengguna yang login.
+
+          Jika kebijakan ini disetel ke nonaktif, perangkat <ph name="PRODUCT_OS_NAME" /> tidak dapat mengambil acara <ph name="GOOGLE_CALENDAR_NAME" /> untuk mengisi widget kalender <ph name="PRODUCT_OS_NAME" /> di status bar sistem bagi pengguna yang login.
+
+          Jika kebijakan ini tidak disetel, fitur <ph name="GOOGLE_CALENDAR_NAME" /> akan dinonaktifkan secara default bagi pengguna versi bisnis.</translation>
 <translation id="5103112931744164177">Kebijakan ini mengontrol stack software yang digunakan untuk berkomunikasi dengan server DNS: klien DNS Sistem Operasi, atau klien DNS bawaan dari <ph name="PRODUCT_NAME" />. Kebijakan ini tidak memengaruhi server DNS mana yang digunakan: misalnya, jika sistem operasi dikonfigurasi untuk menggunakan server DNS perusahaan, server yang sama tersebut akan digunakan oleh klien DNS bawaan. Kebijakan ini juga tidak akan mengontrol jika DNS-over-HTTPS digunakan; <ph name="PRODUCT_NAME" /> akan selalu menggunakan resolver bawaan untuk permintaan DNS-over-HTTPS. Silakan lihat kebijakan <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> untuk mengetahui informasi mengenai pengontrolan DNS-over-HTTPS.
 
       Jika kebijakan ini disetel ke Aktif, klien DNS bawaan akan digunakan, jika tersedia.
@@ -6336,6 +6348,15 @@
 <translation id="7482768039644066614">Aktifkan pengambilan metadata pemuatan halaman dan model machine learning yang meningkatkan pengalaman penjelajahan</translation>
 <translation id="7485481791539008776">Aturan pemilihan printer default</translation>
 <translation id="7486205887492534734">Meminta pengguna memilih saat beberapa sertifikat cocok pada layar login</translation>
+<translation id="7489661071474025727">Menentukan apakah layanan pemulihan akun diaktifkan untuk pengguna Anda di perangkat <ph name="PRODUCT_OS_NAME" />.
+
+      Jika kebijakan ini disetel ke aktif, pemulihan data pengguna akan diaktifkan. Jika kebijakan ini disetel ke nonaktif atau tidak disetel, pemulihan data pengguna tidak akan diaktifkan.
+      Menyetel tingkat kebijakan ke direkomendasikan memungkinkan pengguna mengubah aktivasi pemulihan akun melalui halaman setelan. Menyetel tingkat kebijakan ke wajib berarti pengguna tidak dapat mengubah aktivasi pemulihan akun.
+
+      Pada perubahan nilai kebijakan, proses update diselesaikan pada saat login berikutnya ke perangkat <ph name="PRODUCT_OS_NAME" />, setelah nilai kebijakan baru diambil.
+
+      Catatan: Setelan ini hanya berlaku untuk akun baru yang ditambahkan di perangkat <ph name="PRODUCT_OS_NAME" />.
+      </translation>
 <translation id="7491720878670299691">Interval pada saat data jaringan disurvei dan diperiksa untuk mencari aktivitas. Batas minimum yang diizinkan adalah 1 menit.
 
       Jika tidak disetel, interval default 1 menit akan berlaku.</translation>
@@ -6864,11 +6885,6 @@
 <translation id="8091982561085048989">Tanda boolean menunjukkan apakah IPP Everywhere harus digunakan untuk menyiapkan printer. Tanda ini didukung di <ph name="PRODUCT_OS_NAME" /> versi 76 dan lebih tinggi.</translation>
 <translation id="8099880303030573137">Menunda waktu menganggur saat menggunakan daya baterai</translation>
 <translation id="8101381354936029836">Grup atom kebijakan:</translation>
-<translation id="8102504778644322990">Mulai dari M106, window.webkitStorageInfo API non-standar akan dihapus.
-      Kebijakan ini akan mengaktifkan kembali API tersebut hingga M107.
-      Jika kebijakan ini disetel ke Aktif, window.webkitStorageInfo API akan tersedia.
-      Jika kebijakan ini disetel ke Nonaktif atau tidak disetel, window.webkitStorageInfo API tidak akan tersedia.
-      </translation>
 <translation id="8102913158860568230">Setelan streaming media default</translation>
 <translation id="8104962233214241919">Memilih sertifikat klien untuk situs ini secara otomatis</translation>
 <translation id="8109762054721090517">Template untuk <ph name="IPP_ATTRIBUTE" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /></translation>
@@ -7344,6 +7360,7 @@
 <translation id="8543108307976719751">Cegah koneksi akses jarak jauh ke perangkat ini</translation>
 <translation id="8544375438507658205">Pengurai HTML default untuk <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="8544465954173828789">Izinkan SMS disinkronkan dari ponsel ke Chromebook.</translation>
+<translation id="8549906780629620346">Aktifkan pemulihan akun</translation>
 <translation id="8553955290407912156">Menyetel kebijakan memungkinkan Anda menetapkan daftar pola URL yang menentukan situs mana yang tidak dapat meminta izin kepada pengguna untuk mengakses perangkat HID.
 
       Tidak menyetel kebijakan berarti <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> akan berlaku untuk semua situs, jika disetel. Jika tidak, setelan pribadi pengguna akan berlaku.
@@ -7807,12 +7824,6 @@
 
       Nilai kebijakan harus ditentukan dalam milidetik. Nilai dikunci ke rentang 30 detik hingga 24 jam.</translation>
 <translation id="9040042535845939426">Menetapkan status layar privasi di layar login</translation>
-<translation id="9046609670147277653">Jika setelan ini diaktifkan, <ph name="PRODUCT_NAME" /> akan menjalankan verifikasi sertifikat server menggunakan pemverifikasi sertifikat bawaan dengan Chrome Root Store sebagai sumber tepercaya publik.
-      Jika setelan ini dinonaktifkan, <ph name="PRODUCT_NAME" /> tidak akan menggunakan Chrome Root Store. Verifikasi mungkin menggunakan pemverifikasi sertifikat sistem, atau pemverifikasi bawaan jika kebijakan <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> tersedia dan tidak dinonaktifkan.
-      Jika setelan ini tidak disetel, Chrome Root Store atau root yang disediakan sistem dapat digunakan.
-
-      Kebijakan ini akan dihapus dari <ph name="PRODUCT_NAME" /> untuk <ph name="MS_WIN_NAME" /> dan <ph name="MAC_OS_NAME" /> versi 111 dan saat ini terjadi, dukungan untuk penggunaan pemverifikasi sertifikat dan root yang disediakan platform akan dihapus.
-      </translation>
 <translation id="9050853837490399534">Kebijakan ini mengontrol apakah perangkat harus diupdate ke Quick Fix Build atau tidak.
 
       Jika nilai kebijakan ditetapkan ke token yang dipetakan ke Quick Fix Build, perangkat akan diupdate ke Quick Fix Build yang sesuai jika update tidak diblokir oleh kebijakan lain.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index dd837bc..8698069 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -1819,6 +1819,7 @@
 <translation id="2799297758492717491">Consenti la riproduzione automatica dei contenuti multimediali per una whitelist di pattern URL</translation>
 <translation id="2801065672151277034">Impostazioni di gestione dei certificati</translation>
 <translation id="2801155097555584385">Imposta il valore personalizzato espresso in percentuale raggiunto il quale la batteria avvia la ricarica</translation>
+<translation id="2801378553855965587">Disattiva integrazione di <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="2805707493867224476">Consenti la visualizzazione di popup in tutti i siti</translation>
 <translation id="2818074121667686266">Se il criterio viene attivato o se non viene configurato, agli utenti viene richiesto l'accesso all'acquisizione audio, fatta eccezione per gli URL configurati nell'elenco AudioCaptureAllowedUrls.
 
@@ -2420,6 +2421,7 @@
           L'avviso viene mostrato solo se l'azione stabilita in caso di inattività è la disconnessione o lo spegnimento.</translation>
 <translation id="3360490004791301756">Consenti agli utenti di utilizzare le offerte tramite la registrazione a <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3363360928811201045">Aggiungi limitazioni agli account gestiti</translation>
+<translation id="3364400740222114778">Recupero dell'account</translation>
 <translation id="3373381043600809954">Attiva <ph name="PRODUCT_NAME" /></translation>
 <translation id="3374587000313305002">Consente di configurare la directory che <ph name="PRODUCT_NAME" /> utilizza per memorizzare i dati utente.
 
@@ -2441,6 +2443,7 @@
       Se il criterio <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> non viene configurato, questo criterio non ha alcun effetto.</translation>
 <translation id="3397883909301547525">Non mostrare consigli delle app in Avvio app di <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3399859571630358395">Viene forzata la disattivazione della funzionalità Accoppiamento rapido (accoppiamento rapido tramite Bluetooth)</translation>
+<translation id="3404681701763345449">Attiva integrazione di <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="3408078762098350617">Consente di controllare l'esperienza utente delle funzionalità disattivate elencate nel criterio <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" />.
 
       Se il criterio viene impostato su "blocked", le funzionalità disattivate non saranno utilizzabili, ma rimarranno visibili per gli utenti.
@@ -3350,6 +3353,7 @@
       Per informazioni dettagliate sui pattern <ph name="URL_LABEL" /> validi, visita la pagina https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. <ph name="WILDCARD_VALUE" /> non è un valore accettato per questo criterio.</translation>
 <translation id="4389073105055031853">Consenti agli utenti di gestire tutti i certificati</translation>
 <translation id="4389091865841123886">Configura l'attestazione da remoto con meccanismo TPM.</translation>
+<translation id="4397045637922200204">Disattiva recupero dell'account</translation>
 <translation id="4397464099112037398">Impostazione predefinita dell'autorizzazione per il posizionamento delle finestre</translation>
 <translation id="4401496838830169080">Consente di controllare se la funzionalità Navigazione sicura di <ph name="PRODUCT_NAME" /> è attiva e la relativa modalità.
 
@@ -3769,6 +3773,7 @@
 <translation id="4913065710388638917">Attiva flusso di attestazione per un elenco di URL</translation>
 <translation id="4917385247580444890">Forte</translation>
 <translation id="4918261735182294270">Consenti agli utenti di scegliere se attivare <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">Attiva integrazione di <ph name="GOOGLE_CALENDAR_NAME" /></translation>
 <translation id="4919122295221518724">Attiva trattamento più restrittivo per i contenuti misti</translation>
 <translation id="4920367374739265095">La configurazione del criterio consente di determinare quale criterio di accesso applicare per la configurazione collettiva delle stampanti, al fine di stabilire quali stampanti del criterio <ph name="DEVICE_PRINTERS_POLICY_NAME" /> mettere a disposizione degli utenti.
 
@@ -3928,6 +3933,13 @@
 
       Se questo criterio non viene configurato o se viene impostato su Disattivato, webkitRequestFileSystem con tipo permanente funzionerà con la quota temporanea.
       </translation>
+<translation id="5099372083252975644">Attiva l'integrazione di <ph name="GOOGLE_CALENDAR_NAME" /> che consente agli utenti di <ph name="PRODUCT_OS_NAME" /> di recuperare gli eventi da <ph name="GOOGLE_CALENDAR_NAME" /> per completare il widget calendario di <ph name="PRODUCT_OS_NAME" /> nella barra di stato del sistema.
+
+          Se questo criterio viene attivato, il dispositivo <ph name="PRODUCT_OS_NAME" /> può recuperare gli eventi <ph name="GOOGLE_CALENDAR_NAME" /> per completare il widget calendario di <ph name="PRODUCT_OS_NAME" /> nella barra di stato del sistema per l'utente che ha eseguito l'accesso.
+
+          Se questo criterio viene disattivato, il dispositivo <ph name="PRODUCT_OS_NAME" /> non può recuperare eventi <ph name="GOOGLE_CALENDAR_NAME" /> per completare il widget calendario di <ph name="PRODUCT_OS_NAME" /> nella barra di stato del sistema per l'utente che ha eseguito l'accesso.
+
+          Se questo criterio non viene configurato, la funzionalità <ph name="GOOGLE_CALENDAR_NAME" /> è disattivata per impostazione predefinita per gli utenti aziendali.</translation>
 <translation id="5103112931744164177">Questo criterio consente di controllare quale stack software viene utilizzato per comunicare con il server DNS: il client DNS del sistema operativo o quello integrato di <ph name="PRODUCT_NAME" />. Questo criterio non influisce sui server DNS utilizzati: se, ad esempio, il sistema operativo viene configurato in modo da usare un server DNS aziendale, lo stesso server viene usato dal client DNS integrato. Non consente nemmeno di controllare se viene utilizzato il protocollo DNS-over-HTTPS; <ph name="PRODUCT_NAME" /> userà sempre il resolver integrato per le richieste DNS-over-HTTPS. Per informazioni relative al controllo del protocollo DNS-over-HTTPS, consulta il criterio <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" />.
 
       Se il criterio viene impostato su Attivato, viene utilizzato il client DNS integrato, se disponibile.
@@ -6265,6 +6277,15 @@
 <translation id="7482768039644066614">Attiva il recupero dei metadati di caricamento delle pagine e dei modelli di machine learning per migliorare l'esperienza di navigazione</translation>
 <translation id="7485481791539008776">Regole di selezione della stampante predefinita</translation>
 <translation id="7486205887492534734">Mostra una richiesta in caso di corrispondenza tra più certificati nella schermata di accesso</translation>
+<translation id="7489661071474025727">Specifica se il servizio di recupero dell'account è attivato per i tuoi utenti su dispositivi <ph name="PRODUCT_OS_NAME" />.
+
+      Se il criterio viene attivato, il recupero dei dati utente è attivato. Se il criterio è disattivato o se non viene configurato, il recupero dei dati utente non viene attivato.
+      Se il livello di criterio viene impostato su consigliato, gli utenti possono modificare l'attivazione del recupero dell'account tramite la pagina Impostazioni. Se il livello di criterio viene impostato su obbligatorio, gli utenti non possono modificare l'attivazione del recupero dell'account.
+
+      Per la modifica del valore del criterio, il processo di aggiornamento viene completato all'accesso successivo al dispositivo <ph name="PRODUCT_OS_NAME" />, dopo il recupero del nuovo valore del criterio.
+
+      Nota: questa impostazione si applica solo ai nuovi account che vengono aggiunti sui dispositivi <ph name="PRODUCT_OS_NAME" />.
+      </translation>
 <translation id="7491720878670299691">La velocità di interrogazione e controllo della rete per eventi. Il valore minimo consentito è 1 minuto.
 
       Se il criterio non viene impostato, viene applicata la velocità predefinita di 1 minuto.</translation>
@@ -6793,11 +6814,6 @@
 <translation id="8091982561085048989">Un flag booleano che indica se deve essere usato o meno IPP Everywhere per configurare la stampante. Questo flag è supportato su <ph name="PRODUCT_OS_NAME" /> 76 e versioni successive.</translation>
 <translation id="8099880303030573137">Ritardo inattività in caso di utilizzo della batteria</translation>
 <translation id="8101381354936029836">Gruppo atomico di criteri:</translation>
-<translation id="8102504778644322990">A partire dalla versione M106, verrà rimossa l'API window.webkitStorageInfo non standard.
-      Questo criterio consente di riattivare l'API fino alla versione M107.
-      Se questo criterio viene impostato su Attivato, l'API window.webkitStorageInfo sarà disponibile.
-      Se questo criterio viene impostato su Disattivato o se non viene configurato, l'API window.webkitStorageInfo non sarà disponibile.
-      </translation>
 <translation id="8102913158860568230">Impostazione stream multimediale predefinito</translation>
 <translation id="8104962233214241919">Seleziona automaticamente i certificati client per questi siti</translation>
 <translation id="8109762054721090517">Modello per l'<ph name="IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /></translation>
@@ -7267,6 +7283,7 @@
 <translation id="8543108307976719751">Impedisci le connessioni di accesso remoto a questo computer</translation>
 <translation id="8544375438507658205">Renderer HTML predefinito per <ph name="PRODUCT_FRAME_NAME" /></translation>
 <translation id="8544465954173828789">Consente la sincronizzazione di messaggi SMS dal telefono al Chromebook</translation>
+<translation id="8549906780629620346">Attiva recupero dell'account</translation>
 <translation id="8553955290407912156">Se il criterio viene configurato, puoi elencare i pattern URL che specificano i siti che non possono chiedere agli utenti l'autorizzazione di accesso a un dispositivo HID.
 
       Se il criterio non viene configurato, <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> si applica per tutti i siti, se impostato. In caso contrario, vengono applicate le impostazioni personali degli utenti.
@@ -7728,12 +7745,6 @@
 
       Il valore della norma deve essere specificato in millisecondi. I valori sono limitati a un intervallo compreso tra 30 secondi e 24 ore.</translation>
 <translation id="9040042535845939426">Imposta lo stato di Schermata sulla privacy nella schermata di accesso</translation>
-<translation id="9046609670147277653">Se questa impostazione viene attivata, <ph name="PRODUCT_NAME" /> verifica i certificati del server mediante lo strumento di verifica dei certificati integrato con Chrome Root Store usato come fonte di attendibilità pubblica.
-      Se viene disattivata, <ph name="PRODUCT_NAME" /> non utilizzerà Chrome Root Store. Se il criterio <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> è disponibile e non è disattivato, per la verifica potrebbe essere usato lo strumento di verifica dei certificati di sistema o lo strumento di verifica integrato.
-      Se questa impostazione non è configurata, potrebbe essere utilizzato Chrome Root Store o le CA radice fornite dal sistema.
-
-      È prevista la rimozione di questo criterio in <ph name="PRODUCT_NAME" /> per <ph name="MS_WIN_NAME" /> e <ph name="MAC_OS_NAME" /> versione 111, in concomitanza con la rimozione del supporto per l'utilizzo dello strumento di verifica e delle CA radice forniti dalla piattaforma.
-      </translation>
 <translation id="9050853837490399534">Questa norma consente di stabilire se il dispositivo debba essere aggiornato a una build di correzione rapida.
 
       Se il valore della norma viene impostato su un token associato a una build di correzione rapida, il dispositivo verrà aggiornato alla build di correzione rapida corrispondente se l'aggiornamento non è bloccato da un'altra norma.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index 0936671..e01b60f5 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -3184,6 +3184,7 @@
       このポリシーを未設定のままにした場合、<ph name="DEFAULT_PLUGINS_SETTING_POLICY_NAME" /> が設定されていればその設定がすべてのサイトで使用され、設定されていなければユーザーの個人設定が適用されます。
 
       有効な URL パターンについて詳しくは、https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns をご覧ください。ただし、M85 以降では、ホストに「*」と「[*.]」のワイルドカードを使用したパターンは、このポリシーでサポートされなくなります。</translation>
+<translation id="4369307906396795087">ワーカー(Web Worker、Service Worker など)のスクリプトで厳密でない MIME タイプ チェックを使用する。従来の MIME タイプ(<ph name="MIMETYPE_TEXT_ASCII" /> など)のワーカー スクリプトは許可する。</translation>
 <translation id="4370937370030117032">ネイティブ プリンタへのユーザー名とファイル名の送信を無効にする</translation>
 <translation id="4372704773119750918">マルチプロフィール(プライマリまたはセカンダリ)への参加を企業ユーザーに許可しない</translation>
 <translation id="4377599627073874279">すべてのサイトに対してすべての画像表示を許可する</translation>
@@ -6045,6 +6046,11 @@
 
       このポリシーを有効にした場合、または設定しない場合、クイック アンサーの単位変換が有効になります。
       このポリシーを無効にした場合、クイック アンサーの単位変換が無効になります。</translation>
+<translation id="7582095958259051083">このポリシーを有効に設定した場合、URL キーによる匿名化データの収集が常に有効になり、検索とブラウジングを改善するため、ユーザーがアクセスしたページの URL が Google に送信されます。
+
+      このポリシーを無効に設定した場合、URL キーによる匿名化データの収集は行われません。
+
+      このポリシーを未設定のままにした場合、ユーザーはこの設定を手動で変更できます。</translation>
 <translation id="7587345076013230465">ログイン画面で自動選択ポリシーが複数の証明書と一致した場合に、クライアント証明書を選択するよう求めるメッセージを常にユーザーに表示する</translation>
 <translation id="7587921466180902617">ファミリー リンクのユーザーに対してスクリーンキャスト dogfood を有効にする</translation>
 <translation id="759957074386651883">セーフ ブラウジングの設定</translation>
@@ -6441,11 +6447,6 @@
 <translation id="8091982561085048989">プリンタの設定に IPP Everywhere を使用するかどうかを示すブール値のフラグです。このフラグは <ph name="PRODUCT_OS_NAME" /> バージョン 76 以降でサポートされています。</translation>
 <translation id="8099880303030573137">アイドル状態になるまでの時間(バッテリー電源での実行時)</translation>
 <translation id="8101381354936029836">ポリシーの最小単位グループ:</translation>
-<translation id="8102504778644322990">M106 以降、非標準の window.webkitStorageInfo API は削除されます。
-      このポリシーでは、この API を M107 まで再度使用できるようにします。
-      このポリシーを [有効] に設定した場合、window.webkitStorageInfo API が使用可能になります。
-      このポリシーを [無効] に設定するか未設定のままにした場合、window.webkitStorageInfo API は使用できなくなります。
-      </translation>
 <translation id="8102913158860568230">デフォルトのメディアストリームの設定</translation>
 <translation id="8104962233214241919">これらのサイトのクライアント証明書を自動的に選択する</translation>
 <translation id="8109762054721090517"><ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" />のテンプレート</translation>
@@ -6707,6 +6708,7 @@
 <translation id="8337114537412769126"><ph name="DEFAULT_SEARCH_PROVIDER_ENABLED_POLICY_NAME" /> がオンの場合に、<ph name="DEFAULT_SEARCH_PROVIDER_SUGGEST_URL_POST_PARAMS_POLICY_NAME" /> では、POST を使ったキーワード候補の検索に使用するパラメータを指定できます。名前と値のペアをカンマで区切って指定します。テンプレート パラメータ(<ph name="SEARCH_TERM_MARKER" /> など)の値は、実際の検索キーワードのデータに置き換えられます。
 
       <ph name="DEFAULT_SEARCH_PROVIDER_SUGGEST_URL_POST_PARAMS_POLICY_NAME" /> を未設定のままにした場合、キーワードの候補による検索リクエストは GET メソッドを使用して送信されます。</translation>
+<translation id="8337961007759352651">ワーカー(Web Worker、Service Worker など)のスクリプトで JavaScript MIME タイプ(<ph name="MIMETYPE_TEXT_JAVASCRIPT" /> など)を必須にする。従来の MIME タイプ(<ph name="MIMETYPE_TEXT_ASCII" /> など)のワーカー スクリプトは拒否する。</translation>
 <translation id="8339089771335211509">WebRTC は公開インターネットに接続されているインターフェースのみを使用し、接続にプライベート IP アドレスを使用できない。</translation>
 <translation id="8339420913453596618">2 段階認証プロセスを無効にする</translation>
 <translation id="8344454543174932833">初回実行時にデフォルトのブラウザからブックマークをインポートする</translation>
@@ -6986,12 +6988,23 @@
       このポリシーを未設定のままにした場合、<ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> が設定されていればその設定が使用され、設定されていなければユーザーの個人設定が適用されます。
 
       このポリシーで指定する URL は、<ph name="WEB_HID_BLOCKED_FOR_URLS_POLICY_NAME" /> で指定する URL と競合しないようにする必要があります。競合する場合、このポリシーは <ph name="WEB_HID_BLOCKED_FOR_URLS_POLICY_NAME" /> より優先されます。</translation>
+<translation id="8667754887193084187">このポリシーでは、ワーカー スクリプトの厳密な MIME タイプ チェックを有効にします。
+
+      このポリシーを有効に設定するか未設定のままにした場合、ワーカー スクリプトは新しいデフォルトの動作として JavaScript の厳密な MIME タイプ チェックを使用します。従来の MIME タイプのワーカー スクリプトは拒否されます。
+
+      無効に設定した場合、ワーカー スクリプトは厳密でない MIME タイプ チェックを使用し、従来の MIME タイプ(<ph name="MIMETYPE_TEXT_ASCII" /> など)のワーカー スクリプトは引き続き読み込まれて実行されます。
+
+      ブラウザではこれまで厳密でない MIME タイプ チェックを使用しており、従来の MIME タイプを含むリソースがサポートされていました。たとえば、JavaScript リソースの <ph name="MIMETYPE_TEXT_ASCII" /> は従来サポートされていた MIME タイプです。ただし、本来の用途とは異なるスクリプトとしてリソースを読み込めるため、セキュリティ上の問題が発生することがあります。Chrome は今後早い時期に、厳密な MIME タイプ チェックに移行する予定です。このポリシーを有効にした場合、デフォルトの動作がトラッキングされます。このポリシーを無効にした場合、必要に応じて従来の動作を保持できます。
+
+      JavaScript と ECMAScript のメディアタイプについて詳しくは、https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguage をご覧ください。
+      </translation>
 <translation id="8669313549017524373"><ph name="RESTORE_ON_STARTUP_POLICY_NAME" /> が RestoreOnStartupIsURLs に設定されている場合は、URL のリストに <ph name="RESTORE_ON_STARTUP_URLS_POLICY_NAME" /> を設定すると、開く URL を指定できます。
 
       このポリシーが未設定の場合、起動時には新しいタブページが開きます。
 
       <ph name="MS_WIN_NAME" /> では、<ph name="MS_AD_NAME" /> ドメインに追加されたインスタンス、Windows 10 Pro で実行されているインスタンス、<ph name="CHROME_BROWSER_CLOUD_MANAGEMENT_NAME" /> に登録されているインスタンスでのみこの機能を使用できます。<ph name="MAC_OS_NAME" /> では、MDM を介して管理されるインスタンスまたは MCX を介してドメインに追加されたインスタンスでのみこの機能を使用できます。</translation>
 <translation id="8671119576957984818">デスクトップ共有ハブを有効にする</translation>
+<translation id="8671193325113134911">ワーカー スクリプトの厳密な MIME タイプ チェックを有効にする</translation>
 <translation id="8671314659400112135">このポリシーを有効に設定するか未設定のままにした場合、<ph name="PRODUCT_NAME" /> で追加の拡張ポイント セキュリティ リスク軽減の適用が許可され、ブラウザ プロセスの従来の拡張ポイントはブロックされます。
 
       このポリシーを無効に設定した場合、悪質な疑いのある不明なコードに対して <ph name="PRODUCT_NAME" /> のブラウザ プロセス内での読み込みが許可されるため、<ph name="PRODUCT_NAME" /> のセキュリティと安定性が低下します。このポリシーは、<ph name="PRODUCT_NAME" /> のブラウザ プロセス内で実行する必要のあるサードパーティ ソフトウェアとの間で互換性の問題が発生する場合にのみ無効にしてください。
@@ -7326,12 +7339,6 @@
       このポリシーを設定した場合、ユーザーが変更したりオーバライドしたりすることはできません。
       ポリシーの値はミリ秒単位で指定します。値の範囲は 30 秒~24 時間です。</translation>
 <translation id="9040042535845939426">ログイン画面でのプライバシー スクリーンの状態を設定する</translation>
-<translation id="9046609670147277653">有効な場合、<ph name="PRODUCT_NAME" /> は組み込みの証明書確認機能を使用してサーバー証明書の確認を行います。その際、Chrome Root Store がパブリック トラストのソースとして使用されます。
-      無効な場合、<ph name="PRODUCT_NAME" /> では Chrome Root Store は使用されません。確認では、システムの証明書確認機能、または <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> ポリシーが利用可能で無効になっていない場合は組み込みの確認機能が使用されます。
-      未設定の場合、Chrome Root Store またはシステムが提供するルートが使用される可能性があります。
-
-      このポリシーは <ph name="MS_WIN_NAME" /> および <ph name="MAC_OS_NAME" /> 向け <ph name="PRODUCT_NAME" /> バージョン 111 で削除される予定です(プラットフォームから提供される証明書確認機能とルートを使用するためのサポートが削除されるため)。
-      </translation>
 <translation id="9050853837490399534">このポリシーでは、デバイスを Quick Fix ビルドに更新するかどうかを管理します。
 
       Quick Fix ビルドにマッピングされているトークンをポリシーの値に設定した場合、別のポリシーで更新がブロックされていない限り、デバイスを対応する Quick Fix ビルドに更新します。
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index bfc78183..7610bad 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -1847,6 +1847,7 @@
 <translation id="2799297758492717491">URL 패턴의 허용 목록에서 미디어 자동 재생 허용</translation>
 <translation id="2801065672151277034">인증서 관리 설정</translation>
 <translation id="2801155097555584385">배터리 충전을 시작할 지점을 퍼센트로 맞춤설정합니다.</translation>
+<translation id="2801378553855965587"><ph name="GOOGLE_CALENDAR_NAME" /> 통합을 사용 중지합니다.</translation>
 <translation id="2805707493867224476">모든 사이트에서 팝업 표시 허용</translation>
 <translation id="2818074121667686266">정책을 '사용'으로 설정하거나 설정하지 않으면 AudioCaptureAllowedUrls 목록에 설정된 URL은 제외하고 사용자에게 오디오 캡처 액세스 권한에 대한 메시지가 표시됩니다.
 
@@ -2448,6 +2449,7 @@
           유휴 작업이 로그아웃 또는 종료인 경우에만 경고 메시지가 표시됩니다.</translation>
 <translation id="3360490004791301756">사용자가 <ph name="PRODUCT_OS_NAME" /> 등록을 통해 쿠폰을 사용할 수 있게 허용</translation>
 <translation id="3363360928811201045">관리 계정에 제한사항 추가</translation>
+<translation id="3364400740222114778">계정 복구</translation>
 <translation id="3373381043600809954"><ph name="PRODUCT_NAME" /> 사용</translation>
 <translation id="3374587000313305002"><ph name="PRODUCT_NAME" />에서 사용자 데이터를 저장하는 데 사용할 디렉터리를 설정합니다
 
@@ -2469,6 +2471,7 @@
       <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> 정책이 설정되어 있지 않으면 이 정책이 적용되지 않습니다.</translation>
 <translation id="3397883909301547525"><ph name="PRODUCT_OS_NAME" /> 런처에 추천 앱 표시 안함</translation>
 <translation id="3399859571630358395">빠른 페어링(빠른 블루투스 페어링)이 사용 중지되도록 강제 적용</translation>
+<translation id="3404681701763345449"><ph name="GOOGLE_CALENDAR_NAME" /> 통합을 사용 설정합니다.</translation>
 <translation id="3408078762098350617"><ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" /> 목록에 있는 사용 중지된 기능의 사용자 환경을 제어합니다.
 
       정책을 '차단됨'으로 설정하면 사용 중지된 기능이 사용할 수 없게 되지만 여전히 사용자에게 표시됩니다.
@@ -3393,6 +3396,7 @@
       유효한 <ph name="URL_LABEL" /> 패턴에 관해 자세히 알아보려면 https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns를 참고하세요. <ph name="WILDCARD_VALUE" />는 이 정책에 허용되는 값이 아닙니다.</translation>
 <translation id="4389073105055031853">사용자가 모든 인증서를 관리하도록 허용</translation>
 <translation id="4389091865841123886">TPM 메커니즘으로 원격 인증을 구성합니다.</translation>
+<translation id="4397045637922200204">계정 복구 비활성화</translation>
 <translation id="4397464099112037398">기본 창 배치 권한 설정</translation>
 <translation id="4401496838830169080"><ph name="PRODUCT_NAME" />의 세이프 브라우징 기능을 사용할지와 작동 모드를 제어할 수 있습니다.
 
@@ -3810,6 +3814,7 @@
 <translation id="4913065710388638917">URL 목록에 대한 증명 흐름 사용 설정</translation>
 <translation id="4917385247580444890">강력</translation>
 <translation id="4918261735182294270">사용자가 <ph name="CHROME_SYNC_NAME" /> 설정 여부를 선택하도록 허용</translation>
+<translation id="491889618361437456"><ph name="GOOGLE_CALENDAR_NAME" /> 통합을 사용 설정합니다.</translation>
 <translation id="4919122295221518724">혼합 콘텐츠에 엄격한 처리 방식 사용</translation>
 <translation id="4920367374739265095">정책을 설정하면 일괄 프린터 설정에 적용할 액세스 정책이 지정되므로 사용자에게 제공할 <ph name="DEVICE_PRINTERS_POLICY_NAME" />의 프린터를 제어할 수 있습니다.
 
@@ -3967,6 +3972,13 @@
 
       정책을 설정하지 않거나 사용 중지하면 영구 유형이 있는 webkitRequestFileSystem은 임시 할당량으로 작동합니다.
       </translation>
+<translation id="5099372083252975644"><ph name="GOOGLE_CALENDAR_NAME" /> 통합을 사용 설정하면 <ph name="PRODUCT_OS_NAME" /> 사용자가 <ph name="GOOGLE_CALENDAR_NAME" />에서 이벤트를 가져와 시스템 상태 표시줄의 <ph name="PRODUCT_OS_NAME" /> 캘린더 위젯을 채울 수 있습니다.
+
+          정책을 사용 설정하면 <ph name="PRODUCT_OS_NAME" /> 기기에서 <ph name="GOOGLE_CALENDAR_NAME" /> 이벤트를 검색하여 로그인한 사용자의 시스템 상태 표시줄에 있는 <ph name="PRODUCT_OS_NAME" /> 캘린더 위젯을 채울 수 있습니다.
+
+          정책을 사용 중지하면 <ph name="PRODUCT_OS_NAME" /> 기기에서 <ph name="GOOGLE_CALENDAR_NAME" /> 이벤트를 검색하여 로그인한 사용자의 시스템 상태 표시줄에 있는 <ph name="PRODUCT_OS_NAME" /> 캘린더 위젯을 채울 수 없습니다.
+
+          정책을 설정하지 않으면 기업 사용자의 경우 <ph name="GOOGLE_CALENDAR_NAME" /> 기능이 기본적으로 사용 중지됩니다.</translation>
 <translation id="5103112931744164177">이 정책은 운영 체제 DNS 서버나 <ph name="PRODUCT_NAME" />의 내장 DNS 클라이언트와 같이 DNS 서버와의 통신에 사용되는 소프트웨어 스택을 제어합니다. 이 정책은 사용되는 DNS 서버에 영향을 미치지 않습니다. 예를 들어 엔터프라이즈 DNS 서버를 사용하도록 운영 체제가 구성된 경우 내장 DNS 클라이언트에도 동일한 서버가 사용됩니다. DNS-over-HTTPS가 사용되는 경우에도 영향을 미치지 않습니다. <ph name="PRODUCT_NAME" />에서는 항상 DNS-over-HTTPS 요청에 관한 내장 리졸버를 사용합니다. DNS-over-HTTPS 제어에 관한 자세한 내용은 <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> 정책을 참고하세요.
 
       정책을 사용 설정하면 가능한 경우 내장 DNS 클라이언트를 사용합니다.
@@ -6316,6 +6328,15 @@
 <translation id="7482768039644066614">페이지 로드 메타데이터 및 머신러닝 모델 가져오기를 사용 설정하여 브라우저 사용 환경을 개선합니다.</translation>
 <translation id="7485481791539008776">기본 프린터 선택 규칙</translation>
 <translation id="7486205887492534734">여러 인증서가 일치하는 경우 로그인 화면에 메시지 표시</translation>
+<translation id="7489661071474025727"><ph name="PRODUCT_OS_NAME" /> 기기 사용자의 계정 복구 서비스를 활성화할지 지정합니다.
+
+      정책이 사용 설정되면 사용자 데이터 복구가 활성화됩니다. 정책을 사용 중지하거나 설정하지 않으면 사용자 데이터 복구가 활성화되지 않습니다.
+      정책 수준을 권장으로 설정하면 사용자가 설정 페이지에서 계정 복구 활성화 여부를 변경할 수 있습니다. 정책 수준을 필수로 설정하면 사용자가 계정 복구 활성화 여부를 변경할 수 없습니다.
+
+      정책 값이 변경되면 다음번 <ph name="PRODUCT_OS_NAME" /> 기기 로그인 시 새 정책 값을 가져온 후 업데이트 프로세스가 완료됩니다.
+
+      참고: 이 설정은 <ph name="PRODUCT_OS_NAME" /> 기기에 추가되는 새 계정에만 적용됩니다.
+      </translation>
 <translation id="7491720878670299691">이벤트와 관련하여 네트워크 데이터가 수집 및 확인되는 속도입니다. 허용되는 최솟값은 1분입니다.
 
       정책을 설정하지 않으면 기본값 1분이 적용됩니다.</translation>
@@ -6849,11 +6870,6 @@
 <translation id="8091982561085048989">프린터 설정 시 IPP Everywhere의 사용 여부를 나타내는 부울 플래그입니다. 이 플래그는 <ph name="PRODUCT_OS_NAME" /> 버전 76 이상에서 지원됩니다.</translation>
 <translation id="8099880303030573137">배터리 전원으로 실행할 때 유휴 지연</translation>
 <translation id="8101381354936029836">정책 전체 그룹:</translation>
-<translation id="8102504778644322990">M106부터 비표준 API window.mydomainStorageInfo가 삭제되나
-      이 정책은 해당 API를 M107까지 다시 사용 설정합니다.
-      정책을 사용으로 설정하면 window.mydomainStorageInfo API를 사용할 수 있습니다.
-      정책을 사용 안함으로 설정하거나 설정하지 않으면 window.mydomainStorageInfo API를 사용할 수 없습니다.
-      </translation>
 <translation id="8102913158860568230">기본 mediastream 설정</translation>
 <translation id="8104962233214241919">이 사이트에 대해 클라이언트 인증서를 자동으로 선택합니다.</translation>
 <translation id="8109762054721090517"><ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /> 템플릿</translation>
@@ -7332,6 +7348,7 @@
 <translation id="8543108307976719751">이 시스템으로 원격 액세스 연결을 차단</translation>
 <translation id="8544375438507658205"><ph name="PRODUCT_FRAME_NAME" />의 기본 HTML 렌더러</translation>
 <translation id="8544465954173828789">SMS 메시지가 휴대전화에서 Chromebook으로 동기화되도록 허용</translation>
+<translation id="8549906780629620346">계정 복구 활성화</translation>
 <translation id="8553955290407912156">정책을 설정하면 사용자에게 HID 기기 액세스를 요청할 수 없는 사이트는 무엇인지 URL 패턴 목록을 만들어 지정할 수 있습니다.
 
       정책을 설정하지 않았을 때 <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" />이 설정되어 있으면 모든 사이트에 적용되며 설정되어 있지 않으면 사용자의 개인 설정이 적용됩니다.
@@ -7793,12 +7810,6 @@
 
       이 정책 값은 밀리초로 지정되어야 하며 값은 30초에서 24시간 범위로 잘립니다.</translation>
 <translation id="9040042535845939426">로그인 화면에서 개인정보 보호 화면의 상태 설정</translation>
-<translation id="9046609670147277653">이 설정을 사용하면 <ph name="PRODUCT_NAME" />에서 공개 신뢰 소스로 Chrome Root Store와 함께 내장 인증서 확인 기능을 사용하여 서버 인증서를 확인합니다.
-      설정을 사용 중지하면 <ph name="PRODUCT_NAME" />에서 Chrome Root Store를 사용하지 않습니다. <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> 정책을 사용할 수 있고 사용 중지되지 않은 경우 인증에서는 시스템 인증서 확인 기능 또는 내장된 확인 기능을 사용할 수 있습니다.
-      설정하지 않으면 Chrome Root Store 또는 시스템에서 제공하는 루트를 사용할 수 있습니다.
-
-      이 정책은 플랫폼에서 제공하는 인증서 확인 기능과 루트가 지원 중단되는 <ph name="MS_WIN_NAME" /> 및 <ph name="MAC_OS_NAME" /> 버전 111용 <ph name="PRODUCT_NAME" />부터 삭제될 예정입니다.
-      </translation>
 <translation id="9050853837490399534">이 정책은 기기가 빠른 픽스 빌드로 업데이트되어야 하는지 여부를 제어합니다.
 
       정책 값이 빠른 픽스 빌드로 매핑되는 토큰으로 설정된 경우 업데이트가 다른 정책에 의해 차단되지 않으면 기기가 빠른 픽스 빌드로 업데이트됩니다.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 459f613..124905c 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -6773,11 +6773,6 @@
 <translation id="8091982561085048989">Booleaanse markering die aangeeft of IPP Everywhere moet worden gebruikt om de printer in te stellen. Deze markering wordt ondersteund in versie 76 en hoger van <ph name="PRODUCT_OS_NAME" />.</translation>
 <translation id="8099880303030573137">Inactieve vertraging wanneer op de batterij wordt gewerkt</translation>
 <translation id="8101381354936029836">Beleid van atomische groep:</translation>
-<translation id="8102504778644322990">Vanaf M106 wordt de niet-standaard API window.webkitStorageInfo verwijderd.
-      Met dit beleid wordt de API opnieuw aangezet tot M107.
-      Als je dit beleid toepast, is de API window.webkitStorageInfo beschikbaar.
-      Als je dit beleid niet toepast of niet instelt, is de API window.webkitStorageInfo niet beschikbaar.
-      </translation>
 <translation id="8102913158860568230">Standaardinstelling voor mediastreams</translation>
 <translation id="8104962233214241919">Clientcertificaten automatisch selecteren voor deze sites</translation>
 <translation id="8109762054721090517">Template voor <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /></translation>
@@ -7708,12 +7703,6 @@
 
       De beleidswaarde moet worden gespecificeerd in milliseconden. Waarden worden afgerond tot een bereik van dertig seconden tot vierentwintig uur.</translation>
 <translation id="9040042535845939426">Stelt de status van het privacyscherm in op het inlogscherm</translation>
-<translation id="9046609670147277653">Als je deze instelling toepast, verifieert <ph name="PRODUCT_NAME" /> servercertificaten met de ingebouwde certificaatverificatie. De Chrome Root Store is hierbij de bron van openbaar vertrouwen.
-      Als deze instelling uitstaat, gebruikt <ph name="PRODUCT_NAME" /> de Chrome Root Store niet. Voor de verificatie kan de systeemcertificaatverificatie van het systeem of de ingebouwde verificatie worden gebruikt als het beleid <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> beschikbaar is en niet uitstaat.
-      Als deze instelling niet is ingesteld, kunnen de Chrome Root Store of de door het systeem geleverde roots worden gebruikt.
-
-      Dit beleid wordt verwijderd in <ph name="PRODUCT_NAME" /> voor <ph name="MS_WIN_NAME" /> en <ph name="MAC_OS_NAME" /> versie 111, wanneer de ondersteuning voor de certificaatverificatie en rootcertificaten van het platform volgens de planning worden verwijderd.
-      </translation>
 <translation id="9050853837490399534">Met dit beleid wordt bepaald of het apparaat moet worden geüpdatet naar een Quick Fix Build.
 
       Als de beleidswaarde is ingesteld op een token dat naar een Quick Fix Build verwijst, wordt het apparaat geüpdatet naar de bijbehorende Quick Fix Build als de update niet wordt geblokkeerd door een ander beleid.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index fea7dea5..3d944af 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -32,6 +32,7 @@
 
       Os idiomas compatíveis no momento são: af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk, vi.</translation>
 <translation id="1019101089073227242">Definir diretório de dados do usuário</translation>
+<translation id="1020006815010587263">A lixeira está desativada para o usuário.</translation>
 <translation id="1022361784792428773">IDs de extensão que devem ser impedidos de serem instalados pelo usuário (ou * para todos)</translation>
 <translation id="102492767056134033">Definir o estado padrão do teclado na tela, na tela de login</translation>
 <translation id="102658870205613876">Configurações de pop-ups</translation>
@@ -542,6 +543,9 @@
 <translation id="1553532014072799546">Autorização de limites de tempo por app</translation>
 <translation id="1553956579506604198">Bloqueia a instalação de extensões externas</translation>
 <translation id="1555248923316727072">Configurações do gerenciamento de identidade de usuário do SAML</translation>
+<translation id="1557113199339446336">Se a política for definida como verdadeira, os dispositivos registrados vão enviar relatórios com informações sobre eventos de detecção e resposta estendidas (XDR, na sigla em inglês).
+
+      Se a política for definida como falsa ou for deixada sem definição, os dispositivos registrados não vão informar eventos XDR.</translation>
 <translation id="1561424797596341174">A política modifica as versões de depuração do host de acesso remoto</translation>
 <translation id="1561967320164410511">U2F e extensões para declaração individual</translation>
 <translation id="1567718448549957373">Se a política for definida como "Ativada" ou não for definida, desafios de autenticação <ph name="BASIC_AUTH" /> recebidos por HTTP não seguro serão permitidos.
@@ -1151,6 +1155,9 @@
 <translation id="2157842368188031417">Esta política se aplica apenas a sessões de visitante gerenciadas. Ela precisa ser ativada para que o modo de estação de trabalho compartilhada do Imprivata permita trocas de usuário dentro da sessão.
       Definir a política como verdadeira substituirá forçadamente certas políticas para recursos, que mantêm dados de usuários sensíveis e não são gerenciadas pelo mecanismo de limpeza usado para troca de usuários dentro da sessão com a estação de trabalho compartilhada do Imprivata.
       Definir a política como falsa ou deixá-la sem definição não substituirá nenhuma política.</translation>
+<translation id="2158741059065130266">Se a política for definida como verdadeira, os usuários do app Arquivos do <ph name="PRODUCT_OS_NAME" /> vão poder ver uma lixeira, e os arquivos em "Meus arquivos" e "Downloads", incluindo os descendentes criados pelo usuário, vão ser enviados para lá após a exclusão.
+
+      Se a política for definida como falsa, os arquivos que estavam na lixeira ainda vão estar disponíveis, mostrando os arquivos ocultos e encontrando o diretório .Trash em "Meus arquivos" ou "Downloads".</translation>
 <translation id="2159486052528894673">Permitir que as políticas da nuvem de usuários substituam as políticas da nuvem da máquina.</translation>
 <translation id="2160336427036785721">Configura a quantidade de memória que uma única instância do <ph name="PRODUCT_NAME" /> pode usar antes que as guias comecem a ser descartadas para economizar memória. Isto é, a memória usada por uma guia será liberada, e a guia terá que ser atualizada ao ser aberta novamente.
 
@@ -1598,6 +1605,7 @@
           O URL de resultados instantâneos do Google pode ser especificado como: <ph name="GOOGLE_INSTANT_SEARCH_URL" />.
 
           Esta política só é respeitada se a política "DefaultSearchProviderEnabled" está ativada.</translation>
+<translation id="2563373001850981577">Ativar a capacidade de enviar arquivos para a lixeira (em sistemas com suporte) no app Arquivos do <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="2567227673131796227">Esta política está obsoleta. Use a <ph name="NATIVE_MESSAGING_BLOCKLIST_POLICY_NAME" />.
 
       A definição da política especifica quais hosts de mensagens nativas não serão carregados. Um valor de <ph name="WILDCARD_VALUE" /> da lista de proibições significa que todos os hosts de mensagens nativas serão proibidos, a menos que tenham permissão explícita.
@@ -1844,6 +1852,7 @@
 <translation id="2799297758492717491">Permitir reprodução automática de mídia em uma lista de permissões de padrões de URL</translation>
 <translation id="2801065672151277034">Configurações de gerenciamento do certificado</translation>
 <translation id="2801155097555584385">Configurar o início do carregamento personalizado da bateria, em porcentagem</translation>
+<translation id="2801378553855965587">Desativar a integração com o <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="2805707493867224476">Permitir que todos os sites exibam pop-ups</translation>
 <translation id="2818074121667686266">Se a política for definida como ativada ou não for definida, o usuário receberá uma solicitação para acesso de captura de áudio, exceto para URLs configurados na lista AudioCaptureAllowedUrls.
 
@@ -2467,6 +2476,7 @@
       Se a <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> não for definida, esta política não terá efeito.</translation>
 <translation id="3397883909301547525">Não mostrar recomendações de apps no acesso rápido do <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3399859571630358395">Forçar a desativação do Pareamento rápido (pareamento rápido por Bluetooth).</translation>
+<translation id="3404681701763345449">Ativar a integração com o <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="3408078762098350617">Controla a experiência do usuário com recursos desativados na <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" />.
 
       Se a política for bloqueada, os recursos desativados não poderão ser usados, mas vão ficar visíveis para os usuários.
@@ -2985,6 +2995,7 @@
       Se esta política for definida como "Desativada" ou deixada sem definição, o usuário só receberá a solicitação quando nenhum certificado corresponder à seleção automática.</translation>
 <translation id="3950110092991281616">Ativar a autenticação pelo SO apenas em sessões normais.</translation>
 <translation id="3950239119790560549">Atualiza restrições de tempo</translation>
+<translation id="3953860513079094502">Relatar informações sobre eventos de detecção e resposta estendidas (XDR, na sigla em inglês)</translation>
 <translation id="3956243291190637924">Ocultar cabeçalhos e rodapés na visualização de impressão</translation>
 <translation id="3956573780915784996">Permite que os usuários coletem o rastreamento de desempenho do sistema.</translation>
 <translation id="3956686688560604829">Usar a política SiteList do Internet Explorer para o Suporte a navegadores legados.</translation>
@@ -3114,6 +3125,7 @@
 <translation id="4098920079809952737">Permitir a impressão com e sem gráficos em segundo plano</translation>
 <translation id="410068710490553233">Permitir login em outras Contas do Google</translation>
 <translation id="4101282687722389021">Carimbo de data/hora UTC do último horário em que a entrada foi atualizada. Enviada como uma string, porque o carimbo de data/hora não caberia em um número inteiro.</translation>
+<translation id="4102347680024644994">Relatar eventos de detecção e resposta estendidas (XDR, na sigla em inglês)</translation>
 <translation id="4105989332710272578">Desativar a aplicação da Transparência dos certificados para uma lista de URLs</translation>
 <translation id="4114059938441379876">Se a política for definida, será possível configurar um URL em que os usuários poderão mudar a senha após receber um aviso no navegador. O serviço de proteção de senha direcionará os usuários ao URL (apenas protocolos HTTP e HTTPS) designado pela política. Para que o <ph name="PRODUCT_NAME" /> capture corretamente o hash com sal da nova senha na página de mudança de senha, essa página precisa seguir as diretrizes apresentadas em https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -3805,6 +3817,7 @@
 <translation id="4913065710388638917">Ativar fluxo de atestado para uma lista de URLs</translation>
 <translation id="4917385247580444890">Forte</translation>
 <translation id="4918261735182294270">Permitir que os usuários escolham quando ativar a <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">Ativar a integração com o <ph name="GOOGLE_CALENDAR_NAME" /></translation>
 <translation id="4919122295221518724">Ativar tratamento mais rigoroso para conteúdo misto</translation>
 <translation id="4920367374739265095">A definição da política designa qual política de acesso se aplica à configuração em massa de impressoras, controlando quais impressoras da <ph name="DEVICE_PRINTERS_POLICY_NAME" /> estão disponíveis para os usuários.
 
@@ -3963,6 +3976,13 @@
 
       Se ela for desativada ou deixada sem definição, o webkitRequestFileSystem com tipo persistente vai operar com uma cota temporária.
       </translation>
+<translation id="5099372083252975644">Ative a integração com o <ph name="GOOGLE_CALENDAR_NAME" />, que permite que os usuários do <ph name="PRODUCT_OS_NAME" /> busquem eventos do <ph name="GOOGLE_CALENDAR_NAME" /> para preencher o widget de agenda do <ph name="PRODUCT_OS_NAME" /> na barra de status do sistema.
+
+          Se esta política for ativada, o dispositivo <ph name="PRODUCT_OS_NAME" /> vai poder buscar eventos do <ph name="GOOGLE_CALENDAR_NAME" /> para preencher o widget de agenda do <ph name="PRODUCT_OS_NAME" /> na barra de status do sistema para o usuário conectado.
+
+          Se a política for desativada, o dispositivo <ph name="PRODUCT_OS_NAME" /> não vai poder buscar eventos do <ph name="GOOGLE_CALENDAR_NAME" /> para preencher o widget da agenda do <ph name="PRODUCT_OS_NAME" /> na barra de status do sistema para o usuário conectado.
+
+          Se a política for deixada sem definição, o <ph name="GOOGLE_CALENDAR_NAME" /> vai ficar desativado por padrão para os usuários corporativos.</translation>
 <translation id="5103112931744164177">Esta política controla qual pilha de software é usada para se comunicar com o servidor DNS: o cliente DNS do sistema operacional ou o cliente DNS integrado do <ph name="PRODUCT_NAME" />. Esta política não afeta qual servidor DNS será usado. Se, por exemplo, o sistema operacional estiver configurado para usar um servidor DNS empresarial, o mesmo servidor será usado pelo cliente DNS integrado. Ela também não controla como o DNS sobre HTTPS é usado. O <ph name="PRODUCT_NAME" /> sempre usará o resolvedor integrado para solicitações DNS sobre HTTPS. Consulte a política <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> para ver informações sobre como controlar o DNS sobre HTTPS.
 
       Se a política for definida como "Ativada", o cliente DNS integrado será usado, se disponível.
@@ -5689,6 +5709,7 @@
       Especifica os sinalizadores a serem aplicados ao <ph name="PRODUCT_NAME" /> quando ele for iniciado. Os sinalizadores especificados são aplicados apenas na tela de login. Os sinalizadores definidos por meio desta política não são propagados em sessões de usuário.</translation>
 <translation id="6857240169209507953">Evitar que a <ph name="BOREALIS_NAME" /> seja executada em um dispositivo</translation>
 <translation id="685769593149966548">Aplicar o Modo restrito rigoroso para o YouTube</translation>
+<translation id="6860349155164463644">Não relatar informações sobre eventos de detecção e resposta estendidas (XDR, na sigla em inglês)</translation>
 <translation id="686079137349561371">Microsoft Windows 7 ou versão posterior</translation>
 <translation id="68818134518270542">A definição da política especifica os apps que os usuários podem ativar para fazer anotações na tela de bloqueio do <ph name="PRODUCT_OS_NAME" />.
 
@@ -6308,6 +6329,7 @@
       Os campos <ph name="ENTERPRISE_CONNECTOR_CUSTOM_MESSAGES_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_MESSAGE_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_LEARN_MORE_URL_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_LANGUAGE_FIELD" /> e <ph name="ENTERPRISE_CONNECTOR_TAG_FIELD" /> são usados para configurar uma mensagem que informa ao usuário quando um aviso é mostrado após uma verificação apresentar um veredito não limpo. O campo "message" contém o texto que é mostrado ao usuário e pode ter no máximo 200 caracteres. O campo "learn_more_url" contém um URL fornecido pelo administrador em que o usuário pode clicar para receber mais informações fornecidas pelo cliente sobre o motivo de a ação ter sido bloqueada. O campo "language" é opcional e contém o idioma da mensagem. Deixar esse campo vazio ou com um valor "default" (padrão) indica uma mensagem que será usada quando o idioma do usuário não tiver mensagens. O campo "tag" especifica para quais tipos de verificação a mensagem é mostrada. A lista "custom_messages" pode ter zero ou mais entradas e cada uma delas precisa ter campos "message" e "tag" não vazios.
 
       Configurações extras são necessárias para que essa política seja aplicada. Acesse https://support.google.com/chrome/a?p=chrome_enterprise_connector_policies_setting para mais informações.</translation>
+<translation id="7481702249684965639">A lixeira está ativada para o usuário.</translation>
 <translation id="7482768039644066614">Ativar a busca de metadados para carregamento de página e dos modelos de aprendizado de máquina para melhorar a experiência de navegação</translation>
 <translation id="7485481791539008776">Regras de seleção de impressora padrão</translation>
 <translation id="7486205887492534734">Pedir quando houver várias correspondências de certificado na tela de login</translation>
@@ -6849,11 +6871,6 @@
 <translation id="8091982561085048989">Flag booleana indicando se o IPP Everywhere deve ser usado ou não para configurar a impressora. Essa sinalização é compatível com o <ph name="PRODUCT_OS_NAME" /> 76 ou versão mais recente.</translation>
 <translation id="8099880303030573137">Intervalo de inatividade no funcionamento com energia da bateria</translation>
 <translation id="8101381354936029836">Grupo atômico de políticas:</translation>
-<translation id="8102504778644322990">Da versão M106 em diante, a API window.webkitStorageInfo não padrão vai ser removida.
-      Esta política reativa essa API até a versão M107.
-      Se a política for ativada, a API window.webkitStorageInfo vai ficar disponível.
-      Se ela for desativada ou deixada sem definição, a API não vai ficar disponível.
-      </translation>
 <translation id="8102913158860568230">Configuração padrão mediastream</translation>
 <translation id="8104962233214241919">Selecionar certificados de cliente automaticamente para estes sites</translation>
 <translation id="8109762054721090517">Modelo do <ph name="IPP_ATTRIBUTE" /><ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /></translation>
@@ -7793,12 +7810,6 @@
 
       O valor da política precisa ser especificado em milissegundos. Os valores são ajustados a um intervalo entre 30 segundos e 24 horas.</translation>
 <translation id="9040042535845939426">Definir o estado da tela de privacidade na tela de login</translation>
-<translation id="9046609670147277653">Quando esta configuração estiver ativada, o <ph name="PRODUCT_NAME" /> vai verificar os certificados do servidor usando o verificador de certificados integrado com a Chrome Root Store como fonte de confiança pública.
-      Quando ela estiver desativada, o <ph name="PRODUCT_NAME" /> não vai usar a Chrome Root Store. Se a política <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> estiver disponível e não desativada, a verificação vai poder usar o verificador de certificados do sistema ou o verificador integrado.
-      Quando esta configuração não for definida, o sistema vai poder usar a Chrome Root Store ou fornecer as próprias raízes.
-
-      Esta política vai ser removida no <ph name="PRODUCT_NAME" /> para <ph name="MS_WIN_NAME" /> e <ph name="MAC_OS_NAME" /> versão 111. O suporte ao uso das raízes e do verificador de certificados disponibilizados pela plataforma também será removido nessa versão.
-      </translation>
 <translation id="9050853837490399534">Esta política controla se é necessário ou não que o dispositivo seja atualizado para um Quick Fix Build.
 
       Se o valor da política for definido para um token que mapeia para um Quick Fix Build, o dispositivo será atualizado para o Quick Fix Build correspondente se a atualização não estiver bloqueada por outra política.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 5d3cd2dc..5989f694 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -2440,6 +2440,7 @@
           Предупреждение будет появляться только в том случае, если в режиме бездействия происходит выход из аккаунта или отключение устройства.</translation>
 <translation id="3360490004791301756">Разрешить активацию бонусов при регистрации <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3363360928811201045">Добавление ограничений для управляемых аккаунтов</translation>
+<translation id="3364400740222114778">Восстановление доступа к аккаунту</translation>
 <translation id="3373381043600809954">Включить функцию "<ph name="PRODUCT_NAME" />"</translation>
 <translation id="3374587000313305002">Определяет каталог, в котором <ph name="PRODUCT_NAME" /> будет хранить пользовательские данные.
 
@@ -3383,6 +3384,7 @@
       Подробнее о допустимых шаблонах <ph name="URL_LABEL" />: https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns. Значение <ph name="WILDCARD_VALUE" /> не поддерживается для этого правила.</translation>
 <translation id="4389073105055031853">Разрешить пользователям управлять всеми сертификатами</translation>
 <translation id="4389091865841123886">Настройка удаленного подтверждения данных с помощью механизма доверенного платформенного модуля.</translation>
+<translation id="4397045637922200204">Отключить восстановление доступа к аккаунту</translation>
 <translation id="4397464099112037398">Настройки размещения окон по умолчанию</translation>
 <translation id="4401496838830169080">Позволяет управлять настройками Безопасного просмотра в <ph name="PRODUCT_NAME" />, а также выбирать режим защиты.
 
@@ -6307,6 +6309,15 @@
 <translation id="7482768039644066614">Разрешить браузеру получать метаданные и модели машинного обучения при загрузке страниц для оптимизации работы</translation>
 <translation id="7485481791539008776">Правила выбора принтера по умолчанию</translation>
 <translation id="7486205887492534734">Запрашивать, если на экране входа можно применить несколько сертификатов</translation>
+<translation id="7489661071474025727">Правило определяет, будет ли сервис восстановления доступа к аккаунту включен для пользователей на устройствах <ph name="PRODUCT_OS_NAME" />.
+
+      Если правило включено, пользователи смогут восстанавливать свои данные. Если правило отключено или не настроено, то эта функция недоступна.
+      Если установить правило как рекомендуемое, пользователи смогут управлять восстановлением доступа к аккаунту на странице настроек. Если правило настроено как обязательное, пользователи не смогут этого делать.
+
+      Если значение правила изменилось, оно обновится на устройстве <ph name="PRODUCT_OS_NAME" /> при следующем входе в систему.
+
+      Примечание. Это правило действует только для новых аккаунтов, добавленных на устройства <ph name="PRODUCT_OS_NAME" />.
+      </translation>
 <translation id="7491720878670299691">Частота, с которой выполняется запрос сетевых данных и проверяется возникновение событий. Минимальное значение – 1 минута.
 
       Если значение не указано, частота по умолчанию составляет 1 минуту.</translation>
@@ -6835,11 +6846,6 @@
 <translation id="8091982561085048989">Логический флаг, который указывает, будет ли использоваться стандарт IPP Everywhere для настройки принтера. Этот флаг поддерживается в <ph name="PRODUCT_OS_NAME" />, начиная с версии 76.</translation>
 <translation id="8099880303030573137">Задержка перехода в спящий режим при работе от батареи</translation>
 <translation id="8101381354936029836">Мини-группа правила:</translation>
-<translation id="8102504778644322990">Начиная с версии M106, нестандартный window.webkitStorageInfo API будет удален.
-      Это правило снова включит API, которым можно будет пользоваться до версии M107.
-      Если правило включено, window.webkitStorageInfo API будет доступен.
-      Если правило отключено или не настроено, window.webkitStorageInfo API будет недоступен.
-      </translation>
 <translation id="8102913158860568230">Настройка MediaStream по умолчанию</translation>
 <translation id="8104962233214241919">Автоматический выбор клиентских сертификатов для сайтов</translation>
 <translation id="8109762054721090517">Шаблон, позволяющий установить <ph name="IPP_ATTRIBUTE" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> протокола <ph name="INTERNET_PRINTING_PROTOCOL" /></translation>
@@ -7321,6 +7327,7 @@
 <translation id="8543108307976719751">Заблокировать удаленные подключения к этому устройству</translation>
 <translation id="8544375438507658205">Средство обработки HTML в <ph name="PRODUCT_FRAME_NAME" /> по умолчанию</translation>
 <translation id="8544465954173828789">Разрешить синхронизацию SMS на телефоне и устройстве Chromebook</translation>
+<translation id="8549906780629620346">Включить восстановление доступа к аккаунту</translation>
 <translation id="8553955290407912156">Позволяет задать список шаблонов URL для указания сайтов, которым запрещено запрашивать у пользователей доступ к HID-устройствам.
 
       Если это правило не настроено, для всех сайтов действует правило <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> при условии, что оно задано. В противном случае применяются персональные настройки пользователя.
@@ -7784,12 +7791,6 @@
 
       Значение указывается в миллисекундах и составляет от 30 секунд до 24 часов.</translation>
 <translation id="9040042535845939426">Установить статус экрана конфиденциальности на экране входа</translation>
-<translation id="9046609670147277653">Если правило включено, подтверждение сертификатов сервера в <ph name="PRODUCT_NAME" /> будет выполняться встроенным инструментом верификации с использованием Chrome Root Store в качестве источника общественного доверия.
-      Если правило отключено, <ph name="PRODUCT_NAME" /> не будет использовать Chrome Root Store. Если правило <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> доступно и включено, проверка может выполняться через инструмент верификации операционной системы или встроенный инструмент.
-      Если правило не настроено, могут использоваться как Chrome Root Store, так и корневые сертификаты, предоставленные системой.
-
-      Это правило будет удалено в <ph name="PRODUCT_NAME" /> для <ph name="MS_WIN_NAME" /> и <ph name="MAC_OS_NAME" /> версии 111, когда будет прекращена поддержка системного инструмента верификации сертификатов и будут удалены корневые сертификаты.
-      </translation>
 <translation id="9050853837490399534">Это правило определяет, будет ли на устройстве устанавливаться Quick Fix Build.
 
       Если в значении правила есть токен, указывающий на сборку Quick Fix Build, она будет установлена на устройстве (если это не запрещено другим правилом).
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index 48df04c2..2d63daf 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -32,6 +32,7 @@
 
       ภาษาที่รองรับในขณะนี้ ได้แก่ af, bg, ca, cs, da, de, el, en-AU, en-CA, en-GB, en-US, es, es-419, es-AR, es-ES, es-MX, es-US, et, fa, fo, fr, he, hi, hr, hu, id, it, ko, lt, lv, nb, nl, pl, pt-BR, pt-PT, ro, ru, sh, sk, sl, sq, sr, sv, ta, tg, tr, uk, vi</translation>
 <translation id="1019101089073227242">ตั้งค่าไดเรกทอรีข้อมูลผู้ใช้</translation>
+<translation id="1020006815010587263">ปิดใช้ถังขยะสำหรับผู้ใช้</translation>
 <translation id="1022361784792428773">รหัสส่วนขยายที่ผู้ใช้ควรป้องกันไม่ให้มีการติดตั้ง (หรือ * สำหรับทั้งหมด)</translation>
 <translation id="102492767056134033">ตั้งสถานะเริ่มต้นของแป้นพิมพ์บนหน้าจอบนหน้าจอการเข้าสู่ระบบ</translation>
 <translation id="102658870205613876">การตั้งค่าป๊อปอัป</translation>
@@ -545,6 +546,9 @@
 <translation id="1553532014072799546">รายการที่อนุญาตพิเศษสำหรับการจำกัดเวลาต่อแอป</translation>
 <translation id="1553956579506604198">บล็อกไม่ให้ติดตั้งส่วนขยายจากภายนอก</translation>
 <translation id="1555248923316727072">การตั้งค่าการจัดการข้อมูลประจำตัวของผู้ใช้ SAML</translation>
+<translation id="1557113199339446336">การตั้งค่านโยบายเป็น "จริง" จะทำให้อุปกรณ์ที่ลงทะเบียนรายงานข้อมูลเกี่ยวกับเหตุการณ์การตรวจจับและการตอบสนองแบบขยาย (XDR)
+
+      การตั้งค่านโยบายเป็น "เท็จ" หรือไม่ตั้งค่าจะทำให้อุปกรณ์ที่ลงทะเบียนไม่รายงานเหตุการณ์การตรวจจับและการตอบสนองแบบขยาย (XDR)</translation>
 <translation id="1561424797596341174">การลบล้างนโยบายสำหรับเวอร์ชันการแก้ปัญหาของโฮสต์การเข้าถึงระยะไกล</translation>
 <translation id="1561967320164410511">U2F พร้อมส่วนขยายสำหรับการรับรองแต่ละรายการ</translation>
 <translation id="1567718448549957373">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ตั้งค่าจะอนุญาตคำขอตรวจสอบสิทธิ์<ph name="BASIC_AUTH" />ที่ได้รับผ่าน HTTP ที่ไม่ปลอดภัย
@@ -1139,6 +1143,9 @@
 <translation id="2157842368188031417">นโยบายนี้ใช้กับเซสชันผู้เยี่ยมชมที่มีการจัดการเท่านั้น ต้องเปิดใช้สำหรับโหมดเวิร์กสเตชันที่ใช้ร่วมกันของ Imprivata เพื่ออนุญาตให้สลับผู้ใช้ในเซสชัน
       การตั้งค่านโยบายเป็น "จริง" จะบังคับให้ลบล้างนโยบายบางรายการสำหรับฟีเจอร์ต่างๆ ซึ่งการลบล้างนี้จะยังคงเก็บข้อมูลผู้ใช้ที่มีความละเอียดอ่อนไว้ และไม่ได้รับการจัดการโดยกลไกการล้างข้อมูลที่ใช้สำหรับการสลับผู้ใช้ในเซสชันด้วยโหมดเวิร์กสเตชันที่ใช้ร่วมกันของ Imprivata
       การตั้งค่านโยบายเป็น "เท็จ" หรือไม่ได้ตั้งค่าจะไม่ลบล้างนโยบายใดๆ</translation>
+<translation id="2158741059065130266">การตั้งค่านโยบายเป็น "จริง" ทำให้ผู้ใช้แอป Files ของ "<ph name="PRODUCT_OS_NAME" />" สามารถดูถังขยะและไฟล์ในส่วน "ไฟล์ของฉัน" และ "รายการที่ดาวน์โหลด" (รวมถึงองค์ประกอบสืบทอดที่ผู้ใช้สร้างขึ้น) ที่ระบบจะส่งไปเพื่อลบได้
+
+      หากตั้งค่านโยบายนี้เป็น "เท็จ" ไฟล์ที่อยู่ในถังขยะก่อนหน้านี้จะยังคงใช้งานได้โดยแสดงไฟล์ที่ซ่อนอยู่และจะเห็นไดเรกทอรี .Trash ในส่วน "ไฟล์ของฉัน" หรือ "รายการที่ดาวน์โหลด"</translation>
 <translation id="2159486052528894673">อนุญาตให้นโยบายระดับผู้ใช้บนระบบคลาวด์ลบล้างนโยบายระดับแมชชีนบนระบบคลาวด์</translation>
 <translation id="2160336427036785721">กำหนดขนาดหน่วยความจำที่อินสแตนซ์หนึ่งๆ ของ <ph name="PRODUCT_NAME" /> จะใช้ได้ก่อนเริ่มทิ้งแท็บ (กล่าวคือ หน่วยความจำที่แท็บใช้จะถูกล้างและจะต้องโหลดแท็บซ้ำเมื่อมีการสลับไปยังแท็บนั้น) เพื่อประหยัดหน่วยความจำ
 
@@ -1586,6 +1593,7 @@
           URL ผลการค้นหาแบบทันใจของ Google สามารถระบุเป็น: <ph name="GOOGLE_INSTANT_SEARCH_URL" />
 
           นโยบายนี้จะมีผลเมื่อเปิดใช้นโยบาย "DefaultSearchProviderEnabled" เท่านั้น</translation>
+<translation id="2563373001850981577">เปิดใช้ความสามารถในการส่งไฟล์ไปยังถังขยะ (สำหรับระบบไฟล์ที่รองรับ) ในแอป Files ของ "<ph name="PRODUCT_OS_NAME" />"</translation>
 <translation id="2567227673131796227">นโยบายนี้เลิกใช้งานไปแล้ว โปรดใช้นโยบาย "<ph name="NATIVE_MESSAGING_BLOCKLIST_POLICY_NAME" />" แทน
 
       การตั้งค่านโยบายจะระบุโฮสต์การรับส่งข้อความดั้งเดิมที่ระบบไม่ควรโหลด ค่ารายการปฏิเสธ "<ph name="WILDCARD_VALUE" />" จะทำให้โฮสต์การรับส่งข้อความดั้งเดิมทั้งหมดถูกปฏิเสธ เว้นแต่จะได้รับอนุญาตอย่างชัดแจ้ง
@@ -2943,6 +2951,7 @@
       หากตั้งค่านโยบายนี้เป็น "ปิดใช้" หรือไม่ได้ตั้งค่า ระบบอาจแสดงข้อความแจ้งผู้ใช้เฉพาะในกรณีที่ไม่มีใบรับรองตรงกับการเลือกอัตโนมัติ</translation>
 <translation id="3950110092991281616">เปิดใช้การตรวจสอบสิทธิ์แบบแอมเบียนท์ในเซสชันปกติเท่านั้น</translation>
 <translation id="3950239119790560549">อัปเดตการจำกัดเวลา</translation>
+<translation id="3953860513079094502">รายงานข้อมูลเกี่ยวกับเหตุการณ์การตรวจจับและการตอบสนองแบบขยาย (XDR)</translation>
 <translation id="3956243291190637924">ซ่อนส่วนหัวและส่วนท้ายในการแสดงตัวอย่างก่อนพิมพ์</translation>
 <translation id="3956573780915784996">อนุญาตให้ผู้ใช้รวบรวมการติดตามประสิทธิภาพทั้งระบบ</translation>
 <translation id="3956686688560604829">ใช้นโยบาย SiteList ของ Internet Explorer กับการรองรับเบราว์เซอร์เวอร์ชันเก่า</translation>
@@ -3072,6 +3081,7 @@
 <translation id="4098920079809952737">อนุญาตการพิมพ์ทั้งกรณีที่มีและไม่มีกราฟิกพื้นหลัง</translation>
 <translation id="410068710490553233">อนุญาตการลงชื่อเข้าใช้บัญชี Google เพิ่มเติม</translation>
 <translation id="4101282687722389021">การประทับเวลา UTC สำหรับครั้งสุดท้ายที่อัปเดตข้อมูลนี้ ส่งเป็นสตริงเพราะการประทับเวลาไม่พอดีกับจำนวนเต็ม</translation>
+<translation id="4102347680024644994">รายงานเหตุการณ์การตรวจจับและการตอบสนองแบบขยาย (XDR)</translation>
 <translation id="4105989332710272578">ปิดการบังคับใช้ความโปร่งใสของใบรับรองสำหรับรายการ URL</translation>
 <translation id="4114059938441379876">การตั้งค่านโยบายจะกำหนด URL ที่ให้ผู้ใช้ไปเปลี่ยนรหัสผ่านหลังจากเห็นคำเตือนในเบราว์เซอร์ บริการปกป้องรหัสผ่านจะส่งผู้ใช้ไปยัง URL (โปรโตคอล HTTP และ HTTPS เท่านั้น) ที่คุณกำหนดผ่านนโยบายนี้ โปรดตรวจสอบว่าหน้าเปลี่ยนรหัสผ่านของคุณเป็นไปตามหลักเกณฑ์เหล่านี้ (https://www.chromium.org/developers/design-documents/create-amazing-password-forms) เพื่อให้ <ph name="PRODUCT_NAME" /> บันทึกแฮชที่ใช้ Salt ของรหัสผ่านใหม่ได้อย่างถูกต้องในหน้าเปลี่ยนรหัสผ่านนี้
 
@@ -5606,6 +5616,7 @@
       ระบุการแจ้งว่าไม่เหมาะสมที่ควรนำไปใช้กับ <ph name="PRODUCT_NAME" /> เมื่อเริ่มใช้งาน ระบบจะใช้การแจ้งที่ระบุนี้ในหน้าจอการเข้าสู่ระบบเท่านั้น การแจ้งว่าไม่เหมาะสมที่ตั้งผ่านนโยบายนี้จะไม่เผยแพร่ในเซสชันผู้ใช้</translation>
 <translation id="6857240169209507953">ป้องกันไม่ให้ <ph name="BOREALIS_NAME" /> ทำงานในอุปกรณ์</translation>
 <translation id="685769593149966548">บังคับใช้โหมดที่จำกัดเข้มงวดใน YouTube</translation>
+<translation id="6860349155164463644">ไม่ต้องรายงานข้อมูลเกี่ยวกับเหตุการณ์การตรวจจับและการตอบสนองแบบขยาย (XDR)</translation>
 <translation id="686079137349561371">Microsoft Windows 7 ขึ้นไป</translation>
 <translation id="68818134518270542">การตั้งค่านโยบายจะระบุแอปที่ผู้ใช้เปิดเป็นแอปจดโน้ตในหน้าจอล็อกของ <ph name="PRODUCT_OS_NAME" /> ได้
 
@@ -6229,6 +6240,7 @@
       ช่อง <ph name="ENTERPRISE_CONNECTOR_CUSTOM_MESSAGES_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_MESSAGE_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_LEARN_MORE_URL_FIELD" />, <ph name="ENTERPRISE_CONNECTOR_LANGUAGE_FIELD" /> และ <ph name="ENTERPRISE_CONNECTOR_TAG_FIELD" /> ใช้เพื่อกำหนดค่าข้อความที่จะแสดงแก่ผู้ใช้เมื่อมีคำเตือนปรากฏขึ้นหลังจากที่การสแกนตรวจพบการละเมิด ช่องข้อความมีข้อความที่จะแสดงต่อผู้ใช้และต้องมีความยาวไม่เกิน 200 อักขระ ช่อง learn_more_url มี URL จากผู้ดูแลระบบ ซึ่งผู้ใช้สามารถคลิกเพื่อดูข้อมูลเพิ่มเติมจากลูกค้าเกี่ยวกับเหตุผลที่การดำเนินการถูกบล็อก ช่องภาษาจะมีหรือไม่มีก็ได้และจะมีภาษาของข้อความ ช่องภาษาที่เว้นว่างไว้หรือมีค่าเป็น "ค่าเริ่มต้น" จะระบุข้อความที่จะใช้เมื่อภาษาของผู้ใช้ไม่มีข้อความ ช่องแท็กจะระบุประเภทการสแกนที่จะมีการแสดงข้อความ รายการ custom_messages อาจมีหรือไม่มีรายการย่อยเพิ่มเติม โดยที่รายการย่อยแต่ละรายการจำเป็นต้องมีช่องข้อความและช่องแท็กที่ไม่เว้นว่างไว้
 
       นโยบายนี้ต้องมีการตั้งค่าเพิ่มเติมจึงจะมีผล โปรดดูข้อมูลเพิ่มเติมที่ https://support.google.com/chrome/a?p=chrome_enterprise_connector_policies_setting</translation>
+<translation id="7481702249684965639">เปิดใช้ถังขยะสำหรับผู้ใช้</translation>
 <translation id="7482768039644066614">เปิดใช้การดึงข้อมูลเมตาของการโหลดหน้าเว็บและโมเดลแมชชีนเลิร์นนิง เพื่อช่วยเพิ่มประสิทธิภาพประสบการณ์การท่องเว็บ</translation>
 <translation id="7485481791539008776">กฎการเลือกเครื่องพิมพ์เริ่มต้น</translation>
 <translation id="7486205887492534734">แสดงข้อความแจ้งเมื่อมีใบรับรองตรงกันหลายรายการบนหน้าจอการลงชื่อเข้าใช้</translation>
@@ -6767,11 +6779,6 @@
 <translation id="8091982561085048989">ธงบูลีนที่ระบุว่าควรใช้ IPP Everywhere เพื่อตั้งค่าเครื่องพิมพ์หรือไม่ ธงนี้ได้รับการรองรับใน <ph name="PRODUCT_OS_NAME" /> เวอร์ชัน 76 ขึ้นไป</translation>
 <translation id="8099880303030573137">ระยะหน่วงเวลาของการไม่ใช้งานเมื่อทำงานโดยใช้พลังงานแบตเตอรี่</translation>
 <translation id="8101381354936029836">กลุ่มขนาดเล็กของนโยบาย</translation>
-<translation id="8102504778644322990">ตั้งแต่เวอร์ชัน M106 เป็นต้นไป ระบบจะนำ window.webkitStorageInfo API ที่ไม่เป็นไปตามมาตรฐานออก
-      นโยบายนี้จะเปิดใช้ API อีกครั้งสำหรับเวอร์ชัน M107 และเวอร์ชันที่ต่ำกว่า
-      หากตั้งค่านโยบายนี้เป็น "เปิดใช้" window.webkitStorageInfo API จะพร้อมใช้งาน
-      หากตั้งค่านโยบายนี้เป็น "ปิดใช้" หรือไม่ได้ตั้งค่า window.webkitStorageInfo API จะใช้งานไม่ได้
-      </translation>
 <translation id="8102913158860568230">การตั้งค่า mediastream เริ่มต้น</translation>
 <translation id="8104962233214241919">เลือกใบรับรองไคลเอ็นต์สำหรับไซต์เหล่านี้โดยอัตโนมัติ</translation>
 <translation id="8109762054721090517">เทมเพลตสำหรับ<ph name="IPP_ATTRIBUTE" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /></translation>
@@ -7704,12 +7711,6 @@
 
       ควรระบุค่าของนโยบายเป็นมิลลิวินาที โดยจำกัดช่วงของค่าให้อยู่ระหว่าง 30 วินาทีถึง 24 ชั่วโมง</translation>
 <translation id="9040042535845939426">ตั้งสถานะหน้าจอส่วนตัวในหน้าจอการเข้าสู่ระบบ</translation>
-<translation id="9046609670147277653">เมื่อเปิดใช้การตั้งค่านี้ "<ph name="PRODUCT_NAME" />" จะยืนยันใบรับรองเซิร์ฟเวอร์โดยใช้ตัวตรวจสอบใบรับรองในตัวที่มี Chrome Root Store เป็นแหล่งที่มาของความน่าเชื่อถือสาธารณะ
-      เมื่อปิดใช้การตั้งค่านี้ "<ph name="PRODUCT_NAME" />" จะไม่ใช้ Chrome Root Store การยืนยันอาจใช้ตัวตรวจสอบใบรับรองของระบบ หรือตัวตรวจสอบในตัวหากนโยบาย <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> พร้อมใช้งานและไม่ได้ปิดใช้
-      เมื่อไม่ได้ตั้งค่านี้ ระบบอาจใช้ Chrome Root Store หรือรูทที่ระบบมีให้
-
-      เรามีแผนจะนำนโยบายนี้ออกใน "<ph name="PRODUCT_NAME" />" สำหรับ "<ph name="MS_WIN_NAME" />" และ "<ph name="MAC_OS_NAME" />" เวอร์ชัน 111 เมื่อถึงกำหนดการหยุดรองรับการใช้ตัวตรวจสอบใบรับรองและรูทที่แพลตฟอร์มให้มา
-      </translation>
 <translation id="9050853837490399534">นโยบายนี้จะควบคุมว่าอุปกรณ์ควรอัปเดตเป็นบิวด์ Quick Fix หรือไม่
 
       หากกำหนดค่านโยบายเป็นโทเค็นที่แมปไปยังบิวด์ Quick Fix อุปกรณ์จะได้รับการอัปเดตเป็นบิวด์ Quick Fix ที่เกี่ยวข้องหากการอัปเดตไม่ได้ถูกบล็อกโดยนโยบายอื่น
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index b1808a06..839b956f 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -6819,11 +6819,6 @@
 <translation id="8091982561085048989">Yazıcıyı kurmak için IPP Everywhere'in kullanılıp kullanılmayacağını belirten boole flag'i. Bu işaret, <ph name="PRODUCT_OS_NAME" /> sürüm 76 ve sonrasındaki sürümlerde desteklenir.</translation>
 <translation id="8099880303030573137">Pil gücüyle çalışırken boşta kalma gecikmesi</translation>
 <translation id="8101381354936029836">Politika atom grubu:</translation>
-<translation id="8102504778644322990">Standart olmayan window.webkitStorageInfo API'si, M106 sürümünden itibaren kaldırılacaktır.
-      Bu politika, API'yi M107'ye kadar yeniden etkinleştirir.
-      Bu politika, Etkin değerine ayarlanırsa window.webkitStorageInfo API'si kullanılabilir.
-      Bu politika, Devre Dışı değerine ayarlanırsa veya ayarlanmadan bırakılırsa window.webkitStorageInfo API'si kullanılamaz.
-      </translation>
 <translation id="8102913158860568230">Varsayılan medya akışı ayarı</translation>
 <translation id="8104962233214241919">Bu siteler için istemci sertifikalarını otomatik olarak seç</translation>
 <translation id="8109762054721090517"><ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /> şablonu</translation>
@@ -7749,12 +7744,6 @@
 
       Politika değeri milisaniye olarak belirtilmelidir. Değerler 30 saniye ile 24 saat arasında olabilir.</translation>
 <translation id="9040042535845939426">Giriş ekranında gizlilik ekranının durumunu belirle</translation>
-<translation id="9046609670147277653">Bu ayar etkinleştirildiğinde <ph name="PRODUCT_NAME" />, sunucu sertifikalarının doğrulamasını herkese açık güven kaynağı Chrome Root Store olacak şekilde yerleşik sertifika doğrulayıcıyı kullanarak gerçekleştirir.
-      Bu ayar devre dışı bırakıldığında <ph name="PRODUCT_NAME" />, Chrome Root Store'u kullanmaz. <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> politikası kullanılabilir durumdaysa ve devre dışı bırakılmamışsa doğrulama sırasında sistem sertifika doğrulayıcı veya yerleşik doğrulayıcı kullanılabilir.
-      Bu ayar belirtilmezse Chrome Root Store veya sistem tarafından sağlanan kökler kullanılabilir.
-
-      Platform tarafından sağlanan sertifika doğrulayıcıyı ve kökleri kullanma desteğinin kaldırılması planlandığından bu politikanın da <ph name="MS_WIN_NAME" /> ve <ph name="MAC_OS_NAME" /> sürüm 111 için <ph name="PRODUCT_NAME" /> ürününden kaldırılması planlanmıştır.
-      </translation>
 <translation id="9050853837490399534">Bu politika, cihazın bir Hızlı Düzeltme Derlemesi'ne güncellenmesinin gerekip gerekmediğini kontrol eder.
 
       Politika değeri bir Hızlı Düzeltme Derlemesi'ne eşlenen bir belirtece ayarlanırsa ve güncelleme başka bir politika tarafından engellenmemişse cihaz, ilgili Hızlı Düzeltme Derlemesi'ne güncellenir.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 575cb678..e8fe778 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -6853,11 +6853,6 @@
 <translation id="8091982561085048989">Логічне значення експериментального параметра, яке вказує, чи потрібно налаштовувати принтер за допомогою IPP Everywhere. Цей експериментальний параметр підтримується у версіях <ph name="PRODUCT_OS_NAME" /> 76 і новіших.</translation>
 <translation id="8099880303030573137">Затримка через неактивність, коли використовується заряд акумулятора</translation>
 <translation id="8101381354936029836">Елементарна група правила:</translation>
-<translation id="8102504778644322990">Починаючи з версії M106, нестандартний API-інтерфейс window.cgiStorageInfo буде вилучено.
-      Це правило знову активує API у версіях до M107.
-      Якщо ввімкнути це правило, API-інтерфейс window.cgiStorageInfo стане доступним.
-      Якщо його вимкнути або не налаштувати, API-інтерфейс window.cgiStorageInfo буде недоступний.
-      </translation>
 <translation id="8102913158860568230">Налаштування потоку медіаданих за умовчанням</translation>
 <translation id="8104962233214241919">Автоматичний вибір сертифікатів клієнтів для цих сайтів</translation>
 <translation id="8109762054721090517">Шаблон, який визначає <ph name="IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /></translation>
@@ -7801,12 +7796,6 @@
 
       Значення правила вказується в мілісекундах. Діапазон значень – від 30 секунд до 24 годин.</translation>
 <translation id="9040042535845939426">Налаштувати стан екрана конфіденційності на екрані входу</translation>
-<translation id="9046609670147277653">Якщо це налаштування ввімкнено, <ph name="PRODUCT_NAME" /> перевірятиме сертифікати сервера за допомогою вбудованого інструмента перевірки сертифікатів із використанням Chrome Root Store як джерела суспільної довіри.
-      Якщо це налаштування вимкнено, <ph name="PRODUCT_NAME" /> не використовуватиме Chrome Root Store. Якщо правило <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> доступне та його ввімкнено, перевірка може виконуватися через системний інструмент перевірки сертифікатів або вбудований інструмент перевірки.
-      Якщо параметр не налаштовано, можуть використовуватися і кореневі сертифікати, надані системою, і Chrome Root Store.
-
-      Коли підтримка системного інструмента перевірки сертифікатів припиниться й буде вилучено кореневі сертифікати, це правило буде вилучено в <ph name="PRODUCT_NAME" /> для <ph name="MS_WIN_NAME" /> і <ph name="MAC_OS_NAME" /> версії 111.
-      </translation>
 <translation id="9050853837490399534">Це правило дає змогу вказати, чи оновлювати пристрій до складання Quick Fix.
 
       Якщо для правила вказано маркер, який зіставляється зі складанням Quick Fix, пристрій буде оновлено до відповідного складання Quick Fix за умови, що це оновлення не блокується іншим правилом.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 99581a2..3a0618a 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -1851,6 +1851,7 @@
 <translation id="2799297758492717491">Cho phép tự động phát nội dung nghe nhìn thuộc danh sách các mẫu URL được phép</translation>
 <translation id="2801065672151277034">Các tùy chọn quản lý chứng chỉ</translation>
 <translation id="2801155097555584385">Đặt mức phần trăm bắt đầu sạc pin tùy chỉnh</translation>
+<translation id="2801378553855965587">Tắt tính năng tích hợp <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="2805707493867224476">Cho phép tất cả các trang web hiển thị cửa sổ bật lên</translation>
 <translation id="2818074121667686266">Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì người dùng sẽ được nhắc cấp quyền truy cập vào thiết bị ghi âm (ngoại trừ các URL được đặt trong danh sách AudioCaptureAllowedUrls).
 
@@ -2477,6 +2478,7 @@
       Nếu bạn không đặt chính sách <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" />, chính sách này sẽ không có hiệu lực.</translation>
 <translation id="3397883909301547525">Không hiển thị ứng dụng đề xuất trong trình chạy <ph name="PRODUCT_OS_NAME" /></translation>
 <translation id="3399859571630358395">Buộc tắt tính năng Ghép nối nhanh (ghép nối Bluetooth nhanh).</translation>
+<translation id="3404681701763345449">Bật tính năng tích hợp <ph name="GOOGLE_CALENDAR_NAME" />.</translation>
 <translation id="3408078762098350617">Kiểm soát trải nghiệm người dùng đối với các tính năng bị tắt có trong danh sách <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" />.
 
       Nếu bạn đặt chính sách này thành "bị chặn", các tính năng bị tắt sẽ không dùng được nhưng vẫn hiển thị với người dùng.
@@ -3799,6 +3801,7 @@
 <translation id="4913065710388638917">Bật quy trình chứng thực cho một danh sách các URL</translation>
 <translation id="4917385247580444890">Mạnh</translation>
 <translation id="4918261735182294270">Cho phép người dùng chọn có bật <ph name="CHROME_SYNC_NAME" /> hay không</translation>
+<translation id="491889618361437456">Bật tính năng tích hợp <ph name="GOOGLE_CALENDAR_NAME" /></translation>
 <translation id="4919122295221518724">Cho phép thắt chặt việc xử lý nội dung hỗn hợp</translation>
 <translation id="4920367374739265095">Việc đặt chính sách này sẽ chỉ định chính sách truy cập nào áp dụng cho cấu hình máy in số lượng lớn, kiểm soát máy in nào từ <ph name="DEVICE_PRINTERS_POLICY_NAME" /> là dành cho người dùng.
 
@@ -3958,6 +3961,13 @@
 
       Nếu bạn tắt hoặc không đặt chính sách này, thì webkitRequestFileSystem thuộc loại cố định sẽ hoạt động với hạn mức tạm thời.
       </translation>
+<translation id="5099372083252975644">Bật tính năng tích hợp <ph name="GOOGLE_CALENDAR_NAME" />, là tính năng cho phép người dùng <ph name="PRODUCT_OS_NAME" /> tìm nạp các sự kiện từ <ph name="GOOGLE_CALENDAR_NAME" /> để điền sẵn vào tiện ích lịch <ph name="PRODUCT_OS_NAME" /> trong thanh trạng thái hệ thống.
+
+          Nếu bạn bật chính sách này thì thiết bị <ph name="PRODUCT_OS_NAME" /> có thể truy xuất các sự kiện <ph name="GOOGLE_CALENDAR_NAME" /> để điền sẵn vào tiện ích lịch <ph name="PRODUCT_OS_NAME" /> trong thanh trạng thái hệ thống cho người dùng đã đăng nhập.
+
+          Nếu bạn tắt chính sách này thì thiết bị <ph name="PRODUCT_OS_NAME" /> không thể truy xuất các sự kiện <ph name="GOOGLE_CALENDAR_NAME" /> để điền sẵn vào tiện ích lịch <ph name="PRODUCT_OS_NAME" /> trong thanh trạng thái hệ thống cho người dùng đã đăng nhập.
+
+          Nếu bạn không đặt chính sách này thì theo mặc định, tính năng <ph name="GOOGLE_CALENDAR_NAME" /> sẽ bị tắt đối với người dùng doanh nghiệp.</translation>
 <translation id="5103112931744164177">Chính sách này kiểm soát ngăn phần mềm nào được dùng để giao tiếp với máy chủ DNS: ứng dụng DNS của hệ điều hành hay ứng dụng DNS tích hợp sẵn của <ph name="PRODUCT_NAME" />. Chính sách này không ảnh hưởng đến việc máy chủ DNS nào được sử dụng: chẳng hạn như nếu hệ điều hành được định cấu hình để sử dụng một máy chủ DNS của doanh nghiệp, thì ứng dụng DNS tích hợp sẵn sẽ sử dụng chính máy chủ đó. Chính sách này cũng không kiểm soát việc DNS qua HTTPS có được sử dụng hay không. <ph name="PRODUCT_NAME" /> sẽ luôn sử dụng trình phân giải tích hợp sẵn cho các yêu cầu DNS qua HTTPS. Vui lòng xem chính sách <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> để biết thông tin về cách kiểm soát DNS qua HTTPS.
 
       Nếu bạn đặt chính sách này thành Bật, ứng dụng DNS tích hợp sẽ được sử dụng (nếu có).
@@ -6849,11 +6859,6 @@
 <translation id="8091982561085048989">Cờ boolean cho biết liệu có nên dùng IPP Everywhere để thiết lập máy in hay không. Cờ này được hỗ trợ trên <ph name="PRODUCT_OS_NAME" /> phiên bản 76 trở lên.</translation>
 <translation id="8099880303030573137">Độ trễ khi không sử dụng khi chạy trên nguồn pin</translation>
 <translation id="8101381354936029836">Nhóm chính sách không thể phân chia:</translation>
-<translation id="8102504778644322990">Kể từ M106, API window.webkitStorageInfo không chuẩn sẽ bị xoá.
-      Chính sách này sẽ bật lại API này cho đến phiên bản M107.
-      Nếu bạn đặt chính sách này thành Bật, thì API window.webkitStorageInfo sẽ được cung cấp.
-      Nếu bạn đặt chính sách này thành Tắt hoặc không đặt, API window.webkitStorageInfo sẽ không được cung cấp.
-      </translation>
 <translation id="8102913158860568230">Cài đặt luồng truyền thông mặc định</translation>
 <translation id="8104962233214241919">Tự động chọn chứng chỉ ứng dụng khách cho các trang web này</translation>
 <translation id="8109762054721090517">Mẫu dành cho <ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /> <ph name="IPP_ATTRIBUTE" /></translation>
@@ -7801,12 +7806,6 @@
 
       Bạn nên chỉ định giá trị tính bằng mili giây cho chính sách. Giá trị được giới hạn trong khoảng từ 30 giây đến 24 giờ.</translation>
 <translation id="9040042535845939426">Đặt trạng trái của màn hình bảo vệ quyền riêng tư trên màn hình đăng nhập</translation>
-<translation id="9046609670147277653">Khi bạn bật chế độ cài đặt này, <ph name="PRODUCT_NAME" /> sẽ sử dụng trình xác minh chứng chỉ tích hợp sẵn với Chrome Root Store là nguồn tin cậy công khai để xác minh chứng chỉ máy chủ.
-      Khi bạn tắt chế độ cài đặt này, <ph name="PRODUCT_NAME" /> sẽ không sử dụng Chrome Root Store. Quá trình xác minh có thể sử dụng trình xác minh chứng chỉ hệ thống hoặc trình xác minh tích hợp nếu có chính sách <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> và chính sách này không bị tắt.
-      Nếu bạn không đặt chế độ cài đặt này, Chrome Root Store hoặc gốc do hệ thống cung cấp có thể được sử dụng.
-
-      Chúng tôi dự định loại bỏ chính sách này khỏi <ph name="PRODUCT_NAME" /> cho <ph name="MS_WIN_NAME" /> và <ph name="MAC_OS_NAME" /> phiên bản 111, khi ngừng hỗ trợ việc sử dụng trình xác minh chứng chỉ và gốc do nền tảng cung cấp theo kế hoạch.
-      </translation>
 <translation id="9050853837490399534">Chính sách này kiểm soát việc có cập nhật thiết bị lên Bản dựng Quick Fix hay không.
 
       Nếu bạn đặt giá trị của chính sách thành một mã thông báo tương ứng với Bản dựng Quick Fix, thì thiết bị sẽ được cập nhật lên Bản dựng Quick Fix tương ứng nếu không có chính sách nào khác chặn quá trình cập nhật này.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index f436815..d8f44e1 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -1801,6 +1801,7 @@
 <translation id="2799297758492717491">允许符合网址格式白名单中所列格式的网页自动播放媒体内容</translation>
 <translation id="2801065672151277034">证书管理设置</translation>
 <translation id="2801155097555584385">设定电池充电自定义开始充电值(以百分比表示)</translation>
+<translation id="2801378553855965587">停用 <ph name="GOOGLE_CALENDAR_NAME" />集成。</translation>
 <translation id="2805707493867224476">允许所有网站显示弹出式窗口</translation>
 <translation id="2818074121667686266">如果此政策已启用或未设置,系统将会在收到针对录音设备的使用请求时提示用户,但 AudioCaptureAllowedUrls 列表中设置的网址除外。
 
@@ -2397,6 +2398,7 @@
           仅当闲置操作为注销或关机时,系统才会显示警告消息。</translation>
 <translation id="3360490004791301756">允许用户通过注册 <ph name="PRODUCT_OS_NAME" /> 来兑换优惠</translation>
 <translation id="3363360928811201045">针对受管理的帐号添加限制</translation>
+<translation id="3364400740222114778">帐号恢复</translation>
 <translation id="3373381043600809954">启用“<ph name="PRODUCT_NAME" />”。</translation>
 <translation id="3374587000313305002">配置供 <ph name="PRODUCT_NAME" /> 用于存储用户数据的目录。
 
@@ -2418,6 +2420,7 @@
       如果 <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> 政策未设置,则此政策不会产生任何效力。</translation>
 <translation id="3397883909301547525">不在 <ph name="PRODUCT_OS_NAME" /> 启动器中显示推荐的应用</translation>
 <translation id="3399859571630358395">强制停用快速配对(快速蓝牙配对)。</translation>
+<translation id="3404681701763345449">启用 <ph name="GOOGLE_CALENDAR_NAME" />集成。</translation>
 <translation id="3408078762098350617">此政策用于控制 <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" /> 中所列的已停用功能的用户体验。
 
       如果此政策设为“已禁用”,已停用的功能会不可用,但仍对用户可见。
@@ -3317,6 +3320,7 @@
       如需详细了解有效的<ph name="URL_LABEL" />格式,请访问 https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns。<ph name="WILDCARD_VALUE" /> 不是此政策可接受的值。</translation>
 <translation id="4389073105055031853">允许用户管理所有证书</translation>
 <translation id="4389091865841123886">通过 TPM 机制配置远程认证。</translation>
+<translation id="4397045637922200204">停用帐号恢复服务</translation>
 <translation id="4397464099112037398">默认的窗口放置权限设置</translation>
 <translation id="4401496838830169080">让您能够控制是否开启 <ph name="PRODUCT_NAME" /> 的“安全浏览”功能以及要在哪种模式下运行此功能。
 
@@ -3732,6 +3736,7 @@
 <translation id="4913065710388638917">为一个网址列表启用认证流程</translation>
 <translation id="4917385247580444890">强</translation>
 <translation id="4918261735182294270">允许用户选择是否启用 <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">启用 <ph name="GOOGLE_CALENDAR_NAME" />集成</translation>
 <translation id="4919122295221518724">为混合内容启用更严格的处理方式</translation>
 <translation id="4920367374739265095">通过设置此政策,您可以指定对批量打印机配置应用哪项访问政策,并控制用户可以使用 <ph name="DEVICE_PRINTERS_POLICY_NAME" /> 中的哪些打印机。
 
@@ -3888,6 +3893,13 @@
 
       如果此政策未设置或已停用,设有“永久”类型的 webkitRequestFileSystem 将使用临时配额运行。
       </translation>
+<translation id="5099372083252975644">启用 <ph name="GOOGLE_CALENDAR_NAME" />集成,以便 <ph name="PRODUCT_OS_NAME" /> 用户从 <ph name="GOOGLE_CALENDAR_NAME" />提取活动来填充系统状态栏中的 <ph name="PRODUCT_OS_NAME" /> 日历微件。
+
+          如果此政策已启用,<ph name="PRODUCT_OS_NAME" /> 设备便可检索 <ph name="GOOGLE_CALENDAR_NAME" />活动,以便为已登录用户填充系统状态栏中的 <ph name="PRODUCT_OS_NAME" /> 日历微件。
+
+          如果此政策已停用,<ph name="PRODUCT_OS_NAME" /> 设备将无法检索 <ph name="GOOGLE_CALENDAR_NAME" />活动来为已登录用户填充系统状态栏中的 <ph name="PRODUCT_OS_NAME" /> 日历微件。
+
+          如果未设置此政策,则默认情况下,系统会为企业用户停用 <ph name="GOOGLE_CALENDAR_NAME" />功能。</translation>
 <translation id="5103112931744164177">此政策用于控制使用哪个软件堆栈与 DNS 服务器通信:操作系统 DNS 客户端或 <ph name="PRODUCT_NAME" /> 的内置 DNS 客户端。此政策不会影响使用哪些 DNS 服务器:例如,如果操作系统已配置为使用一台企业 DNS 服务器,内置 DNS 客户端也会使用这台服务器。此政策也不会控制是否使用 DNS-over-HTTPS;<ph name="PRODUCT_NAME" /> 将始终使用内置的解析器发送 DNS-over-HTTPS 请求。如需了解如何控制 DNS-over-HTTPS,请参阅 <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> 政策。
 
       如果此政策已启用,系统将会使用内置 DNS 客户端(如果可用)。
@@ -6218,6 +6230,15 @@
 <translation id="7482768039644066614">启用页面加载元数据提取功能和用以提升浏览体验的机器学习模型</translation>
 <translation id="7485481791539008776">默认打印机选择规则</translation>
 <translation id="7486205887492534734">当登录屏幕上有多份证书匹配时,提示用户做出选择</translation>
+<translation id="7489661071474025727">指定是否为使用 <ph name="PRODUCT_OS_NAME" /> 设备的用户启用帐号恢复服务。
+
+      如果此政策已启用,系统会启用用户数据恢复功能。如果此政策已停用或未设置,系统将不会启用用户数据恢复功能。
+      如果此政策的层级设为“推荐”,用户便可通过“设置”页面更改帐号恢复服务的启用。如果此政策的层级设为“强制”,用户便无法更改帐号恢复服务的启用。
+
+      政策值发生变更后,更新过程会在用户下次登录 <ph name="PRODUCT_OS_NAME" /> 设备时(即系统提取到新的政策值之后)完成。
+
+      注意:此设置仅适用于在 <ph name="PRODUCT_OS_NAME" /> 设备中添加的新帐号。
+      </translation>
 <translation id="7491720878670299691">轮询网络数据并检查是否发生事件的时间间隔。所允许的最低时间间隔为 1 分钟。
 
       如果此政策未设置,系统会应用默认时间间隔(1 分钟)。</translation>
@@ -6745,11 +6766,6 @@
 <translation id="8091982561085048989">一个布尔值标记,用于表明是否应该使用 IPP Everywhere 来设置打印机。<ph name="PRODUCT_OS_NAME" /> 76 版及更高版本支持该标记。</translation>
 <translation id="8099880303030573137">使用电池供电时的闲置延迟时间</translation>
 <translation id="8101381354936029836">政策原子组:</translation>
-<translation id="8102504778644322990">从 M106 开始,非标准 API window.webkitStorageInfo 将被移除。
-      此政策用于重新启用该 API,直至 M107。
-      如果此政策已启用,window.webkitStorageInfo API 将可使用。
-      如果此政策已停用或未设置,window.webkitStorageInfo API 将无法使用。
-      </translation>
 <translation id="8102913158860568230">默认 mediastream 设置</translation>
 <translation id="8104962233214241919">自动选择这些网站的客户端证书</translation>
 <translation id="8109762054721090517"><ph name="CLIENT_NAME_IPP_ATTRIBUTE" /><ph name="INTERNET_PRINTING_PROTOCOL" /><ph name="IPP_ATTRIBUTE" />专用模板</translation>
@@ -7215,6 +7231,7 @@
 <translation id="8543108307976719751">禁止与这台计算机建立远程访问连接</translation>
 <translation id="8544375438507658205">默认 HTML 呈现器为“<ph name="PRODUCT_FRAME_NAME" />”</translation>
 <translation id="8544465954173828789">允许将短信从手机同步到 Chromebook。</translation>
+<translation id="8549906780629620346">启用帐号恢复服务</translation>
 <translation id="8553955290407912156">通过设置此政策,您可以罗列一些网址格式,从而指定哪些网站无法请求用户授权其访问 HID 设备。
 
       如果您未设置此政策,那么,倘若 <ph name="DEFAULT_WEB_HID_GUARD_SETTING_POLICY_NAME" /> 已设置,系统便会将它应用于所有网站,否则就会应用用户的个人设置。
@@ -7675,12 +7692,6 @@
 
       该政策值应该以毫秒为单位。值的范围限定在 30 秒到 24 小时之间。</translation>
 <translation id="9040042535845939426">设置“隐私保护屏”在登录屏幕上的状态</translation>
-<translation id="9046609670147277653">如果此设置已启用,<ph name="PRODUCT_NAME" /> 将会使用内置的证书验证程序来验证服务器证书,并将 Chrome 根存储区作为公共信任来源。
-      如果此设置已停用,<ph name="PRODUCT_NAME" /> 将不会使用 Chrome 根存储区。如果 <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> 政策可用且未停用,可能会使用系统证书验证程序或内置的验证程序进行验证。
-      如果此设置未配置,则既可能会使用 Chrome 根存储区,也可能会使用系统提供的根目录。
-
-      按照我们的计划,此政策将会从 <ph name="MS_WIN_NAME" /> 和 <ph name="MAC_OS_NAME" /> 上的 <ph name="PRODUCT_NAME" /> 111 版中移除,该版本将不再支持使用平台提供的证书验证程序和根目录。
-      </translation>
 <translation id="9050853837490399534">此政策用于控制相应设备是否应该更新至 Quick Fix Build。
 
       如果此政策的值设为与 Quick Fix Build 对应的令牌,那么只要更新未被其他政策阻止,该设备就会更新至相应的 Quick Fix Build。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index 3c5c949..03c45f90 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -1801,6 +1801,7 @@
 <translation id="2799297758492717491">允許符合網址模式許可清單的網頁自動播放媒體</translation>
 <translation id="2801065672151277034">憑證管理設定</translation>
 <translation id="2801155097555584385">自訂電池開始充電值 (以百分比表示)</translation>
+<translation id="2801378553855965587">停用 <ph name="GOOGLE_CALENDAR_NAME" />整合。</translation>
 <translation id="2805707493867224476">允許所有網站顯示彈出式視窗</translation>
 <translation id="2818074121667686266">如果將這項政策設為啟用或不設定,系統會詢問使用者是否要存取音訊擷取裝置 (如果網址已列在 AudioCaptureAllowedUrls 的許可清單內,系統不會提示使用者)。
 
@@ -2415,6 +2416,7 @@
       如果不設定 <ph name="DEVICE_LOCAL_ACCOUNT_AUTO_LOGIN_ID_POLICY_NAME" /> 政策,則這項政策不會有任何作用。</translation>
 <translation id="3397883909301547525">不要在 <ph name="PRODUCT_OS_NAME" /> 啟動器中顯示推薦應用程式</translation>
 <translation id="3399859571630358395">強制停用快速配對功能 (快速藍牙配對)。</translation>
+<translation id="3404681701763345449">啟用 <ph name="GOOGLE_CALENDAR_NAME" />整合。</translation>
 <translation id="3408078762098350617">這項政策會控管 <ph name="SYSTEM_FEATURES_DISABLE_LIST_POLICY_NAME" /> 中已停用功能的使用者體驗。
 
       如果將這項政策設為「已封鎖」,已停用的功能將無法使用,但仍會顯示在畫面上。
@@ -3720,6 +3722,7 @@
 <translation id="4913065710388638917">針對清單中的網址啟用認證流程</translation>
 <translation id="4917385247580444890">強</translation>
 <translation id="4918261735182294270">允許使用者選擇是否要啟用 <ph name="CHROME_SYNC_NAME" /></translation>
+<translation id="491889618361437456">啟用 <ph name="GOOGLE_CALENDAR_NAME" />整合</translation>
 <translation id="4919122295221518724">使用較嚴格的混合內容處理方式</translation>
 <translation id="4920367374739265095">你可以透過這項政策指定要套用到大量印表機設定的存取權政策,藉此控管要為使用者提供 <ph name="DEVICE_PRINTERS_POLICY_NAME" /> 的哪些印表機。
 
@@ -3879,6 +3882,13 @@
 
       如果不設定或停用這項政策,永久類型的 webkitRequestFileSystem 將採用暫時配額運作。
       </translation>
+<translation id="5099372083252975644">如果啟用 <ph name="GOOGLE_CALENDAR_NAME" />整合,<ph name="PRODUCT_OS_NAME" /> 使用者將可擷取 <ph name="GOOGLE_CALENDAR_NAME" />活動,然後填入系統狀態列中的 <ph name="PRODUCT_OS_NAME" /> 日曆小工具。
+
+          如果啟用這項政策,<ph name="PRODUCT_OS_NAME" /> 裝置就能擷取已登入使用者的 <ph name="GOOGLE_CALENDAR_NAME" />活動,然後填入系統狀態列中的 <ph name="PRODUCT_OS_NAME" /> 日曆小工具。
+
+          如果停用這項政策,<ph name="PRODUCT_OS_NAME" /> 裝置就無法擷取已登入使用者的 <ph name="GOOGLE_CALENDAR_NAME" />活動,然後填入系統狀態列中的 <ph name="PRODUCT_OS_NAME" /> 日曆小工具。
+
+          如果不設定這項政策,系統預設會為企業版使用者停用 <ph name="GOOGLE_CALENDAR_NAME" />功能。</translation>
 <translation id="5103112931744164177">你可以透過這項政策指定要使用哪一個軟體堆疊與 DNS 伺服器進行通訊,選項包括作業系統 DNS 用戶端,以及 <ph name="PRODUCT_NAME" /> 的內建 DNS 用戶端。這項政策不會影響所用的 DNS 伺服器;比方說,如果作業系統設定使用企業的 DNS 伺服器,內建 DNS 用戶端同樣會使用該伺服器。這項政策也不會限制是否使用 DNS-over-HTTPS;<ph name="PRODUCT_NAME" /> 一律會使用內建的解析器來處理 DNS-over-HTTPS 要求。想瞭解如何控管 DNS-over-HTTPS,請參閱 <ph name="DNS_OVER_HTTPS_MODE_POLICY_NAME" /> 政策。
 
       如果將這項政策設為啟用,系統將使用內建的 DNS 用戶端 (如果有的話)。
@@ -6717,8 +6727,6 @@
 <translation id="8091982561085048989">布林值標記,表示是否要使用 IPP Everywhere 設定印表機。<ph name="PRODUCT_OS_NAME" /> 76 以上版本支援這個標記。</translation>
 <translation id="8099880303030573137">在電池供電環境下執行時的閒置延遲時間</translation>
 <translation id="8101381354936029836">政策不可部分完成的群組:</translation>
-<translation id="8102504778644322990">自 M106 起,非標準 API window.webkitStorageInfo 將遭到移除。這項政策會重新啟用這個 API,直到 M107 推出為止。如果將這項政策設為啟用,系統將開放使用 window.webkitStorageInfo API。如果將這項政策設為停用或不設定,window.webkitStorageInfo API 就無法使用。
-      </translation>
 <translation id="8102913158860568230">預設媒體串流設定</translation>
 <translation id="8104962233214241919">自動為這些網站選取用戶端憑證</translation>
 <translation id="8109762054721090517"><ph name="CLIENT_NAME_IPP_ATTRIBUTE" /> <ph name="INTERNET_PRINTING_PROTOCOL" /><ph name="IPP_ATTRIBUTE" />的範本</translation>
@@ -7638,12 +7646,6 @@
 
       指定政策值時需以毫秒為單位。該值必須介於 30 秒至 24 小時之間。</translation>
 <translation id="9040042535845939426">設定登入畫面上的隱私保護畫面狀態</translation>
-<translation id="9046609670147277653">如果啟用這項設定,<ph name="PRODUCT_NAME" /> 將使用內建憑證驗證器和 Chrome Root Store 做為公開信任來源,驗證伺服器憑證。
-      如果停用這項設定,<ph name="PRODUCT_NAME" /> 將不會使用 Chrome Root Store。如果 <ph name="BUILT_IN_CERTIFICATE_VERIFIER_ENABLED_POLICY_NAME" /> 政策可供使用且沒有遭到停用,系統可能會使用系統憑證驗證器或內建的驗證器進行驗證。
-      如果不進行設定,系統可能會使用 Chrome Root Store 或系統提供的根層級。
-
-      我們計劃將這項政策從 <ph name="MS_WIN_NAME" /> 和 <ph name="MAC_OS_NAME" /> 111 版的 <ph name="PRODUCT_NAME" /> 中移除,屆時也將停止支援平台提供的憑證驗證器和根層級。
-      </translation>
 <translation id="9050853837490399534">這項政策可控管是否要將裝置更新為「快速修復版本」。
 
       如果將政策值設為對應至快速修復版本的符記,且其他政策未封鎖更新,則裝置會更新為相應的快速修復版本。
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/.group.details.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/ChromadToCloudMigrationEnabled.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/ChromadToCloudMigrationEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/ChromadToCloudMigrationEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/ChromadToCloudMigrationEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceAuthDataCacheLifetime.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceAuthDataCacheLifetime.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceAuthDataCacheLifetime.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceAuthDataCacheLifetime.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceGpoCacheLifetime.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceGpoCacheLifetime.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceGpoCacheLifetime.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceGpoCacheLifetime.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceKerberosEncryptionTypes.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceKerberosEncryptionTypes.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceKerberosEncryptionTypes.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceKerberosEncryptionTypes.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceMachinePasswordChangeRate.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceMachinePasswordChangeRate.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceMachinePasswordChangeRate.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceMachinePasswordChangeRate.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceUserPolicyLoopbackProcessingMode.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceUserPolicyLoopbackProcessingMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/DeviceUserPolicyLoopbackProcessingMode.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/DeviceUserPolicyLoopbackProcessingMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ActiveDirectoryManagement/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/ActiveDirectoryManagement/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Arc/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/AppRecommendationZeroStateEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/AppRecommendationZeroStateEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/AppRecommendationZeroStateEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/AppRecommendationZeroStateEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcAppInstallEventLoggingEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcAppInstallEventLoggingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcAppInstallEventLoggingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcAppInstallEventLoggingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcAppToWebAppSharingEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcAppToWebAppSharingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcAppToWebAppSharingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcAppToWebAppSharingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcBackupRestoreEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcBackupRestoreEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcBackupRestoreEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcBackupRestoreEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcBackupRestoreServiceEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcBackupRestoreServiceEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcBackupRestoreServiceEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcBackupRestoreServiceEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcCertificatesSyncMode.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcCertificatesSyncMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcCertificatesSyncMode.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcCertificatesSyncMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcGoogleLocationServicesEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcGoogleLocationServicesEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcGoogleLocationServicesEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcGoogleLocationServicesEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcLocationServiceEnabled.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcLocationServiceEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcLocationServiceEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcLocationServiceEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/ArcPolicy.yaml b/components/policy/resources/templates/policy_definitions/Arc/ArcPolicy.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/ArcPolicy.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/ArcPolicy.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/DeviceArcDataSnapshotHours.yaml b/components/policy/resources/templates/policy_definitions/Arc/DeviceArcDataSnapshotHours.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/DeviceArcDataSnapshotHours.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/DeviceArcDataSnapshotHours.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Arc/UnaffiliatedArcAllowed.yaml b/components/policy/resources/templates/policy_definitions/Arc/UnaffiliatedArcAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Arc/UnaffiliatedArcAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Arc/UnaffiliatedArcAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Attestation/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/AttestationEnabledForDevice.yaml b/components/policy/resources/templates/policy_definitions/Attestation/AttestationEnabledForDevice.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/AttestationEnabledForDevice.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/AttestationEnabledForDevice.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/AttestationEnabledForUser.yaml b/components/policy/resources/templates/policy_definitions/Attestation/AttestationEnabledForUser.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/AttestationEnabledForUser.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/AttestationEnabledForUser.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/AttestationExtensionAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Attestation/AttestationExtensionAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/AttestationExtensionAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/AttestationExtensionAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/AttestationForContentProtectionEnabled.yaml b/components/policy/resources/templates/policy_definitions/Attestation/AttestationForContentProtectionEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/AttestationForContentProtectionEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/AttestationForContentProtectionEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml b/components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/DeviceWebBasedAttestationAllowedUrls.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Attestation/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/Attestation/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Attestation/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/Attestation/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Borealis/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Borealis/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Borealis/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Borealis/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Borealis/DeviceBorealisAllowed.yaml b/components/policy/resources/templates/policy_definitions/Borealis/DeviceBorealisAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Borealis/DeviceBorealisAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Borealis/DeviceBorealisAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Borealis/UserBorealisAllowed.yaml b/components/policy/resources/templates/policy_definitions/Borealis/UserBorealisAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Borealis/UserBorealisAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Borealis/UserBorealisAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/.group.details.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/AlternativeBrowserParameters.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/AlternativeBrowserParameters.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/AlternativeBrowserParameters.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/AlternativeBrowserParameters.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/AlternativeBrowserPath.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/AlternativeBrowserPath.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/AlternativeBrowserPath.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/AlternativeBrowserPath.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherChromeParameters.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherChromeParameters.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherChromeParameters.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherChromeParameters.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherChromePath.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherChromePath.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherChromePath.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherChromePath.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherDelay.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherDelay.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherDelay.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherDelay.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherEnabled.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherExternalGreylistUrl.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherExternalGreylistUrl.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherExternalGreylistUrl.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherExternalGreylistUrl.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherExternalSitelistUrl.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherExternalSitelistUrl.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherExternalSitelistUrl.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherExternalSitelistUrl.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherKeepLastChromeTab.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherKeepLastChromeTab.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherKeepLastChromeTab.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherKeepLastChromeTab.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherParsingMode.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherParsingMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherParsingMode.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherParsingMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUrlGreylist.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUrlGreylist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUrlGreylist.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUrlGreylist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUrlList.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUrlList.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUrlList.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUrlList.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUseIeSitelist.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUseIeSitelist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/BrowserSwitcherUseIeSitelist.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/BrowserSwitcherUseIeSitelist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/BrowserSwitcher/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/BrowserSwitcher/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/BrowserSwitcher/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/BrowserSwitcher/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NativeMessaging/.group.details.yaml b/components/policy/resources/templates/policy_definitions/NativeMessaging/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NativeMessaging/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/NativeMessaging/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingAllowlist.yaml b/components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingBlocklist.yaml b/components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingBlocklist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingBlocklist.yaml
rename to components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingBlocklist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingUserLevelHosts.yaml b/components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingUserLevelHosts.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NativeMessaging/NativeMessagingUserLevelHosts.yaml
rename to components/policy/resources/templates/policy_definitions/NativeMessaging/NativeMessagingUserLevelHosts.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NativeMessaging/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/NativeMessaging/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NativeMessaging/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/NativeMessaging/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Network/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Network/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceDataRoamingEnabled.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceDataRoamingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceDataRoamingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceDataRoamingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceDockMacAddressSource.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceDockMacAddressSource.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceDockMacAddressSource.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceDockMacAddressSource.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceHostnameTemplate.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameTemplate.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceHostnameTemplate.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceHostnameTemplate.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceHostnameUserConfigurable.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceHostnameUserConfigurable.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceHostnameUserConfigurable.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceOpenNetworkConfiguration.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceOpenNetworkConfiguration.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceOpenNetworkConfiguration.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceOpenNetworkConfiguration.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceWiFiAllowed.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceWiFiAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceWiFiAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceWiFiAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/DeviceWiFiFastTransitionEnabled.yaml b/components/policy/resources/templates/policy_definitions/Network/DeviceWiFiFastTransitionEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/DeviceWiFiFastTransitionEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Network/DeviceWiFiFastTransitionEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/NetworkThrottlingEnabled.yaml b/components/policy/resources/templates/policy_definitions/Network/NetworkThrottlingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/NetworkThrottlingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Network/NetworkThrottlingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Network/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/Network/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Network/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/Network/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/.group.details.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/NTLMShareAuthenticationEnabled.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/NTLMShareAuthenticationEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/NTLMShareAuthenticationEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/NTLMShareAuthenticationEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/NetBiosShareDiscoveryEnabled.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/NetBiosShareDiscoveryEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/NetBiosShareDiscoveryEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/NetBiosShareDiscoveryEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/NetworkFileSharesAllowed.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/NetworkFileSharesAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/NetworkFileSharesAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/NetworkFileSharesAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/NetworkFileSharesPreconfiguredShares.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/NetworkFileSharesPreconfiguredShares.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/NetworkFileSharesPreconfiguredShares.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/NetworkFileSharesPreconfiguredShares.yaml
diff --git a/components/policy/resources/templates/policy_definitons/NetworkFileShares/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/NetworkFileShares/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/NetworkFileShares/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/NetworkFileShares/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/.group.details.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/EduCoexistenceToSVersion.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/EduCoexistenceToSVersion.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/EduCoexistenceToSVersion.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/EduCoexistenceToSVersion.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/ParentAccessCodeConfig.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/ParentAccessCodeConfig.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/ParentAccessCodeConfig.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/ParentAccessCodeConfig.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/PerAppTimeLimits.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/PerAppTimeLimits.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/PerAppTimeLimits.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/PerAppTimeLimits.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/PerAppTimeLimitsAllowlist.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/PerAppTimeLimitsAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/PerAppTimeLimitsAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/PerAppTimeLimitsAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/ParentalSupervision/UsageTimeLimit.yaml b/components/policy/resources/templates/policy_definitions/ParentalSupervision/UsageTimeLimit.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/ParentalSupervision/UsageTimeLimit.yaml
rename to components/policy/resources/templates/policy_definitions/ParentalSupervision/UsageTimeLimit.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/.group.details.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/PasswordDismissCompromisedAlertEnabled.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordDismissCompromisedAlertEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/PasswordDismissCompromisedAlertEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/PasswordDismissCompromisedAlertEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/PasswordLeakDetectionEnabled.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordLeakDetectionEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/PasswordLeakDetectionEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/PasswordLeakDetectionEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/PasswordManagerAllowShowPasswords.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerAllowShowPasswords.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/PasswordManagerAllowShowPasswords.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerAllowShowPasswords.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/PasswordManagerEnabled.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/PasswordManagerEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/PasswordManagerEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PasswordManager/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/PasswordManager/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PasswordManager/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/PasswordManager/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/.group.details.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmAllowed.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmDataCollectionAllowed.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmDataCollectionAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmDataCollectionAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmDataCollectionAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmImage.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmImage.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmImage.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmImage.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmLicenseKey.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmLicenseKey.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmLicenseKey.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmLicenseKey.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmRequiredFreeDiskSpace.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmRequiredFreeDiskSpace.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmRequiredFreeDiskSpace.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmRequiredFreeDiskSpace.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/PluginVmUserId.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/PluginVmUserId.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/PluginVmUserId.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/PluginVmUserId.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/UserPluginVmAllowed.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/UserPluginVmAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/UserPluginVmAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/UserPluginVmAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PluginVm/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/PluginVm/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PluginVm/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/PluginVm/policy_atomic_groups.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerAndShutdown/.group.details.yaml b/components/policy/resources/templates/policy_definitions/PowerAndShutdown/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerAndShutdown/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/PowerAndShutdown/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerAndShutdown/DeviceLoginScreenPowerManagement.yaml b/components/policy/resources/templates/policy_definitions/PowerAndShutdown/DeviceLoginScreenPowerManagement.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerAndShutdown/DeviceLoginScreenPowerManagement.yaml
rename to components/policy/resources/templates/policy_definitions/PowerAndShutdown/DeviceLoginScreenPowerManagement.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerAndShutdown/DeviceRebootOnShutdown.yaml b/components/policy/resources/templates/policy_definitions/PowerAndShutdown/DeviceRebootOnShutdown.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerAndShutdown/DeviceRebootOnShutdown.yaml
rename to components/policy/resources/templates/policy_definitions/PowerAndShutdown/DeviceRebootOnShutdown.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerAndShutdown/UptimeLimit.yaml b/components/policy/resources/templates/policy_definitions/PowerAndShutdown/UptimeLimit.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerAndShutdown/UptimeLimit.yaml
rename to components/policy/resources/templates/policy_definitions/PowerAndShutdown/UptimeLimit.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/.group.details.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/AllowScreenWakeLocks.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/AllowScreenWakeLocks.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/AllowScreenWakeLocks.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/AllowScreenWakeLocks.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/AllowWakeLocks.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/AllowWakeLocks.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/AllowWakeLocks.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/AllowWakeLocks.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceAdvancedBatteryChargeModeDayConfig.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceAdvancedBatteryChargeModeDayConfig.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceAdvancedBatteryChargeModeDayConfig.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceAdvancedBatteryChargeModeDayConfig.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceAdvancedBatteryChargeModeEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceAdvancedBatteryChargeModeEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceAdvancedBatteryChargeModeEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceAdvancedBatteryChargeModeEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeCustomStartCharging.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeCustomStartCharging.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeCustomStartCharging.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeCustomStartCharging.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeCustomStopCharging.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeCustomStopCharging.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeCustomStopCharging.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeCustomStopCharging.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeMode.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBatteryChargeMode.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBatteryChargeMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBootOnAcEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBootOnAcEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceBootOnAcEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceBootOnAcEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerAdaptiveChargingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftBatteryThreshold.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftBatteryThreshold.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftBatteryThreshold.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftBatteryThreshold.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftDayConfig.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftDayConfig.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftDayConfig.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftDayConfig.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DevicePowerPeakShiftEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DevicePowerPeakShiftEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/DeviceUsbPowerShareEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/DeviceUsbPowerShareEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/DeviceUsbPowerShareEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/DeviceUsbPowerShareEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleAction.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleAction.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleAction.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleAction.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleActionAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleActionAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleActionAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleActionAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleActionBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleActionBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleActionBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleActionBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleDelayAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleDelayAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleDelayAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleDelayAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleDelayBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleDelayBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleDelayBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleDelayBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleWarningDelayAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleWarningDelayAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleWarningDelayAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleWarningDelayAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/IdleWarningDelayBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/IdleWarningDelayBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/IdleWarningDelayBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/IdleWarningDelayBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/LidCloseAction.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/LidCloseAction.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/LidCloseAction.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/LidCloseAction.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementIdleSettings.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementIdleSettings.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementIdleSettings.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementIdleSettings.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementUsesAudioActivity.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementUsesAudioActivity.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementUsesAudioActivity.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementUsesAudioActivity.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementUsesVideoActivity.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementUsesVideoActivity.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PowerManagementUsesVideoActivity.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PowerManagementUsesVideoActivity.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PowerSmartDimEnabled.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PowerSmartDimEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PowerSmartDimEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PowerSmartDimEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PresentationIdleDelayScale.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PresentationIdleDelayScale.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PresentationIdleDelayScale.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PresentationIdleDelayScale.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/PresentationScreenDimDelayScale.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/PresentationScreenDimDelayScale.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/PresentationScreenDimDelayScale.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/PresentationScreenDimDelayScale.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenBrightnessPercent.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenBrightnessPercent.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenBrightnessPercent.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenBrightnessPercent.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenDimDelayAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenDimDelayAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenDimDelayAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenDimDelayAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenDimDelayBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenDimDelayBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenDimDelayBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenDimDelayBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelayAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelayAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelayAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelayAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelayBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelayBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelayBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelayBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelays.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelays.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenLockDelays.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenLockDelays.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenOffDelayAC.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenOffDelayAC.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenOffDelayAC.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenOffDelayAC.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/ScreenOffDelayBattery.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/ScreenOffDelayBattery.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/ScreenOffDelayBattery.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/ScreenOffDelayBattery.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/UserActivityScreenDimDelayScale.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/UserActivityScreenDimDelayScale.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/UserActivityScreenDimDelayScale.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/UserActivityScreenDimDelayScale.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PowerManagement/WaitForInitialUserActivity.yaml b/components/policy/resources/templates/policy_definitions/PowerManagement/WaitForInitialUserActivity.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PowerManagement/WaitForInitialUserActivity.yaml
rename to components/policy/resources/templates/policy_definitions/PowerManagement/WaitForInitialUserActivity.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Printing/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/CloudPrintProxyEnabled.yaml b/components/policy/resources/templates/policy_definitions/Printing/CloudPrintProxyEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/CloudPrintProxyEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/CloudPrintProxyEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/CloudPrintSubmitEnabled.yaml b/components/policy/resources/templates/policy_definitions/Printing/CloudPrintSubmitEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/CloudPrintSubmitEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/CloudPrintSubmitEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/CloudPrintWarningsSuppressed.yaml b/components/policy/resources/templates/policy_definitions/Printing/CloudPrintWarningsSuppressed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/CloudPrintWarningsSuppressed.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/CloudPrintWarningsSuppressed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DefaultPrinterSelection.yaml b/components/policy/resources/templates/policy_definitions/Printing/DefaultPrinterSelection.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DefaultPrinterSelection.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DefaultPrinterSelection.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DeletePrintJobHistoryAllowed.yaml b/components/policy/resources/templates/policy_definitions/Printing/DeletePrintJobHistoryAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DeletePrintJobHistoryAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DeletePrintJobHistoryAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DeviceExternalPrintServers.yaml b/components/policy/resources/templates/policy_definitions/Printing/DeviceExternalPrintServers.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DeviceExternalPrintServers.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DeviceExternalPrintServers.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DeviceExternalPrintServersAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Printing/DeviceExternalPrintServersAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DeviceExternalPrintServersAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DeviceExternalPrintServersAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DeviceNativePrinters.yaml b/components/policy/resources/templates/policy_definitions/Printing/DeviceNativePrinters.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DeviceNativePrinters.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DeviceNativePrinters.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DevicePrinters.yaml b/components/policy/resources/templates/policy_definitions/Printing/DevicePrinters.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DevicePrinters.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DevicePrinters.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DevicePrintersAccessMode.yaml b/components/policy/resources/templates/policy_definitions/Printing/DevicePrintersAccessMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DevicePrintersAccessMode.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DevicePrintersAccessMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DevicePrintersAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Printing/DevicePrintersAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DevicePrintersAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DevicePrintersAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DevicePrintersBlocklist.yaml b/components/policy/resources/templates/policy_definitions/Printing/DevicePrintersBlocklist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DevicePrintersBlocklist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DevicePrintersBlocklist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DevicePrintingClientNameTemplate.yaml b/components/policy/resources/templates/policy_definitions/Printing/DevicePrintingClientNameTemplate.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DevicePrintingClientNameTemplate.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DevicePrintingClientNameTemplate.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/DisablePrintPreview.yaml b/components/policy/resources/templates/policy_definitions/Printing/DisablePrintPreview.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/DisablePrintPreview.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/DisablePrintPreview.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/ExternalPrintServers.yaml b/components/policy/resources/templates/policy_definitions/Printing/ExternalPrintServers.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/ExternalPrintServers.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/ExternalPrintServers.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/ExternalPrintServersAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Printing/ExternalPrintServersAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/ExternalPrintServersAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/ExternalPrintServersAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/NativePrinters.yaml b/components/policy/resources/templates/policy_definitions/Printing/NativePrinters.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/NativePrinters.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/NativePrinters.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/NativePrintersBulkConfiguration.yaml b/components/policy/resources/templates/policy_definitions/Printing/NativePrintersBulkConfiguration.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/NativePrintersBulkConfiguration.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/NativePrintersBulkConfiguration.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintHeaderFooter.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintHeaderFooter.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintHeaderFooter.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintHeaderFooter.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintJobHistoryExpirationPeriod.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintJobHistoryExpirationPeriod.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintJobHistoryExpirationPeriod.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintJobHistoryExpirationPeriod.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintPdfAsImageAvailability.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintPdfAsImageAvailability.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintPdfAsImageAvailability.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintPdfAsImageAvailability.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintPdfAsImageDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintPdfAsImageDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintPdfAsImageDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintPdfAsImageDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintPostScriptMode.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintPostScriptMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintPostScriptMode.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintPostScriptMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintPreviewUseSystemDefaultPrinter.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintPreviewUseSystemDefaultPrinter.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintPreviewUseSystemDefaultPrinter.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintPreviewUseSystemDefaultPrinter.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintRasterizationMode.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintRasterizationMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintRasterizationMode.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintRasterizationMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintRasterizePdfDpi.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintRasterizePdfDpi.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintRasterizePdfDpi.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintRasterizePdfDpi.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrinterTypeDenyList.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrinterTypeDenyList.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrinterTypeDenyList.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrinterTypeDenyList.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/Printers.yaml b/components/policy/resources/templates/policy_definitions/Printing/Printers.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/Printers.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/Printers.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintersBulkAccessMode.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintersBulkAccessMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintersBulkAccessMode.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintersBulkAccessMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintersBulkAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintersBulkAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintersBulkAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintersBulkAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintersBulkBlocklist.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintersBulkBlocklist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintersBulkBlocklist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintersBulkBlocklist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintersBulkConfiguration.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintersBulkConfiguration.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintersBulkConfiguration.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintersBulkConfiguration.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingAPIExtensionsAllowlist.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingAPIExtensionsAllowlist.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingAPIExtensionsAllowlist.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingAPIExtensionsAllowlist.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedBackgroundGraphicsModes.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedBackgroundGraphicsModes.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedBackgroundGraphicsModes.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedBackgroundGraphicsModes.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedColorModes.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedColorModes.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedColorModes.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedColorModes.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedDuplexModes.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedDuplexModes.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedDuplexModes.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedDuplexModes.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedPinModes.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedPinModes.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingAllowedPinModes.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingAllowedPinModes.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingBackgroundGraphicsDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingBackgroundGraphicsDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingBackgroundGraphicsDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingBackgroundGraphicsDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingColorDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingColorDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingColorDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingColorDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingDuplexDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingDuplexDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingDuplexDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingDuplexDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingEnabled.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingMaxSheetsAllowed.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingMaxSheetsAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingMaxSheetsAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingMaxSheetsAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingPaperSizeDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingPaperSizeDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingPaperSizeDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingPaperSizeDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingPinDefault.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingPinDefault.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingPinDefault.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingPinDefault.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/PrintingSendUsernameAndFilenameEnabled.yaml b/components/policy/resources/templates/policy_definitions/Printing/PrintingSendUsernameAndFilenameEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/PrintingSendUsernameAndFilenameEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/PrintingSendUsernameAndFilenameEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/UserNativePrintersAllowed.yaml b/components/policy/resources/templates/policy_definitions/Printing/UserNativePrintersAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/UserNativePrintersAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/UserNativePrintersAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Printing/UserPrintersAllowed.yaml b/components/policy/resources/templates/policy_definitions/Printing/UserPrintersAllowed.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Printing/UserPrintersAllowed.yaml
rename to components/policy/resources/templates/policy_definitions/Printing/UserPrintersAllowed.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PrivacyScreen/.group.details.yaml b/components/policy/resources/templates/policy_definitions/PrivacyScreen/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PrivacyScreen/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/PrivacyScreen/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PrivacyScreen/DeviceLoginScreenPrivacyScreenEnabled.yaml b/components/policy/resources/templates/policy_definitions/PrivacyScreen/DeviceLoginScreenPrivacyScreenEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PrivacyScreen/DeviceLoginScreenPrivacyScreenEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PrivacyScreen/DeviceLoginScreenPrivacyScreenEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/PrivacyScreen/PrivacyScreenEnabled.yaml b/components/policy/resources/templates/policy_definitions/PrivacyScreen/PrivacyScreenEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/PrivacyScreen/PrivacyScreenEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/PrivacyScreen/PrivacyScreenEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Projector/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Projector/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Projector/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Projector/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Projector/ProjectorDogfoodForFamilyLinkEnabled.yaml b/components/policy/resources/templates/policy_definitions/Projector/ProjectorDogfoodForFamilyLinkEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Projector/ProjectorDogfoodForFamilyLinkEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Projector/ProjectorDogfoodForFamilyLinkEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Projector/ProjectorEnabled.yaml b/components/policy/resources/templates/policy_definitions/Projector/ProjectorEnabled.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Projector/ProjectorEnabled.yaml
rename to components/policy/resources/templates/policy_definitions/Projector/ProjectorEnabled.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/.group.details.yaml b/components/policy/resources/templates/policy_definitions/Proxy/.group.details.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/.group.details.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/.group.details.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/ProxyBypassList.yaml b/components/policy/resources/templates/policy_definitions/Proxy/ProxyBypassList.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/ProxyBypassList.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/ProxyBypassList.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/ProxyMode.yaml b/components/policy/resources/templates/policy_definitions/Proxy/ProxyMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/ProxyMode.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/ProxyMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/ProxyPacUrl.yaml b/components/policy/resources/templates/policy_definitions/Proxy/ProxyPacUrl.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/ProxyPacUrl.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/ProxyPacUrl.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/ProxyServer.yaml b/components/policy/resources/templates/policy_definitions/Proxy/ProxyServer.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/ProxyServer.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/ProxyServer.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/ProxyServerMode.yaml b/components/policy/resources/templates/policy_definitions/Proxy/ProxyServerMode.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/ProxyServerMode.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/ProxyServerMode.yaml
diff --git a/components/policy/resources/templates/policy_definitons/Proxy/policy_atomic_groups.yaml b/components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml
similarity index 100%
rename from components/policy/resources/templates/policy_definitons/Proxy/policy_atomic_groups.yaml
rename to components/policy/resources/templates/policy_definitions/Proxy/policy_atomic_groups.yaml
diff --git a/components/safe_browsing/content/browser/triggers/trigger_throttler_unittest.cc b/components/safe_browsing/content/browser/triggers/trigger_throttler_unittest.cc
index e2e3dc1..7ead688 100644
--- a/components/safe_browsing/content/browser/triggers/trigger_throttler_unittest.cc
+++ b/components/safe_browsing/content/browser/triggers/trigger_throttler_unittest.cc
@@ -185,12 +185,12 @@
 
   const std::string kAdSampleKey = "2";
   const base::Value* ad_sample_events = event_dict.Find(kAdSampleKey);
-  EXPECT_EQ(3u, ad_sample_events->GetListDeprecated().size());
+  EXPECT_EQ(3u, ad_sample_events->GetList().size());
 
   const std::string kSuspiciousSiteKey = "4";
   const base::Value* suspicious_site_events =
       event_dict.Find(kSuspiciousSiteKey);
-  EXPECT_EQ(2u, suspicious_site_events->GetListDeprecated().size());
+  EXPECT_EQ(2u, suspicious_site_events->GetList().size());
 
   // To simulate a new startup of the browser, we can create another throttler
   // using the same quota configuration and pref store. It should read the
diff --git a/components/services/language_detection/public/mojom/language_detection.mojom b/components/services/language_detection/public/mojom/language_detection.mojom
index 3b7d549..d254739 100644
--- a/components/services/language_detection/public/mojom/language_detection.mojom
+++ b/components/services/language_detection/public/mojom/language_detection.mojom
@@ -8,7 +8,7 @@
 import "sandbox/policy/mojom/sandbox.mojom";
 
 // Interface for a service to detect the language of provided text.
-[ServiceSandbox=sandbox.mojom.Sandbox.kUtility]
+[ServiceSandbox=sandbox.mojom.Sandbox.kService]
 interface LanguageDetectionService {
   // Analyzes the provided |text| to determine its likely language.
   // Returns the resulting language of the analysis and whether that
diff --git a/components/soda/soda_installer.cc b/components/soda/soda_installer.cc
index bd10106..a565af2 100644
--- a/components/soda/soda_installer.cc
+++ b/components/soda/soda_installer.cc
@@ -250,15 +250,17 @@
 
 void SodaInstaller::RegisterLanguage(const std::string& language,
                                      PrefService* global_prefs) {
-  ListPrefUpdate update(global_prefs, prefs::kSodaRegisteredLanguagePacks);
-  if (!base::Contains(update->GetList(), base::Value(language))) {
-    update->GetList().Append(language);
+  ScopedListPrefUpdate update(global_prefs,
+                              prefs::kSodaRegisteredLanguagePacks);
+  if (!base::Contains(*update, base::Value(language))) {
+    update->Append(language);
   }
 }
 
 void SodaInstaller::UnregisterLanguages(PrefService* global_prefs) {
-  ListPrefUpdate update(global_prefs, prefs::kSodaRegisteredLanguagePacks);
-  update->GetList().clear();
+  ScopedListPrefUpdate update(global_prefs,
+                              prefs::kSodaRegisteredLanguagePacks);
+  update->clear();
 }
 
 bool SodaInstaller::IsSodaDownloading(LanguageCode language_code) const {
diff --git a/components/spellcheck/browser/spelling_service_client.cc b/components/spellcheck/browser/spelling_service_client.cc
index 4e10abf..2e60aea 100644
--- a/components/spellcheck/browser/spelling_service_client.cc
+++ b/components/spellcheck/browser/spelling_service_client.cc
@@ -263,7 +263,7 @@
   if (!misspellings)
     return true;
 
-  for (const base::Value& misspelling : misspellings->GetListDeprecated()) {
+  for (const base::Value& misspelling : misspellings->GetList()) {
     // Retrieve the i-th misspelling region and put it to the given vector. When
     // the Spelling service sends two or more suggestions, we read only the
     // first one because SpellCheckResult can store only one suggestion.
@@ -277,7 +277,7 @@
       return false;
     }
 
-    const base::Value& suggestion = suggestions->GetListDeprecated()[0];
+    const base::Value& suggestion = suggestions->GetList()[0];
     if (!suggestion.is_dict())
       return false;
 
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 27b3048..1f7ba1e 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Məktub formasında qatlayın</translation>
 <translation id="138218114945450791">Açıq-mavi</translation>
 <translation id="1382194467192730611">USB cihazına administrator tərəfindən icazə verilib</translation>
+<translation id="1382378825779654399">Hər hansı saytda qiymət enərsə, e-poçt xəbərdarlıqları alacaqsınız. Bu səhifə burada saxlanılacaq: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Cari məlumatınızı görmürsünüz? Yeniləmək üçün bankınızla əlaqə saxlayın.</translation>
 <translation id="1384725838384960382">Güvənli ödəniş məlumatları üzrə doğrulama vərəqəsi</translation>
 <translation id="1386623374109090026">Annotasiyalar</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Ünvanlar, interfeys konfiqurasiyası və bağlantı keyfiyyəti kimi şəbəkə məlumatları</translation>
 <translation id="1567040042588613346">Bu siyasət nəzərdə tutulduğu kimi işləyir, lakin eyni dəyər başqa bir yerdə təyin olunub və bu siyasət tərəfindən əvəz edilib.</translation>
 <translation id="1569487616857761740">Bitmə vaxtını daxil edin</translation>
+<translation id="1569694109004336106">Google Chrome parolları doldurmaq üçün Windows Hello'nu aktiv etməyə çalışır.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <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>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Ən yüksək xalınız: <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />Daxil olduğunuz bəzi səhifələrin keçidlərini, məhdud sistem məlumatlarını və bəzi səhifə məzmununu<ph name="END_WHITEPAPER_LINK" /> Google'a göndərməklə vebdə hər kəs üçün təhlükəsizliyi artırmağa yardım edin. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Məxfilik siyasəti<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> Əlfəcinləri</translation>
+<translation id="1971033026002113380">Parolları TouchID ilə qoruyun</translation>
 <translation id="1973335181906896915">Serializasiya xətası</translation>
 <translation id="1974060860693918893">Qabaqcıl</translation>
 <translation id="1975457531113383421">Daxiletmə Qabı</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Kart yadda saxlansın?</translation>
 <translation id="2882949212241984732">Cüt qatlayın</translation>
 <translation id="2893773853358652045">Dördüncü Rulon</translation>
+<translation id="289834758818479772">Bu cihazı başqaları ilə paylaşsanız, yadda saxlanmış paroldan istifadə etdiyiniz zaman kimliyinizi doğrulamaq üçün TouchID'ni aktiv edə bilərsiniz</translation>
 <translation id="2900528713135656174">Tədbir yaradın</translation>
 <translation id="2903493209154104877">Ünvanlar</translation>
 <translation id="290376772003165898">Səhifə <ph name="LANGUAGE" /> dilində deyil?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Orta Qab</translation>
 <translation id="3109728660330352905">Bu səhifəyə baxmaq üçün icazəniz yoxdur.</translation>
 <translation id="3113284927548439113">Üçüncü növbə</translation>
+<translation id="3114040155724590991">Android Sistemi Güncəllənir
+    Tətbiqinizi başlatmaq həmişəkindən çox çəkə bilər.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Məxfi fayl endirilsin?}other{Məxfi fayllar endirilsin?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> datanızı yedəkləmənizi və bu <ph name="DEVICE_TYPE" /> cihazını qaytarmanızı tələb edir.</translation>
 <translation id="3116158981186517402">Laminat vurun</translation>
@@ -1251,6 +1257,7 @@
 <translation id="4306812610847412719">mübadilə buferi</translation>
 <translation id="4308567447483056043">İstifadəçinin təşkilatla əlaqəsi olmadığı üçün bu siyasət nəzərə alınmır. Bu siyasətin tətbiq edilməsi üçün Chrome brauzeri və profili eyni təşkilat tərəfindən Admin konsolu vasitəsilə idarə olunmalıdır.</translation>
 <translation id="4310070645992025887">Səyahətlərinizi axtarın</translation>
+<translation id="4310496734563057511">Bu cihazı başqaları ilə paylaşsanız, yadda saxlanmış paroldan istifadə etdiyiniz zaman kimliyinizi doğrulamaq üçün Windows Hello'nu aktiv edə bilərsiniz</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blok edin (defolt)</translation>
 <translation id="4314815835985389558">Sinxronizasiyanı idarə edin</translation>
@@ -1465,6 +1472,7 @@
 <translation id="4880827082731008257">Axtarış tarixçəsi</translation>
 <translation id="4881695831933465202">Açın</translation>
 <translation id="4885256590493466218">Ödəniş zamanı <ph name="CARD_DETAIL" /> ilə ödəyin</translation>
+<translation id="4887406273302438710">Parolları Windows Hello ilə qoruyun</translation>
 <translation id="4888600795924685526">Xarici dil təhsili</translation>
 <translation id="4889420713887366944">"Anonim Pəncərə Açın" düyməsi, gizli baxış üçün yeni Anonim pəncərə açmaq üçün Enter düyməsinə basın</translation>
 <translation id="4892518386797173871">Arxa</translation>
@@ -1516,6 +1524,7 @@
 <translation id="5018422839182700155">Bu səhifəni açmaq olmur</translation>
 <translation id="5019198164206649151">Yedəkləmə yaddaşı it günündədir</translation>
 <translation id="5020776957610079374">Dünya musiqisi</translation>
+<translation id="5021557570875267742">Chrome ilə qiymətləri izləyin</translation>
 <translation id="5023310440958281426">Administrator siyasətlərinizi yoxlayın</translation>
 <translation id="5029568752722684782">Kopyanı təmizləyin</translation>
 <translation id="5030338702439866405">Verən qurum:</translation>
@@ -1683,6 +1692,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> Sizə bildiriş göndərmək istəyir</translation>
 <translation id="5428105026674456456">Ispan</translation>
 <translation id="5430298929874300616">Əlfəcini silin</translation>
+<translation id="5434423669266814150">parolları doldurmaq üçün TouchID'ni aktiv edin</translation>
 <translation id="5443468954631487277">Tərs sıra ilə üzü yuxarı</translation>
 <translation id="5447765697759493033">Bu sayt tərcümə edilməyəcək</translation>
 <translation id="5452270690849572955"><ph name="HOST_NAME" /> səhifəsi tapılmadı</translation>
@@ -2236,6 +2246,7 @@
 <translation id="6993898126790112050">6x9 (Zərf)</translation>
 <translation id="6996312675313362352">Həmişə <ph name="ORIGINAL_LANGUAGE" /> dilindən tərcümə edin</translation>
 <translation id="6999969238895751684">Əyləncə sənayesi</translation>
+<translation id="7003335073762455340">Bu məhsulu izləyirsiniz. Bu səhifə <ph name="LAST_BOOKMARKS_FOLDER" /> qovluğunda saxlanılıb.</translation>
 <translation id="7004583254764674281">Kartları daha sürətli təsdiqləmək üçün Windows Hello istifadə edin</translation>
 <translation id="7006930604109697472">İstənilən halda göndərin</translation>
 <translation id="7012363358306927923">Çin UnionPay</translation>
@@ -2459,6 +2470,7 @@
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> hesabına girişi itirə və ya kimlik oğurluğu ilə üzləşə bilərsiniz. Chrome parollarınızı indi dəyişməyi məsləhət görür.</translation>
 <translation id="7564680668369175887">Furqonlar</translation>
 <translation id="7567204685887185387">Bu server <ph name="DOMAIN" /> olduğunu sübut edə bilmədi; güvənlik sertifikatı saxta ola bilər. Buna yalnış quraşdırma və ya hücumçu bağlantısı səbəb ola bilər.</translation>
+<translation id="7568616151991626879">Google Chrome <ph name="APP_NAME" /> tətbiqində parolunuzu daxil etməyə çalışır.</translation>
 <translation id="7569490014721427265">Qolf</translation>
 <translation id="7569761772822664555">"Axtarış sistemlərini idarə edin" düyməsi, Enter düyməsinə basaraq defolt axtarış sisteminizi və sayt axtarışınızı idarə edin</translation>
 <translation id="7569952961197462199">Kredit kart Chrome'dan silinsin?</translation>
@@ -2489,6 +2501,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Heç biri}=1{Hesabınızda 1 parol var (<ph name="DOMAIN_LIST" /> üçün)}other{Hesabınızda # parol var (<ph name="DOMAIN_LIST" /> üçün)}}</translation>
 <translation id="7638605456503525968">Seriya portları</translation>
 <translation id="7639968568612851608">Tünd-boz</translation>
+<translation id="7646681339175747202">İndicə istifadə etdiyiniz parol bir data pozuntusunda tapılıb. Google Parol Meneceri parolunuzu indi dəyişdirmənizi tövsiyə edir.</translation>
 <translation id="7647206758853451655">Çap keyfiyyəti</translation>
 <translation id="7648992873808071793">Faylları bu cihazda saxlayın</translation>
 <translation id="7653957176542370971">Ödəniş səhifəsi bağlıdır</translation>
@@ -3030,6 +3043,7 @@
 <translation id="9174623988242579721">Fərdi ve performans avtomobilləri</translation>
 <translation id="9174917557437862841">Bu taba keçmək üçün keçid düyməsinə klikləyib "Daxil olun" düyməsinə basın</translation>
 <translation id="9179703756951298733">Ödəniş və kredit kartı məlumatlarınızı Chrome ayarlarında idarə edin</translation>
+<translation id="9179907736442194268">Hər hansı saytda qiymət enərsə, e-poçt xəbərdarlıqları alın</translation>
 <translation id="9183302530794969518">Google Sənəd</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> dəstəklənməyən protokol istifadə edir.</translation>
 <translation id="9187461866967718678">Ekstremal idmanlar</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index 6e5b3d4a..64914ea 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">লেটার ফোল্ড</translation>
 <translation id="138218114945450791">হালকা নীল</translation>
 <translation id="1382194467192730611">আপনার অ্যাডমিনিস্ট্রেটর ইউএসবি ডিভাইস ব্যবহার করার অনুমতি দিয়েছেন</translation>
+<translation id="1382378825779654399">কোনও সাইটে দাম কমলে আপনি সেই বিষয়ে ইমেল বিজ্ঞপ্তি পাবেন। এই পৃষ্ঠাটি <ph name="LAST_BOOKMARKS_FOLDER" />-এ সেভ করা হবে।</translation>
 <translation id="1382912999714108023">আপনার বর্তমান তথ্য দেখতে পাচ্ছেন না? এটি আপডেট করতে আপনার ব্যাঙ্কের সাথে যোগাযোগ করুন।</translation>
 <translation id="1384725838384960382">নিরাপদ পেমেন্ট ক্রেডেনশিয়াল যাচাই করার শিট</translation>
 <translation id="1386623374109090026">টিকা</translation>
@@ -1521,6 +1522,7 @@
 <translation id="5018422839182700155">এই পৃষ্ঠাটি খোলা যাচ্ছে না</translation>
 <translation id="5019198164206649151">ব্যাকিং স্টোরটি ত্রুটিপূর্ণ অবস্থায় আছে</translation>
 <translation id="5020776957610079374">ওয়ার্ল্ড মিউজিক</translation>
+<translation id="5021557570875267742">Chrome ব্যবহার করে দাম ট্র্যাক করুন</translation>
 <translation id="5023310440958281426">আপনার প্রশাসকের নীতিগুলি দেখুন</translation>
 <translation id="5029568752722684782">কপি সাফ করুন</translation>
 <translation id="5030338702439866405">দ্বারা ইস্যু করা</translation>
@@ -2240,6 +2242,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" /> ভাষায় থাকলে সবসময় অনুবাদ করা হবে</translation>
 <translation id="6999969238895751684">বিনোদন শিল্প</translation>
+<translation id="7003335073762455340">আপনি এই প্রোডাক্টটি ট্র্যাক করছেন। এই পৃষ্ঠাটি <ph name="LAST_BOOKMARKS_FOLDER" />-এ সেভ করা আছে।</translation>
 <translation id="7004583254764674281">কার্ড আরও দ্রুত কনফার্ম করতে Windows Hello ব্যবহার করুন</translation>
 <translation id="7006930604109697472">নিরাপদ না হলেও পাঠান</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3034,6 +3037,7 @@
 <translation id="9174623988242579721">কাস্টম ও দ্রুতগামী যানবাহন</translation>
 <translation id="9174917557437862841">ট্যাব সুইচ বোতাম, এই ট্যাবে পরিবর্তন করতে এন্টার প্রেস করুন</translation>
 <translation id="9179703756951298733">Chrome সেটিংস থেকে আপনার পেমেন্ট ও ক্রেডিট কার্ডের তথ্য ম্যানেজ করুন</translation>
+<translation id="9179907736442194268">কোনও সাইটে দাম কমলে সেই বিষয়ে ইমেল বিজ্ঞপ্তি পান</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> একটি অসমর্থিত প্রোটোকল ব্যবহার করে।</translation>
 <translation id="9187461866967718678">চরম উত্তেজনাপূর্ণ খেলাধুলা</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 0a1e8b1..96cab7fe 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Plegat en forma de carta</translation>
 <translation id="138218114945450791">Blau clar</translation>
 <translation id="1382194467192730611">Dispositiu USB permès per l'administrador</translation>
+<translation id="1382378825779654399">Si el preu baixa en qualsevol lloc web, rebràs una alerta. Aquesta pàgina es desarà a <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">No es mostren les teves dades actuals? Contacta amb el teu banc per actualitzar-les.</translation>
 <translation id="1384725838384960382">Full d'autenticació de credencials de pagament segur</translation>
 <translation id="1386623374109090026">Anotacions</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Informació de les xarxes, com ara les adreces, la configuració de les interfícies i la qualitat de la connexió</translation>
 <translation id="1567040042588613346">Aquesta política funciona correctament, però s'ha establert el mateix valor en un altre lloc i s'ha substituït per la política.</translation>
 <translation id="1569487616857761740">Introdueix la data de caducitat</translation>
+<translation id="1569694109004336106">Google Chrome està provant d'activar Windows Hello per emplenar contrasenyes.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">S'ha produït un error en mostrar aquesta pàgina web.</translation>
 <translation id="1586541204584340881">Quines extensions has instal·lat</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">La teva puntuació més alta és <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Per ajudar a millorar la seguretat al web per a tothom, envia a Google <ph name="BEGIN_WHITEPAPER_LINK" />URL d'algunes pàgines que visites, informació limitada del sistema i part del contingut de les pàgines<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Política de privadesa<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Adreces d'interès de <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Protegeix les contrasenyes amb TouchID</translation>
 <translation id="1973335181906896915">Error de serialització</translation>
 <translation id="1974060860693918893">Configuració avançada</translation>
 <translation id="1975457531113383421">Safata d'entrada</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Vols desar la targeta?</translation>
 <translation id="2882949212241984732">Plegat en finestra doble</translation>
 <translation id="2893773853358652045">Quart corró</translation>
+<translation id="289834758818479772">Si comparteixes aquest dispositiu amb altres persones, pots activar TouchID per verificar que ets tu sempre que utilitzis una contrasenya desada</translation>
 <translation id="2900528713135656174">Crea un esdeveniment</translation>
 <translation id="2903493209154104877">Adreces</translation>
 <translation id="290376772003165898">La pàgina no està en <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Safata central</translation>
 <translation id="3109728660330352905">No teniu permís per veure aquesta pàgina.</translation>
 <translation id="3113284927548439113">Tercer torn</translation>
+<translation id="3114040155724590991">S'està actualitzant el sistema d'Android
+    L'aplicació pot tardar més del normal a iniciar-se.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Vols baixar el fitxer confidencial?}other{Vols baixar els fitxers confidencials?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> requereix que creïs una còpia de seguretat de les teves dades i que tornis aquest dispositiu <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Laminat</translation>
@@ -1194,7 +1200,7 @@
 <translation id="4176463684765177261">Desactivat</translation>
 <translation id="4176535426287761656">Aprofitament per torns i propietats vacacionals</translation>
 <translation id="4179515394835346607"><ph name="ROW_NAME" /> <ph name="ROW_CONTENT" /></translation>
-<translation id="4186035307311647330">Fes un seguiment del preu</translation>
+<translation id="4186035307311647330">Deixa de seguir el preu</translation>
 <translation id="4194250254487269611">Ara mateix no es pot desar la targeta</translation>
 <translation id="4196861286325780578">&amp;Refés el moviment</translation>
 <translation id="4202554117186904723">Cinquè corró</translation>
@@ -1255,6 +1261,7 @@
 <translation id="4306812610847412719">porta-retalls</translation>
 <translation id="4308567447483056043">Aquesta política s'ignora perquè l'usuari no està afiliat. Perquè s'apliqui aquesta política, el navegador i el perfil de Chrome han d'estar gestionats per la mateixa organització a través de la consola d'administració.</translation>
 <translation id="4310070645992025887">Cerca els teus recorreguts</translation>
+<translation id="4310496734563057511">Si comparteixes aquest dispositiu amb altres persones, pots activar Windows Hello per verificar que ets tu sempre que utilitzis una contrasenya desada</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloqueja (opció predeterminada)</translation>
 <translation id="4314815835985389558">Gestiona la sincronització</translation>
@@ -1469,6 +1476,7 @@
 <translation id="4880827082731008257">Cerca a l'historial</translation>
 <translation id="4881695831933465202">Obre</translation>
 <translation id="4885256590493466218">Paga amb <ph name="CARD_DETAIL" /> en tramitar la compra.</translation>
+<translation id="4887406273302438710">Protegeix les contrasenyes amb Windows Hello</translation>
 <translation id="4888600795924685526">Estudi d'idiomes estrangers</translation>
 <translation id="4889420713887366944">Botó Obre una finestra d'incògnit; prem Retorn per obrir una finestra d'incògnit nova i navegar en privat</translation>
 <translation id="4892518386797173871">Part posterior</translation>
@@ -1520,6 +1528,7 @@
 <translation id="5018422839182700155">No es pot obrir aquesta pàgina</translation>
 <translation id="5019198164206649151">L'emmagatzematge de la còpia de seguretat està en mal estat</translation>
 <translation id="5020776957610079374">Música del món</translation>
+<translation id="5021557570875267742">Fes un seguiment dels preus amb Chrome</translation>
 <translation id="5023310440958281426">Consulteu les polítiques de l'administrador</translation>
 <translation id="5029568752722684782">Esborra la còpia</translation>
 <translation id="5030338702439866405">Emès per</translation>
@@ -1687,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> et vol enviar notificacions</translation>
 <translation id="5428105026674456456">Espanyol</translation>
 <translation id="5430298929874300616">Suprimeix l'adreça d'interès</translation>
+<translation id="5434423669266814150">activar TouchID per emplenar contrasenyes</translation>
 <translation id="5443468954631487277">Ordre invers de cara amunt</translation>
 <translation id="5447765697759493033">Aquest lloc web no es traduirà</translation>
 <translation id="5452270690849572955">No s'ha trobat aquesta pàgina de <ph name="HOST_NAME" /></translation>
@@ -2240,6 +2250,7 @@
 <translation id="6993898126790112050">6x9 (sobre)</translation>
 <translation id="6996312675313362352">Tradueix sempre el text en <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Sector de l'espectacle</translation>
+<translation id="7003335073762455340">Estàs fent el seguiment d'aquest producte. Aquesta pàgina s'ha desat a <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Fes servir Windows Hello per confirmar les targetes més ràpidament</translation>
 <translation id="7006930604109697472">Envia de totes maneres</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2463,6 +2474,7 @@
 <translation id="7564049878696755256">Podries perdre l'accés al compte de <ph name="ORG_NAME" /> o tenir problemes de suplantació d'identitat. Chrome et recomana que canviïs la contrasenya ara.</translation>
 <translation id="7564680668369175887">Vehicles familiars</translation>
 <translation id="7567204685887185387">Aquest servidor no ha pogut comprovar que sigui <ph name="DOMAIN" /> perquè és possible que el seu certificat de seguretat s'hagi emès de manera fraudulenta. Això pot ser a causa d'una configuració incorrecta o d'un atacant que intercepta la vostra connexió.</translation>
+<translation id="7568616151991626879">Google Chrome està provant d'emplenar la teva contrasenya a <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Botó Gestiona els motors de cerca: prem Retorn per gestionar el motor de cerca predeterminat i la cerca de llocs web</translation>
 <translation id="7569952961197462199">Voleu suprimir la targeta de crèdit de Chrome?</translation>
@@ -2493,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Cap}=1{1 contrasenya al compte (per a <ph name="DOMAIN_LIST" />)}other{# contrasenyes al compte (per a <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Ports en sèrie</translation>
 <translation id="7639968568612851608">Gris fosc</translation>
+<translation id="7646681339175747202">La contrasenya que acabes d'utilitzar s'ha trobat en una violació de les dades. El gestor de contrasenyes de Google et recomana que la canviïs ara.</translation>
 <translation id="7647206758853451655">Qualitat d'impressió</translation>
 <translation id="7648992873808071793">Emmagatzema fitxers en aquest dispositiu</translation>
 <translation id="7653957176542370971">El full del gestor de pagaments està tancat</translation>
@@ -3034,6 +3047,7 @@
 <translation id="9174623988242579721">Vehicles personalitzats i d'alt rendiment</translation>
 <translation id="9174917557437862841">Botó per canviar de pestanya; prem Retorn per canviar a aquesta pestanya</translation>
 <translation id="9179703756951298733">Gestiona la informació dels pagaments i de les targetes de crèdit a la configuració de Chrome</translation>
+<translation id="9179907736442194268">Si el preu baixa en qualsevol lloc web, rebràs una alerta per correu electrònic.</translation>
 <translation id="9183302530794969518">Documents de Google</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> fa servir un protocol no admès.</translation>
 <translation id="9187461866967718678">Esports de risc</translation>
diff --git a/components/strings/components_strings_de.xtb b/components/strings/components_strings_de.xtb
index efe3316..87716cb 100644
--- a/components/strings/components_strings_de.xtb
+++ b/components/strings/components_strings_de.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Brieffaltung</translation>
 <translation id="138218114945450791">Hellblau</translation>
 <translation id="1382194467192730611">USB-Gerät wurde von deinem Administrator zugelassen</translation>
+<translation id="1382378825779654399">Du erhältst eine E-Mail-Benachrichtigung, wenn der Preis auf einer Website gesenkt wird. Diese Seite wird in „<ph name="LAST_BOOKMARKS_FOLDER" />“ gespeichert.</translation>
 <translation id="1382912999714108023">Deine aktuellen Daten werden nicht angezeigt? Kontaktiere deine Bank, um die Daten zu aktualisieren.</translation>
 <translation id="1384725838384960382">Ansicht zum Authentifizieren der sicheren Anmeldedaten für Zahlungen</translation>
 <translation id="1386623374109090026">Anmerkungen</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Netzwerkinformationen wie Adressen, Schnittstellenkonfigurationen und Verbindungsqualität</translation>
 <translation id="1567040042588613346">Diese Richtlinie funktioniert wie beabsichtigt, an anderer Stelle ist jedoch der gleiche Wert festgelegt, der von dieser Richtlinie ersetzt wird.</translation>
 <translation id="1569487616857761740">Ablaufdatum eingeben</translation>
+<translation id="1569694109004336106">Google Chrome versucht, Windows Hello zum Ausfüllen von Passwörtern zu aktivieren.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Fehler beim Anzeigen dieser Webseite.</translation>
 <translation id="1586541204584340881">Welche Erweiterungen du installiert hast</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Dein Highscore ist <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Hilf mit, die Sicherheit im Web für alle zu verbessern, und sende die <ph name="BEGIN_WHITEPAPER_LINK" />URLs einiger von dir besuchter Seiten, eingeschränkte Systemdaten und manche Seiteninhalte<ph name="END_WHITEPAPER_LINK" /> an Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Datenschutzerklärung<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" />-Lesezeichen</translation>
+<translation id="1971033026002113380">Passwörter mit Touch ID schützen</translation>
 <translation id="1973335181906896915">Fehler bei der Serialisierung</translation>
 <translation id="1974060860693918893">Erweitert</translation>
 <translation id="1975457531113383421">Papierfach</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Karte speichern?</translation>
 <translation id="2882949212241984732">Doppelte Fensterfaltung</translation>
 <translation id="2893773853358652045">Vierte Rolle</translation>
+<translation id="289834758818479772">Wenn du dieses Gerät gemeinsam mit anderen nutzt, kannst du Touch ID aktivieren, um deine Identität zu bestätigen, wenn du ein gespeichertes Passwort verwendest</translation>
 <translation id="2900528713135656174">Termin erstellen</translation>
 <translation id="2903493209154104877">Adressen</translation>
 <translation id="290376772003165898">Diese Seite ist nicht auf <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Mittleres Fach</translation>
 <translation id="3109728660330352905">Du bist nicht zum Aufrufen dieser Seite autorisiert.</translation>
 <translation id="3113284927548439113">Dritte Schicht</translation>
+<translation id="3114040155724590991">Android-System wird aktualisiert
+    Das Starten deiner App kann länger als gewöhnlich dauern.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Vertrauliche Datei herunterladen?}other{Vertrauliche Dateien herunterladen?}}</translation>
 <translation id="3115874930288085374">Gemäß <ph name="ENROLLMENT_DOMAIN" /> ist es notwendig, ein Daten-Backup zu erstellen und dieses <ph name="DEVICE_TYPE" /> zurückzugeben.</translation>
 <translation id="3116158981186517402">Laminieren</translation>
@@ -1253,6 +1259,7 @@
 <translation id="4306812610847412719">Zwischenablage</translation>
 <translation id="4308567447483056043">Diese Richtlinie wird ignoriert, da der Nutzer kein verknüpfter Nutzer ist. Damit sie angewendet wird, müssen der Chrome-Browser und das Profil in der Admin-Konsole von derselben Organisation verwaltet werden.</translation>
 <translation id="4310070645992025887">In Onlinerecherchen stöbern</translation>
+<translation id="4310496734563057511">Wenn du dieses Gerät gemeinsam mit anderen nutzt, kannst du Windows Hello aktivieren, um deine Identität zu bestätigen, wenn du ein gespeichertes Passwort verwendest</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blockieren (Standard)</translation>
 <translation id="4314815835985389558">Synchronisierung verwalten</translation>
@@ -1467,6 +1474,7 @@
 <translation id="4880827082731008257">Im Verlauf suchen</translation>
 <translation id="4881695831933465202">Öffnen</translation>
 <translation id="4885256590493466218">An der Kasse mit <ph name="CARD_DETAIL" /> zahlen</translation>
+<translation id="4887406273302438710">Passwörter mit Windows Hello schützen</translation>
 <translation id="4888600795924685526">Fremdsprachenunterricht</translation>
 <translation id="4889420713887366944">Schaltfläche „Inkognitofenster öffnen“ – drücke die Eingabetaste, um ein neues Inkognitofenster zu öffnen und privat zu surfen</translation>
 <translation id="4892518386797173871">Hinten</translation>
@@ -1518,6 +1526,7 @@
 <translation id="5018422839182700155">Diese Seite kann nicht geöffnet werden</translation>
 <translation id="5019198164206649151">Sicherungsspeicher ist fehlerhaft.</translation>
 <translation id="5020776957610079374">Weltmusik</translation>
+<translation id="5021557570875267742">Preise mit Chrome beobachten</translation>
 <translation id="5023310440958281426">Informiere dich über die von deinem Administrator festgelegten Richtlinien.</translation>
 <translation id="5029568752722684782">Kopie löschen</translation>
 <translation id="5030338702439866405">Ausgestellt von</translation>
@@ -1685,6 +1694,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> möchte dir Benachrichtigungen senden</translation>
 <translation id="5428105026674456456">Spanisch</translation>
 <translation id="5430298929874300616">Lesezeichen löschen</translation>
+<translation id="5434423669266814150">Touch ID zum Ausfüllen von Passwörtern zu aktivieren</translation>
 <translation id="5443468954631487277">Umgekehrte Reihenfolge mit der Vorderseite nach oben</translation>
 <translation id="5447765697759493033">Diese Website wird nicht übersetzt</translation>
 <translation id="5452270690849572955">Diese <ph name="HOST_NAME" />-Seite wurde nicht gefunden</translation>
@@ -2238,6 +2248,7 @@
 <translation id="6993898126790112050">6x9 (Umschlag)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" /> immer übersetzen</translation>
 <translation id="6999969238895751684">Unterhaltungsindustrie</translation>
+<translation id="7003335073762455340">Du beobachtest dieses Produkt. Diese Seite wurde in „<ph name="LAST_BOOKMARKS_FOLDER" />“ gespeichert.</translation>
 <translation id="7004583254764674281">Windows Hello verwenden und Karten schneller bestätigen</translation>
 <translation id="7006930604109697472">Trotzdem senden</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2461,6 +2472,7 @@
 <translation id="7564049878696755256">Du könntest den Zugriff auf dein <ph name="ORG_NAME" />-Konto verlieren oder zum Opfer von Identitätsdiebstahl werden. Chrome empfiehlt dir, dein Passwort jetzt zu ändern.</translation>
 <translation id="7564680668369175887">Kombis</translation>
 <translation id="7567204685887185387">Dieser Server konnte nicht beweisen, dass er <ph name="DOMAIN" /> ist. Sein Sicherheitszertifikat wurde möglicherweise in betrügerischer Absicht ausgegeben. Mögliche Gründe sind eine fehlerhafte Konfiguration oder ein Angreifer, der deine Verbindung abfängt.</translation>
+<translation id="7568616151991626879">Google Chrome versucht, dein Passwort auf <ph name="APP_NAME" /> auszufüllen.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Schaltfläche „Suchmaschinen verwalten“ – drücke die Eingabetaste, um deine standardmäßige Suchmaschine und Websitesuche zu verwalten</translation>
 <translation id="7569952961197462199">Kreditkarte aus Chrome entfernen?</translation>
@@ -2491,6 +2503,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Keins}=1{1 Passwort in deinem Konto (für <ph name="DOMAIN_LIST" />)}other{# Passwörter in deinem Konto (für <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Serielle Schnittstellen</translation>
 <translation id="7639968568612851608">Dunkelgrau</translation>
+<translation id="7646681339175747202">Das eingegebene Passwort wurde in einer Datenpanne gefunden. Der Google Passwortmanager empfiehlt, dieses Passwort jetzt zu ändern.</translation>
 <translation id="7647206758853451655">Druckqualität</translation>
 <translation id="7648992873808071793">Dateien auf diesem Gerät speichern</translation>
 <translation id="7653957176542370971">Das Dokument zur Zahlungsabwicklung ist geschlossen</translation>
@@ -3034,6 +3047,7 @@
 <translation id="9174623988242579721">Autotuning</translation>
 <translation id="9174917557437862841">Schaltfläche zum Wechseln des Tabs, Eingabetaste drücken, um zu diesem Tab zu wechseln</translation>
 <translation id="9179703756951298733">Zahlungsmethoden und Kreditkartendaten in den Chrome-Einstellungen verwalten</translation>
+<translation id="9179907736442194268">Du wirst bei einem Preisnachlass auf einer Website per E-Mail benachrichtigt</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> verwendet ein nicht unterstütztes Protokoll.</translation>
 <translation id="9187461866967718678">Extremsportarten</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index c737e9a..aef6005 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">Información de redes como las direcciones, la configuración de la interfaz y la calidad de la conexión</translation>
 <translation id="1567040042588613346">Esta política funciona según lo previsto, pero ha sustituido el mismo valor definido en otra parte.</translation>
 <translation id="1569487616857761740">Introducir fecha de vencimiento</translation>
+<translation id="1569694109004336106">Google Chrome está intentando activar Windows Hello para rellenar contraseñas.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Se ha producido un error al mostrar esta página web.</translation>
 <translation id="1586541204584340881">Qué extensiones tienes instaladas</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">Tu mejor puntuación es <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Ayuda a mejorar la seguridad de todos en la Web enviando a Google las <ph name="BEGIN_WHITEPAPER_LINK" />URL de algunas de las páginas que visites, información limitada del sistema y parte del contenido de las páginas<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Política de Privacidad<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Marcadores de <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Protege tus contraseñas con Touch ID</translation>
 <translation id="1973335181906896915">Error de serialización</translation>
 <translation id="1974060860693918893">Configuración avanzada</translation>
 <translation id="1975457531113383421">Bandeja de entrada</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">¿Quieres guardar la tarjeta?</translation>
 <translation id="2882949212241984732">Plegado en ventana doble</translation>
 <translation id="2893773853358652045">Cuarto rollo</translation>
+<translation id="289834758818479772">Si compartes este dispositivo con otras personas, puedes activar Touch ID para verificar que eres tú siempre que uses una contraseña guardada</translation>
 <translation id="2900528713135656174">Crear evento</translation>
 <translation id="2903493209154104877">Direcciones</translation>
 <translation id="290376772003165898">¿La página no está en <ph name="LANGUAGE" />?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">Bandeja central</translation>
 <translation id="3109728660330352905">No tienes autorización para ver esta página.</translation>
 <translation id="3113284927548439113">Tercer turno</translation>
+<translation id="3114040155724590991">Actualizando el sistema Android
+    Tu aplicación puede tardar más de lo habitual en iniciarse.</translation>
 <translation id="3115363211799416195">{0,plural, =1{¿Descargar archivo confidencial?}other{¿Descargar archivos confidenciales?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> requiere que crees una copia de seguridad de tus datos y devuelvas este <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Plastificar</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">portapapeles</translation>
 <translation id="4308567447483056043">Esta política se ignora porque el usuario no está afiliado. Para que se aplique esta política, una misma organización debe gestionar tanto el navegador Chrome como el perfil de Chrome mediante la consola de administración.</translation>
 <translation id="4310070645992025887">Buscar tus recorridos</translation>
+<translation id="4310496734563057511">Si compartes este dispositivo con otras personas, puedes activar Windows Hello para verificar que eres tú siempre que uses una contraseña guardada</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (predeterminado)</translation>
 <translation id="4314815835985389558">Gestionar sincronización</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">Buscar en el historial</translation>
 <translation id="4881695831933465202">Abrir</translation>
 <translation id="4885256590493466218">Paga con <ph name="CARD_DETAIL" /> al tramitar la compra.</translation>
+<translation id="4887406273302438710">Protege tus contraseñas con Windows Hello</translation>
 <translation id="4888600795924685526">Estudios de lenguas extranjeras</translation>
 <translation id="4889420713887366944">Botón Abrir una ventana de Incógnito, pulsa Intro para abrir una ventana de Incógnito para navegar de forma privada</translation>
 <translation id="4892518386797173871">Parte trasera</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> quiere enviarte notificaciones</translation>
 <translation id="5428105026674456456">Español</translation>
 <translation id="5430298929874300616">Eliminar marcador</translation>
+<translation id="5434423669266814150">activar Touch ID para rellenar contraseñas</translation>
 <translation id="5443468954631487277">Orden inverso boca arriba</translation>
 <translation id="5447765697759493033">Este sitio web no va a traducirse</translation>
 <translation id="5452270690849572955">No se puede encontrar esta página (<ph name="HOST_NAME" />)</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">Podrías perder el acceso a tu cuenta de <ph name="ORG_NAME" /> o tener problemas de suplantación de identidad. Chrome te recomienda que cambies tu contraseña ahora.</translation>
 <translation id="7564680668369175887">Rancheras</translation>
 <translation id="7567204685887185387">Este servidor no ha podido probar que su dominio es <ph name="DOMAIN" />, su certificado de seguridad podría haberse emitido de forma fraudulenta. El problema puede deberse a una configuración incorrecta o a que un atacante haya interceptado la conexión.</translation>
+<translation id="7568616151991626879">Google Chrome está intentando rellenar tu contraseña en <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Botón Gestionar buscadores, pulsa Intro para gestionar tu buscador predeterminado y las búsquedas en el sitio</translation>
 <translation id="7569952961197462199">¿Eliminar tarjeta de crédito de Chrome?</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Ninguna}=1{1 contraseña en tu cuenta (de <ph name="DOMAIN_LIST" />)}other{# contraseñas en tu cuenta (de <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Puertos serie</translation>
 <translation id="7639968568612851608">Gris oscuro</translation>
+<translation id="7646681339175747202">La contraseña que acabas de usar se ha encontrado en una quiebra de seguridad de datos. El gestor de contraseñas de Google te recomienda que cambies tu contraseña ahora.</translation>
 <translation id="7647206758853451655">Calidad de impresión</translation>
 <translation id="7648992873808071793">Almacenar archivos en este dispositivo</translation>
 <translation id="7653957176542370971">La hoja del controlador de pagos está cerrada</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 9691ffa3..530ef29 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -260,6 +260,7 @@
 <translation id="156703335097561114">Võrguteave, nagu aadressid, liidese seadistus ja ühenduse kvaliteet</translation>
 <translation id="1567040042588613346">See reegel töötab eesmärgipäraselt, kuid mujal on seadistatud sama väärtus, mis on selle reegliga asendatud.</translation>
 <translation id="1569487616857761740">Sisestage aegumiskuupäev</translation>
+<translation id="1569694109004336106">Google Chrome üritab paroolide sisestamiseks lülitada sisse Windows Hello.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Veebilehe kuvamisel läks midagi valesti.</translation>
 <translation id="1586541204584340881">Millised laiendused olete installinud</translation>
@@ -398,6 +399,7 @@
 <translation id="1958218078413065209">Teie parim tulemus on <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Aidake turvalisust veebis kõigi jaoks suurendada, saates Google'ile <ph name="BEGIN_WHITEPAPER_LINK" />mõne teie külastatud lehe URL-i, piiratud süsteemiteabe ja lehe teatud sisu<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Privaatsuseeskirjad<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Domeeni <ph name="DOMAIN" /> järjehoidjad</translation>
+<translation id="1971033026002113380">Kaitske paroole funktsiooniga Touch ID</translation>
 <translation id="1973335181906896915">Viga jadaks teisendamisel</translation>
 <translation id="1974060860693918893">Täpsemad</translation>
 <translation id="1975457531113383421">Sisendsalv</translation>
@@ -725,6 +727,7 @@
 <translation id="2881276955470682203">Kas salvestada kaart?</translation>
 <translation id="2882949212241984732">Väravakujuliselt kaks korda volditud</translation>
 <translation id="2893773853358652045">Neljas rull</translation>
+<translation id="289834758818479772">Kui jagate seda seadet teistega, saate sisse lülitada Touch ID, et salvestatud parooli kasutades oma isik kinnitada</translation>
 <translation id="2900528713135656174">Looge sündmus</translation>
 <translation id="2903493209154104877">Aadressid</translation>
 <translation id="290376772003165898">Kas leht ei ole <ph name="LANGUAGE" /> keeles?</translation>
@@ -801,6 +804,8 @@
 <translation id="3108943290502734357">Keskmine salv</translation>
 <translation id="3109728660330352905">Teil pole volitust selle lehe vaatamiseks.</translation>
 <translation id="3113284927548439113">Kolmas vahetus</translation>
+<translation id="3114040155724590991">Androidi süsteemi värskendatakse
+    Rakenduse käivitamine võib võtta tavapärasest kauem.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Kas laadida alla konfidentsiaalne fail?}other{Kas laadida alla konfidentsiaalsed failid?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> nõuab, et varundaksite oma andmed ja tagastaksite seadme (<ph name="DEVICE_TYPE" />).</translation>
 <translation id="3116158981186517402">Lamineeri</translation>
@@ -1255,6 +1260,7 @@
 <translation id="4306812610847412719">lõikelaud</translation>
 <translation id="4308567447483056043">Seda reeglit eiratakse, kuna kasutaja pole seotud. Selle reegli rakendamiseks peab Chrome'i brauserit ja profiili haldama administraatorikonsooli kaudu sama organisatsioon.</translation>
 <translation id="4310070645992025887">Otsige teekondadest</translation>
+<translation id="4310496734563057511">Kui jagate seda seadet teistega, saate sisse lülitada Windows Hello, et salvestatud parooli kasutades oma isik kinnitada</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokeeri (vaikimisi)</translation>
 <translation id="4314815835985389558">Sünkroonimise haldamine</translation>
@@ -1469,6 +1475,7 @@
 <translation id="4880827082731008257">Otsi ajaloost</translation>
 <translation id="4881695831933465202">Ava</translation>
 <translation id="4885256590493466218">Makske kassas kaardiga <ph name="CARD_DETAIL" /></translation>
+<translation id="4887406273302438710">Kaitske paroole funktsiooniga Windows Hello</translation>
 <translation id="4888600795924685526">Võõrkeeleõpe</translation>
 <translation id="4889420713887366944">Nupp Ava inkognito aken, vajutage privaatse sirvimise jaoks uue inkognito akna avamiseks sisestusklahvi</translation>
 <translation id="4892518386797173871">Tagumine</translation>
@@ -1687,6 +1694,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> soovib teile saata märguandeid</translation>
 <translation id="5428105026674456456">hispaania keel</translation>
 <translation id="5430298929874300616">Järjehoidja eemaldamine</translation>
+<translation id="5434423669266814150">paroolide sisestamiseks lülitada sisse Touch ID</translation>
 <translation id="5443468954631487277">Vastupidine järjestus, esikülg ülespoole</translation>
 <translation id="5447765697759493033">Seda saiti ei tõlgita</translation>
 <translation id="5452270690849572955">Hosti <ph name="HOST_NAME" /> lehte ei leita</translation>
@@ -2463,6 +2471,7 @@
 <translation id="7564049878696755256">Võite kaotada juurdepääsu oma teenuse <ph name="ORG_NAME" /> kontole või teie identiteet võidakse varastada. Chrome soovitab teil kohe oma parooli muuta.</translation>
 <translation id="7564680668369175887">Universaalkerega autod</translation>
 <translation id="7567204685887185387">Server ei suutnud tõestada, et see on domeen <ph name="DOMAIN" />, selle turvasertifikaat võib olla väljastatud pettuse teel. Selle põhjuseks võib olla vale seadistus või ründaja, kes on sekkunud teie ühendusse.</translation>
+<translation id="7568616151991626879">Google Chrome üritab rakenduses <ph name="APP_NAME" /> teie parooli sisestada.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Nupp Otsingumootorite haldamine, vaikeotsingumootori ja -saidiotsingu haldamiseks vajutage sisestusklahvi.</translation>
 <translation id="7569952961197462199">Kas eemaldada Chrome'ist krediitkaart?</translation>
@@ -2493,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Puudub}=1{Teie kontol on 1 parool (domeenidele <ph name="DOMAIN_LIST" />)}other{Teie kontol on # parooli (domeenidele <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Jadapordid</translation>
 <translation id="7639968568612851608">Tumehall</translation>
+<translation id="7646681339175747202">Äsja kasutatud parool leiti andmetega seotud rikkumisest. Google'i paroolihaldur soovitab teil kohe oma parooli muuta.</translation>
 <translation id="7647206758853451655">Prindikvaliteet</translation>
 <translation id="7648992873808071793">Salvestada failid sellesse seadmesse</translation>
 <translation id="7653957176542370971">Maksetöötleja leht on suletud</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index 9844369..c76e523 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Gutun-tolestura</translation>
 <translation id="138218114945450791">Urdin argia</translation>
 <translation id="1382194467192730611">Administratzaileak onartzen duen USB bidezko gailua</translation>
+<translation id="1382378825779654399">Webguneren batean prezioa jaisten bada, posta elektroniko bidezko alertak jasoko dituzu. Orria <ph name="LAST_BOOKMARKS_FOLDER" /> karpetan gordeko da.</translation>
 <translation id="1382912999714108023">Ezin duzu ikusi oraingo informazioa? Eguneratzeko, jarri bankuarekin harremanetan.</translation>
 <translation id="1384725838384960382">Ordainketa seguruetarako kredentzialak autentifikatzeko orria</translation>
 <translation id="1386623374109090026">Oharpenak</translation>
@@ -1516,6 +1517,7 @@
 <translation id="5018422839182700155">Ezin da ireki orri hau</translation>
 <translation id="5019198164206649151">Ordezko memoria egoera txarrean dago</translation>
 <translation id="5020776957610079374">Munduko musika</translation>
+<translation id="5021557570875267742">Egin prezioen jarraipena Chrome-ren bidez</translation>
 <translation id="5023310440958281426">Egiaztatu administratzailearen gidalerroak</translation>
 <translation id="5029568752722684782">Garbitu kopia</translation>
 <translation id="5030338702439866405">Jaulkitzailea:</translation>
@@ -2235,6 +2237,7 @@
 <translation id="6993898126790112050">6x9 (gutun-azala)</translation>
 <translation id="6996312675313362352">Itzuli beti <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Aisiaren industria</translation>
+<translation id="7003335073762455340">Produktuaren jarraipena egiten ari zara. Orria <ph name="LAST_BOOKMARKS_FOLDER" /> karpetan dago gordeta.</translation>
 <translation id="7004583254764674281">Erabili Windows Hello txartelak bizkorrago berresteko</translation>
 <translation id="7006930604109697472">Bidali hala ere</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3029,6 +3032,7 @@
 <translation id="9174623988242579721">Ibilgailu pertsonalizatuak eta errendimendu handiko ibilgailuak</translation>
 <translation id="9174917557437862841">Fitxa aldatzeko botoia. Fitxa honetara joateko, sakatu Sartu.</translation>
 <translation id="9179703756951298733">Kudeatu ordainketak eta kreditu-txartelari buruzko informazioa Chrome-ren ezarpenetan</translation>
+<translation id="9179907736442194268">Jaso posta elektroniko bidezko alertak webguneren batean prezioa jaisten bada</translation>
 <translation id="9183302530794969518">Google Dokumentuak</translation>
 <translation id="9183425211371246419">Onartzen ez den protokolo bat darabil <ph name="HOST_NAME" /> webguneak.</translation>
 <translation id="9187461866967718678">Muturreko kirolak</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 4d31ea0..38f26a8 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">اطلاعات شبکه، مثل نشانی‌ها، پیکربندی میانا، و کیفیت اتصال</translation>
 <translation id="1567040042588613346">این خط‌مشی درست کار می‌کند اما مقدار یکسانی در جای دیگری تنظیم شده است که این خط‌مشی آن را جایگزین می‌کند.</translation>
 <translation id="1569487616857761740">وارد کردن تاریخ انقضا</translation>
+<translation id="1569694109004336106">‏Google Chrome می‌خواهد Windows Hello را برای پر کردن گذرواژه‌ها روشن کند.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">هنگام نمایش این صفحه وب مشکلی پیش آمد.</translation>
 <translation id="1586541204584340881">افزونه‌هایی که نصب کرده‌اید</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">بالاترین امتیاز شما <ph name="SCORE" /> است.</translation>
 <translation id="1959001866257244765">‏با ارسال <ph name="BEGIN_WHITEPAPER_LINK" />نشانی وب برخی از صفحه‌هایی که بازدید می‌کنید، اطلاعات محدود سیستم، و بخشی از محتوای صفحه<ph name="END_WHITEPAPER_LINK" /> به Google، به بهبود امنیت وب برای همه کمک کنید. <ph name="BEGIN_PRIVACY_PAGE_LINK" />خط‌مشی رازداری<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">نشانک‌های <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">‏محافظت از گذرواژه‌ها با TouchID</translation>
 <translation id="1973335181906896915">خطای ترتیب</translation>
 <translation id="1974060860693918893">پیشرفته</translation>
 <translation id="1975457531113383421">سینی ورودی</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">کارت ذخیره شود؟</translation>
 <translation id="2882949212241984732">تاخوردگی دروازه‌ای دوتایی</translation>
 <translation id="2893773853358652045">رول چهارم</translation>
+<translation id="289834758818479772">‏اگر این دستگاه را با دیگران هم‌رسانی می‌کنید، می‌توانید TouchID را روشن کنید تا هرگاه از گذرواژه ذخیره‌شده استفاده می‌کنید هویتتان را تأیید کند</translation>
 <translation id="2900528713135656174">ایجاد رویداد</translation>
 <translation id="2903493209154104877">آدرس‌ها</translation>
 <translation id="290376772003165898">صفحه به زبان <ph name="LANGUAGE" /> وجود ندارد؟</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">سینی وسط</translation>
 <translation id="3109728660330352905">شما اجازه مشاهده این صفحه را ندارید.</translation>
 <translation id="3113284927548439113">نوبت کاری سوم</translation>
+<translation id="3114040155724590991">‏به‌روزرسانی سیستم Android
+    راه‌اندازی برنامه‌تان ممکن است بیشتر از معمول طول بکشد.</translation>
 <translation id="3115363211799416195">{0,plural, =1{فایلِ محرمانه بارگیری شود؟}one{فایلِ محرمانه بارگیری شود؟}other{فایل‌هایِ محرمانه بارگیری شود؟}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> لازم می‌داند از داده‌هایتان پشتیبان بگیرید و این <ph name="DEVICE_TYPE" /> را برگردانید.</translation>
 <translation id="3116158981186517402">روکش‌دار کردن</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">بریده‌دان</translation>
 <translation id="4308567447483056043">‏چون کاربر وابسته نیست، این خط‌مشی نادیده گرفته می‌شود. برای اعمال شدن این خط‌مشی، مرورگر و نمایه Chrome باید تحت‌مدیریت «کنسول سرپرست» یک سازمان باشند.</translation>
 <translation id="4310070645992025887">«سفرهای جستجو» را جستجو کنید</translation>
+<translation id="4310496734563057511">‏اگر این دستگاه را با دیگران هم‌رسانی می‌کنید، می‌توانید Windows Hello را روشن کنید تا هرگاه از گذرواژه ذخیره‌شده استفاده می‌کنید هویتتان را تأیید کند</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">مسدود کردن (پیش‌فرض)</translation>
 <translation id="4314815835985389558">مدیریت همگام‌سازی</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">سابقه جستجو</translation>
 <translation id="4881695831933465202">باز کردن</translation>
 <translation id="4885256590493466218">هنگام تصفیه حساب، با <ph name="CARD_DETAIL" /> پرداخت کنید</translation>
+<translation id="4887406273302438710">‏محافظت از گذرواژه‌ها با Windows Hello</translation>
 <translation id="4888600795924685526">مطالعه زبان خارجی</translation>
 <translation id="4889420713887366944">‏دکمه «باز کردن پنجره ناشناس»، برای باز کردن «پنجره ناشناس» جدید و مرور کردن به‌صورت خصوصی، کلید Enter (ورود) را فشار کنید</translation>
 <translation id="4892518386797173871">عقب</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> می‌خواهد برایتان اعلان  ارسال کند</translation>
 <translation id="5428105026674456456">اسپانیایی</translation>
 <translation id="5430298929874300616">حذف نشانک</translation>
+<translation id="5434423669266814150">‏TouchID را برای پر کردن گذرواژه‌ها روشن کند</translation>
 <translation id="5443468954631487277">روبه‌بالا به‌ترتیب معکوس</translation>
 <translation id="5447765697759493033">این سایت ترجمه نخواهد شد</translation>
 <translation id="5452270690849572955">صفحه <ph name="HOST_NAME" /> پیدا نمی‌شود</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">‏ممکن است دسترسی به حساب <ph name="ORG_NAME" /> را از دست بدهید یا به سرقت هویت دچار شوید. Chrome توصیه می‌کند هم‌اکنون گذرواژه‌تان را تغییر دهید.</translation>
 <translation id="7564680668369175887">واگن استیشن</translation>
 <translation id="7567204685887185387">این سرور نتوانست اثبات کند که این <ph name="DOMAIN" /> است؛ ممکن است گواهی امنیتی آن به صورت تقلبی صادر شده باشد. ممکن است علت این موضوع پیکربندی اشتباه باشد یا مهاجمی اتصال شما را قطع کرده است.</translation>
+<translation id="7568616151991626879">‏Google Chrome می‌خواهد گذرواژه‌تان را در <ph name="APP_NAME" /> پر کند.</translation>
 <translation id="7569490014721427265">گلف</translation>
 <translation id="7569761772822664555">دکمه «مدیریت موتورهای جستجو»؛ برای مدیریت موتور جستجوی پیش‌فرض و جستجوی سایت، کلید «ورود» را فشار دهید</translation>
 <translation id="7569952961197462199">‏کارت اعتباری از Chrome پاک شود؟</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{هیچ‌ گذرواژه‌ای}=1{۱ گذرواژه در حسابتان (برای <ph name="DOMAIN_LIST" />)}one{# گذرواژه در حسابتان (برای <ph name="DOMAIN_LIST" />)}other{# گذرواژه در حسابتان (برای <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">درگاه‌های سریال</translation>
 <translation id="7639968568612851608">خاکستری تیره</translation>
+<translation id="7646681339175747202">‏گذرواژه‌ای که اکنون استفاده کردید در سرقت اطلاعات شبکه لو رفته است. «مدیر گذرواژه Google» توصیه می‌کند گذرواژه‌تان را همین‌حالا تغییر دهید.</translation>
 <translation id="7647206758853451655">کیفیت چاپ</translation>
 <translation id="7648992873808071793">ذخیره کردن فایل در این دستگاه</translation>
 <translation id="7653957176542370971">برگ کنترل‌کننده پرداخت بسته است</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index 7f25accd..a6aa922 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Kirjetaite</translation>
 <translation id="138218114945450791">Vaaleansininen</translation>
 <translation id="1382194467192730611">Järjestelmänvalvojan sallima USB-laite</translation>
+<translation id="1382378825779654399">Saat sähköposti-ilmoituksen, jos hinta laskee jollakin sivustolla. Sivu tallennetaan tänne: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Eivätkö tietosi ole ajan tasalla? Ota yhteyttä pankkiin ja päivitä ne.</translation>
 <translation id="1384725838384960382">Suojatun maksun kirjautumistietojen todennuspaneeli</translation>
 <translation id="1386623374109090026">Kommentit</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Verkkotiedot, kuten osoitteet, käyttöliittymän määritys ja yhteyden laatu</translation>
 <translation id="1567040042588613346">Tämä käytäntö toimii odotetusti, mutta sama arvo on asetettu muualla, ja tämä käytäntö korvaa sen.</translation>
 <translation id="1569487616857761740">Lisää viimeinen voimassaolopäivä</translation>
+<translation id="1569694109004336106">Google Chrome yrittää laittaa Windows Hellon päälle salasanojen täyttämistä varten.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Jotain meni pieleen. tätä verkkosivua näytettäessä.</translation>
 <translation id="1586541204584340881">Asentamasi laajennukset</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Parhaat pisteesi ovat <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Auta parantamaan kaikkien verkkoturvallisuutta lähettämällä Googlelle <ph name="BEGIN_WHITEPAPER_LINK" />joidenkin avaamiesi sivujen URL-osoitteita, rajallisia järjestelmätietoja ja osia sivujen sisällöstä<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Tietosuojakäytäntö<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Verkkotunnuksen <ph name="DOMAIN" /> kirjanmerkit</translation>
+<translation id="1971033026002113380">Suojaa salasanat TouchID:llä</translation>
 <translation id="1973335181906896915">Sarjaesittämisen virhe</translation>
 <translation id="1974060860693918893">Lisäasetukset</translation>
 <translation id="1975457531113383421">Syöttölokero</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Tallennetaanko kortti?</translation>
 <translation id="2882949212241984732">Kaksoislehtitaite</translation>
 <translation id="2893773853358652045">Neljäs rulla</translation>
+<translation id="289834758818479772">Jos muutkin käyttävät tätä laitetta, voit laittaa TouchID:n päälle ja vahvistaa henkilöllisyytesi, kun käytät tallennettua salasanaa</translation>
 <translation id="2900528713135656174">Luo tapahtuma</translation>
 <translation id="2903493209154104877">Osoitteet</translation>
 <translation id="290376772003165898">Eikö sivu ole kirjoitettu kielellä <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Keskilokero</translation>
 <translation id="3109728660330352905">Sinulla ei ole oikeutta tarkastella tätä sivua.</translation>
 <translation id="3113284927548439113">Kolmas työvuoro</translation>
+<translation id="3114040155724590991">Android-järjestelmää päivitetään
+    Sovelluksen käynnistymisessä voi mennä tavallista kauemmin.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Ladataanko luottamuksellinen tiedosto?}other{Ladataanko luottamuksellisia tiedostoja?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> edellyttää, että varmuuskopioit datasi ja palautat laitteen (<ph name="DEVICE_TYPE" />).</translation>
 <translation id="3116158981186517402">Laminointi</translation>
@@ -1256,6 +1262,7 @@
 <translation id="4306812610847412719">leikepöytä</translation>
 <translation id="4308567447483056043">Käytäntö ohitetaan, koska käyttäjä on ulkopuolinen. Jotta käytäntöä voidaan käyttää, Chrome-selainta ja ‐profiilia on hallinnoitava saman organisaation hallintakonsolin kautta.</translation>
 <translation id="4310070645992025887">Hae selailutiedoista</translation>
+<translation id="4310496734563057511">Jos muutkin käyttävät tätä laitetta, voit laittaa Windows Hellon päälle ja vahvistaa henkilöllisyytesi, kun käytät tallennettua salasanaa</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Estä (oletus)</translation>
 <translation id="4314815835985389558">Synkronointiasetusten muokkaus</translation>
@@ -1470,6 +1477,7 @@
 <translation id="4880827082731008257">Haku historiasta</translation>
 <translation id="4881695831933465202">Avaa</translation>
 <translation id="4885256590493466218">Käytä <ph name="CARD_DETAIL" /> ‑maksutapaa kassalla.</translation>
+<translation id="4887406273302438710">Suojaa salasanat Windows Hellolla</translation>
 <translation id="4888600795924685526">Vieraiden kielten opiskelu</translation>
 <translation id="4889420713887366944">Avaa incognito-ikkuna ‑painike, paina Enter avataksesi uuden incognito-ikkunan, niin voit selata yksityisesti</translation>
 <translation id="4892518386797173871">Takaosa</translation>
@@ -1521,6 +1529,7 @@
 <translation id="5018422839182700155">Sivun avaaminen epäonnistui</translation>
 <translation id="5019198164206649151">Tallennustila on virheellisessä tilassa</translation>
 <translation id="5020776957610079374">Maailmanmusiikki</translation>
+<translation id="5021557570875267742">Seuraa hintoja Chromen avulla</translation>
 <translation id="5023310440958281426">Tarkista järjestelmänvalvojan käytännöt</translation>
 <translation id="5029568752722684782">Poista kopio</translation>
 <translation id="5030338702439866405">Myöntänyt</translation>
@@ -1688,6 +1697,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> haluaa lähettää sinulle ilmoituksia</translation>
 <translation id="5428105026674456456">espanja</translation>
 <translation id="5430298929874300616">Poista kirjanmerkki</translation>
+<translation id="5434423669266814150">laita TouchID päälle salasanojen täyttämistä varten</translation>
 <translation id="5443468954631487277">Käänteinen järjestys tulostuspuoli ylöspäin</translation>
 <translation id="5447765697759493033">Sivustoa ei käännetä.</translation>
 <translation id="5452270690849572955">Tätä sivuston <ph name="HOST_NAME" /> sivua ei löydy.</translation>
@@ -2241,6 +2251,7 @@
 <translation id="6993898126790112050">6x9 (kirjekuori)</translation>
 <translation id="6996312675313362352">Käännä aina <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Viihdeteollisuus</translation>
+<translation id="7003335073762455340">Seuraat tätä tuotetta. Sivu on tallennettu tänne: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Vahvista kortteja nopeammin Windows Hellolla</translation>
 <translation id="7006930604109697472">Lähetä silti</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2464,6 +2475,7 @@
 <translation id="7564049878696755256">Saatat menettää <ph name="ORG_NAME" />-tilisi käyttöoikeuden tai joutua identiteettivarkauden uhriksi. Chrome suosittelee salasanan vaihtamista välittömästi.</translation>
 <translation id="7564680668369175887">Farmariautot</translation>
 <translation id="7567204685887185387">Palvelin ei voinut todistaa olevansa <ph name="DOMAIN" />; sen suojausvarmenne on ehkä luotu vilpillisesti. Tämä voi johtua määritysvirheestä tai verkkoyhteytesi siepanneesta hyökkääjästä.</translation>
+<translation id="7568616151991626879">Google Chrome yrittää täyttää salasanasi: <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Hallinnoi hakukoneita ‑painike, hallinnoi oletushakukonetta ja sivustohakua painamalla Enter</translation>
 <translation id="7569952961197462199">Poistetaanko luottokortti Chromen tiedoista?</translation>
@@ -2494,6 +2506,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Ei mitään}=1{1 salasana tililläsi (<ph name="DOMAIN_LIST" />)}other{# salasanaa tililläsi (<ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Sarjaportit</translation>
 <translation id="7639968568612851608">Tummanharmaa</translation>
+<translation id="7646681339175747202">Juuri käyttämäsi salasana löytyi tietosuojaloukkauksesta. Googlen Salasanojen ylläpito suosittelee, että vaihdat sen heti.</translation>
 <translation id="7647206758853451655">Tulostuslaatu</translation>
 <translation id="7648992873808071793">Tallentaa tiedostoja tälle laitteelle.</translation>
 <translation id="7653957176542370971">Maksujenkäsittelytaulukko on suljettu</translation>
@@ -3036,6 +3049,7 @@
 <translation id="9174623988242579721">Viritetyt ja suorituskykyiset ajoneuvot</translation>
 <translation id="9174917557437862841">Välilehden vaihtopainike, paina Enter siirtyäksesi tälle välilehdelle</translation>
 <translation id="9179703756951298733">Muuta maksu- ja credit-korttitietojasi Chromen asetuksissa</translation>
+<translation id="9179907736442194268">Voit saada sähköposti-ilmoituksen, jos hinta laskee jollakin sivustolla</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> käyttää protokollaa, jota ei tueta.</translation>
 <translation id="9187461866967718678">Extreme-urheilulajit</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index db420af9..7f899bfc8 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">Impormasyon ng networking gaya ng mga address, configuration ng interface, at kalidad ng koneksyon</translation>
 <translation id="1567040042588613346">Gumagana ang patakarang ito tulad ng inaasahan pero itinatakda ang kaparehong value sa ibang lugar at nasasapawan ito ng patakarang ito.</translation>
 <translation id="1569487616857761740">Ilagay ang petsa ng pag-expire</translation>
+<translation id="1569694109004336106">Sinusubukan ng Google Chrome na i-on ang Windows Hello para sa paglalagay ng mga password.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Nagkaproblema habang ipinapakita ang webpage na ito.</translation>
 <translation id="1586541204584340881">Aling mga extension ang na-install mo</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">Ang iyong pinakamataas na score ay <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Tumulong na pahusayin ang seguridad sa web para sa lahat sa pamamagitan ng pagpapadala ng <ph name="BEGIN_WHITEPAPER_LINK" />mga URL ng ilang page na binibisita mo, limitadong impormasyon ng system, at ilang content ng page<ph name="END_WHITEPAPER_LINK" /> sa Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Patakaran sa privacy<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Mga Bookmark ng <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Protektahan ang mga password gamit ang TouchID</translation>
 <translation id="1973335181906896915">Error sa serialization</translation>
 <translation id="1974060860693918893">Advanced</translation>
 <translation id="1975457531113383421">Input Tray</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">I-save ang card?</translation>
 <translation id="2882949212241984732">Double-gate fold</translation>
 <translation id="2893773853358652045">Ikaapat na Rolyo</translation>
+<translation id="289834758818479772">Kung ipinapagamit mo ang device na ito sa ibang tao, puwede mong i-on ang TouchID para i-verify na ikaw iyan kapag gagamit ka ng naka-save na password</translation>
 <translation id="2900528713135656174">Gumawa ng event</translation>
 <translation id="2903493209154104877">Mga Address</translation>
 <translation id="290376772003165898">Hindi nakasalin ang page sa <ph name="LANGUAGE" />?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">Gitnang Tray</translation>
 <translation id="3109728660330352905">Wala kang pahintulot na tingnan ang page na ito.</translation>
 <translation id="3113284927548439113">Pangatlong shift</translation>
+<translation id="3114040155724590991">Pag-update ng Android System
+    Posibleng mas matagal sa karaniwan ang pagsisimula ng iyong app.</translation>
 <translation id="3115363211799416195">{0,plural, =1{I-download ang kumpidensyal na file?}one{I-download ang mga kumpidensyal na file?}other{I-download ang mga kumpidensyal na file?}}</translation>
 <translation id="3115874930288085374">Hinihiling sa iyo ng <ph name="ENROLLMENT_DOMAIN" /> na i-back up ang data mo at ibalik ang <ph name="DEVICE_TYPE" /> na ito.</translation>
 <translation id="3116158981186517402">Laminate</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">clipboard</translation>
 <translation id="4308567447483056043">Binalewala ang patakarang ito dahil hindi affiliated ang user. Para malapat ang patakarang ito, dapat pamahalaan ng iisang organisasyon ang Chrome browser at profile sa pamamagitan ng Admin console.</translation>
 <translation id="4310070645992025887">Maghanap sa iyong Mga Journey</translation>
+<translation id="4310496734563057511">Kung ipinapagamit mo ang device na ito sa ibang tao, puwede mong i-on ang Windows Hello para i-verify na ikaw iyan kapag gagamit ka ng naka-save na password</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">I-block (default)</translation>
 <translation id="4314815835985389558">Pamahalaan ang pag-sync</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">History ng paghahanap</translation>
 <translation id="4881695831933465202">Buksan</translation>
 <translation id="4885256590493466218">Magbayad gamit ang <ph name="CARD_DETAIL" /> sa pag-checkout</translation>
+<translation id="4887406273302438710">Protektahan ang mga password gamit ang Windows Hello</translation>
 <translation id="4888600795924685526">Pag-aaral ng banyagang wika</translation>
 <translation id="4889420713887366944">Button na Magbukas ng Incognito Window, pindutin ang Enter para magbukas ng bagong Incognito window para makapag-browse nang pribado</translation>
 <translation id="4892518386797173871">Likod</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041">Gusto ng <ph name="SITE" /> na padalhan ka ng mga notification</translation>
 <translation id="5428105026674456456">Spanish</translation>
 <translation id="5430298929874300616">Alisin ang bookmark</translation>
+<translation id="5434423669266814150">I-on ang TouchID para sa paglalagay ng mga password</translation>
 <translation id="5443468954631487277">Baligtarin ang pagkakasunod-sunod nang nakatihaya</translation>
 <translation id="5447765697759493033">Hindi isasalin ang site na ito</translation>
 <translation id="5452270690849572955">Hindi makita ang <ph name="HOST_NAME" /> page na ito</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">Maaari kang mawalan ng access sa iyong account sa <ph name="ORG_NAME" /> o manakawan ng pagkakakilanlan. Inirerekomenda ng Chrome na palitan ang iyong password ngayon.</translation>
 <translation id="7564680668369175887">Mga station wagon</translation>
 <translation id="7567204685887185387">Hindi mapatunayan ng server na ito na ito ay <ph name="DOMAIN" />; maaaring mapanlokong ibinigay ang certificate ng seguridad nito. Maaaring dulot ito ng maling configuration o isang umaatake na hinahadlangan ang iyong koneksyon.</translation>
+<translation id="7568616151991626879">Sinusubukan ng Google Chrome na ilagay ang iyong password sa <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Button na pamahalaan ang mga search engine, pindutin ang Enter para pamahalaan ang iyong default na search engine at site search</translation>
 <translation id="7569952961197462199">Alisin ang credit card sa Chrome?</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Wala}=1{1 password sa iyong account (para sa <ph name="DOMAIN_LIST" />)}one{# password sa iyong account (para sa <ph name="DOMAIN_LIST" />)}other{# na password sa iyong account (para sa <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Mga serial port</translation>
 <translation id="7639968568612851608">Dark Grey</translation>
+<translation id="7646681339175747202">Nakita sa isang paglabag sa data ang password na kakagamit mo lang. Inirerekomenda ng Google Password Manager na palitan na ngayon ang password mo.</translation>
 <translation id="7647206758853451655">Kalidad ng pag-print</translation>
 <translation id="7648992873808071793">Mag-store ng mga file sa device na ito</translation>
 <translation id="7653957176542370971">Nakasara ang sheet ng tagapangasiwa ng pagbabayad</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index 64ebcd4..51404499 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">લેટર ફોલ્ડ</translation>
 <translation id="138218114945450791">આછો વાદળી</translation>
 <translation id="1382194467192730611">USB ડિવાઇસને તમારા વ્યવસ્થાપક દ્વારા મંજૂરી આપવામાં આવેલી છે</translation>
+<translation id="1382378825779654399">જો કોઈપણ સાઇટ પર કિંમતમાં ઘટાડો થાય, તો તમને ઇમેઇલ દ્વારા અલર્ટ મળશે. આ પેજને <ph name="LAST_BOOKMARKS_FOLDER" />માં સાચવવામાં આવશે.</translation>
 <translation id="1382912999714108023">તમારી હાલની માહિતી દેખાઈ રહી નથી? તેને અપડેટ કરવા માટે, કૃપા કરીને તમારી બેંકનો સંપર્ક કરો.</translation>
 <translation id="1384725838384960382">સુરક્ષિત ચુકવણી માટે લૉગ ઇન વિગતના પ્રમાણીકરણની શીટ</translation>
 <translation id="1386623374109090026">ટીકાટિપ્પણી</translation>
@@ -1527,6 +1528,7 @@
 <translation id="5018422839182700155">આ પેજ ખોલી શકતાં નથી</translation>
 <translation id="5019198164206649151">બેકઅપ સ્ટોર કરવું ખરાબ સ્થિતિમાં છે</translation>
 <translation id="5020776957610079374">વર્લ્ડ મ્યુઝિક</translation>
+<translation id="5021557570875267742">Chrome વડે કિંમતો ટ્રૅક કરો</translation>
 <translation id="5023310440958281426">તમારા વ્યવસ્થાપકની પૉલિસીઓ તપાસો</translation>
 <translation id="5029568752722684782">કૉપિ સાફ કરો</translation>
 <translation id="5030338702439866405">આના દ્વારા રજૂ કરાયું</translation>
@@ -2248,6 +2250,7 @@
 <translation id="6993898126790112050">6x9 (એન્વલપ)</translation>
 <translation id="6996312675313362352">હંમેશાં <ph name="ORIGINAL_LANGUAGE" />નો અનુવાદ કરો</translation>
 <translation id="6999969238895751684">મનોરંજન ઉદ્યોગ</translation>
+<translation id="7003335073762455340">તમે આ પ્રોડક્ટને ટ્રૅક કરી રહ્યાં છો. આ પેજને <ph name="LAST_BOOKMARKS_FOLDER" />માં સાચવવામાં આવે છે.</translation>
 <translation id="7004583254764674281">કાર્ડને વધુ ઝડપથી કન્ફર્મ કરવા માટે Windows Helloનો ઉપયોગ કરો</translation>
 <translation id="7006930604109697472">કોઈપણ રીતે મોકલો</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3044,6 +3047,7 @@
 <translation id="9174623988242579721">કસ્ટમાઇઝ કરેલા અને ખાસ પર્ફોર્મન્સવાળા વાહનો</translation>
 <translation id="9174917557437862841">ટૅબ, સ્વિચ બટન, આ ટૅબ પર સ્વિચ કરવા માટે Enter દબાવો</translation>
 <translation id="9179703756951298733">Chrome સેટિંગમાં તમારી ચુકવણીઓ અને ક્રેડિટ કાર્ડની માહિતી મેનેજ કરો</translation>
+<translation id="9179907736442194268">જો કોઈપણ સાઇટ પર કિંમતમાં ઘટાડો થાય, તો ઇમેઇલ દ્વારા અલર્ટ મેળવો</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" />, એક અસમર્થિત પ્રોટોકોલનો ઉપયોગ કરે છે.</translation>
 <translation id="9187461866967718678">જોખમી રમતગમત</translation>
diff --git a/components/strings/components_strings_id.xtb b/components/strings/components_strings_id.xtb
index d322e23..b997def 100644
--- a/components/strings/components_strings_id.xtb
+++ b/components/strings/components_strings_id.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Lipatan surat</translation>
 <translation id="138218114945450791">Biru Terang</translation>
 <translation id="1382194467192730611">Perangkat USB diizinkan oleh administrator Anda</translation>
+<translation id="1382378825779654399">Anda akan mendapatkan peringatan email jika ada diskon di situs mana pun. Halaman ini akan disimpan ke <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Info Anda yang ditampilkan bukan yang terbaru? Hubungi bank Anda untuk memperbaruinya.</translation>
 <translation id="1384725838384960382">Sheet autentikasi kredensial pembayaran aman</translation>
 <translation id="1386623374109090026">Anotasi</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Informasi jaringan seperti alamat, konfigurasi antarmuka, dan kualitas koneksi</translation>
 <translation id="1567040042588613346">Kebijakan ini berfungsi sebagaimana mestinya, tetapi nilai yang sama disetel di sumber lain dan digantikan oleh kebijakan ini.</translation>
 <translation id="1569487616857761740">Masukkan tanggal habis masa berlaku</translation>
+<translation id="1569694109004336106">Google Chrome mencoba mengaktifkan Windows Hello untuk mengisi sandi.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Terjadi masalah sewaktu menampilkan halaman web ini.</translation>
 <translation id="1586541204584340881">Ekstensi yang telah Anda instal</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Skor tertinggi Anda adalah <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Bantu sempurnakan keamanan di web untuk semua orang dengan mengirimkan <ph name="BEGIN_WHITEPAPER_LINK" />URL beberapa halaman yang Anda kunjungi, informasi sistem terbatas, dan beberapa konten halaman<ph name="END_WHITEPAPER_LINK" /> ke Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Kebijakan privasi<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Bookmark <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Lindungi sandi dengan TouchID</translation>
 <translation id="1973335181906896915">Kesalahan serialisasi</translation>
 <translation id="1974060860693918893">Lanjutan</translation>
 <translation id="1975457531113383421">Baki Masukan</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Simpan kartu?</translation>
 <translation id="2882949212241984732">Lipatan format double gate</translation>
 <translation id="2893773853358652045">Rol Keempat</translation>
+<translation id="289834758818479772">Jika Anda berbagi perangkat ini dengan orang lain, Anda dapat mengaktifkan TouchID untuk memverifikasi diri Anda setiap kali Anda menggunakan sandi tersimpan</translation>
 <translation id="2900528713135656174">Buat acara</translation>
 <translation id="2903493209154104877">Alamat</translation>
 <translation id="290376772003165898">Halaman tidak dalam bahasa <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Baki Tengah</translation>
 <translation id="3109728660330352905">Anda tidak memiliki otorisasi untuk melihat halaman ini.</translation>
 <translation id="3113284927548439113">Shift ketiga</translation>
+<translation id="3114040155724590991">Mengupdate Sistem Android
+    Memulai aplikasi Anda mungkin memerlukan waktu lebih lama dari biasanya.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Download file rahasia?}other{Download file rahasia?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> mengharuskan Anda mencadangkan data dan mengembalikan <ph name="DEVICE_TYPE" /> ini.</translation>
 <translation id="3116158981186517402">Laminasi</translation>
@@ -1254,6 +1260,7 @@
 <translation id="4306812610847412719">papan klip</translation>
 <translation id="4308567447483056043">Kebijakan ini diabaikan karena pengguna tidak berafiliasi. Agar kebijakan ini diterapkan, browser dan profil Chrome harus dikelola melalui konsol Admin oleh organisasi yang sama.</translation>
 <translation id="4310070645992025887">Telusuri Perjalanan Anda</translation>
+<translation id="4310496734563057511">Jika Anda berbagi perangkat ini dengan orang lain, Anda dapat mengaktifkan Windows Hello untuk memverifikasi diri Anda setiap kali Anda menggunakan sandi tersimpan</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokir (default)</translation>
 <translation id="4314815835985389558">Kelola sinkronisasi</translation>
@@ -1468,6 +1475,7 @@
 <translation id="4880827082731008257">Telusuri histori</translation>
 <translation id="4881695831933465202">Buka</translation>
 <translation id="4885256590493466218">Bayar dengan <ph name="CARD_DETAIL" /> saat checkout</translation>
+<translation id="4887406273302438710">Lindungi sandi dengan Windows Hello</translation>
 <translation id="4888600795924685526">Studi bahasa asing</translation>
 <translation id="4889420713887366944">Tombol Buka Jendela Samaran, tekan Enter untuk membuka jendela Samaran Chrome baru untuk menjelajah secara pribadi</translation>
 <translation id="4892518386797173871">Belakang</translation>
@@ -1519,6 +1527,7 @@
 <translation id="5018422839182700155">Tidak dapat membuka halaman ini</translation>
 <translation id="5019198164206649151">Penyimpanan cadangan dalam kondisi buruk</translation>
 <translation id="5020776957610079374">Musik dunia</translation>
+<translation id="5021557570875267742">Pantau harga dengan Chrome</translation>
 <translation id="5023310440958281426">Periksa kebijakan administrator Anda</translation>
 <translation id="5029568752722684782">Hapus salinan</translation>
 <translation id="5030338702439866405">Diterbitkan Oleh</translation>
@@ -1686,6 +1695,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ingin mengirimkan notifikasi kepada Anda</translation>
 <translation id="5428105026674456456">Spanyol</translation>
 <translation id="5430298929874300616">Buang bookmark</translation>
+<translation id="5434423669266814150">mengaktifkan TouchID untuk mengisi sandi</translation>
 <translation id="5443468954631487277">Urutan yang berkebalikan menghadap ke atas</translation>
 <translation id="5447765697759493033">Situs ini tidak diterjemahkan</translation>
 <translation id="5452270690849572955">Halaman <ph name="HOST_NAME" /> ini tidak dapat ditemukan</translation>
@@ -2239,6 +2249,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352">Selalu terjemahkan bahasa <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Industri hiburan</translation>
+<translation id="7003335073762455340">Anda memantau produk ini. Halaman ini disimpan di <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Gunakan Windows Hello untuk mengonfirmasi kartu lebih cepat</translation>
 <translation id="7006930604109697472">Tetap kirim</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2460,6 +2471,7 @@
 <translation id="7564049878696755256">Anda dapat kehilangan akses ke akun <ph name="ORG_NAME" /> atau mengalami pencurian identitas. Chrome menyarankan Anda untuk mengubah sandi sekarang.</translation>
 <translation id="7564680668369175887">Mobil station wagon</translation>
 <translation id="7567204685887185387">Server ini tidak dapat membuktikan bahwa ini adalah <ph name="DOMAIN" />; sertifikat keamanannya mungkin telah dikeluarkan dengan curang. Hal ini disebabkan oleh kesalahan konfigurasi atau penyerang memotong sambungan Anda.</translation>
+<translation id="7568616151991626879">Google Chrome mencoba mengisi sandi Anda di <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Tombol Kelola mesin telusur, tekan Enter untuk mengelola mesin telusur dan penelusuran situs default Anda</translation>
 <translation id="7569952961197462199">Hapus kartu kredit dari Chrome?</translation>
@@ -2490,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Tidak ada}=1{1 sandi di akun Anda (untuk <ph name="DOMAIN_LIST" />)}other{# sandi di akun Anda (untuk <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Port serial</translation>
 <translation id="7639968568612851608">Abu-Abu Tua</translation>
+<translation id="7646681339175747202">Sandi yang baru saja Anda gunakan terekspos dalam pelanggaran data. Pengelola Sandi Google merekomendasikan untuk mengubah sandi Anda sekarang.</translation>
 <translation id="7647206758853451655">Kualitas cetakan</translation>
 <translation id="7648992873808071793">Menyimpan file pada perangkat ini</translation>
 <translation id="7653957176542370971">Lembar handler pembayaran tertutup</translation>
@@ -3029,6 +3042,7 @@
 <translation id="9174623988242579721">Kendaraan modifikasi &amp; performa tinggi</translation>
 <translation id="9174917557437862841">Tombol beralih tab, tekan Enter untuk beralih ke tab ini</translation>
 <translation id="9179703756951298733">Kelola informasi pembayaran dan kartu kredit Anda di setelan Chrome</translation>
+<translation id="9179907736442194268">Dapatkan peringatan email jika ada diskon di situs mana pun</translation>
 <translation id="9183302530794969518">Google Dokumen</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> menggunakan protokol yang tidak didukung.</translation>
 <translation id="9187461866967718678">Olahraga ekstrem</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 3c0ad66..e61a32b 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -260,6 +260,7 @@
 <translation id="156703335097561114">Upplýsingar um netkerfi á borð við vefföng, stillingar viðmóts og gæði tengingar</translation>
 <translation id="1567040042588613346">Þessi regla virkar sem skyldi en sama gildi er stillt annars staðar og þessi regla leysir það af hólmi.</translation>
 <translation id="1569487616857761740">Sláðu inn lokadagsetningu</translation>
+<translation id="1569694109004336106">Google Chrome er að reyna að kveikja á Windows Hello til að fylla út aðgangsorð.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Eitthvað fór úrskeiðis við að birta þessa vefsíðu.</translation>
 <translation id="1586541204584340881">Hvaða viðbætur þú hefur sett upp</translation>
@@ -398,6 +399,7 @@
 <translation id="1958218078413065209">Stigametið þitt er <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Hjálpaðu til við að auka öryggi allra á vefnum með því að senda <ph name="BEGIN_WHITEPAPER_LINK" />vefslóðir sumra þeirra vefsíðna sem þú skoðar, takmarkaðar kerfisupplýsingar og tiltekið innihald síðna<ph name="END_WHITEPAPER_LINK" /> til Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Persónuverndarstefna<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Bókamerki frá <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Verndaðu aðgangsorð með TouchID</translation>
 <translation id="1973335181906896915">Röðunarvilla</translation>
 <translation id="1974060860693918893">Ítarlegt</translation>
 <translation id="1975457531113383421">Innbakki</translation>
@@ -725,6 +727,7 @@
 <translation id="2881276955470682203">Vista kort?</translation>
 <translation id="2882949212241984732">Innábrot (bæklingabrot)</translation>
 <translation id="2893773853358652045">Fjórða rúlla</translation>
+<translation id="289834758818479772">Ef þú deilir tækinu með öðrum geturðu kveikt á TouchID til að staðfesta að þetta sért þú þegar þú notar vistað aðgangsorð</translation>
 <translation id="2900528713135656174">Búa til viðburð</translation>
 <translation id="2903493209154104877">Heimilisföng</translation>
 <translation id="290376772003165898">Er tungumál síðunnar ekki <ph name="LANGUAGE" />?</translation>
@@ -801,6 +804,8 @@
 <translation id="3108943290502734357">Miðjubakki</translation>
 <translation id="3109728660330352905">Þú hefur ekki leyfi til að skoða þessa síðu.</translation>
 <translation id="3113284927548439113">Þriðja vakt</translation>
+<translation id="3114040155724590991">Uppfærir Android-kerfi
+    Ræsing forritsins tekur hugsanlega lengri tíma en venjulega.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Sækja trúnaðarskrá?}one{Sækja trúnaðarskrár?}other{Sækja trúnaðarskrár?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> krefst þess að þú takir afrit af gögnunum þínum og skilir þessu <ph name="DEVICE_TYPE" /> tæki.</translation>
 <translation id="3116158981186517402">Plasta</translation>
@@ -1255,6 +1260,7 @@
 <translation id="4306812610847412719">klippiborð</translation>
 <translation id="4308567447483056043">Þessi regla er hunsuð vegna þess að notandinn er ótengdur. Til að geta notað þessa reglu verður Chrome vafranum og prófílnum að vera stjórnað af sama fyrirtæki/stofnun í gegnum stjórnborð stjórnanda.</translation>
 <translation id="4310070645992025887">Leita í ferlunum þínum</translation>
+<translation id="4310496734563057511">Ef þú deilir tækinu með öðrum geturðu kveikt á Windows Hello til að staðfesta að þetta sért þú þegar þú notar vistað aðgangsorð</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Útiloka (sjálfgefið)</translation>
 <translation id="4314815835985389558">Stjórna samstillingu</translation>
@@ -1469,6 +1475,7 @@
 <translation id="4880827082731008257">Leitarferill</translation>
 <translation id="4881695831933465202">Opna</translation>
 <translation id="4885256590493466218">Greiddu með <ph name="CARD_DETAIL" /> þegar þú gengur frá kaupunum</translation>
+<translation id="4887406273302438710">Verndaðu aðgangsorð með Windows Hello</translation>
 <translation id="4888600795924685526">Tungumálanám</translation>
 <translation id="4889420713887366944">Hnappurinn Opna huliðsglugga, ýttu á Enter til að opna nýjan huliðsglugga og fara huldu höfði</translation>
 <translation id="4892518386797173871">Aftari</translation>
@@ -1687,6 +1694,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> vill senda þér tilkynningar</translation>
 <translation id="5428105026674456456">Spænskt</translation>
 <translation id="5430298929874300616">Fjarlægja bókamerki</translation>
+<translation id="5434423669266814150">kveiktu á TouchID til að fylla út aðgangsorð</translation>
 <translation id="5443468954631487277">Öfug röð, snýr upp</translation>
 <translation id="5447765697759493033">Þetta vefsvæði verður ekki þýtt</translation>
 <translation id="5452270690849572955">Þessi <ph name="HOST_NAME" /> síða finnst ekki</translation>
@@ -2463,6 +2471,7 @@
 <translation id="7564049878696755256">Þú gætir glatað aðganginum að <ph name="ORG_NAME" /> reikningnum þínum eða orðið fyrir auðkennisstuldi. Chrome mælir með því að þú skiptir um aðgangsorð núna.</translation>
 <translation id="7564680668369175887">Skutbílar</translation>
 <translation id="7567204685887185387">Þessi þjónn gat ekki sannað að hann væri <ph name="DOMAIN" />; öryggisvottorð hans gæti hafa verið gefið út með sviksamlegum hætti. Þetta kann að orsakast af vanstillingu eða tölvuþrjóti sem komist hefur inn í tenginguna.</translation>
+<translation id="7568616151991626879">Google Chrome er að reyna að fylla út aðgangsorðið þitt í <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Hnappur til að stjórna leitarvélum, ýttu á Enter til að stjórna leit fyrir vefsvæði og sjálfgefinni leitarvél</translation>
 <translation id="7569952961197462199">Fjarlægja kreditkort úr Chrome?</translation>
@@ -2493,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Ekkert}=1{1 aðgangsorð á reikningnum (fyrir <ph name="DOMAIN_LIST" />)}one{# aðgangsorð á reikningnum (fyrir <ph name="DOMAIN_LIST" />)}other{# aðgangsorð á reikningnum (fyrir <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Raðtengi</translation>
 <translation id="7639968568612851608">Dökkgrár</translation>
+<translation id="7646681339175747202">Aðgangsorðið sem þú varst að nota fannst í öryggisbroti. Google aðgangsorðastjórnun mælir með að þú breytir aðgangsorðinu þínu strax.</translation>
 <translation id="7647206758853451655">Prentgæði</translation>
 <translation id="7648992873808071793">Geyma skrár í þessu tæki</translation>
 <translation id="7653957176542370971">Greiðsluhjálparforritið er lokað</translation>
diff --git a/components/strings/components_strings_it.xtb b/components/strings/components_strings_it.xtb
index 9123fb41..51f4f02 100644
--- a/components/strings/components_strings_it.xtb
+++ b/components/strings/components_strings_it.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Piegatura a lettera</translation>
 <translation id="138218114945450791">Azzurro</translation>
 <translation id="1382194467192730611">Dispositivo USB consentito dall'amministratore</translation>
+<translation id="1382378825779654399">Riceverai avvisi via email se il prezzo calerà su qualsiasi sito. Questa pagina verrà salvata su <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Non visualizzi le informazioni correnti? Contatta la tua banca per aggiornarle.</translation>
 <translation id="1384725838384960382">Foglio per l'autenticazione delle credenziali di pagamento sicure</translation>
 <translation id="1386623374109090026">Annotazioni</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Le informazioni di rete, come indirizzi, configurazione di interfaccia e qualità della connessione</translation>
 <translation id="1567040042588613346">Questo criterio funziona come previsto, ma altrove è impostato lo stesso valore, che viene sostituito da questo criterio.</translation>
 <translation id="1569487616857761740">Inserisci data di scadenza</translation>
+<translation id="1569694109004336106">Google Chrome sta tentando di attivare Windows Hello per inserire le password.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Si è verificato un problema durante la visualizzazione della pagina web.</translation>
 <translation id="1586541204584340881">Le estensioni che hai installato</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Il tuo punteggio migliore è <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Contribuisci a migliorare la sicurezza sul Web per tutti inviando a Google <ph name="BEGIN_WHITEPAPER_LINK" />gli URL di alcune pagine visitate, informazioni limitate sul sistema e alcuni contenuti delle pagine<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Norme sulla privacy<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Segnalibri di <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Proteggere le password con Touch ID</translation>
 <translation id="1973335181906896915">Errore di serializzazione</translation>
 <translation id="1974060860693918893">Avanzate</translation>
 <translation id="1975457531113383421">Cassetto di ingresso</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Salvare la carta?</translation>
 <translation id="2882949212241984732">Piegatura a doppia finestra</translation>
 <translation id="2893773853358652045">Quarto rullo</translation>
+<translation id="289834758818479772">Se condividi questo dispositivo con altre persone, puoi attivare Touch ID per verificare la tua identità ogni volta che usi una password salvata</translation>
 <translation id="2900528713135656174">Crea evento</translation>
 <translation id="2903493209154104877">Indirizzi</translation>
 <translation id="290376772003165898">La pagina non è in <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Vassoio centrale</translation>
 <translation id="3109728660330352905">Non sei autorizzato a visualizzare questa pagina.</translation>
 <translation id="3113284927548439113">Terzo turno</translation>
+<translation id="3114040155724590991">Aggiornamento di sistema di Android in corso
+    L'avvio dell'app potrebbe richiedere più tempo del solito.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Vuoi scaricare il file riservato?}other{Vuoi scaricare i file riservati?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> richiede di effettuare il backup dei dati e di restituire questo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Plastificazione</translation>
@@ -1252,6 +1258,7 @@
 <translation id="4306812610847412719">appunti</translation>
 <translation id="4308567447483056043">Questo criterio viene ignorato perché l'utente non è affiliato. Per applicare questo criterio, il browser e il profilo Chrome devono essere gestiti tramite la Console di amministrazione dalla stessa organizzazione.</translation>
 <translation id="4310070645992025887">Cerca nei percorsi</translation>
+<translation id="4310496734563057511">Se condividi questo dispositivo con altre persone, puoi attivare Windows Hello per verificare la tua identità ogni volta che usi una password salvata</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blocca (predefinita)</translation>
 <translation id="4314815835985389558">Gestisci sincronizzazione</translation>
@@ -1466,6 +1473,7 @@
 <translation id="4880827082731008257">Cerca nella cronologia</translation>
 <translation id="4881695831933465202">Apri</translation>
 <translation id="4885256590493466218">Paga con <ph name="CARD_DETAIL" /> al momento del pagamento</translation>
+<translation id="4887406273302438710">Proteggere le password con Windows Hello</translation>
 <translation id="4888600795924685526">Studio delle lingue straniere</translation>
 <translation id="4889420713887366944">Pulsante Apri finestra di navigazione in incognito, premi Invio per aprire una nuova finestra di navigazione in incognito per navigare in privato</translation>
 <translation id="4892518386797173871">Posteriore</translation>
@@ -1517,6 +1525,7 @@
 <translation id="5018422839182700155">Impossibile aprire questa pagina</translation>
 <translation id="5019198164206649151">Archivio di backup in stato non valido</translation>
 <translation id="5020776957610079374">World Music</translation>
+<translation id="5021557570875267742">Monitora i prezzi con Chrome</translation>
 <translation id="5023310440958281426">Consulta le norme dell'amministratore</translation>
 <translation id="5029568752722684782">Cancella copia</translation>
 <translation id="5030338702439866405">Emesso da</translation>
@@ -1684,6 +1693,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> vuole inviarti notifiche</translation>
 <translation id="5428105026674456456">Spagnolo</translation>
 <translation id="5430298929874300616">Rimuovi preferito</translation>
+<translation id="5434423669266814150">attivare Touch ID per inserire le password</translation>
 <translation id="5443468954631487277">Ordine inverso a faccia in su</translation>
 <translation id="5447765697759493033">Questo sito non verrà tradotto</translation>
 <translation id="5452270690849572955">Impossibile trovare la pagina <ph name="HOST_NAME" /></translation>
@@ -2236,6 +2246,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352">Traduci sempre questa lingua: <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Settore dell'intrattenimento</translation>
+<translation id="7003335073762455340">Stai monitorando questo prodotto. La pagina è salvata in <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Usa Windows Hello per verificare più velocemente le carte</translation>
 <translation id="7006930604109697472">Invia comunque</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2459,6 +2470,7 @@
 <translation id="7564049878696755256">Potresti non riuscire più ad accedere al tuo account <ph name="ORG_NAME" /> o subire un furto d'identità. Chrome ti consiglia di cambiare subito la password.</translation>
 <translation id="7564680668369175887">Station wagon</translation>
 <translation id="7567204685887185387">Questo server non è riuscito a dimostrare che si tratta di <ph name="DOMAIN" />; il relativo certificato di sicurezza potrebbe essere stato emesso in modo fraudolento. Il problema potrebbe essere dovuto a un'errata configurazione o a un malintenzionato che intercetta la connessione.</translation>
+<translation id="7568616151991626879">Google Chrome sta cercando di inserire la password su <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Pulsante Gestisci motori di ricerca, premi Invio per gestire il motore di ricerca predefinito e la ricerca su siti</translation>
 <translation id="7569952961197462199">Rimuovere la carta di credito da Chrome?</translation>
@@ -2489,6 +2501,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Nessuna}=1{1 password nel tuo account (per <ph name="DOMAIN_LIST" />)}other{# password nel tuo account (per <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Porte seriali</translation>
 <translation id="7639968568612851608">Grigio scuro</translation>
+<translation id="7646681339175747202">La password appena usata è stata compromessa nell'ambito di una violazione dei dati. Gestore delle password di Google consiglia di cambiarla subito.</translation>
 <translation id="7647206758853451655">Qualità di stampa</translation>
 <translation id="7648992873808071793">Memorizzare file sul dispositivo</translation>
 <translation id="7653957176542370971">Il foglio per la gestione dei pagamenti è chiuso</translation>
@@ -3031,6 +3044,7 @@
 <translation id="9174623988242579721">Veicoli ad alte prestazioni e personalizzati</translation>
 <translation id="9174917557437862841">Pulsante per passare alla scheda, premi INVIO per passare a questa scheda</translation>
 <translation id="9179703756951298733">Gestisci i metodi di pagamento e le informazioni delle tue carte di credito nelle impostazioni di Chrome</translation>
+<translation id="9179907736442194268">Ricevi avvisi se il prezzo cala su qualsiasi sito</translation>
 <translation id="9183302530794969518">Documenti Google</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> utilizza un protocollo non supportato.</translation>
 <translation id="9187461866967718678">Sport estremi</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index 2b3a83e..8eecaa4 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -2343,6 +2343,7 @@
 <translation id="7285654172857511148">‏<ph name="CHANGE_GOOGLE_PASSWORD_FOCUSED_FRIENDLY_MATCH_TEXT" />, מקישים על Tab ואז על Enter כדי לשנות את הסיסמה לחשבון Google</translation>
 <translation id="7292031607255951991">שם הנמען</translation>
 <translation id="7298195798382681320">מומלצים</translation>
+<translation id="7299471494012161875">ציוד היקפי מחובר של תצוגה</translation>
 <translation id="7300012071106347854">כחול קובלט</translation>
 <translation id="7304030187361489308">גבוה</translation>
 <translation id="7304562222803846232">‏ניהול הגדרות הפרטיות בחשבון Google</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index 89aee75..fced861 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">ქსელთან დაკავშირებული ინფორმაცია, როგორიცაა, მაგალითად, მისამართები, ინტერფეისის კონფიგურაცია და კავშირის ხარისხი</translation>
 <translation id="1567040042588613346">ეს წესები სათანადოდ მუშაობს, თუმცა სხვაგან დაყენებულია იგივე მნიშვნელობა, რომელსაც ეს წესები ანაცვლებს.</translation>
 <translation id="1569487616857761740">შეიყვანეთ მოქმედების ვადის გასვლის თარიღი</translation>
+<translation id="1569694109004336106">Google Chrome ცდილობს, ჩართოს Windows Hello პაროლების შესავსებად.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ამ ვებგვერდის ჩვენებისას პრობლემა წარმოიქმნა.</translation>
 <translation id="1586541204584340881">თქვენ მიერ დაინსტალირებული გაფართოებები</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">თქვენი უმაღლესი ქულაა <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">შეუწყვეთ ხელი ვების უსაფრთხოების ყველასთვის გაუმჯობესებას <ph name="BEGIN_WHITEPAPER_LINK" />თქვენ მიერ მონახულებული ზოგიერთი გვერდის URL-ების, სისტემის შეზღუდული ინფორმაციისა და გვერდების გარკვეული კონტენტის<ph name="END_WHITEPAPER_LINK" /> Google-ისთვის გაგზავნით. <ph name="BEGIN_PRIVACY_PAGE_LINK" />კონფიდენციალურობის დებულება<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> სანიშნეები</translation>
+<translation id="1971033026002113380">დაიცავით პაროლები Touch ID-ს მეშვეობით</translation>
 <translation id="1973335181906896915">სრიალიზაციის შეცდომა</translation>
 <translation id="1974060860693918893">გაფართოებული</translation>
 <translation id="1975457531113383421">მიმწოდებელი ლანგარი</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">გსურთ ბარათის შენახვა?</translation>
 <translation id="2882949212241984732">დაკეცვა ორმაგი ჭიშკრის ფორმით</translation>
 <translation id="2893773853358652045">მეოთხე რულონი</translation>
+<translation id="289834758818479772">თუ ეს მოწყობილობა სხვებთან საზიაროა, შენახული პაროლის გამოყენებისას თქვენი ვინაობის დასადასტურებლად შეგიძლიათ ჩართოთ Touch ID</translation>
 <translation id="2900528713135656174">მოვლენის შექმნა</translation>
 <translation id="2903493209154104877">მისამართები</translation>
 <translation id="290376772003165898">გვერდის ტექსტი არ არის <ph name="LANGUAGE" />?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">შუა ლანგარი</translation>
 <translation id="3109728660330352905">თქვენ არ გაქვთ ამ გვერდის სანახავად აუცილებელი ავტორიზაცია.</translation>
 <translation id="3113284927548439113">მესამე წანაცვლება</translation>
+<translation id="3114040155724590991">მიმდინარეობს Android-ის სისტემის განახლება
+    თქვენი აპის გაშვებას, შესაძლოა, ჩვეულებრივზე მეტი დრო დასჭირდეს.</translation>
 <translation id="3115363211799416195">{0,plural, =1{გსურთ კონფიდენციალური ფაილის ჩამოტვირთვა?}other{გსურთ კონფიდენციალური ფაილების ჩამოტვირთვა?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> ითხოვს თქვენი მონაცემების სარეზერვო ასლების შექმნას და ამ <ph name="DEVICE_TYPE" />-ის დაბრუნებას.</translation>
 <translation id="3116158981186517402">ლამინირება</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">გაცვლის ბუფერი</translation>
 <translation id="4308567447483056043">ეს წესები იგნორირებული იქნება, ვინაიდან მომხმარებელი არააფილირებულია. ამ წესების გამოსაყენებლად Chrome ბრაუზერი და პროფილი მართული უნდა იყოს იმავე ორგანიზაციის ადმინისტრატორის კონსოლის მეშვეობით.</translation>
 <translation id="4310070645992025887">მოიძიეთ თქვენს პროცესებში</translation>
+<translation id="4310496734563057511">თუ ეს მოწყობილობა სხვებთან საზიაროა, შენახული პაროლის გამოყენებისას თქვენი ვინაობის დასადასტურებლად შეგიძლიათ ჩართოთ Windows Hello</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">დაბლოკვა (ნაგულისხმევი)</translation>
 <translation id="4314815835985389558">სინქრონიზაციის მართვა</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">ძიების ისტორია</translation>
 <translation id="4881695831933465202">გახსნა</translation>
 <translation id="4885256590493466218">ანგარიშსწორებისას გადაიხადეთ <ph name="CARD_DETAIL" />-ით</translation>
+<translation id="4887406273302438710">დაიცავით პაროლები Windows Hello-ს მეშვეობით</translation>
 <translation id="4888600795924685526">უცხო ენების შესწავლა</translation>
 <translation id="4889420713887366944">ახალი ინკოგნიტო ფანჯრის გახსნის ღილაკი, ვების კონფიდენციალურად დასათვალიერებლად ახალი ინკოგნიტო ფანჯრის გასახსნელად დააჭირეთ კლავიშს Enter</translation>
 <translation id="4892518386797173871">უკანა</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ითხოვს თქვენთვის შეტყობინებების გამოგზავნას</translation>
 <translation id="5428105026674456456">ესპანური</translation>
 <translation id="5430298929874300616">სანიშნის ამოშლა</translation>
+<translation id="5434423669266814150">Touch ID-ს ჩართვა პაროლების შესავსებად</translation>
 <translation id="5443468954631487277">უკუმიმდევრობა ნაბეჭდი მხარით აღმა</translation>
 <translation id="5447765697759493033">ეს გვერდი არ ითარგმნება</translation>
 <translation id="5452270690849572955"><ph name="HOST_NAME" />-ზე ეს გვერდი ვერ მოიძებნა</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">თქვენ შეიძლება მოგპარონ პერსონალური მონაცემები, ან დაკარგოთ წვდომა თქვენს <ph name="ORG_NAME" /> ანგარიშზე. Chrome გირჩევთ, ახლავე შეცვალოთ პაროლი.</translation>
 <translation id="7564680668369175887">უნივერსალი ფურგონები</translation>
 <translation id="7567204685887185387">ეს სერვერი ვერ ამტკიცებს, რომ ის არის <ph name="DOMAIN" />; მისი უსაფრთხოების სერთიფიკატი შეიძლება გაიცა თაღლითურად. ეს შეიძლება იყოს გამოწვეული არასწორი კონფიგურაციით ან თავდამსხმელის მიერ თქვენი კავშირის გადაჭრით.</translation>
+<translation id="7568616151991626879">Google Chrome ცდილობს, შეავსოს თქვენი პაროლი <ph name="APP_NAME" />-ში.</translation>
 <translation id="7569490014721427265">გოლფი</translation>
 <translation id="7569761772822664555">საძიებო სისტემის მართვის ღილაკი, ნაგულისხმევი საძიებო სისტემისა და საიტების მეშვეობით ძიების პარამეტრების სამართავად დააჭირეთ ღილაკს Enter</translation>
 <translation id="7569952961197462199">ამოიშალოს საკრედიტო ბარათი Chrome-იდან?</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{არცერთი}=1{თქვენს ანგარიშშია 1 პაროლი (შემდეგისთვის: <ph name="DOMAIN_LIST" />)}other{თქვენს ანგარიშშია # პაროლი (შემდეგისთვის: <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">თანმიმდევრული პორტები</translation>
 <translation id="7639968568612851608">მუქი ნაცრისფერი</translation>
+<translation id="7646681339175747202">თქვენ მიერ ახლახან გამოყენებული პაროლი გამოაშკარავდა მონაცემთა გაჟონვისას. Google პაროლების მმართველი გირჩევთ, ახლავე შეცვალოთ თქვენი პაროლი.</translation>
 <translation id="7647206758853451655">ბეჭდვის ხარისხი</translation>
 <translation id="7648992873808071793">ამ მოწყობილობაში ფაილების შენახვა</translation>
 <translation id="7653957176542370971">გადახდების დამმუშავებლის გვერდი დახურულია</translation>
diff --git a/components/strings/components_strings_kk.xtb b/components/strings/components_strings_kk.xtb
index 252c489..cd68f1f 100644
--- a/components/strings/components_strings_kk.xtb
+++ b/components/strings/components_strings_kk.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Хатқалта тәрізді бүктеу</translation>
 <translation id="138218114945450791">Ашық көк</translation>
 <translation id="1382194467192730611">Әкімші рұқсат еткен USB құрылғысы</translation>
+<translation id="1382378825779654399">Қандай да бір сайтта баға төмендесе, электрондық пошта хабарландыруларын аласыз. Бұл бет мына жерге сақталады: <ph name="LAST_BOOKMARKS_FOLDER" /></translation>
 <translation id="1382912999714108023">Ақпарат дұрыс емес пе? Түзету үшін банкіңізге хабарласыңыз.</translation>
 <translation id="1384725838384960382">Қауіпсіз төлем деректерін аутентификациялау парағы</translation>
 <translation id="1386623374109090026">Аннотациялар</translation>
@@ -1519,6 +1520,7 @@
 <translation id="5018422839182700155">Бұл бет ашылмайды</translation>
 <translation id="5019198164206649151">Қоймадағы деректер бүлінген</translation>
 <translation id="5020776957610079374">Әлемдік музыка</translation>
+<translation id="5021557570875267742">Chrome браузерімен бағаларды қадағалау</translation>
 <translation id="5023310440958281426">Әкімші саясаттарын тексеріңіз</translation>
 <translation id="5029568752722684782">Көшірмені өшіру</translation>
 <translation id="5030338702439866405">Берген</translation>
@@ -2239,6 +2241,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352">Әрдайым <ph name="ORIGINAL_LANGUAGE" /> тілінен аударып отыру</translation>
 <translation id="6999969238895751684">Ойын-сауық саласы</translation>
+<translation id="7003335073762455340">Осы тауарды қадағалаудасыз. Бұл бет мына жерге сақталды: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Карталарды жылдам растау үшін Windows Hello функциясын пайдалану</translation>
 <translation id="7006930604109697472">Бәрібір жіберу</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3033,6 +3036,7 @@
 <translation id="9174623988242579721">Арнаулы және өнімділігі жоғары көліктер</translation>
 <translation id="9174917557437862841">Қойынды ауыстыру түймесі: осы қойындыға ауысу үшін Enter пернесін басыңыз.</translation>
 <translation id="9179703756951298733">Төлемдер мен несиелік карта туралы ақпаратты Chrome параметрлерінен басқарыңыз.</translation>
+<translation id="9179907736442194268">Қандай да бір сайтта баға төмендесе, электрондық пошта хабарландыруларын аласыз.</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> қолданылмайтын протоколды пайдаланады.</translation>
 <translation id="9187461866967718678">Экстремалдық спорт</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index fe6f459..2716298 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -262,6 +262,7 @@
 <translation id="156703335097561114">ព័ត៌មានបណ្ដាញដូចជា អាសយដ្ឋាន ការកំណត់រចនាសម្ព័ន្ធផ្ទៃ និងគុណភាព​នៃការតភ្ជាប់ជាដើម</translation>
 <translation id="1567040042588613346">គោលការណ៍នេះ​កំពុងដំណើរការ​ដូចការរំពឹងទុក ប៉ុន្តែ​តម្លៃដូចគ្នា​ត្រូវបាន​កំណត់នៅ​កន្លែងផ្សេង និង​ត្រូវបាន​ជំនួសដោយ​គោលការណ៍នេះ។</translation>
 <translation id="1569487616857761740">បញ្ចូលកាល​បរិច្ឆេទ​ផុត​កំណត់</translation>
+<translation id="1569694109004336106">Google Chrome កំពុងព្យាយាម​បើក Windows Hello ដើម្បីបំពេញ​ពាក្យសម្ងាត់។</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">មានបញ្ហាអ្វីមួយកើតឡើង ខណៈពេលកំពុងបង្ហាញគេហទំព័រនេះ</translation>
 <translation id="1586541204584340881">ថាតើកម្មវិធីបន្ថែមណាខ្លះដែលអ្នកបានដំឡើង</translation>
@@ -401,6 +402,7 @@
 <translation id="1958218078413065209">ពិន្ទុ​ខ្ពស់បំផុត​របស់អ្នកគឺ <ph name="SCORE" />។</translation>
 <translation id="1959001866257244765">ជួយពង្រឹង​សុវត្ថិភាព​នៅលើ​អ៊ីនធឺណិត​សម្រាប់​អ្នករាល់គ្នា​តាមរយៈការផ្ញើ <ph name="BEGIN_WHITEPAPER_LINK" />URL របស់ទំព័រ​មួយចំនួន​ដែលអ្នកចូលមើល ព័ត៌មាន​ប្រព័ន្ធមួយចំនួន និងខ្លឹមសារទំព័រ​មួយចំនួន<ph name="END_WHITEPAPER_LINK" />ទៅ Google។ <ph name="BEGIN_PRIVACY_PAGE_LINK" />គោលការណ៍​ឯកជនភាព<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> ចំណាំ</translation>
+<translation id="1971033026002113380">ការពារ​ពាក្យសម្ងាត់​ដោយប្រើ TouchID</translation>
 <translation id="1973335181906896915">កំហុសឆ្គងប្រតិបត្តិការជាសេរ៊ី</translation>
 <translation id="1974060860693918893">កម្រិតខ្ពស់</translation>
 <translation id="1975457531113383421">ទម្រ​បញ្ចូល</translation>
@@ -729,6 +731,7 @@
 <translation id="2881276955470682203">រក្សាទុក​បណ្ណ?</translation>
 <translation id="2882949212241984732">បត់ភ្ជិត​ជាបួនផ្ទាំង</translation>
 <translation id="2893773853358652045">ដុំទីបួន</translation>
+<translation id="289834758818479772">ប្រសិនបើ​អ្នក​ចែករំលែក​ឧបករណ៍​នេះ​ជាមួយ​អ្នក​ផ្សេងទៀត អ្នក​អាច​បើក TouchID ដើម្បីផ្ទៀងផ្ទាត់​ថាជាអ្នក រាល់ពេល​ដែល​អ្នក​ប្រើប្រាស់​ពាក្យសម្ងាត់​ដែលបានរក្សាទុក</translation>
 <translation id="2900528713135656174">បង្កើតព្រឹត្តិការណ៍</translation>
 <translation id="2903493209154104877">អាសយដ្ឋាន</translation>
 <translation id="290376772003165898">ទំព័រមិនមានជាភាសា <ph name="LANGUAGE" /> ទេ?</translation>
@@ -805,6 +808,8 @@
 <translation id="3108943290502734357">ទម្រកណ្ដាល</translation>
 <translation id="3109728660330352905">អ្នកមិនមានសិទ្ធិក្នុងការមើលទំព័រនេះទេ</translation>
 <translation id="3113284927548439113">ការប្ដូរ​លើកទីបី</translation>
+<translation id="3114040155724590991">កំពុង​ដំឡើងកំណែ​ប្រព័ន្ធ Android
+    ការចាប់ផ្ដើម​កម្មវិធី​របស់អ្នក​អាច​ចំណាយពេល​យូរជាងធម្មតា។</translation>
 <translation id="3115363211799416195">{0,plural, =1{ទាញយក​ឯកសារ​សម្ងាត់​ឬ?}other{ទាញយក​ឯកសារ​សម្ងាត់​ឬ?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> តម្រូវឱ្យអ្នកបម្រុងទុកទិន្នន័យរបស់អ្នក និងបញ្ជូន <ph name="DEVICE_TYPE" /> នេះត្រឡប់ទៅវិញ។</translation>
 <translation id="3116158981186517402">អ៊ុត​ប្លាស្ទិច</translation>
@@ -1259,6 +1264,7 @@
 <translation id="4306812610847412719">ឃ្លីបបត</translation>
 <translation id="4308567447483056043">គោលការណ៍​នេះ​មិនត្រូវបាន​អើពើ​ទេ ដោយសារ​អ្នកប្រើប្រាស់​មិន​ពាក់ព័ន្ធ។ ដើម្បីអនុវត្ត​គោលការណ៍​នេះ កម្រងព័ត៌មាន និង​កម្មវិធី​រុករក​តាមអ៊ីនធឺណិត Chrome ត្រូវតែ​ត្រូវបាន​គ្រប់គ្រង​តាមរយៈ​កុងសូល​អ្នកគ្រប់គ្រង​ដោយ​ស្ថាប័ន​តែ​មួយ។</translation>
 <translation id="4310070645992025887">ស្វែងរកការធ្វើដំណើររបស់អ្នក</translation>
+<translation id="4310496734563057511">ប្រសិនបើ​អ្នក​ចែករំលែក​ឧបករណ៍​នេះ​ជាមួយ​អ្នក​ផ្សេងទៀត អ្នក​អាច​បើក Windows Hello ដើម្បីផ្ទៀងផ្ទាត់​ថាជាអ្នក រាល់ពេល​ដែល​អ្នក​ប្រើប្រាស់​ពាក្យសម្ងាត់​ដែលបានរក្សាទុក</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">រារាំង (លំនាំដើម)</translation>
 <translation id="4314815835985389558">គ្រប់គ្រង​សមកាលកម្ម</translation>
@@ -1474,6 +1480,7 @@
 <translation id="4880827082731008257">ប្រវត្តិស្វែងរក</translation>
 <translation id="4881695831933465202">បើក</translation>
 <translation id="4885256590493466218">បង់ប្រាក់ដោយប្រើ <ph name="CARD_DETAIL" /> នៅពេលបង់ប្រាក់ចេញ</translation>
+<translation id="4887406273302438710">ការពារ​ពាក្យសម្ងាត់​ដោយប្រើ Windows Hello</translation>
 <translation id="4888600795924685526">ការសិក្សា​ភាសា​បរទេស</translation>
 <translation id="4889420713887366944">ប៊ូតុង "បើកផ្ទាំងឯកជន" ចុច "Enter" ដើម្បីបើកផ្ទាំងឯកជនថ្មី ដើម្បីរុករកជាលក្ខណៈឯកជន</translation>
 <translation id="4892518386797173871">ខាងក្រោយ</translation>
@@ -1693,6 +1700,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ចង់​ផ្ញើ​ការជូន​ដំណឹងទៅអ្នក</translation>
 <translation id="5428105026674456456">ភាសាអេស្ប៉ាញ</translation>
 <translation id="5430298929874300616">ដកចំណាំចេញ</translation>
+<translation id="5434423669266814150">បើក TouchID សម្រាប់​បំពេញ​ពាក្យសម្ងាត់</translation>
 <translation id="5443468954631487277">ផ្ងារឡើងតាមលំដាប់លំដោយ​បញ្ច្រាស</translation>
 <translation id="5447765697759493033">ទំព័រ​នេះ​នឹង​មិនត្រូវ​បានបកប្រែទេ</translation>
 <translation id="5452270690849572955">រកមិនឃើញទំព័រ <ph name="HOST_NAME" /> នេះទេ</translation>
@@ -2471,6 +2479,7 @@
 <translation id="7564680668369175887">រថយន្ត​គូទក្រោយវែង</translation>
 <translation id="7567204685887185387">ម៉ាស៊ីនមេនេះមិនអាចបង្ហាញថាវាជា <ph name="DOMAIN" /> ទេ វិញ្ញាបនប័ត្រសុវត្ថិភាពរបស់វា
 អាចត្រូវបានបោះផ្សាយដោយក្លែងបន្លំ។ នេះអាចបណ្តាលមកពីការកំណត់មិនត្រឹមត្រូវ ឬមានការស្ទាក់ការភ្ជាប់របស់អ្នកពីអ្នកវាយប្រហារ។</translation>
+<translation id="7568616151991626879">Google Chrome កំពុង​ព្យាយាម​បំពេញ​ពាក្យសម្ងាត់​របស់អ្នក​នៅលើ <ph name="APP_NAME" />។</translation>
 <translation id="7569490014721427265">កូនហ្គោល</translation>
 <translation id="7569761772822664555">ប៊ូតុង "គ្រប់គ្រងម៉ាស៊ីនស្វែងរក" ចុច Enter ដើម្បីគ្រប់គ្រងការស្វែងរកនៅលើគេហទំព័រ និងម៉ាស៊ីនស្វែងរកលំនាំដើមរបស់អ្នក</translation>
 <translation id="7569952961197462199">យកកាតឥណទានចេញពី Chrome?</translation>
@@ -2501,6 +2510,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{គ្មាន}=1{ពាក្យសម្ងាត់ 1 នៅក្នុងគណនីរបស់អ្នក (សម្រាប់ <ph name="DOMAIN_LIST" />)}other{ពាក្យសម្ងាត់ # នៅក្នុងគណនីរបស់អ្នក (សម្រាប់ <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">រន្ធ​ស៊េរី</translation>
 <translation id="7639968568612851608">ប្រផេះ​ចាស់</translation>
+<translation id="7646681339175747202">ពាក្យសម្ងាត់​ដែល​អ្នក​ទើបតែ​ប្រើ​ត្រូវបាន​រកឃើញ​នៅក្នុង​ការបែកធ្លាយទិន្នន័យ។ កម្មវិធីគ្រប់គ្រងពាក្យសម្ងាត់ណែនាំឱ្យ​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់អ្នក​ឥឡូវនេះ។</translation>
 <translation id="7647206758853451655">គុណភាព​បោះពុម្ព</translation>
 <translation id="7648992873808071793">ផ្ទុកឯកសារនៅលើឧបករណ៍នេះ</translation>
 <translation id="7653957176542370971">សន្លឹកកម្មវិធីគ្រប់គ្រង​ការបង់ប្រាក់បានបិទ</translation>
diff --git a/components/strings/components_strings_kn.xtb b/components/strings/components_strings_kn.xtb
index c81e47c28..66b0d2d36 100644
--- a/components/strings/components_strings_kn.xtb
+++ b/components/strings/components_strings_kn.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">ಪತ್ರದ ಮಾದರಿಯಲ್ಲಿ ಮಡಿಸಿ</translation>
 <translation id="138218114945450791">ತಿಳಿ ನೀಲಿ</translation>
 <translation id="1382194467192730611">ನಿಮ್ಮ ನಿರ್ವಾಹಕರು USB ಸಾಧನವನ್ನು ಅನುಮತಿಸಿದ್ದಾರೆ</translation>
+<translation id="1382378825779654399">ಯಾವುದೇ ಸೈಟ್‌ನಲ್ಲಿ ಬೆಲೆ ಕುಸಿತವಾದರೆ ನೀವು ಇಮೇಲ್ ಅಲರ್ಟ್‌ಗಳನ್ನು ಪಡೆಯುತ್ತೀರಿ. ಈ ಪುಟವನ್ನು <ph name="LAST_BOOKMARKS_FOLDER" /> ಗೆ ಉಳಿಸಲಾಗಿದೆ.</translation>
 <translation id="1382912999714108023">ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಮಾಹಿತಿ ಕಾಣುತ್ತಿಲ್ಲವೇ?ಅದನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ನಿಮ್ಮ ಬ್ಯಾಂಕ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಿ.</translation>
 <translation id="1384725838384960382">ಸುರಕ್ಷಿತ ಪಾವತಿ ರುಜುವಾತು ದೃಢೀಕರಣ ಶೀಟ್</translation>
 <translation id="1386623374109090026">ಟಿಪ್ಪಣಿಗಳು</translation>
@@ -1516,6 +1517,7 @@
 <translation id="5018422839182700155">ಈ ಪುಟವನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="5019198164206649151">ಕಳಪೆ ಸ್ಥಿತಿಯಲ್ಲಿ ಸಂಗ್ರಹಣೆಯನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗಿದೆ</translation>
 <translation id="5020776957610079374">ಜಾಗತಿಕ ಸಂಗೀತ</translation>
+<translation id="5021557570875267742">Chrome ಮೂಲಕ ಬೆಲೆಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ</translation>
 <translation id="5023310440958281426">ನಿಮ್ಮ ನಿರ್ವಾಹಕ ನೀತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="5029568752722684782">ನಕಲು ತೆರವುಗೊಳಿಸು</translation>
 <translation id="5030338702439866405">ಇವರಿಂದ ನೀಡಲಾಗಿದೆ</translation>
@@ -2235,6 +2237,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" />ಭಾಷೆಯನ್ನು ಯಾವಾಗಲೂ ಅನುವಾದಿಸಿ</translation>
 <translation id="6999969238895751684">ಮನರಂಜನಾ ಉದ್ಯಮ</translation>
+<translation id="7003335073762455340">ನೀವು ಈ ಉತ್ಪನ್ನವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುತ್ತಿದ್ದೀರಿ. ಈ ಪುಟವನ್ನು <ph name="LAST_BOOKMARKS_FOLDER" /> ನಲ್ಲಿ ಉಳಿಸಲಾಗಿದೆ.</translation>
 <translation id="7004583254764674281">ಕಾರ್ಡ್‌ಗಳನ್ನು ವೇಗವಾಗಿ ದೃಢೀಕರಿಸಲು Windows Hello ಬಳಸಿ</translation>
 <translation id="7006930604109697472">ಹೇಗಾದರೂ ಕಳುಹಿಸಿ</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3029,6 +3032,7 @@
 <translation id="9174623988242579721">ಕಸ್ಟಮ್ ಮತ್ತು ಪರ್ಫಾರ್ಮೆನ್ಸ್ ವಾಹನಗಳು</translation>
 <translation id="9174917557437862841">ಟ್ಯಾಬ್ ಬದಲಿಸುವ ಬಟನ್, ಈ ಟ್ಯಾಬ್‌ಗೆ ಬದಲಾಯಿಸಲು Enter ಒತ್ತಿರಿ</translation>
 <translation id="9179703756951298733">Chrome ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಪಾವತಿಗಳು ಮತ್ತು ಕ್ರೆಡಿಟ್ ಕಾರ್ಡ್ ಮಾಹಿತಿಯನ್ನು ನಿರ್ವಹಿಸಿ</translation>
+<translation id="9179907736442194268">ಯಾವುದೇ ಸೈಟ್‌ನಲ್ಲಿ ಬೆಲೆ ಕುಸಿತವಾದರೆ ಇಮೇಲ್ ಅಲರ್ಟ್‌ಗಳನ್ನು ಪಡೆಯಿರಿ</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> ಬೆಂಬಲಿತವಲ್ಲದ ಪ್ರೋಟೋಕಾಲ್ ಬಳಸುತ್ತಿದೆ.</translation>
 <translation id="9187461866967718678">ತೀವ್ರ ಕ್ರೀಡೆಗಳು</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 6a31edc..e08b989 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">레터 폴드</translation>
 <translation id="138218114945450791">하늘색</translation>
 <translation id="1382194467192730611">관리자가 허용한 USB 기기</translation>
+<translation id="1382378825779654399">사이트에서 가격이 인하되면 이메일 알림을 받게 됩니다. 페이지가 <ph name="LAST_BOOKMARKS_FOLDER" />에 저장됩니다.</translation>
 <translation id="1382912999714108023">최신 정보가 표시되지 않나요? 은행에 문의하여 업데이트하세요.</translation>
 <translation id="1384725838384960382">보안 결제 사용자 인증 정보 승인 시트</translation>
 <translation id="1386623374109090026">주석</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">주소, 인터페이스 구성, 연결 품질 등의 네트워킹 정보</translation>
 <translation id="1567040042588613346">이 정책은 정상 작동 중이나 다른 위치에 같은 값이 설정되었으므로 이 정책에 의해 대체되었습니다.</translation>
 <translation id="1569487616857761740">만료일 입력</translation>
+<translation id="1569694109004336106">Chrome에서 비밀번호 입력에 Windows Hello를 사용하려고 합니다.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">이 웹페이지를 표시하는 도중 문제가 발생했습니다.</translation>
 <translation id="1586541204584340881">내가 설치한 확장 프로그램</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">최고 점수는 <ph name="SCORE" />점입니다.</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />방문한 일부 페이지의 URL, 제한된 시스템 정보, 일부 페이지 콘텐츠<ph name="END_WHITEPAPER_LINK" />를 Google에 전송하여 모든 웹 사용자를 위해 보안을 강화하는 데 참여해 주세요. <ph name="BEGIN_PRIVACY_PAGE_LINK" />개인정보처리방침<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> 북마크</translation>
+<translation id="1971033026002113380">TouchID로 비밀번호 보호</translation>
 <translation id="1973335181906896915">일련화 오류</translation>
 <translation id="1974060860693918893">고급</translation>
 <translation id="1975457531113383421">입력 트레이</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">카드를 저장하시겠습니까?</translation>
 <translation id="2882949212241984732">더블 게이트 폴드</translation>
 <translation id="2893773853358652045">4번째 롤</translation>
+<translation id="289834758818479772">이 기기를 다른 사용자와 공유하는 경우, TouchID를 사용 설정하면 저장된 비밀번호를 사용할 때마다 본인 인증이 완료됩니다.</translation>
 <translation id="2900528713135656174">일정 만들기</translation>
 <translation id="2903493209154104877">주소</translation>
 <translation id="290376772003165898">페이지 언어가 <ph name="LANGUAGE" />가 아닌가요?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">중간 트레이</translation>
 <translation id="3109728660330352905">이 페이지를 볼 수 있는 권한이 없습니다.</translation>
 <translation id="3113284927548439113">세 번째 근무조</translation>
+<translation id="3114040155724590991">Android 시스템 업데이트
+    앱을 시작하는 데 평소보다 오래 걸릴 수 있습니다.</translation>
 <translation id="3115363211799416195">{0,plural, =1{기밀 파일을 다운로드하시겠습니까?}other{기밀 파일을 다운로드하시겠습니까?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" />에서 데이터를 백업하고 이 <ph name="DEVICE_TYPE" /> 기기를 반납할 것을 요청합니다.</translation>
 <translation id="3116158981186517402">라미네이트</translation>
@@ -1255,6 +1261,7 @@
 <translation id="4306812610847412719">클립보드</translation>
 <translation id="4308567447483056043">사용자가 제휴되어 있지 않으므로 이 정책은 무시됩니다. 이 정책을 적용하려면 Chrome 브라우저와 프로필을 관리 콘솔에서 같은 조직으로 관리해야 합니다.</translation>
 <translation id="4310070645992025887">탐색 여정 검색</translation>
+<translation id="4310496734563057511">이 기기를 다른 사용자와 공유하는 경우, Windows Hello를 사용 설정하면 저장된 비밀번호를 사용할 때마다 본인 인증이 완료됩니다.</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">차단(기본값)</translation>
 <translation id="4314815835985389558">동기화 관리</translation>
@@ -1469,6 +1476,7 @@
 <translation id="4880827082731008257">기록 검색</translation>
 <translation id="4881695831933465202">열기</translation>
 <translation id="4885256590493466218">결제 시 <ph name="CARD_DETAIL" /> 사용</translation>
+<translation id="4887406273302438710">Windows Hello로 비밀번호 보호</translation>
 <translation id="4888600795924685526">외국어 학습</translation>
 <translation id="4889420713887366944">시크릿 창 열기 버튼, 새 시크릿 창을 열어 비공개적으로 탐색하려면 Enter 누르기</translation>
 <translation id="4892518386797173871">후면</translation>
@@ -1520,6 +1528,7 @@
 <translation id="5018422839182700155">이 페이지를 열 수 없음</translation>
 <translation id="5019198164206649151">보조 기억 장치 상태가 잘못됨</translation>
 <translation id="5020776957610079374">제3세계 음악</translation>
+<translation id="5021557570875267742">Chrome으로 가격 추적</translation>
 <translation id="5023310440958281426">관리자 정책을 확인하세요.</translation>
 <translation id="5029568752722684782">사본 지우기</translation>
 <translation id="5030338702439866405">발급 기관</translation>
@@ -1687,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" />에서 알림을 보내려고 합니다.</translation>
 <translation id="5428105026674456456">스페인어</translation>
 <translation id="5430298929874300616">북마크 삭제</translation>
+<translation id="5434423669266814150">비밀번호 입력 시 TouchID 사용</translation>
 <translation id="5443468954631487277">역순으로 인쇄면이 위를 향하게</translation>
 <translation id="5447765697759493033">이 사이트는 번역되지 않습니다.</translation>
 <translation id="5452270690849572955"><ph name="HOST_NAME" /> 페이지를 찾을 수 없음</translation>
@@ -2240,6 +2250,7 @@
 <translation id="6993898126790112050">6x9(봉투)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" /> 항상 번역</translation>
 <translation id="6999969238895751684">엔터테인먼트 산업</translation>
+<translation id="7003335073762455340">추적 중인 제품입니다. 페이지가 <ph name="LAST_BOOKMARKS_FOLDER" />에 저장되어 있습니다.</translation>
 <translation id="7004583254764674281">Windows Hello를 사용하여 빠르게 카드 확인</translation>
 <translation id="7006930604109697472">무시하고 보내기</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2462,6 +2473,7 @@
 <translation id="7564049878696755256"><ph name="ORG_NAME" /> 계정에 액세스할 수 없게 되거나 신원 도용이 발생할 수도 있습니다. 따라서 지금 비밀번호를 변경하는 것이 좋습니다.</translation>
 <translation id="7564680668369175887">스테이션 왜건</translation>
 <translation id="7567204685887185387">이 서버가 <ph name="DOMAIN" />임을 입증할 수 없으며 서버의 보안 인증서가 부정한 방식으로 발행되었을 수 있습니다. 서버를 잘못 설정했거나 불법 사용자가 연결을 가로채고 있기 때문일 수 있습니다.</translation>
+<translation id="7568616151991626879">Chrome이 <ph name="APP_NAME" />에서 비밀번호를 입력하려고 합니다.</translation>
 <translation id="7569490014721427265">골프</translation>
 <translation id="7569761772822664555">검색엔진 관리 버튼, 기본 검색엔진 및 사이트 검색을 관리하려면 Enter를 누르세요</translation>
 <translation id="7569952961197462199">Chrome에서 신용카드를 삭제하시겠습니까?</translation>
@@ -2492,6 +2504,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{없음}=1{계정에 비밀번호가 1개 저장되어 있음(<ph name="DOMAIN_LIST" />)}other{계정에 비밀번호가 #개 저장되어 있음(<ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">직렬 포트</translation>
 <translation id="7639968568612851608">짙은 회색</translation>
+<translation id="7646681339175747202">방금 사용한 비밀번호가 정보 유출로 인해 노출된 것으로 확인됩니다. 지금 바로 비밀번호를 변경하는 것이 좋습니다.</translation>
 <translation id="7647206758853451655">인쇄 품질</translation>
 <translation id="7648992873808071793">이 기기에 파일 저장</translation>
 <translation id="7653957176542370971">결제 핸들러 시트가 닫힘</translation>
@@ -3033,6 +3046,7 @@
 <translation id="9174623988242579721">커스텀 및 고성능 자동차</translation>
 <translation id="9174917557437862841">탭 전환 버튼, 이 탭으로 전환하려면 Enter를 누르세요</translation>
 <translation id="9179703756951298733">Chrome 설정에서 결제 및 신용카드 정보를 관리하세요.</translation>
+<translation id="9179907736442194268">사이트에서 가격이 인하되면 이메일 알림이 전송됩니다.</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" />에서 지원되지 않는 프로토콜을 사용합니다.</translation>
 <translation id="9187461866967718678">익스트림 스포츠</translation>
diff --git a/components/strings/components_strings_lt.xtb b/components/strings/components_strings_lt.xtb
index 9e5ddb4..1a9262e 100644
--- a/components/strings/components_strings_lt.xtb
+++ b/components/strings/components_strings_lt.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Laiško perlenkimas</translation>
 <translation id="138218114945450791">Šviesiai mėlyna</translation>
 <translation id="1382194467192730611">USB įrenginį leidžia administratorius</translation>
+<translation id="1382378825779654399">Jei kurioje nors svetainėje sumažės kaina, gausite įspėjimą el. paštu. Šis puslapis bus išsaugotas aplanke „<ph name="LAST_BOOKMARKS_FOLDER" />“.</translation>
 <translation id="1382912999714108023">Nematote dabartinės informacijos? Susisiekite su savo banku, kad ji būtų atnaujinta.</translation>
 <translation id="1384725838384960382">Saugaus mokėjimo prisijungimo duomenų autentifikavimo lapas</translation>
 <translation id="1386623374109090026">Komentarai</translation>
@@ -260,6 +261,7 @@
 <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="1569487616857761740">Įveskite galiojimo laiko pabaigos datą</translation>
+<translation id="1569694109004336106">„Google Chrome“ bando įjungti „Windows Hello“ slaptažodžiams užpildyti.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Rodant šį tinklalapį įvyko nenumatyta klaida.</translation>
 <translation id="1586541204584340881">Kuriuos plėtinius įdiegėte</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Jūsų didžiausias rezultatas yra <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Padėkite gerinti visų naudotojų saugumą žiniatinklyje – atsiųskite <ph name="BEGIN_WHITEPAPER_LINK" />lankomų puslapių URL, ribotos sistemos informacijos ir puslapių turinio<ph name="END_WHITEPAPER_LINK" /> į „Google“. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Privatumo politika<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> žymės</translation>
+<translation id="1971033026002113380">Apsaugokite slaptažodžius naudodami „TouchID“</translation>
 <translation id="1973335181906896915">Serijinio rengimo klaida</translation>
 <translation id="1974060860693918893">Išplėstiniai</translation>
 <translation id="1975457531113383421">Įvesties dėklas</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Išsaugoti kortelę?</translation>
 <translation id="2882949212241984732">Perlenkimas viduryje su dviem atvartais</translation>
 <translation id="2893773853358652045">Ketvirtas ritinėlis</translation>
+<translation id="289834758818479772">Jei bendrinate šį įrenginį su kitais žmonėmis, galite įjungti „TouchID“, kad patvirtintumėte savo tapatybę, kai naudojate išsaugotą slaptažodį</translation>
 <translation id="2900528713135656174">Sukurti įvykį</translation>
 <translation id="2903493209154104877">Adresai</translation>
 <translation id="290376772003165898">Puslapis parašytas ne <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Vidurinis dėklas</translation>
 <translation id="3109728660330352905">Neturite prieigos teisės žiūrėti šį puslapį.</translation>
 <translation id="3113284927548439113">Trečia pamaina</translation>
+<translation id="3114040155724590991">„Android“ sistemos atnaujinimas
+    Programos paleidimas gali trukti ilgiau nei įprastai.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Atsisiųsti konfidencialų failą?}one{Atsisiųsti konfidencialius failus?}few{Atsisiųsti konfidencialius failus?}many{Atsisiųsti konfidencialius failus?}other{Atsisiųsti konfidencialius failus?}}</translation>
 <translation id="3115874930288085374">Domene <ph name="ENROLLMENT_DOMAIN" /> reikalaujama, kad sukurtumėte atsarginę duomenų kopiją ir grąžintumėte šį „<ph name="DEVICE_TYPE" />“ įrenginį.</translation>
 <translation id="3116158981186517402">Laminavimas</translation>
@@ -1256,6 +1262,7 @@
 <translation id="4306812610847412719">iškarpinė</translation>
 <translation id="4308567447483056043">Šios politikos nepaisoma, nes naudotojas nesusietas. Kad būtų taikoma ši politika, „Chrome“ naršyklę ir profilį turi tvarkyti ta pati organizacija per administratoriaus pultą.</translation>
 <translation id="4310070645992025887">Ieškoti naudotojo atliekamų veiksmų</translation>
+<translation id="4310496734563057511">Jei bendrinate šį įrenginį su kitais žmonėmis, galite įjungti „Windows Hello“, kad patvirtintumėte savo tapatybę, kai naudojate išsaugotą slaptažodį</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Užblokuoti (numatytoji parinktis)</translation>
 <translation id="4314815835985389558">Sinchronizavimo tvarkymas</translation>
@@ -1470,6 +1477,7 @@
 <translation id="4880827082731008257">Ieškoti istorijoje</translation>
 <translation id="4881695831933465202">Atidaryti</translation>
 <translation id="4885256590493466218">Mokėti naudojant <ph name="CARD_DETAIL" /> atsiskaitant</translation>
+<translation id="4887406273302438710">Slaptažodžių apsauga naudojant „Windows Hello“</translation>
 <translation id="4888600795924685526">Užsienio kalbų studijos</translation>
 <translation id="4889420713887366944">Mygtukas „Atidaryti inkognito langą“, paspauskite „Enter“, kad būtų atidarytas naujas privataus naršymo inkognito langas</translation>
 <translation id="4892518386797173871">Galas</translation>
@@ -1521,6 +1529,7 @@
 <translation id="5018422839182700155">Negalima atidaryti šio puslapio</translation>
 <translation id="5019198164206649151">Bloga atsarginio atminties įrenginio būsena</translation>
 <translation id="5020776957610079374">Pasaulinė muzika</translation>
+<translation id="5021557570875267742">Kainų stebėjimas naudojant „Chrome“</translation>
 <translation id="5023310440958281426">Patikrinkite savo administratoriaus politiką</translation>
 <translation id="5029568752722684782">Išvalyti kopiją</translation>
 <translation id="5030338702439866405">Išdavė</translation>
@@ -1688,6 +1697,7 @@
 <translation id="5426179911063097041">Svetainė <ph name="SITE" /> nori siųsti jums pranešimus</translation>
 <translation id="5428105026674456456">Ispanų</translation>
 <translation id="5430298929874300616">Pašalinti žymę</translation>
+<translation id="5434423669266814150">įjunkite „TouchID“, kad galėtumėte pildyti slaptažodžius</translation>
 <translation id="5443468954631487277">Atvirkštine tvarka, gerąja puse į viršų</translation>
 <translation id="5447765697759493033">Ši svetainė nebus verčiama</translation>
 <translation id="5452270690849572955">Nepavyksta rasti šio <ph name="HOST_NAME" /> puslapio</translation>
@@ -2241,6 +2251,7 @@
 <translation id="6993898126790112050">6 x 9 (vokas)</translation>
 <translation id="6996312675313362352">Visada versti <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Pramogų industrija</translation>
+<translation id="7003335073762455340">Stebite šį produktą. Šis puslapis išsaugotas aplanke „<ph name="LAST_BOOKMARKS_FOLDER" />“.</translation>
 <translation id="7004583254764674281">Su „Windows Hello“ korteles patvirtinsite greičiau</translation>
 <translation id="7006930604109697472">Vis tiek siųsti</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2464,6 +2475,7 @@
 <translation id="7564049878696755256">Galite prarasti galimybę pasiekti „<ph name="ORG_NAME" />“ paskyrą arba gali būti pavogta tapatybė. „Chrome“ rekomenduoja pakeisti slaptažodį dabar.</translation>
 <translation id="7564680668369175887">Universalai</translation>
 <translation id="7567204685887185387">Šiam serveriui nepavyko patvirtinti, kad tai yra <ph name="DOMAIN" />; jo saugos sertifikatas gali būti neteisėtai išduotas. Taip gali nutikti dėl netinkamos konfigūracijos ar dėl ryšį pertraukusio užgrobėjo.</translation>
+<translation id="7568616151991626879">„Google Chrome“ bando užpildyti jūsų slaptažodį programoje „<ph name="APP_NAME" />“.</translation>
 <translation id="7569490014721427265">Golfas</translation>
 <translation id="7569761772822664555">Valdykite paieškos variklių mygtuką; jei norite valdyti numatytąjį paieškos variklį ir svetainių paiešką, paspauskite klavišą „Enter“</translation>
 <translation id="7569952961197462199">Pašalinti kredito kortelės informaciją iš „Chrome“?</translation>
@@ -2494,6 +2506,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Nėra}=1{Vienas slaptažodis paskyroje (<ph name="DOMAIN_LIST" />)}one{# slaptažodis paskyroje (<ph name="DOMAIN_LIST" />)}few{# slaptažodžiai paskyroje (<ph name="DOMAIN_LIST" />)}many{# slaptažodžio paskyroje (<ph name="DOMAIN_LIST" />)}other{# slaptažodžių paskyroje (<ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Nuoseklieji prievadai</translation>
 <translation id="7639968568612851608">Tamsiai pilka</translation>
+<translation id="7646681339175747202">Slaptažodis, kurį ką tik naudojote, buvo atskleistas įvykus duomenų saugos pažeidimui. „Google“ slaptažodžių tvarkyklė rekomenduoja dabar pakeisti šį slaptažodį.</translation>
 <translation id="7647206758853451655">Spausdinimo kokybė</translation>
 <translation id="7648992873808071793">Saugoti failus šiame įrenginyje</translation>
 <translation id="7653957176542370971">Mokėjimo doroklės lapas uždarytas</translation>
@@ -3036,6 +3049,7 @@
 <translation id="9174623988242579721">Priskirtos ir didelio našumo transporto priemonės</translation>
 <translation id="9174917557437862841">Skirtuko perjungimo mygtukas; paspauskite „Enter“, kad perjungtumėte į šį skirtuką</translation>
 <translation id="9179703756951298733">Tvarkykite mokėjimų ir kredito kortelės informaciją „Chrome“ nustatymuose</translation>
+<translation id="9179907736442194268">Gaukite įspėjimus el. paštu, jei kurioje nors svetainėje sumažės kaina.</translation>
 <translation id="9183302530794969518">„Google“ dokumentai</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> naudojamas nepalaikomas protokolas.</translation>
 <translation id="9187461866967718678">Ekstremalusis sportas</translation>
diff --git a/components/strings/components_strings_ml.xtb b/components/strings/components_strings_ml.xtb
index 73763c0..fdace073 100644
--- a/components/strings/components_strings_ml.xtb
+++ b/components/strings/components_strings_ml.xtb
@@ -260,6 +260,7 @@
 <translation id="156703335097561114">വിലാസങ്ങൾ, ഇന്റർഫേസ് കോൺഫിഗറേഷൻ, കണക്ഷൻ നിലവാരം എന്നിവ പോലുള്ള നെറ്റ്‌വർക്കിംഗ് വിവരങ്ങൾ</translation>
 <translation id="1567040042588613346">ഈ നയം ഉദ്ദേശിച്ചത് പോലെ പ്രവർത്തിക്കുന്നുണ്ട്, എന്നാൽ മറ്റൊരു ഉറവിടത്തിൽ അതേ മൂല്യം സജ്ജീകരിച്ചതിനെ തുടർന്ന് ഈ നയത്തിന് പകരം മറ്റൊന്ന് സജീവമായി.</translation>
 <translation id="1569487616857761740">കാലഹരണപ്പെടുന്ന തീയതി നൽകുക</translation>
+<translation id="1569694109004336106">പാസ്‌വേഡുകൾ പൂരിപ്പിക്കുന്നതിന് Windows Hello ഓണാക്കാൻ Google Chrome ശ്രമിക്കുന്നു.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ഈ വെബ്‌പേജ് പ്രദർശിപ്പിക്കുമ്പോൾ എന്തോ കുഴപ്പം സംഭവിച്ചു.</translation>
 <translation id="1586541204584340881">ഏതൊക്കെ വിപുലീകരണങ്ങൾ നിങ്ങൾ ഇൻസ്‌റ്റാൾ ചെയ്തിട്ടുണ്ട് എന്നത്</translation>
@@ -398,6 +399,7 @@
 <translation id="1958218078413065209">നിങ്ങളുടെ ഏറ്റവും ഉയർന്ന സ്കോർ <ph name="SCORE" /> ആണ്.</translation>
 <translation id="1959001866257244765">നിങ്ങൾ സന്ദർശിക്കുന്ന ചില പേജുകളുടെ <ph name="BEGIN_WHITEPAPER_LINK" />URL, പരിമിത സിസ്‌റ്റം വിവരങ്ങൾ, ചില പേജുകളുടെ ഉള്ളടക്കം<ph name="END_WHITEPAPER_LINK" /> എന്നിവ Google-ലേക്ക് അയച്ച് എല്ലാവർക്കുമായി വെബിലെ സുരക്ഷ മെച്ചപ്പെടുത്താൻ സഹായിക്കുക. <ph name="BEGIN_PRIVACY_PAGE_LINK" />സ്വകാര്യതാ നയം<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> ബുക്ക്‌മാർക്കുകൾ</translation>
+<translation id="1971033026002113380">TouchID ഉപയോഗിച്ച് പാസ്‌വേഡുകൾ പരിരക്ഷിക്കുക</translation>
 <translation id="1973335181906896915">സീരിയലൈസേഷൻ പിശക്</translation>
 <translation id="1974060860693918893">വിപുലമായത്</translation>
 <translation id="1975457531113383421">ഇൻപുട്ട് ട്രേ</translation>
@@ -725,6 +727,7 @@
 <translation id="2881276955470682203">കാർഡ് സംരക്ഷിക്കണോ?</translation>
 <translation id="2882949212241984732">ഡബിൾ-ഗേറ്റ് മടക്ക്</translation>
 <translation id="2893773853358652045">നാലാമത്തെ റോൾ</translation>
+<translation id="289834758818479772">നിങ്ങൾ ഈ ഉപകരണം മറ്റുള്ളവരുമായി പങ്കിടുകയാണെങ്കിൽ, സംരക്ഷിച്ച പാസ്‌വേഡ് ഉപയോഗിക്കുമ്പോഴെല്ലാം അത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കാൻ TouchID ഓണാക്കാൻ കഴിയും</translation>
 <translation id="2900528713135656174">ഇവന്റ് സൃഷ്‌ടിക്കുക</translation>
 <translation id="2903493209154104877">വിലാസങ്ങള്‍‌</translation>
 <translation id="290376772003165898">പേജ് <ph name="LANGUAGE" /> ഭാഷയിലല്ലേ?</translation>
@@ -801,6 +804,8 @@
 <translation id="3108943290502734357">മധ്യഭാഗത്തുള്ള ട്രേ</translation>
 <translation id="3109728660330352905">നിങ്ങൾക്ക് ഈ പേജ് കാണാനുള്ള അംഗീകാരമില്ല.</translation>
 <translation id="3113284927548439113">മൂന്നാമത്തെ ഷിഫ്റ്റ്</translation>
+<translation id="3114040155724590991">Android സിസ്റ്റം അപ്ഡേറ്റ് ചെയ്യുന്നു
+    നിങ്ങളുടെ ആപ്പ് ആരംഭിക്കാൻ പതിവിലും കൂടുതൽ സമയമെടുത്തേക്കാം.</translation>
 <translation id="3115363211799416195">{0,plural, =1{രഹസ്യാത്മക ഫയൽ ഡൗൺലോഡ് ചെയ്യണോ?}other{രഹസ്യാത്മക ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യണോ?}}</translation>
 <translation id="3115874930288085374">നിങ്ങളുടെ ഡാറ്റ ബാക്കപ്പ് ചെയ്‌ത് ഈ <ph name="DEVICE_TYPE" /> തിരികെ നൽകാൻ <ph name="ENROLLMENT_DOMAIN" /> നിങ്ങളോട് ആവശ്യപ്പെടുന്നു.</translation>
 <translation id="3116158981186517402">ലാമിനേറ്റ് ചെയ്യൂ</translation>
@@ -1254,6 +1259,7 @@
 <translation id="4306812610847412719">ക്ലിപ്പ്ബോർഡ്</translation>
 <translation id="4308567447483056043">അഫിലിയേറ്റ് ചെയ്യാത്ത ഉപയോക്താവായതിനാൽ, ഈ നയം അവഗണിച്ചു. ഈ നയം ബാധകമാക്കാൻ, Chrome ബ്രൗസറും പ്രൊഫൈലും ഒരേ സ്ഥാപനത്തിന്റെ അഡ്‌മിൻ കൺസോൾ വഴി മാനേജ് ചെയ്തിരിക്കണം.</translation>
 <translation id="4310070645992025887">നിങ്ങളുടെ യാത്രകൾ തിരയുക</translation>
+<translation id="4310496734563057511">നിങ്ങൾ ഈ ഉപകരണം മറ്റുള്ളവരുമായി പങ്കിടുകയാണെങ്കിൽ, സംരക്ഷിച്ച പാസ്‌വേഡ് ഉപയോഗിക്കുമ്പോഴെല്ലാം അത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കാൻ Windows Hello ഓണാക്കാൻ കഴിയും</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ബ്ലോക്ക് ചെയ്യുക (ഡിഫോൾട്ട്)</translation>
 <translation id="4314815835985389558">സമന്വയിപ്പിക്കൽ മാനേജ് ചെയ്യുക</translation>
@@ -1468,6 +1474,7 @@
 <translation id="4880827082731008257">തിരയൽ ചരിത്രം</translation>
 <translation id="4881695831933465202">തുറക്കുക</translation>
 <translation id="4885256590493466218">ചെക്ക്‌ഔട്ട് ചെയ്യുമ്പോൾ <ph name="CARD_DETAIL" /> ഉപയോഗിച്ച് പണമടയ്‌ക്കുക</translation>
+<translation id="4887406273302438710">Windows Hello ഉപയോഗിച്ച് പാസ്‌വേഡുകൾ പരിരക്ഷിക്കുക</translation>
 <translation id="4888600795924685526">വിദേശ ഭാഷാ പഠനം</translation>
 <translation id="4889420713887366944">'അദൃശ്യ വിൻഡോ തുറക്കുക' ബട്ടൺ, സ്വകാര്യമായി ബ്രൗസ് ചെയ്യാൻ പുതിയ അദൃശ്യ വിൻഡോ തുറക്കുന്നതിന്, 'Enter' അമർത്തുക</translation>
 <translation id="4892518386797173871">പിൻഭാഗം</translation>
@@ -1686,6 +1693,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്‌ക്കാൻ ആഗ്രഹിക്കുന്നു</translation>
 <translation id="5428105026674456456">സ്പാനിഷ്</translation>
 <translation id="5430298929874300616">ബുക്ക്‌മാർക്ക് നീക്കംചെയ്യുക</translation>
+<translation id="5434423669266814150">പാസ്‌വേഡുകൾ പൂരിപ്പിക്കുന്നതിന് TouchID ഓണാക്കുക</translation>
 <translation id="5443468954631487277">വിപരീത ക്രമത്തിൽ ഫേസ് അപ്പ്</translation>
 <translation id="5447765697759493033">ഈ സൈറ്റ് വിവർത്തനം ചെയ്യപ്പെടില്ല</translation>
 <translation id="5452270690849572955">ഈ <ph name="HOST_NAME" /> പേജ് കണ്ടെത്താനായില്ല</translation>
@@ -2460,6 +2468,7 @@
 <translation id="7564049878696755256">നിങ്ങളുടെ <ph name="ORG_NAME" /> അക്കൗണ്ടിലേക്കുള്ള ആക്‌സസ് നഷ്‌ടമാകാനോ ഐഡന്‍റിറ്റി മോഷ്ടിക്കപ്പെടാനോ സാധ്യതയുണ്ട്. ഇപ്പോൾ തന്നെ പാസ്‍വേഡ് മാറ്റാൻ Chrome ശുപാർശ ചെയ്യുന്നു.</translation>
 <translation id="7564680668369175887">സ്റ്റേഷൻ വാഗണുകൾ</translation>
 <translation id="7567204685887185387">ഈ സെർവറിന് അത് <ph name="DOMAIN" /> ആണെന്ന് തെളിയിക്കാനായില്ല; സെർവറിന്റെ സുരക്ഷ സർട്ടിഫിക്കറ്റ് വഞ്ചനാപരമായി ഇഷ്യൂ ചെയ്‌തിരിക്കാം. തെറ്റായ കോൺഫിഗറേഷൻ കാരണമോ ഒരു അക്രമണകാരി നിങ്ങളുടെ കണക്ഷനെ തടസ്സപ്പെടുത്തുന്നത് കൊണ്ടോ ആയിരിക്കാം ഇത് സംഭവിച്ചത്.</translation>
+<translation id="7568616151991626879"><ph name="APP_NAME" /> എന്നതിൽ നിങ്ങളുടെ പാസ്‌വേഡ് പൂരിപ്പിക്കുന്നതിന് Google Chrome ശ്രമിക്കുന്നു.</translation>
 <translation id="7569490014721427265">ഗോൾഫ്</translation>
 <translation id="7569761772822664555">തിരയല്‍ യന്ത്രങ്ങളുടെ ബട്ടൺ മാനേജ് ചെയ്യുക, നിങ്ങളുടെ ഡിഫോൾട്ട് തിരയല്‍ യന്ത്രവും സൈറ്റ് തിരയലും മാനേജ് ചെയ്യാൻ 'Enter' അമർത്തുക</translation>
 <translation id="7569952961197462199">Chrome-ൽ നിന്ന് ക്രെഡിറ്റ് കാർഡ് നീക്കംചെയ്യണോ?</translation>
@@ -2490,6 +2499,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{ഒന്നുമില്ല}=1{നിങ്ങളുടെ അക്കൗണ്ടിലെ ഒരു പാസ്‌വേഡ് (<ph name="DOMAIN_LIST" /> എന്നതിനായി)}other{നിങ്ങളുടെ അക്കൗണ്ടിലെ # പാസ്‌വേഡുകൾ (<ph name="DOMAIN_LIST" /> എന്നതിനായി)}}</translation>
 <translation id="7638605456503525968">സീരിയൽ പോർട്ടുകൾ</translation>
 <translation id="7639968568612851608">കടും ചാരനിറം</translation>
+<translation id="7646681339175747202">നിങ്ങൾ ഇപ്പോൾ ഉപയോഗിച്ച പാസ്‌വേഡ് ഡാറ്റാ ലംഘനത്തിൽ കണ്ടെത്തിയിരിക്കുന്നു. നിങ്ങളുടെ പാസ്‌വേഡ് ഇപ്പോൾ തന്നെ മാറ്റാൻ Google Password Manager നിർദ്ദേശിക്കുന്നു.</translation>
 <translation id="7647206758853451655">പ്രിന്റ് നിലവാരം</translation>
 <translation id="7648992873808071793">ഈ ഉപകരണത്തിൽ ഫയലുകൾ സംഭരിക്കുക</translation>
 <translation id="7653957176542370971">പേയ്മെന്റ് കൈകാര്യം ചെയ്യുന്ന ഷീറ്റ് അടച്ചു</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index 773b6e33..950f360b 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -260,6 +260,7 @@
 <translation id="156703335097561114">पत्ते, इंटरफेस कॉंफिगरेशन आणि कनेक्शन गुणवत्ता यांसारखी नेटवर्किंग माहिती</translation>
 <translation id="1567040042588613346">हे धोरण अपेक्षेनुसार काम करत आहे पण, कुठेतरी समान मूल्य सेट केले आहे आणि हे धोरण ते मूल्य अधिग्रहित करत आहे.</translation>
 <translation id="1569487616857761740">एक्स्पायरीची तारीख एंटर करा</translation>
+<translation id="1569694109004336106">Google Chrome पासवर्ड भरण्यासाठी Windows Hello सुरू करण्याचा प्रयत्न करत आहे.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">हे वेबपेज प्रदर्शित करताना काहीतरी चूक झाली.</translation>
 <translation id="1586541204584340881">तुम्ही कोणती एक्स्टेंशन इंस्टॉल केली आहेत</translation>
@@ -398,6 +399,7 @@
 <translation id="1958218078413065209">तुमचा सर्वोच्च स्कोअर <ph name="SCORE" /> आहे.</translation>
 <translation id="1959001866257244765">Google ला <ph name="BEGIN_WHITEPAPER_LINK" />तुम्ही भेट देत असलेल्या काही पेजच्या URL, मर्यादित सिस्टम माहिती आणि पेजवरील काही आशय<ph name="END_WHITEPAPER_LINK" /> पाठवून वेबवरील प्रत्येकासाठी सुरक्षिततेत सुधारणा करण्यात मदत करा. <ph name="BEGIN_PRIVACY_PAGE_LINK" />गोपनीयता धोरण<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> बुकमार्क</translation>
+<translation id="1971033026002113380">TouchID सह पासवर्ड संरक्षित करा</translation>
 <translation id="1973335181906896915">क्रमीकरण एरर</translation>
 <translation id="1974060860693918893">प्रगत</translation>
 <translation id="1975457531113383421">इनपुट ट्रे</translation>
@@ -725,6 +727,7 @@
 <translation id="2881276955470682203">कार्ड सेव्ह करायचे?</translation>
 <translation id="2882949212241984732">डबल-गेट फोल्ड</translation>
 <translation id="2893773853358652045">चौथा रोल</translation>
+<translation id="289834758818479772">तुम्ही हे डिव्‍हाइस इतरांसोबत शेअर करत असल्‍यास, तुम्‍ही सेव्ह केलेला पासवर्ड वापरताना हे तुम्‍हीच आहात याची पडताळणी करण्‍यासाठी तुम्ही TouchID सुरू करू शकता</translation>
 <translation id="2900528713135656174">इव्हेंट तयार करा</translation>
 <translation id="2903493209154104877">पत्ते</translation>
 <translation id="290376772003165898">पेज <ph name="LANGUAGE" />मध्ये नाही?</translation>
@@ -801,6 +804,8 @@
 <translation id="3108943290502734357">मधला ट्रे</translation>
 <translation id="3109728660330352905">तुम्हाला हे पेज पाहण्याची परवानगी नाही.</translation>
 <translation id="3113284927548439113">तिसरी शिफ्ट</translation>
+<translation id="3114040155724590991">Android सिस्टीम अपडेट करत आहे
+    तुमचे अ‍ॅप सुरू करण्यास नेहमीपेक्षा जास्त वेळ लागू शकतो.</translation>
 <translation id="3115363211799416195">{0,plural, =1{गोपनीय फाइल डाउनलोड करायची आहे का?}other{गोपनीय फाइल डाउनलोड करायच्या आहेत का?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> साठी तुम्ही तुमच्या डेटाचा बॅकअप घेणे आणि हे <ph name="DEVICE_TYPE" /> परत करणे आवश्यक आहे.</translation>
 <translation id="3116158981186517402">लॅमिनेट</translation>
@@ -1254,6 +1259,7 @@
 <translation id="4306812610847412719">क्लिपबोर्ड</translation>
 <translation id="4308567447483056043">हे धोरण दुर्लक्षित केले आहे, कारण वापरकर्ता अनुषंगिक नाही. हे धोरण लागू केले जाण्यासाठी, एकाच संस्थेने Chrome ब्राउझर आणि प्रोफाइल ॲडमिन कन्सोलद्वारे व्यवस्थापित करणे आवश्यक आहे.</translation>
 <translation id="4310070645992025887">तुमचे प्रवास शोधा</translation>
+<translation id="4310496734563057511">तुम्ही हे डिव्‍हाइस इतरांसोबत शेअर करत असल्‍यास, तुम्‍ही सेव्ह केलेला पासवर्ड वापरताना हे तुम्‍हीच आहात याची पडताळणी करण्‍यासाठी तुम्ही Windows Hello सुरू करू शकता</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ब्लॉक करा (डीफॉल्ट)</translation>
 <translation id="4314815835985389558">सिंक व्यवस्थापित करा</translation>
@@ -1468,6 +1474,7 @@
 <translation id="4880827082731008257">इतिहास शोध</translation>
 <translation id="4881695831933465202">उघडा</translation>
 <translation id="4885256590493466218">चेकआउट करताना <ph name="CARD_DETAIL" /> वापरून पेमेंट करा</translation>
+<translation id="4887406273302438710">Windows Hello सह पासवर्ड संरक्षित करा</translation>
 <translation id="4888600795924685526">विदेशी भाषा शिकणे</translation>
 <translation id="4889420713887366944">गुप्त विंडो उघडा बटण, खाजगीरीत्या ब्राउझ करण्यासाठी नवीन गुप्त विंडो उघडण्याकरिता एंटर दाबा</translation>
 <translation id="4892518386797173871">मागील</translation>
@@ -1686,6 +1693,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ला तुम्हाला सूचना पाठवायची आहे</translation>
 <translation id="5428105026674456456">स्पॅनिश</translation>
 <translation id="5430298929874300616">बुकमार्क काढून टाका</translation>
+<translation id="5434423669266814150">पासवर्ड भरण्यासाठी TouchID सुरू करा</translation>
 <translation id="5443468954631487277">उलट्या क्रमाने फेस अप</translation>
 <translation id="5447765697759493033">या साइटचे भाषांतर होणार नाही</translation>
 <translation id="5452270690849572955">हे <ph name="HOST_NAME" /> पृष्ठ शोधले जाऊ शकत नाही</translation>
@@ -2463,6 +2471,7 @@
 <translation id="7564049878696755256">तुम्ही तुमच्या Google <ph name="ORG_NAME" /> चा ॲक्सेस गमावू शकता किंवा तुमची संवेदनशील माहिती चोरीला जाऊ शकते. Chrome लगेच तुमचा पासवर्ड बदलण्याची शिफारस करत आहे.</translation>
 <translation id="7564680668369175887">स्टेशन व्हॅगन</translation>
 <translation id="7567204685887185387">हा सर्व्हर हे <ph name="DOMAIN" /> असल्याचे सिद्ध करू शकला नाही; त्याचे सुरक्षितता सर्टिफिकेट कदाचित लबाडीने जारी केले असावे. हे कदाचित एका चुकीच्या कॉंफिगरेशनमुळे किंवा हल्लेखोराने तुमचे कनेक्शन इंटरसेप्ट केल्यामुळे झाले असू शकते.</translation>
+<translation id="7568616151991626879">Google Chrome <ph name="APP_NAME" /> वर तुमचा पासवर्ड भरण्याचा प्रयत्न करत आहे.</translation>
 <translation id="7569490014721427265">गोल्फ</translation>
 <translation id="7569761772822664555">शोध इंजीन व्यवस्थापित करा बटण, तुमचे डीफॉल्ट शोध इंजीन आणि साइट शोध व्यवस्थापित करण्यासाठी एंटर दाबा</translation>
 <translation id="7569952961197462199">Chrome मधून क्रेडिट कार्ड काढून टाकायचे?</translation>
@@ -2493,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{काहीही नाही}=1{तुमच्या खात्यामध्ये एक पासवर्ड (<ph name="DOMAIN_LIST" /> साठी)}other{तुमच्या खात्यामध्ये # पासवर्ड (<ph name="DOMAIN_LIST" /> साठी)}}</translation>
 <translation id="7638605456503525968">सिरीअल पोर्ट</translation>
 <translation id="7639968568612851608">गडद राखाडी</translation>
+<translation id="7646681339175747202">तुम्ही नुकताच वापरलेला पासवर्ड डेटा भंगामध्ये आढळला. Google Password Manager तुमचा पासवर्ड आता बदलण्याची शिफारस करतो.</translation>
 <translation id="7647206758853451655">प्रिंटची गुणवत्ता</translation>
 <translation id="7648992873808071793">या डिव्हाइसवर फाइल संचयित करा</translation>
 <translation id="7653957176542370971">पेमेंट हँडलर शीट बंद केलेले आहे</translation>
diff --git a/components/strings/components_strings_ms.xtb b/components/strings/components_strings_ms.xtb
index bb5b997b..2290f2a 100644
--- a/components/strings/components_strings_ms.xtb
+++ b/components/strings/components_strings_ms.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Lipatan surat</translation>
 <translation id="138218114945450791">Biru Cerah</translation>
 <translation id="1382194467192730611">Peranti USB yang dibenarkan oleh pentadbir anda</translation>
+<translation id="1382378825779654399">Anda akan mendapat makluman e-mel jika harga turun pada mana-mana laman. Halaman ini akan disimpan pada <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Maklumat yang dipaparkan telah lapuk? Sila hubungi bank anda untuk mengemas kini maklumat.</translation>
 <translation id="1384725838384960382">Helaian pengesahan bukti kelayakan pembayaran selamat</translation>
 <translation id="1386623374109090026">Anotasi</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Maklumat rangkaian seperti alamat, konfigurasi antara muka dan kualiti sambungan</translation>
 <translation id="1567040042588613346">Dasar ini berfungsi seperti yang diharapkan tetapi nilai yang sama ditetapkan di tempat lain dan digantikan oleh dasar ini.</translation>
 <translation id="1569487616857761740">Masukkan tarikh tamat tempoh</translation>
+<translation id="1569694109004336106">Google Chrome cuba menghidupkan Windows Hello untuk mengisikan kata laluan.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Kesilapan berlaku semasa memaparkan halaman web ini.</translation>
 <translation id="1586541204584340881">Sambungan yang telah anda pasang</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Markah tertinggi anda ialah <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Bantu kami meningkatkan keselamatan di web untuk semua orang dengan menghantar <ph name="BEGIN_WHITEPAPER_LINK" />URL sesetengah halaman yang anda lawati, maklumat sistem terhad dan sesetengah kandungan halaman<ph name="END_WHITEPAPER_LINK" /> kepada Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Dasar privasi<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> Penanda halaman</translation>
+<translation id="1971033026002113380">Lindungi kata laluan dengan TouchID</translation>
 <translation id="1973335181906896915">Ralat penyirian</translation>
 <translation id="1974060860693918893">Lanjutan</translation>
 <translation id="1975457531113383421">Dulang Input</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Simpan kad?</translation>
 <translation id="2882949212241984732">Lipatan dua pintu</translation>
 <translation id="2893773853358652045">Gulungan Keempat</translation>
+<translation id="289834758818479772">Jika anda berkongsi peranti ini dengan orang lain, anda boleh menghidupkan TouchID untuk mengesahkan orang itu ialah anda setiap kali anda menggunakan kata laluan yang disimpan</translation>
 <translation id="2900528713135656174">Buat acara</translation>
 <translation id="2903493209154104877">Alamat</translation>
 <translation id="290376772003165898">Halaman bukan dalam <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Dulang Tengah</translation>
 <translation id="3109728660330352905">Anda tidak mempunyai kebenaran untuk melihat halaman ini.</translation>
 <translation id="3113284927548439113">Syif ketiga</translation>
+<translation id="3114040155724590991">Mengemas Kini Sistem Android
+    Pemulaan apl anda mungkin mengambil masa yang lebih lama daripada biasa.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Muat turun fail sulit?}other{Muat turun fail sulit?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> menghendaki anda menyandarkan data anda dan mengembalikan <ph name="DEVICE_TYPE" /> ini.</translation>
 <translation id="3116158981186517402">Lamina</translation>
@@ -1256,6 +1262,7 @@
 <translation id="4306812610847412719">papan keratan</translation>
 <translation id="4308567447483056043">Dasar ini diabaikan kerana pengguna bukan ahli gabungan. Untuk menggunakan dasar ini, penyemak imbas dan profil Chrome mesti diurus melalui Konsol pentadbiran oleh organisasi yang sama.</translation>
 <translation id="4310070645992025887">Cari Perjalanan anda</translation>
+<translation id="4310496734563057511">Jika anda berkongsi peranti ini dengan orang lain, anda boleh menghidupkan Windows Hello untuk mengesahkan orang itu ialah anda setiap kali anda menggunakan kata laluan yang disimpan</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Sekat (lalai)</translation>
 <translation id="4314815835985389558">Urus penyegerakan</translation>
@@ -1470,6 +1477,7 @@
 <translation id="4880827082731008257">Sejarah carian</translation>
 <translation id="4881695831933465202">Buka</translation>
 <translation id="4885256590493466218">Buat bayaran menggunakan <ph name="CARD_DETAIL" /> semasa daftar keluar</translation>
+<translation id="4887406273302438710">Lindungi kata laluan dengan Windows Hello</translation>
 <translation id="4888600795924685526">Kajian bahasa asing</translation>
 <translation id="4889420713887366944">Butang buka Tetingkap Inkognito, tekan Enter untuk membuka tetingkap Inkognito baharu untuk menyemak imbas secara peribadi</translation>
 <translation id="4892518386797173871">Belakang</translation>
@@ -1521,6 +1529,7 @@
 <translation id="5018422839182700155">Tidak dapat membuka halaman ini</translation>
 <translation id="5019198164206649151">Simpanan penyandaran dalam keadaan buruk</translation>
 <translation id="5020776957610079374">Muzik dunia</translation>
+<translation id="5021557570875267742">Jejaki harga dengan Chrome</translation>
 <translation id="5023310440958281426">Semak dasar pentadbir anda</translation>
 <translation id="5029568752722684782">Hapuskan salinan</translation>
 <translation id="5030338702439866405">Dikeluarkan Oleh</translation>
@@ -1688,6 +1697,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> mahu menghantar pemberitahuan kepada anda</translation>
 <translation id="5428105026674456456">Bahasa Sepanyol</translation>
 <translation id="5430298929874300616">Alih keluar penanda halaman</translation>
+<translation id="5434423669266814150">hidupkan TouchID untuk mengisikan kata laluan</translation>
 <translation id="5443468954631487277">Susunan terbalik menghadap ke atas</translation>
 <translation id="5447765697759493033">Tapak ini tidak akan diterjemah</translation>
 <translation id="5452270690849572955">Halaman <ph name="HOST_NAME" /> ini tidak ditemui</translation>
@@ -2241,6 +2251,7 @@
 <translation id="6993898126790112050">6x9 (Sampul Surat)</translation>
 <translation id="6996312675313362352">Sentiasa terjemahkan <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Industri hiburan</translation>
+<translation id="7003335073762455340">Anda menjejaki produk ini. Halaman ini disimpan dalam <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Gunakan Windows Hello untuk mengesahkan kad dengan lebih cepat</translation>
 <translation id="7006930604109697472">Hantar sahaja</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2464,6 +2475,7 @@
 <translation id="7564049878696755256">Anda boleh kehilangan akses kepada akaun <ph name="ORG_NAME" /> anda atau mengalami kecurian identiti. Chrome mengesyorkan supaya kata laluan anda ditukar sekarang.</translation>
 <translation id="7564680668369175887">Kereta wagon</translation>
 <translation id="7567204685887185387">Pelayan ini tidak dapat membuktikan bahawa domainnya ialah <ph name="DOMAIN" />; sijil keselamatannya mungkin telah dikeluarkan melalui penipuan. Ini mungkin disebabkan oleh kesilapan konfigurasi atau penyerang yang memintasi sambungan anda.</translation>
+<translation id="7568616151991626879">Google Chrome cuba mengisikan kata laluan anda pada <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Butang urus enjin carian, tekan Enter untuk mengurus enjin carian lalai dan carian laman anda</translation>
 <translation id="7569952961197462199">Alih keluar kad kredit daripada Chrome?</translation>
@@ -2494,6 +2506,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Tiada}=1{1 kata laluan dalam akaun anda (untuk <ph name="DOMAIN_LIST" />)}other{# kata laluan dalam akaun anda (untuk <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Port siri</translation>
 <translation id="7639968568612851608">Kelabu Gelap</translation>
+<translation id="7646681339175747202">Kata laluan yang baru anda gunakan ditemukan dalam pelanggaran data. Google Password Manager mengesyorkan agar anda menukar kata laluan anda sekarang.</translation>
 <translation id="7647206758853451655">Kualiti cetakan</translation>
 <translation id="7648992873808071793">Simpan fail pada peranti ini</translation>
 <translation id="7653957176542370971">Helaian pengendali pembayaran ditutup</translation>
@@ -3036,6 +3049,7 @@
 <translation id="9174623988242579721">Kenderaan tersuai &amp; persembahan</translation>
 <translation id="9174917557437862841">Butang peralihan tab, tekan Enter untuk beralih ke tab ini</translation>
 <translation id="9179703756951298733">Urus maklumat pembayaran dan kad kredit anda dalam tetapan Chrome</translation>
+<translation id="9179907736442194268">Dapatkan makluman e-mel sekiranya harga turun pada mana-mana laman</translation>
 <translation id="9183302530794969518">Dokumen Google</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> menggunakan protokol yang tidak disokong.</translation>
 <translation id="9187461866967718678">Sukan lasak</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index 5bbb3b7..7a08f11c 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">ဝဘ်လိပ်စာများ၊ အင်တာဖေ့စ် စီစဉ်သတ်မှတ်ချက်နှင့် ချိတ်ဆက်မှု အရည်အသွေးကဲ့သို့ ကွန်ရက်အချက်အလက်များ</translation>
 <translation id="1567040042588613346">ဤမူဝါဒသည် သတ်မှတ်ထားသည့်အတိုင်း အလုပ်လုပ်နေသော်လည်း တူညီသောတန်ဖိုးကို တစ်နေရာတွင် သတ်မှတ်ထားပြီး ဤမူဝါဒက အစားထိုးထားသည်။</translation>
 <translation id="1569487616857761740">သက်တမ်းကုန်ဆုံးရက် ထည့်ပါ</translation>
+<translation id="1569694109004336106">စကားဝှက်များဖြည့်ရန်အတွက် Google Chrome က Windows Hello ကိုဖွင့်ရန် ကြိုးစားနေသည်။</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ဤဝဘ်ဆိုက်အား ပြသစဉ် တစ်ခုခု မှားသွား၏။</translation>
 <translation id="1586541204584340881">သင်ထည့်သွင်းထားသည့် နောက်ဆက်တွဲများ</translation>
@@ -400,6 +401,7 @@
 <translation id="1958218078413065209">သင်၏ အမြင့်ဆုံးရမှတ်မှာ <ph name="SCORE" /> ဖြစ်သည်။</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />သင်ဝင်ကြည့်သည့် စာမျက်နှာအချို့၏ URL များ၊ ကန့်သတ်ထားသည့် စနစ်အချက်အလက်များနှင့် အချို့သောစာမျက်နှာပါ အကြောင်းအရာများ<ph name="END_WHITEPAPER_LINK" /> ကို Google သို့ ပို့ပေးခြင်းဖြင့် လူတိုင်းအတွက် ဝဘ်ပေါ်တွင် လုံခြုံရေး ကောင်းမွန်လာအောင် ကူညီပါ။ <ph name="BEGIN_PRIVACY_PAGE_LINK" />ကိုယ်ရေးအချက်အလက် မူဝါဒ<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> စာညှပ်များ</translation>
+<translation id="1971033026002113380">TouchID ဖြင့် စကားဝှက်များကို ကာကွယ်သည်</translation>
 <translation id="1973335181906896915">နံပါတ်စဉ်စီမှု အမှား</translation>
 <translation id="1974060860693918893">အဆင့်မြင့်</translation>
 <translation id="1975457531113383421">ထည့်ရန် ဗန်း</translation>
@@ -731,6 +733,7 @@
 <translation id="2881276955470682203">ကတ်ကို သိမ်းလိုပါသလား။</translation>
 <translation id="2882949212241984732">တံခါးနှစ်ရွက်ပုံစံ ခေါက်ရန်</translation>
 <translation id="2893773853358652045">လေးခုမြောက်အလိပ်</translation>
+<translation id="289834758818479772">ဤစက်ကို အခြားသူများနှင့် မျှဝေအသုံးပြုပါက သိမ်းထားသည့်စကားဝှက်ကို သုံးတိုင်း သင်ဖြစ်ကြောင်းအတည်ပြုရန် TouchID ကို ဖွင့်နိုင်သည်</translation>
 <translation id="2900528713135656174">ဖြစ်ရပ် ဖန်တီးပါ</translation>
 <translation id="2903493209154104877">လိပ်စာများ</translation>
 <translation id="290376772003165898">စာမျက်နှာသည် <ph name="LANGUAGE" /> ဖြင့် ဟုတ်ပါသလား။</translation>
@@ -807,6 +810,8 @@
 <translation id="3108943290502734357">အလယ်ဗန်း</translation>
 <translation id="3109728660330352905">သင်သည် ဤစာမျက်နှာကို ကြည့်ရှုခွင့် မရှိပါ။</translation>
 <translation id="3113284927548439113">တတိယ အရွှေ့</translation>
+<translation id="3114040155724590991">‘Android စနစ်’ အပ်ဒိတ်လုပ်နေသည်
+    သင့်အက်ပ်ကို စဖွင့်သောအခါ ပုံမှန်ထက် ပိုကြာနိုင်သည်။</translation>
 <translation id="3115363211799416195">{0,plural, =1{လျှို့ဝှက်ဖိုင်ကို ဒေါင်းလုဒ်လုပ်မလား။}other{လျှို့ဝှက်ဖိုင်များကို ဒေါင်းလုဒ်လုပ်မလား။}}</translation>
 <translation id="3115874930288085374">သင့်ဒေတာများကို အရန်သိမ်းပြီး ဤ <ph name="DEVICE_TYPE" /> ကို ပြန်ပို့ရန် <ph name="ENROLLMENT_DOMAIN" /> က လိုအပ်သည်။</translation>
 <translation id="3116158981186517402">ပလတ်စတစ်လောင်းရန်</translation>
@@ -1257,6 +1262,7 @@
 <translation id="4306812610847412719">ကလစ်ဘုတ်</translation>
 <translation id="4308567447483056043">အသုံးပြုသူက အဖွဲ့အစည်းအတွင်း မရှိသည့်အတွက် ဤမူဝါဒကို လစ်လျူရှုထားသည်။ ဤမူဝါဒ သက်ရောက်ရန် အဆိုပါအဖွဲ့အစည်း၏ ‘စီမံခန့်ခွဲသူ ကွန်ဆိုးလ်’ မှတစ်ဆင့် Chrome ဘရောင်ဇာနှင့် ပရိုဖိုင်ကို စီမံရမည်။</translation>
 <translation id="4310070645992025887">သင့် ‘ခရီးစဉ်များ’ ရှာရန်</translation>
+<translation id="4310496734563057511">ဤစက်ကို အခြားသူများနှင့် မျှဝေအသုံးပြုပါက သိမ်းထားသည့်စကားဝှက်ကို သုံးတိုင်း သင်ဖြစ်ကြောင်းအတည်ပြုရန် Windows Hello ကို ဖွင့်နိုင်သည်</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ပိတ်ဆို့ရန် (မူရင်း)</translation>
 <translation id="4314815835985389558">စင့်ခ်ကို စီမံရန်</translation>
@@ -1471,6 +1477,7 @@
 <translation id="4880827082731008257">ရှာဖွေမှု မှတ်တမ်း</translation>
 <translation id="4881695831933465202">ဖွင့်</translation>
 <translation id="4885256590493466218">ငွေရှင်းသည့်နေရာတွင် <ph name="CARD_DETAIL" /> ဖြင့် ပေးချေပါ</translation>
+<translation id="4887406273302438710">Windows Hello ဖြင့် စကားဝှက်များကို ကာကွယ်သည်</translation>
 <translation id="4888600795924685526">နိုင်ငံခြားဘာသာလေ့လာမှု</translation>
 <translation id="4889420713887366944">'ရုပ်ဖျက်ဝင်းဒိုးဖွင့်ရန်' ခလုတ်၊ Enter နှိပ်ပြီး Chrome ရုပ်ဖျက်ဝင်းဒိုးအသစ်ဖြင့် သီးသန့်ဖွင့်ကြည့်ရန်</translation>
 <translation id="4892518386797173871">နောက်ဘက်</translation>
@@ -1690,6 +1697,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> သည် သင့်ထံသို့ အကြောင်းကြားချက်များ ပို့လိုသည်</translation>
 <translation id="5428105026674456456">စပိန်</translation>
 <translation id="5430298929874300616">စာညှပ် ဖယ်ရှားရန်</translation>
+<translation id="5434423669266814150">စကားဝှက်များဖြည့်ရန် TouchID ကိုဖွင့်ပါ</translation>
 <translation id="5443468954631487277">ပြောင်းပြန်အစဉ်ဖြင့် အပေါ်လှန်ထားရန်</translation>
 <translation id="5447765697759493033">ဤဝဘ်ဆိုက်ကို ဘာသာပြန်မည် မဟုတ်ပါ</translation>
 <translation id="5452270690849572955">ဤ <ph name="HOST_NAME" /> စာမျက်နှာကို မတွေ့ပါ</translation>
@@ -2467,6 +2475,7 @@
 <translation id="7564049878696755256">သင်သည် သင့် <ph name="ORG_NAME" /> အကောင့်ကို အသုံးပြုခွင့် ဆုံးရှုံးနိုင်သည် သို့မဟုတ် အထောက်အထား အခိုးခံနိုင်သည်။ သင့်စကားဝှက်ကို ယခုပင်ပြောင်းလဲရန် Chrome က အကြံပြုပါသည်။</translation>
 <translation id="7564680668369175887">စတေရှင်ဝက်ဂွန်ကားများ</translation>
 <translation id="7567204685887185387">ဒီဆာဗာက <ph name="DOMAIN" /> ဖြစ်တာကို သက်သေထူ မပြနိုင်ခဲ့ပါ၊ ၎င်း၏ လုံခြုံရေး လက်မှတ်ကို လိမ်လည် ထုတ်ပေးခဲ့တာ ဖြစ်နိုင်သည်။ ဖွဲ့စည်းစီစဉ်မှု အမှားကြောင့် သို့မဟုတ် တိုက်ခိုက်လိုသူက သင်၏ ချိတ်ဆက်မှုကို ကြားဖြတ်ယူနေ၍ ထိုသို့ ဖြစ်လာနိုင်ခဲ့ပါသည်။</translation>
+<translation id="7568616151991626879">Google Chrome သည် <ph name="APP_NAME" /> တွင် သင့်စကားဝှက်ကိုဖြည့်ရန် ကြိုးစားနေသည်။</translation>
 <translation id="7569490014721427265">ဂေါက်ရိုက်ခြင်း</translation>
 <translation id="7569761772822664555">ရှာဖွေရေး အင်ဂျင်များ စီမံရန်ခလုတ်၊ သင်၏မူရင်း ရှာဖွေရေး အင်ဂျင်နှင့် ဝဘ်ဆိုက်ရှာဖွေမှုကို စီမံရန် Enter နှိပ်ပါ</translation>
 <translation id="7569952961197462199">Chrome မှအကြွေးဝယ်ကဒ်ကို ဖယ်ရှားမလား?</translation>
@@ -2497,6 +2506,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{မရှိ}=1{သင့်အကောင့်တွင် စကားဝှက် 1 ခု ရှိသည် (<ph name="DOMAIN_LIST" /> အတွက်)}other{သင့်အကောင့်တွင် စကားဝှက် # ခု ရှိသည် (<ph name="DOMAIN_LIST" /> အတွက်)}}</translation>
 <translation id="7638605456503525968">အစဉ်လိုက်ပို့တ်များ</translation>
 <translation id="7639968568612851608">မီးခိုးရင့်</translation>
+<translation id="7646681339175747202">သင်သုံးလိုက်သည့်စကားဝှက်ကို ဒေတာကျိုးပေါက်မှုတွင် တွေ့ရှိထားသည်။ သင့်စကားဝှက်ကို ယခုပြောင်းရန် ‘Google စကားဝှက်မန်နေဂျာ’ က အကြံပြုပါသည်။</translation>
 <translation id="7647206758853451655">ပုံနှိပ်အရည်အသွေး</translation>
 <translation id="7648992873808071793">ဤစက်ကိရိယာတွင် ဖိုင်များ သိမ်းပါ</translation>
 <translation id="7653957176542370971">ငွေပေးချေမှု ကိုင်တွယ်သည့်စနစ်စာမျက်နှာကို ပိတ်ထားသည်</translation>
diff --git a/components/strings/components_strings_ne.xtb b/components/strings/components_strings_ne.xtb
index 17cfbea..70eeec93 100644
--- a/components/strings/components_strings_ne.xtb
+++ b/components/strings/components_strings_ne.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">लेटर फोल्ड</translation>
 <translation id="138218114945450791">हल्का निलो</translation>
 <translation id="1382194467192730611">तपाईंका प्रशासकले अनुमति दिएको USB यन्त्र</translation>
+<translation id="1382378825779654399">कुनै साइटमा मूल्य घटेका खण्डमा तपाईंलाई इमेलमार्फत अलर्ट पठाइने छ। यो पेज <ph name="LAST_BOOKMARKS_FOLDER" /> मा सेभ गरिने छ।</translation>
 <translation id="1382912999714108023">तपाईंको हालको जानकारी देखाइएको छैन? तपाईं यो जानकारी संशोधन गर्न चाहनुहुन्छ भने कृपया आफ्नो बैंकमा सम्पर्क गर्नुहोस्।</translation>
 <translation id="1384725838384960382">सुरक्षित तरिकाले भुक्तानी गर्नका निम्ति क्रिडेन्सियल पुष्टि गर्ने पाना</translation>
 <translation id="1386623374109090026">एनोटेसनहरू</translation>
@@ -1517,6 +1518,7 @@
 <translation id="5018422839182700155">यो पृष्ठ खोल्न सकिँदैन</translation>
 <translation id="5019198164206649151">खराब स्थितिमा भण्डार ब्याकिङ गर्दै</translation>
 <translation id="5020776957610079374">विश्व सङ्गीत</translation>
+<translation id="5021557570875267742">Chrome मार्फत मूल्य ट्र्याक गर्नुहोस्</translation>
 <translation id="5023310440958281426">तपाईंको व्यवस्थापकको नीतिहरु जाँच्नुहोस्</translation>
 <translation id="5029568752722684782">प्रतिलिपि हटाउनुहोस्</translation>
 <translation id="5030338702439866405">द्वारा जारी गरिएको</translation>
@@ -2237,6 +2239,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" /> भाषाका सामग्री सधैँ अनुवाद गर्नुहोस्</translation>
 <translation id="6999969238895751684">मनोरञ्जन उद्योग</translation>
+<translation id="7003335073762455340">तपाईं यो उत्पादन ट्र्याक गर्दै हुनुहुन्छ। यो पेज <ph name="LAST_BOOKMARKS_FOLDER" /> मा सेभ गरिएको छ।</translation>
 <translation id="7004583254764674281">कार्डहरू अझ छिटो पुष्टि गर्न Windows Hello प्रयोग गर्नुहोस्</translation>
 <translation id="7006930604109697472">जे भए पनि पठाउनुहोस्</translation>
 <translation id="7012363358306927923">चीन UnionPay</translation>
@@ -3031,6 +3034,7 @@
 <translation id="9174623988242579721">कस्टम तथा उच्चस्तरीय सवारी साधनहरू</translation>
 <translation id="9174917557437862841">ट्याब बदल्ने बटन, यो ट्याबमा जान Enter थिच्नुहोस्</translation>
 <translation id="9179703756951298733">Chrome ब्राउजरका सेटिङमा गई आफ्ना भुक्तानी र क्रेडिट कार्डसम्बन्धी जानकारी व्यवस्थापन गर्नुहोस्</translation>
+<translation id="9179907736442194268">कुनै साइटमा मूल्य घटेका खण्डमा इमेलमार्फत अलर्ट प्राप्त गर्नुहोस्</translation>
 <translation id="9183302530794969518">Google कागजात</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> ले असमर्थित प्रोटोकल प्रयोग गर्दछ।</translation>
 <translation id="9187461866967718678">खतरनाक खेलहरू</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index a5d46c7b..d3a88fe 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Brevfals</translation>
 <translation id="138218114945450791">Lyseblå</translation>
 <translation id="1382194467192730611">USB-enheten er tillatt av administratoren din</translation>
+<translation id="1382378825779654399">Du får e-postvarsler hvis prisen settes ned på noe nettsted. Denne siden blir lagret i <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Er ikke informasjonen din oppdatert? Kontakt banken din for å oppdatere den.</translation>
 <translation id="1384725838384960382">Ark for sikker autentisering av betalingslegitimasjon</translation>
 <translation id="1386623374109090026">Annoteringer</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Nettverksinformasjon som adresser, grensesnittkonfigurasjon og tilkoblingskvalitet</translation>
 <translation id="1567040042588613346">Denne regelen fungerer som den skal, men den samme verdien er angitt et annet sted og overstyres av denne regelen.</translation>
 <translation id="1569487616857761740">Oppgi utløpsdato</translation>
+<translation id="1569694109004336106">Google Chrome prøver å slå på Windows Hello for utfylling av passord.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Noe gikk galt da denne nettsiden skulle åpnes.</translation>
 <translation id="1586541204584340881">hvilke utvidelser du har installert</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Poengrekorden din er <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Bidra til å gjøre sikkerheten på nettet bedre for alle ved å sende <ph name="BEGIN_WHITEPAPER_LINK" />nettadressene til noen av sidene du besøker, begrenset systeminformasjon og noe sideinnhold<ph name="END_WHITEPAPER_LINK" /> til Google. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Personvernregler<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" />-bokmerker</translation>
+<translation id="1971033026002113380">Beskytt passord med TouchID</translation>
 <translation id="1973335181906896915">Serialiseringsfeil</translation>
 <translation id="1974060860693918893">Avanserte</translation>
 <translation id="1975457531113383421">Innmatingsskuff</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Vil du lagre kortet?</translation>
 <translation id="2882949212241984732">Lukket vindusfals</translation>
 <translation id="2893773853358652045">Fjerde rull</translation>
+<translation id="289834758818479772">Hvis du deler denne enheten med andre, kan du slå på TouchID for å bekrefte at det er deg, når du bruker lagrede passord</translation>
 <translation id="2900528713135656174">Opprett hendelse</translation>
 <translation id="2903493209154104877">Adresser</translation>
 <translation id="290376772003165898">Er ikke siden på <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Midtre skuff</translation>
 <translation id="3109728660330352905">Du har ikke autorisasjon til å se denne siden.</translation>
 <translation id="3113284927548439113">Tredje vakt</translation>
+<translation id="3114040155724590991">Oppdaterer Android-systemet
+    Det kan ta lengre tid enn vanlig å starte appen.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Vil du laste ned denne konfidensielle filen?}other{Vil du laste ned disse konfidensielle filene?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> krever at du sikkerhetskopierer dataene dine og leverer tilbake <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Laminer</translation>
@@ -1255,6 +1261,7 @@
 <translation id="4306812610847412719">utklippstavle</translation>
 <translation id="4308567447483056043">Denne regelen ignoreres fordi brukeren ikke er tilknyttet. For at denne regelen skal gjelde, må Chrome-nettleseren og -profilen være administrert av den samme organisasjonen via administrasjonskonsollen.</translation>
 <translation id="4310070645992025887">Søk i søkereisene dine</translation>
+<translation id="4310496734563057511">Hvis du deler denne enheten med andre, kan du slå på Windows Hello for å bekrefte at det er deg, når du bruker lagrede passord</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokkér (standard)</translation>
 <translation id="4314815835985389558">Administrer synkronisering</translation>
@@ -1469,6 +1476,7 @@
 <translation id="4880827082731008257">Søk i loggen</translation>
 <translation id="4881695831933465202">Åpne</translation>
 <translation id="4885256590493466218">Betal med <ph name="CARD_DETAIL" /> i kassen</translation>
+<translation id="4887406273302438710">Beskytt passord med Windows Hello</translation>
 <translation id="4888600795924685526">Fremmedspråkstudier</translation>
 <translation id="4889420713887366944">Knappen «Åpne et inkognitovindu» – trykk på Enter for å åpne et nytt inkognitovindu for privat surfing</translation>
 <translation id="4892518386797173871">Bak</translation>
@@ -1520,6 +1528,7 @@
 <translation id="5018422839182700155">Kan ikke åpne denne siden</translation>
 <translation id="5019198164206649151">Ugyldig funksjonalitet for sikkerhetskopiering</translation>
 <translation id="5020776957610079374">Verdensmusikk</translation>
+<translation id="5021557570875267742">Spor priser med Chrome</translation>
 <translation id="5023310440958281426">Kontrollér retningslinjene til administratoren din</translation>
 <translation id="5029568752722684782">Slett kopi</translation>
 <translation id="5030338702439866405">Utstedt av</translation>
@@ -1687,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> vil sende deg varsler</translation>
 <translation id="5428105026674456456">Spansk</translation>
 <translation id="5430298929874300616">Fjern bokmerke</translation>
+<translation id="5434423669266814150">slå på TouchID for å fylle ut passord</translation>
 <translation id="5443468954631487277">Motsatt rekkefølge – forsiden opp</translation>
 <translation id="5447765697759493033">Dette nettstedet oversettes ikke</translation>
 <translation id="5452270690849572955">Denne siden på <ph name="HOST_NAME" /> ble ikke funnet</translation>
@@ -2240,6 +2250,7 @@
 <translation id="6993898126790112050">6x9 (konvolutt)</translation>
 <translation id="6996312675313362352">Oversett alltid <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Underholdningsindustri</translation>
+<translation id="7003335073762455340">Du sporer dette produktet. Denne siden er lagret i <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Bruk Windows Hello til å bekrefte kort raskere</translation>
 <translation id="7006930604109697472">Send likevel</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2462,6 +2473,7 @@
 <translation id="7564049878696755256">Du kan miste tilgangen til <ph name="ORG_NAME" />-kontoen din eller bli utsatt for identitetstyveri. Chrome anbefaler at du endrer passordet ditt nå.</translation>
 <translation id="7564680668369175887">Stasjonsvogner</translation>
 <translation id="7567204685887185387">Denne tjeneren kunne ikke bevise at den er <ph name="DOMAIN" />. Tjenerens sikkerhetssertifikat kan ha blitt utstedt på uredelig vis. Dette kan være forårsaket av en feilkonfigurering eller en angriper som avskjærer tilkoblingen din.</translation>
+<translation id="7568616151991626879">Google Chrome prøver å fylle ut passordet ditt på <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">«Administrer søkemotorer»-knappen – trykk på Enter for å administrere standard søkemotor og nettstedsøk</translation>
 <translation id="7569952961197462199">Vil du fjerne kredittkortet fra Chrome?</translation>
@@ -2492,6 +2504,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Ingen}=1{1 passord i kontoen (for <ph name="DOMAIN_LIST" />)}other{# passord i kontoen (for <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Serielle porter</translation>
 <translation id="7639968568612851608">Mørk grå</translation>
+<translation id="7646681339175747202">Passordet du nettopp brukte, er funnet i et databrudd. Google Passordlagring anbefaler at du endrer passordet nå.</translation>
 <translation id="7647206758853451655">Utskriftskvalitet</translation>
 <translation id="7648992873808071793">lagre filer på denne enheten</translation>
 <translation id="7653957176542370971">Arket for betalingsbehandling er lukket</translation>
@@ -3033,6 +3046,7 @@
 <translation id="9174623988242579721">Spesialbygde kjøretøy og prestasjonskjøretøy</translation>
 <translation id="9174917557437862841">Knappen for å bytte fane – trykk på Enter for å bytte til denne fanen</translation>
 <translation id="9179703756951298733">Administrer betalingene og kredittkortopplysningene dine i Chrome-innstillingene</translation>
+<translation id="9179907736442194268">Få e-postvarsler hvis prisen settes ned på noe nettsted</translation>
 <translation id="9183302530794969518">Google Dokumenter</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> bruker en protokoll som ikke støttes.</translation>
 <translation id="9187461866967718678">Ekstremsport</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index 4a94daf..d3a2527 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">ଠିକଣା, ଇଣ୍ଟରଫେସ କନଫିଗରେସନ ଏବଂ ସଂଯୋଗର ଗୁଣବତ୍ତା ପରି ନେଟୱାର୍କିଂ ସୂଚନା</translation>
 <translation id="1567040042588613346">ଏହି ନୀତି ଆଶାନୁରୂପ ଭାବେ କାର୍ଯ୍ୟ କରୁଛି କିନ୍ତୁ ସମାନ ମୂଲ୍ୟ ଅନ୍ୟ କୌଣସି ସ୍ଥାନରେ ସେଟ୍ କରାଯାଇଛି ଏବଂ ଏହି ନୀତି ଦ୍ୱାରା ସ୍ଥାନ ଅଧିକାର କରାଯାଇଛି।</translation>
 <translation id="1569487616857761740">ମିଆଦ ଶେଷର ତାରିଖ ଲେଖନ୍ତୁ</translation>
+<translation id="1569694109004336106">Google Chrome, ପାସୱାର୍ଡଗୁଡ଼ିକୁ ପୂରଣ କରିବା ପାଇଁ Windows Hello ଚାଲୁ କରିବାକୁ ଚେଷ୍ଟା କରୁଛି।</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ଏହି ୱେବ୍ ପୃଷ୍ଠାଟି ପ୍ରଦର୍ଶନ କରୁଥିବା ବେଳେ କିଛି ତ୍ରୁଟି ହୋଇଛି।</translation>
 <translation id="1586541204584340881">ଆପଣ କେଉଁ ଏକ୍ସଟେନସନଗୁଡ଼ିକୁ ଇନଷ୍ଟଲ୍ କରିଛନ୍ତି</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">ଆପଣଙ୍କର ସର୍ବାଧିକ ସ୍କୋର୍ ହେଉଛି <ph name="SCORE" />।</translation>
 <translation id="1959001866257244765">Googleକୁ <ph name="BEGIN_WHITEPAPER_LINK" />ଆପଣ ଭିଜିଟ୍ କରୁଥିବା କିଛି ପୃଷ୍ଠାର URLଗୁଡ଼ିକ, ସୀମିତ ସିଷ୍ଟମ୍ ସୂଚନା ଏବଂ କିଛି ପୃଷ୍ଠାର ବିଷୟବସ୍ତୁ<ph name="END_WHITEPAPER_LINK" /> ପଠାଇ ସମସ୍ତଙ୍କ ପାଇଁ ୱେବରେ ସୁରକ୍ଷାକୁ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ। <ph name="BEGIN_PRIVACY_PAGE_LINK" />ଗୋପନୀୟତା ନୀତି<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> ବୁକମାର୍କଗୁଡିକ</translation>
+<translation id="1971033026002113380">TouchID ମାଧ୍ୟମରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ସୁରକ୍ଷିତ କରନ୍ତୁ</translation>
 <translation id="1973335181906896915">କ୍ରମିକୀକରଣ ତ୍ରୁଟି</translation>
 <translation id="1974060860693918893">ବିକଶିତ</translation>
 <translation id="1975457531113383421">ଇନପୁଟ୍ ଟ୍ରେ</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">କାର୍ଡ ସେଭ୍ କରିବେ?</translation>
 <translation id="2882949212241984732">ଡବଲ୍-ଗେଟ୍ ଫୋଲ୍ଡ</translation>
 <translation id="2893773853358652045">ଚତୁର୍ଥ ରୋଲ୍</translation>
+<translation id="289834758818479772">ଯଦି ଆପଣ ଏହି ଡିଭାଇସକୁ ଅନ୍ୟମାନଙ୍କ ସହ ସେୟାର କରନ୍ତି, ତେବେ ଏକ ସେଭ କରାଯାଇଥିବା ପାସୱାର୍ଡକୁ ଆପଣ ଯେତେବେଳେ ବ୍ୟବହାର କରନ୍ତି ସେତେବେଳେ ଏହା ଆପଣ ଅଟନ୍ତି ବୋଲି ଯାଞ୍ଚ କରିବା ପାଇଁ TouchIDକୁ ଚାଲୁ କରିପାରିବେ</translation>
 <translation id="2900528713135656174">ଇଭେଣ୍ଟ ତିଆରି କରନ୍ତୁ</translation>
 <translation id="2903493209154104877">ଠିକଣାଗୁଡ଼ିକ</translation>
 <translation id="290376772003165898">ପୃଷ୍ଠାଟି <ph name="LANGUAGE" />ରେ ନାହିଁ?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">ମଧ୍ୟମ ଟ୍ରେ</translation>
 <translation id="3109728660330352905">ଏହି ପୃଷ୍ଠାକୁ ଦେଖିବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ଅଧିକାର ନାହିଁ।</translation>
 <translation id="3113284927548439113">ତୃତୀୟ ସିଫ୍ଟ</translation>
+<translation id="3114040155724590991">Android ସିଷ୍ଟମକୁ ଅପଡେଟ କରାଯାଉଛି
+    ଆପଣଙ୍କ ଆପ ଆରମ୍ଭ ହେବା ପାଇଁ ସାଧାରଣ ଅପେକ୍ଷା ଅଧିକ ସମୟ ଲାଗିପାରେ।</translation>
 <translation id="3115363211799416195">{0,plural, =1{ଗୋପନୀୟ ଫାଇଲ ଡାଉନଲୋଡ କରିବେ?}other{ଗୋପନୀୟ ଫାଇଲଗୁଡ଼ିକ ଡାଉନଲୋଡ କରିବେ?}}</translation>
 <translation id="3115874930288085374">ଆପଣ ଆପଣଙ୍କ ଡାଟାର ବ୍ୟାକଅପ୍ ନେଇ ଏହି <ph name="DEVICE_TYPE" />କୁ ଫେରସ୍ତ କରନ୍ତୁ ବୋଲି <ph name="ENROLLMENT_DOMAIN" /> ଚାହେଁ।</translation>
 <translation id="3116158981186517402">ଲାମିନେଟ୍</translation>
@@ -1253,6 +1258,7 @@
 <translation id="4306812610847412719">କ୍ଲିପବୋର୍ଡ</translation>
 <translation id="4308567447483056043">ଉପଯୋଗକର୍ତ୍ତା ଆଫିଲିଏଟ ହୋଇନଥିବା ଯୋଗୁଁ ଏହି ନୀତିକୁ ଅଣଦେଖା କରାଯାଇଛି। ଏହି ନୀତି ଲାଗୁ ହେବା ପାଇଁ, Chrome ବ୍ରାଉଜର ଏବଂ ପ୍ରୋଫାଇଲ ସମାନ ସଂସ୍ଥା ଦ୍ୱାରା ଆଡମିନ କନସୋଲ ମାଧ୍ୟମରେ ପରିଚାଳିତ ହେବା ଆବଶ୍ୟକ।</translation>
 <translation id="4310070645992025887">ଆପଣଙ୍କ ଯାତ୍ରାଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ</translation>
+<translation id="4310496734563057511">ଯଦି ଆପଣ ଏହି ଡିଭାଇସକୁ ଅନ୍ୟମାନଙ୍କ ସହ ସେୟାର କରନ୍ତି, ତେବେ ଏକ ସେଭ କରାଯାଇଥିବା ପାସୱାର୍ଡକୁ ଆପଣ ଯେତେବେଳେ ବ୍ୟବହାର କରନ୍ତି ସେତେବେଳେ ଏହା ଆପଣ ଅଟନ୍ତି ବୋଲି ଯାଞ୍ଚ କରିବା ପାଇଁ Windows Helloକୁ ଚାଲୁ କରିପାରିବେ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ବ୍ଲକ୍ କରନ୍ତୁ (ଡିଫଲ୍ଟ)</translation>
 <translation id="4314815835985389558">ସିଙ୍କ ପରିଚାଳନା କରନ୍ତୁ</translation>
@@ -1468,6 +1474,7 @@
 <translation id="4880827082731008257">ସନ୍ଧାନ ଇତିହାସ</translation>
 <translation id="4881695831933465202">ଖୋଲନ୍ତୁ</translation>
 <translation id="4885256590493466218">ଚେକଆଉଟ୍ କରିବା ସମୟରେ <ph name="CARD_DETAIL" /> ମାଧ୍ୟମରେ ପେମେଣ୍ଟ କରନ୍ତୁ</translation>
+<translation id="4887406273302438710">Windows Hello ମାଧ୍ୟମରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ସୁରକ୍ଷିତ କରନ୍ତୁ</translation>
 <translation id="4888600795924685526">ବିଦେଶୀ ଭାଷା ଅଧ୍ୟୟନ</translation>
 <translation id="4889420713887366944">"ଇନକଗ୍ନିଟୋ ୱିଣ୍ଡୋ ଖୋଲନ୍ତୁ" ବଟନ୍, ବ୍ୟକ୍ତିଗତ ଭାବେ ବ୍ରାଉଜ୍ କରିବାକୁ ଏକ ନୂଆ ଇନକଗ୍ନିଟୋ ୱିଣ୍ଡୋ ଖୋଲିବା ପାଇଁ Enter ଦବାନ୍ତୁ</translation>
 <translation id="4892518386797173871">ପଛଭାଗ</translation>
@@ -1687,6 +1694,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇବାକୁ ଚାହୁଁଛି</translation>
 <translation id="5428105026674456456">ସ୍ପାନିଶ୍</translation>
 <translation id="5430298929874300616">ବୁକମାର୍କ୍ କାଢ଼ିଦିଅନ୍ତୁ</translation>
+<translation id="5434423669266814150">ପାସୱାର୍ଡଗୁଡ଼ିକୁ ପୂରଣ କରିବା ପାଇଁ TouchID ଚାଲୁ କରନ୍ତୁ</translation>
 <translation id="5443468954631487277">ଓଲଟା ଅର୍ଡରରେ ଫେସ୍ ଅପ୍</translation>
 <translation id="5447765697759493033">ଏହି ସାଇଟ୍‌ ଅନୁବାଦ କରାଯିବ ନାହିଁ</translation>
 <translation id="5452270690849572955">ଏହି <ph name="HOST_NAME" /> ପୃଷ୍ଠା ମିଳିଲା ନାହିଁ</translation>
@@ -2463,6 +2471,7 @@
 <translation id="7564049878696755256">ଆପଣଙ୍କର <ph name="ORG_NAME" /> ଆକାଉଣ୍ଟ ପାଇଁ ଥିବା ଆକ୍ସେସ୍ ହରାଇବା କିମ୍ବା ନିଜର ପରିଚୟ ଚୋରି ହେବାର ଅନୁଭୁତି ପ୍ରାପ୍ତ କରିପାରନ୍ତି। ବର୍ତ୍ତମାନ Chrome ଆପଣଙ୍କୁ ପାସ୍‌ୱର୍ଡ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ସୁପାରିଶ୍‌ କରୁଛି।</translation>
 <translation id="7564680668369175887">ଷ୍ଟେସନ ୱାଗନଗୁଡ଼ିକ</translation>
 <translation id="7567204685887185387">ଏହା <ph name="DOMAIN" /> ଅଟେ ବୋଲି ଏହି ସର୍ଭର୍ ପ୍ରମାଣ କରିପାରିଲା ନାହିଁ; ଏହାର ସୁରକ୍ଷା ସାର୍ଟିଫିକେଟ୍ ହୁଏତ ପ୍ରବଞ୍ଚନାପୂର୍ବକ ଭାବରେ ଜାରି କରାଯାଇଥାଇପାରେ। ଏହା ହୁଏତ ଏକ ଭୁଲ କନଫିଗ୍‌ରେସନ୍ କିମ୍ବା ଜଣେ ଆକ୍ରମଣକାରୀ ଆପଣଙ୍କର ସଂଯୋଗକୁ ପ୍ରତିରୋଧ କରୁଥିବା କାରଣରୁ ହୋଇଥାଇପାରେ।</translation>
+<translation id="7568616151991626879">Google Chrome ଆପଣଙ୍କ ପାସୱାର୍ଡକୁ <ph name="APP_NAME" />ରେ ପୂରଣ କରିବାକୁ ଚେଷ୍ଟା କରୁଛି।</translation>
 <translation id="7569490014721427265">ଗଲ୍ଫ</translation>
 <translation id="7569761772822664555">ସନ୍ଧାନ ଇଞ୍ଜିନ ବଟନକୁ ପରିଚାଳନା କରନ୍ତୁ, ଆପଣଙ୍କ ଡିଫଲ୍ଟ ସନ୍ଧାନ ଇଞ୍ଜିନ ଏବଂ ସାଇଟ ସନ୍ଧାନକୁ ପରିଚାଳନା କରିବା ପାଇଁ Enter ଦବାନ୍ତୁ</translation>
 <translation id="7569952961197462199">Chromeରୁ କ୍ରେଡିଟ୍‍ କାର୍ଡ କାଢ଼ିବେ?</translation>
@@ -2493,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{କିଛି ନାହିଁ}=1{ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ 1ଟି ପାସୱାର୍ଡ (<ph name="DOMAIN_LIST" /> ପାଇଁ)}other{ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ #ଟି ପାସୱାର୍ଡ (<ph name="DOMAIN_LIST" /> ପାଇଁ)}}</translation>
 <translation id="7638605456503525968">କ୍ରମିକ ପୋର୍ଟଗୁଡ଼ିକ</translation>
 <translation id="7639968568612851608">ଗାଢ଼ ଧୂସର</translation>
+<translation id="7646681339175747202">ଆପଣ ଏବେ ବ୍ୟବହାର କରିଥିବା ପାସୱାର୍ଡ ଏକ ଡାଟା ଉଲ୍ଲଙ୍ଘନରେ ମିଳିଛି। Google Password Manager ବର୍ତ୍ତମାନ ଆପଣଙ୍କ ପାସୱାର୍ଡକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ସୁପାରିଶ କରେ।</translation>
 <translation id="7647206758853451655">ପ୍ରିଣ୍ଟ ଗୁଣବତ୍ତା</translation>
 <translation id="7648992873808071793">ଏହି ଡିଭାଇସ୍‌ରେ ଫାଇଲ୍ ଷ୍ଟୋର୍ କରନ୍ତୁ</translation>
 <translation id="7653957176542370971">ପେମେଣ୍ଟ ହ୍ୟାଣ୍ଡଲର୍ ସିଟ୍ ବନ୍ଦ ଅଛି</translation>
diff --git a/components/strings/components_strings_pa.xtb b/components/strings/components_strings_pa.xtb
index 3673a1f..97cc25aa 100644
--- a/components/strings/components_strings_pa.xtb
+++ b/components/strings/components_strings_pa.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">ਚਿੱਠੀ ਵਾਲੀ ਤਹਿ</translation>
 <translation id="138218114945450791">ਹਲਕਾ ਨੀਲਾ</translation>
 <translation id="1382194467192730611">ਤੁਹਾਡੇ ਪ੍ਰਸ਼ਾਸਕ ਦੀ ਮਨਜ਼ੂਰੀ ਵਾਲਾ USB ਡੀਵਾਈਸ</translation>
+<translation id="1382378825779654399">ਕਿਸੇ ਵੀ ਸਾਈਟ 'ਤੇ ਕੀਮਤਾਂ ਘਟਣ 'ਤੇ ਤੁਹਾਨੂੰ ਈਮੇਲ ਸੁਚੇਤਨਾਵਾਂ ਪ੍ਰਾਪਤ ਹੋਣਗੀਆਂ। ਇਹ ਪੰਨਾ <ph name="LAST_BOOKMARKS_FOLDER" /> 'ਤੇ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ।</translation>
 <translation id="1382912999714108023">ਕੀ ਤੁਹਾਡੀ ਵਰਤਮਾਨ ਜਾਣਕਾਰੀ ਦਿਖਾਈ ਨਹੀਂ ਦੇ ਰਹੀ ਹੈ? ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਆਪਣੇ ਬੈਂਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।</translation>
 <translation id="1384725838384960382">ਸੁਰੱਖਿਅਤ ਭੁਗਤਾਨ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਪ੍ਰਮਾਣੀਕਰਨ ਸ਼ੀਟ</translation>
 <translation id="1386623374109090026">ਐਨੋਟੇਸ਼ਨਾਂ</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">ਨੈੱਟਵਰਕਿੰਗ ਜਾਣਕਾਰੀ ਜਿਵੇਂ ਕਿ ਪਤੇ, ਇੰਟਰਫੇਸ ਸੰਰੂਪਣ, ਅਤੇ ਕਨੈਕਸ਼ਨ ਗੁਣਵੱਤਾ</translation>
 <translation id="1567040042588613346">ਇਹ ਨੀਤੀ ਉਮੀਦ ਮੁਤਾਬਕ ਕੰਮ ਕਰ ਰਹੀ ਹੈ ਪਰ ਸਮਾਨ ਮੁੱਲ ਕਿਸੇ ਹੋਰ ਥਾਂ 'ਤੇ ਸੈੱਟ ਹੈ ਅਤੇ ਇਸ ਨੀਤੀ ਵੱਲੋਂ ਪ੍ਰਤਿਸਥਾਪਨ ਕੀਤਾ ਗਿਆ ਹੈ।</translation>
 <translation id="1569487616857761740">ਮਿਆਦ ਮੁੱਕਣ ਦੀ ਤਾਰੀਖ ਦਾਖਲ ਕਰੋ</translation>
+<translation id="1569694109004336106">Google Chrome ਪਾਸਵਰਡ ਭਰਨ ਲਈ Windows Hello ਨੂੰ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ।</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">ਇਹ ਵੈਬਸਫ਼ਾ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰਦੇ ਸਮੇਂ ਕੁਝ ਗ਼ਲਤ ਹੋਇਆ ਸੀ।</translation>
 <translation id="1586541204584340881">ਤੁਸੀਂ ਕਿਹੜੀਆਂ ਐਕਸਟੈਂਸ਼ਨਾਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">ਤੁਹਾਡਾ ਸਭ ਤੋਂ ਵੱਧ ਸਕੋਰ <ph name="SCORE" /> ਹੈ।</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />ਤੁਹਾਡੇ ਵੱਲੋਂ ਦੇਖੇ ਕੁਝ ਪੰਨਿਆਂ ਦੇ URL, ਸੀਮਤ ਸਿਸਟਮ ਜਾਣਕਾਰੀ ਅਤੇ ਕੁਝ ਪੰਨਾ ਸਮੱਗਰੀ<ph name="END_WHITEPAPER_LINK" /> Google ਨੂੰ ਭੇਜ ਕੇ ਵੈੱਬ 'ਤੇ ਸੁਰੱਖਿਆ ਨੂੰ ਹਰੇਕ ਲਈ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ। <ph name="BEGIN_PRIVACY_PAGE_LINK" />ਪਰਦੇਦਾਰੀ ਨੀਤੀ<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> ਬੁੱਕਮਾਰਕਸ</translation>
+<translation id="1971033026002113380">TouchID ਨਾਲ ਪਾਸਵਰਡ ਸੁਰੱਖਿਅਤ ਕਰੋ</translation>
 <translation id="1973335181906896915">ਸੀਰੀਅਲਾਈਜ਼ੇਸ਼ਨ ਗੜਬੜ</translation>
 <translation id="1974060860693918893">ਉੱਨਤ</translation>
 <translation id="1975457531113383421">ਇਨਪੁੱਟ ਟ੍ਰੇਅ</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">ਕੀ ਕਾਰਡ ਰੱਖਿਅਤ ਕਰਨਾ ਹੈ?</translation>
 <translation id="2882949212241984732">ਦੋਹਰੇ ਪੱਲੇ ਵਾਲੀ ਤਹਿ</translation>
 <translation id="2893773853358652045">ਚੌਥਾ ਰੋਲ</translation>
+<translation id="289834758818479772">ਜੇ ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਹੋਰਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ TouchID ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਕਿ ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ ਤਾਂ ਇਹ ਤੁਹਾਡੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕੇ</translation>
 <translation id="2900528713135656174">ਵਰਤਾਰਾ ਬਣਾਓ</translation>
 <translation id="2903493209154104877">ਪਤੇ</translation>
 <translation id="290376772003165898">ਕੀ ਪੰਨਾ <ph name="LANGUAGE" /> ਵਿੱਚ ਨਹੀਂ ਹੈ?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">ਵਿਚਕਾਰਲੀ ਟ੍ਰੇਅ</translation>
 <translation id="3109728660330352905">ਤੁਹਾਡੇ ਕੋਲ ਇਸ ਪੰਨੇ ਨੂੰ ਦੇਖਣ ਦਾ ਅਧਿਕਾਰ ਨਹੀਂ ਹੈ।</translation>
 <translation id="3113284927548439113">ਤੀਜੀ ਸ਼ਿਫਟ</translation>
+<translation id="3114040155724590991">Android ਸਿਸਟਮ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ
+    ਤੁਹਾਡੀ ਐਪ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਵਿੱਚ ਆਮ ਨਾਲੋਂ ਵੱਧ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ।</translation>
 <translation id="3115363211799416195">{0,plural, =1{ਕੀ ਗੁਪਤ ਫ਼ਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਹੈ?}one{ਕੀ ਗੁਪਤ ਫ਼ਾਈਲ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਹੈ?}other{ਕੀ ਗੁਪਤ ਫ਼ਾਈਲਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨਾ ਹੈ?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> ਲਈ ਤੁਹਾਨੂੰ ਆਪਣੇ ਡਾਟੇ ਦਾ ਬੈਕਅੱਪ ਲੈਣ ਅਤੇ ਇਸ <ph name="DEVICE_TYPE" /> ਨੂੰ ਵਾਪਸ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।</translation>
 <translation id="3116158981186517402">ਲੈਮੀਨੇਟ</translation>
@@ -1252,6 +1258,7 @@
 <translation id="4306812610847412719">ਕਲਿੱਪਬੋਰਡ</translation>
 <translation id="4308567447483056043">ਇਸ ਨੀਤੀ ਨੂੰ ਇਸ ਲਈ ਅਣਡਿੱਠ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਵਰਤੋਂਕਾਰ ਸੰਬੰਧਿਤ ਨਹੀਂ ਹੈ। ਇਸ ਨੀਤੀ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ, Chrome ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਪ੍ਰੋਫਾਈਲ ਦਾ ਉਸੇ ਸੰਸਥਾ ਦੇ ਪ੍ਰਸ਼ਾਸਕ ਕੰਸੋਲ ਰਾਹੀਂ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।</translation>
 <translation id="4310070645992025887">ਆਪਣੇ ਖੋਜ ਸਫ਼ਰਾਂ ਲਈ ਖੋਜ ਕਰੋ</translation>
+<translation id="4310496734563057511">ਜੇ ਤੁਸੀਂ ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਹੋਰਾਂ ਨਾਲ ਸਾਂਝਾ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ Windows Hello ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ, ਤਾਂ ਕਿ ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ ਤਾਂ ਇਹ ਤੁਹਾਡੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕੇ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ਬਲਾਕ ਕਰੋ (ਪੂਰਵ-ਨਿਰਧਾਰਤ)</translation>
 <translation id="4314815835985389558">ਸਿੰਕ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
@@ -1466,6 +1473,7 @@
 <translation id="4880827082731008257">ਖੋਜ ਇਤਿਹਾਸ</translation>
 <translation id="4881695831933465202">ਖੋਲ੍ਹੋ</translation>
 <translation id="4885256590493466218">ਚੈੱਕਆਊਟ ਕਰਨ ਵੇਲੇ <ph name="CARD_DETAIL" /> ਨਾਲ ਭੁਗਤਾਨ ਕਰੋ</translation>
+<translation id="4887406273302438710">Windows Hello ਨਾਲ ਪਾਸਵਰਡ ਸੁਰੱਖਿਅਤ ਕਰੋ</translation>
 <translation id="4888600795924685526">ਵਿਦੇਸ਼ੀ ਭਾਸ਼ਾ ਦਾ ਅਧਿਐਨ</translation>
 <translation id="4889420713887366944">'ਇਨਕੋਗਨਿਟੋ ਵਿੰਡੋ ਖੋਲ੍ਹੋ' ਬਟਨ, ਨਿੱਜੀ ਤੌਰ 'ਤੇ ਬ੍ਰਾਊਜ਼ ਕਰਨ ਲਈ ਨਵੀਂ ਇਨਕੋਗਨਿਟੋ ਵਿੰਡੋ ਖੋਲ੍ਹਣ ਵਾਸਤੇ Enter ਦਬਾਓ</translation>
 <translation id="4892518386797173871">ਪਿਛਲਾ</translation>
@@ -1517,6 +1525,7 @@
 <translation id="5018422839182700155">ਇਸ ਪੰਨੇ ਨੂੰ ਨਹੀਂ ਖੋਲ੍ਹਿਆ ਜਾ ਸਕਦਾ</translation>
 <translation id="5019198164206649151">ਬੈਕਿੰਗ ਸਟੋਰ ਖ਼ਰਾਬ ਸਥਿਤੀ ਵਿੱਚ</translation>
 <translation id="5020776957610079374">ਵਿਸ਼ਵ ਸੰਗੀਤ</translation>
+<translation id="5021557570875267742">Chrome ਨਾਲ ਕੀਮਤਾਂ ਟਰੈਕ ਕਰੋ</translation>
 <translation id="5023310440958281426">ਆਪਣੇ ਪ੍ਰਬੰਧਕ ਦੀਆਂ ਨੀਤੀਆਂ ਦੇਖੋ</translation>
 <translation id="5029568752722684782">ਕਾਪੀ ਹਟਾਓ</translation>
 <translation id="5030338702439866405">ਵੱਲੋਂ ਜਾਰੀ ਕੀਤਾ</translation>
@@ -1684,6 +1693,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਭੇਜਣਾ ਚਾਹੁੰਦੀ ਹੈ।</translation>
 <translation id="5428105026674456456">ਸਪੇਨਿਸ਼</translation>
 <translation id="5430298929874300616">ਬੁੱਕਮਾਰਕ ਹਟਾਓ</translation>
+<translation id="5434423669266814150">ਪਾਸਵਰਡ ਭਰਨ ਲਈ TouchID ਚਾਲੂ ਕਰੋ</translation>
 <translation id="5443468954631487277">ਉਲਟੇ ਕ੍ਰਮ ਵਿੱਚ ਪਾਸਾ ਉੱਪਰ ਕੀਤੇ ਹੋਏ</translation>
 <translation id="5447765697759493033">ਇਸ ਸਾਈਟ ਦਾ ਅਨੁਵਾਦ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ</translation>
 <translation id="5452270690849572955">ਇਸ <ph name="HOST_NAME" /> ਪੰਨੇ ਨੂੰ ਲੱਭਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ</translation>
@@ -2236,6 +2246,7 @@
 <translation id="6993898126790112050">6x9 (ਲਿਫ਼ਾਫ਼ਾ)</translation>
 <translation id="6996312675313362352">ਹਮੇਸ਼ਾਂ <ph name="ORIGINAL_LANGUAGE" /> ਦਾ ਅਨੁਵਾਦ ਕਰੋ</translation>
 <translation id="6999969238895751684">ਮਨੋਰੰਜਨ ਉਦਯੋਗ</translation>
+<translation id="7003335073762455340">ਤੁਸੀਂ ਇਸ ਉਤਪਾਦ ਨੂੰ ਟਰੈਕ ਕਰ ਰਹੇ ਹੋ। ਇਹ ਪੰਨਾ <ph name="LAST_BOOKMARKS_FOLDER" /> ਵਿੱਚ ਰੱਖਿਅਤ ਹੈ।</translation>
 <translation id="7004583254764674281">ਕਾਰਡਾਂ ਦੀ ਤੇਜ਼ੀ ਨਾਲ ਤਸਦੀਕ ਕਰਨ ਲਈ Windows Hello ਵਰਤੋ</translation>
 <translation id="7006930604109697472">ਫੇਰ ਵੀ ਭੇਜੋ</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2459,6 +2470,7 @@
 <translation id="7564049878696755256">ਤੁਸੀਂ ਆਪਣੇ <ph name="ORG_NAME" /> ਖਾਤੇ 'ਤੇ ਪਹੁੰਚ ਗੁਆ ਸਕਦੇ ਹੋ ਜਾਂ ਤੁਹਾਡੀ ਪਛਾਣ ਚੋਰੀ ਹੋ ਸਕਦੀ ਹੈ। Chrome ਵੱਲੋਂ ਹੁਣੇ ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਬਦਲਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।</translation>
 <translation id="7564680668369175887">ਸਟੇਸ਼ਨ ਵੈਗਨ</translation>
 <translation id="7567204685887185387">ਇਹ ਸਰਵਰ ਇਹ ਸਿੱਧ ਨਹੀਂ ਕਰ ਸਕਿਆ ਕਿ ਇਹ <ph name="DOMAIN" /> ਹੈ; ਇਸਦਾ ਸੁਰੱਖਿਆ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਧੋਖ਼ੇਬਾਜ਼ੀ ਨਾਲ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੋ ਸਕਦਾ ਹੈ। ਇਹ ਇੱਕ ਗਲਤ ਸੰਰੂਪਣ ਕਾਰਨ ਹੋ ਸਕਦਾ ਹੈ ਜਾਂ ਕੋਈ ਹਮਲਾਵਰ ਤੁਹਾਡੇ ਕਨੈਕਸ਼ਨ ਨੂੰ ਰਾਹ ਵਿੱਚ ਰੋਕ ਰਿਹਾ ਹੈ।</translation>
+<translation id="7568616151991626879">Google Chrome <ph name="APP_NAME" /> 'ਤੇ ਤੁਹਾਡਾ ਪਾਸਵਰਡ ਭਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ।</translation>
 <translation id="7569490014721427265">ਗੌਲਫ਼</translation>
 <translation id="7569761772822664555">'ਖੋਜ ਇੰਜਣਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ' ਬਟਨ, ਆਪਣੇ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਖੋਜ ਇੰਜਣ ਅਤੇ ਸਾਈਟ ਖੋਜ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ Enter ਦਬਾਓ</translation>
 <translation id="7569952961197462199">ਕੀ Chrome ਤੋਂ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?</translation>
@@ -2489,6 +2501,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{ਕੋਈ ਨਹੀਂ}=1{ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ 1 ਪਾਸਵਰਡ (<ph name="DOMAIN_LIST" /> ਲਈ)}other{ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ # ਪਾਸਵਰਡ (<ph name="DOMAIN_LIST" /> ਲਈ)}}</translation>
 <translation id="7638605456503525968">ਸੀਰੀਅਲ ਪੋਰਟ</translation>
 <translation id="7639968568612851608">ਗੂੜ੍ਹਾ ਸਲੇਟੀ</translation>
+<translation id="7646681339175747202">ਤੁਹਾਡੇ ਵੱਲੋਂ ਹੁਣੇ ਹੀ ਵਰਤਿਆ ਗਿਆ ਪਾਸਵਰਡ ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਮਿਲਿਆ ਸੀ। Google Password Manager ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਹੁਣੇ ਬਦਲਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।</translation>
 <translation id="7647206758853451655">ਪ੍ਰਿੰਟ ਕੁਆਲਿਟੀ</translation>
 <translation id="7648992873808071793">ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਫਾਈਲਾਂ ਸਟੋਰ ਕਰੋ</translation>
 <translation id="7653957176542370971">ਭੁਗਤਾਨ ਹੈਂਡਲਰ ਸ਼ੀਟ ਬੰਦ ਹੈ</translation>
@@ -3030,6 +3043,7 @@
 <translation id="9174623988242579721">ਵਿਉਂਤੇ ਅਤੇ ਕਾਰਗੁਜ਼ਾਰੀ ਵਾਹਨ</translation>
 <translation id="9174917557437862841">ਟੈਬ ਬਦਲਣ ਦਾ ਬਟਨ, ਇਸ ਟੈਬ 'ਤੇ ਜਾਣ ਲਈ ਐਂਟਰ ਦਬਾਓ</translation>
 <translation id="9179703756951298733">Chrome ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਪਣੇ ਭੁਗਤਾਨਾਂ ਅਤੇ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ</translation>
+<translation id="9179907736442194268">ਕਿਸੇ ਵੀ ਸਾਈਟ 'ਤੇ ਕੀਮਤਾਂ ਘਟਣ 'ਤੇ ਈਮੇਲ ਸੁਚੇਤਨਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> ਇੱਕ ਅਸਮਰਥਿਤ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।</translation>
 <translation id="9187461866967718678">ਜੋਖਮ ਭਰੀਆਂ ਖੇਡਾਂ</translation>
diff --git a/components/strings/components_strings_pl.xtb b/components/strings/components_strings_pl.xtb
index 158ee0f..cf7b0f2c 100644
--- a/components/strings/components_strings_pl.xtb
+++ b/components/strings/components_strings_pl.xtb
@@ -260,6 +260,7 @@
 <translation id="156703335097561114">Dane sieciowe dotyczące adresów, konfiguracji interfejsu i jakości połączenia</translation>
 <translation id="1567040042588613346">Ta zasada działa w oczekiwany sposób, ale zastąpiła tę samą wartość ustawioną w innym miejscu.</translation>
 <translation id="1569487616857761740">Wpisz datę ważności</translation>
+<translation id="1569694109004336106">Google Chrome próbuje włączyć Windows Hello, aby wypełniać hasła.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Podczas wyświetlania strony wystąpił błąd.</translation>
 <translation id="1586541204584340881">Zainstalowane przez Ciebie rozszerzenia</translation>
@@ -398,6 +399,7 @@
 <translation id="1958218078413065209">Twój najwyższy wynik to: <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Pomóż nam poprawić bezpieczeństwo wszystkich użytkowników w sieci, wysyłając do Google <ph name="BEGIN_WHITEPAPER_LINK" />adresy URL niektórych odwiedzanych stron, niektóre informacje o systemie oraz część zawartości stron<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Polityka prywatności<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Zakładki z <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Chroń hasła za pomocą TouchID</translation>
 <translation id="1973335181906896915">Podczas przekształcania do postaci szeregowej wystąpił błąd</translation>
 <translation id="1974060860693918893">Zaawansowane</translation>
 <translation id="1975457531113383421">Taca wejściowa</translation>
@@ -725,6 +727,7 @@
 <translation id="2881276955470682203">Czy zapisać kartę?</translation>
 <translation id="2882949212241984732">Podwójne składanie do środka</translation>
 <translation id="2893773853358652045">Rolka 4</translation>
+<translation id="289834758818479772">Jeśli udostępniasz to urządzenie innym osobom, możesz włączyć funkcję TouchID, aby urządzenie potwierdzało Twoją tożsamość za każdym razem, gdy używasz zapisanego hasła</translation>
 <translation id="2900528713135656174">Utwórz wydarzenie</translation>
 <translation id="2903493209154104877">Adresy</translation>
 <translation id="290376772003165898">Język tej strony to nie <ph name="LANGUAGE" />?</translation>
@@ -801,6 +804,8 @@
 <translation id="3108943290502734357">Taca środkowa</translation>
 <translation id="3109728660330352905">Nie masz uprawnień do wyświetlania tej strony.</translation>
 <translation id="3113284927548439113">Trzecia zmiana</translation>
+<translation id="3114040155724590991">Aktualizacja systemu Android
+Uruchamianie aplikacji może potrwać dłużej niż zwykle.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Pobrać plik poufny?}few{Pobrać pliki poufne?}many{Pobrać pliki poufne?}other{Pobrać pliki poufne?}}</translation>
 <translation id="3115874930288085374">Domena <ph name="ENROLLMENT_DOMAIN" /> wymaga utworzenia kopii zapasowej danych i zwrotu tego urządzenia <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Laminowanie</translation>
@@ -1255,6 +1260,7 @@
 <translation id="4306812610847412719">schowek</translation>
 <translation id="4308567447483056043">Ta zasada jest ignorowana, ponieważ użytkownik jest niepowiązany. Aby można było zastosować tę zasadę, przeglądarka i profil Chrome muszą być zarządzane w konsoli administracyjnej przez tę samą organizację.</translation>
 <translation id="4310070645992025887">Przeszukaj serie czynności</translation>
+<translation id="4310496734563057511">Jeśli udostępniasz to urządzenie innym osobom, możesz włączyć funkcję Windows Hello, aby urządzenie potwierdzało Twoją tożsamość za każdym razem, gdy używasz zapisanego hasła</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokuj (domyślnie)</translation>
 <translation id="4314815835985389558">Zarządzanie synchronizacją</translation>
@@ -1469,6 +1475,7 @@
 <translation id="4880827082731008257">Przeszukaj historię</translation>
 <translation id="4881695831933465202">Otwórz</translation>
 <translation id="4885256590493466218">Zapłać kartą <ph name="CARD_DETAIL" /></translation>
+<translation id="4887406273302438710">Chroń hasła za pomocą Windows Hello</translation>
 <translation id="4888600795924685526">Nauka języków obcych</translation>
 <translation id="4889420713887366944">Przycisk otwierania okna incognito. Naciśnij Enter, by otworzyć nowe okno incognito i przeglądać prywatnie.</translation>
 <translation id="4892518386797173871">Tył</translation>
@@ -1687,6 +1694,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> chce wysyłać Ci powiadomienia</translation>
 <translation id="5428105026674456456">Hiszpański</translation>
 <translation id="5430298929874300616">Usuń zakładkę</translation>
+<translation id="5434423669266814150">włączyć TouchID na potrzeby wypełniania haseł</translation>
 <translation id="5443468954631487277">Kolejność odwrotna, strona do drukowania skierowana w górę</translation>
 <translation id="5447765697759493033">Ta strona nie zostanie przetłumaczona</translation>
 <translation id="5452270690849572955">Nie można znaleźć tej strony na <ph name="HOST_NAME" /></translation>
@@ -2463,6 +2471,7 @@
 <translation id="7564049878696755256">Możesz stracić dostęp do swojego konta <ph name="ORG_NAME" /> lub paść ofiarą kradzieży tożsamości. Chrome zaleca natychmiastową zmianę hasła.</translation>
 <translation id="7564680668369175887">Samochody kombi</translation>
 <translation id="7567204685887185387">Ten serwer nie mógł udowodnić, że należy do <ph name="DOMAIN" />. Jego certyfikat bezpieczeństwa mógł zostać wydany w celu oszustwa. Może to być spowodowane błędną konfiguracją lub przechwyceniem połączenia przez atakującego.</translation>
+<translation id="7568616151991626879">Google Chrome próbuje uzupełnić hasło na <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Przycisk Zarządzaj wyszukiwarkami; aby ustawić domyślną wyszukiwarkę i wyszukiwanie w witrynie, naciśnij Enter</translation>
 <translation id="7569952961197462199">Usunąć tę kartę kredytową z Chrome?</translation>
@@ -2493,6 +2502,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Brak}=1{Na Twoim koncie zapisane jest 1 hasło (dla domen <ph name="DOMAIN_LIST" />)}few{Na Twoim koncie zapisane są # hasła (dla domen <ph name="DOMAIN_LIST" />)}many{Na Twoim koncie zapisanych jest # haseł (dla domen <ph name="DOMAIN_LIST" />)}other{Na Twoim koncie zapisane jest # hasła (dla domen <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Porty szeregowe</translation>
 <translation id="7639968568612851608">Ciemnoszary</translation>
+<translation id="7646681339175747202">Znaleźliśmy użyte właśnie hasło wśród ujawnionych w wyniku naruszenia bezpieczeństwa danych. Menedżer haseł Google zaleca natychmiastową zmianę hasła.</translation>
 <translation id="7647206758853451655">Jakość wydruku</translation>
 <translation id="7648992873808071793">Zapisywanie plików na tym urządzeniu</translation>
 <translation id="7653957176542370971">Arkusz modułu do obsługi płatności jest zamknięty</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index d2a46f4..5cd49dd 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">Informações de rede, como endereços, configuração da interface e qualidade da conexão</translation>
 <translation id="1567040042588613346">A política está funcionando da maneira esperada, mas o mesmo valor foi definido em outro lugar e foi substituído por esta política.</translation>
 <translation id="1569487616857761740">Informar data de validade</translation>
+<translation id="1569694109004336106">O Google Chrome está tentando ativar o Windows Hello para preencher senhas.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Algo deu errado ao exibir esta página da Web.</translation>
 <translation id="1586541204584340881">quais extensões você instalou;</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">Sua maior pontuação é de <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Ajude a melhorar a segurança na Web para todos, enviando ao Google <ph name="BEGIN_WHITEPAPER_LINK" />URLs de algumas das páginas que você acessou, informações limitadas do sistema e parte do conteúdo da página<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Política de Privacidade<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Favoritos de <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Proteger senhas com o Touch ID</translation>
 <translation id="1973335181906896915">Erro de serialização</translation>
 <translation id="1974060860693918893">Avançado</translation>
 <translation id="1975457531113383421">Bandeja de entrada</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">Salvar cartão?</translation>
 <translation id="2882949212241984732">Dobra janela dupla</translation>
 <translation id="2893773853358652045">Quarto rolo</translation>
+<translation id="289834758818479772">Se você compartilha este dispositivo com outras pessoas, pode ativar o Touch ID para a verificação da sua identidade sempre que usar uma senha salva</translation>
 <translation id="2900528713135656174">Criar evento</translation>
 <translation id="2903493209154104877">Endereços</translation>
 <translation id="290376772003165898">A página não está em <ph name="LANGUAGE" />?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">Bandeja do meio</translation>
 <translation id="3109728660330352905">Você não tem autorização para ver esta página.</translation>
 <translation id="3113284927548439113">Terceiro turno</translation>
+<translation id="3114040155724590991">Atualizando o sistema Android
+    A inicialização do app pode levar mais tempo do que o normal.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Fazer o download do arquivo confidencial?}one{Fazer o download do arquivo confidencial?}other{Fazer o download dos arquivos confidenciais?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> precisa que você faça backup dos seus dados e devolva este <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Laminar</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">área de transferência</translation>
 <translation id="4308567447483056043">Esta política é ignorada porque o usuário não é afiliado. Para que ela seja aplicada, o navegador Chrome e o perfil precisam ser gerenciados no Admin Console pela mesma organização.</translation>
 <translation id="4310070645992025887">Pesquisar suas jornadas</translation>
+<translation id="4310496734563057511">Se você compartilha este dispositivo com outras pessoas, pode ativar o Windows Hello para a verificação da sua identidade sempre que usar uma senha salva</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (padrão)</translation>
 <translation id="4314815835985389558">Gerenciar sincronização</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">Histórico de pesquisa</translation>
 <translation id="4881695831933465202">Abrir</translation>
 <translation id="4885256590493466218">Pague com <ph name="CARD_DETAIL" /> na finalização da compra</translation>
+<translation id="4887406273302438710">Proteger senhas com o Windows Hello</translation>
 <translation id="4888600795924685526">Estudo de língua estrangeira</translation>
 <translation id="4889420713887366944">Botão "Abrir janela anônima". Pressione "Enter" para abrir uma nova janela anônima e navegar com privacidade</translation>
 <translation id="4892518386797173871">Traseira</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> quer enviar notificações a você</translation>
 <translation id="5428105026674456456">Espanhol</translation>
 <translation id="5430298929874300616">Remover favorito</translation>
+<translation id="5434423669266814150">ativar o Touch ID para preencher senhas</translation>
 <translation id="5443468954631487277">Ordem reversa virada para cima</translation>
 <translation id="5447765697759493033">Este site não será traduzido</translation>
 <translation id="5452270690849572955">Não foi possível encontrar a página deste <ph name="HOST_NAME" /></translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">Você pode perder o acesso à sua conta de <ph name="ORG_NAME" /> ou ter sua identidade roubada. O Chrome recomenda que sua senha seja alterada agora.</translation>
 <translation id="7564680668369175887">Peruas</translation>
 <translation id="7567204685887185387">Este servidor não conseguiu provar que é <ph name="DOMAIN" />. O certificado de segurança pode ter sido emitido de forma fraudulenta. Isso pode ser causado por uma configuração incorreta ou pela interceptação da sua conexão por um invasor.</translation>
+<translation id="7568616151991626879">O Google Chrome está tentando preencher sua senha em <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golfe</translation>
 <translation id="7569761772822664555">Botão "Gerenciar mecanismos de pesquisa". Pressione Enter para gerenciar a pesquisa no site e o mecanismo de pesquisa padrão</translation>
 <translation id="7569952961197462199">Remover cartão de crédito do Chrome?</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Nenhuma}=1{1 senha na sua conta (para <ph name="DOMAIN_LIST" />)}one{# senha na sua conta (para <ph name="DOMAIN_LIST" />)}other{# senhas na sua conta (para <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Portas seriais</translation>
 <translation id="7639968568612851608">Cinza-escuro</translation>
+<translation id="7646681339175747202">A senha que você usou foi encontrada em uma violação de dados. O Gerenciador de senhas do Google recomenda que você a mude imediatamente.</translation>
 <translation id="7647206758853451655">Qualidade de impressão</translation>
 <translation id="7648992873808071793">Armazenar arquivos neste dispositivo</translation>
 <translation id="7653957176542370971">A página do gerenciador de pagamento está fechada</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index 2d7a1712..bf061a8 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Îndoire tip scrisoare</translation>
 <translation id="138218114945450791">Albastru deschis</translation>
 <translation id="1382194467192730611">Dispozitiv USB permis de administrator</translation>
+<translation id="1382378825779654399">Vei primi alerte prin e-mail dacă prețul scade pe orice site. Pagina se va salva în <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Nu apar informațiile curente? Contactează banca pentru a le actualiza.</translation>
 <translation id="1384725838384960382">Foaie de autentificare cu date de conectare pentru plăți securizate</translation>
 <translation id="1386623374109090026">Adnotări</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">Informații despre rețea cum ar fi adresele, configurația interfeței și calitatea conexiunii</translation>
 <translation id="1567040042588613346">Politica funcționează corespunzător, dar în altă sursă a fost setată aceeași valoare, care este înlocuită prin această politică.</translation>
 <translation id="1569487616857761740">Introdu data expirării</translation>
+<translation id="1569694109004336106">Google Chrome încearcă să activeze Windows Hello pentru completarea parolelor.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">A apărut o eroare la afișarea paginii web.</translation>
 <translation id="1586541204584340881">extensiile instalate;</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">Cel mai mare scor al tău este de <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Contribuie la îmbunătățirea securității pe web pentru toată lumea trimițând la Google <ph name="BEGIN_WHITEPAPER_LINK" />adresele URL ale unor pagini pe care le accesezi, informații de sistem limitate și părți din conținutul paginilor<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Politică de confidențialitate<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Marcaje <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Protejează-ți parolele cu Touch ID</translation>
 <translation id="1973335181906896915">Eroare de serializare</translation>
 <translation id="1974060860693918893">Avansate</translation>
 <translation id="1975457531113383421">Tava de intrare</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">Salvezi cardul?</translation>
 <translation id="2882949212241984732">Îndoire tip fereastră dublă</translation>
 <translation id="2893773853358652045">A patra rolă</translation>
+<translation id="289834758818479772">Dacă folosești dispozitivul în comun cu alte persoane, poți activa Touch ID pentru a-ți confirma identitatea atunci când utilizezi o parolă salvată</translation>
 <translation id="2900528713135656174">Creează un eveniment</translation>
 <translation id="2903493209154104877">Adrese</translation>
 <translation id="290376772003165898">Pagina nu este în <ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">Tava din mijloc</translation>
 <translation id="3109728660330352905">Nu ești autorizat(ă) să vezi această pagină.</translation>
 <translation id="3113284927548439113">A treia tură</translation>
+<translation id="3114040155724590991">Se actualizează sistemul Android
+    Pornirea aplicației poate dura mai mult decât de obicei.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Descarci fișierul confidențial?}few{Descarci fișierele confidențiale?}other{Descarci fișierele confidențiale?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> solicită să faci backup datelor și să returnezi acest <ph name="DEVICE_TYPE" />.</translation>
 <translation id="3116158981186517402">Laminare</translation>
@@ -1255,6 +1261,7 @@
 <translation id="4306812610847412719">Clipboard</translation>
 <translation id="4308567447483056043">Politica este ignorată deoarece utilizatorul nu este afiliat. Pentru ca această politică să fie aplicată, browserul și profilul Chrome trebuie să fie gestionate prin intermediul consolei de administrare de aceeași organizație.</translation>
 <translation id="4310070645992025887">Caută parcursuri</translation>
+<translation id="4310496734563057511">Dacă folosești dispozitivul în comun cu alte persoane, poți activa Windows Hello pentru a-ți confirma identitatea atunci când utilizezi o parolă salvată</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blochează (în mod prestabilit)</translation>
 <translation id="4314815835985389558">Gestionează sincronizarea</translation>
@@ -1469,6 +1476,7 @@
 <translation id="4880827082731008257">Caută în istoric</translation>
 <translation id="4881695831933465202">Deschide</translation>
 <translation id="4885256590493466218">Plătești cu <ph name="CARD_DETAIL" /> la finalizarea achiziției</translation>
+<translation id="4887406273302438710">Protejează-ți parolele cu Windows Hello</translation>
 <translation id="4888600795924685526">Studiul limbilor străine</translation>
 <translation id="4889420713887366944">Butonul Deschide o fereastră incognito, apasă pe Enter pentru a deschide o nouă fereastră incognito ca să navighezi în privat</translation>
 <translation id="4892518386797173871">Spate</translation>
@@ -1520,6 +1528,7 @@
 <translation id="5018422839182700155">Pagina nu poate fi deschisă</translation>
 <translation id="5019198164206649151">Depozit de fundal în stare nevalidă</translation>
 <translation id="5020776957610079374">Muzică World Music</translation>
+<translation id="5021557570875267742">Urmărește prețurile cu Chrome</translation>
 <translation id="5023310440958281426">Consultați politicile administratorului</translation>
 <translation id="5029568752722684782">Șterge copia</translation>
 <translation id="5030338702439866405">Emis de</translation>
@@ -1687,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> dorește să îți trimită notificări</translation>
 <translation id="5428105026674456456">Spaniolă</translation>
 <translation id="5430298929874300616">Elimină marcajul</translation>
+<translation id="5434423669266814150">activează Touch ID pentru completarea parolelor</translation>
 <translation id="5443468954631487277">În ordine inversă, cu fața în sus</translation>
 <translation id="5447765697759493033">Acest site nu va fi tradus</translation>
 <translation id="5452270690849572955">Această pagină de pe <ph name="HOST_NAME" /> nu poate fi găsită</translation>
@@ -2240,6 +2250,7 @@
 <translation id="6993898126790112050">6x9 (Plic)</translation>
 <translation id="6996312675313362352">Tradu întotdeauna din <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Industria divertismentului</translation>
+<translation id="7003335073762455340">Urmărești acest produs. Pagina se salvează în <ph name="LAST_BOOKMARKS_FOLDER" /></translation>
 <translation id="7004583254764674281">Folosește Windows Hello ca să confirmi mai repede cardurile</translation>
 <translation id="7006930604109697472">Trimite oricum</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -2463,6 +2474,7 @@
 <translation id="7564049878696755256">Este posibil să pierzi accesul la contul <ph name="ORG_NAME" /> sau să fii victima unui furt de identitate. Chrome îți recomandă să îți schimbi acum parola.</translation>
 <translation id="7564680668369175887">Automobile break</translation>
 <translation id="7567204685887185387">Acest server nu a putut dovedi că este <ph name="DOMAIN" />; este posibil ca certificatul său de securitate să fi fost emis fraudulos. Cauza poate fi o configurare greșită sau interceptarea conexiunii de către un atacator.</translation>
+<translation id="7568616151991626879">Google Chrome încearcă să completeze parola în <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Golf</translation>
 <translation id="7569761772822664555">Butonul Gestionează motoarele de căutare, apasă pe Enter pentru a gestiona opțiunile prestabilite pentru motoarele de căutare și căutarea pe site</translation>
 <translation id="7569952961197462199">Elimini cardul de credit din Chrome?</translation>
@@ -2493,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Niciuna}=1{O parolă în cont (pentru <ph name="DOMAIN_LIST" />)}few{# parole în cont (pentru <ph name="DOMAIN_LIST" />)}other{# de parole în cont (pentru <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Porturi seriale</translation>
 <translation id="7639968568612851608">Gri închis</translation>
+<translation id="7646681339175747202">Parola pe care tocmai ai folosit-o a fost găsită într-o încălcare a securității datelor. Managerul de parole Google recomandă să schimbi parola acum.</translation>
 <translation id="7647206758853451655">Calitatea printării</translation>
 <translation id="7648992873808071793">Stocheze fișiere pe acest dispozitiv</translation>
 <translation id="7653957176542370971">Foaia handlerului pentru plăți este închisă</translation>
@@ -3035,6 +3048,7 @@
 <translation id="9174623988242579721">Vehicule personalizate și de performanță</translation>
 <translation id="9174917557437862841">Butonul Comută între file, apasă pe Enter pentru a comuta la această filă</translation>
 <translation id="9179703756951298733">Gestionează informațiile despre plăți și carduri de credit din setările Chrome</translation>
+<translation id="9179907736442194268">Primește alerte prin e-mail dacă prețul scade pe orice site</translation>
 <translation id="9183302530794969518">Documente Google</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> folosește un protocol neacceptat.</translation>
 <translation id="9187461866967718678">Sporturi extreme</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index c387a43..efe064e 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Presavijanje u obliku pisma</translation>
 <translation id="138218114945450791">Svetloplava</translation>
 <translation id="1382194467192730611">USB uređaj koji dozvoljava administrator</translation>
+<translation id="1382378825779654399">Dobijaćete obaveštenja imejlom ako se cena snizi na bilo kom sajtu. Ova stranica će biti sačuvana u aplikaciji <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Ne vidite aktuelne podatke? Obratite se banci da biste ih ažurirali.</translation>
 <translation id="1384725838384960382">Tabela za potvrdu akreditiva za bezbedno plaćanje</translation>
 <translation id="1386623374109090026">Napomene</translation>
@@ -1527,6 +1528,7 @@
 <translation id="5018422839182700155">Ne možemo da otvorimo ovu stranicu</translation>
 <translation id="5019198164206649151">Skladište toka podataka je u lošem stanju</translation>
 <translation id="5020776957610079374">Etno muzika</translation>
+<translation id="5021557570875267742">Pratite cene pomoću Chrome-a</translation>
 <translation id="5023310440958281426">Proverite smernice administratora</translation>
 <translation id="5029568752722684782">Obriši kopiju</translation>
 <translation id="5030338702439866405">Izdao/la</translation>
@@ -2247,6 +2249,7 @@
 <translation id="6993898126790112050">6x9 (koverat)</translation>
 <translation id="6996312675313362352">Uvek prevodi <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Industrija zabave</translation>
+<translation id="7003335073762455340">Pratite ovaj proizvod. Ova stranica je sačuvana u: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Koristite Windows Hello za bržu potvrdu kartica</translation>
 <translation id="7006930604109697472">Ipak pošalji</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3044,6 +3047,7 @@
 <translation id="9174623988242579721">Prilagođena vozila i vozila visokih performansi</translation>
 <translation id="9174917557437862841">Dugme za promenu kartice, pritisnite Enter da biste prešli na tu karticu</translation>
 <translation id="9179703756951298733">Upravljajte plaćanjima i informacijama o kreditnim karticama u podešavanjima Chrome-a</translation>
+<translation id="9179907736442194268">Dobijajte obaveštenja imejlom ako se cena snizi na bilo kom sajtu</translation>
 <translation id="9183302530794969518">Google dokumenti</translation>
 <translation id="9183425211371246419">Host <ph name="HOST_NAME" /> koristi nepodržani protokol.</translation>
 <translation id="9187461866967718678">Ekstremni sportovi</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 07fa2e5e..efaf60a3 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Пресавијање у облику писма</translation>
 <translation id="138218114945450791">Светлоплава</translation>
 <translation id="1382194467192730611">USB уређај који дозвољава администратор</translation>
+<translation id="1382378825779654399">Добијаћете обавештења имејлом ако се цена снизи на било ком сајту. Ова страница ће бити сачувана у апликацији <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Не видите актуелне податке? Обратите се банци да бисте их ажурирали.</translation>
 <translation id="1384725838384960382">Табела за потврду акредитива за безбедно плаћање</translation>
 <translation id="1386623374109090026">Напомене</translation>
@@ -1527,6 +1528,7 @@
 <translation id="5018422839182700155">Не можемо да отворимо ову страницу</translation>
 <translation id="5019198164206649151">Складиште тока података је у лошем стању</translation>
 <translation id="5020776957610079374">Етно музика</translation>
+<translation id="5021557570875267742">Пратите цене помоћу Chrome-а</translation>
 <translation id="5023310440958281426">Проверите смернице администратора</translation>
 <translation id="5029568752722684782">Обриши копију</translation>
 <translation id="5030338702439866405">Издао/ла</translation>
@@ -2247,6 +2249,7 @@
 <translation id="6993898126790112050">6x9 (коверат)</translation>
 <translation id="6996312675313362352">Увек преводи <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Индустрија забаве</translation>
+<translation id="7003335073762455340">Пратите овај производ. Ова страница је сачувана у: <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Користите Windows Hello за бржу потврду картица</translation>
 <translation id="7006930604109697472">Ипак пошаљи</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3044,6 +3047,7 @@
 <translation id="9174623988242579721">Прилагођена возила и возила високих перформанси</translation>
 <translation id="9174917557437862841">Дугме за промену картице, притисните Enter да бисте прешли на ту картицу</translation>
 <translation id="9179703756951298733">Управљајте плаћањима и информацијама о кредитним картицама у подешавањима Chrome-а</translation>
+<translation id="9179907736442194268">Добијајте обавештења имејлом ако се цена снизи на било ком сајту</translation>
 <translation id="9183302530794969518">Google документи</translation>
 <translation id="9183425211371246419">Хост <ph name="HOST_NAME" /> користи неподржани протокол.</translation>
 <translation id="9187461866967718678">Екстремни спортови</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index c7086651..2ce2e3c7 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Rullfalsning</translation>
 <translation id="138218114945450791">Ljusblå</translation>
 <translation id="1382194467192730611">USB-enhet som tillåtits av administratören</translation>
+<translation id="1382378825779654399">Du får aviseringar via e-post om priset sjunker på en webbplats. Den här sidan sparas i <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="1382912999714108023">Saknar du aktuella uppgifter? Kontakta banken för att uppdatera dem.</translation>
 <translation id="1384725838384960382">Arbetsblad för autentisering av användaruppgifter för säker betalning</translation>
 <translation id="1386623374109090026">Kommentarer</translation>
@@ -1520,6 +1521,7 @@
 <translation id="5018422839182700155">Det går inte att öppna den här sidan</translation>
 <translation id="5019198164206649151">Säkerhetskopian har dålig status</translation>
 <translation id="5020776957610079374">Världsmusik</translation>
+<translation id="5021557570875267742">Bevaka priser med Chrome</translation>
 <translation id="5023310440958281426">Kontrollera administratörsprinciperna</translation>
 <translation id="5029568752722684782">Ta bort kopia</translation>
 <translation id="5030338702439866405">Utfärdat av</translation>
@@ -2240,6 +2242,7 @@
 <translation id="6993898126790112050">6x9 (kuvert)</translation>
 <translation id="6996312675313362352">Översätt alltid <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Nöjesindustri</translation>
+<translation id="7003335073762455340">Du bevakar den här produkten. Den här sidan har sparats i <ph name="LAST_BOOKMARKS_FOLDER" />.</translation>
 <translation id="7004583254764674281">Verifiera kreditkort snabbare med Windows Hello</translation>
 <translation id="7006930604109697472">Skicka ändå</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3035,6 +3038,7 @@
 <translation id="9174623988242579721">Specialutrustade bilar och sportbilar</translation>
 <translation id="9174917557437862841">Knapp som byter flik. Tryck på Retur om du vill byta till den här fliken</translation>
 <translation id="9179703756951298733">Hantera dina betalnings- och kreditkortsuppgifter i inställningarna för Chrome</translation>
+<translation id="9179907736442194268">Få aviseringar via e-post när priset sjunker på en webbplats</translation>
 <translation id="9183302530794969518">Google Dokument</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> använder ett protokoll som inte stöds.</translation>
 <translation id="9187461866967718678">Extremsporter</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 3b1f305a..98ff965 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Зігнути у вигляді конверта</translation>
 <translation id="138218114945450791">Світло-синій</translation>
 <translation id="1382194467192730611">Пристрій USB дозволив адміністратор</translation>
+<translation id="1382378825779654399">Якщо на якомусь сайті знизиться ціна, ви отримаєте сповіщення електронною поштою. Цю сторінку буде збережено в папці "<ph name="LAST_BOOKMARKS_FOLDER" />".</translation>
 <translation id="1382912999714108023">Не відображається актуальна інформація? Попросіть представника банку оновити її.</translation>
 <translation id="1384725838384960382">Екран автентифікації облікових даних для безпечних платежів</translation>
 <translation id="1386623374109090026">Примітки</translation>
@@ -1520,6 +1521,7 @@
 <translation id="5018422839182700155">Не вдається відкрити цю сторінку</translation>
 <translation id="5019198164206649151">Резервний носій пошкоджено</translation>
 <translation id="5020776957610079374">Музика народів світу</translation>
+<translation id="5021557570875267742">Відстежуйте ціни за допомогою Chrome</translation>
 <translation id="5023310440958281426">Перегляньте правила свого адміністратора</translation>
 <translation id="5029568752722684782">Видалити копію</translation>
 <translation id="5030338702439866405">Ким видано:</translation>
@@ -2240,6 +2242,7 @@
 <translation id="6993898126790112050">6x9 (конверт)</translation>
 <translation id="6996312675313362352">Завжди перекладати з такої мови: <ph name="ORIGINAL_LANGUAGE" /></translation>
 <translation id="6999969238895751684">Індустрія розваг</translation>
+<translation id="7003335073762455340">Ви відстежуєте цей товар. Його сторінку збережено в папці "<ph name="LAST_BOOKMARKS_FOLDER" />".</translation>
 <translation id="7004583254764674281">Використовувати Windows Hello, щоб швидше підтверджувати картки</translation>
 <translation id="7006930604109697472">Усе одно надіслати</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3035,6 +3038,7 @@
 <translation id="9174623988242579721">Спеціалізовані та високопотужні транспортні засоби</translation>
 <translation id="9174917557437862841">Кнопка перемикання вкладки: натисніть Enter, щоб перейти на цю вкладку</translation>
 <translation id="9179703756951298733">Керувати платежами й даними кредитних карток у налаштуваннях Chrome</translation>
+<translation id="9179907736442194268">Отримуйте сповіщення електронною поштою, якщо на якомусь сайті знизиться ціна</translation>
 <translation id="9183302530794969518">Google Документи</translation>
 <translation id="9183425211371246419">Протокол, який використовує хост <ph name="HOST_NAME" />, не підтримується.</translation>
 <translation id="9187461866967718678">Екстремальні види спорту</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 04e24b9..137a31d 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">نیٹ ورکنگ معلومات جیسے پتے، انٹرفیس کنفیگریشن اور کنکشن کا معیار</translation>
 <translation id="1567040042588613346">یہ پالیسی توقع کے مطابق کام کر رہی ہے لیکن کسی دوسری جگہ ایک جیسی قدر سیٹ کی گئی ہے اور اس نے اس پالیسی کی جگہ لے لی ہے۔</translation>
 <translation id="1569487616857761740">تاریخ اختتام درج کریں</translation>
+<translation id="1569694109004336106">‏Google Chrome پاس ورڈز پُر کرنے کے لیے Windows Hello کو آن کرنے کی کوشش کر رہا ہے۔</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">یہ ویب صفحہ ڈسپلے کرتے ہوئے کچھ غلط ہو گیا۔</translation>
 <translation id="1586541204584340881">آپ نے کن ایکسٹینشنز کو انسٹال کیا ہے</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">آپ کا اعلی ترین اسکور <ph name="SCORE" /> ہے۔</translation>
 <translation id="1959001866257244765">‏<ph name="BEGIN_WHITEPAPER_LINK" />آپ کے ملاحظہ کئے جانے والے چند صفحات کے URLs، سسٹم کی محدود معلومات اور صفحے کا کچھ مواد<ph name="END_WHITEPAPER_LINK" /> Google کو بھیج کر ہر کسی کے لیے ویب پر موجود سیکیورٹی کو بہتر کرنے میں ہماری مدد کریں۔ <ph name="BEGIN_PRIVACY_PAGE_LINK" />رازداری کی پالیسی<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> بک مارکس</translation>
+<translation id="1971033026002113380">‏ٹچ ID کے ساتھ پاس ورڈز کی حفاظت کریں</translation>
 <translation id="1973335181906896915">ترتیب وار سازی کی خرابی</translation>
 <translation id="1974060860693918893">جدید ترین</translation>
 <translation id="1975457531113383421">ان پٹ ٹرے</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">کارڈ محفوظ کریں؟</translation>
 <translation id="2882949212241984732">ڈبل گیٹ فولڈ</translation>
 <translation id="2893773853358652045">چوتھا رول</translation>
+<translation id="289834758818479772">‏اگر آپ اس آلہ کا اشتراک دوسروں کے ساتھ کرتے ہیں تو جب بھی آپ محفوظ کردہ پاس ورڈ استعمال کرتے ہیں تو آپ ٹچ ID کو آن کر سکتے ہیں تاکہ اس بات کی تصدیق ہو کہ یہ آپ ہی ہیں</translation>
 <translation id="2900528713135656174">ایونٹ تخلیق کریں</translation>
 <translation id="2903493209154104877">پتے</translation>
 <translation id="290376772003165898">صفحہ <ph name="LANGUAGE" /> میں نہیں ہے؟</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">درمیانی ٹرے</translation>
 <translation id="3109728660330352905">آپ کو یہ صفحہ دیکھنے کی اجازت نہیں ہے۔</translation>
 <translation id="3113284927548439113">تیسری شفٹ</translation>
+<translation id="3114040155724590991">‏Android سسٹم کو اپ ڈیٹ کرنا
+    آپ کی ایپ کو شروع کرنے میں معمول سے زیادہ وقت لگ سکتا ہے۔</translation>
 <translation id="3115363211799416195">{0,plural, =1{رازدارانہ فائل ڈاؤن لوڈ کریں؟}other{رازدارانہ فائلز ڈاؤن لوڈ کریں؟}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> کا تقاضہ ہے کہ آپ اپنے ڈیٹا کا بیک اپ لیں اور اس <ph name="DEVICE_TYPE" /> کو واپس کریں۔</translation>
 <translation id="3116158981186517402">ورق چڑھائیں</translation>
@@ -1257,6 +1262,7 @@
 <translation id="4306812610847412719">کلپ بورڈ</translation>
 <translation id="4308567447483056043">‏اس پالیسی کو نظر انداز کر دیا گیا ہے کیونکہ صارف غیر الحاق یافتہ ہے۔ اس پالیسی کو لاگو کرنے کے لیے Chrome براؤزر اور پروفائل کا نظم منتظم کونسول کے ذریعے ایک ہی تنظیم کے سے کیا جانا چاہیے۔</translation>
 <translation id="4310070645992025887">اپنے صارف کے تجربے کو تلاش کریں</translation>
+<translation id="4310496734563057511">‏اگر آپ اس آلہ کا اشتراک دوسروں کے ساتھ کرتے ہیں تو جب بھی آپ محفوظ کردہ پاس ورڈ استعمال کرتے ہیں تو آپ Windows Hello کو آن کر سکتے ہیں تاکہ اس بات کی تصدیق ہو کہ یہ آپ ہی ہیں</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">مسدود کریں (ڈیفالٹ)</translation>
 <translation id="4314815835985389558">مطابقت پذیری کا نظم کريں</translation>
@@ -1471,6 +1477,7 @@
 <translation id="4880827082731008257">تلاش کی سرگزشت</translation>
 <translation id="4881695831933465202">کھولیں</translation>
 <translation id="4885256590493466218">چیک آؤٹ کرنے پر <ph name="CARD_DETAIL" /> سے ادائیگی کریں۔</translation>
+<translation id="4887406273302438710">‏Windows Hello کے ساتھ پاس ورڈز کی حفاظت کریں</translation>
 <translation id="4888600795924685526">غیر ملکی زبان کا مطالعہ</translation>
 <translation id="4889420713887366944">'پوشیدگی ونڈو کھولیں' بٹن، نجی طور پر براؤز کرنے کے لیے ایک نئی پوشیدگی ونڈو کھولنے کی خاطر اینٹر دبائیں</translation>
 <translation id="4892518386797173871">پیچھے</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> آپ کو اطلاعات بھیجنا چاہتی ہے</translation>
 <translation id="5428105026674456456">ہسپانوی</translation>
 <translation id="5430298929874300616">بُک مارک کو ہٹائیں</translation>
+<translation id="5434423669266814150">‏پاس ورڈز پُر کرنے کے لیے ٹچ ID آن کریں</translation>
 <translation id="5443468954631487277">اُلٹ ترتیب میں، صفحات کا رُخ اوپر کی جانب</translation>
 <translation id="5447765697759493033">اس سائٹ کا ترجمہ نہیں ہوگا</translation>
 <translation id="5452270690849572955">یہ <ph name="HOST_NAME" /> صفحہ تلاش نہیں کیا جا سکتا ہے</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">‏آپ اپنے <ph name="ORG_NAME" /> اکاؤنٹ تک رسائی سے محروم ہو سکتے ہیں یا شناخت کی چوری ہو سکتی ہے۔ Chrome آپ کو ابھی اپنا پاس ورڈ تبدیل کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="7564680668369175887">اسٹیشن ویگنز</translation>
 <translation id="7567204685887185387">یہ سرور یہ ثابت نہیں کر سکا کہ یہ <ph name="DOMAIN" /> ہے؛ ممکن ہے کہ اس کا سیکیورٹی سرٹیفکیٹ فریب کارانہ طور پر جاری کیا گیا ہو۔ یہ غلط کنفیگریشن یا آپ کے کنکشن میں مانع بن رہے کسی حملہ آور کی وجہ سے ہو سکتا ہے۔</translation>
+<translation id="7568616151991626879">‏Google Chrome <ph name="APP_NAME" /> پر آپ کا پاس ورڈ پُر کرنے کی کوشش کر رہا ہے۔</translation>
 <translation id="7569490014721427265">گولف</translation>
 <translation id="7569761772822664555">سرچ انجنز کے بٹن کا نظم کریں، اپنے ڈیفالٹ سرچ انجن اور سائٹ کی تلاش کا نظم کرنے کیلئے اینٹر دبائیں</translation>
 <translation id="7569952961197462199">‏Chrome سے کریڈٹ کارڈ ہٹائیں؟</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{کوئی نہیں}=1{آپ کے اکاؤنٹ میں 1 پاس ورڈ (<ph name="DOMAIN_LIST" /> کے ليے)}other{آپ کے اکاؤنٹ میں # پاس ورڈز (<ph name="DOMAIN_LIST" /> کے ليے)}}</translation>
 <translation id="7638605456503525968">سیریل پورٹس</translation>
 <translation id="7639968568612851608">گہرا خاکستری</translation>
+<translation id="7646681339175747202">‏آپ نے ابھی جو پاس ورڈ استعمال کیا وہ ڈیٹا کی خلاف ورزی میں پایا گیا۔ Google پاس ورڈ مینیجر آپ کے پاس ورڈ کو ابھی تبدیل کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="7647206758853451655">پرنٹ کا معیار</translation>
 <translation id="7648992873808071793">فائلیں اس آلہ پر اسٹور کریں</translation>
 <translation id="7653957176542370971">ادائیگی ہینڈلر کی شیٹ بند ہے</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index 14aaf16..71957b7 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">Konvert shaklida taxlash</translation>
 <translation id="138218114945450791">Havorang</translation>
 <translation id="1382194467192730611">USB qurilmani ishlatishga administrator tomonidan ruxsat berildi</translation>
+<translation id="1382378825779654399">Har qaysi saytda narx tushganda sizga email orqali ogohlantirish yuboriladi. Bu sahifa <ph name="LAST_BOOKMARKS_FOLDER" /> jildiga saqlanadi.</translation>
 <translation id="1382912999714108023">Joriy maʼlumotlar chiqmayaptimi? Yangilash uchun bankka murojaat qiling.</translation>
 <translation id="1384725838384960382">Xavfsiz toʻlovlar uchun hisob maʼlumotlarini autentifikatsiya qilish ekrani</translation>
 <translation id="1386623374109090026">Izohlar</translation>
@@ -1522,6 +1523,7 @@
 <translation id="5018422839182700155">Sahifani ochib bo‘lmadi</translation>
 <translation id="5019198164206649151">Ombordagi ma’lumotlar shikastlangan</translation>
 <translation id="5020776957610079374">Etnik musiqa</translation>
+<translation id="5021557570875267742">Chrome bilan narxlarni kuzatish</translation>
 <translation id="5023310440958281426">Administrator tomonidan o‘rnatilgan qoidalarni tekshiring</translation>
 <translation id="5029568752722684782">Nusxani o‘chirib tashlash</translation>
 <translation id="5030338702439866405">Berilgan vaqt:</translation>
@@ -2242,6 +2244,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352"><ph name="ORIGINAL_LANGUAGE" /> tilidan har doim tarjima qilinsin</translation>
 <translation id="6999969238895751684">Hordiq sohasi</translation>
+<translation id="7003335073762455340">Siz bu mahsulotni kuzatyapsiz. Bu sahifa <ph name="LAST_BOOKMARKS_FOLDER" /> jildiga saqlangan.</translation>
 <translation id="7004583254764674281">Kartalarni tezroq tasdiqlash uchun Windows Hello ishlating</translation>
 <translation id="7006930604109697472">Baribir yuborilsin</translation>
 <translation id="7012363358306927923">China UnionPay</translation>
@@ -3038,6 +3041,7 @@
 <translation id="9174623988242579721">Maxsus va eng tez avtomobillar</translation>
 <translation id="9174917557437862841">Varaqlar orasida almashtirish tugmasi, shu varaqqa almashish uchun Enter tugmasini bosing</translation>
 <translation id="9179703756951298733">Toʻlov va kredit karta axborotini Chrome sozlamalari orqali boshqarish</translation>
+<translation id="9179907736442194268">Har qaysi saytda narxi tushganda email orqali ogohlantirish olish</translation>
 <translation id="9183302530794969518">Google Docs</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> sayti qo‘llab-quvvatlanmaydigan protokoldan foydalanmoqda.</translation>
 <translation id="9187461866967718678">Ekstremal sport</translation>
diff --git a/components/strings/components_strings_vi.xtb b/components/strings/components_strings_vi.xtb
index ebf01e566..02bf455 100644
--- a/components/strings/components_strings_vi.xtb
+++ b/components/strings/components_strings_vi.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">Thông tin nối mạng như địa chỉ, cấu hình giao diện và chất lượng kết nối</translation>
 <translation id="1567040042588613346">Chính sách này đang hoạt động như dự kiến nhưng lại thay thế cho cùng một giá trị được đặt trong một nguồn khác.</translation>
 <translation id="1569487616857761740">Nhập ngày hết hạn</translation>
+<translation id="1569694109004336106">Google Chrome đang cố gắng bật Windows Hello để điền mật khẩu.</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">Đã xảy ra lỗi khi hiển thị trang web này.</translation>
 <translation id="1586541204584340881">Các tiện ích bạn đã cài đặt</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">Điểm cao nhất của bạn là <ph name="SCORE" />.</translation>
 <translation id="1959001866257244765">Giúp tăng cường khả năng bảo mật trên web cho mọi người bằng cách gửi cho Google <ph name="BEGIN_WHITEPAPER_LINK" />các URL của một số trang mà bạn truy cập, thông tin hệ thống có giới hạn và một số nội dung trang<ph name="END_WHITEPAPER_LINK" />. <ph name="BEGIN_PRIVACY_PAGE_LINK" />Chính sách quyền riêng tư<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436">Dấu trang của <ph name="DOMAIN" /></translation>
+<translation id="1971033026002113380">Bảo vệ mật khẩu bằng TouchID</translation>
 <translation id="1973335181906896915">Lỗi nối tiếp hóa</translation>
 <translation id="1974060860693918893">Nâng cao</translation>
 <translation id="1975457531113383421">Khay nạp giấy</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">Lưu thẻ?</translation>
 <translation id="2882949212241984732">Gấp 2 cửa</translation>
 <translation id="2893773853358652045">Cuộn thứ tư</translation>
+<translation id="289834758818479772">Nếu dùng chung thiết bị này với người khác, bạn có thể bật TouchID để xác minh danh tính của mình mỗi khi sử dụng mật khẩu đã lưu</translation>
 <translation id="2900528713135656174">Tạo sự kiện</translation>
 <translation id="2903493209154104877">Địa chỉ</translation>
 <translation id="290376772003165898">Trang này không được viết bằng <ph name="LANGUAGE" />?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">Khay giữa</translation>
 <translation id="3109728660330352905">Bạn không có quyền xem trang này.</translation>
 <translation id="3113284927548439113">Ca thứ 3</translation>
+<translation id="3114040155724590991">Hệ thống Android đang cập nhật
+    Việc khởi động ứng dụng có thể mất nhiều thời gian hơn bình thường.</translation>
 <translation id="3115363211799416195">{0,plural, =1{Bạn muốn tải tệp bảo mật xuống?}other{Bạn muốn tải các tệp bảo mật xuống?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> yêu cầu bạn sao lưu dữ liệu và trả lại thiết bị <ph name="DEVICE_TYPE" /> này.</translation>
 <translation id="3116158981186517402">Dát mỏng</translation>
@@ -1256,6 +1261,7 @@
 <translation id="4306812610847412719">bảng nhớ tạm</translation>
 <translation id="4308567447483056043">Chính sách này bị bỏ qua vì người dùng chưa được liên kết. Để chính sách này được áp dụng, trình duyệt và hồ sơ Chrome phải do cùng một tổ chức quản lý thông qua Bảng điều khiển dành cho quản trị viên.</translation>
 <translation id="4310070645992025887">Tìm kiếm trong Hành trình</translation>
+<translation id="4310496734563057511">Nếu dùng chung thiết bị này với người khác, bạn có thể bật Windows Hello để xác minh danh tính của mình mỗi khi sử dụng mật khẩu đã lưu</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Chặn (mặc định)</translation>
 <translation id="4314815835985389558">Quản lý dữ liệu đồng bộ hóa</translation>
@@ -1470,6 +1476,7 @@
 <translation id="4880827082731008257">Nhật ký tìm kiếm</translation>
 <translation id="4881695831933465202">Mở</translation>
 <translation id="4885256590493466218">Thanh toán bằng <ph name="CARD_DETAIL" /> khi thanh toán</translation>
+<translation id="4887406273302438710">Bảo vệ mật khẩu bằng Windows Hello</translation>
 <translation id="4888600795924685526">Học ngoại ngữ</translation>
 <translation id="4889420713887366944">Nút Mở cửa sổ ẩn danh, nhấn phím Enter để mở cửa sổ Ẩn danh mới nhằm duyệt web ở chế độ riêng tư</translation>
 <translation id="4892518386797173871">Phía sau</translation>
@@ -1689,6 +1696,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> muốn gửi thông báo cho bạn</translation>
 <translation id="5428105026674456456">Tiếng Tây Ban Nha</translation>
 <translation id="5430298929874300616">Xóa dấu trang</translation>
+<translation id="5434423669266814150">bật TouchID để điền mật khẩu</translation>
 <translation id="5443468954631487277">Thứ tự đảo ngược hướng lên</translation>
 <translation id="5447765697759493033">Trang web này sẽ không được dịch</translation>
 <translation id="5452270690849572955">Không thể tìm thấy trang <ph name="HOST_NAME" /> này</translation>
@@ -2466,6 +2474,7 @@
 <translation id="7564049878696755256">Bạn có thể mất quyền truy cập vào tài khoản <ph name="ORG_NAME" /> của mình hoặc bị đánh cắp danh tính. Chrome khuyên bạn nên thay đổi mật khẩu ngay bây giờ.</translation>
 <translation id="7564680668369175887">Xe ô tô khoang dài</translation>
 <translation id="7567204685887185387">Máy chủ này không chứng minh được rằng đó là <ph name="DOMAIN" />; chứng chỉ bảo mật của máy chủ này có thể đã bị gian lận khi phát hành. Điều này có thể do định cấu hình sai hoặc có kẻ tấn công chặn kết nối của bạn.</translation>
+<translation id="7568616151991626879">Google Chrome đang cố gắng điền mật khẩu của bạn vào <ph name="APP_NAME" />.</translation>
 <translation id="7569490014721427265">Gôn</translation>
 <translation id="7569761772822664555">Nút quản lý công cụ tìm kiếm, nhấn phím Enter để 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="7569952961197462199">Xóa thẻ tín dụng khỏi Chrome?</translation>
@@ -2496,6 +2505,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{Không có}=1{1 mật khẩu trong tài khoản của bạn (cho <ph name="DOMAIN_LIST" />)}other{# mật khẩu trong tài khoản của bạn (cho <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">Cổng nối tiếp</translation>
 <translation id="7639968568612851608">Xám đen</translation>
+<translation id="7646681339175747202">Mật khẩu bạn vừa sử dụng đã bị lộ trong một sự cố rò rỉ dữ liệu. Trình quản lý mật khẩu của Google khuyên bạn nên đổi mật khẩu ngay.</translation>
 <translation id="7647206758853451655">Chất lượng in</translation>
 <translation id="7648992873808071793">Lưu trữ tệp trên thiết bị này</translation>
 <translation id="7653957176542370971">Trang tính trình xử lý thanh toán đang đóng</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index 51612a3..9f474dbc 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -174,6 +174,7 @@
 <translation id="1380591466760231819">包芯折</translation>
 <translation id="138218114945450791">浅蓝色</translation>
 <translation id="1382194467192730611">您的管理员允许使用的 USB 设备</translation>
+<translation id="1382378825779654399">当任一网站上的商品降价时,您会收到电子邮件提醒。该网页将保存到“<ph name="LAST_BOOKMARKS_FOLDER" />”中。</translation>
 <translation id="1382912999714108023">看到的不是您的最新信息?请与银行联系以更新您的信息。</translation>
 <translation id="1384725838384960382">安全付款凭据身份验证表单</translation>
 <translation id="1386623374109090026">注释</translation>
@@ -260,6 +261,7 @@
 <translation id="156703335097561114">网络信息,例如地址、接口配置和连接质量</translation>
 <translation id="1567040042588613346">此政策正在正常运作,但与别处设置的值相同且已覆盖该值。</translation>
 <translation id="1569487616857761740">输入失效日期</translation>
+<translation id="1569694109004336106">Google Chrome 正在尝试开启 Windows Hello 来填充密码。</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">显示此网页时出了点问题。</translation>
 <translation id="1586541204584340881">您已安装的扩展程序</translation>
@@ -398,6 +400,7 @@
 <translation id="1958218078413065209">您的最高得分是 <ph name="SCORE" />。</translation>
 <translation id="1959001866257244765">向 Google 发送<ph name="BEGIN_WHITEPAPER_LINK" />您访问的部分网页的网址、有限的系统信息以及部分网页内容<ph name="END_WHITEPAPER_LINK" />,帮助我们为所有人改善网络安全环境。<ph name="BEGIN_PRIVACY_PAGE_LINK" />隐私权政策<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" />书签</translation>
+<translation id="1971033026002113380">使用触控 ID 保护密码</translation>
 <translation id="1973335181906896915">序列化错误</translation>
 <translation id="1974060860693918893">高级</translation>
 <translation id="1975457531113383421">进纸匣</translation>
@@ -725,6 +728,7 @@
 <translation id="2881276955470682203">保存卡片?</translation>
 <translation id="2882949212241984732">关门再对折</translation>
 <translation id="2893773853358652045">第 4 卷</translation>
+<translation id="289834758818479772">如果您与他人共用此设备,则可以开启触控 ID,以便在您使用已保存的密码时验证您的身份</translation>
 <translation id="2900528713135656174">创建活动</translation>
 <translation id="2903493209154104877">地址</translation>
 <translation id="290376772003165898">网页的源语言不是<ph name="LANGUAGE" />?</translation>
@@ -801,6 +805,8 @@
 <translation id="3108943290502734357">中间纸匣</translation>
 <translation id="3109728660330352905">您未获授权,无法查看此网页。</translation>
 <translation id="3113284927548439113">第三批</translation>
+<translation id="3114040155724590991">正在更新 Android 系统
+    启动您的应用可能需要比平时多用一些时间。</translation>
 <translation id="3115363211799416195">{0,plural, =1{下载机密文件?}other{下载机密文件?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> 要求您备份自己的数据并退还此 <ph name="DEVICE_TYPE" />。</translation>
 <translation id="3116158981186517402">粘合</translation>
@@ -1251,6 +1257,7 @@
 <translation id="4306812610847412719">剪贴板</translation>
 <translation id="4308567447483056043">此政策会被忽略,因为该用户是独立用户。若要应用此政策,必须由同一组织通过管理控制台管理 Chrome 浏览器和个人资料。</translation>
 <translation id="4310070645992025887">在您的历程中搜索</translation>
+<translation id="4310496734563057511">如果您与他人共用此设备,则可以开启 Windows Hello,以便在您使用已保存的密码时验证您的身份</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">屏蔽(默认)</translation>
 <translation id="4314815835985389558">管理同步数据</translation>
@@ -1465,6 +1472,7 @@
 <translation id="4880827082731008257">搜索历史记录</translation>
 <translation id="4881695831933465202">打开</translation>
 <translation id="4885256590493466218">结帐时使用 <ph name="CARD_DETAIL" /> 付款</translation>
+<translation id="4887406273302438710">使用 Windows Hello 保护密码</translation>
 <translation id="4888600795924685526">外语学习</translation>
 <translation id="4889420713887366944">“打开无痕式窗口”按钮,按 Enter 键即可打开一个新的无痕式窗口以私密浏览网页</translation>
 <translation id="4892518386797173871">后方</translation>
@@ -1516,6 +1524,7 @@
 <translation id="5018422839182700155">无法打开此网页</translation>
 <translation id="5019198164206649151">后备存储状态不佳</translation>
 <translation id="5020776957610079374">世界音乐</translation>
+<translation id="5021557570875267742">使用 Chrome 跟踪价格</translation>
 <translation id="5023310440958281426">请查看管理员制定的政策</translation>
 <translation id="5029568752722684782">清除副本</translation>
 <translation id="5030338702439866405">颁发者</translation>
@@ -1683,6 +1692,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> 想向您发送通知</translation>
 <translation id="5428105026674456456">西班牙语</translation>
 <translation id="5430298929874300616">移除书签</translation>
+<translation id="5434423669266814150">开启触控 ID 以填充密码</translation>
 <translation id="5443468954631487277">逆转顺序,正面朝上</translation>
 <translation id="5447765697759493033">系统不会翻译此网站</translation>
 <translation id="5452270690849572955">找不到 <ph name="HOST_NAME" /> 的网页</translation>
@@ -2235,6 +2245,7 @@
 <translation id="6993898126790112050">6x9 (Envelope)</translation>
 <translation id="6996312675313362352">始终翻译<ph name="ORIGINAL_LANGUAGE" />内容</translation>
 <translation id="6999969238895751684">娱乐业</translation>
+<translation id="7003335073762455340">您正在跟踪此商品。该网页保存在“<ph name="LAST_BOOKMARKS_FOLDER" />”中。</translation>
 <translation id="7004583254764674281">使用 Windows Hello 更快地确认银行卡</translation>
 <translation id="7006930604109697472">仍然发送</translation>
 <translation id="7012363358306927923">中国银联</translation>
@@ -2458,6 +2469,7 @@
 <translation id="7564049878696755256">您可能会无法再访问自己的 <ph name="ORG_NAME" /> 帐号,或者身份信息遭到盗用。Chrome 建议您立即更改密码。</translation>
 <translation id="7564680668369175887">旅行车</translation>
 <translation id="7567204685887185387">此服务器无法证明它是<ph name="DOMAIN" />;其安全证书可能是由骗子发出的。出现此问题的原因可能是配置有误或您的连接被拦截了。</translation>
+<translation id="7568616151991626879">Google Chrome 正尝试在 <ph name="APP_NAME" /> 上填充您的密码。</translation>
 <translation id="7569490014721427265">高尔夫</translation>
 <translation id="7569761772822664555">“管理搜索引擎”按钮,按 Enter 键即可管理您的默认搜索引擎和网站搜索</translation>
 <translation id="7569952961197462199">从 Chrome 中移除信用卡信息?</translation>
@@ -2488,6 +2500,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{无}=1{您的帐号中保存了 1 个密码(关联的网域:<ph name="DOMAIN_LIST" />)}other{您的帐号中保存了 # 个密码(关联的网域:<ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">串行端口</translation>
 <translation id="7639968568612851608">深灰色</translation>
+<translation id="7646681339175747202">您刚才使用的密码遭遇了数据泄露。Google 密码管理工具建议您立即更改密码。</translation>
 <translation id="7647206758853451655">打印质量</translation>
 <translation id="7648992873808071793">在此设备上存储文件</translation>
 <translation id="7653957176542370971">付款处理程序工作表已关闭</translation>
@@ -3030,6 +3043,7 @@
 <translation id="9174623988242579721">定制车与高性能车</translation>
 <translation id="9174917557437862841">标签页切换按钮,按 Enter 键可切换到此标签页</translation>
 <translation id="9179703756951298733">在 Chrome 设置中管理您的付款和信用卡信息</translation>
+<translation id="9179907736442194268">当任一网站上的商品降价时,您会收到电子邮件提醒</translation>
 <translation id="9183302530794969518">Google 文档</translation>
 <translation id="9183425211371246419"><ph name="HOST_NAME" /> 使用了不受支持的协议。</translation>
 <translation id="9187461866967718678">极限运动</translation>
diff --git a/components/strings/components_strings_zh-HK.xtb b/components/strings/components_strings_zh-HK.xtb
index 8644d9b9..e1763a1 100644
--- a/components/strings/components_strings_zh-HK.xtb
+++ b/components/strings/components_strings_zh-HK.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">網絡資料,例如網絡位址、介面設定,以及連線品質</translation>
 <translation id="1567040042588613346">此政策運作正常,但與其他地方設定的值相同,並已取代該值。</translation>
 <translation id="1569487616857761740">輸入到期日</translation>
+<translation id="1569694109004336106">Google Chrome 正在嘗試開啟 Windows Hello,以便在填入密碼時驗證。</translation>
 <translation id="1581080074034554886">信用卡驗證碼 (CVC)</translation>
 <translation id="1583429793053364125">顯示此網頁時發生錯誤。</translation>
 <translation id="1586541204584340881">您已安裝的擴充程式</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">你嘅最高得分係 <ph name="SCORE" />。</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />將您瀏覽的部分網頁網址、有限的系統資料以及部分網頁內容<ph name="END_WHITEPAPER_LINK" />傳送給 Google,以協助改善其他使用者的網絡安全性。<ph name="BEGIN_PRIVACY_PAGE_LINK" />私隱權政策<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> 書籤</translation>
+<translation id="1971033026002113380">使用 Touch ID 保護密碼</translation>
 <translation id="1973335181906896915">序列化錯誤</translation>
 <translation id="1974060860693918893">進階選項</translation>
 <translation id="1975457531113383421">輸入紙匣</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">要儲存付款卡嗎?</translation>
 <translation id="2882949212241984732">雙摺頁</translation>
 <translation id="2893773853358652045">第四卷</translation>
+<translation id="289834758818479772">如果您與其他人分享此裝置,可以開啟 Touch ID,以便在使用已儲存的密碼時驗證身份</translation>
 <translation id="2900528713135656174">建立活動</translation>
 <translation id="2903493209154104877">地址</translation>
 <translation id="290376772003165898">網頁的來源語言不是<ph name="LANGUAGE" />嗎?</translation>
@@ -802,6 +805,8 @@
 <translation id="3108943290502734357">中匣</translation>
 <translation id="3109728660330352905">您並未獲授權查看此網頁。</translation>
 <translation id="3113284927548439113">第三批</translation>
+<translation id="3114040155724590991">正在更新 Android 系統
+    開啟應用程式所需的時間可能比平常較長。</translation>
 <translation id="3115363211799416195">{0,plural, =1{要下載機密檔案嗎?}other{要下載機密檔案嗎?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> 要求您備份資料,並歸還此 <ph name="DEVICE_TYPE" />。</translation>
 <translation id="3116158981186517402">粘合</translation>
@@ -1255,6 +1260,7 @@
 <translation id="4306812610847412719">剪貼簿</translation>
 <translation id="4308567447483056043">由於使用者無關聯,因此系統會忽略此政策。如要套用此政策,Chrome 瀏覽器和設定檔必須是由同一機構透過管理控制台管理。</translation>
 <translation id="4310070645992025887">搜尋瀏覽過程</translation>
+<translation id="4310496734563057511">如果您與其他人分享此裝置,可以開啟 Windows Hello,以便在使用已儲存的密碼時驗證身份</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">封鎖 (預設)</translation>
 <translation id="4314815835985389558">管理同步資料</translation>
@@ -1469,6 +1475,7 @@
 <translation id="4880827082731008257">搜尋記錄</translation>
 <translation id="4881695831933465202">開啟</translation>
 <translation id="4885256590493466218">使用 <ph name="CARD_DETAIL" /> 結帳付款</translation>
+<translation id="4887406273302438710">使用 Windows Hello 保護密碼</translation>
 <translation id="4888600795924685526">外語學習</translation>
 <translation id="4889420713887366944">開啟無痕式視窗按鈕,㩒一下 Enter 鍵就可以開新嘅無痕式視窗私下瀏覽</translation>
 <translation id="4892518386797173871">後方</translation>
@@ -1688,6 +1695,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> 要求傳送通知給您</translation>
 <translation id="5428105026674456456">西班牙文</translation>
 <translation id="5430298929874300616">移除書籤</translation>
+<translation id="5434423669266814150">開啟 Touch ID,以便在填入密碼時驗證</translation>
 <translation id="5443468954631487277">相反順序 (正面朝上)</translation>
 <translation id="5447765697759493033">系統不會翻譯此網站</translation>
 <translation id="5452270690849572955">找不到此 <ph name="HOST_NAME" /> 網頁</translation>
@@ -2465,6 +2473,7 @@
 <translation id="7564049878696755256">您有可能會失去 <ph name="ORG_NAME" /> 帳戶存取權,或會遭身份盜用。Chrome 建議您立即變更密碼。</translation>
 <translation id="7564680668369175887">房車</translation>
 <translation id="7567204685887185387">伺服器無法證明其屬於 <ph name="DOMAIN" /> 網域;其安全性憑證或許曾以欺詐方式發行。這可能是因為設定錯誤,或有攻擊者攔截您的連線。</translation>
+<translation id="7568616151991626879">Google Chrome 正在嘗試在「<ph name="APP_NAME" />」中填入密碼。</translation>
 <translation id="7569490014721427265">高爾夫球</translation>
 <translation id="7569761772822664555">管理搜尋引擎按鈕,㩒一下 Enter 鍵就可以管理預設搜尋引擎同埋站內搜尋</translation>
 <translation id="7569952961197462199">要從 Chrome 中移除信用卡資料嗎?</translation>
@@ -2495,6 +2504,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{無}=1{帳戶中有 1 個密碼 (適用於 <ph name="DOMAIN_LIST" />)}other{帳戶中有 # 個密碼 (適用於 <ph name="DOMAIN_LIST" />)}}</translation>
 <translation id="7638605456503525968">序列連接埠</translation>
 <translation id="7639968568612851608">深灰色</translation>
+<translation id="7646681339175747202">系統發現您剛才使用的密碼因資料外洩而被洩露。「Google 密碼管理工具」建議您立即變更密碼。</translation>
 <translation id="7647206758853451655">列印品質</translation>
 <translation id="7648992873808071793">在此裝置上存放檔案</translation>
 <translation id="7653957176542370971">付款處理常式工作表閂咗</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 659793b..e875e16f 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -261,6 +261,7 @@
 <translation id="156703335097561114">包括位址、介面設定和連線品質等網路資訊</translation>
 <translation id="1567040042588613346">這項政策運作正常,但與其他地方設定的值相同,並已取代該值。</translation>
 <translation id="1569487616857761740">輸入到期日</translation>
+<translation id="1569694109004336106">Google Chrome 正在嘗試開啟 Windows Hello,以便在填入密碼時進行驗證。</translation>
 <translation id="1581080074034554886">CVC</translation>
 <translation id="1583429793053364125">顯示這個網頁時發生錯誤。</translation>
 <translation id="1586541204584340881">你安裝的擴充功能</translation>
@@ -399,6 +400,7 @@
 <translation id="1958218078413065209">最高得分為 <ph name="SCORE" />。</translation>
 <translation id="1959001866257244765"><ph name="BEGIN_WHITEPAPER_LINK" />將你造訪的部分網頁網址、特定的系統資訊以及部分網頁內容傳送<ph name="END_WHITEPAPER_LINK" />給 Google,協助我們改善所有使用者的網路安全。<ph name="BEGIN_PRIVACY_PAGE_LINK" />隱私權政策<ph name="END_PRIVACY_PAGE_LINK" /></translation>
 <translation id="1962204205936693436"><ph name="DOMAIN" /> 書籤</translation>
+<translation id="1971033026002113380">使用 Touch ID 保護密碼</translation>
 <translation id="1973335181906896915">序列化錯誤</translation>
 <translation id="1974060860693918893">進階</translation>
 <translation id="1975457531113383421">輸入紙匣</translation>
@@ -726,6 +728,7 @@
 <translation id="2881276955470682203">要儲存卡片嗎?</translation>
 <translation id="2882949212241984732">觀音摺</translation>
 <translation id="2893773853358652045">第四卷</translation>
+<translation id="289834758818479772">如果你與其他人共用這部裝置,可以開啟 Touch ID,讓系統在有人使用已儲存的密碼時驗證身分</translation>
 <translation id="2900528713135656174">建立活動</translation>
 <translation id="2903493209154104877">地址</translation>
 <translation id="290376772003165898">不是<ph name="LANGUAGE" />網頁嗎?</translation>
@@ -802,6 +805,7 @@
 <translation id="3108943290502734357">中匣</translation>
 <translation id="3109728660330352905">您未獲得授權,無法瀏覽這個網頁。</translation>
 <translation id="3113284927548439113">第三批</translation>
+<translation id="3114040155724590991">如果更新 Android System,啟動應用程式的時間可能會比平常來得久。</translation>
 <translation id="3115363211799416195">{0,plural, =1{要下載機密檔案嗎?}other{要下載機密檔案嗎?}}</translation>
 <translation id="3115874930288085374"><ph name="ENROLLMENT_DOMAIN" /> 要求你備份自己的資料並退還這部「<ph name="DEVICE_TYPE" />」。</translation>
 <translation id="3116158981186517402">裱貼</translation>
@@ -1256,6 +1260,7 @@
 <translation id="4306812610847412719">剪貼簿</translation>
 <translation id="4308567447483056043">由於使用者無任何聯盟關係,因此系統已忽略這項政策。如要套用這項政策,必須由同一機構透過管理控制台管理 Chrome 瀏覽器和設定檔。</translation>
 <translation id="4310070645992025887">搜尋瀏覽歷程</translation>
+<translation id="4310496734563057511">如果你與其他人共用這部裝置,可以開啟 Windows Hello,讓系統在有人使用已儲存的密碼時驗證身分</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">封鎖 (預設)</translation>
 <translation id="4314815835985389558">管理同步資料</translation>
@@ -1470,6 +1475,7 @@
 <translation id="4880827082731008257">搜尋記錄</translation>
 <translation id="4881695831933465202">開啟</translation>
 <translation id="4885256590493466218">使用 <ph name="CARD_DETAIL" /> 結帳付款</translation>
+<translation id="4887406273302438710">使用 Windows Hello 保護密碼</translation>
 <translation id="4888600795924685526">外語學習</translation>
 <translation id="4889420713887366944">「開啟無痕式視窗」按鈕,按下 Enter 鍵即可開啟新的無痕式視窗進行私密瀏覽</translation>
 <translation id="4892518386797173871">後方</translation>
@@ -1689,6 +1695,7 @@
 <translation id="5426179911063097041"><ph name="SITE" /> 要求傳送通知給你</translation>
 <translation id="5428105026674456456">西班牙文</translation>
 <translation id="5430298929874300616">移除書籤</translation>
+<translation id="5434423669266814150">開啟 Touch ID,以便在填入密碼時進行驗證</translation>
 <translation id="5443468954631487277">相反順序 (正面朝上)</translation>
 <translation id="5447765697759493033">系統不會翻譯這個網站</translation>
 <translation id="5452270690849572955">找不到 <ph name="HOST_NAME" /> 網頁</translation>
@@ -2466,6 +2473,7 @@
 <translation id="7564049878696755256">你可能會失去 <ph name="ORG_NAME" /> 帳戶存取權,或身分遭到冒用。Chrome 建議你立即變更密碼。</translation>
 <translation id="7564680668369175887">旅行車</translation>
 <translation id="7567204685887185387">伺服器無法證明其屬於 <ph name="DOMAIN" /> 網域;其安全性憑證是以欺詐方式發行。這可能是因為設定錯誤,或有攻擊者攔截你的連線所致。</translation>
+<translation id="7568616151991626879">Google Chrome 正嘗試在「<ph name="APP_NAME" />」中填入密碼。</translation>
 <translation id="7569490014721427265">高爾夫</translation>
 <translation id="7569761772822664555">「管理搜尋引擎」按鈕;按下 Enter 鍵即可管理預設搜尋引擎和站內搜尋</translation>
 <translation id="7569952961197462199">要從 Chrome 中移除信用卡嗎?</translation>
@@ -2496,6 +2504,7 @@
 <translation id="7637586430889951925">{COUNT,plural, =0{無}=1{你的帳戶中有 1 組密碼 (<ph name="DOMAIN_LIST" /> 的密碼)}other{你的帳戶中有 # 組密碼 (<ph name="DOMAIN_LIST" /> 的密碼)}}</translation>
 <translation id="7638605456503525968">序列埠</translation>
 <translation id="7639968568612851608">深灰色</translation>
+<translation id="7646681339175747202">你剛剛使用的密碼已在資料侵害事件中外洩,Google 密碼管理工具建議你立即變更密碼。</translation>
 <translation id="7647206758853451655">列印品質</translation>
 <translation id="7648992873808071793">在這個裝置上儲存檔案</translation>
 <translation id="7653957176542370971">已關閉付款處理常式工作表</translation>
diff --git a/components/sync/driver/sync_policy_handler_unittest.cc b/components/sync/driver/sync_policy_handler_unittest.cc
index e20bae7..0a7b139 100644
--- a/components/sync/driver/sync_policy_handler_unittest.cc
+++ b/components/sync/driver/sync_policy_handler_unittest.cc
@@ -16,11 +16,6 @@
 #include "components/sync/base/pref_names.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-#include "ash/constants/ash_features.h"
-#include "base/test/scoped_feature_list.h"
-#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
-
 namespace syncer {
 namespace {
 
@@ -100,17 +95,8 @@
 }
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-class SyncPolicyHandlerOsTest : public testing::Test {
- public:
-  SyncPolicyHandlerOsTest() {
-    feature_list_.InitAndEnableFeature(
-        chromeos::features::kSyncSettingsCategorization);
-  }
 
-  base::test::ScopedFeatureList feature_list_;
-};
-
-TEST_F(SyncPolicyHandlerOsTest, SyncTypesListDisabled_OsTypes) {
+TEST(SyncPolicyHandlerOsTest, SyncTypesListDisabled_OsTypes) {
   // Start with prefs enabled so we can sense that they have changed.
   PrefValueMap prefs;
   prefs.SetBoolean(prefs::kSyncOsApps, true);
@@ -140,7 +126,7 @@
   EXPECT_FALSE(enabled);
 }
 
-TEST_F(SyncPolicyHandlerOsTest, SyncTypesListDisabled_MigratedTypes) {
+TEST(SyncPolicyHandlerOsTest, SyncTypesListDisabled_MigratedTypes) {
   // Start with prefs enabled so we can sense that they have changed.
   PrefValueMap prefs;
   prefs.SetBoolean(prefs::kSyncOsApps, true);
diff --git a/components/sync/driver/sync_service_impl.cc b/components/sync/driver/sync_service_impl.cc
index 5bf62c4c..fb7055ae 100644
--- a/components/sync/driver/sync_service_impl.cc
+++ b/components/sync/driver/sync_service_impl.cc
@@ -511,13 +511,16 @@
   }
 
   base::UmaHistogramEnumeration("Sync.ResetEngineReason", reset_reason);
+  SyncInvalidationsService* sync_invalidations_service =
+      sync_client_->GetSyncInvalidationsService();
   switch (shutdown_reason) {
     case ShutdownReason::STOP_SYNC_AND_KEEP_DATA:
+      if (sync_invalidations_service) {
+        sync_invalidations_service->StopListening();
+      }
       RemoveClientFromServer();
       break;
     case ShutdownReason::DISABLE_SYNC_AND_CLEAR_DATA: {
-      SyncInvalidationsService* sync_invalidations_service =
-          sync_client_->GetSyncInvalidationsService();
       if (sync_invalidations_service) {
         sync_invalidations_service->StopListeningPermanently();
       }
@@ -525,6 +528,9 @@
       break;
     }
     case ShutdownReason::BROWSER_SHUTDOWN_AND_KEEP_DATA:
+      if (sync_invalidations_service) {
+        sync_invalidations_service->StopListening();
+      }
       break;
   }
 
diff --git a/components/sync/driver/sync_user_settings_impl_unittest.cc b/components/sync/driver/sync_user_settings_impl_unittest.cc
index e3ed3381..9312748 100644
--- a/components/sync/driver/sync_user_settings_impl_unittest.cc
+++ b/components/sync/driver/sync_user_settings_impl_unittest.cc
@@ -22,23 +22,13 @@
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-#include "ash/constants/ash_features.h"
-#endif
-
 namespace syncer {
 
 namespace {
 
 ModelTypeSet GetUserTypes() {
   ModelTypeSet user_types = UserTypes();
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-  // These types only exist when SyncSettingsCategorization is enabled.
-  if (!chromeos::features::IsSyncSettingsCategorizationEnabled()) {
-    user_types.RemoveAll(
-        {OS_PREFERENCES, OS_PRIORITY_PREFERENCES, WIFI_CONFIGURATIONS});
-  }
-#else
+#if !BUILDFLAG(IS_CHROMEOS_ASH)
   // Ignore all Chrome OS types on non-Chrome OS platforms.
   user_types.RemoveAll(
       {APP_LIST, ARC_PACKAGE, OS_PREFERENCES, OS_PRIORITY_PREFERENCES, PRINTERS,
@@ -112,10 +102,6 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 TEST_F(SyncUserSettingsImplTest, PreferredTypesSyncAllOsTypes) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-
   std::unique_ptr<SyncUserSettingsImpl> sync_user_settings =
       MakeSyncUserSettings(GetUserTypes());
 
@@ -139,13 +125,11 @@
       /*sync_everything=*/false,
       /*types=*/UserSelectableTypeSet());
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-  if (chromeos::features::IsSyncSettingsCategorizationEnabled()) {
-    // GetPreferredUserTypes() returns ModelTypes, which includes both browser
-    // and OS types. However, this test exercises browser UserSelectableTypes,
-    // so disable OS selectable types.
-    sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
-                                           UserSelectableOsTypeSet());
-  }
+  // GetPreferredUserTypes() returns ModelTypes, which includes both browser
+  // and OS types. However, this test exercises browser UserSelectableTypes,
+  // so disable OS selectable types.
+  sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
+                                         UserSelectableOsTypeSet());
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
   // No user selectable types are enabled, so only the "always preferred" types
   // are preferred.
@@ -167,10 +151,6 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 TEST_F(SyncUserSettingsImplTest, PreferredTypesNotAllOsTypesSynced) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-
   std::unique_ptr<SyncUserSettingsImpl> sync_user_settings =
       MakeSyncUserSettings(GetUserTypes());
 
@@ -249,10 +229,6 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 TEST_F(SyncUserSettingsImplTest, AlwaysPreferredTypes_ChromeOS) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-
   std::unique_ptr<SyncUserSettingsImpl> sync_user_settings =
       MakeSyncUserSettings(GetUserTypes());
 
@@ -273,10 +249,6 @@
 }
 
 TEST_F(SyncUserSettingsImplTest, AppsAreHandledByOsSettings) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-
   std::unique_ptr<SyncUserSettingsImpl> settings =
       MakeSyncUserSettings(GetUserTypes());
 
@@ -367,13 +339,11 @@
       MakeSyncUserSettings(GetUserTypes());
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-  if (chromeos::features::IsSyncSettingsCategorizationEnabled()) {
-    // GetPreferredUserTypes() returns ModelTypes, which includes both browser
-    // and OS types. However, this test exercises browser UserSelectableTypes,
-    // so disable OS selectable types.
-    sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
-                                           UserSelectableOsTypeSet());
-  }
+  // GetPreferredUserTypes() returns ModelTypes, which includes both browser
+  // and OS types. However, this test exercises browser UserSelectableTypes,
+  // so disable OS selectable types.
+  sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
+                                         UserSelectableOsTypeSet());
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
   // History and OpenTabs enabled: All the history-related ModelTypes should be
@@ -421,13 +391,11 @@
       MakeSyncUserSettings(GetUserTypes());
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-  if (chromeos::features::IsSyncSettingsCategorizationEnabled()) {
-    // GetPreferredUserTypes() returns ModelTypes, which includes both browser
-    // and OS types. However, this test exercises browser UserSelectableTypes,
-    // so disable OS selectable types.
-    sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
-                                           UserSelectableOsTypeSet());
-  }
+  // GetPreferredUserTypes() returns ModelTypes, which includes both browser
+  // and OS types. However, this test exercises browser UserSelectableTypes,
+  // so disable OS selectable types.
+  sync_user_settings->SetSelectedOsTypes(/*sync_all_os_types=*/false,
+                                         UserSelectableOsTypeSet());
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
   // History and OpenTabs enabled: All the history-related ModelTypes should be
diff --git a/components/sync/invalidations/sync_invalidations_service.h b/components/sync/invalidations/sync_invalidations_service.h
index e54e8ffcc..f5eff23 100644
--- a/components/sync/invalidations/sync_invalidations_service.h
+++ b/components/sync/invalidations/sync_invalidations_service.h
@@ -33,6 +33,9 @@
   // doesn't have one.
   virtual void StartListening() = 0;
 
+  // Stop listening to invalidations and doesn't remove FCM registration token.
+  virtual void StopListening() = 0;
+
   // Stop listening to invalidations and removes FCM registration token.
   virtual void StopListeningPermanently() = 0;
 
diff --git a/components/sync/invalidations/sync_invalidations_service_impl.cc b/components/sync/invalidations/sync_invalidations_service_impl.cc
index 2540501..a4e6efb 100644
--- a/components/sync/invalidations/sync_invalidations_service_impl.cc
+++ b/components/sync/invalidations/sync_invalidations_service_impl.cc
@@ -55,6 +55,10 @@
   fcm_handler_->StartListening();
 }
 
+void SyncInvalidationsServiceImpl::StopListening() {
+  fcm_handler_->StopListening();
+}
+
 void SyncInvalidationsServiceImpl::StopListeningPermanently() {
   if (!fcm_handler_->IsListening()) {
     return;
diff --git a/components/sync/invalidations/sync_invalidations_service_impl.h b/components/sync/invalidations/sync_invalidations_service_impl.h
index c0fbaba..85b377e 100644
--- a/components/sync/invalidations/sync_invalidations_service_impl.h
+++ b/components/sync/invalidations/sync_invalidations_service_impl.h
@@ -35,6 +35,7 @@
   void AddListener(InvalidationsListener* listener) override;
   void RemoveListener(InvalidationsListener* listener) override;
   void StartListening() override;
+  void StopListening() override;
   void StopListeningPermanently() override;
   void AddTokenObserver(FCMRegistrationTokenObserver* observer) override;
   void RemoveTokenObserver(FCMRegistrationTokenObserver* observer) override;
diff --git a/components/sync/test/mock_sync_invalidations_service.h b/components/sync/test/mock_sync_invalidations_service.h
index 1d4f30e..5f3edaf 100644
--- a/components/sync/test/mock_sync_invalidations_service.h
+++ b/components/sync/test/mock_sync_invalidations_service.h
@@ -18,6 +18,7 @@
   ~MockSyncInvalidationsService() override;
 
   MOCK_METHOD(void, StartListening, ());
+  MOCK_METHOD(void, StopListening, ());
   MOCK_METHOD(void, StopListeningPermanently, ());
   MOCK_METHOD(void, AddListener, (InvalidationsListener * listener));
   MOCK_METHOD(void, RemoveListener, (InvalidationsListener * listener));
diff --git a/components/sync_preferences/pref_service_syncable_unittest.cc b/components/sync_preferences/pref_service_syncable_unittest.cc
index be60e3b..b658c8b 100644
--- a/components/sync_preferences/pref_service_syncable_unittest.cc
+++ b/components/sync_preferences/pref_service_syncable_unittest.cc
@@ -38,8 +38,6 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-#include "ash/constants/ash_features.h"
-#include "base/test/scoped_feature_list.h"
 #include "testing/gmock/include/gmock/gmock-matchers.h"
 #endif
 
@@ -985,7 +983,6 @@
   }
 
  protected:
-  base::test::ScopedFeatureList feature_list_;
   scoped_refptr<PrefRegistrySyncable> pref_registry_;
   PrefNotifierImpl* pref_notifier_;  // Owned by |prefs_|.
   scoped_refptr<TestingPrefStore> user_prefs_;
@@ -994,26 +991,7 @@
   std::unique_ptr<PrefServiceSyncable> prefs_;
 };
 
-TEST_F(PrefServiceSyncableChromeOsTest,
-       IsPrefRegistered_CategorizationDisabled) {
-  feature_list_.InitAndDisableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-  CreatePrefService();
-  EXPECT_TRUE(GetRegisteredModelTypes("unsynced_pref").Empty());
-  EXPECT_EQ(ModelTypeSet(syncer::PREFERENCES),
-            GetRegisteredModelTypes("browser_pref"));
-  EXPECT_EQ(ModelTypeSet(syncer::PRIORITY_PREFERENCES),
-            GetRegisteredModelTypes("browser_priority_pref"));
-  EXPECT_EQ(ModelTypeSet(syncer::PREFERENCES),
-            GetRegisteredModelTypes("os_pref"));
-  EXPECT_EQ(ModelTypeSet(syncer::PRIORITY_PREFERENCES),
-            GetRegisteredModelTypes("os_priority_pref"));
-}
-
-TEST_F(PrefServiceSyncableChromeOsTest,
-       IsPrefRegistered_CategorizationEnabled) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
+TEST_F(PrefServiceSyncableChromeOsTest, IsPrefRegistered) {
   CreatePrefService();
   EXPECT_TRUE(GetRegisteredModelTypes("unsynced_pref").Empty());
   EXPECT_EQ(ModelTypeSet(syncer::PREFERENCES),
@@ -1039,8 +1017,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, IsSyncing) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForType(syncer::PREFERENCES);
   EXPECT_TRUE(prefs_->IsSyncing());
@@ -1050,8 +1026,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, IsPrioritySyncing) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForType(syncer::PRIORITY_PREFERENCES);
   EXPECT_FALSE(prefs_->IsSyncing());
@@ -1061,8 +1035,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, AreOsPrefsSyncing) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForType(syncer::OS_PREFERENCES);
   EXPECT_FALSE(prefs_->IsSyncing());
@@ -1072,8 +1044,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, AreOsPriorityPrefsSyncing) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForType(syncer::OS_PRIORITY_PREFERENCES);
   EXPECT_FALSE(prefs_->IsSyncing());
@@ -1083,8 +1053,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, IsPrefSynced_OsPref) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForAllTypes();
   auto* associator = static_cast<PrefModelAssociator*>(
@@ -1100,8 +1068,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, IsPrefSynced_OsPriorityPref) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForAllTypes();
   auto* associator = static_cast<PrefModelAssociator*>(
@@ -1117,8 +1083,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, SyncedPrefObserver_OsPref) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForAllTypes();
 
@@ -1133,8 +1097,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, SyncedPrefObserver_OsPriorityPref) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForAllTypes();
 
@@ -1148,25 +1110,7 @@
   prefs_->RemoveSyncedPrefObserver("os_priority_pref", &observer);
 }
 
-TEST_F(PrefServiceSyncableChromeOsTest,
-       OsPrefChangeSyncedAsBrowserPrefChange_CategorizationDisabled) {
-  feature_list_.InitAndDisableFeature(
-      chromeos::features::kSyncSettingsCategorization);
-  CreatePrefService();
-  // Set a non-default value.
-  prefs_->SetString("os_pref", "new_value");
-  // Start syncing.
-  syncer::SyncChangeList output;
-  InitSyncForAllTypes(&output);
-  ASSERT_EQ(1u, output.size());
-  // The OS pref is treated like a browser pref.
-  EXPECT_EQ(syncer::PREFERENCES, output[0].sync_data().GetDataType());
-}
-
-TEST_F(PrefServiceSyncableChromeOsTest,
-       OsPrefChangeSyncedAsOsPrefChange_CategorizationEnabled) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
+TEST_F(PrefServiceSyncableChromeOsTest, OsPrefChangeSyncedAsOsPrefChange) {
   CreatePrefService();
   // Set a non-default value.
   prefs_->SetString("os_pref", "new_value");
@@ -1184,9 +1128,7 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest,
-       OsPrefChangeMakesSyncChangeForOldClients_CategorizationEnabled_Update) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
+       OsPrefChangeMakesSyncChangeForOldClients_Update) {
   CreatePrefService();
   syncer::SyncChangeList changes;
   InitSyncForAllTypes(&changes);
@@ -1210,8 +1152,6 @@
 
 TEST_F(PrefServiceSyncableChromeOsTest,
        UpdatesFromOldClientsAreIgnored_Startup) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   TestSyncedPrefObserver observer;
   prefs_->AddSyncedPrefObserver("os_pref", &observer);
@@ -1248,8 +1188,6 @@
 
 TEST_F(PrefServiceSyncableChromeOsTest,
        UpdatesFromOldClientsAreIgnored_Update) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   InitSyncForAllTypes();
   TestSyncedPrefObserver observer;
@@ -1276,8 +1214,6 @@
 
 TEST_F(PrefServiceSyncableChromeOsTest,
        SyncedPrefObserver_OsPrefIsChangedFromSync) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   prefs_->SetString("os_pref", "default_value");
 
@@ -1311,8 +1247,6 @@
 
 TEST_F(PrefServiceSyncableChromeOsTest,
        SyncedPrefObserver_OsPrefIsNotChangedFromSync) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   prefs_->SetString("os_pref", "default_value");
 
@@ -1345,8 +1279,6 @@
 }
 
 TEST_F(PrefServiceSyncableChromeOsTest, SyncedPrefObserver_EmptyCloud) {
-  feature_list_.InitAndEnableFeature(
-      chromeos::features::kSyncSettingsCategorization);
   CreatePrefService();
   prefs_->SetString("os_pref", "new_value");
 
diff --git a/components/test/components_test_suite.cc b/components/test/components_test_suite.cc
index 158fbbf..20d68eea 100644
--- a/components/test/components_test_suite.cc
+++ b/components/test/components_test_suite.cc
@@ -16,6 +16,7 @@
 #include "build/build_config.h"
 #include "build/buildflag.h"
 #include "components/breadcrumbs/core/breadcrumb_manager.h"
+#include "components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h"
 #include "components/content_settings/core/common/content_settings_pattern.h"
 #include "mojo/core/embedder/embedder.h"
 #include "services/network/public/cpp/features.h"
@@ -124,6 +125,8 @@
 
   void OnTestEnd(const testing::TestInfo& test_info) override {
     breadcrumbs::BreadcrumbManager::GetInstance().ResetForTesting();
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
 #if BUILDFLAG(IS_IOS)
     ios_initializer_.reset();
 #endif
diff --git a/components/user_manager/known_user.cc b/components/user_manager/known_user.cc
index b19e06e..adef8e51 100644
--- a/components/user_manager/known_user.cc
+++ b/components/user_manager/known_user.cc
@@ -249,8 +249,8 @@
   if (!account_id.is_valid())
     return;
 
-  ListPrefUpdate update(local_state_, kKnownUsers);
-  for (base::Value& element_value : update->GetList()) {
+  ScopedListPrefUpdate update(local_state_, kKnownUsers);
+  for (base::Value& element_value : *update) {
     if (element_value.is_dict()) {
       if (UserMatches(account_id, element_value)) {
         if (opt_value.has_value())
@@ -749,8 +749,8 @@
   if (!account_id.is_valid())
     return;
 
-  ListPrefUpdate update(local_state_, kKnownUsers);
-  base::Value::List& update_list = update->GetList();
+  ScopedListPrefUpdate update(local_state_, kKnownUsers);
+  base::Value::List& update_list = update.Get();
   for (auto it = update_list.begin(); it != update_list.end(); ++it) {
     if (UserMatches(account_id, *it)) {
       update_list.erase(it);
@@ -760,8 +760,8 @@
 }
 
 void KnownUser::CleanEphemeralUsers() {
-  ListPrefUpdate update(local_state_, kKnownUsers);
-  update->GetList().EraseIf([](const auto& value) {
+  ScopedListPrefUpdate update(local_state_, kKnownUsers);
+  update->EraseIf([](const auto& value) {
     if (!value.is_dict())
       return false;
 
@@ -771,8 +771,8 @@
 }
 
 void KnownUser::CleanObsoletePrefs() {
-  ListPrefUpdate update(local_state_, kKnownUsers);
-  for (base::Value& user_entry : update.Get()->GetListDeprecated()) {
+  ScopedListPrefUpdate update(local_state_, kKnownUsers);
+  for (base::Value& user_entry : *update) {
     if (!user_entry.is_dict())
       continue;
     for (const std::string& key : kObsoleteKeys)
diff --git a/components/user_manager/user_manager_base.cc b/components/user_manager/user_manager_base.cc
index a3472ac..b4185be 100644
--- a/components/user_manager/user_manager_base.cc
+++ b/components/user_manager/user_manager_base.cc
@@ -432,10 +432,10 @@
     return;
 
   {
-    DictionaryPrefUpdate oauth_status_update(GetLocalState(),
+    ScopedDictPrefUpdate oauth_status_update(GetLocalState(),
                                              kUserOAuthTokenStatus);
-    oauth_status_update->SetIntKey(account_id.GetUserEmail(),
-                                   static_cast<int>(oauth_token_status));
+    oauth_status_update->Set(account_id.GetUserEmail(),
+                             static_cast<int>(oauth_token_status));
   }
   GetLocalState()->CommitPendingWrite();
 }
@@ -454,10 +454,9 @@
     return;
 
   {
-    DictionaryPrefUpdate force_online_update(GetLocalState(),
+    ScopedDictPrefUpdate force_online_update(GetLocalState(),
                                              kUserForceOnlineSignin);
-    force_online_update->SetBoolKey(account_id.GetUserEmail(),
-                                    force_online_signin);
+    force_online_update->Set(account_id.GetUserEmail(), force_online_signin);
   }
   GetLocalState()->CommitPendingWrite();
 }
@@ -472,10 +471,9 @@
     // Do not update local state if data stored or cached outside the user's
     // cryptohome is to be treated as ephemeral.
     if (!IsUserNonCryptohomeDataEphemeral(account_id)) {
-      DictionaryPrefUpdate display_name_update(GetLocalState(),
+      ScopedDictPrefUpdate display_name_update(GetLocalState(),
                                                kUserDisplayName);
-      display_name_update->SetStringKey(account_id.GetUserEmail(),
-                                        display_name);
+      display_name_update->Set(account_id.GetUserEmail(), display_name);
     }
   }
 }
@@ -503,8 +501,8 @@
   if (IsUserNonCryptohomeDataEphemeral(account_id))
     return;
 
-  DictionaryPrefUpdate display_email_update(GetLocalState(), kUserDisplayEmail);
-  display_email_update->SetStringKey(account_id.GetUserEmail(), display_email);
+  ScopedDictPrefUpdate display_email_update(GetLocalState(), kUserDisplayEmail);
+  display_email_update->Set(account_id.GetUserEmail(), display_email);
 }
 
 UserType UserManagerBase::GetUserType(const AccountId& account_id) {
@@ -522,9 +520,9 @@
   if (IsUserNonCryptohomeDataEphemeral(user->GetAccountId()))
     return;
 
-  DictionaryPrefUpdate user_type_update(GetLocalState(), kUserType);
-  user_type_update->SetIntKey(user->GetAccountId().GetAccountIdKey(),
-                              static_cast<int>(user->GetType()));
+  ScopedDictPrefUpdate user_type_update(GetLocalState(), kUserType);
+  user_type_update->Set(user->GetAccountId().GetAccountIdKey(),
+                        static_cast<int>(user->GetType()));
   GetLocalState()->CommitPendingWrite();
 }
 
@@ -539,8 +537,8 @@
     std::u16string given_name = account_data.given_name();
     user->set_given_name(given_name);
     if (!IsUserNonCryptohomeDataEphemeral(account_id)) {
-      DictionaryPrefUpdate given_name_update(GetLocalState(), kUserGivenName);
-      given_name_update->SetStringKey(account_id.GetUserEmail(), given_name);
+      ScopedDictPrefUpdate given_name_update(GetLocalState(), kUserGivenName);
+      given_name_update->Set(account_id.GetUserEmail(), given_name);
     }
   }
 
@@ -949,10 +947,9 @@
 
 void UserManagerBase::AddUserRecord(User* user) {
   // Add the user to the front of the user list.
-  ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsersPref);
-  prefs_users_update->GetList().Insert(
-      prefs_users_update->GetList().begin(),
-      base::Value(user->GetAccountId().GetUserEmail()));
+  ScopedListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsersPref);
+  prefs_users_update->Insert(prefs_users_update->begin(),
+                             base::Value(user->GetAccountId().GetUserEmail()));
   users_.insert(users_.begin(), user);
 }
 
@@ -1041,20 +1038,20 @@
 
 void UserManagerBase::RemoveNonCryptohomeData(const AccountId& account_id) {
   PrefService* prefs = GetLocalState();
-  DictionaryPrefUpdate prefs_display_name_update(prefs, kUserDisplayName);
-  prefs_display_name_update->RemoveKey(account_id.GetUserEmail());
+  ScopedDictPrefUpdate prefs_display_name_update(prefs, kUserDisplayName);
+  prefs_display_name_update->Remove(account_id.GetUserEmail());
 
-  DictionaryPrefUpdate prefs_given_name_update(prefs, kUserGivenName);
-  prefs_given_name_update->RemoveKey(account_id.GetUserEmail());
+  ScopedDictPrefUpdate prefs_given_name_update(prefs, kUserGivenName);
+  prefs_given_name_update->Remove(account_id.GetUserEmail());
 
-  DictionaryPrefUpdate prefs_display_email_update(prefs, kUserDisplayEmail);
-  prefs_display_email_update->RemoveKey(account_id.GetUserEmail());
+  ScopedDictPrefUpdate prefs_display_email_update(prefs, kUserDisplayEmail);
+  prefs_display_email_update->Remove(account_id.GetUserEmail());
 
-  DictionaryPrefUpdate prefs_oauth_update(prefs, kUserOAuthTokenStatus);
-  prefs_oauth_update->RemoveKey(account_id.GetUserEmail());
+  ScopedDictPrefUpdate prefs_oauth_update(prefs, kUserOAuthTokenStatus);
+  prefs_oauth_update->Remove(account_id.GetUserEmail());
 
-  DictionaryPrefUpdate prefs_force_online_update(prefs, kUserForceOnlineSignin);
-  prefs_force_online_update->RemoveKey(account_id.GetUserEmail());
+  ScopedDictPrefUpdate prefs_force_online_update(prefs, kUserForceOnlineSignin);
+  prefs_force_online_update->Remove(account_id.GetUserEmail());
 
   KnownUser(prefs).RemovePrefs(account_id);
 
@@ -1067,8 +1064,8 @@
 User* UserManagerBase::RemoveRegularOrSupervisedUserFromList(
     const AccountId& account_id,
     bool notify) {
-  ListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsersPref);
-  prefs_users_update->ClearList();
+  ScopedListPrefUpdate prefs_users_update(GetLocalState(), kRegularUsersPref);
+  prefs_users_update->clear();
   User* user = nullptr;
   for (UserList::iterator it = users_.begin(); it != users_.end();) {
     if ((*it)->GetAccountId() == account_id) {
diff --git a/components/viz/test/data/backdrop_filter_on_scaled_layer_skia_gl.png b/components/viz/test/data/backdrop_filter_on_scaled_layer_skia_gl.png
index 4d71da0ba..cb40216c 100644
--- a/components/viz/test/data/backdrop_filter_on_scaled_layer_skia_gl.png
+++ b/components/viz/test/data/backdrop_filter_on_scaled_layer_skia_gl.png
Binary files differ
diff --git a/content/browser/accessibility/accessibility_auralinux_browsertest.cc b/content/browser/accessibility/accessibility_auralinux_browsertest.cc
index 2b1af2f..a14d2f2 100644
--- a/content/browser/accessibility/accessibility_auralinux_browsertest.cc
+++ b/content/browser/accessibility/accessibility_auralinux_browsertest.cc
@@ -758,7 +758,9 @@
                                   gint y);
 typedef bool (*ScrollToFunc)(AtkComponent* component, AtkScrollType type);
 
-IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, TestScrollToPoint) {
+// TODO(https://crbug.com/1366113): Enable this test.
+IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+                       DISABLED_TestScrollToPoint) {
   // There's a chance we may be compiled with a newer version of ATK and then
   // run with an older one, so we need to do a runtime check for this method
   // that is available in ATK 2.30 instead of linking directly.
@@ -819,7 +821,9 @@
   g_object_unref(atk_text);
 }
 
-IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest, TestScrollTo) {
+// TODO(https://crbug.com/1366113): Enable this test.
+IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+                       DISABLED_TestScrollTo) {
   // There's a chance we may be compiled with a newer version of ATK and then
   // run with an older one, so we need to do a runtime check for this method
   // that is available in ATK 2.30 instead of linking directly.
@@ -958,8 +962,9 @@
   return g_scroll_substring_to(text, start_offset, end_offset, type);
 }
 
+// TODO(https://crbug.com/1366113): Enable this test.
 IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
-                       TestScrollSubstringTo) {
+                       DISABLED_TestScrollSubstringTo) {
   // There's a chance we may be compiled with a newer version of ATK and then
   // run with an older one, so we need to do a runtime check for this method
   // that is available in ATK 2.32 instead of linking directly.
@@ -1073,8 +1078,9 @@
                                      x, y);
 }
 
+// TODO(https://crbug.com/1366113): Enable this test.
 IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
-                       TestScrollSubstringToPoint) {
+                       DISABLED_TestScrollSubstringToPoint) {
   // There's a chance we may be compiled with a newer version of ATK and then
   // run with an older one, so we need to do a runtime check for this method
   // that is available in ATK 2.30 instead of linking directly.
diff --git a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
index 6d7c2b3..5d52306 100644
--- a/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
+++ b/content/browser/devtools/protocol/devtools_protocol_browsertest.cc
@@ -618,6 +618,31 @@
                               device_scale_factor, max_collor_diff));
   }
 
+  gfx::Size GetPageContentSize() {
+    const base::Value::Dict* content_size =
+        SendCommandSync("Page.getLayoutMetrics")->FindDict("cssContentSize");
+    return gfx::Size(content_size->FindInt("width").value(),
+                     content_size->FindInt("height").value());
+  }
+
+  // We compare against the actual physical backing size rather than the
+  // view size, because the view size is stored adjusted for DPI and only in
+  // integer precision.
+  gfx::Size GetViewSize() {
+    return static_cast<RenderWidgetHostViewBase*>(
+               shell()->web_contents()->GetRenderWidgetHostView())
+        ->GetCompositorViewportPixelSize();
+  }
+
+  // We compare the bitmap with the captured screenshot to verify the
+  // size and color of the screenshot.
+  SkBitmap GenerateBitmap(gfx::Size size, SkColor color) {
+    SkBitmap expected_bitmap;
+    expected_bitmap.allocN32Pixels(size.width(), size.height());
+    expected_bitmap.eraseColor(color);
+    return expected_bitmap;
+  }
+
   void SetDefaultBackgroundColorOverride(int r, int g, int b, float a) {
     auto params = base::Value::Dict();
     base::Value::Dict color;
@@ -688,10 +713,8 @@
     clip.set_y(kBoxOffsetHeight);
 
     // Capture screenshot and verify that it is indeed blue.
-    SkBitmap expected_bitmap;
-    expected_bitmap.allocN32Pixels(scaled_box_size.width(),
-                                   scaled_box_size.height());
-    expected_bitmap.eraseColor(SkColorSetRGB(0x00, 0x00, 0xff));
+    SkBitmap expected_bitmap =
+        GenerateBitmap(scaled_box_size, SkColorSetRGB(0x00, 0x00, 0xff));
 
     // If the device scale factor is 0,
     // get the original device scale factor to compare with
@@ -729,29 +752,25 @@
   if (base::SysInfo::IsLowEndDevice())
     return;
 
-  // Load dummy page before getting the window size.
+  // Load dummy page before getting the view size.
   shell()->LoadURL(GURL("data:text/html,"));
-  gfx::Size window_size =
-      static_cast<RenderWidgetHostViewBase*>(
-          shell()->web_contents()->GetRenderWidgetHostView())
-          ->GetCompositorViewportPixelSize();
+  gfx::Size view_size = GetViewSize();
 
   // Make a page a bit bigger than the view to force scrollbars to be shown.
-  int content_height = window_size.height() + 10;
-  int content_width = window_size.width() + 10;
   shell()->LoadURL(
       GURL(base::StringPrintf("data:text/html,"
                               R"(<body style='background:%%23123456;height:%dpx;
-      width:%dpx'></body>)",
-                              content_height, content_width)));
+                         width:%dpx'></body>)",
+                              /*content_height*/ view_size.height() + 10,
+                              /*content_width*/ view_size.width() + 10)));
 
   EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
   Attach();
 
   // Generate expected screenshot without any scrollbars.
-  SkBitmap expected_bitmap;
-  expected_bitmap.allocN32Pixels(content_width, content_height);
-  expected_bitmap.eraseColor(SkColorSetRGB(0x12, 0x34, 0x56));
+  gfx::Size actual_page_size = GetPageContentSize();
+  SkBitmap expected_bitmap =
+      GenerateBitmap(actual_page_size, SkColorSetRGB(0x12, 0x34, 0x56));
 
   float device_scale_factor =
       display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
@@ -760,8 +779,63 @@
   CaptureScreenshotAndCompareTo(
       expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
       device_scale_factor,
-      /*clip=*/gfx::RectF(0, 0, content_width, content_height),
+      /*clip=*/
+      gfx::RectF(0, 0, actual_page_size.width(), actual_page_size.height()),
       /*clip_scale=*/1, true);
+  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
+}
+
+IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest,
+                       CaptureScreenshotBeyondViewport_IFrame) {
+  // TODO(crbug.com/653637) This test fails consistently on low-end Android
+  // devices.
+  if (base::SysInfo::IsLowEndDevice())
+    return;
+
+  // Load dummy page before getting the view size.
+  shell()->LoadURL(GURL("data:text/html,"));
+  gfx::Size view_size = GetViewSize();
+
+  // Make a page a bit bigger than the view to force scrollbars to be shown.
+  int content_height = view_size.height() + 50;
+  int content_width = view_size.width() + 50;
+  int margin = 100;
+  shell()->LoadURL(
+      GURL(base::StringPrintf("data:text/html,"
+                              R"(
+            <body style=' height:%dpx;
+                          width:%dpx;'>
+            <iframe style=" height:%dpx;
+                            width:%dpx;
+                            background:%%23123456;
+                            border:none;">
+            </iframe></body>
+          )",
+                              content_height + margin, content_width + margin,
+                              content_height, content_width)));
+
+  EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
+  Attach();
+
+  // Generate expected screenshot without any scrollbars.
+  SkBitmap expected_bitmap =
+      GenerateBitmap(gfx::Size(content_width, content_height),
+                     SkColorSetRGB(0x12, 0x34, 0x56));
+
+  float device_scale_factor =
+      display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
+
+  // Verify there are no scrollbars on the screenshot.
+  // Even if margin is 0 then the iframe appears 8px away from beginning of the
+  // page
+  CaptureScreenshotAndCompareTo(
+      expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
+      device_scale_factor,
+      /*clip=*/gfx::RectF(8, 8, content_width, content_height),
+      /*clip_scale=*/1, /*capture_beyond_viewport=*/true);
 }
 
 // ChromeOS and Android has fading out scrollbars, which makes the test flacky.
@@ -793,14 +867,9 @@
   EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
   Attach();
 
-  // We compare against the actual physical backing size rather than the
-  // view size, because the view size is stored adjusted for DPI and only in
-  // integer precision.
-  gfx::Size view_size = static_cast<RenderWidgetHostViewBase*>(
-                            shell()->web_contents()->GetRenderWidgetHostView())
-                            ->GetCompositorViewportPixelSize();
+  gfx::Size view_size = GetViewSize();
 
-  // Capture a screenshot not "form surface", meaning without emulation and
+  // Capture a screenshot not "from surface", meaning without emulation and
   // without changing preferences, as-is.
   std::unique_ptr<SkBitmap> expected_bitmap =
       CaptureScreenshot(ScreenshotEncoding::PNG, false);
@@ -913,15 +982,9 @@
   SetDefaultBackgroundColorOverride(/*r=*/0x00, /*g=*/0x00, /*b=*/0xff,
                                     /*a=*/1.0);
 
-  SkBitmap expected_bitmap;
-  // We compare against the actual physical backing size rather than the
-  // view size, because the view size is stored adjusted for DPI and only in
-  // integer precision.
-  gfx::Size view_size = static_cast<RenderWidgetHostViewBase*>(
-                            shell()->web_contents()->GetRenderWidgetHostView())
-                            ->GetCompositorViewportPixelSize();
-  expected_bitmap.allocN32Pixels(view_size.width(), view_size.height());
-  expected_bitmap.eraseColor(SkColorSetRGB(0x00, 0x00, 0xff));
+  gfx::Size view_size = GetViewSize();
+  SkBitmap expected_bitmap =
+      GenerateBitmap(view_size, SkColorSetRGB(0x00, 0x00, 0xff));
   CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
                                 /*from_surface=*/true);
 
@@ -933,10 +996,10 @@
                                 /*from_surface=*/true);
 }
 
-// Verifies that setDefaultBackgroundColor and captureScreenshot support a fully
-// and semi-transparent background, and that setDeviceMetricsOverride doesn't
-// affect it.
-IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest, TransparentScreenshots) {
+// Bellow tests verify that setDefaultBackgroundColor and captureScreenshot
+// support a fully and semi-transparent background,
+// and that setDeviceMetricsOverride doesn't affect it.
+IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest, TransparentScreenshotsViewport) {
   if (base::SysInfo::IsLowEndDevice())
     return;
 
@@ -947,26 +1010,92 @@
 
   SetDefaultBackgroundColorOverride(/*r=*/0, /*g=*/0, /*b=*/0, /*a=*/0);
 
-  SkBitmap expected_bitmap;
-  // We compare against the actual physical backing size rather than the
-  // view size, because the view size is stored adjusted for DPI and only in
-  // integer precision.
-  gfx::Size view_size = static_cast<RenderWidgetHostViewBase*>(
-                            shell()->web_contents()->GetRenderWidgetHostView())
-                            ->GetCompositorViewportPixelSize();
-  expected_bitmap.allocN32Pixels(view_size.width(), view_size.height());
-  expected_bitmap.eraseColor(SK_ColorTRANSPARENT);
-  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
+  gfx::Size view_size = GetViewSize();
+  SkBitmap expected_viewport_bitmap =
+      GenerateBitmap(view_size, SK_ColorTRANSPARENT);
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
                                 /*from_surface=*/true);
 
+#if !BUILDFLAG(IS_ANDROID)
+
+  float device_scale_factor =
+      display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
+
+  // Check that device emulation does not affect the transparency.
+  SetDeviceMetricsOverride(view_size.width(), view_size.height(),
+                           /*device_scale_factor=*/0,
+                           /*mobile=*/false,
+                           /*fitWindow=*/false);
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor);
+
+  SendCommandSync("Emulation.clearDeviceMetricsOverride");
+#endif  // !BUILDFLAG(IS_ANDROID)
+
+  SetDefaultBackgroundColorOverride(/*r=*/255, /*g=*/0, /*b=*/0,
+                                    /*a=*/1.0 / 255 * 16);
+
+  expected_viewport_bitmap.eraseColor(SkColorSetARGB(16, 255, 0, 0));
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true);
+
+#if !BUILDFLAG(IS_ANDROID)
+  // Check that device emulation does not affect the transparency.
+
+  SetDeviceMetricsOverride(view_size.width(), view_size.height(),
+                           /*device_scale_factor=*/0, /*mobile=*/false,
+                           /*fitWindow=*/false);
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor);
+
+  SendCommandSync("Emulation.clearDeviceMetricsOverride");
+#endif  // !BUILDFLAG(IS_ANDROID)
+}
+
+IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest,
+                       TransparentScreenshotsBeyondViewport) {
+  if (base::SysInfo::IsLowEndDevice())
+    return;
+
+  shell()->LoadURL(
+      GURL("data:text/html,<body style='background:transparent'></body>"));
+  EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
+  Attach();
+
+  SetDefaultBackgroundColorOverride(/*r=*/0, /*g=*/0, /*b=*/0, /*a=*/0);
+
+  gfx::Size view_size = GetViewSize();
+
+  // When capturing full page screenshots, the page content size can differ
+  // from the defined dimensions. Therefore, we need to check for the actual
+  // layout metrics of the page and compare that with our result.
+  SkBitmap expected_full_page_bitmap =
+      GenerateBitmap(GetPageContentSize(), SK_ColorTRANSPARENT);
+  SkBitmap expected_clip_bitmap =
+      GenerateBitmap(view_size, SK_ColorTRANSPARENT);
+
   float device_scale_factor =
       display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
   gfx::RectF clip;
   clip.SetRect(0, 0, view_size.width(), view_size.height());
-  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
+
+  // checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(expected_clip_bitmap, ScreenshotEncoding::PNG,
                                 /*from_surface=*/true, device_scale_factor,
                                 clip, /*clip_scale=*/1,
                                 /*capture_beyond_viewport=*/true);
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
 
 #if !BUILDFLAG(IS_ANDROID)
 
@@ -975,15 +1104,19 @@
                            /*device_scale_factor=*/0,
                            /*mobile=*/false,
                            /*fitWindow=*/false);
-  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
-                                /*from_surface=*/true, device_scale_factor);
 
-  CaptureScreenshotAndCompareTo(
-      expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
-      device_scale_factor,
-      /*clip=*/gfx::RectF(0, 0, view_size.width(), view_size.height()),
-      /*clip_scale=*/1,
-      /*capture_beyond_viewport=*/true);
+  // checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(expected_clip_bitmap, ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                clip,
+                                /*clip_scale=*/1,
+                                /*capture_beyond_viewport=*/true);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
 
   SendCommandSync("Emulation.clearDeviceMetricsOverride");
 #endif  // !BUILDFLAG(IS_ANDROID)
@@ -991,16 +1124,27 @@
   SetDefaultBackgroundColorOverride(/*r=*/255, /*g=*/0, /*b=*/0,
                                     /*a=*/1.0 / 255 * 16);
 
-  expected_bitmap.eraseColor(SkColorSetARGB(16, 255, 0, 0));
-  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
-                                /*from_surface=*/true);
-  // Check for beyond-viewport with clip
-  CaptureScreenshotAndCompareTo(
-      expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
-      device_scale_factor,
-      /*clip=*/gfx::RectF(0, 0, view_size.width(), view_size.height()),
-      /*clip_scale=*/1,
-      /*capture_beyond_viewport=*/true);
+  // When capturing full page screenshots, the page content size can differ
+  // from the defined dimensions. Therefore, we need to check for the actual
+  // layout metrics of the page and compare that with our result.
+  expected_full_page_bitmap =
+      GenerateBitmap(GetPageContentSize(), SkColorSetARGB(16, 255, 0, 0));
+
+  expected_clip_bitmap =
+      GenerateBitmap(view_size, SkColorSetARGB(16, 255, 0, 0));
+
+  // Check for beyond-viewport
+  CaptureScreenshotAndCompareTo(expected_clip_bitmap, ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                clip,
+                                /*clip_scale=*/1,
+                                /*capture_beyond_viewport=*/true);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
 
 #if !BUILDFLAG(IS_ANDROID)
   // Check that device emulation does not affect the transparency.
@@ -1009,18 +1153,149 @@
                            /*device_scale_factor=*/0, /*mobile=*/false,
                            /*fitWindow=*/false);
 
-  CaptureScreenshotAndCompareTo(expected_bitmap, ScreenshotEncoding::PNG,
-                                /*from_surface=*/true, device_scale_factor);
-  CaptureScreenshotAndCompareTo(
-      expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
-      device_scale_factor,
-      /*clip=*/gfx::RectF(0, 0, view_size.width(), view_size.height()),
-      /*clip_scale=*/1, /*capture_beyond_viewport=*/true);
+  // Checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(expected_clip_bitmap, ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/clip,
+                                /*clip_scale=*/1,
+                                /*capture_beyond_viewport=*/true);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
 
   SendCommandSync("Emulation.clearDeviceMetricsOverride");
 #endif  // !BUILDFLAG(IS_ANDROID)
 }
 
+// TODO(crbug.com/1366271): Semi-transparent screenshots of viewport fail on
+// android devices - a scrollbar is showing.
+#if !BUILDFLAG(IS_ANDROID)
+IN_PROC_BROWSER_TEST_F(CaptureScreenshotTest, TransparentScreenshotsFull) {
+  if (base::SysInfo::IsLowEndDevice())
+    return;
+
+  shell()->LoadURL(
+      GURL("data:text/html,<body style='background:transparent'></body>"));
+  EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
+  Attach();
+
+  SetDefaultBackgroundColorOverride(/*r=*/0, /*g=*/0, /*b=*/0, /*a=*/0);
+
+  gfx::Size view_size = GetViewSize();
+  SkBitmap expected_viewport_bitmap =
+      GenerateBitmap(view_size, SK_ColorTRANSPARENT);
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true);  //.
+
+  float device_scale_factor =
+      display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
+  gfx::RectF clip;
+  clip.SetRect(0, 0, view_size.width(), view_size.height());
+
+  // checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(
+      expected_viewport_bitmap, ScreenshotEncoding::PNG,
+      /*from_surface=*/true, device_scale_factor, clip, /*clip_scale=*/1,
+      /*capture_beyond_viewport=*/true);
+
+  // When capturing full page screenshots, the page content size can differ
+  // from the defined dimensions. Therefore, we need to check for the actual
+  // layout metrics of the page and compare that with our result.
+  SkBitmap expected_full_page_bitmap =
+      GenerateBitmap(GetPageContentSize(), SK_ColorTRANSPARENT);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
+
+  // Check that device emulation does not affect the transparency.
+  SetDeviceMetricsOverride(view_size.width(), view_size.height(),
+                           /*device_scale_factor=*/0,
+                           /*mobile=*/false,
+                           /*fitWindow=*/false);
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor);
+
+  // checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(
+      expected_viewport_bitmap, ScreenshotEncoding::PNG,
+      /*from_surface=*/true, device_scale_factor, clip,
+      /*clip_scale=*/1,
+      /*capture_beyond_viewport=*/true);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
+
+  SendCommandSync("Emulation.clearDeviceMetricsOverride");
+
+  SetDefaultBackgroundColorOverride(/*r=*/255, /*g=*/0, /*b=*/0,
+                                    /*a=*/1.0 / 255 * 16);
+
+  expected_viewport_bitmap.eraseColor(SkColorSetARGB(16, 255, 0, 0));
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true);
+
+  // Check for beyond-viewport
+  CaptureScreenshotAndCompareTo(
+      expected_viewport_bitmap, ScreenshotEncoding::PNG,
+      /*from_surface=*/true, device_scale_factor, clip,
+      /*clip_scale=*/1,
+      /*capture_beyond_viewport=*/true);
+
+  // When capturing full page screenshots, the page content size can differ
+  // from the defined dimensions. Therefore, we need to check for the actual
+  // layout metrics of the page and compare that with our result.
+  expected_full_page_bitmap =
+      GenerateBitmap(GetPageContentSize(), SkColorSetARGB(16, 255, 0, 0));
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
+
+  // Check that device emulation does not affect the transparency.
+
+  SetDeviceMetricsOverride(view_size.width(), view_size.height(),
+                           /*device_scale_factor=*/0, /*mobile=*/false,
+                           /*fitWindow=*/false);
+
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor);
+
+  // Checks for beyond_viewport
+  CaptureScreenshotAndCompareTo(expected_viewport_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/clip,
+                                /*clip_scale=*/1,
+                                /*capture_beyond_viewport=*/true);
+
+  CaptureScreenshotAndCompareTo(expected_full_page_bitmap,
+                                ScreenshotEncoding::PNG,
+                                /*from_surface=*/true, device_scale_factor,
+                                /*clip=*/gfx::RectF(), /*clip_scale=*/0,
+                                /*capture_beyond_viewport=*/true);
+
+  SendCommandSync("Emulation.clearDeviceMetricsOverride");
+}
+#endif  // !BUILDFLAG(IS_ANDROID)
+
 #if !BUILDFLAG(IS_ANDROID)
 // Verifies that CaptureScreenshotsBeyondViewport supports emulation with the
 // use of setDeviceMetricsOverride and setDefaultBackgroundColorOverride
@@ -1031,25 +1306,19 @@
   if (base::SysInfo::IsLowEndDevice())
     return;
 
-  // Load dummy page before getting the window size.
+  // Load dummy page before getting the view size.
   shell()->LoadURL(GURL("data:text/html,"));
 
-  // We compare against the actual physical backing size rather than the
-  // view size, because the view size is stored adjusted for DPI and only in
-  // integer precision.
-  gfx::Size window_size =
-      static_cast<RenderWidgetHostViewBase*>(
-          shell()->web_contents()->GetRenderWidgetHostView())
-          ->GetCompositorViewportPixelSize();
+  gfx::Size view_size = GetViewSize();
 
   // Make a page a bigger than the view to have fullpage behaviour.
-  int content_height = window_size.height() + 100;
-  int content_width = window_size.width() + 100;
+  int content_height = view_size.height() + 100;
+  int content_width = view_size.width() + 100;
 
   shell()->LoadURL(
       GURL(base::StringPrintf("data:text/html,"
                               R"(<body style='background:%%23123456;height:%dpx;
-      width:%dpx'></body>)",
+                              width:%dpx'></body>)",
                               content_height, content_width)));
 
   EXPECT_TRUE(WaitForLoadStop(shell()->web_contents()));
@@ -1058,10 +1327,6 @@
   SetDefaultBackgroundColorOverride(/*r=*/0x12, /*g=*/0x34, /*b=*/0x56,
                                     /*a=*/1.0);
 
-  SkBitmap expected_bitmap;
-  expected_bitmap.allocN32Pixels(content_width, content_height);
-  expected_bitmap.eraseColor(SkColorSetRGB(0x12, 0x34, 0x56));
-
   float device_scale_factor =
       display::Screen::GetScreen()->GetPrimaryDisplay().device_scale_factor();
 
@@ -1070,17 +1335,22 @@
   SetDeviceMetricsOverride(content_width, content_height,
                            /*device_scale_factor=*/0, /*mobile=*/false,
                            /*fitWindow=*/false);
+  gfx::Size actual_page_size = GetPageContentSize();
+  SkBitmap expected_bitmap =
+      GenerateBitmap(actual_page_size, SkColorSetRGB(0x12, 0x34, 0x56));
+
   // Test for no Clip
   CaptureScreenshotAndCompareTo(
-      expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
-      device_scale_factor, /*clip=*/gfx::RectF(),
+      expected_bitmap, ScreenshotEncoding::PNG,
+      /*from_surface=*/true, device_scale_factor, /*clip=*/gfx::RectF(),
       /*clip_scale=*/0, /*capture_beyond_viewport=*/true);
   // Test for Clip
   CaptureScreenshotAndCompareTo(
       expected_bitmap, ScreenshotEncoding::PNG, /*from_surface=*/true,
       device_scale_factor,
-      /*clip=*/gfx::RectF(0, 0, content_width, content_height),
-      /*clip_scale=*/0, /*capture_beyond_viewport=*/true);
+      /*clip=*/
+      gfx::RectF(0, 0, actual_page_size.width(), actual_page_size.height()),
+      /*clip_scale=*/1, /*capture_beyond_viewport=*/true);
   SendCommandSync("Emulation.clearDeviceMetricsOverride");
 }
 #endif  // !BUILDFLAG(IS_ANDROID)
diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc
index db565ee..7450926 100644
--- a/content/browser/devtools/protocol/page_handler.cc
+++ b/content/browser/devtools/protocol/page_handler.cc
@@ -757,6 +757,36 @@
       std::move(callback));
 }
 
+// Sets a clip with full page dimensions. Calls CaptureScreenshot with updated
+// value to proceed with capturing the full page screenshot.
+// TODO(crbug.com/1363574): at the point this method is called, the page could
+// have changed its size.
+void PageHandler::CaptureFullPageScreenshot(
+    Maybe<std::string> format,
+    Maybe<int> quality,
+    std::unique_ptr<CaptureScreenshotCallback> callback,
+    const gfx::Size& full_page_size) {
+  // check width and height for validity
+  // max_size is needed to respect the limit of 16K of the headless mode
+  const int kMaxDimension = 128 * 1024;
+  if (full_page_size.width() >= kMaxDimension ||
+      full_page_size.height() >= kMaxDimension) {
+    callback->sendFailure(Response::ServerError("Page is too large."));
+    return;
+  }
+
+  auto clip = Page::Viewport::Create()
+                  .SetX(0)
+                  .SetY(0)
+                  .SetWidth(full_page_size.width())
+                  .SetHeight(full_page_size.height())
+                  .SetScale(1)
+                  .Build();
+  CaptureScreenshot(std::move(format), std::move(quality), std::move(clip),
+                    /*from_surface=*/true, /*capture_beyond_viewport=*/true,
+                    std::move(callback));
+}
+
 void PageHandler::CaptureScreenshot(
     Maybe<std::string> format,
     Maybe<int> quality,
@@ -771,6 +801,17 @@
   }
   if (!CanExecuteGlobalCommands(this, callback))
     return;
+
+  // Check if full page screenshot is expected and get dimensions accordingly.
+  if (from_surface.fromMaybe(true) &&
+      capture_beyond_viewport.fromMaybe(false) && !clip.isJust()) {
+    blink::mojom::LocalMainFrame* main_frame =
+        host_->GetAssociatedLocalMainFrame();
+    main_frame->GetFullPageSize(base::BindOnce(
+        &PageHandler::CaptureFullPageScreenshot, weak_factory_.GetWeakPtr(),
+        std::move(format), std::move(quality), std::move(callback)));
+    return;
+  }
   if (clip.isJust()) {
     if (clip.fromJust()->GetWidth() == 0) {
       callback->sendFailure(
diff --git a/content/browser/devtools/protocol/page_handler.h b/content/browser/devtools/protocol/page_handler.h
index ed0ba97..9250d20 100644
--- a/content/browser/devtools/protocol/page_handler.h
+++ b/content/browser/devtools/protocol/page_handler.h
@@ -22,6 +22,7 @@
 #include "content/browser/devtools/protocol/page.h"
 #include "content/browser/preloading/prerender/prerender_host.h"
 #include "content/browser/renderer_host/back_forward_cache_impl.h"
+#include "content/browser/renderer_host/render_widget_host_impl.h"
 #include "content/public/browser/download_manager.h"
 #include "content/public/browser/javascript_dialog_manager.h"
 #include "content/public/browser/render_widget_host.h"
@@ -184,6 +185,11 @@
  private:
   enum EncodingFormat { PNG, JPEG };
 
+  void CaptureFullPageScreenshot(
+      Maybe<std::string> format,
+      Maybe<int> quality,
+      std::unique_ptr<CaptureScreenshotCallback> callback,
+      const gfx::Size& full_page_size);
   bool ShouldCaptureNextScreencastFrame();
   void NotifyScreencastVisibility(bool visible);
   void OnFrameFromVideoConsumer(scoped_refptr<media::VideoFrame> frame);
diff --git a/content/browser/interest_group/auction_runner_unittest.cc b/content/browser/interest_group/auction_runner_unittest.cc
index 64445b1..0be709b1 100644
--- a/content/browser/interest_group/auction_runner_unittest.cc
+++ b/content/browser/interest_group/auction_runner_unittest.cc
@@ -169,7 +169,8 @@
                           const std::string& signal_val = "",
                           bool report_post_auction_signals = false,
                           const std::string& debug_loss_report_url = "",
-                          const std::string& debug_win_report_url = "") {
+                          const std::string& debug_win_report_url = "",
+                          bool report_reject_reason = false) {
   // TODO(morlovich): Use JsReplace.
   constexpr char kBidScript[] = R"(
     const seller = "%s";
@@ -180,6 +181,7 @@
     const interestGroupName = "%s";
     const hasSignals = %s;
     const reportPostAuctionSignals = %s;
+    const reportRejectReason = %s;
     const postAuctionSignalsPlaceholder = "%s";
     let debugLossReportUrl = "%s";
     let debugWinReportUrl = "%s";
@@ -284,6 +286,10 @@
       if (debugLossReportUrl) {
         if (reportPostAuctionSignals)
           debugLossReportUrl += postAuctionSignalsPlaceholder;
+        if (reportRejectReason) {
+          debugLossReportUrl += reportPostAuctionSignals ? '&' : '?';
+          debugLossReportUrl += 'rejectReason=${rejectReason}';
+        }
         forDebuggingOnly.reportAdAuctionLoss(debugLossReportUrl);
       }
       if (debugWinReportUrl) {
@@ -387,8 +393,9 @@
       num_ad_components, interest_group_owner.Serialize().c_str(),
       interest_group_name.c_str(), has_signals ? "true" : "false",
       report_post_auction_signals ? "true" : "false",
-      kPostAuctionSignalsPlaceholder, debug_loss_report_url.c_str(),
-      debug_win_report_url.c_str(), signal_key.c_str(), signal_val.c_str());
+      report_reject_reason ? "true" : "false", kPostAuctionSignalsPlaceholder,
+      debug_loss_report_url.c_str(), debug_win_report_url.c_str(),
+      signal_key.c_str(), signal_val.c_str());
 }
 
 // This can be appended to the standard script to override the function.
@@ -537,8 +544,7 @@
       if (reportPostAuctionSignals)
         debugReportUrl += postAuctionSignalsPlaceholder;
       if (reportTopLevelPostAuctionSignals) {
-        if (reportPostAuctionSignals)
-          debugReportUrl += "&";
+        debugReportUrl += reportPostAuctionSignals ? '&' : '?';
         debugReportUrl += topLevelPostAuctionSignalsPlaceholder;
       }
       // Only add key "bid=" to the report URL when report post auction signals
@@ -655,23 +661,13 @@
     bool report_post_auction_signals = false,
     const std::string& debug_loss_report_url = "",
     const std::string& debug_win_report_url = "") {
-  return MakeDecisionScript(
-      decision_logic_url,
-      /*send_report_url=*/absl::nullopt,
-      /*bid_from_component_auction_wins=*/false,
-      /*report_post_auction_signals=*/report_post_auction_signals,
-      debug_loss_report_url, debug_win_report_url);
+  return MakeDecisionScript(decision_logic_url,
+                            /*send_report_url=*/absl::nullopt,
+                            /*bid_from_component_auction_wins=*/false,
+                            report_post_auction_signals, debug_loss_report_url,
+                            debug_win_report_url);
 }
 
-const char kAuctionScriptRejects2[] = R"(
-  function scoreAd(adMetadata, bid, auctionConfig, browserSignals) {
-    privateAggregation.sendHistogramReport({bucket: 5, value: 6});
-    if (bid === 2)
-      return -1;
-    return bid + 1;
-  }
-)";
-
 const char kBasicReportResult[] = R"(
   function reportResult(auctionConfig, browserSignals) {
     privateAggregation.sendHistogramReport({bucket: 7, value: 8});
@@ -683,8 +679,18 @@
   }
 )";
 
-std::string MakeAuctionScriptReject2() {
-  return std::string(kAuctionScriptRejects2) + kBasicReportResult;
+std::string MakeAuctionScriptReject2(
+    const std::string& reject_reason = "not-available") {
+  constexpr char kAuctionScriptRejects2[] = R"(
+    function scoreAd(adMetadata, bid, auctionConfig, browserSignals) {
+      privateAggregation.sendHistogramReport({bucket: 5, value: 6});
+      if (bid === 2)
+        return {desirability: -1, rejectReason: '%s'};
+      return bid + 1;
+    }
+  )";
+  return base::StringPrintf(kAuctionScriptRejects2, reject_reason.c_str()) +
+         kBasicReportResult;
 }
 
 std::string MakeAuctionScriptReject1And2WithDebugReporting(
@@ -695,15 +701,26 @@
     const debugWinReportUrl = "%s";
     function scoreAd(adMetadata, bid, auctionConfig, browserSignals) {
       let result = bid + 1;
-      if (bid === 1 || bid === 2)
+      let rejectReason = "not-available";
+      if (bid === 1) {
         result = -1;
+        rejectReason = 'invalid-bid';
+      } else if (bid === 2) {
+        result = -1;
+        rejectReason = 'bid-below-auction-floor';
+      }
+
       if (debugLossReportUrl) {
         forDebuggingOnly.reportAdAuctionLoss(
             debugLossReportUrl + '&bid=' + bid);
       }
       if (debugWinReportUrl)
         forDebuggingOnly.reportAdAuctionWin(debugWinReportUrl + "&bid=" + bid);
-      return result;
+      return {
+        desirability: result,
+        allowComponentAuction: true,
+        rejectReason: rejectReason
+      };
     }
   )";
   return base::StringPrintf(kReject1And2WithDebugReporting,
@@ -819,9 +836,11 @@
 
 // Returns a report URL with given parameters for forDebuggingOnly win/loss
 // report APIs, with post auction signals included in the URL.
-const GURL DebugReportUrl(const std::string& url,
-                          const PostAuctionSignals& signals,
-                          absl::optional<double> bid = absl::nullopt) {
+const GURL DebugReportUrl(
+    const std::string& url,
+    const PostAuctionSignals& signals,
+    absl::optional<double> bid = absl::nullopt,
+    absl::optional<std::string> reject_reason = absl::nullopt) {
   // Post auction signals needs to be consistent with
   // `kPostAuctionSignalsPlaceholder`. Only keeps integer part of bid values for
   // simplicity for now.
@@ -834,6 +853,11 @@
       signals.made_winning_bid ? "true" : "false",
       signals.highest_scoring_other_bid,
       signals.made_highest_scoring_other_bid ? "true" : "false");
+  if (reject_reason.has_value()) {
+    report_url_string.append(
+        base::StringPrintf("&rejectReason=%s", reject_reason.value().c_str()));
+  }
+
   if (bid.has_value()) {
     return GURL(base::StringPrintf("%s&bid=%.0f", report_url_string.c_str(),
                                    bid.value()));
@@ -5938,6 +5962,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/11,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
             /*scoring_signals_data_version=*/0,
             /*has_scoring_signals_data_version=*/false,
@@ -6036,6 +6062,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/11,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -6055,6 +6083,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -6131,8 +6161,7 @@
                     kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl));
   auction_worklet::AddJavascriptResponse(
       &url_loader_factory_, kSellerUrl,
-      MakeAuctionScript(/*report_post_auction_signals=*/false,
-                        GURL("https://adstuff.publisher1.com/auction.js"),
+      MakeAuctionScript(/*report_post_auction_signals=*/false, kSellerUrl,
                         kSellerDebugLossReportBaseUrl,
                         kSellerDebugWinReportBaseUrl));
 
@@ -6202,6 +6231,8 @@
           std::move(score_ad_params.score_ad_client))
           ->OnScoreAdComplete(
               /*score=*/10,
+              /*reject_reason=*/
+              auction_worklet::mojom::RejectReason::kNotAvailable,
               auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
               /*scoring_signals_data_version=*/0,
               /*has_scoring_signals_data_version=*/false,
@@ -6216,6 +6247,8 @@
           std::move(score_ad_params2.score_ad_client))
           ->OnScoreAdComplete(
               /*score=*/11,
+              /*reject_reason=*/
+              auction_worklet::mojom::RejectReason::kNotAvailable,
               auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
               /*scoring_signals_data_version=*/0,
               /*has_scoring_signals_data_version=*/false,
@@ -6330,6 +6363,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/3,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParams::New(
               /*ad=*/"null",
               /*bid=*/0,
@@ -6351,6 +6386,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/4,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -6449,6 +6486,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/3,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParams::New(
                 /*ad=*/"null",
                 /*bid=*/0,
@@ -6470,6 +6509,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/4,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
             /*scoring_signals_data_version=*/0,
             /*has_scoring_signals_data_version=*/false,
@@ -6676,7 +6717,10 @@
     EXPECT_EQ(2, score_ad_params.bid);
     mojo::Remote<auction_worklet::mojom::ScoreAdClient>(
         std::move(score_ad_params.score_ad_client))
-        ->OnScoreAdComplete(/*score=*/3, test_case.params.Clone(),
+        ->OnScoreAdComplete(/*score=*/3,
+                            /*reject_reason=*/
+                            auction_worklet::mojom::RejectReason::kNotAvailable,
+                            test_case.params.Clone(),
                             /*scoring_signals_data_version=*/0,
                             /*has_scoring_signals_data_version=*/false,
                             /*debug_loss_report_url=*/absl::nullopt,
@@ -6735,6 +6779,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/3,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParams::New(
               /*ad=*/"null",
               /*bid=*/0,
@@ -6805,6 +6851,8 @@
           std::move(score_ad_params.score_ad_client))
           ->OnScoreAdComplete(
               /*score=*/11,
+              /*reject_reason=*/
+              auction_worklet::mojom::RejectReason::kNotAvailable,
               auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
               /*scoring_signals_data_version=*/0,
               /*has_scoring_signals_data_version=*/false,
@@ -6902,6 +6950,8 @@
           std::move(score_ad_params.score_ad_client))
           ->OnScoreAdComplete(
               /*score=*/11,
+              /*reject_reason=*/
+              auction_worklet::mojom::RejectReason::kNotAvailable,
               auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
               /*scoring_signals_data_version=*/0,
               /*has_scoring_signals_data_version=*/false,
@@ -7139,6 +7189,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7198,6 +7250,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7267,6 +7321,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParams::New(
               /*ad=*/"null",
               /*bid=*/0,
@@ -7285,6 +7341,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7354,6 +7412,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7417,6 +7477,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7485,6 +7547,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/11,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -7550,6 +7614,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/10,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
             /*scoring_signals_data_version=*/0,
             /*has_scoring_signals_data_version=*/false,
@@ -7567,6 +7633,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/10,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
             /*scoring_signals_data_version=*/0,
             /*has_scoring_signals_data_version=*/false,
@@ -7701,6 +7769,8 @@
                 std::move(score_ad_params1.score_ad_client))
                 ->OnScoreAdComplete(
                     /*score=*/bidder1_wins ? 11 : 9,
+                    /*reject_reason=*/
+                    auction_worklet::mojom::RejectReason::kNotAvailable,
                     auction_worklet::mojom::
                         ComponentAuctionModifiedBidParamsPtr(),
                     /*scoring_signals_data_version=*/0,
@@ -7714,15 +7784,18 @@
           case Event::kBid2Scored:
             mojo::Remote<auction_worklet::mojom::ScoreAdClient>(
                 std::move(score_ad_params2.score_ad_client))
-                ->OnScoreAdComplete(/*score=*/10,
-                                    auction_worklet::mojom::
-                                        ComponentAuctionModifiedBidParamsPtr(),
-                                    /*scoring_signals_data_version=*/0,
-                                    /*has_scoring_signals_data_version=*/false,
-                                    /*debug_loss_report_url=*/absl::nullopt,
-                                    /*debug_win_report_url=*/absl::nullopt,
-                                    /*pa_requests=*/{},
-                                    /*errors=*/{});
+                ->OnScoreAdComplete(
+                    /*score=*/10,
+                    /*reject_reason=*/
+                    auction_worklet::mojom::RejectReason::kNotAvailable,
+                    auction_worklet::mojom::
+                        ComponentAuctionModifiedBidParamsPtr(),
+                    /*scoring_signals_data_version=*/0,
+                    /*has_scoring_signals_data_version=*/false,
+                    /*debug_loss_report_url=*/absl::nullopt,
+                    /*debug_win_report_url=*/absl::nullopt,
+                    /*pa_requests=*/{},
+                    /*errors=*/{});
             // Wait for the AuctionRunner to receive the score.
             task_environment_.RunUntilIdle();
             break;
@@ -9546,14 +9619,16 @@
                     kBidder1, kBidder1Name,
                     /*has_signals=*/false, "k1", "a",
                     /*report_post_auction_signals=*/true,
-                    kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl));
+                    kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
   auction_worklet::AddJavascriptResponse(
       &url_loader_factory_, kBidder2Url,
       MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/2,
                     kBidder2, kBidder2Name,
                     /*has_signals=*/false, "l2", "b",
                     /*report_post_auction_signals=*/true,
-                    kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl));
+                    kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
   auction_worklet::AddJavascriptResponse(
       &url_loader_factory_, kSellerUrl,
       MakeAuctionScriptReject1And2WithDebugReporting(
@@ -9571,8 +9646,10 @@
   EXPECT_THAT(
       res.debug_loss_report_urls,
       testing::UnorderedElementsAre(
-          DebugReportUrl(kBidder1DebugLossReportUrl, PostAuctionSignals()),
-          DebugReportUrl(kBidder2DebugLossReportUrl, PostAuctionSignals()),
+          DebugReportUrl(kBidder1DebugLossReportUrl, PostAuctionSignals(),
+                         /*bid=*/absl::nullopt, "invalid-bid"),
+          DebugReportUrl(kBidder2DebugLossReportUrl, PostAuctionSignals(),
+                         /*bid=*/absl::nullopt, "bid-below-auction-floor"),
           DebugReportUrl(kSellerDebugLossReportBaseUrl, PostAuctionSignals(),
                          /*bid=*/1),
           DebugReportUrl(kSellerDebugLossReportBaseUrl, PostAuctionSignals(),
@@ -9706,7 +9783,10 @@
                          /*bid=*/2)));
 }
 
-// Like above test, but top-level seller rejects all bidders.
+// Test debug loss reporting in an auction with no winner. Component bidder 1 is
+// rejected by component seller, and component bidder 2 is rejected by top-level
+// seller. Component bidders get component auction's reject reason but not the
+// top-level auction's.
 TEST_F(AuctionRunnerBiddingAndScoringDebugReportingAPIEnabledTest,
        ForDebuggingOnlyReportingComponentAuctionNoWinner) {
   interest_group_buyers_.emplace();
@@ -9715,21 +9795,17 @@
       CreateAuctionConfig(kComponentSeller1Url, {{kBidder1}}));
   auction_worklet::AddJavascriptResponse(
       &url_loader_factory_, kComponentSeller1Url,
-      MakeDecisionScript(
-          kComponentSeller1Url,
-          /*send_report_url=*/GURL("https://component1-report.test/"),
-          /*bid_from_component_auction_wins=*/false,
-          /*report_post_auction_signals=*/true,
-          /*debug_loss_report_url=*/"https://component1-loss-reporting.test/",
-          /*debug_win_report_url=*/"https://component1-win-reporting.test/",
-          /*report_top_level_post_auction_signals*/ true));
+      MakeAuctionScriptReject1And2WithDebugReporting(
+          "https://component1-loss-reporting.test/?",
+          "https://component1-win-reporting.test/?"));
   auction_worklet::AddJavascriptResponse(
       &url_loader_factory_, kBidder1Url,
       MakeBidScript(kComponentSeller1, "1", "https://ad1.com/",
                     /*num_ad_components=*/2, kBidder1, kBidder1Name,
                     /*has_signals=*/true, "k1", "a",
                     /*report_post_auction_signals=*/true,
-                    kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl));
+                    kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
   auction_worklet::AddBidderJsonResponse(
       &url_loader_factory_,
       GURL(kBidder1TrustedSignalsUrl.spec() +
@@ -9755,7 +9831,8 @@
                     /*num_ad_components=*/2, kBidder2, kBidder2Name,
                     /*has_signals=*/true, "l2", "b",
                     /*report_post_auction_signals=*/true,
-                    kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl));
+                    kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
   auction_worklet::AddBidderJsonResponse(
       &url_loader_factory_,
       GURL(kBidder2TrustedSignalsUrl.spec() +
@@ -9775,7 +9852,11 @@
   // While not setting `allowComponentAuction` will also reject the ad, it
   // also prevents loss reports and adds an error message, so need to set
   // it to true.
-  return {desirability: 0, allowComponentAuction: true};
+  return {
+    desirability: 0,
+    allowComponentAuction: true,
+    rejectReason: "bid-below-auction-floor"
+  };
 }
   )",
                          kPostAuctionSignalsPlaceholder,
@@ -9787,34 +9868,27 @@
   // No interest group won the auction.
   EXPECT_FALSE(result_.ad_url);
 
+  // Component bidder 1 rejected by component auction gets its reject reason
+  // "invalid-bid". Component bidders don't get the top-level auction's reject
+  // reason.
   EXPECT_THAT(
       result_.debug_loss_report_urls,
       testing::UnorderedElementsAre(
           DebugReportUrl(kBidder1DebugLossReportUrl,
                          PostAuctionSignals(
-                             /*winning_bid=*/1,
-                             /*made_winning_bid=*/true,
+                             /*winning_bid=*/0,
+                             /*made_winning_bid=*/false,
                              /*highest_scoring_other_bid=*/0,
-                             /*made_highest_scoring_other_bid=*/false)),
-          ComponentSellerDebugReportUrl(
-              "https://component1-loss-reporting.test/",
-              /*signals=*/
-              PostAuctionSignals(/*winning_bid=*/1,
-                                 /*made_winning_bid=*/true,
-                                 /*highest_scoring_other_bid=*/0,
-                                 /*made_highest_scoring_other_bid=*/false),
-              /*top_level_signals=*/
-              PostAuctionSignals(),
-              /*bid=*/1),
-          DebugReportUrl("https://top-seller-loss-reporting.test/",
-                         PostAuctionSignals(),
-                         /*bid=*/1),
+                             /*made_highest_scoring_other_bid=*/false),
+                         /*bid=*/absl::nullopt, "invalid-bid"),
+          GURL("https://component1-loss-reporting.test/?&bid=1"),
           DebugReportUrl(kBidder2DebugLossReportUrl,
                          PostAuctionSignals(
                              /*winning_bid=*/2,
                              /*made_winning_bid=*/true,
                              /*highest_scoring_other_bid=*/0,
-                             /*made_highest_scoring_other_bid=*/false)),
+                             /*made_highest_scoring_other_bid=*/false),
+                         /*bid=*/absl::nullopt, "not-available"),
           ComponentSellerDebugReportUrl(
               "https://component2-loss-reporting.test/",
               /*signals=*/
@@ -10097,6 +10171,8 @@
         std::move(score_ad_params.score_ad_client))
         ->OnScoreAdComplete(
             /*score=*/10,
+            /*reject_reason=*/
+            auction_worklet::mojom::RejectReason::kNotAvailable,
             auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
             /*scoring_signals_data_version=*/0,
             /*has_scoring_signals_data_version=*/false,
@@ -10160,6 +10236,8 @@
       std::move(score_ad_params.score_ad_client))
       ->OnScoreAdComplete(
           /*score=*/10,
+          /*reject_reason=*/
+          auction_worklet::mojom::RejectReason::kNotAvailable,
           auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr(),
           /*scoring_signals_data_version=*/0,
           /*has_scoring_signals_data_version=*/false,
@@ -10343,8 +10421,231 @@
                                     GURL("https://seller0.test/win/11")));
 }
 
-// Enable and test forDebuggingOnly.reportAdAuctionLoss() and
-// forDebuggingOnly.reportAdAuctionWin() APIs.
+// Reject reason returned by scoreAd() for a rejected bid can be reported to the
+// bidder through its debug loss report URL.
+TEST_F(AuctionRunnerBiddingAndScoringDebugReportingAPIEnabledTest,
+       RejectedBidGetsRejectReason) {
+  for (const std::string& reject_reason :
+       {"not-available", "invalid-bid", "bid-below-auction-floor",
+        "pending-approval-by-exchange", "disapproved-by-exchange",
+        "blocked-by-publisher", "language-exclusions", "category-exclusions"}) {
+    auction_worklet::AddJavascriptResponse(
+        &url_loader_factory_, kBidder1Url,
+        MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/2,
+                      kBidder1, kBidder1Name,
+                      /*has_signals=*/false, "k1", "a",
+                      /*report_post_auction_signals=*/false,
+                      kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl,
+                      /*report_reject_reason=*/true));
+    // Bidder 2 will get a negative score from scoreAd().
+    auction_worklet::AddJavascriptResponse(
+        &url_loader_factory_, kBidder2Url,
+        MakeBidScript(kSeller, "2", "https://ad2.com/", /*num_ad_components=*/2,
+                      kBidder2, kBidder2Name,
+                      /*has_signals=*/false, "l2", "b",
+                      /*report_post_auction_signals=*/false,
+                      kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl,
+                      /*report_reject_reason=*/true));
+    auction_worklet::AddJavascriptResponse(
+        &url_loader_factory_, kSellerUrl,
+        MakeAuctionScriptReject2(reject_reason));
+
+    const Result& res = RunStandardAuction();
+    // Bidder 1 won the auction.
+    EXPECT_EQ(InterestGroupKey(kBidder1, kBidder1Name),
+              result_.winning_group_id);
+    EXPECT_EQ(GURL("https://ad1.com/"), res.ad_url);
+
+    EXPECT_EQ(1u, res.debug_loss_report_urls.size());
+    // Seller rejected bidder 2 and returned the reject reason which were then
+    // reported to bidder 2 through its loss report URL.
+    EXPECT_THAT(res.debug_loss_report_urls,
+                testing::UnorderedElementsAre(base::StringPrintf(
+                    "https://bidder2-debug-loss-reporting.com/"
+                    "?rejectReason=%s",
+                    reject_reason.c_str())));
+
+    EXPECT_EQ(1u, res.debug_win_report_urls.size());
+    EXPECT_THAT(res.debug_win_report_urls,
+                testing::UnorderedElementsAre(kBidder1DebugWinReportUrl));
+  }
+}
+
+// Reject reason returned by scoreAd() for a bid whose score is positive is
+// ignored and will not be reported to the bidder.
+TEST_F(AuctionRunnerBiddingAndScoringDebugReportingAPIEnabledTest,
+       rejectReasonIgnoredForPositiveBid) {
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder1Url,
+      MakeBidScript(kSeller, "1", "https://ad1.com/", /*num_ad_components=*/2,
+                    kBidder1, kBidder1Name,
+                    /*has_signals=*/false, "k1", "a",
+                    /*report_post_auction_signals=*/false,
+                    kBidder1DebugLossReportUrl, kBidder1DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
+
+  auction_worklet::AddJavascriptResponse(
+      &url_loader_factory_, kBidder2Url,
+      MakeBidScript(kSeller, "3", "https://ad2.com/", /*num_ad_components=*/2,
+                    kBidder2, kBidder2Name,
+                    /*has_signals=*/false, "l2", "b",
+                    /*report_post_auction_signals=*/false,
+                    kBidder2DebugLossReportUrl, kBidder2DebugWinReportUrl,
+                    /*report_reject_reason=*/true));
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         MakeAuctionScriptReject2());
+
+  const Result& res = RunStandardAuction();
+  // Bidder 2 won the auction.
+  EXPECT_EQ(InterestGroupKey(kBidder2, kBidder2Name), result_.winning_group_id);
+  EXPECT_EQ(GURL("https://ad2.com/"), res.ad_url);
+
+  EXPECT_EQ(1u, res.debug_loss_report_urls.size());
+  // Reject reason returned by scoreAd() for bidder 1 should be ignored and
+  // reported as "not-available" in debug loss report URL, because the bid gets
+  // a positive score thus not rejected by seller.
+  EXPECT_THAT(
+      res.debug_loss_report_urls,
+      testing::UnorderedElementsAre("https://bidder1-debug-loss-reporting.com/"
+                                    "?rejectReason=not-available"));
+
+  EXPECT_EQ(1u, res.debug_win_report_urls.size());
+  EXPECT_THAT(res.debug_win_report_urls,
+              testing::UnorderedElementsAre(kBidder2DebugWinReportUrl));
+}
+
+// Only bidders' debug loss report URLs support macro ${rejectReason}.
+// Bidders' debug win report URLs and sellers' debug loss/win report URLs does
+// not.
+TEST_F(AuctionRunnerBiddingAndScoringDebugReportingAPIEnabledTest,
+       rejectReasonInBidderDebugLossReportOnly) {
+  const char kBidder1Script[] = R"(
+    function generateBid(interestGroup, auctionSignals, perBuyerSignals,
+                         trustedBiddingSignals, browserSignals) {
+      forDebuggingOnly.reportAdAuctionLoss(
+          'https://bidder1-debug-loss-reporting.com/?reason=${rejectReason}');
+      forDebuggingOnly.reportAdAuctionWin(
+          'https://bidder1-debug-win-reporting.com/?reason=${rejectReason}');
+      return {
+        bid: 1,
+        render: interestGroup.ads[0].renderUrl
+      };
+    }
+
+    // Prevent an error about this method not existing.
+    function reportWin() {}
+  )";
+
+  const char kBidder2Script[] = R"(
+    function generateBid(interestGroup, auctionSignals, perBuyerSignals,
+                         trustedBiddingSignals, browserSignals) {
+      forDebuggingOnly.reportAdAuctionLoss(
+          'https://bidder2-debug-loss-reporting.com/?reason=${rejectReason}');
+      forDebuggingOnly.reportAdAuctionWin(
+          'https://bidder2-debug-win-reporting.com/?reason=${rejectReason}');
+      return {
+        bid: 2,
+        render: interestGroup.ads[0].renderUrl
+      };
+    }
+
+    // Prevent an error about this method not existing.
+    function reportWin() {}
+  )";
+
+  // Desirability is -1 if bid is 1, otherwise is bid.
+  const char kSellerScript[] = R"(
+    function scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals,
+                     browserSignals) {
+      forDebuggingOnly.reportAdAuctionLoss(
+          'https://seller-debug-loss-reporting.com/?reason=${rejectReason}');
+      forDebuggingOnly.reportAdAuctionWin(
+          'https://seller-debug-win-reporting.com/?reason=${rejectReason}');
+      if (bid == 1) {
+        return {desirability: -1, rejectReason: 'invalid-bid'}
+      } else {
+        return bid;
+      }
+    }
+
+    // Prevent an error about this method not existing.
+    function reportResult() {}
+  )";
+
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kBidder1Url,
+                                         kBidder1Script);
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kBidder2Url,
+                                         kBidder2Script);
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         kSellerScript);
+
+  const Result& res = RunStandardAuction();
+  // Bidder 2 won the auction.
+  EXPECT_EQ(InterestGroupKey(kBidder2, kBidder2Name), result_.winning_group_id);
+  EXPECT_EQ(GURL("https://ad2.com/"), res.ad_url);
+
+  // Only bidder's debug loss report supports macro ${rejectReason}.
+  EXPECT_EQ(2u, res.debug_loss_report_urls.size());
+  EXPECT_THAT(
+      res.debug_loss_report_urls,
+      testing::UnorderedElementsAre(
+          "https://bidder1-debug-loss-reporting.com/?reason=invalid-bid",
+          "https://seller-debug-loss-reporting.com/"
+          "?reason=${rejectReason}"));
+  EXPECT_EQ(2u, res.debug_win_report_urls.size());
+  EXPECT_THAT(
+      res.debug_win_report_urls,
+      testing::UnorderedElementsAre("https://bidder2-debug-win-reporting.com/"
+                                    "?reason=${rejectReason}",
+                                    "https://seller-debug-win-reporting.com/"
+                                    "?reason=${rejectReason}"));
+}
+
+// When scoreAd() does not return a reject reason, report it as "not-available"
+// in bidder's loss report URL as default.
+TEST_F(AuctionRunnerBiddingAndScoringDebugReportingAPIEnabledTest,
+       SellerNotReturningRejectReason) {
+  const char kBidderScript[] = R"(
+    function generateBid(interestGroup, auctionSignals, perBuyerSignals,
+                         trustedBiddingSignals, browserSignals) {
+      forDebuggingOnly.reportAdAuctionLoss(
+          'https://bidder-debug-loss-reporting.com/?reason=${rejectReason}');
+      return {
+        bid: 1,
+        render: interestGroup.ads[0].renderUrl
+      };
+    }
+
+    // Prevent an error about this method not existing.
+    function reportWin() {}
+  )";
+
+  const char kSellerScript[] = R"(
+    function scoreAd(adMetadata, bid, auctionConfig, trustedScoringSignals,
+                     browserSignals) {
+      return {desirability: -1};
+    }
+
+    // Prevent an error about this method not existing.
+    function reportResult() {}
+  )";
+
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kBidder1Url,
+                                         kBidderScript);
+  auction_worklet::AddJavascriptResponse(&url_loader_factory_, kSellerUrl,
+                                         kSellerScript);
+
+  const Result& res = RunStandardAuction();
+
+  EXPECT_EQ(1u, res.debug_loss_report_urls.size());
+  EXPECT_THAT(
+      res.debug_loss_report_urls,
+      testing::UnorderedElementsAre("https://bidder-debug-loss-reporting.com/"
+                                    "?reason=not-available"));
+  EXPECT_EQ(0u, res.debug_win_report_urls.size());
+}
+
+// Disable private aggregation API.
 class AuctionRunnerPrivateAggregationAPIDisabledTest
     : public AuctionRunnerTest {
  public:
diff --git a/content/browser/interest_group/interest_group_auction.cc b/content/browser/interest_group/interest_group_auction.cc
index 8c4fbd8..9bebb49 100644
--- a/content/browser/interest_group/interest_group_auction.cc
+++ b/content/browser/interest_group/interest_group_auction.cc
@@ -410,13 +410,15 @@
         continue;
       }
       if (bid_state->bidder_debug_loss_report_url.has_value()) {
-        // Losing bidders should not get highest_scoring_other_bid and
-        // made_highest_scoring_other_bid signals.
+        // Losing and rejected bidders should not get highest_scoring_other_bid
+        // and made_highest_scoring_other_bid signals.
         debug_loss_report_urls.emplace_back(FillPostAuctionSignals(
             std::move(bid_state->bidder_debug_loss_report_url).value(),
             PostAuctionSignals(signals.winning_bid, signals.made_winning_bid,
-                               0.0, false)));
+                               0.0, false),
+            /*top_level_signals=*/absl::nullopt, bid_state->reject_reason));
       }
+      // TODO(qingxinwu): Add reject reason to seller debug loss report as well.
       if (bid_state->seller_debug_loss_report_url.has_value()) {
         debug_loss_report_urls.emplace_back(FillPostAuctionSignals(
             std::move(bid_state->seller_debug_loss_report_url).value(), signals,
@@ -762,10 +764,10 @@
                            maybe_bidding_signals_data_version,
                            debug_loss_report_url, debug_win_report_url);
       if (bid)
-        state->bidder_debug_loss_report_url = std::move(debug_loss_report_url);
+        state->bidder_debug_loss_report_url = debug_loss_report_url;
     } else {
       // Bidders who do not bid are allowed to get loss report.
-      state->bidder_debug_loss_report_url = std::move(debug_loss_report_url);
+      state->bidder_debug_loss_report_url = debug_loss_report_url;
     }
 
     // Release the worklet. If it wins the auction, it will be requested again
@@ -775,7 +777,7 @@
     if (!bid) {
       state->EndTracing();
     } else {
-      state->bidder_debug_win_report_url = std::move(debug_win_report_url);
+      state->bidder_debug_win_report_url = debug_win_report_url;
       state->made_bid = true;
       auction_->ScoreBidIfReady(std::move(bid));
     }
@@ -1180,10 +1182,43 @@
   }
 }
 
+base::StringPiece GetRejectReasonString(
+    const auction_worklet::mojom::RejectReason reject_reason) {
+  base::StringPiece reject_reason_str;
+  switch (reject_reason) {
+    case auction_worklet::mojom::RejectReason::kNotAvailable:
+      reject_reason_str = "not-available";
+      break;
+    case auction_worklet::mojom::RejectReason::kInvalidBid:
+      reject_reason_str = "invalid-bid";
+      break;
+    case auction_worklet::mojom::RejectReason::kBidBelowAuctionFloor:
+      reject_reason_str = "bid-below-auction-floor";
+      break;
+    case auction_worklet::mojom::RejectReason::kPendingApprovalByExchange:
+      reject_reason_str = "pending-approval-by-exchange";
+      break;
+    case auction_worklet::mojom::RejectReason::kDisapprovedByExchange:
+      reject_reason_str = "disapproved-by-exchange";
+      break;
+    case auction_worklet::mojom::RejectReason::kBlockedByPublisher:
+      reject_reason_str = "blocked-by-publisher";
+      break;
+    case auction_worklet::mojom::RejectReason::kLanguageExclusions:
+      reject_reason_str = "language-exclusions";
+      break;
+    case auction_worklet::mojom::RejectReason::kCategoryExclusions:
+      reject_reason_str = "category-exclusions";
+      break;
+  }
+  return reject_reason_str;
+}
+
 GURL InterestGroupAuction::FillPostAuctionSignals(
     const GURL& url,
     const PostAuctionSignals& signals,
-    const absl::optional<PostAuctionSignals>& top_level_signals) {
+    const absl::optional<PostAuctionSignals>& top_level_signals,
+    const absl::optional<auction_worklet::mojom::RejectReason> reject_reason) {
   // TODO(qingxinwu): Round `winning_bid` and `highest_scoring_other_bid` to two
   // most-significant digits. Maybe same to corresponding browser signals of
   // reportWin()/reportResult().
@@ -1217,6 +1252,12 @@
         top_level_signals->made_winning_bid ? "true" : "false");
   }
 
+  if (reject_reason.has_value()) {
+    base::ReplaceSubstringsAfterOffset(
+        &query_string, 0, "${rejectReason}",
+        GetRejectReasonString(reject_reason.value()));
+  }
+
   GURL::Replacements replacements;
   replacements.SetQueryStr(query_string);
   return url.ReplaceComponents(replacements);
@@ -1671,6 +1712,7 @@
 
 void InterestGroupAuction::OnScoreAdComplete(
     double score,
+    auction_worklet::mojom::RejectReason reject_reason,
     auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr
         component_auction_modified_bid_params,
     uint32_t data_version,
@@ -1719,6 +1761,9 @@
         std::move(debug_loss_report_url);
     bid->bid_state->seller_debug_win_report_url =
         std::move(debug_win_report_url);
+    // Ignores reject reason if score > 0.
+    if (score <= 0)
+      bid->bid_state->reject_reason = reject_reason;
   } else {
     bid->bid_state->top_level_seller_debug_loss_report_url =
         std::move(debug_loss_report_url);
diff --git a/content/browser/interest_group/interest_group_auction.h b/content/browser/interest_group/interest_group_auction.h
index a7f2294..8e69994 100644
--- a/content/browser/interest_group/interest_group_auction.h
+++ b/content/browser/interest_group/interest_group_auction.h
@@ -243,6 +243,11 @@
     // auction, won it, and was then scored by the top-level seller.
     absl::optional<GURL> top_level_seller_debug_win_report_url;
     absl::optional<GURL> top_level_seller_debug_loss_report_url;
+
+    // The reason this bid was rejected by the auction (i.e., reason why score
+    // was non-positive).
+    auction_worklet::mojom::RejectReason reject_reason =
+        auction_worklet::mojom::RejectReason::kNotAvailable;
   };
 
   // Result of generated a bid. Contains information that needs to score a bid
@@ -541,6 +546,7 @@
   // auction_worklet::mojom::ScoreAdClient implementation:
   void OnScoreAdComplete(
       double score,
+      auction_worklet::mojom::RejectReason reject_reason,
       auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr
           component_auction_modified_bid_params,
       uint32_t scoring_signals_data_version,
@@ -638,10 +644,13 @@
   // Replaces `${}` placeholders in a debug report URL's query string for post
   // auction signals if exist. Only replaces unescaped placeholder ${}, but
   // not escaped placeholder (i.e., %24%7B%7D).
-  static GURL FillPostAuctionSignals(const GURL& url,
-                                     const PostAuctionSignals& signals,
-                                     const absl::optional<PostAuctionSignals>&
-                                         top_level_signals = absl::nullopt);
+  static GURL FillPostAuctionSignals(
+      const GURL& url,
+      const PostAuctionSignals& signals,
+      const absl::optional<PostAuctionSignals>& top_level_signals =
+          absl::nullopt,
+      const absl::optional<auction_worklet::mojom::RejectReason> reject_reason =
+          absl::nullopt);
 
   // Tracing ID associated with the Auction. A nestable
   // async "Auction" trace
diff --git a/content/browser/preloading/preloading_attempt_impl.h b/content/browser/preloading/preloading_attempt_impl.h
index 77fb6c3f..8a12866 100644
--- a/content/browser/preloading/preloading_attempt_impl.h
+++ b/content/browser/preloading/preloading_attempt_impl.h
@@ -45,6 +45,10 @@
       ukm::SourceId triggered_primary_page_source_id,
       PreloadingURLMatchCallback url_match_predicate);
 
+  PreloadingTriggeringOutcome get_triggering_outcome_for_testing() const {
+    return triggering_outcome_;
+  }
+
  private:
   // Reason why the preloading attempt failed, this is similar to specific
   // preloading logging reason. Zero as a failure reason signifies no reason is
diff --git a/content/browser/preloading/prerender/prerender_host.cc b/content/browser/preloading/prerender/prerender_host.cc
index 90ba7ea..e6ab794 100644
--- a/content/browser/preloading/prerender/prerender_host.cc
+++ b/content/browser/preloading/prerender/prerender_host.cc
@@ -264,8 +264,9 @@
   }
 
   // The prerendered contents are considered ready for activation when the
-  // main frame navigation reaches DidFinishNavigation.
-  if (is_prerender_main_frame) {
+  // main frame navigation reaches DidFinishNavigation and the prerender host
+  // has not been canceled yet.
+  if (is_prerender_main_frame && !final_status_) {
     DCHECK(!is_ready_for_activation_);
     is_ready_for_activation_ = true;
 
diff --git a/content/browser/preloading/prerender/prerender_host_unittest.cc b/content/browser/preloading/prerender/prerender_host_unittest.cc
index 6e5325c..f926ce88 100644
--- a/content/browser/preloading/prerender/prerender_host_unittest.cc
+++ b/content/browser/preloading/prerender/prerender_host_unittest.cc
@@ -4,12 +4,18 @@
 
 #include "content/browser/preloading/prerender/prerender_host.h"
 
+#include "base/functional/bind.h"
+#include "base/test/bind.h"
 #include "base/test/scoped_feature_list.h"
 #include "build/build_config.h"
 #include "components/ukm/test_ukm_recorder.h"
+#include "content/browser/preloading/preloading.h"
+#include "content/browser/preloading/preloading_attempt_impl.h"
 #include "content/browser/preloading/prerender/prerender_attributes.h"
 #include "content/browser/preloading/prerender/prerender_host_registry.h"
 #include "content/browser/site_instance_impl.h"
+#include "content/public/browser/preloading.h"
+#include "content/public/browser/preloading_data.h"
 #include "content/public/test/mock_web_contents_observer.h"
 #include "content/public/test/navigation_simulator.h"
 #include "content/public/test/prerender_test_util.h"
@@ -29,10 +35,15 @@
 namespace {
 
 using ::testing::_;
+using ExpectedReadyForActivationState =
+    base::StrongAlias<class ExpectedReadyForActivationStateType, bool>;
 
 // Finish a prerendering navigation that was already started with
 // CreateAndStartHost().
-void CommitPrerenderNavigation(PrerenderHost& host) {
+void CommitPrerenderNavigation(
+    PrerenderHost& host,
+    ExpectedReadyForActivationState ready_for_activation =
+        ExpectedReadyForActivationState(true)) {
   // Normally we could use EmbeddedTestServer to provide a response, but these
   // tests use RenderViewHostImplTestHarness so the load goes through a
   // TestNavigationURLLoader which we don't have access to in order to
@@ -41,7 +52,7 @@
   std::unique_ptr<NavigationSimulator> sim =
       NavigationSimulatorImpl::CreateFromPendingInFrame(ftn);
   sim->Commit();
-  EXPECT_TRUE(host.is_ready_for_activation());
+  EXPECT_EQ(host.is_ready_for_activation(), ready_for_activation.value());
 }
 
 std::unique_ptr<NavigationSimulatorImpl> CreateActivation(
@@ -457,6 +468,70 @@
       prerender_host->IsUrlMatch(GURL("https://example2.com/empty.html")));
 }
 
+// Regression test for https://crbug.com/1366046: This test will crash if
+// PrerenderHost is set to "ready_for_activation" after getting canceled.
+TEST_F(PrerenderHostTest, CanceledPrerenderCannotBeReadyForActivation) {
+  std::unique_ptr<TestWebContents> web_contents =
+      CreateWebContents(GURL("https://example.com/"));
+  const GURL kPrerenderingUrl = GURL("https://example.com/empty.html");
+  RenderFrameHostImpl* initiator_rfh = web_contents->GetPrimaryMainFrame();
+  PrerenderHostRegistry* registry = web_contents->GetPrerenderHostRegistry();
+
+  auto* preloading_data =
+      PreloadingData::GetOrCreateForWebContents(web_contents.get());
+
+  // Create new PreloadingAttempt and pass all the values corresponding to
+  // this prerendering attempt.
+  PreloadingURLMatchCallback same_url_matcher =
+      PreloadingData::GetSameURLMatcher(kPrerenderingUrl);
+  PreloadingAttempt* preloading_attempt = preloading_data->AddPreloadingAttempt(
+      ToPreloadingPredictor(ContentPreloadingPredictor::kSpeculationRules),
+      PreloadingType::kPrerender, std::move(same_url_matcher));
+
+  const int prerender_frame_tree_node_id = registry->CreateAndStartHost(
+      GeneratePrerenderAttributes(kPrerenderingUrl, initiator_rfh),
+      *web_contents, preloading_attempt);
+  PrerenderHost* prerender_host =
+      registry->FindNonReservedHostById(prerender_frame_tree_node_id);
+  ASSERT_NE(prerender_host, nullptr);
+
+  // Registry keeps alive through this test, so it is safe to use
+  // base::Unretained.
+  base::SequencedTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE,
+      base::BindOnce(base::IgnoreResult(&PrerenderHostRegistry::CancelHost),
+                     base::Unretained(registry), prerender_frame_tree_node_id,
+                     PrerenderHost::FinalStatus::kTriggerDestroyed));
+
+  // For some reasons triggers want to set the failure reason by themselves,
+  // this would happen together with cancelling prerender.
+  base::SequencedTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE,
+      base::BindOnce(
+          &PreloadingAttempt::SetFailureReason,
+          base::Unretained(preloading_attempt),
+          static_cast<PreloadingFailureReason>(
+              static_cast<int>(PrerenderHost::FinalStatus::kTriggerDestroyed) +
+              static_cast<int>(PreloadingFailureReason::
+                                   kPreloadingFailureReasonCommonEnd))));
+
+  base::RunLoop run_loop;
+  base::SequencedTaskRunnerHandle::Get()->PostTask(
+      FROM_HERE, base::BindLambdaForTesting([&]() {
+        CommitPrerenderNavigation(*prerender_host,
+                                  ExpectedReadyForActivationState(false));
+        run_loop.Quit();
+      }));
+
+  // Wait for the completion of CommitPrerenderNavigation() above.
+  run_loop.Run();
+
+  auto* preloading_attempt_impl =
+      static_cast<PreloadingAttemptImpl*>(preloading_attempt);
+  EXPECT_EQ(preloading_attempt_impl->get_triggering_outcome_for_testing(),
+            PreloadingTriggeringOutcome::kFailure);
+}
+
 // TODO(crbug.com/1356907): Remove this and merge it to PrerenderHostTest once
 // kPrerender2InBackground is enabled by default.
 class PrerenderHostInBackgroundTest : public PrerenderHostTest {
diff --git a/content/public/test/unittest_test_suite.cc b/content/public/test/unittest_test_suite.cc
index 08b9577..dad91bc 100644
--- a/content/public/test/unittest_test_suite.cc
+++ b/content/public/test/unittest_test_suite.cc
@@ -14,6 +14,7 @@
 #include "base/test/test_suite.h"
 #include "build/build_config.h"
 #include "components/breadcrumbs/core/breadcrumb_manager.h"
+#include "components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h"
 #include "content/app/mojo/mojo_init.h"
 #include "content/browser/network_service_instance_impl.h"
 #include "content/browser/notification_service_impl.h"
@@ -97,6 +98,8 @@
     ResetNetworkServiceForTesting();
 
     breadcrumbs::BreadcrumbManager::GetInstance().ResetForTesting();
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
   }
 
  private:
diff --git a/content/services/auction_worklet/public/mojom/seller_worklet.mojom b/content/services/auction_worklet/public/mojom/seller_worklet.mojom
index 8e49ccf7..3b7d6fac 100644
--- a/content/services/auction_worklet/public/mojom/seller_worklet.mojom
+++ b/content/services/auction_worklet/public/mojom/seller_worklet.mojom
@@ -54,6 +54,18 @@
   bool has_modified_bid;
 };
 
+// The reason a bid was rejected by an auction.
+enum RejectReason {
+  kNotAvailable = 0,
+  kInvalidBid = 1,
+  kBidBelowAuctionFloor = 2,
+  kPendingApprovalByExchange = 3,
+  kDisapprovedByExchange = 4,
+  kBlockedByPublisher = 5,
+  kLanguageExclusions = 6,
+  kCategoryExclusions = 7,
+};
+
 // Interface for returning ScoreAd results. The advantage of having an interface
 // is that it makes ScoreAd() calls cancellable, and allows callbacks passed
 // over the Mojo pipe to be deleted when the Mojo pipe is, to avoid setting off
@@ -66,6 +78,10 @@
   //  of 0 indicates either an error running the script, or that the script
   //  indicated the bid should not be used.
   //
+  // `reject_reason` The reason this bid was rejected by the auction (i.e., the
+  //  reason why `score` was non-positive). Default to kNotAvailable if not set.
+  //  Will be ignored if `score` is positive.
+  //
   // `component_auction_modified_bid_params` If this is a component seller
   //  worklet, contains parameters to pass to the top-level seller worklet
   //  in place of values from the original bidder worklet's BidderWorkletBid.
@@ -96,6 +112,7 @@
   //  empty if `score` is positive, nor should it be assumed to be non-empty if
   //  `score` is 0.
   OnScoreAdComplete(double score,
+                    RejectReason reject_reason,
                     ComponentAuctionModifiedBidParams?
                         component_auction_modified_bid_params,
                     uint32 scoring_signals_data_version,
@@ -160,7 +177,7 @@
   //  to use with tracing calls.
   //
   // `score_ad_client` When the ScoreAd completes, successfully or not, its
-  // OnScoreAdComplete() method will invoked be invoked with the results.
+  // OnScoreAdComplete() method will be invoked with the results.
   ScoreAd(string ad_metadata_json,
           double bid,
           blink.mojom.AuctionAdConfigNonSharedParams
diff --git a/content/services/auction_worklet/seller_worklet.cc b/content/services/auction_worklet/seller_worklet.cc
index 01e5c253..945f01e 100644
--- a/content/services/auction_worklet/seller_worklet.cc
+++ b/content/services/auction_worklet/seller_worklet.cc
@@ -6,6 +6,7 @@
 
 #include <stdint.h>
 
+#include <cmath>
 #include <list>
 #include <memory>
 #include <string>
@@ -261,6 +262,30 @@
       browser_signals_other_seller->get_component_seller().Serialize());
 }
 
+// Converts reject reason string to corresponding mojom enum.
+absl::optional<mojom::RejectReason> RejectReasonStringToEnum(
+    const std::string& reason) {
+  if (reason == "not-available") {
+    return mojom::RejectReason::kNotAvailable;
+  } else if (reason == "invalid-bid") {
+    return mojom::RejectReason::kInvalidBid;
+  } else if (reason == "bid-below-auction-floor") {
+    return mojom::RejectReason::kBidBelowAuctionFloor;
+  } else if (reason == "pending-approval-by-exchange") {
+    return mojom::RejectReason::kPendingApprovalByExchange;
+  } else if (reason == "disapproved-by-exchange") {
+    return mojom::RejectReason::kDisapprovedByExchange;
+  } else if (reason == "blocked-by-publisher") {
+    return mojom::RejectReason::kBlockedByPublisher;
+  } else if (reason == "language-exclusions") {
+    return mojom::RejectReason::kLanguageExclusions;
+  } else if (reason == "category-exclusions") {
+    return mojom::RejectReason::kCategoryExclusions;
+  }
+  // Invalid (out of range) reject reason.
+  return absl::nullopt;
+}
+
 }  // namespace
 
 SellerWorklet::SellerWorklet(
@@ -595,6 +620,7 @@
     // `scoreAd()` might use them to detect script timeout or failures.
     PostScoreAdCallbackToUserThread(
         std::move(callback), /*score=*/0,
+        /*reject_reason=*/mojom::RejectReason::kNotAvailable,
         /*component_auction_modified_bid_params=*/nullptr,
         /*scoring_signals_data_version=*/absl::nullopt,
         /*debug_loss_report_url=*/
@@ -607,13 +633,14 @@
   }
 
   double score;
+  mojom::RejectReason reject_reason = mojom::RejectReason::kNotAvailable;
   bool allow_component_auction = false;
   mojom::ComponentAuctionModifiedBidParamsPtr
       component_auction_modified_bid_params;
   // Try to parse the result as a number. On success, it's the desirability
   // score.
   if (!gin::ConvertFromV8(isolate, score_ad_result, &score)) {
-    // Otherwise, try it must be an object with the desireability score, and
+    // Otherwise, it must be an object with the desireability score, and
     // potentially other fields as well.
     if (!score_ad_result->IsObject()) {
       errors_out.push_back(
@@ -642,6 +669,30 @@
     if (!result_dict.Get("allowComponentAuction", &allow_component_auction))
       allow_component_auction = false;
 
+    v8::Local<v8::Value> reject_reason_value;
+    if (score_ad_object
+            ->Get(context, v8_helper_->CreateStringFromLiteral("rejectReason"))
+            .ToLocal(&reject_reason_value) &&
+        !reject_reason_value->IsUndefined()) {
+      if (!reject_reason_value->IsString()) {
+        errors_out.push_back(base::StrCat(
+            {decision_logic_url_.spec(),
+             " rejectReason returned by scoreAd() must be a string."}));
+      } else {
+        std::string reject_reason_str;
+        result_dict.Get("rejectReason", &reject_reason_str);
+        auto reject_reason_opt = RejectReasonStringToEnum(reject_reason_str);
+
+        if (!reject_reason_opt.has_value()) {
+          errors_out.push_back(
+              base::StrCat({decision_logic_url_.spec(),
+                            " scoreAd() returned an invalid reject reason."}));
+        } else {
+          reject_reason = reject_reason_opt.value();
+        }
+      }
+    }
+
     // If this is the seller in a component auction (and thus it was passed a
     // top-level seller), need to return a
     // mojom::ComponentAuctionModifiedBidParams.
@@ -695,7 +746,7 @@
     // Keep debug report URLs because we want to send debug loss reports if
     // seller rejected all bids.
     PostScoreAdCallbackToUserThread(
-        std::move(callback), /*score=*/0,
+        std::move(callback), /*score=*/0, reject_reason,
         /*component_auction_modified_bid_params=*/nullptr,
         scoring_signals_data_version,
         context_recycler.for_debugging_only_bindings()->TakeLossReportUrl(),
@@ -726,6 +777,7 @@
 
   PostScoreAdCallbackToUserThread(
       std::move(callback), score,
+      /*reject_reason=*/mojom::RejectReason::kNotAvailable,
       std::move(component_auction_modified_bid_params),
       scoring_signals_data_version,
       context_recycler.for_debugging_only_bindings()->TakeLossReportUrl(),
@@ -904,6 +956,7 @@
     PrivateAggregationRequests pa_requests) {
   PostScoreAdCallbackToUserThread(
       std::move(callback), /*score=*/0,
+      /*reject_reason=*/mojom::RejectReason::kNotAvailable,
       /*component_auction_modified_bid_params=*/nullptr,
       /*scoring_signals_data_version=*/absl::nullopt,
       /*debug_loss_report_url=*/absl::nullopt,
@@ -914,6 +967,7 @@
 void SellerWorklet::V8State::PostScoreAdCallbackToUserThread(
     ScoreAdCallbackInternal callback,
     double score,
+    mojom::RejectReason reject_reason,
     mojom::ComponentAuctionModifiedBidParamsPtr
         component_auction_modified_bid_params,
     absl::optional<uint32_t> scoring_signals_data_version,
@@ -924,7 +978,7 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(v8_sequence_checker_);
   user_thread_->PostTask(
       FROM_HERE,
-      base::BindOnce(std::move(callback), score,
+      base::BindOnce(std::move(callback), score, reject_reason,
                      std::move(component_auction_modified_bid_params),
                      scoring_signals_data_version,
                      std::move(debug_loss_report_url),
@@ -1081,6 +1135,7 @@
 void SellerWorklet::DeliverScoreAdCallbackOnUserThread(
     ScoreAdTaskList::iterator task,
     double score,
+    mojom::RejectReason reject_reason,
     mojom::ComponentAuctionModifiedBidParamsPtr
         component_auction_modified_bid_params,
     absl::optional<uint32_t> scoring_signals_data_version,
@@ -1089,7 +1144,6 @@
     PrivateAggregationRequests pa_requests,
     std::vector<std::string> errors) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(user_sequence_checker_);
-
   if (load_script_error_msg_)
     errors.insert(errors.begin(), load_script_error_msg_.value());
   if (task->trusted_scoring_signals_error_msg)
@@ -1102,7 +1156,7 @@
   // it does. Only useful if the SellerWorklet object is still in use, so
   // unclear how useful it would be.
   task->score_ad_client->OnScoreAdComplete(
-      score, std::move(component_auction_modified_bid_params),
+      score, reject_reason, std::move(component_auction_modified_bid_params),
       scoring_signals_data_version.value_or(0),
       scoring_signals_data_version.has_value(), debug_loss_report_url,
       debug_win_report_url, std::move(pa_requests), std::move(errors));
diff --git a/content/services/auction_worklet/seller_worklet.h b/content/services/auction_worklet/seller_worklet.h
index 5963374..5c86584 100644
--- a/content/services/auction_worklet/seller_worklet.h
+++ b/content/services/auction_worklet/seller_worklet.h
@@ -195,6 +195,7 @@
     // V8State, and avoids having to make a copy of the errors vector.
     using ScoreAdCallbackInternal = base::OnceCallback<void(
         double score,
+        mojom::RejectReason reject_reason,
         mojom::ComponentAuctionModifiedBidParamsPtr
             component_auction_modified_bid_params,
         absl::optional<uint32_t> scoring_signals_data_version,
@@ -270,6 +271,7 @@
     void PostScoreAdCallbackToUserThread(
         ScoreAdCallbackInternal callback,
         double score,
+        mojom::RejectReason reject_reason,
         mojom::ComponentAuctionModifiedBidParamsPtr
             component_auction_modified_bid_params,
         absl::optional<uint32_t> scoring_signals_data_version,
@@ -333,6 +335,7 @@
   void DeliverScoreAdCallbackOnUserThread(
       ScoreAdTaskList::iterator task,
       double score,
+      mojom::RejectReason reject_reason,
       mojom::ComponentAuctionModifiedBidParamsPtr
           component_auction_modified_bid_params,
       absl::optional<uint32_t> scoring_signals_data_version,
diff --git a/content/services/auction_worklet/seller_worklet_unittest.cc b/content/services/auction_worklet/seller_worklet_unittest.cc
index 3c1c065..44be85a 100644
--- a/content/services/auction_worklet/seller_worklet_unittest.cc
+++ b/content/services/auction_worklet/seller_worklet_unittest.cc
@@ -47,7 +47,7 @@
 namespace {
 
 using PrivateAggregationRequests =
-    std::vector<auction_worklet::mojom::PrivateAggregationRequestPtr>;
+    std::vector<mojom::PrivateAggregationRequestPtr>;
 
 // Very short time used by some tests that want to wait until just before a
 // timer triggers.
@@ -106,16 +106,17 @@
 // A ScoreAdClient that takes a callback to call in OnScoreAdComplete().
 class TestScoreAdClient : public mojom::ScoreAdClient {
  public:
-  using ScoreAdCompleteCallback = base::OnceCallback<void(
-      double score,
-      auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr
-          component_auction_modified_bid_params,
-      uint32_t scoring_signals_data_version,
-      bool has_scoring_signals_data_version,
-      const absl::optional<GURL>& debug_loss_report_url,
-      const absl::optional<GURL>& debug_win_report_url,
-      PrivateAggregationRequests pa_requests,
-      const std::vector<std::string>& errors)>;
+  using ScoreAdCompleteCallback =
+      base::OnceCallback<void(double score,
+                              mojom::RejectReason reject_reason,
+                              mojom::ComponentAuctionModifiedBidParamsPtr
+                                  component_auction_modified_bid_params,
+                              uint32_t scoring_signals_data_version,
+                              bool has_scoring_signals_data_version,
+                              const absl::optional<GURL>& debug_loss_report_url,
+                              const absl::optional<GURL>& debug_win_report_url,
+                              PrivateAggregationRequests pa_requests,
+                              const std::vector<std::string>& errors)>;
 
   explicit TestScoreAdClient(ScoreAdCompleteCallback score_ad_complete_callback)
       : score_ad_complete_callback_(std::move(score_ad_complete_callback)) {}
@@ -133,25 +134,26 @@
   }
 
   // mojom::ScoreAdClient implementation:
-  void OnScoreAdComplete(
-      double score,
-      auction_worklet::mojom::ComponentAuctionModifiedBidParamsPtr
-          component_auction_modified_bid_params,
-      uint32_t scoring_signals_data_version,
-      bool has_scoring_signals_data_version,
-      const absl::optional<GURL>& debug_loss_report_url,
-      const absl::optional<GURL>& debug_win_report_url,
-      PrivateAggregationRequests pa_requests,
-      const std::vector<std::string>& errors) override {
+  void OnScoreAdComplete(double score,
+                         mojom::RejectReason reject_reason,
+                         mojom::ComponentAuctionModifiedBidParamsPtr
+                             component_auction_modified_bid_params,
+                         uint32_t scoring_signals_data_version,
+                         bool has_scoring_signals_data_version,
+                         const absl::optional<GURL>& debug_loss_report_url,
+                         const absl::optional<GURL>& debug_win_report_url,
+                         PrivateAggregationRequests pa_requests,
+                         const std::vector<std::string>& errors) override {
     std::move(score_ad_complete_callback_)
-        .Run(score, std::move(component_auction_modified_bid_params),
+        .Run(score, reject_reason,
+             std::move(component_auction_modified_bid_params),
              scoring_signals_data_version, has_scoring_signals_data_version,
              debug_loss_report_url, debug_win_report_url,
              std::move(pa_requests), errors);
   }
 
   static ScoreAdCompleteCallback ScoreAdNeverInvokedCallback() {
-    return base::BindOnce([](double score,
+    return base::BindOnce([](double score, mojom::RejectReason reject_reason,
                              mojom::ComponentAuctionModifiedBidParamsPtr
                                  component_auction_modified_bid_params,
                              uint32_t scoring_signals_data_version,
@@ -241,12 +243,15 @@
       const absl::optional<GURL>& expected_debug_loss_report_url =
           absl::nullopt,
       const absl::optional<GURL>& expected_debug_win_report_url = absl::nullopt,
+      mojom::RejectReason expected_reject_reason =
+          mojom::RejectReason::kNotAvailable,
       PrivateAggregationRequests expected_pa_requests = {}) {
     RunScoreAdWithJavascriptExpectingResult(
         CreateScoreAdScript(raw_return_value), expected_score, expected_errors,
         std::move(expected_component_auction_modified_bid_params),
         expected_data_version, expected_debug_loss_report_url,
-        expected_debug_win_report_url, std::move(expected_pa_requests));
+        expected_debug_win_report_url, expected_reject_reason,
+        std::move(expected_pa_requests));
   }
 
   // Behaves just like RunScoreAdWithReturnValueExpectingResult(), but
@@ -267,6 +272,8 @@
       const absl::optional<GURL>& expected_debug_loss_report_url =
           absl::nullopt,
       const absl::optional<GURL>& expected_debug_win_report_url = absl::nullopt,
+      mojom::RejectReason expected_reject_reason =
+          mojom::RejectReason::kNotAvailable,
       PrivateAggregationRequests expected_pa_requests = {}) {
     AddJavascriptResponse(&url_loader_factory_, decision_logic_url_,
                           CreateScoreAdScript(raw_return_value));
@@ -277,8 +284,8 @@
         seller_worklet.get(), expected_score, expected_errors,
         std::move(expected_component_auction_modified_bid_params),
         expected_data_version, expected_debug_loss_report_url,
-        expected_debug_win_report_url, std::move(expected_pa_requests),
-        run_loop.QuitClosure());
+        expected_debug_win_report_url, expected_reject_reason,
+        std::move(expected_pa_requests), run_loop.QuitClosure());
     task_environment_.FastForwardBy(expected_duration - kTinyTime);
     EXPECT_FALSE(run_loop.AnyQuitCalled());
     task_environment_.FastForwardBy(kTinyTime);
@@ -299,6 +306,8 @@
       const absl::optional<GURL>& expected_debug_loss_report_url =
           absl::nullopt,
       const absl::optional<GURL>& expected_debug_win_report_url = absl::nullopt,
+      mojom::RejectReason expected_reject_reason =
+          mojom::RejectReason::kNotAvailable,
       PrivateAggregationRequests expected_pa_requests = {}) {
     SCOPED_TRACE(javascript);
     AddJavascriptResponse(&url_loader_factory_, decision_logic_url_,
@@ -307,7 +316,8 @@
         expected_score, expected_errors,
         std::move(expected_component_auction_modified_bid_params),
         expected_data_version, expected_debug_loss_report_url,
-        expected_debug_win_report_url, std::move(expected_pa_requests));
+        expected_debug_win_report_url, expected_reject_reason,
+        std::move(expected_pa_requests));
   }
 
   // Runs score_ad() script, checking result and invoking provided closure
@@ -321,6 +331,7 @@
       absl::optional<uint32_t> expected_data_version,
       const absl::optional<GURL>& expected_debug_loss_report_url,
       const absl::optional<GURL>& expected_debug_win_report_url,
+      mojom::RejectReason expected_reject_reason,
       PrivateAggregationRequests expected_pa_requests,
       base::OnceClosure done_closure) {
     seller_worklet->ScoreAd(
@@ -332,6 +343,7 @@
         /*trace_id=*/1,
         TestScoreAdClient::Create(base::BindOnce(
             [](double expected_score,
+               mojom::RejectReason expected_reject_reason,
                mojom::ComponentAuctionModifiedBidParamsPtr
                    expected_component_auction_modified_bid_params,
                absl::optional<uint32_t> expected_data_version,
@@ -340,6 +352,7 @@
                PrivateAggregationRequests expected_pa_requests,
                std::vector<std::string> expected_errors,
                base::OnceClosure done_closure, double score,
+               mojom::RejectReason reject_reason,
                mojom::ComponentAuctionModifiedBidParamsPtr
                    component_auction_modified_bid_params,
                uint32_t data_version, bool has_data_version,
@@ -351,6 +364,8 @@
               if (has_data_version)
                 maybe_data_version = data_version;
               EXPECT_EQ(expected_score, score);
+              EXPECT_EQ(static_cast<int>(expected_reject_reason),
+                        static_cast<int>(reject_reason));
               EXPECT_EQ(
                   expected_component_auction_modified_bid_params.is_null(),
                   component_auction_modified_bid_params.is_null());
@@ -373,7 +388,7 @@
               EXPECT_EQ(expected_errors, errors);
               std::move(done_closure).Run();
             },
-            expected_score,
+            expected_score, expected_reject_reason,
             std::move(expected_component_auction_modified_bid_params),
             expected_data_version, expected_debug_loss_report_url,
             expected_debug_win_report_url, std::move(expected_pa_requests),
@@ -406,14 +421,16 @@
       const absl::optional<GURL>& expected_debug_loss_report_url =
           absl::nullopt,
       const absl::optional<GURL>& expected_debug_win_report_url = absl::nullopt,
+      mojom::RejectReason expected_reject_reason =
+          mojom::RejectReason::kNotAvailable,
       PrivateAggregationRequests expected_pa_requests = {}) {
     base::RunLoop run_loop;
     RunScoreAdOnWorkletAsync(
         seller_worklet, expected_score, expected_errors,
         std::move(expected_component_auction_modified_bid_params),
         expected_data_version, expected_debug_loss_report_url,
-        expected_debug_win_report_url, std::move(expected_pa_requests),
-        run_loop.QuitClosure());
+        expected_debug_win_report_url, expected_reject_reason,
+        std::move(expected_pa_requests), run_loop.QuitClosure());
     run_loop.Run();
   }
 
@@ -429,6 +446,8 @@
       const absl::optional<GURL>& expected_debug_loss_report_url =
           absl::nullopt,
       const absl::optional<GURL>& expected_debug_win_report_url = absl::nullopt,
+      mojom::RejectReason expected_reject_reason =
+          mojom::RejectReason::kNotAvailable,
       PrivateAggregationRequests expected_pa_requests = {}) {
     auto seller_worklet = CreateWorklet();
     ASSERT_TRUE(seller_worklet);
@@ -436,7 +455,8 @@
         seller_worklet.get(), expected_score, expected_errors,
         std::move(expected_component_auction_modified_bid_params),
         expected_data_version, expected_debug_loss_report_url,
-        expected_debug_win_report_url, std::move(expected_pa_requests));
+        expected_debug_win_report_url, expected_reject_reason,
+        std::move(expected_pa_requests));
   }
 
   // Configures `url_loader_factory_` to return a report_result() script created
@@ -658,7 +678,7 @@
   uint32_t browser_signal_bidding_duration_msecs_;
   double browser_signal_desireability_;
   double browser_signal_highest_scoring_other_bid_;
-  auction_worklet::mojom::ComponentAuctionReportResultParamsPtr
+  mojom::ComponentAuctionReportResultParamsPtr
       browser_signals_component_auction_report_result_params_;
   absl::optional<uint32_t> browser_signal_data_version_;
   absl::optional<base::TimeDelta> seller_timeout_;
@@ -901,6 +921,80 @@
           /*ad=*/"[[35]]", /*bid=*/0, /*has_bid=*/false));
 }
 
+// Test the `rejectReason` output field of scoreAd().
+TEST_F(SellerWorkletTest, ScoreAdRejectReason) {
+  const struct {
+    std::string reason_str;
+    mojom::RejectReason reason_enum;
+  } kTestCases[] = {
+      {"not-available", mojom::RejectReason::kNotAvailable},
+      {"invalid-bid", mojom::RejectReason::kInvalidBid},
+      {"bid-below-auction-floor", mojom::RejectReason::kBidBelowAuctionFloor},
+      {"pending-approval-by-exchange",
+       mojom::RejectReason::kPendingApprovalByExchange},
+      {"disapproved-by-exchange", mojom::RejectReason::kDisapprovedByExchange},
+      {"blocked-by-publisher", mojom::RejectReason::kBlockedByPublisher},
+      {"language-exclusions", mojom::RejectReason::kLanguageExclusions},
+      {"category-exclusions", mojom::RejectReason::kCategoryExclusions},
+  };
+
+  for (const auto& test_case : kTestCases) {
+    RunScoreAdWithReturnValueExpectingResult(
+        base::StringPrintf(R"({desirability:-1, rejectReason: '%s'})",
+                           test_case.reason_str.c_str()),
+        0,
+        /*expected_errors=*/{}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+        /*expected_data_version=*/absl::nullopt,
+        /*expected_debug_loss_report_url=*/absl::nullopt,
+        /*expected_debug_win_report_url=*/absl::nullopt, test_case.reason_enum);
+  }
+
+  // Default reject reason is mojom::RejectReason::kNotAvailable, if scoreAd()
+  // does not return one.
+  RunScoreAdWithReturnValueExpectingResult(
+      "{desirability:-1}", 0,
+      /*expected_errors=*/{}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+      /*expected_data_version=*/absl::nullopt,
+      /*expected_debug_loss_report_url=*/absl::nullopt,
+      /*expected_debug_win_report_url=*/absl::nullopt,
+      mojom::RejectReason::kNotAvailable);
+
+  // Reject reason is ignored when desirability is positive.
+  RunScoreAdWithReturnValueExpectingResult(
+      "{desirability:3, rejectReason: 'invalid-bid'}", 3,
+      /*expected_errors=*/{}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+      /*expected_data_version=*/absl::nullopt,
+      /*expected_debug_loss_report_url=*/absl::nullopt,
+      /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason*/ mojom::RejectReason::kNotAvailable);
+}
+
+// Invalid `rejectReason` output of scoreAd() results in error.
+TEST_F(SellerWorkletTest, ScoreAdInvalidRejectReason) {
+  // Reject reason string returned by seller script is case sensitive.
+  RunScoreAdWithReturnValueExpectingResult(
+      "{desirability:-1, rejectReason: 'INVALID-BID'}", 0,
+      /*expected_errors=*/
+      {"https://url.test/ scoreAd() returned an invalid reject reason."},
+      mojom::ComponentAuctionModifiedBidParamsPtr(),
+      /*expected_data_version=*/absl::nullopt,
+      /*expected_debug_loss_report_url=*/absl::nullopt,
+      /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason*/ mojom::RejectReason::kNotAvailable);
+
+  // Reject reason returned by seller script must be a string.
+  RunScoreAdWithReturnValueExpectingResult(
+      "{desirability:-1, rejectReason: 2}", 0,
+      /*expected_errors=*/
+      {"https://url.test/ rejectReason returned by scoreAd() must be a "
+       "string."},
+      mojom::ComponentAuctionModifiedBidParamsPtr(),
+      /*expected_data_version=*/absl::nullopt,
+      /*expected_debug_loss_report_url=*/absl::nullopt,
+      /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason*/ mojom::RejectReason::kNotAvailable);
+}
+
 // Test the `bid` output field of scoreAd().
 TEST_F(SellerWorkletTest, ScoreAdModifiesBid) {
   // When `browser_signals_other_seller_` is not top a top-level auction (i.e.
@@ -1296,6 +1390,8 @@
                              /*expected_data_version=*/absl::nullopt,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1338,6 +1434,8 @@
                              /*expected_data_version=*/absl::nullopt,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1402,6 +1500,8 @@
                              /*expected_data_version=*/i,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1469,6 +1569,8 @@
                              /*expected_data_version=*/absl::nullopt,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1527,6 +1629,8 @@
                              /*expected_data_version=*/10,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1594,6 +1698,8 @@
                              /*expected_data_version=*/10,
                              /*expected_debug_loss_report_url=*/absl::nullopt,
                              /*expected_debug_win_report_url=*/absl::nullopt,
+                             /*expected_reject_reason=*/
+                             mojom::RejectReason::kNotAvailable,
                              /*expected_pa_requests=*/{},
                              base::BindLambdaForTesting([&]() {
                                ++num_completed_worklets;
@@ -1849,7 +1955,7 @@
       mojom::ComponentAuctionOtherSeller::NewTopLevelSeller(
           url::Origin::Create(GURL("https://top.seller.test")));
   browser_signals_component_auction_report_result_params_ =
-      auction_worklet::mojom::ComponentAuctionReportResultParams::New(
+      mojom::ComponentAuctionReportResultParams::New(
           /*top_level_seller_signals=*/"null",
           /*modified_bid=*/0,
           /*has_modified_bid=*/false);
@@ -1879,7 +1985,7 @@
       mojom::ComponentAuctionOtherSeller::NewTopLevelSeller(
           url::Origin::Create(GURL("https://top.seller.test")));
   browser_signals_component_auction_report_result_params_ =
-      auction_worklet::mojom::ComponentAuctionReportResultParams::New(
+      mojom::ComponentAuctionReportResultParams::New(
           /*top_level_seller_signals=*/"null",
           /*modified_bid=*/0,
           /*has_modified_bid=*/false);
@@ -1923,7 +2029,7 @@
       mojom::ComponentAuctionOtherSeller::NewTopLevelSeller(
           url::Origin::Create(GURL("https://top.seller.test")));
   browser_signals_component_auction_report_result_params_ =
-      auction_worklet::mojom::ComponentAuctionReportResultParams::New(
+      mojom::ComponentAuctionReportResultParams::New(
           /*top_level_seller_signals=*/"null",
           /*modified_bid=*/0,
           /*has_modified_bid=*/false);
@@ -1965,7 +2071,7 @@
       mojom::ComponentAuctionOtherSeller::NewTopLevelSeller(
           url::Origin::Create(GURL("https://top.seller.test")));
   browser_signals_component_auction_report_result_params_ =
-      auction_worklet::mojom::ComponentAuctionReportResultParams::New(
+      mojom::ComponentAuctionReportResultParams::New(
           /*top_level_seller_signals=*/"null",
           /*modified_bid=*/4,
           /*has_modified_bid=*/true);
@@ -2365,7 +2471,7 @@
           seller_timeout_,
           /*trace_id=*/1,
           TestScoreAdClient::Create(base::BindLambdaForTesting(
-              [&run_loop](double score,
+              [&run_loop](double score, mojom::RejectReason reject_reason,
                           mojom::ComponentAuctionModifiedBidParamsPtr
                               component_auction_modified_bid_params,
                           uint32_t scoring_signals_data_version,
@@ -2483,6 +2589,8 @@
                            /*expected_data_version=*/absl::nullopt,
                            /*expected_debug_loss_report_url=*/absl::nullopt,
                            /*expected_debug_win_report_url=*/absl::nullopt,
+                           /*expected_reject_reason=*/
+                           mojom::RejectReason::kNotAvailable,
                            /*expected_pa_requests=*/{}, run_loop.QuitClosure());
 
   // Give it a chance to fetch.
@@ -2565,6 +2673,8 @@
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/
+      mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{}, run_loop1.QuitClosure());
 
   decision_logic_url_ = kUrl2;
@@ -2578,6 +2688,8 @@
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/
+      mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{}, run_loop2.QuitClosure());
 
   int id1 = worklet_impl1->context_group_id_for_testing();
@@ -2693,22 +2805,27 @@
   auto worklet1 = CreateWorklet(/*pause_for_debugger_on_start=*/true);
   base::RunLoop run_loop1;
   RunScoreAdOnWorkletAsync(
-      worklet1.get(), 100.5, {}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+      worklet1.get(), /*expected_score=*/100.5, /*expected_errors=*/{},
+      mojom::ComponentAuctionModifiedBidParamsPtr(),
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/
+      mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{}, run_loop1.QuitClosure());
 
   decision_logic_url_ = GURL(kUrl2);
   auto worklet2 = CreateWorklet(/*pause_for_debugger_on_start=*/true);
   base::RunLoop run_loop2;
-  RunScoreAdOnWorkletAsync(worklet2.get(), 0,
+  RunScoreAdOnWorkletAsync(worklet2.get(), /*expected_score=*/0,
                            {"http://example.org/second.js scoreAd() did not "
                             "return an object or a number."},
                            mojom::ComponentAuctionModifiedBidParamsPtr(),
                            /*expected_data_version=*/absl::nullopt,
                            /*expected_debug_loss_report_url=*/absl::nullopt,
                            /*expected_debug_win_report_url=*/absl::nullopt,
+                           /*expected_reject_reason=*/
+                           mojom::RejectReason::kNotAvailable,
                            /*expected_pa_requests=*/{},
                            run_loop2.QuitClosure());
 
@@ -2848,11 +2965,14 @@
   decision_logic_url_ = GURL(kUrl);
   auto worklet = CreateWorklet(/*pause_for_debugger_on_start=*/true);
   base::RunLoop run_loop;
-  RunScoreAdOnWorkletAsync(worklet.get(), 1.0, {},
+  RunScoreAdOnWorkletAsync(worklet.get(), /*expected_score=*/1.0,
+                           /*expected_errors=*/{},
                            mojom::ComponentAuctionModifiedBidParamsPtr(),
                            /*expected_data_version=*/absl::nullopt,
                            /*expected_debug_loss_report_url=*/absl::nullopt,
                            /*expected_debug_win_report_url=*/absl::nullopt,
+                           /*expected_reject_reason=*/
+                           mojom::RejectReason::kNotAvailable,
                            /*expected_pa_requests=*/{}, run_loop.QuitClosure());
 
   mojo::AssociatedRemote<blink::mojom::DevToolsAgent> agent;
@@ -2926,10 +3046,13 @@
   // remove it.
   base::RunLoop run_loop3;
   RunScoreAdOnWorkletAsync(
-      worklet.get(), 1.0, {}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+      worklet.get(), /*expected_score=*/1.0, /*expected_errors=*/{},
+      mojom::ComponentAuctionModifiedBidParamsPtr(),
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/
+      mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{}, run_loop3.QuitClosure());
 
   TestDevToolsAgentClient::Event breakpoint_hit3 =
@@ -2988,10 +3111,13 @@
       R"({"id":4,"method":"Runtime.runIfWaitingForDebugger","params":{}})");
 
   RunScoreAdOnWorkletAsync(
-      worklet.get(), 1.0, {}, mojom::ComponentAuctionModifiedBidParamsPtr(),
+      worklet.get(), /*expected_score=*/1.0, /*expected_errors=*/{},
+      mojom::ComponentAuctionModifiedBidParamsPtr(),
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/
+      mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{}, base::BindOnce([]() {
         ADD_FAILURE() << "scoreAd shouldn't actually get to finish.";
       }));
@@ -3399,7 +3525,7 @@
         seller_timeout_,
         /*trace_id=*/1,
         TestScoreAdClient::Create(base::BindLambdaForTesting(
-            [&run_loop](double score,
+            [&run_loop](double score, mojom::RejectReason reject_reason,
                         mojom::ComponentAuctionModifiedBidParamsPtr
                             component_auction_modified_bid_params,
                         uint32_t scoring_signals_data_version,
@@ -3436,15 +3562,15 @@
 };
 
 TEST_F(SellerWorkletPrivateAggregationEnabledTest, ScoreAd) {
-  auction_worklet::mojom::PrivateAggregationRequestPtr kExpectedRequest1 =
-      auction_worklet::mojom::PrivateAggregationRequest::New(
+  mojom::PrivateAggregationRequestPtr kExpectedRequest1 =
+      mojom::PrivateAggregationRequest::New(
           content::mojom::AggregatableReportHistogramContribution::New(
               /*bucket=*/123,
               /*value=*/45),
           content::mojom::AggregationServiceMode::kDefault,
           content::mojom::DebugModeDetails::New());
-  auction_worklet::mojom::PrivateAggregationRequestPtr kExpectedRequest2 =
-      auction_worklet::mojom::PrivateAggregationRequest::New(
+  mojom::PrivateAggregationRequestPtr kExpectedRequest2 =
+      mojom::PrivateAggregationRequest::New(
           content::mojom::AggregatableReportHistogramContribution::New(
               /*bucket=*/absl::MakeInt128(/*high=*/1, /*low=*/0),
               /*value=*/1),
@@ -3464,6 +3590,7 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
@@ -3481,6 +3608,7 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
@@ -3498,6 +3626,7 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
@@ -3518,6 +3647,7 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
@@ -3537,18 +3667,18 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
   // Debug mode enabled with debug key
   {
     PrivateAggregationRequests expected_pa_requests;
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest1->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, content::mojom::DebugKey::New(1234u))));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest1->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, content::mojom::DebugKey::New(1234u))));
 
     RunScoreAdWithJavascriptExpectingResult(
         CreateScoreAdScript("5",
@@ -3561,24 +3691,23 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 
   // Debug mode enabled without debug key, but with multiple requests
   {
     PrivateAggregationRequests expected_pa_requests;
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest1->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, /*debug_key=*/nullptr)));
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest2->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, /*debug_key=*/nullptr)));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest1->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, /*debug_key=*/nullptr)));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest2->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, /*debug_key=*/nullptr)));
 
     RunScoreAdWithJavascriptExpectingResult(
         CreateScoreAdScript("5",
@@ -3593,20 +3722,21 @@
         /*expected_data_version=*/absl::nullopt,
         /*expected_debug_loss_report_url=*/absl::nullopt,
         /*expected_debug_win_report_url=*/absl::nullopt,
+        /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
         std::move(expected_pa_requests));
   }
 }
 
 TEST_F(SellerWorkletPrivateAggregationEnabledTest, ReportResult) {
-  auction_worklet::mojom::PrivateAggregationRequestPtr kExpectedRequest1 =
-      auction_worklet::mojom::PrivateAggregationRequest::New(
+  mojom::PrivateAggregationRequestPtr kExpectedRequest1 =
+      mojom::PrivateAggregationRequest::New(
           content::mojom::AggregatableReportHistogramContribution::New(
               /*bucket=*/123,
               /*value=*/45),
           content::mojom::AggregationServiceMode::kDefault,
           content::mojom::DebugModeDetails::New());
-  auction_worklet::mojom::PrivateAggregationRequestPtr kExpectedRequest2 =
-      auction_worklet::mojom::PrivateAggregationRequest::New(
+  mojom::PrivateAggregationRequestPtr kExpectedRequest2 =
+      mojom::PrivateAggregationRequest::New(
           content::mojom::AggregatableReportHistogramContribution::New(
               /*bucket=*/absl::MakeInt128(/*high=*/1, /*low=*/0),
               /*value=*/1),
@@ -3696,12 +3826,11 @@
   // Debug mode enabled with debug key
   {
     PrivateAggregationRequests expected_pa_requests;
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest1->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, content::mojom::DebugKey::New(1234u))));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest1->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, content::mojom::DebugKey::New(1234u))));
 
     RunReportResultCreatedScriptExpectingResult(
         "5",
@@ -3718,18 +3847,16 @@
   // Debug mode enabled without debug key, but with multiple requests
   {
     PrivateAggregationRequests expected_pa_requests;
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest1->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, /*debug_key=*/nullptr)));
-    expected_pa_requests.push_back(
-        auction_worklet::mojom::PrivateAggregationRequest::New(
-            kExpectedRequest2->contribution->Clone(),
-            content::mojom::AggregationServiceMode::kDefault,
-            content::mojom::DebugModeDetails::New(
-                /*is_enabled=*/true, /*debug_key=*/nullptr)));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest1->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, /*debug_key=*/nullptr)));
+    expected_pa_requests.push_back(mojom::PrivateAggregationRequest::New(
+        kExpectedRequest2->contribution->Clone(),
+        content::mojom::AggregationServiceMode::kDefault,
+        content::mojom::DebugModeDetails::New(
+            /*is_enabled=*/true, /*debug_key=*/nullptr)));
 
     RunReportResultCreatedScriptExpectingResult(
         "5",
@@ -3784,6 +3911,7 @@
       /*expected_data_version=*/absl::nullopt,
       /*expected_debug_loss_report_url=*/absl::nullopt,
       /*expected_debug_win_report_url=*/absl::nullopt,
+      /*expected_reject_reason=*/mojom::RejectReason::kNotAvailable,
       /*expected_pa_requests=*/{});
 }
 
diff --git a/docs/ios/testing.md b/docs/ios/testing.md
index d1b2b46..9b019de 100644
--- a/docs/ios/testing.md
+++ b/docs/ios/testing.md
@@ -122,7 +122,7 @@
     "//ios/testing/earl_grey:eg_test_support+eg2",
     "//ios/third_party/earl_grey2:test_lib",
   ]
-  libs = [ "UIKit.framework" ]
+  frameworks = [ "UIKit.framework" ]
 }
 ```
 2. Include your test target in the `deps` array of a suitable suite in
diff --git a/docs/vscode.md b/docs/vscode.md
index 6d52a22..3cb33e3 100644
--- a/docs/vscode.md
+++ b/docs/vscode.md
@@ -322,18 +322,8 @@
 $ cp tools/vscode/tasks.json .vscode
 ```
 
-Before running most of the tasks, you'll need to set `chrome.outputDir`. You can
-do this by typing `Ctrl+Shift+P` &gt; "Preferences: Open Folder Settings (JSON)"
-and adding something like:
-
-```json
-{
-  "chrome.outputDir": "C:\\src\\chrome\\src\\out\\release"
-
-  // more settings here...
-}
-
-```
+Before running most of the tasks, you'll need to set the `chromeOutputDir` value
+in your `.vscode/tasks.json` file.
 
 Now you can run tasks by using `Ctrl+P` and typing "task " and then a number
 of your choice. If you select one of the build tasks, the build output will
diff --git a/extensions/browser/event_router.cc b/extensions/browser/event_router.cc
index 2559767..3a3fa26 100644
--- a/extensions/browser/event_router.cc
+++ b/extensions/browser/event_router.cc
@@ -110,8 +110,14 @@
                                          event_name, args);
 }
 
-LazyContextId LazyContextIdForBrowserContext(BrowserContext* browser_context,
-                                             const EventListener* listener) {
+// Browser context is required for lazy context id. Before adding browser
+// context member to EventListener, callers must pass in the browser context as
+// a parameter.
+// TODO(richardzh): Once browser context is added as a member to EventListener,
+//                  update this method to get browser_context from listener
+//                  instead of parameter.
+LazyContextId LazyContextIdForListener(const EventListener* listener,
+                                       BrowserContext* browser_context) {
   auto* registry = ExtensionRegistry::Get(browser_context);
   DCHECK(registry);
 
@@ -135,11 +141,6 @@
   return LazyContextId(browser_context, listener->extension_id());
 }
 
-LazyContextId LazyContextIdForListener(const EventListener* listener) {
-  return LazyContextIdForBrowserContext(
-      listener->process()->GetBrowserContext(), listener);
-}
-
 // A global identifier used to distinguish extension events.
 base::AtomicSequenceNumber g_extension_event_id;
 
@@ -268,6 +269,28 @@
     process->RemoveObserver(this);
 }
 
+BrowserContext* EventRouter::GetIncognitoContextIfAccessible(
+    const std::string& extension_id) {
+  DCHECK(!extension_id.empty());
+  const Extension* extension = ExtensionRegistry::Get(browser_context_)
+                                   ->enabled_extensions()
+                                   .GetByID(extension_id);
+  if (!extension)
+    return nullptr;
+  if (!IncognitoInfo::IsSplitMode(extension))
+    return nullptr;
+
+  return GetIncognitoContext();
+}
+
+BrowserContext* EventRouter::GetIncognitoContext() {
+  ExtensionsBrowserClient* browser_client = ExtensionsBrowserClient::Get();
+  if (!browser_client->HasOffTheRecordContext(browser_context_))
+    return nullptr;
+
+  return browser_client->GetOffTheRecordContext(browser_context_);
+}
+
 void EventRouter::AddListenerForMainThread(mojom::EventListenerParamPtr param,
                                            const std::string& event_name) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -896,9 +919,27 @@
     if (!listener->IsLazy())
       continue;
 
+    // TODO(richardzh): Move cross browser context check (by calling
+    // EventRouter::CanDispatchEventToBrowserContext) from
+    // LazyEventDispatcher to here. So the check happens before instead of
+    // during the dispatch.
+
+    // Lazy listeners don't have a process, take the stored browser context
+    // for lazy context.
     lazy_event_dispatcher.Dispatch(
-        *event, LazyContextIdForBrowserContext(browser_context_, listener),
+        *event, LazyContextIdForListener(listener, browser_context_),
         listener->filter());
+
+    // Dispatch to lazy listener in the incognito context.
+    // We need to use the incognito context in the case of split-mode
+    // extensions.
+    BrowserContext* incognito_context =
+        GetIncognitoContextIfAccessible(listener->extension_id());
+    if (incognito_context) {
+      lazy_event_dispatcher.Dispatch(
+          *event, LazyContextIdForListener(listener, incognito_context),
+          listener->filter());
+    }
   }
 
   for (const EventListener* listener : listeners) {
@@ -912,8 +953,10 @@
     }
     if (listener->IsLazy())
       continue;
-    if (lazy_event_dispatcher.HasAlreadyDispatched(
-            LazyContextIdForListener(listener))) {
+    // Non-lazy listeners take the process browser context for
+    // lazy context
+    if (lazy_event_dispatcher.HasAlreadyDispatched(LazyContextIdForListener(
+            listener, listener->process()->GetBrowserContext()))) {
       continue;
     }
 
diff --git a/extensions/browser/event_router.h b/extensions/browser/event_router.h
index e054733..8105b59 100644
--- a/extensions/browser/event_router.h
+++ b/extensions/browser/event_router.h
@@ -374,6 +374,17 @@
       UserGestureState user_gesture,
       extensions::mojom::EventFilteringInfoPtr info);
 
+  // Gets off-the-record browser context if
+  //     - The extension has incognito mode set to "split"
+  //     - The on-the-record browser context has an off-the-record context
+  //       attached
+  content::BrowserContext* GetIncognitoContextIfAccessible(
+      const std::string& extension_id);
+
+  // Returns the off-the-record context for the BrowserContext associated
+  // with this EventRouter, if any.
+  content::BrowserContext* GetIncognitoContext();
+
   // Adds an extension as an event listener for |event_name|.
   //
   // Note that multiple extensions can share a process due to process
diff --git a/extensions/browser/events/lazy_event_dispatcher.cc b/extensions/browser/events/lazy_event_dispatcher.cc
index 417eaf0..e71eb50 100644
--- a/extensions/browser/events/lazy_event_dispatcher.cc
+++ b/extensions/browser/events/lazy_event_dispatcher.cc
@@ -11,7 +11,6 @@
 #include "extensions/browser/extensions_browser_client.h"
 #include "extensions/browser/lazy_context_id.h"
 #include "extensions/common/features/feature.h"
-#include "extensions/common/manifest_handlers/incognito_info.h"
 
 using content::BrowserContext;
 
@@ -34,23 +33,11 @@
   if (!extension)
     return;
 
-  // Check both the original and the incognito browser context to see if we
-  // should load a non-peristent context (a lazy background page or an
-  // extension service worker) to handle the event. We need to use the incognito
-  // context in the case of split-mode extensions.
+  // Check both the browser context to see if we should load a
+  // non-peristent context (a lazy background page or an extension
+  // service worker) to handle the event.
   if (QueueEventDispatch(event, dispatch_context, extension, listener_filter))
     RecordAlreadyDispatched(dispatch_context);
-
-  BrowserContext* additional_context = GetIncognitoContext(extension);
-  if (!additional_context)
-    return;
-
-  LazyContextId additional_context_id(dispatch_context);
-  additional_context_id.set_browser_context(additional_context);
-  if (QueueEventDispatch(event, additional_context_id, extension,
-                         listener_filter)) {
-    RecordAlreadyDispatched(additional_context_id);
-  }
 }
 
 bool LazyEventDispatcher::HasAlreadyDispatched(
@@ -119,14 +106,4 @@
   dispatched_ids_.insert(dispatch_context);
 }
 
-BrowserContext* LazyEventDispatcher::GetIncognitoContext(
-    const Extension* extension) {
-  if (!IncognitoInfo::IsSplitMode(extension))
-    return nullptr;
-  ExtensionsBrowserClient* browser_client = ExtensionsBrowserClient::Get();
-  if (!browser_client->HasOffTheRecordContext(browser_context_))
-    return nullptr;
-  return browser_client->GetOffTheRecordContext(browser_context_);
-}
-
 }  // namespace extensions
diff --git a/extensions/browser/events/lazy_event_dispatcher.h b/extensions/browser/events/lazy_event_dispatcher.h
index 07d1503..3a7bece 100644
--- a/extensions/browser/events/lazy_event_dispatcher.h
+++ b/extensions/browser/events/lazy_event_dispatcher.h
@@ -70,8 +70,6 @@
 
   void RecordAlreadyDispatched(const LazyContextId& dispatch_context);
 
-  content::BrowserContext* GetIncognitoContext(const Extension* extension);
-
   const raw_ptr<content::BrowserContext> browser_context_;
   DispatchFunction dispatch_function_;
 
diff --git a/fuchsia_web/webengine/browser/frame_permission_controller.cc b/fuchsia_web/webengine/browser/frame_permission_controller.cc
index fd36044..5d0c4e7f 100644
--- a/fuchsia_web/webengine/browser/frame_permission_controller.cc
+++ b/fuchsia_web/webengine/browser/frame_permission_controller.cc
@@ -101,17 +101,14 @@
 PermissionStatus FramePermissionController::GetPermissionState(
     PermissionType permission,
     const url::Origin& requesting_origin) {
-  auto origin_permissions =
-      GetPermissionSetForOrigin(permission, requesting_origin);
-  // If the per-`origin` state is ASK, or there are no specific permissions set
-  // for `origin`, then the DENIED state takes effect.
-  if (origin_permissions.has_value()) {
-    auto status =
-        origin_permissions->permission_states[GetPermissionIndex(permission)];
-    if (status != kDefaultPerOriginStatus)
-      return status;
-  }
-  return PermissionStatus::DENIED;
+  url::Origin embedding_origin = url::Origin::Create(
+      permissions::PermissionUtil::GetLastCommittedOriginAsURL(
+          web_contents_->GetPrimaryMainFrame()));
+  const url::Origin& canonical_origin =
+      GetCanonicalOrigin(permission, requesting_origin, embedding_origin);
+
+  PermissionSet effective = GetEffectivePermissionsForOrigin(canonical_origin);
+  return effective.permission_states[GetPermissionIndex(permission)];
 }
 
 void FramePermissionController::RequestPermissions(
@@ -119,7 +116,6 @@
     const url::Origin& requesting_origin,
     bool user_gesture,
     base::OnceCallback<void(const std::vector<PermissionStatus>&)> callback) {
-  LogUnsetPermissions(permissions, requesting_origin);
   std::vector<PermissionStatus> result;
   result.reserve(permissions.size());
 
@@ -130,45 +126,18 @@
   std::move(callback).Run(result);
 }
 
-// Returns the unchanged PermissionSet for `origin`.
-absl::optional<FramePermissionController::PermissionSet>
-FramePermissionController::GetPermissionSetForOrigin(
-    const PermissionType requested_permission,
-    const url::Origin& requesting_origin) {
-  absl::optional<FramePermissionController::PermissionSet> permission_set;
-  url::Origin embedding_origin = url::Origin::Create(
-      permissions::PermissionUtil::GetLastCommittedOriginAsURL(
-          web_contents_->GetPrimaryMainFrame()));
-  auto& canonical_origin = GetCanonicalOrigin(
-      requested_permission, requesting_origin, embedding_origin);
-  auto it = per_origin_permissions_.find(canonical_origin);
+FramePermissionController::PermissionSet
+FramePermissionController::GetEffectivePermissionsForOrigin(
+    const url::Origin& origin) {
+  PermissionSet result = default_permissions_;
+  auto it = per_origin_permissions_.find(origin);
   if (it != per_origin_permissions_.end()) {
-    permission_set.emplace(it->second);
-  }
-
-  return permission_set;
-}
-
-// Log requested permissions that were not previously set.
-// TODO(crbug.com/1063094): Clean up this warning once the permission API is
-// implemented.
-void FramePermissionController::LogUnsetPermissions(
-    const std::vector<PermissionType>& requested_permissions,
-    const url::Origin& requesting_origin) {
-  for (auto requested_permission : requested_permissions) {
-    auto permission_index = GetPermissionIndex(requested_permission);
-    auto origin_permissions =
-        GetPermissionSetForOrigin(requested_permission, requesting_origin);
-
-    if (!origin_permissions ||
-        origin_permissions->permission_states[permission_index] ==
-            kDefaultPerOriginStatus) {
-      auto permission_string = permissions::PermissionUtil::GetPermissionString(
-          permissions::PermissionUtil::PermissionTypeToContentSettingType(
-              requested_permission));
-      LOG(WARNING) << "Permission \"" << permission_string
-                   << "\" was not previously set by SetPermissionState in "
-                   << requesting_origin;
+    // Apply per-origin GRANTED and DENIED states. Permissions with the ASK
+    // state defer to the defaults.
+    for (size_t i = 0; i < it->second.permission_states.size(); ++i) {
+      if (it->second.permission_states[i] != kDefaultPerOriginStatus)
+        result.permission_states[i] = it->second.permission_states[i];
     }
   }
+  return result;
 }
diff --git a/fuchsia_web/webengine/browser/frame_permission_controller.h b/fuchsia_web/webengine/browser/frame_permission_controller.h
index 1fb8dd9..87739af 100644
--- a/fuchsia_web/webengine/browser/frame_permission_controller.h
+++ b/fuchsia_web/webengine/browser/frame_permission_controller.h
@@ -78,13 +78,12 @@
         permission_states;
   };
 
-  absl::optional<PermissionSet> GetPermissionSetForOrigin(
-      const blink::PermissionType requested_permission,
-      const url::Origin& origin);
-
-  void LogUnsetPermissions(
-      const std::vector<blink::PermissionType>& permissions,
-      const url::Origin& requesting_origin);
+  // Returns the effective PermissionStatus for |origin|. If the per-|origin|
+  // state is ASK, or there are no specific permissions set for |origin|, then
+  // the default permission status takes effect. This means that it is not
+  // currently possible to set a default of GRANTED/DENIED, and to override that
+  // to ASK for specific origins.
+  PermissionSet GetEffectivePermissionsForOrigin(const url::Origin& origin);
 
   content::WebContents* const web_contents_;
 
diff --git a/fuchsia_web/webengine/browser/web_engine_permission_delegate.cc b/fuchsia_web/webengine/browser/web_engine_permission_delegate.cc
index d8aed4d..d2ee0e5 100644
--- a/fuchsia_web/webengine/browser/web_engine_permission_delegate.cc
+++ b/fuchsia_web/webengine/browser/web_engine_permission_delegate.cc
@@ -65,11 +65,26 @@
     bool user_gesture,
     base::OnceCallback<void(const std::vector<blink::mojom::PermissionStatus>&)>
         callback) {
+  std::vector<std::string> permission_strings;
+  permission_strings.reserve(permissions.size());
+  for (const auto& permission : permissions) {
+    permission_strings.push_back(
+        permissions::PermissionUtil::GetPermissionString(
+            permissions::PermissionUtil::PermissionTypeToContentSettingType(
+                permission)));
+  }
+
+  // TODO(crbug.com/1063094): Clean up this warning once the permission
+  // API is implemented.
+  LOG(WARNING) << "Denied permissions that were not previously granted by "
+               << "SetPermissionState: "
+               << base::JoinString(permission_strings, ", ");
+
   FrameImpl* frame = FrameImpl::FromRenderFrameHost(render_frame_host);
   DCHECK(frame);
-  auto requesting_origin = render_frame_host->GetLastCommittedOrigin();
   frame->permission_controller()->RequestPermissions(
-      permissions, requesting_origin, user_gesture, std::move(callback));
+      permissions, render_frame_host->GetLastCommittedOrigin(), user_gesture,
+      std::move(callback));
 }
 
 blink::mojom::PermissionStatus WebEnginePermissionDelegate::GetPermissionStatus(
diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc
index 89659c0..30b4c398 100644
--- a/gpu/config/gpu_finch_features.cc
+++ b/gpu/config/gpu_finch_features.cc
@@ -56,7 +56,8 @@
 // Used to limit GL version to 2.0 for skia raster and compositing.
 const base::Feature kUseGles2ForOopR {
   "UseGles2ForOopR",
-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \
+    BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
       base::FEATURE_DISABLED_BY_DEFAULT
 #else
       base::FEATURE_ENABLED_BY_DEFAULT
diff --git a/gpu/ipc/service/gpu_channel.cc b/gpu/ipc/service/gpu_channel.cc
index 823af00..252aa1cf 100644
--- a/gpu/ipc/service/gpu_channel.cc
+++ b/gpu/ipc/service/gpu_channel.cc
@@ -50,7 +50,6 @@
 #include "gpu/ipc/service/gles2_command_buffer_stub.h"
 #include "gpu/ipc/service/gpu_channel_manager.h"
 #include "gpu/ipc/service/gpu_channel_manager_delegate.h"
-#include "gpu/ipc/service/gpu_memory_buffer_factory.h"
 #include "gpu/ipc/service/image_decode_accelerator_stub.h"
 #include "gpu/ipc/service/raster_command_buffer_stub.h"
 #include "gpu/ipc/service/webgpu_command_buffer_stub.h"
@@ -1073,37 +1072,4 @@
   return size;
 }
 
-scoped_refptr<gl::GLImage> GpuChannel::CreateImageForGpuMemoryBuffer(
-    gfx::GpuMemoryBufferHandle handle,
-    const gfx::Size& size,
-    gfx::BufferFormat format,
-    gfx::BufferPlane plane,
-    SurfaceHandle surface_handle) {
-  switch (handle.type) {
-    case gfx::SHARED_MEMORY_BUFFER: {
-      if (plane != gfx::BufferPlane::DEFAULT)
-        return nullptr;
-      auto image = base::MakeRefCounted<gl::GLImageSharedMemory>(size);
-      if (!image->Initialize(handle.region, handle.id, format, handle.offset,
-                             handle.stride)) {
-        return nullptr;
-      }
-
-      return image;
-    }
-    default: {
-      GpuChannelManager* manager = gpu_channel_manager();
-      if (!manager->gpu_memory_buffer_factory())
-        return nullptr;
-
-      // TODO(b/220336463): plumb the right color space.
-      return manager->gpu_memory_buffer_factory()
-          ->AsImageFactory()
-          ->CreateImageForGpuMemoryBuffer(std::move(handle), size, format,
-                                          gfx::ColorSpace(), plane, client_id_,
-                                          surface_handle);
-    }
-  }
-}
-
 }  // namespace gpu
diff --git a/gpu/ipc/service/gpu_channel.h b/gpu/ipc/service/gpu_channel.h
index 6807ea0..e47f0d9 100644
--- a/gpu/ipc/service/gpu_channel.h
+++ b/gpu/ipc/service/gpu_channel.h
@@ -149,13 +149,6 @@
 
   uint64_t GetMemoryUsage() const;
 
-  scoped_refptr<gl::GLImage> CreateImageForGpuMemoryBuffer(
-      gfx::GpuMemoryBufferHandle handle,
-      const gfx::Size& size,
-      gfx::BufferFormat format,
-      gfx::BufferPlane plane,
-      SurfaceHandle surface_handle);
-
   // Executes a DeferredRequest that was previously received and has now been
   // scheduled by the scheduler.
   void ExecuteDeferredRequest(mojom::DeferredRequestParamsPtr params);
diff --git a/infra/config/generated/luci/cr-buildbucket.cfg b/infra/config/generated/luci/cr-buildbucket.cfg
index 4d161cf..58a00de 100644
--- a/infra/config/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/generated/luci/cr-buildbucket.cfg
@@ -53151,6 +53151,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -54839,6 +54843,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -55135,7 +55143,7 @@
       }
       experiments {
         key: "weetbix.enable_weetbix_exonerations"
-        value: 50
+        value: 100
       }
       experiments {
         key: "weetbix.retry_weak_exonerations"
@@ -55429,6 +55437,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -56475,6 +56487,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -58925,6 +58941,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -59531,6 +59551,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -63615,6 +63639,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 50
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -68957,6 +68985,10 @@
         value: 100
       }
       experiments {
+        key: "weetbix.enable_weetbix_exonerations"
+        value: 100
+      }
+      experiments {
         key: "weetbix.retry_weak_exonerations"
         value: 100
       }
@@ -79530,7 +79562,7 @@
       }
       experiments {
         key: "weetbix.enable_weetbix_exonerations"
-        value: 50
+        value: 100
       }
       experiments {
         key: "weetbix.retry_weak_exonerations"
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.android.star b/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
index 37f9cab3..91d29b8 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.android.star
@@ -126,6 +126,7 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
     tryjob = try_.job(),
     ssd = True,
@@ -267,6 +268,7 @@
         "remove_src_checkout_experiment": 100,
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
@@ -299,7 +301,7 @@
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
         "remove_src_checkout_experiment": 100,
-        "weetbix.enable_weetbix_exonerations": 50,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
@@ -334,6 +336,7 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
@@ -443,6 +446,7 @@
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
         "remove_src_checkout_experiment": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
@@ -693,6 +697,7 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
@@ -724,6 +729,7 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star b/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
index dd40f03f..9008593 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.fuchsia.star
@@ -231,5 +231,6 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 50,
     },
 )
diff --git a/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star b/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
index ae5ab43..7a5f9cf 100644
--- a/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
+++ b/infra/config/subprojects/chromium/try/tryserver.chromium.mac.star
@@ -112,7 +112,7 @@
         "remove_src_checkout_experiment": 100,
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
-        "weetbix.enable_weetbix_exonerations": 50,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
     use_orchestrator_pool = True,
 )
@@ -331,6 +331,7 @@
     experiments = {
         "enable_weetbix_queries": 100,
         "weetbix.retry_weak_exonerations": 100,
+        "weetbix.enable_weetbix_exonerations": 100,
     },
 )
 
diff --git a/ios/chrome/app/app_startup_parameters.h b/ios/chrome/app/app_startup_parameters.h
index 99146bc..e1489e8d 100644
--- a/ios/chrome/app/app_startup_parameters.h
+++ b/ios/chrome/app/app_startup_parameters.h
@@ -55,10 +55,6 @@
 @property(nonatomic, assign) std::map<std::string, std::string>
     externalURLParams;
 
-// Boolean to track if the app should launch in incognito mode.
-// Explicitly setting this to YES or NO will either set `applicationMode`
-// to INCOGNITO in the first case, or to NORMAL in the second case.
-@property(nonatomic, assign) BOOL launchInIncognito;
 // The mode in which the tab must be opened. Defaults to NORMAL, unless the flag
 // `kIOS3PIntentsInIncognito` is enabled, in which case it is UNDETERMINED.
 // TODO(crbug.com/1318750): Change this comment when flag is enabled by default.
@@ -86,9 +82,11 @@
 
 - (instancetype)initWithExternalURL:(const GURL&)externalURL
                         completeURL:(const GURL&)completeURL
+                    applicationMode:(ApplicationModeForTabOpening)mode
     NS_DESIGNATED_INITIALIZER;
 
-- (instancetype)initWithURLs:(const std::vector<GURL>&)URLs;
+- (instancetype)initWithURLs:(const std::vector<GURL>&)URLs
+             applicationMode:(ApplicationModeForTabOpening)mode;
 
 @end
 
diff --git a/ios/chrome/app/app_startup_parameters.mm b/ios/chrome/app/app_startup_parameters.mm
index b84e182..52c5dea 100644
--- a/ios/chrome/app/app_startup_parameters.mm
+++ b/ios/chrome/app/app_startup_parameters.mm
@@ -37,24 +37,27 @@
 }
 
 - (instancetype)initWithExternalURL:(const GURL&)externalURL
-                        completeURL:(const GURL&)completeURL {
+                        completeURL:(const GURL&)completeURL
+                    applicationMode:(ApplicationModeForTabOpening)mode {
   self = [super init];
   if (self) {
     _externalURL = externalURL;
     _completeURL = completeURL;
-    if (base::FeatureList::IsEnabled(kIOS3PIntentsInIncognito)) {
-      _applicationMode = ApplicationModeForTabOpening::UNDETERMINED;
-    }
+    _applicationMode = mode;
   }
   return self;
 }
 
-- (instancetype)initWithURLs:(const std::vector<GURL>&)URLs {
+- (instancetype)initWithURLs:(const std::vector<GURL>&)URLs
+             applicationMode:(ApplicationModeForTabOpening)mode {
   if (URLs.empty()) {
     self = [self initWithExternalURL:GURL(kChromeUINewTabURL)
-                         completeURL:GURL(kChromeUINewTabURL)];
+                         completeURL:GURL(kChromeUINewTabURL)
+                     applicationMode:mode];
   } else {
-    self = [self initWithExternalURL:URLs.front() completeURL:URLs.front()];
+    self = [self initWithExternalURL:URLs.front()
+                         completeURL:URLs.front()
+                     applicationMode:mode];
   }
 
   if (self) {
@@ -67,7 +70,7 @@
   NSMutableString* description =
       [NSMutableString stringWithFormat:@"AppStartupParameters: %s",
                                         _externalURL.spec().c_str()];
-  if (self.launchInIncognito) {
+  if (self.applicationMode == ApplicationModeForTabOpening::INCOGNITO) {
     [description appendString:@", should launch in incognito"];
   }
 
@@ -92,18 +95,6 @@
   return description;
 }
 
-- (BOOL)launchInIncognito {
-  return _applicationMode == ApplicationModeForTabOpening::INCOGNITO;
-}
-
-- (void)setLaunchInIncognito:(BOOL)launchInIncognito {
-  if (launchInIncognito) {
-    _applicationMode = ApplicationModeForTabOpening::INCOGNITO;
-  } else {
-    _applicationMode = ApplicationModeForTabOpening::NORMAL;
-  }
-}
-
 - (void)setPostOpeningAction:(TabOpeningPostOpeningAction)action {
   // Only NO_ACTION or SHOW_DEFAULT_BROWSER_SETTINGS are allowed on non NTP.
   DCHECK(action == NO_ACTION || action == SHOW_DEFAULT_BROWSER_SETTINGS ||
diff --git a/ios/chrome/app/application_delegate/url_opener.mm b/ios/chrome/app/application_delegate/url_opener.mm
index a97c9a90..d4ecbc35 100644
--- a/ios/chrome/app/application_delegate/url_opener.mm
+++ b/ios/chrome/app/application_delegate/url_opener.mm
@@ -51,9 +51,9 @@
                      fromSourceApplication:sourceApplication];
 
   if (IsIncognitoModeDisabled(prefService)) {
-    params.launchInIncognito = NO;
+    params.applicationMode = ApplicationModeForTabOpening::NORMAL;
   } else if (IsIncognitoModeForced(prefService)) {
-    params.launchInIncognito = YES;
+    params.applicationMode = ApplicationModeForTabOpening::INCOGNITO;
   }
 
   MobileSessionCallerApp callerApp = [params callerApp];
@@ -106,7 +106,7 @@
       if (callerApp == CALLER_APP_GOOGLE_CHROME)
         targetMode = ApplicationModeForTabOpening::CURRENT;
 
-      if (![params launchInIncognito] &&
+      if (params.applicationMode != ApplicationModeForTabOpening::INCOGNITO &&
           [tabOpener URLIsOpenedInRegularMode:urlLoadParams.web_params.url]) {
         // Record metric.
       }
diff --git a/ios/chrome/app/application_delegate/user_activity_handler.mm b/ios/chrome/app/application_delegate/user_activity_handler.mm
index 5daf3b9..6fa3550 100644
--- a/ios/chrome/app/application_delegate/user_activity_handler.mm
+++ b/ios/chrome/app/application_delegate/user_activity_handler.mm
@@ -142,7 +142,8 @@
           [NSURL URLWithString:base::SysUTF8ToNSString(kChromeUINewTabURL)];
       AppStartupParameters* startupParams = [[AppStartupParameters alloc]
           initWithExternalURL:GURL(kChromeUINewTabURL)
-                  completeURL:GURL(kChromeUINewTabURL)];
+                  completeURL:GURL(kChromeUINewTabURL)
+              applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
       BOOL startupParamsSet = spotlight::SetStartupParametersForSpotlightAction(
           itemID, startupParams);
       if (!startupParamsSet) {
@@ -176,11 +177,12 @@
 
     AppStartupParameters* startupParams = [[AppStartupParameters alloc]
         initWithExternalURL:GURL(kChromeUINewTabURL)
-                completeURL:GURL(kChromeUINewTabURL)];
+                completeURL:GURL(kChromeUINewTabURL)
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
 
     if (IsIncognitoModeForced(browserState->GetPrefs())) {
       // Set incognito mode to yes if only incognito mode is available.
-      startupParams.launchInIncognito = YES;
+      startupParams.applicationMode = ApplicationModeForTabOpening::INCOGNITO;
     }
 
     SearchInChromeIntent* intent =
@@ -234,8 +236,9 @@
       return NO;
     }
 
-    AppStartupParameters* startupParams =
-        [[AppStartupParameters alloc] initWithURLs:URLs];
+    AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+           initWithURLs:URLs
+        applicationMode:ApplicationModeForTabOpening::NORMAL];
 
     [connectionInformation setStartupParameters:startupParams];
     return [self continueUserActivityURLs:URLs
@@ -259,10 +262,10 @@
 
     std::vector<GURL> URLs = createGURLVectorFromIntentURLs(intent.url);
 
-    AppStartupParameters* startupParams =
-        [[AppStartupParameters alloc] initWithURLs:URLs];
+    AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+           initWithURLs:URLs
+        applicationMode:ApplicationModeForTabOpening::INCOGNITO];
 
-    startupParams.launchInIncognito = YES;
     [connectionInformation setStartupParameters:startupParams];
     return [self continueUserActivityURLs:URLs
                       applicationIsActive:applicationIsActive
@@ -315,7 +318,8 @@
       params.web_params.url = result;
     }
 
-    if (![[connectionInformation startupParameters] launchInIncognito] &&
+    if ([[connectionInformation startupParameters] applicationMode] !=
+            ApplicationModeForTabOpening::INCOGNITO &&
         [tabOpener URLIsOpenedInRegularMode:webpageGURL]) {
       // Record metric.
     }
@@ -334,9 +338,10 @@
   [startupInformation resetFirstUserActionRecorder];
 
   if (![connectionInformation startupParameters]) {
-    AppStartupParameters* startupParams =
-        [[AppStartupParameters alloc] initWithExternalURL:webpageGURL
-                                              completeURL:webpageGURL];
+    AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+        initWithExternalURL:webpageGURL
+                completeURL:webpageGURL
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
     [connectionInformation setStartupParameters:startupParams];
   }
   return YES;
@@ -346,7 +351,8 @@
             (id<ConnectionInformation>)connectionInformation
                                         tabOpener:(id<TabOpening>)tabOpener {
   BOOL incognitoMode =
-      connectionInformation.startupParameters.launchInIncognito;
+      connectionInformation.startupParameters.applicationMode ==
+      ApplicationModeForTabOpening::INCOGNITO;
   BOOL dismissOmnibox = [[connectionInformation startupParameters]
                             postOpeningAction] != FOCUS_OMNIBOX;
 
@@ -393,10 +399,12 @@
   [startupInformation resetFirstUserActionRecorder];
 
   if (![connectionInformation startupParameters]) {
-    AppStartupParameters* startupParams =
-        [[AppStartupParameters alloc] initWithURLs:webpageURLs];
-
-    startupParams.launchInIncognito = Incognito;
+    AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+           initWithURLs:webpageURLs
+        applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
+    if (Incognito) {
+      startupParams.applicationMode = ApplicationModeForTabOpening::INCOGNITO;
+    }
     [connectionInformation setStartupParameters:startupParams];
   }
   return YES;
@@ -537,7 +545,8 @@
     params.web_params.url = result;
   }
 
-  if (![[connectionInformation startupParameters] launchInIncognito] &&
+  if ([[connectionInformation startupParameters] applicationMode] !=
+          ApplicationModeForTabOpening::INCOGNITO &&
       [tabOpener URLIsOpenedInRegularMode:params.web_params.url]) {
     // Record metric.
   }
@@ -579,7 +588,8 @@
 
   AppStartupParameters* startupParams = [[AppStartupParameters alloc]
       initWithExternalURL:GURL(kChromeUINewTabURL)
-              completeURL:GURL(kChromeUINewTabURL)];
+              completeURL:GURL(kChromeUINewTabURL)
+          applicationMode:ApplicationModeForTabOpening::NORMAL];
 
   if ([shortcutItem.type isEqualToString:kShortcutNewSearch]) {
     base::RecordAction(
@@ -591,7 +601,7 @@
   } else if ([shortcutItem.type isEqualToString:kShortcutNewIncognitoSearch]) {
     base::RecordAction(
         UserMetricsAction("ApplicationShortcut.NewIncognitoSearchPressed"));
-    startupParams.launchInIncognito = YES;
+    startupParams.applicationMode = ApplicationModeForTabOpening::INCOGNITO;
     startupParams.postOpeningAction = FOCUS_OMNIBOX;
     connectionInformation.startupParameters = startupParams;
     return YES;
diff --git a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
index e830b84..fa2f8858 100644
--- a/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
+++ b/ios/chrome/app/application_delegate/user_activity_handler_unittest.mm
@@ -328,8 +328,10 @@
 
   id connectionInformationMock =
       [OCMockObject mockForProtocol:@protocol(ConnectionInformation)];
-  AppStartupParameters* startupParams =
-      [[AppStartupParameters alloc] initWithExternalURL:gurl completeURL:gurl];
+  AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+      initWithExternalURL:gurl
+              completeURL:gurl
+          applicationMode:ApplicationModeForTabOpening::NORMAL];
   [[[connectionInformationMock stub] andReturn:startupParams]
       startupParameters];
 
@@ -613,8 +615,9 @@
     URLs.push_back(net::GURLWithNSURL(URL));
   }
 
-  AppStartupParameters* startupParams =
-      [[AppStartupParameters alloc] initWithURLs:URLs];
+  AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+         initWithURLs:URLs
+      applicationMode:ApplicationModeForTabOpening::NORMAL];
   [[[connectionInformationMock stub] andReturn:startupParams]
       startupParameters];
 
@@ -680,8 +683,9 @@
     URLs.push_back(net::GURLWithNSURL(URL));
   }
 
-  AppStartupParameters* startupParams =
-      [[AppStartupParameters alloc] initWithURLs:URLs];
+  AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+         initWithURLs:URLs
+      applicationMode:ApplicationModeForTabOpening::NORMAL];
   [[[connectionInformationMock stub] andReturn:startupParams]
       startupParameters];
 
@@ -708,10 +712,10 @@
   GURL externalURL("chrome://test.pdf");
   GURL completeURL("file://test.pdf");
 
-  AppStartupParameters* startupParams =
-      [[AppStartupParameters alloc] initWithExternalURL:externalURL
-                                            completeURL:completeURL];
-  [startupParams setLaunchInIncognito:YES];
+  AppStartupParameters* startupParams = [[AppStartupParameters alloc]
+      initWithExternalURL:externalURL
+              completeURL:completeURL
+          applicationMode:ApplicationModeForTabOpening::INCOGNITO];
 
   id startupInformationMock =
       [OCMockObject mockForProtocol:@protocol(StartupInformation)];
@@ -804,8 +808,10 @@
     // Tests.
     EXPECT_EQ(gurlNewTab,
               [fakeConnectionInformation startupParameters].externalURL);
-    EXPECT_EQ([[parameters objectAtIndex:1] boolValue],
-              [fakeConnectionInformation startupParameters].launchInIncognito);
+    EXPECT_EQ([[parameters objectAtIndex:1] boolValue]
+                  ? ApplicationModeForTabOpening::INCOGNITO
+                  : ApplicationModeForTabOpening::NORMAL,
+              [fakeConnectionInformation startupParameters].applicationMode);
     EXPECT_EQ([[parameters objectAtIndex:2] intValue],
               [fakeConnectionInformation startupParameters].postOpeningAction);
     EXPECT_TRUE(completionHandlerExecuted());
diff --git a/ios/chrome/app/spotlight/actions_spotlight_manager.mm b/ios/chrome/app/spotlight/actions_spotlight_manager.mm
index 6ac64e83..e2ec3e5 100644
--- a/ios/chrome/app/spotlight/actions_spotlight_manager.mm
+++ b/ios/chrome/app/spotlight/actions_spotlight_manager.mm
@@ -71,24 +71,27 @@
     UMA_HISTOGRAM_ENUMERATION(kSpotlightActionsHistogram,
                               SPOTLIGHT_ACTION_NEW_INCOGNITO_TAB_PRESSED,
                               SPOTLIGHT_ACTION_COUNT);
-    [startupParams setLaunchInIncognito:YES];
+    [startupParams setApplicationMode:ApplicationModeForTabOpening::INCOGNITO];
   } else if ([action isEqualToString:base::SysUTF8ToNSString(
                                          kSpotlightActionVoiceSearch)]) {
     UMA_HISTOGRAM_ENUMERATION(kSpotlightActionsHistogram,
                               SPOTLIGHT_ACTION_VOICE_SEARCH_PRESSED,
                               SPOTLIGHT_ACTION_COUNT);
+    [startupParams setApplicationMode:ApplicationModeForTabOpening::NORMAL];
     [startupParams setPostOpeningAction:START_VOICE_SEARCH];
   } else if ([action isEqualToString:base::SysUTF8ToNSString(
                                          kSpotlightActionQRScanner)]) {
     UMA_HISTOGRAM_ENUMERATION(kSpotlightActionsHistogram,
                               SPOTLIGHT_ACTION_QR_CODE_SCANNER_PRESSED,
                               SPOTLIGHT_ACTION_COUNT);
+    [startupParams setApplicationMode:ApplicationModeForTabOpening::NORMAL];
     [startupParams setPostOpeningAction:START_QR_CODE_SCANNER];
   } else if ([action isEqualToString:base::SysUTF8ToNSString(
                                          kSpotlightActionNewTab)]) {
     UMA_HISTOGRAM_ENUMERATION(kSpotlightActionsHistogram,
                               SPOTLIGHT_ACTION_NEW_TAB_PRESSED,
                               SPOTLIGHT_ACTION_COUNT);
+    [startupParams setApplicationMode:ApplicationModeForTabOpening::NORMAL];
   } else {
     return NO;
   }
diff --git a/ios/chrome/app/startup/chrome_app_startup_parameters.h b/ios/chrome/app/startup/chrome_app_startup_parameters.h
index ab32cda..ef30f42 100644
--- a/ios/chrome/app/startup/chrome_app_startup_parameters.h
+++ b/ios/chrome/app/startup/chrome_app_startup_parameters.h
@@ -41,12 +41,15 @@
 @interface ChromeAppStartupParameters : AppStartupParameters
 
 - (instancetype)initWithExternalURL:(const GURL&)externalURL
-                        completeURL:(const GURL&)completeURL NS_UNAVAILABLE;
+                        completeURL:(const GURL&)completeURL
+                    applicationMode:(ApplicationModeForTabOpening)mode
+    NS_UNAVAILABLE;
 
 - (instancetype)initWithExternalURL:(const GURL&)externalURL
                   declaredSourceApp:(NSString*)declaredSourceApp
                     secureSourceApp:(NSString*)secureSourceApp
                         completeURL:(NSURL*)completeURL
+                    applicationMode:(ApplicationModeForTabOpening)mode
     NS_DESIGNATED_INITIALIZER;
 
 // Returns a ChromeAppStartupParameters instance containing the URL to
diff --git a/ios/chrome/app/startup/chrome_app_startup_parameters.mm b/ios/chrome/app/startup/chrome_app_startup_parameters.mm
index 1cb2556..fd8e015 100644
--- a/ios/chrome/app/startup/chrome_app_startup_parameters.mm
+++ b/ios/chrome/app/startup/chrome_app_startup_parameters.mm
@@ -177,9 +177,11 @@
 - (instancetype)initWithExternalURL:(const GURL&)externalURL
                   declaredSourceApp:(NSString*)declaredSourceApp
                     secureSourceApp:(NSString*)secureSourceApp
-                        completeURL:(NSURL*)completeURL {
+                        completeURL:(NSURL*)completeURL
+                    applicationMode:(ApplicationModeForTabOpening)mode {
   self = [super initWithExternalURL:externalURL
-                        completeURL:net::GURLWithNSURL(completeURL)];
+                        completeURL:net::GURLWithNSURL(completeURL)
+                    applicationMode:mode];
   if (self) {
     _declaredSourceApp = [declaredSourceApp copy];
     _secureSourceApp = [secureSourceApp copy];
@@ -223,11 +225,14 @@
 
       GURL URL(
           base::StringPrintf("%s://%s", kChromeUIScheme, kChromeUIDinoHost));
-      return
-          [[ChromeAppStartupParameters alloc] initWithExternalURL:URL
-                                                declaredSourceApp:appId
-                                                  secureSourceApp:sourceWidget
-                                                      completeURL:completeURL];
+      ChromeAppStartupParameters* appStartupParameters =
+          [[ChromeAppStartupParameters alloc]
+              initWithExternalURL:URL
+                declaredSourceApp:appId
+                  secureSourceApp:sourceWidget
+                      completeURL:completeURL
+                  applicationMode:ApplicationModeForTabOpening::NORMAL];
+      return appStartupParameters;
     }
 
     NSString* commandString = base::SysUTF8ToNSString(command);
@@ -279,10 +284,12 @@
         XCallbackPoaToPostOpeningAction(parameters["poa"]);
 
     ChromeAppStartupParameters* startupParameters =
-        [[ChromeAppStartupParameters alloc] initWithExternalURL:url
-                                              declaredSourceApp:appId
-                                                secureSourceApp:nil
-                                                    completeURL:completeURL];
+        [[ChromeAppStartupParameters alloc]
+            initWithExternalURL:url
+              declaredSourceApp:appId
+                secureSourceApp:nil
+                    completeURL:completeURL
+                applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
     // postOpeningAction can only be NO_ACTION or SHOW_DEFAULT_BROWSER_SETTINGS
     // (these are the only values returned by `XCallbackPoaToPostOpeningAction`)
     // so this assignment should not DCHECK, no matter what the URL is.
@@ -302,10 +309,12 @@
     GURL externalURL = gurl.ReplaceComponents(replacements);
     if (!externalURL.is_valid())
       return nil;
-    return [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL
-                                                 declaredSourceApp:appId
-                                                   secureSourceApp:nil
-                                                       completeURL:completeURL];
+    return [[ChromeAppStartupParameters alloc]
+        initWithExternalURL:externalURL
+          declaredSourceApp:appId
+            secureSourceApp:nil
+                completeURL:completeURL
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
   } else {
     GURL externalURL = gurl;
     BOOL openedViaSpecificScheme = NO;
@@ -349,11 +358,12 @@
 
     if (!externalURL.is_valid())
       return nil;
-    ChromeAppStartupParameters* params =
-        [[ChromeAppStartupParameters alloc] initWithExternalURL:externalURL
-                                              declaredSourceApp:appId
-                                                secureSourceApp:nil
-                                                    completeURL:completeURL];
+    ChromeAppStartupParameters* params = [[ChromeAppStartupParameters alloc]
+        initWithExternalURL:externalURL
+          declaredSourceApp:appId
+            secureSourceApp:nil
+                completeURL:completeURL
+            applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
     params.openedViaFirstPartyScheme =
         openedViaSpecificScheme && CallerAppIsFirstParty(params.callerApp);
     return params;
@@ -447,7 +457,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
     [params setPostOpeningAction:START_VOICE_SEARCH];
     action = ACTION_NEW_VOICE_SEARCH;
   }
@@ -458,7 +469,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
     action = ACTION_NO_ACTION;
   }
 
@@ -469,7 +481,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
     [params setPostOpeningAction:FOCUS_OMNIBOX];
     action = ACTION_NEW_SEARCH;
   }
@@ -481,11 +494,12 @@
     GURL externalGURL(base::SysNSStringToUTF8(externalText));
     if (!externalGURL.is_valid() || !externalGURL.SchemeIsHTTPOrHTTPS())
       return nil;
-    params =
-        [[ChromeAppStartupParameters alloc] initWithExternalURL:externalGURL
-                                              declaredSourceApp:appId
-                                                secureSourceApp:secureSourceApp
-                                                    completeURL:url];
+    params = [[ChromeAppStartupParameters alloc]
+        initWithExternalURL:externalGURL
+          declaredSourceApp:appId
+            secureSourceApp:secureSourceApp
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
     action = ACTION_OPEN_URL;
   }
 
@@ -500,7 +514,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
 
     params.textQuery = externalText;
 
@@ -518,7 +533,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::UNDETERMINED];
 
     params.imageSearchData = externalData;
 
@@ -532,8 +548,10 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::NORMAL];
     [params setPostOpeningAction:START_QR_CODE_SCANNER];
+
     action = ACTION_NEW_QR_CODE_SEARCH;
   }
 
@@ -544,8 +562,8 @@
         initWithExternalURL:GURL(kChromeUINewTabURL)
           declaredSourceApp:appId
             secureSourceApp:secureSourceApp
-                completeURL:url];
-    [params setLaunchInIncognito:YES];
+                completeURL:url
+            applicationMode:ApplicationModeForTabOpening::INCOGNITO];
     [params setPostOpeningAction:FOCUS_OMNIBOX];
     action = ACTION_NEW_INCOGNITO_SEARCH;
   }
diff --git a/ios/chrome/app/startup/chrome_app_startup_parameters_unittest.mm b/ios/chrome/app/startup/chrome_app_startup_parameters_unittest.mm
index b0394a97..f2f64db 100644
--- a/ios/chrome/app/startup/chrome_app_startup_parameters_unittest.mm
+++ b/ios/chrome/app/startup/chrome_app_startup_parameters_unittest.mm
@@ -316,7 +316,7 @@
 
   EXPECT_EQ(params.externalURL.spec(), expected_url_string);
   EXPECT_EQ(params.postOpeningAction, FOCUS_OMNIBOX);
-  EXPECT_FALSE(params.launchInIncognito);
+  EXPECT_NE(params.applicationMode, ApplicationModeForTabOpening::INCOGNITO);
   histogram_tester.ExpectUniqueSample("IOS.WidgetKit.Action", 1, 1);
 }
 
@@ -335,7 +335,7 @@
 
   EXPECT_EQ(params.externalURL.spec(), expected_url_string);
   EXPECT_EQ(params.postOpeningAction, FOCUS_OMNIBOX);
-  EXPECT_FALSE(params.launchInIncognito);
+  EXPECT_NE(params.applicationMode, ApplicationModeForTabOpening::INCOGNITO);
   histogram_tester.ExpectUniqueSample("IOS.WidgetKit.Action", 2, 1);
 }
 
@@ -354,7 +354,7 @@
 
   EXPECT_EQ(params.externalURL.spec(), expected_url_string);
   EXPECT_EQ(params.postOpeningAction, FOCUS_OMNIBOX);
-  EXPECT_TRUE(params.launchInIncognito);
+  EXPECT_EQ(params.applicationMode, ApplicationModeForTabOpening::INCOGNITO);
   histogram_tester.ExpectUniqueSample("IOS.WidgetKit.Action", 3, 1);
 }
 
@@ -424,7 +424,7 @@
 
   EXPECT_EQ(params.externalURL.spec(), expected_url_string);
   EXPECT_EQ(params.postOpeningAction, FOCUS_OMNIBOX);
-  EXPECT_FALSE(params.launchInIncognito);
+  EXPECT_NE(params.applicationMode, ApplicationModeForTabOpening::INCOGNITO);
   histogram_tester.ExpectUniqueSample("IOS.WidgetKit.Action", 6, 1);
 }
 
@@ -442,7 +442,7 @@
 
   EXPECT_EQ(params.externalURL.spec(), expected_url_string);
   EXPECT_EQ(params.postOpeningAction, FOCUS_OMNIBOX);
-  EXPECT_TRUE(params.launchInIncognito);
+  EXPECT_EQ(params.applicationMode, ApplicationModeForTabOpening::INCOGNITO);
   histogram_tester.ExpectUniqueSample("IOS.WidgetKit.Action", 7, 1);
 }
 
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 7dee1bb..2996b1d 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -441,9 +441,6 @@
       <message name="IDS_IOS_BOOKMARK_GROUP_DELETE" desc="Button to delete a folder. [Length: 30em.] [iOS only]">
         Delete Folder
       </message>
-      <message name="IDS_IOS_BOOKMARK_ITEM_COUNT" desc="Displayed when there are more than one item in a bookmark folder [Length: 30em.]">
-        <ph name="COUNT">$1<ex>42</ex></ph> items
-      </message>
       <message name="IDS_IOS_BOOKMARK_NAME_FIELD_HEADER" desc="Title shown above bookmark name field on Edit Bookmark screen. [Length: 20em]" meaning="Name of an inanimate object">
         Name
       </message>
@@ -510,12 +507,6 @@
       <message name="IDS_IOS_BOOKMARK_NEW_ZERO_ITEM_LABEL" desc="Text that indicates that a user has selected zero bookmarks for editing. [Length: 30em.]">
         0 selected
       </message>
-      <message name="IDS_IOS_BOOKMARK_NO_ITEM_COUNT" desc="Displayed when there are no items in a bookmark folder [Length: 30em.]">
-        No items
-      </message>
-      <message name="IDS_IOS_BOOKMARK_ONE_ITEM_COUNT" desc="Displayed when there is only one item in a bookmark folder [Length: 30em.]">
-        1 item
-      </message>
       <message name="IDS_IOS_BOOKMARK_PAGE_SAVED" desc="Presented in an infobar when a bookmark is created. [Length: 30em.]">
         Bookmarked
       </message>
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_az.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_az.xtb
index df35b928..25bfca02 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_az.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome məhsulunun foto və videolarınıza girişi yoxdur. iOS Ayarları &gt; Məxfilik &gt; Fotolar bölməsindən girişi aktiv edin.</translation>
 <translation id="4099578267706723511">İstifadə statistikası və qəza raportlarını Google'a göndərməklə Chrome'un gəlişməsini sağlayın.</translation>
 <translation id="417201473131094001">Chrome Canary'də dəstəklənmir</translation>
+<translation id="4192781968753717021">Bu parol data pozuntusunda aşkarlanıb. Google Parol Meneceri parolunuzu indi dəyişdirmənizi tövsiyə edir.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> bu cihazda Chrome istifadə edirdi və əlfəcinlər, parollar və digər ayarlar qalıb.</translation>
 <translation id="424864128008805179">Chrome'dan çıxılsın?</translation>
 <translation id="4249068189593983585">Chrome məsləhəti. Daha çox tab seçimləri üçün ekranın aşağı və yuxarı hissəsində alətlər panelində yerləşən "Tabları Göstərin" düyməsinə basıb saxlayın.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Chrome'un Anonim tabları kilidləməsinə icazə verin.</translation>
 <translation id="6412673304250309937">URL'ləri Chrome'da saxlanılan təhlükəli saytların siyahısı ilə yoxlayır. Sayt parolunuzu oğurlamağa çalışdıqda və ya zərərli fayl endirdiyinizdə Chrome səhifə məzmunundan kiçik nümunələr də daxil olmaqla, URL'ləri Təhlükəsiz Baxışa göndərə bilər.</translation>
 <translation id="6427126399757991875">Təşkilatınız Chrome'u ayarlayır...</translation>
+<translation id="651403856614361404">Bu parol data pozuntusunda aşkarlanıb. Chrome parolunuzu indi dəyişməyi məsləhət görür.</translation>
 <translation id="6600954340915313787">Chrome'a kopYanlışır</translation>
 <translation id="6634107063912726160">Hesabdan çıxdığınız zaman Chrome heç bir yeni datanı Google Hesabınızla sinxronizasiya edilməyəcək. Daha əvvəl sinxronizasiya edilmiş data hesabda qalır.</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" /> tərəfindən idarə olunan hesab ilə daxil olursunuz və onun administratoruna Chrome datanız üzərində nəzarəti verirsiniz. Datanız həmişəlik bu hesab ilə əlaqələndiriləcək. Chrome'dan çıxmaq datanızı bu cihazdan siləcək, lakin data Google Hesabında qalacaq.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome ilə Təhlükəsiz Qalın</translation>
 <translation id="8772179140489533211">Chrome'a giriş tələblərini göstərir.</translation>
 <translation id="8788269841521769222">Bu parolu yadda saxlamağa ehtiyac yoxdur. O, <ph name="EMAIL" /> üçün Google Parol Menecerində saxlanacaq</translation>
+<translation id="8897749957032330183">Parollar bu cihazda Google Parol Menecerində saxlanılır.</translation>
 <translation id="8969290730818637510">Aktiv olduqda:
 <ph name="BEGIN_INDENT" />  • Chrome'u sizin kimi istifadə edən insanlar üçün yaxşılaşdırmağa kömək edin.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
index 68ec751..02dc4ae7 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ca.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome no té accés als vostres vídeos o fotos. Permeteu-li l'accés a iOS, a Configuració &gt; Privadesa &gt; Fotos.</translation>
 <translation id="4099578267706723511">Ajuda a millorar Chrome enviant estadístiques d'ús i informes d'error a Google.</translation>
 <translation id="417201473131094001">No s'admeten a Chrome Canary</translation>
+<translation id="4192781968753717021">Aquesta contrasenya s'ha trobat en una violació de les dades. El gestor de contrasenyes de Google et recomana que la canviïs ara.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> ha utilitzat Chrome en aquest dispositiu i hi ha deixat adreces d'interès, contrasenyes i altres opcions de configuració.</translation>
 <translation id="424864128008805179">Vols tancar la sessió de Chrome?</translation>
 <translation id="4249068189593983585">Consell de Chrome. Per accedir a més opcions de pestanyes, mantén premut el botó Mostra pestanyes a la barra d'eines, que és a la part inferior o superior de la pantalla.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Deixa que Chrome bloquegi les teves pestanyes d'incògnit.</translation>
 <translation id="6412673304250309937">Compara els URL amb una llista de llocs web no segurs emmagatzemada a Chrome. Si un lloc web prova de robar-te la contrasenya o si baixes un fitxer maliciós, és possible que Chrome també n'enviï els URL, inclosos fragments de contingut de les pàgines, a Navegació segura.</translation>
 <translation id="6427126399757991875">La teva organització està configurant Chrome...</translation>
+<translation id="651403856614361404">Aquesta contrasenya s'ha trobat en una violació de les dades. Chrome et recomana que canviïs la contrasenya ara.</translation>
 <translation id="6600954340915313787">Copiada de Chrome</translation>
 <translation id="6634107063912726160">Quan tanquis la sessió, Chrome no sincronitzarà cap dada nova amb el teu Compte de Google. Les dades sincronitzades prèviament romandran al compte.</translation>
 <translation id="6648150602980899529">Esteu iniciant la sessió amb un compte gestionat per <ph name="DOMAIN" /> i esteu proporcionant a l'administrador el control de les vostres dades de Chrome. Les dades estaran permanentment lligades a aquest compte. Si tanqueu la sessió de Chrome, se suprimiran les vostres dades d'aquest dispositiu, però continuaran emmagatzemades al compte de Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Protegeix-te amb Google Chrome</translation>
 <translation id="8772179140489533211">Mostra sol·licituds per iniciar la sessió a Chrome.</translation>
 <translation id="8788269841521769222">No caldrà que recordis aquesta contrasenya. Es desarà al gestor de contrasenyes de Google per a <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Les contrasenyes es desen al gestor de contrasenyes de Google en aquest dispositiu.</translation>
 <translation id="8969290730818637510">Quan aquesta opció està activada:
 <ph name="BEGIN_INDENT" />  • Ajuda a millorar Chrome per a les persones que el fan servir igual que tu.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_de.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_de.xtb
index 55d5471..d9ebe12 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_de.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Chrome hat keinen Zugriff auf deine Fotos und Videos. Aktiviere den Zugriff unter "iOS-Einstellungen &gt; Datenschutz &gt; Fotos".</translation>
 <translation id="4099578267706723511">Nutzungsstatistiken und Absturzberichte zur Verbesserung von Chrome an Google senden</translation>
 <translation id="417201473131094001">Wird von Chrome Canary nicht unterstützt</translation>
+<translation id="4192781968753717021">Dieses Passwort wurde in einer Datenpanne gefunden. Der Google Passwortmanager empfiehlt, dieses Passwort jetzt zu ändern.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> hat Chrome genutzt und Lesezeichen, Passwörter und andere Einstellungen auf diesem Gerät festgelegt.</translation>
 <translation id="424864128008805179">Von Chrome abmelden?</translation>
 <translation id="4249068189593983585">Chrome-Tipp: Wenn du weitere Tab-Optionen sehen möchtest, berühre und halte die Schaltfläche „Tabs anzeigen“ in der Symbolleiste. Sie befindet sich unten oder oben auf dem Bildschirm.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Erlaube Chrome, deine Inkognitotabs zu sperren.</translation>
 <translation id="6412673304250309937">Prüft URLs anhand einer Liste unsicherer Websites, die in Chrome gespeichert wird. Wenn eine Website versucht, dein Passwort zu stehlen, oder wenn du eine schädliche Datei herunterlädst, kann Chrome auch URLs, einschließlich Teile von Seiteninhalten, an Safe Browsing senden.</translation>
 <translation id="6427126399757991875">Deine Organisation richtet Chrome ein…</translation>
+<translation id="651403856614361404">Dieses Passwort wurde in einer Datenpanne gefunden. Chrome empfiehlt, dein Passwort jetzt zu ändern.</translation>
 <translation id="6600954340915313787">In Chrome kopiert</translation>
 <translation id="6634107063912726160">Wenn du dich abmeldest, synchronisiert Chrome keine neuen Daten mehr mit deinem Google-Konto. Daten, die bereits synchronisiert wurden, bleiben im Konto gespeichert.</translation>
 <translation id="6648150602980899529">Du meldest dich mit einem von <ph name="DOMAIN" /> verwalteten Konto an und gibst dem Administrator der Domain Kontrolle über deine Chrome-Daten. Die Daten werden diesem Konto dauerhaft zugeordnet. Wenn du dich von Chrome abmeldest, werden deine Daten auf dem Gerät gelöscht, bleiben jedoch in deinem Google-Konto erhalten.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Sicherer surfen mit Google Chrome</translation>
 <translation id="8772179140489533211">Aufforderungen für die Anmeldung in Chrome werden angezeigt.</translation>
 <translation id="8788269841521769222">Du musst dir dieses Passwort nicht merken. Es wird im Passwortmanager von Google für <ph name="EMAIL" /> gespeichert.</translation>
+<translation id="8897749957032330183">Passwörter werden auf diesem Gerät im Google Passwortmanager gespeichert.</translation>
 <translation id="8969290730818637510">Wenn aktiviert:
 <ph name="BEGIN_INDENT" />  • Du hilfst, Chrome für Nutzer zu optimieren, die es genauso verwenden wie du.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
index e151996..7ab8c4a8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_es.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome no puede acceder a tus fotos y vídeos (para permitirlo, ve a Ajustes de iOS &gt; Privacidad &gt; Fotos).</translation>
 <translation id="4099578267706723511">Ayudar a mejorar Chrome enviando estadísticas de uso e informes sobre fallos.</translation>
 <translation id="417201473131094001">No compatible con Chrome Canary</translation>
+<translation id="4192781968753717021">Esta contraseña se ha encontrado en una quiebra de seguridad de datos. El gestor de contraseñas de Google te recomienda que cambies tu contraseña ahora.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> ha usado Chrome y ha dejado marcadores, contraseñas y otras configuraciones en este dispositivo.</translation>
 <translation id="424864128008805179">¿Quieres cerrar sesión en Chrome?</translation>
 <translation id="4249068189593983585">Consejo sobre Chrome: Para ver más opciones de pestañas, mantén pulsado el botón Mostrar pestañas en la barra de herramientas, que se encuentra en la parte inferior o superior de la pantalla.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Permite que Chrome bloquee tus pestañas de incógnito.</translation>
 <translation id="6412673304250309937">Comprueba las URL guardadas en Chrome con una lista de sitios que no son seguros. Si un sitio web intenta robarte la contraseña o te descargas un archivo dañino, puede que Chrome también envíe URL, así como fragmentos de contenido de la página, a Navegación segura.</translation>
 <translation id="6427126399757991875">Tu organización está configurando Chrome...</translation>
+<translation id="651403856614361404">Esta contraseña se ha encontrado en una quiebra de seguridad de datos. Chrome te recomienda que cambies tu contraseña ahora.</translation>
 <translation id="6600954340915313787">Copiada a Chrome</translation>
 <translation id="6634107063912726160">Si cierras sesión, Chrome no sincronizará ningún dato nuevo con tu cuenta de Google. Los datos sincronizados anteriormente permanecerán en la cuenta.</translation>
 <translation id="6648150602980899529">Estás iniciando sesión con una cuenta gestionada por <ph name="DOMAIN" />, lo que significa que vas a proporcionar a su administrador el control sobre tus datos de Chrome. Los datos se van a vincular de forma permanente a esta cuenta. Si cierras sesión en Chrome, se eliminarán los datos de este dispositivo pero permanecerán almacenados en tu cuenta de Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Protégete con Google Chrome</translation>
 <translation id="8772179140489533211">Muestra solicitudes para iniciar sesión en Chrome.</translation>
 <translation id="8788269841521769222">No tendrás que recordar esta contraseña. Se guardará en el gestor de contraseñas de Google de <ph name="EMAIL" />.</translation>
+<translation id="8897749957032330183">Las contraseñas se guardan en el gestor de contraseñas de Google en este dispositivo.</translation>
 <translation id="8969290730818637510">Si esta opción está activada:
 <ph name="BEGIN_INDENT" />  • Ayuda a mejorar Chrome para las personas que lo usan de la misma manera que tú.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
index ed9079a..3fbc522b 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_et.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome'il pole juurdepääsu fotodele ega videotele. Lubage iOS-is juurdep. valikutega Seaded &gt; Privaatsus &gt; Fotod.</translation>
 <translation id="4099578267706723511">Aidake muuta Chrome'i paremaks, saates Google'ile kasutusstatistikat ja krahhiaruandeid.</translation>
 <translation id="417201473131094001">Ei toetata versioonis Chrome Canary</translation>
+<translation id="4192781968753717021">See parool leiti andmetega seotud rikkumisest. Google'i paroolihaldur soovitab teil kohe oma parooli muuta.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> kasutas Chrome'i ning jättis järjehoidjad, paroolid ja muud seaded sellesse seadmesse.</translation>
 <translation id="424864128008805179">Kas logida Chrome'ist välja?</translation>
 <translation id="4249068189593983585">Chrome'i nõuanne. Vahelehtede lisavalikute nägemiseks puudutage ja hoidke all ekraanikuva üla- või alaosas tööriistaribal olevat nuppu Kuva vahelehed.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Laske Chrome'il oma inkognito vahelehed lukustada.</translation>
 <translation id="6412673304250309937">Kontrollib URL-e Chrome'i talletatud ohtlike saitide loendi alusel. Kui sait üritab teie parooli varastada või laadite alla kahjuliku faili, võib Chrome saata URL-id ja lehe sisu osad teenusesse Google'i ohutu sirvimine.</translation>
 <translation id="6427126399757991875">Teie organisatsioon seadistab Chrome'i …</translation>
+<translation id="651403856614361404">See parool leiti andmetega seotud rikkumisest. Chrome soovitab teil kohe oma parooli muuta.</translation>
 <translation id="6600954340915313787">Chrome'i kopeeritud</translation>
 <translation id="6634107063912726160">Väljalogimisel ei sünkrooni Chrome teie Google'i kontoga uusi andmeid. Varem sünkroonitud andmed jäävad kontole.</translation>
 <translation id="6648150602980899529">Logite sisse kontoga, mida haldab <ph name="DOMAIN" />, ja annate selle administraatorile üle Chrome'i andmete juhtimise. Teie andmed seotakse jäädavalt selle kontoga. Chrome'ist väljalogimisel kustutatakse teie andmed sellest seadmest, kuid need jäävad alles teie Google'i kontole.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Turvalisus Google Chrome'iga</translation>
 <translation id="8772179140489533211">Kuvatakse viibad Chrome'i sisselogimiseks.</translation>
 <translation id="8788269841521769222">Te ei pea seda parooli meelde jätma. See salvestatakse konto <ph name="EMAIL" /> Google'i paroolihaldurisse.</translation>
+<translation id="8897749957032330183">Paroolid salvestatakse selles seadmes Google'i paroolihaldurisse.</translation>
 <translation id="8969290730818637510">Kui see on sisse lülitatud
 <ph name="BEGIN_INDENT" />  • Aitate täiustada Chrome'i inimeste jaoks, kes kasutavad seda nagu teie.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
index 0b3c7f9..ae3afa3 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fa.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">‏Google Chrome به عکس‌ها یا ویدیوهای شما دسترسی ندارد. با رفتن به تنظیمات iOS &gt; حریم خصوصی &gt; عکس‌ها دسترسی را فعال کنید.</translation>
 <translation id="4099578267706723511">‏‫با ارسال آمار کاربرد و گزارش‌های خرابی به Google، به بهتر شدن Chrome کمک کنید.</translation>
 <translation id="417201473131094001">‏در Chrome Canary پشتیبانی نمی‌شود</translation>
+<translation id="4192781968753717021">‏این گذرواژه در معرض نقض داده قرار گرفته است. «مدیر گذرواژه Google» توصیه می‌کند گذرواژه‌تان را همین‌حالا تغییر دهید.</translation>
 <translation id="4233521129555661685">‏<ph name="USER_EMAIL1" /> از Chrome استفاده می‌کرده است و نشانک‌ها، گذرواژه‌ها، و تنظیمات دیگری در این دستگاه ذخیره کرده است.</translation>
 <translation id="424864128008805179">‏از سیستم Chrome خارج می شوید؟</translation>
 <translation id="4249068189593983585">‏نکته Chrome. برای دیدن گزینه‌های بیشتر برگه، دکمه «نمایش برگه‌ها» را در نوارابزار (واقع در پایین یا بالای صفحه) لمس کنید و نگه دارید.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">‏اجازه دهید Chrome «برگه‌های ناشناس» را قفل کند.</translation>
 <translation id="6412673304250309937">‏نشانی‌های وب را با فهرست سایت‌های ناامنی که در Chrome ذخیره شده است مقایسه می‌کند. اگر سایتی تلاش کند گذرواژه شما را به‌سرقت ببرد، یا وقتی فایل مخربی بارگیری می‌کنید، Chrome ممکن است نشانی‌های وب را نیز به همراه بخش‌های کوچکی از محتوای صفحه، به «مرور ایمن» ارسال کند.</translation>
 <translation id="6427126399757991875">‏سازمانتان درحال راه‌اندازی Chrome است…</translation>
+<translation id="651403856614361404">‏این گذرواژه در معرض نقض داده قرار گرفته است. Chrome توصیه می‌کند هم‌اکنون گذرواژه‌تان را تغییر دهید.</translation>
 <translation id="6600954340915313787">‏کپی در Chrome</translation>
 <translation id="6634107063912726160">‏وقتی از سیستم خارج شوید، Chrome هیچ‌کدام از داده‌های جدید را با «حساب Google» شما همگام‌سازی نخواهد کرد. داده‌هایی که قبلاً همگام‌سازی شده‌اند در حساب می‌مانند.</translation>
 <translation id="6648150602980899529">‏هم‌اکنون درحال ورود به سیستم با یک حساب مدیریت‌شده توسط <ph name="DOMAIN" /> و ارائه کنترل داده‌های Chrome خودتان به سرپرست این حساب هستید. داده‌هایتان به‌طور دائم به این حساب مرتبط می‌شوند. با خروج از Chrome، داده‌هایتان از این دستگاه حذف می‌شوند اما همچنان در حساب Google شما باقی می‌ماند.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">‏با Google Chrome ایمن بمانید</translation>
 <translation id="8772179140489533211">‏برای ورود به سیستم Chrome درخواست نشان می‌دهد.</translation>
 <translation id="8788269841521769222">‏لازم نیست این گذرواژه را به‌خاطر بسپارید. این گذرواژه در «مدیر گذرواژه Google» برای <ph name="EMAIL" /> ذخیره خواهد شد</translation>
+<translation id="8897749957032330183">‏گذرواژه‌ها در «مدیر گذرواژه Google» در این دستگاه ذخیره می‌شوند.</translation>
 <translation id="8969290730818637510">‏وقتی روشن است:
 <ph name="BEGIN_INDENT" />  • به بهتر شدن Chrome برای همه کسانی که به‌شیوه‌ای مشابه شما از آن استفاده می‌کنند کمک می‌کند.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fi.xtb
index cde9810..98deb52 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fi.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome ei voi käyttää kuviasi tai videoitasi. Anna käyttöoikeus kohdassa iOS-asetukset &gt; Tietosuoja &gt; Kuvat.</translation>
 <translation id="4099578267706723511">Auta parantamaan Chromea lähettämällä käyttötilastoja ja virheraportteja Googlelle.</translation>
 <translation id="417201473131094001">Ei tueta Chrome Canaryssa</translation>
+<translation id="4192781968753717021">Tämä salasana löytyi tietosuojaloukkauksesta. Googlen Salasanojen ylläpito suosittelee, että vaihdat sen heti.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> käytti Chromea, ja hänen käyttämiä kirjanmerkkejä, salasanoja ja muita asetuksia jäi laitteelle.</translation>
 <translation id="424864128008805179">Kirjaudutaanko ulos Chromesta?</translation>
 <translation id="4249068189593983585">Chrome-vinkki: Voit avata välilehtien lisäasetukset painamalla pitkään ylä- tai alapalkissa olevaa Näytä välilehdet ‑painiketta.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Anna Chromen lukita incognito-välilehtesi.</translation>
 <translation id="6412673304250309937">Tarkistaa URL-osoitteet Chromeen tallennetun vaarallisten sivustojen luettelon avulla. Jos sivusto yrittää varastaa salasanaasi tai jos lataat haitallisen tiedoston, Chrome voi myös lähettää Selaussuojan tarkistettavaksi URL-osoitteita, mukaan lukien osia sivujen sisällöstä.</translation>
 <translation id="6427126399757991875">Organisaatiosi ottaa käyttöön Chromea…</translation>
+<translation id="651403856614361404">Tämä salasana löytyi tietosuojaloukkauksesta. Chrome suosittelee, että vaihdat sen heti.</translation>
 <translation id="6600954340915313787">Kopioitiin Chromeen.</translation>
 <translation id="6634107063912726160">Kun kirjaudut ulos, Chrome ei synkronoi uutta dataa Google-tilillesi. Aiemmin synkronoitu data säilytetään tilillä.</translation>
 <translation id="6648150602980899529">Olet kirjautumassa sisään verkkotunnuksen <ph name="DOMAIN" /> hallinnoimalla tilillä ja antamassa sen järjestelmänvalvojalle oikeuden hallita Chrome-tietojasi. Tietosi liitetään pysyvästi tähän tiliin. Chromesta uloskirjautuminen poistaa tietosi tältä laitteelta, mutta ne säilyvät Google-tililläsi.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Pysy turvassa Google Chromen avulla</translation>
 <translation id="8772179140489533211">Näytä kehotteet kirjautua Chromeen.</translation>
 <translation id="8788269841521769222">Sinun ei tarvitse muistaa tätä salasanaa. Se tallennetaan Googlen Salasanojen ylläpitoon sähköpostiosoitteella <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Salasanat tallennetaan Google Salasanoihin tällä laitteella.</translation>
 <translation id="8969290730818637510">Kun se on päällä:
 <ph name="BEGIN_INDENT" />  • Auta tekemään Chromesta parempi muille, jotka käyttävät sitä samoin kuin sinä<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fil.xtb
index 26868d6..02dcac6 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_fil.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Walang access ang Google Chrome sa larawan o video. I-enable ang access sa Mga Setting ng iOS &gt; Privacy &gt; Mga Larawan.</translation>
 <translation id="4099578267706723511">Tulungang mapahusay ang Chrome sa pamamagitan ng pagpapadala sa Google ng mga istatistika ng paggamit at ulat ng pag-crash.</translation>
 <translation id="417201473131094001">Hindi sinusuportahan sa Chrome Canary</translation>
+<translation id="4192781968753717021">Nakita sa isang paglabag sa data ang password na ito. Inirerekomenda ng Google Password Manager na palitan na ngayon ang password mo.</translation>
 <translation id="4233521129555661685">Ginamit ni <ph name="USER_EMAIL1" /> ang Chrome at nag-iwan siya ng mga bookmark, password, at iba pang mga setting sa device na ito.</translation>
 <translation id="424864128008805179">Mag-sign out sa Chrome?</translation>
 <translation id="4249068189593983585">Tip sa Chrome. Para sa higit pang opsyon sa tab, pindutin nang matagal ang button na Ipakita ang Mga Tab sa toolbar, na nasa ibaba o itaas ng iyong screen.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Payagan ang Chrome na i-lock ang iyong mga tab na Incognito.</translation>
 <translation id="6412673304250309937">Sinusuri ang mga URL sa pamamagitan ng listahan ng mga hindi ligtas na site na naka-store sa Chrome. Kung susubukan ng site na nakawin ang iyong password, o kapag nag-download ka ng mapaminsalang file, posible ring magpadala ang Chrome sa Ligtas na Pag-browse ng mga URL, kabilang ang ilang content ng page</translation>
 <translation id="6427126399757991875">Sine-set up ng iyong organisasyon ang Chrome...</translation>
+<translation id="651403856614361404">Nakita sa isang paglabag sa data ang password na ito. Inirerekomenda ng Chrome na palitan mo ang iyong password ngayon.</translation>
 <translation id="6600954340915313787">Kinopya sa Chrome</translation>
 <translation id="6634107063912726160">Kapag nag-sign out ka, hindi magsi-sync ang Chrome ng anumang bagong data sa iyong Google Account. Mananatili sa account ang data na dati nang na-sync.</translation>
 <translation id="6648150602980899529">Nagsa-sign in ka gamit ang isang account na pinamamahalaan ng <ph name="DOMAIN" /> at binibigyan mo ang administrator nito ng kontrol sa iyong data sa Chrome. Permanenteng mauugnay ang iyong data sa account na ito. Made-delete ang data mo sa device na ito kapag nag-sign out ka sa Chrome, ngunit mananatili itong naka-store sa iyong Google Account.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Manatiling Ligtas sa Google Chrome</translation>
 <translation id="8772179140489533211">Nagpapakita ng mga prompt na mag-sign in sa Chrome.</translation>
 <translation id="8788269841521769222">Hindi mo kailangang tandaan ang password na ito. Mase-save ito sa Google Password Manager para sa <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Sine-save ang mga password sa Google Password Manager sa device na ito.</translation>
 <translation id="8969290730818637510">Kapag naka-on:
 <ph name="BEGIN_INDENT" />  • Tumulong na pahusayin ang Chrome para sa mga taong gumagamit nito gaya ng iyong paggamit.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_id.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_id.xtb
index 3b0ec7da..e691603 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_id.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome tidak memiliki akses ke foto atau video Anda. Izinkan akses di iOS Settings &gt; Privacy &gt; Photos.</translation>
 <translation id="4099578267706723511">Bantu penyempurnaan Chrome dengan mengirimkan statistik penggunaan dan laporan error ke Google.</translation>
 <translation id="417201473131094001">Tidak didukung di Chrome Canary</translation>
+<translation id="4192781968753717021">Sandi ini ditemukan dalam pelanggaran data. Pengelola Sandi Google merekomendasikan untuk mengubah sandi Anda sekarang.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> menggunakan Chrome dan meninggalkan bookmark, sandi, serta setelan lainnya di perangkat ini.</translation>
 <translation id="424864128008805179">Logout dari Chrome?</translation>
 <translation id="4249068189593983585">Tips Chrome. Untuk opsi tab lainnya, sentuh lama tombol Tampilkan Tab di toolbar, yang terdapat di bagian bawah atau atas layar.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Izinkan Chrome mengunci tab Samaran Anda.</translation>
 <translation id="6412673304250309937">Memeriksa kesesuaian URL dengan daftar situs tidak aman yang disimpan di Chrome. Jika situs berusaha mencuri sandi Anda, atau jika Anda mendownload file berbahaya, Chrome mungkin juga mengirim URL, termasuk bit konten halaman, ke Safe Browsing.</translation>
 <translation id="6427126399757991875">Organisasi Anda sedang menyiapkan Chrome ...</translation>
+<translation id="651403856614361404">Sandi ini ditemukan dalam pelanggaran data. Chrome merekomendasikan untuk mengubah sandi Anda sekarang.</translation>
 <translation id="6600954340915313787">Disalin ke Chrome</translation>
 <translation id="6634107063912726160">Jika Anda logout, Chrome tidak akan menyinkronkan data baru apa pun ke Akun Google Anda. Data yang sebelumnya disinkronkan tetap tersimpan di akun.</translation>
 <translation id="6648150602980899529">Anda login dengan akun terkelola oleh <ph name="DOMAIN" /> dan memberikan kontrol kepada administratornya atas data Chrome Anda. Data Anda akan terikat dengan akun ini secara permanen. Dengan logout dari Chrome, Anda akan menghapus data dari perangkat ini, tetapi data akan tetap tersimpan di Akun Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Tetap Aman dengan Google Chrome</translation>
 <translation id="8772179140489533211">Menampilkan perintah untuk login ke Chrome.</translation>
 <translation id="8788269841521769222">Anda tidak perlu mengingat sandi ini. Sandi akan disimpan ke Pengelola Sandi Google untuk <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Sandi disimpan ke Pengelola Sandi Google di perangkat ini.</translation>
 <translation id="8969290730818637510">Jika aktif:
 <ph name="BEGIN_INDENT" />  • Membantu Chrome menjadi lebih baik bagi pengguna lain seperti Anda.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
index 83143b89..6501dd49 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_is.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome hefur ekki aðgang að myndunum þínum eða myndskeiðum. Veittu aðgang í iOS Settings &gt; Privacy &gt; Photos.</translation>
 <translation id="4099578267706723511">Hjálpaðu til við að bæta Google Chrome með því að senda talnagögn um notkun og tilkynningar um hrun til Google.</translation>
 <translation id="417201473131094001">Ekki stutt í Chrome Canary</translation>
+<translation id="4192781968753717021">Þetta aðgangsorð fannst í öryggisbroti. Google aðgangsorðastjórnun mælir með að þú breytir aðgangsorðinu þínu strax.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> notaði Chrome og skildi eftir bókamerki, aðgangsorð og aðrar stillingar í þessu tæki.</translation>
 <translation id="424864128008805179">Viltu skrá þig út úr Chrome?</translation>
 <translation id="4249068189593983585">Ábending um Chrome. Til að sjá fleiri valkosti fyrir flipa skaltu halda hnappinum „Sýna flipa“ inni á tækjastikunni, sem er neðst eða efst á skjánum.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Leyfa Chrome að læsa huliðsflipunum þínum.</translation>
 <translation id="6412673304250309937">Ber vefslóðir saman við lista yfir óörugg vefsvæði sem er vistaður í Chrome. Ef vefsvæði reynir að stela aðgangsorðinu þínu, eða ef þú sækir skaðlega skrá, gæti Chrome einnig sent vefslóðir í Örugga vefskoðun, þar á meðal hluta af innihaldi síðna.</translation>
 <translation id="6427126399757991875">Fyrirtækið þitt er að setja upp Chrome...</translation>
+<translation id="651403856614361404">Þetta aðgangsorð fannst í öryggisbroti. Chrome mælir með því að þú skiptir um aðgangsorð núna.</translation>
 <translation id="6600954340915313787">Afritað yfir í Chrome</translation>
 <translation id="6634107063912726160">Þegar þú skráir þig út mun Chrome ekki samstilla ný gögn við Google reikninginn þinn. Gögn sem voru samstillt áður verða áfram á reikningnum.</translation>
 <translation id="6648150602980899529">Þú ert að skrá þig út af reikningi sem stýrt er af <ph name="DOMAIN" /> og veitir í leiðinni stjórnanda lénsins umsjón með Chrome gögnunum þínum. Gögnin þín verða tengd við þennan reikning til frambúðar. Ef þú skráir þig út af Chrome verður gögnunum þínum á þessu tæki eytt, en þau verða áfram geymd á Google reikningnum þínum.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Öryggi með Google Chrome</translation>
 <translation id="8772179140489533211">Sýna innskráningartilkynningar í Chrome.</translation>
 <translation id="8788269841521769222">Þú þarft ekki að muna þetta aðgangsorð. Það verður vistað í aðgangsorðastjórnun Google fyrir <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Aðgangsorð eru vistuð í Google aðgangsorðastjórnun í þessu tæki.</translation>
 <translation id="8969290730818637510">Þegar kveikt er á þessu:
 <ph name="BEGIN_INDENT" />  • Hjálpaðu til við að bæta Chrome fyrir fólk sem notar það eins og þú.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_it.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_it.xtb
index ff32705..b2d6795 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_it.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome non ha accesso alle tue foto o ai tuoi video. Attiva l'accesso in Impostazioni iOS &gt; Privacy &gt; Foto.</translation>
 <translation id="4099578267706723511">Aiutaci a migliorare Chrome inviando a Google statistiche sull'utilizzo e report sugli arresti anomali.</translation>
 <translation id="417201473131094001">Non supportata su Chrome Canary</translation>
+<translation id="4192781968753717021">La password è stata compromessa nell'ambito di una violazione dei dati. Gestore delle password di Google consiglia di cambiarla subito.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> stava usando Chrome e ha lasciato preferiti, password e altre impostazioni su questo dispositivo.</translation>
 <translation id="424864128008805179">Uscire da Chrome?</translation>
 <translation id="4249068189593983585">Suggerimento per Chrome. Per vedere più opzioni sulla scheda, tocca e tieni premuto il pulsante Mostra schede della barra degli strumenti, che si trova nella parte inferiore o superiore della schermata.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Consenti a Chrome di bloccare le schede di navigazione in incognito.</translation>
 <translation id="6412673304250309937">Verifica gli URL con un elenco di siti non sicuri archiviati in Chrome. Se un sito cerca di rubare la tua password o se scarichi un file dannoso, Chrome potrebbe inviare anche gli URL, inclusi bit e contenuti di pagina, a Navigazione sicura.</translation>
 <translation id="6427126399757991875">La tua organizzazione sta configurando Chrome…</translation>
+<translation id="651403856614361404">La password è stata compromessa nell'ambito di una violazione dei dati. Chrome consiglia di cambiarla subito.</translation>
 <translation id="6600954340915313787">Copiata in Chrome</translation>
 <translation id="6634107063912726160">Se esci, Chrome non sincronizzerà gli eventuali nuovi dati con il tuo Account Google. I dati sincronizzati in precedenza rimangono memorizzati nell'account.</translation>
 <translation id="6648150602980899529">Stai per eseguire l'accesso con un account gestito da <ph name="DOMAIN" /> e consentire al relativo amministratore di avere il controllo dei tuoi dati di Chrome. I tuoi dati verranno associati definitivamente a questo account. Se esci da Chrome, i dati verranno eliminati da questo dispositivo, ma rimarranno memorizzati nel tuo Account Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Resta al sicuro con Google Chrome</translation>
 <translation id="8772179140489533211">Vengono mostrate richieste di accesso a Chrome.</translation>
 <translation id="8788269841521769222">Non dovrai ricordare questa password perché verrà salvata in Gestore delle password di Google per <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Le password vengono salvate in Gestore delle password di Google su questo dispositivo.</translation>
 <translation id="8969290730818637510">Quando l'opzione è attiva:
 <ph name="BEGIN_INDENT" />  • Contribuisci a migliorare Chrome per le persone che lo usano come fai tu.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ka.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ka.xtb
index b5f225b..e9f97a8 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ka.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ka.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome-ს არ აქვს წვდომა თქვენს ფოტოებსა და ვიდეოებზე. ჩართეთ წვდომა iOS-ის მენიუში: პარამეტრები &gt; კონფიდენციალურობა &gt; ფოტოები.</translation>
 <translation id="4099578267706723511">დაგვეხმარეთ Chrome-ის გაუმჯობესებაში, გამოყენების სტატისტიკისა და შეცდომების შესახებ მოხსენებების Google-ში გაგზავნით.</translation>
 <translation id="417201473131094001">მხარდაუჭერელია Chrome Canary-ში</translation>
+<translation id="4192781968753717021">ეს პაროლი გამოაშკარავდა მონაცემთა გაჟონვისას. Google პაროლების მმართველი გირჩევთ, ახლავე შეცვალოთ თქვენი პაროლი.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> იყენებდა Chrome-ს და ამ მოწყობილობაზე დატოვა სანიშნეები, პაროლები და სხვა პარამეტრები.</translation>
 <translation id="424864128008805179">გსურთ Chrome-იდან გამოსვლა?</translation>
 <translation id="4249068189593983585">Chrome მინიშნება: ჩანართებთან დაკავშირებული სხვა ვარიანტის სანახავად ხანგრძლივად შეეხეთ „ჩანართების ჩვენების“ ღილაკს ხელსაწყოთა ზოლში, რომელიც მდებარეობს ეკრანის ქვედა ან ზედა ნაწილში.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">მიეცით საშუალება Chrome-ს, ჩაკეტოს თქვენი ინკოგნიტო ჩანართები.</translation>
 <translation id="6412673304250309937">შეამოწმებს URL-ების თანხვედრას Chrome-ში შენახულ არაუსაფრთხო საიტების სიასთან. საიტის მიერ პაროლის მოპარვის მცდელობის ან თქვენ მიერ საზიანო ფაილის ჩამოტვირთვის შემთხვევაში Chrome-ის მიერ Safe Browsing-ს გაეგზავნება URL-ები და შესაბამისი გვერდის კონტენტის გარკვეული ნაწილი.</translation>
 <translation id="6427126399757991875">თქვენი ორგანიზაცია აყენებს Chrome-ს...</translation>
+<translation id="651403856614361404">ეს პაროლი გამოაშკარავდა მონაცემთა გაჟონვისას. Chrome გირჩევთ, ახლავე შეცვალოთ პაროლი.</translation>
 <translation id="6600954340915313787">დაკოპირდა Chrome-ში</translation>
 <translation id="6634107063912726160">გასვლისას Chrome არ შეასრულებს ახალი მონაცემების სინქრონიზაციას თქვენს Google ანგარიშთან. ადრე სინქრონიზებული მონაცემები ანგარიშში დარჩება.</translation>
 <translation id="6648150602980899529">თქვენ შედიხართ ანგარიშით, რომელსაც მართავს <ph name="DOMAIN" /> და მის ადმინისტრატორს თქვენი Chrome მონაცემების მართვის საშუალებას აძლევთ. Chrome-იდან გასვლის შემთხვევაში, თქვენი მონაცემები წაიშლება ამ მოწყობილობიდან, თუმცა ისინი თქვენს Google ანგარიშში შენარჩუნდება.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">იყავით უსაფრთხოდ Google Chrome-თან ერთად</translation>
 <translation id="8772179140489533211">გამოაჩენს Chrome-ში შესვლის მოთხოვნებს.</translation>
 <translation id="8788269841521769222">ამ პაროლის დამახსოვრება არ დაგჭირდებათ. ის შეინახება Google პაროლების მმართველში <ph name="EMAIL" />-თვის</translation>
+<translation id="8897749957032330183">პაროლები ინახება Google პაროლების მმართველში ამ მოწყობილობაზე</translation>
 <translation id="8969290730818637510">როდესაც ჩართულია:
 <ph name="BEGIN_INDENT" />  • დაგვეხმარეთ, გავაუმჯობესოთ Chrome მათთვის, ვინც მას თქვენ მსგავსად იყენებს.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_km.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_km.xtb
index 6354520a..c19126f1 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_km.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_km.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome មិនមានលទ្ធភាពចូលប្រើរូបថត និងវីដេអូរបស់អ្នកទេ។ បើកដំណើរការចូលប្រើនៅក្នុងការកំណត់ iOS &gt; ភាពឯកជន &gt; រូបថត។</translation>
 <translation id="4099578267706723511">ជួយធ្វើឲ្យ Chrome ប្រសើរជាងមុនដោយផ្ញើស្ថិតិប្រើប្រាស់ និងរបាយការណ៍ការគាំងទៅ Google។</translation>
 <translation id="417201473131094001">មិនអាចប្រើនៅលើ Chrome Canary បានទេ</translation>
+<translation id="4192781968753717021">ពាក្យសម្ងាត់​នេះ​ត្រូវបាន​រកឃើញ​នៅក្នុង​ការបែកធ្លាយទិន្នន័យ។ កម្មវិធីគ្រប់គ្រងពាក្យសម្ងាត់ណែនាំឱ្យ​ផ្លាស់ប្ដូរ​ពាក្យសម្ងាត់​របស់អ្នក​ឥឡូវនេះ។</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> កំពុងប្រើ Chrome និងទុកចំណាំ ពាក្យសម្ងាត់ និងការកំណត់​ផ្សេងទៀត​នៅលើ​ឧបករណ៍នេះ។</translation>
 <translation id="424864128008805179">ចង់ចេញពី Chrome មែនទេ?</translation>
 <translation id="4249068189593983585">គន្លឹះ​ប្រើប្រាស់ Chrome ។ ដើម្បី​ទទួលបាន​ជម្រើស​ផ្ទាំង​ច្រើន​ទៀត សូម​ចុច​​ប៊ូតុង "បង្ហាញ​ផ្ទាំង" ​ឱ្យ​ជាប់​នៅក្នុងរបារ​ឧបករណ៍ ដែលស្ថិត​នៅផ្នែក​ខាងក្រោម ឬ​ខាងលើ​អេក្រង់​របស់អ្នក។</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">អនុញ្ញាតឱ្យ Chrome ចាក់សោផ្ទាំងឯកជនរបស់អ្នក។</translation>
 <translation id="6412673304250309937">ពិនិត្យ URL ធៀបនឹងបញ្ជីគេហទំព័រគ្មានសុវត្ថិភាព ដែលរក្សាទុកនៅក្នុង Chrome។ ប្រសិនបើគេហទំព័រណាមួយ​ព្យាយាមលួចពាក្យសម្ងាត់របស់អ្នក ឬនៅពេលអ្នកទាញយក​ឯកសារដែលអាចបង្កគ្រោះថ្នាក់នោះ Chrome ក៏ប្រហែលជាបញ្ជូន URL រួមជាមួយផ្នែកនៃខ្លឹមសារទំព័រ ទៅការរុករកដោយសុវត្ថិភាពផងដែរ។</translation>
 <translation id="6427126399757991875">ស្ថាប័នរបស់អ្នកកំពុងរៀបចំ Chrome...</translation>
+<translation id="651403856614361404">ពាក្យសម្ងាត់​នេះ​ត្រូវបាន​រកឃើញ​នៅក្នុង​ការបែកធ្លាយទិន្នន័យ។ Chrome សូមណែនាំ​ឱ្យប្ដូរ​ពាក្យសម្ងាត់​របស់អ្នក​ឥឡូវនេះ។</translation>
 <translation id="6600954340915313787">បានចម្លងទៅ Chrome</translation>
 <translation id="6634107063912726160">នៅពេល​អ្នកចេញពីគណនី Chrome នឹងមិនធ្វើ​សមកាលកម្ម​ទិន្នន័យថ្មី​ទៅគណនី Google របស់អ្នកទេ។ ទិន្នន័យ​ដែលបានធ្វើសមកាលកម្មពីមុន​បន្តស្ថិតនៅក្នុងគណនី។</translation>
 <translation id="6648150602980899529">អ្នកកំពុងចូលដោយប្រើគណនីដែលគ្រប់គ្រងដោយ <ph name="DOMAIN" /> និងកំពុងផ្តល់ឲ្យអ្នកគ្រប់គ្រងរបស់វានូវលទ្ធភាពគ្រប់គ្រងទិន្នន័យ Chrome របស់អ្នក។ ទិន្នន័យរបស់អ្នកនឹងភ្ជាប់ជាមួយគណនីនេះជាអចិន្ត្រៃយ៍។ ការចេញពី Chrome នឹងលុបទិន្នន័យរបស់អ្នកចេញពីឧបករណ៍នេះ ប៉ុន្តែវានឹងនៅតែត្រូវបានរក្សាទុកក្នុងគណនី Google របស់អ្នកដដែល។</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">រក្សាសុវត្ថិភាព​ដោយប្រើ Google Chrome</translation>
 <translation id="8772179140489533211">បង្ហាញ​សារសម្រាប់​ចូល Chrome។</translation>
 <translation id="8788269841521769222">អ្នកនឹង​មិនចាំបាច់​ចងចាំ​ពាក្យសម្ងាត់​នេះទេ។ ពាក្យសម្ងាត់​នោះ​នឹងត្រូវបានរក្សាទុក​ទៅក្នុងកម្មវិធីគ្រប់គ្រង​ពាក្យសម្ងាត់ Google សម្រាប់ <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">ពាក្យសម្ងាត់​ត្រូវបាន​រក្សាទុក​ទៅក្នុង​កម្មវិធីគ្រប់គ្រងពាក្យសម្ងាត់​នៅលើឧបករណ៍នេះ។</translation>
 <translation id="8969290730818637510">នៅពេលបើក៖
 <ph name="BEGIN_INDENT" />  • ជួយធ្វើឱ្យ Chrome កាន់តែប្រសើរសម្រាប់មនុស្សដែលប្រើវាដូចអ្នក។<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ko.xtb
index e6531c1..67dbee9 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ko.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Chrome이 사진 또는 동영상에 액세스할 수 없습니다. 'iOS 설정 &gt; 개인정보 보호 &gt; 사진'에서 액세스를 허용하세요.</translation>
 <translation id="4099578267706723511">사용 통계와 비정상 종료 보고서를 Google로 전송하여 Chrome을 개선하는 데 동참하세요.</translation>
 <translation id="417201473131094001">Chrome Canary에서 지원되지 않습니다.</translation>
+<translation id="4192781968753717021">비밀번호가 정보 유출로 인해 노출된 것으로 확인됩니다. 지금 바로 비밀번호를 변경하는 것이 좋습니다.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> 계정이 Chrome을 사용했으며 이 기기에 북마크, 비밀번호, 기타 설정을 남겼습니다</translation>
 <translation id="424864128008805179">Chrome에서 로그아웃하시겠습니까?</translation>
 <translation id="4249068189593983585">Chrome 도움말. 더 많은 탭 옵션을 보려면 화면 하단이나 상단에 있는 툴바에서 탭 표시 버튼을 길게 터치하세요.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Chrome에서 시크릿 탭을 잠그도록 허용합니다.</translation>
 <translation id="6412673304250309937">Chrome에 저장된 안전하지 않은 사이트 목록을 사용하여 URL을 검사합니다. 사이트에서 사용자의 비밀번호를 도용하려고 하거나 사용자가 유해한 파일을 다운로드하는 경우, Chrome에서 페이지 콘텐츠 일부를 비롯한 URL을 세이프 브라우징 서비스에 보낼 수 있습니다.</translation>
 <translation id="6427126399757991875">조직에서 Chrome을 설정하는 중...</translation>
+<translation id="651403856614361404">비밀번호가 정보 유출로 인해 노출된 것으로 확인됩니다. 지금 바로 비밀번호를 변경하는 것이 좋습니다.</translation>
 <translation id="6600954340915313787">Chrome에 복사됨</translation>
 <translation id="6634107063912726160">로그아웃하면 Chrome에서 더 이상 새로운 데이터를 내 Google 계정에 동기화하지 않습니다. 이전에 동기화된 데이터는 계정에 그대로 유지됩니다.</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" />에서 관리하는 계정으로 로그인합니다. 계정 관리자가 내 Chrome 데이터를 관리하게 되며 데이터는 이 계정에 영구적으로 연결됩니다. Chrome에서 로그아웃하면 데이터가 기기에서 삭제되지만 Google 계정에는 그대로 유지됩니다.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Chrome으로 안전하게 보호하기</translation>
 <translation id="8772179140489533211">Chrome에 로그인하기 위한 메시지를 표시합니다.</translation>
 <translation id="8788269841521769222">이 비밀번호를 기억하지 않아도 됩니다. <ph name="EMAIL" />의 Google 비밀번호 관리자에 비밀번호가 저장됩니다.</translation>
+<translation id="8897749957032330183">비밀번호가 이 기기의 Google 비밀번호 관리자에 저장됩니다.</translation>
 <translation id="8969290730818637510">사용 설정되어 있을 때:
 <ph name="BEGIN_INDENT" />  • 나와 비슷한 사용자를 위한 Chrome 개선에 도움이 됩니다.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lt.xtb
index 0a384c3..9276679 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_lt.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">„Google Chrome“ nepasiekia nuotraukų ar vaizdo įr. Įgal. prieigą apsil. „iOS“ nustatymai“ &gt; „Privatumas“ &gt; „Nuotraukos“.</translation>
 <translation id="4099578267706723511">Padėkite tobulinti „Chrome“ siųsdami „Google“ naudojimo statistiką ir strigčių ataskaitas.</translation>
 <translation id="417201473131094001">Nepalaikoma versijoje „Chrome Canary“</translation>
+<translation id="4192781968753717021">Šis slaptažodis rastas duomenų saugos pažeidime. „Google“ slaptažodžių tvarkyklė rekomenduoja dabar pakeisti šį slaptažodį.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> naudojo „Chromium“ ir paliko žymes, slaptažodžius bei kitus nustatymus šiame įrenginyje.</translation>
 <translation id="424864128008805179">Atsijungti nuo „Chrome“?</translation>
 <translation id="4249068189593983585">„Chrome“ patarimas. Jei reikia daugiau skirtukų parinkčių, palieskite ir palaikykite mygtuką „Rodyti skirtukus“ įrankių juostoje, kuri yra ekrano apačioje arba viršuje.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Leiskite „Chrome“ užrakinti jūsų inkognito skirtukus.</translation>
 <translation id="6412673304250309937">Tikrinami URL pagal nesaugių svetainių sąrašą, saugomą naršyklėje „Chrome“. Jei svetainė bando pavogti slaptažodį ar atsisiuntėte žalingą failą, „Chrome“ taip pat gali siųsti URL, įskaitant puslapio turinio dalis, Saugaus naršymo funkcijai.</translation>
 <translation id="6427126399757991875">Jūsų organizacija konfigūruoja „Chrome“...</translation>
+<translation id="651403856614361404">Šis slaptažodis rastas duomenų saugos pažeidime. „Chrome“ rekomenduoja dabar pakeisti slaptažodį.</translation>
 <translation id="6600954340915313787">Nukopijuota į „Chrome“</translation>
 <translation id="6634107063912726160">Kai atsijungsite, „Chrome“ nesinchronizuos jokių naujų duomenų su jūsų „Google“ paskyra. Anksčiau sinchronizuoti duomenys lieka paskyroje.</translation>
 <translation id="6648150602980899529">Prisijungiate naudodami <ph name="DOMAIN" /> valdomą paskyrą ir suteikiate jos administratoriui galimybę valdyti jūsų „Chrome“ duomenis. Duomenys bus visam laikui susieti su šia paskyra. Atsijungę nuo „Chrome“ ištrinsite duomenis iš šio įrenginio, bet jie ir toliau bus saugomi „Google“ paskyroje.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Saugos užtikrinimas naudojant „Google Chrome“</translation>
 <translation id="8772179140489533211">Rodomi raginimai prisijungti prie „Chrome“.</translation>
 <translation id="8788269841521769222">Jums nereikia prisiminti šio slaptažodžio. Jis bus išsaugotas „Google“ slaptažodžių tvarkytuvėje kaip priskirtas el. pašto adresui <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Slaptažodžiai saugomi „Google“ slaptažodžių tvarkyklėje šiame įrenginyje.</translation>
 <translation id="8969290730818637510">Kai įjungta
 <ph name="BEGIN_INDENT" />  • Padėkite tobulinti „Chrome“ žmonėms, naudojantiems ją kaip jūs.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ml.xtb
index e088413e..2163e78a 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ml.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome-ന് നിങ്ങളുടെ ഫോട്ടോകളിലേക്കോ വീഡിയോകളിലേക്കോ ആക്‌സസ് ഇല്ല. iOS ക്രമീകരണം &gt; സ്വകാര്യത &gt; ഫോട്ടോകൾ എന്നതിൽ ആക്‌സസ് പ്രവർത്തനക്ഷമമാക്കുക.</translation>
 <translation id="4099578267706723511">Google-ലേക്ക് ഉപയോഗ വിവരക്കണക്കുകളും ക്രാഷ് റിപ്പോർട്ടുകളും അയയ്‌ക്കുന്നതിലൂടെ Chrome-നെ മികച്ചതാക്കാൻ സഹായിക്കുക.</translation>
 <translation id="417201473131094001">Chrome Canary-യിൽ പിന്തുണയില്ല</translation>
+<translation id="4192781968753717021">ഈ പാസ്‌വേഡ് ഡാറ്റാ ലംഘനത്തിൽ കണ്ടെത്തിയിരിക്കുന്നു. നിങ്ങളുടെ പാസ്‌വേഡ് ഇപ്പോൾ തന്നെ മാറ്റാൻ Google Password Manager നിർദ്ദേശിക്കുന്നു.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> ആണ് Chrome ഉപയോഗിച്ചുകൊണ്ടിരുന്നത്, ഈ വ്യക്തിയുടെ ബുക്ക്‌മാർക്കുകളും പാസ്‌വേഡുകളും മറ്റ് ക്രമീകരണവും ഈ ഉപകരണത്തിലുണ്ട്.</translation>
 <translation id="424864128008805179">Chrome-ൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യണോ?</translation>
 <translation id="4249068189593983585">Chrome നുറുങ്ങുകൾ. കൂടുതൽ ടാബ് ഓപ്ഷനുകൾക്കായി, നിങ്ങളുടെ സ്‌ക്രീനിന്റെ താഴെയോ മുകളിലോ ഉള്ള, ടൂൾബാറിലെ 'ടാബുകൾ കാണിക്കുക' ബട്ടൺ സ്‌പർശിച്ച് പിടിക്കുക.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">നിങ്ങളുടെ അദൃശ്യ ടാബുകൾ ലോക്ക് ചെയ്യാൻ Chrome-നെ അനുവദിക്കുക.</translation>
 <translation id="6412673304250309937">Chrome-ൽ സംഭരിച്ചിരിക്കുന്ന സുരക്ഷിതമല്ലാത്ത സൈറ്റുകളുടെ ലിസ്റ്റ് ഉപയോഗിച്ച് URL-കൾ പരിശോധിക്കുന്നു. ഒരു സൈറ്റ് നിങ്ങളുടെ പാസ്‌വേഡ് മോഷ്‌ടിക്കാൻ ശ്രമിക്കുമ്പോഴോ നിങ്ങൾ ഒരു ദോഷകരമായ ഫയൽ ഡൗൺലോഡ് ചെയ്യുമ്പോഴോ, പേജ് ഉള്ളടക്കത്തിന്റെ ബിറ്റുകൾ ഉൾപ്പെടെയുള്ള URL-കളും Chrome സുരക്ഷിത ബ്രൗസിംഗിലേക്ക് അയച്ചേക്കാം.</translation>
 <translation id="6427126399757991875">നിങ്ങളുടെ സ്ഥാപനം Chrome സജ്ജീകരിക്കുന്നു...</translation>
+<translation id="651403856614361404">ഈ പാസ്‌വേഡ് ഡാറ്റാ ലംഘനത്തിൽ കണ്ടെത്തിയിരിക്കുന്നു. നിങ്ങളുടെ പാസ്‌വേഡ് ഇപ്പോൾ മാറ്റാൻ Chrome നിർദ്ദേശിക്കുന്നു.</translation>
 <translation id="6600954340915313787">Chrome-ലേക്ക് പ്കർത്തി</translation>
 <translation id="6634107063912726160">സൈൻ ഔട്ട് ചെയ്യുമ്പോൾ, പുതിയ ഡാറ്റയൊന്നും Chrome നിങ്ങളുടെ Google അക്കൗണ്ടിൽ സമന്വയിപ്പിക്കില്ല. മുമ്പ് സമന്വയിപ്പിച്ച ഡാറ്റ അക്കൗണ്ടിൽ തുടരും.</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" /> മാനേജ് ചെയ്യുന്ന ഒരു അക്കൗണ്ട് ഉപയോഗിച്ച് നിങ്ങൾ സൈൻ ഇൻ ചെയ്യുകയും ഇതിന്റെ അഡ്‌മിനിസ്‌ട്രേറ്റർക്ക് നിങ്ങളുടെ Chrome വിവരങ്ങളിന്മേൽ നിയന്ത്രണം നൽകുകയും ചെയ്യുന്നു. വിവരങ്ങളെ ഈ അക്കൗണ്ടുമായി ശാശ്വതമായി ബന്ധിപ്പിക്കും. Chrome-ൽ നിന്ന് സൈൻ ഔട്ട് ചെയ്യുന്നത് ഈ ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ വിവരങ്ങളെ ഇല്ലാതാക്കുമെങ്കിലും, Google അക്കൗണ്ടിൽ തുടർന്നും അവ സൂക്ഷിക്കുന്നതാണ്.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome-നൊപ്പം സുരക്ഷിതരായിരിക്കുക</translation>
 <translation id="8772179140489533211">Chrome-ൽ സൈൻ ഇൻ ചെയ്യാനുള്ള നിർദ്ദേശങ്ങൾ കാണിക്കുന്നു.</translation>
 <translation id="8788269841521769222">നിങ്ങൾ ഈ പാസ്‌വേഡ് ഓർമ്മിക്കേണ്ടതില്ല. <ph name="EMAIL" /> എന്നതിനുള്ള Google പാസ്‌വേഡ് മാനേജറിൽ ഇത് സംരക്ഷിക്കും</translation>
+<translation id="8897749957032330183">ഈ ഉപകരണത്തിലെ Google Password Manager-ൽ പാസ്‌വേഡുകൾ സംരക്ഷിക്കുന്നു.</translation>
 <translation id="8969290730818637510">ഓണാക്കിയിരിക്കുമ്പോൾ സംഭവിക്കുന്നത്:
 <ph name="BEGIN_INDENT" />  • നിങ്ങളെപ്പോലുള്ള ഉപയോക്താക്കൾക്കായി Chrome മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്നു.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
index e71fe488..9fa6b8e 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_mr.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome ला तुमच्या फोटो आणि व्हिडिओ ॲक्सेस नाही. iOS सेटिंग्ज &gt; गोपनीयता &gt; फोटो  ॲक्सेस सक्षम करा.</translation>
 <translation id="4099578267706723511">वापरविषयक आकडेवारी आणि क्रॅश अहवाल Google कडे पाठवून Chrome अधिक चांगले करण्यास मदत करा.</translation>
 <translation id="417201473131094001">Chrome कॅनरी वर सपोर्ट नाही</translation>
+<translation id="4192781968753717021">हा पासवर्ड डेटा भंगामध्ये आढळला. Google Password Manager तुमचा पासवर्ड आता बदलण्याची शिफारस करतो.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> हा Chrome वापरत होता आणि त्याने या डिव्हाइसवर बुकमार्क, पासवर्ड आणि इतर सेटिंग्ज ठेवली आहेत.</translation>
 <translation id="424864128008805179">Chrome मधून साइन आउट करायचे?</translation>
 <translation id="4249068189593983585">Chrome टीप. आणखी टॅब पर्यायांसाठी, तुमच्या स्क्रीनच्या तळाशी किंवा सर्वात वर असलेल्या टूलबारवरील टॅब दाखवा बटणाला स्पर्श करा आणि धरून ठेवा.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Chrome ला तुमचे गुप्त टॅब लॉक करू द्या.</translation>
 <translation id="6412673304250309937">Chrome मध्ये स्टोअर केलेल्या असुरक्षित साइटच्या सूचीमध्ये URL तपासतो. साइटने तुमचा पासवर्ड चोरण्याचा प्रयत्न केल्यास किंवा तुम्ही हानीकारक फाइल डाउनलोड केल्यावर, Chrome, पेज आशयाच्या भागांसह, URL सुरक्षित ब्राउझिंग कडे पाठवू शकतो.</translation>
 <translation id="6427126399757991875">तुमची संस्था Chrome सेट करत आहे...</translation>
+<translation id="651403856614361404">हा पासवर्ड डेटा भंगामध्ये आढळला. Chrome तुमचा पासवर्ड आता बदलण्याची शिफारस करते.</translation>
 <translation id="6600954340915313787">Chrome वर कॉपी केले</translation>
 <translation id="6634107063912726160">तुम्ही साइन आउट करता तेव्हा, Chrome तुमच्या Google खाते मध्ये कोणताही नवीन डेटा सिंक करणार नाही. याआधी सिंक केलेला डेटा खात्यामध्ये राहील.</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" /> द्वारे व्यवस्थापित केलेल्या खात्यासह तुम्ही साइन इन करत आहात आणि त्याच्या ॲडमिनिस्ट्रेटरला तुमच्या Chrome डेटाचे नियंत्रण देत आहात. तुमचा डेटा कायमचा या खात्यामध्ये असेल. Chrome मधून साइन आउट केल्याने तुमचा डेटा या डिव्हाइस वरून हटवला जाईल परंतु तो तुमच्या Google खात्यामध्ये स्टोअर केलेला असेल.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome सह सुरक्षित राहा</translation>
 <translation id="8772179140489533211">Chrome मध्ये साइन इन करण्यासाठी सूचना दाखवते.</translation>
 <translation id="8788269841521769222">तुम्ही हा पासवर्ड लक्षात ठेवण्याची आवश्यकता नाही. तो <ph name="EMAIL" /> साठी Google पासवर्ड व्यवस्थापक यामध्ये सेव्ह केला जाईल</translation>
+<translation id="8897749957032330183">पासवर्ड हे Google Password Manager यामध्ये या डिव्हाइसवर सेव्ह केले जातात.</translation>
 <translation id="8969290730818637510">सुरू असल्यास:
 <ph name="BEGIN_INDENT" />  • तुमच्याप्रमाणे Chrome वापरणाऱ्या लोकांसाठी ते आणखी चांगले करण्यात मदत करा.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ms.xtb
index 49f7be5..750c208 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ms.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome tidak mempunyai akses ke foto atau video anda. Dayakan akses dalam Tetapan iOS &gt; Privasi &gt; Foto.</translation>
 <translation id="4099578267706723511">Bantu jadikan Chrome lebih baik dengan menghantar laporan perangkaan penggunaan dan ranap sistem kepada Google.</translation>
 <translation id="417201473131094001">Tidak disokong pada Chrome Canary</translation>
+<translation id="4192781968753717021">Kata laluan ini ditemukan dalam pelanggaran data. Google Password Manager mengesyorkan agar anda menukar kata laluan anda sekarang.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> menggunakan Chrome dan membiarkan penanda halaman, kata laluan dan tetapan lain pada peranti ini.</translation>
 <translation id="424864128008805179">Log keluar daripada Chrome?</translation>
 <translation id="4249068189593983585">Petua Chrome. Untuk melihat lebih banyak pilihan tab, sentuh &amp; tahan butang Tunjukkan Tab dalam bar alat, yang terletak di bahagian bawah atau atas skrin anda.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Biarkan Chrome mengunci tab Inkognito anda.</translation>
 <translation id="6412673304250309937">Semak URL melalui perbandingan dengan senarai tapak tidak selamat yang disimpan dalam Chrome. Jika tapak cuba mencuri kata laluan anda atau apabila anda memuat turun fail yang berbahaya, Chrome juga mungkin menghantar URL, termasuk sedikit kandungan halaman, kepada Penyemakan Imbas Selamat.</translation>
 <translation id="6427126399757991875">Organisasi anda sedang menyediakan Chrome...</translation>
+<translation id="651403856614361404">Kata laluan ini ditemukan dalam pelanggaran data. Chrome mengesyorkan supaya anda menukar kata laluan sekarang.</translation>
 <translation id="6600954340915313787">Disalin ke Chrome</translation>
 <translation id="6634107063912726160">Apabila anda log keluar, Chrome tidak akan menyegerakkan sebarang data baharu ke Akaun Google anda. Data yang disegerakkan sebelumnya akan dikekalkan dalam akaun.</translation>
 <translation id="6648150602980899529">Anda log masuk dengan akaun yang diurus oleh <ph name="DOMAIN" /> dan memberi kawalan terhadap data Chrome anda kepada  pentadbirnya. Data anda akan terikat secara kekal kepada akaun ini. Tindakan log keluar daripada Chrome akan memadamkan data anda daripada peranti ini, tetapi data itu akan kekal disimpan dalam Akaun Google anda.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Kekal Selamat dengan Google Chrome</translation>
 <translation id="8772179140489533211">Memaparkan gesaan untuk log masuk ke Chrome.</translation>
 <translation id="8788269841521769222">Anda tidak perlu mengingati kata laluan ini. Kata laluan ini akan disimpan pada Pengurus Kata Laluan Google untuk <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Kata laluan disimpan pada Google Password Manager pada peranti ini.</translation>
 <translation id="8969290730818637510">Apabila dihidupkan:
 <ph name="BEGIN_INDENT" />  • Bantu jadikan Chrome lebih baik untuk orang yang menggunakannya seperti anda.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_my.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_my.xtb
index 8b27f9c..0ba3559 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_my.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome သည်သင့်ဓာတ်ပုံများနှင့် ဗီဒီယိုများကို အသုံးပြုခွင့်မရှိပါ။ အသုံးပြုခွင့်ကို iOS ဆက်တင်များ &gt; ကိုယ်ရေးအချက်အလက်လုံခြုံမှု &gt; ဓာတ်ပုံများ တွင်သွားရောက်ဖွင့်နိုင်ပါသည်။</translation>
 <translation id="4099578267706723511">အသုံးပြုမှု စာရင်းအင်းများ နှင့် ပျက်စီးမှု အစီရင်ခံစာများကို Google သို့ အလိုအလျောက် ပို့ပေးခြင်းဖြင့် Chrome ကို ပိုကောင်းမွန်အောင် ကူညီပေးပါ။</translation>
 <translation id="417201473131094001">Chrome Canary တွင် ပံ့ပိုးမထားပါ</translation>
+<translation id="4192781968753717021">ဤစကားဝှက်ကို ဒေတာကျိုးပေါက်မှုတွင် တွေ့ရှိထားသည်။ သင့်စကားဝှက်ကို ယခုပြောင်းရန် ‘Google စကားဝှက်မန်နေဂျာ’ က အကြံပြုပါသည်။</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> က Chrome အသုံးပြုလျက်ရှိပြီး ဤစက်တွင် လိပ်စာ၊ စကားဝှက်နှင့် အခြားဆက်တင်များ ချန်ထားသည်။</translation>
 <translation id="424864128008805179">Chrome မှထွက်မလား။</translation>
 <translation id="4249068189593983585">Chrome အကြံပြုချက်။ နောက်ထပ် တဘ်ရွေးချယ်စရာများအတွက် ဖန်သားပြင်၏ အောက်ခြေ သို့မဟုတ် ထိပ်ဘက်ရှိ ကိရိယာဘားအတွင်း 'တဘ်ကို ပြရန်' ခလုတ်ကို တို့၍ဖိထားပါ။</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">သင့် 'ရုပ်ဖျက်တဘ်များ' လော့ခ်ချရန် Chrome ကို ခွင့်ပြုပါ။</translation>
 <translation id="6412673304250309937">Chrome တွင် သိမ်းဆည်းထားသော လုံခြုံမှုမရှိသည့် ဝဘ်ဆိုက်များ၏ URL များကို စစ်ဆေးပေးသည်။ ဝဘ်ဆိုက်တစ်ခုက သင့်စကားဝှက်ကို ခိုးယူရန် ကြိုးပမ်းလာပါက သို့မဟုတ် အန္တရာယ်ရှိသည့်ဖိုင်တစ်ခုကို သင်ဒေါင်းလုဒ်လုပ်သည့်အခါ Chrome သည် Safe Browsing သို့ URL များအပြင် ဝဘ်ဆိုက်ပါ အကြောင်းအရာအချို့ကို ပို့နိုင်သည်။</translation>
 <translation id="6427126399757991875">သင့်အဖွဲ့အစည်းသည် Chrome ကို စနစ်ထည့်သွင်းနေသည်...</translation>
+<translation id="651403856614361404">ဤစကားဝှက်ကို ဒေတာကျိုးပေါက်မှုတွင် တွေ့ရှိထားသည်။ သင့်စကားဝှက်ကို ယခုပြောင်းရန် Chrome က အကြံပြုပါသည်။</translation>
 <translation id="6600954340915313787">Chrome သို့ ကူးယူပြီး၏</translation>
 <translation id="6634107063912726160">သင်အကောင့်မှထွက်သောအခါ Chrome သည် သင့် Google Account သို့ ဒေတာအသစ်များကို စင့်ခ်လုပ်မည်မဟုတ်ပါ။ ယခင်က စင့်ခ်လုပ်ထားသောဒေတာများ အကောင့်တွင် ဆက်ရှိနေပါမည်။</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" /> ကစီမံသည့် အကောင့်မှ သင်ထွက်နေပြီဖြစ်ပြီး ၎င်း၏စီမံခန့်ခွဲသူအား သင့် Chrome ဒေတာကို ထိန်းချုပ်ခွင့်ပေးနေပါသည်။ သင့်ဒေတာများကို ဤအကောင့်တွင် အမြဲတမ်း ချိတ်ဆက်ထားပါလိမ့်မည်။ Chrome မှထွက်ခြင်းဖြင့် သင့်ဒေတာကို ဤစက်ပစ္စည်းမှ ဖျက်ပစ်မည်ဖြစ်သော်လည်း၊ သင့် Google အကောင့်တွင် သိမ်းဆည်းထားပါမည်။</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome ဖြင့် ဘေးကင်းအောင်နေခြင်း</translation>
 <translation id="8772179140489533211">Chrome သို့ လက်မှတ်ထိုးဝင်ရန် အတည်ပြုခြင်းစနစ်များ ပြသည်။</translation>
 <translation id="8788269841521769222">ဤစကားဝှက်ကို မှတ်ထားစရာ မလိုပါ။ ၎င်းကို <ph name="EMAIL" /> အတွက် ‘Google စကားဝှက်မန်နေဂျာ’ တွင် သိမ်းပါမည်</translation>
+<translation id="8897749957032330183">စကားဝှက်များကို ဤစက်ရှိ ‘Google စကားဝှက်မန်နေဂျာ’ တွင် သိမ်းသည်။</translation>
 <translation id="8969290730818637510">ဖွင့်ထားပါက-
 <ph name="BEGIN_INDENT" />  • သင့်နည်းတူ Chrome သုံးသူများအတွက် ၎င်းပိုကောင်းလာအောင် ကူညီနိုင်သည်။<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_no.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_no.xtb
index 9209d69a..73fd528 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_no.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome har ikke tilgang til bildene eller videoene dine. Slå på tilgangen i iOS-innstillingene &gt; Personvern &gt; Bilder.</translation>
 <translation id="4099578267706723511">Gjør Chrome bedre ved å sende bruksstatistikk og programstopprapporter til Google.</translation>
 <translation id="417201473131094001">Støttes ikke i Chrome Canary</translation>
+<translation id="4192781968753717021">Dette passordet er funnet i et databrudd. Google Passordlagring anbefaler at du endrer passordet nå.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> har brukt Chrome og etterlatt seg bokmerker, passord og andre innstillinger på denne enheten.</translation>
 <translation id="424864128008805179">Vil du logge av Chrome?</translation>
 <translation id="4249068189593983585">Chrome-tips. For flere fanealternativer, trykk og hold inne Vis faner-knappen på verktøylinjen, som du finner nederst eller øverst på skjermen.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">La Chrome låse inkognitofanene dine.</translation>
 <translation id="6412673304250309937">Kontrollerer nettadresser opp mot en liste i Chrome over utrygge nettsteder. Hvis nettsteder prøver å stjele passordet ditt, eller når du laster ned skadelige filer, kan Chrome også sende nettadresser, inkludert deler av sideinnholdet, til Safe Browsing.</translation>
 <translation id="6427126399757991875">Organisasjonen din konfigurerer Chrome …</translation>
+<translation id="651403856614361404">Dette passordet er funnet i et databrudd. Chrome anbefaler deg å bytte passord nå.</translation>
 <translation id="6600954340915313787">Kopiert til Chrome</translation>
 <translation id="6634107063912726160">Når du logger av, synkroniserer ikke Chrome nye data med Google-kontoen din. Tidligere synkroniserte data blir værende på kontoen.</translation>
 <translation id="6648150602980899529">Du logger på med en konto som administreres av <ph name="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 lagres fortsatt i Google-kontoen din.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Hold deg trygg med Google Chrome</translation>
 <translation id="8772179140489533211">Viser vinduer som ber deg logge på Chrome.</translation>
 <translation id="8788269841521769222">Du trenger ikke å huske dette passordet. Det blir lagret i Google Passordlagring for <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Passord lagres i Google Passordlagring på denne enheten.</translation>
 <translation id="8969290730818637510">Når du gir samtykke
 <ph name="BEGIN_INDENT" />  • bidrar du til å gjøre Chrome bedre for folk som bruker nettleseren på samme måte som deg<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
index 958cecc2bd..759795c 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_or.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome ପାଖରେ ଆପଣଙ୍କର ଫଟୋ ଏବଂ ଭିଡିଓଗୁଡ଼ିକ ପାଇଁ ଆକ୍‌ସେସ୍ ନାହିଁ। 'iOS ସେଟିଂସ୍ &gt; ଗୋପନୀୟତା &gt; ଫଟୋସ୍'ରେ ଆକ୍‌ସେସ୍ ସକ୍ଷମ କରନ୍ତୁ।</translation>
 <translation id="4099578267706723511">Googleକୁ ବ୍ୟବହାରର ପରିସଂଖ୍ୟାନ ଏବଂ କ୍ରାଶ୍ ରିପୋର୍ଟ ପଠାଇ, Chromeକୁ ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ।</translation>
 <translation id="417201473131094001">Chrome Canaryରେ ସମର୍ଥିତ ନୁହେଁ</translation>
+<translation id="4192781968753717021">ଏକ ଡାଟା ଉଲ୍ଲଙ୍ଘନରେ ଏହି ପାସୱାର୍ଡଟି ମିଳିଛି। Google Password Manager ବର୍ତ୍ତମାନ ଆପଣଙ୍କ ପାସୱାର୍ଡକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ସୁପାରିଶ କରେ।</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> ଏହି ଡିଭାଇସରେ Chrome ବ୍ୟବହାର କରି ବୁକମାର୍କ, ପାସୱାର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସ ଛାଡ଼ିଛନ୍ତି।</translation>
 <translation id="424864128008805179">Chromeରୁ ସାଇନ୍‌ ଆଉଟ୍‍ କରିବେ?</translation>
 <translation id="4249068189593983585">Chrome ଟିପ୍। ଅଧିକ ଟାବ୍ ବିକଳ୍ପ ପାଇଁ, ଟୁଲ୍‌ବାର୍‌ରେ ଥିବା 'ଟାବ୍‍ଗୁଡ଼ିକ ଦେଖାନ୍ତୁ' ବଟନ୍‍କୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ ଯାହା ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‌ର ନିମ୍ନରେ କିମ୍ବା ଶୀର୍ଷରେ ରହିଥାଏ।</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Chromeକୁ ଆପଣଙ୍କ ଇନକଗ୍ନିଟୋ ଟାବଗୁଡ଼ିକୁ ଲକ୍ କରିବାକୁ ଦିଅନ୍ତୁ।</translation>
 <translation id="6412673304250309937">Chromeରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଅସୁରକ୍ଷିତ ସାଇଟଗୁଡ଼ିକର ଏକ ତାଲିକା ସହିତ URLଗୁଡ଼ିକୁ ଯାଞ୍ଚ କରେ। ଯଦି କୌଣସି ସାଇଟ୍ ଆପଣଙ୍କ ପାସୱାର୍ଡ ଚୋରି କରିବାକୁ ଚେଷ୍ଟା କରେ କିମ୍ବା ଆପଣ ଏକ କ୍ଷତିକାରକ ଫାଇଲ୍ ଡାଉନଲୋଡ୍ କଲେ, ପୃଷ୍ଠାର କିଛି ବିଷୟବସ୍ତୁ ସହିତ URLଗୁଡ଼ିକୁ ମଧ୍ୟ Chrome ସେଫ୍ ବ୍ରାଉଜିଂକୁ ପଠାଇପାରେ।</translation>
 <translation id="6427126399757991875">ଆପଣଙ୍କ ସଂସ୍ଥା Chrome ସେଟ୍ ଅପ୍ କରୁଛି...</translation>
+<translation id="651403856614361404">ଏକ ଡାଟା ଉଲ୍ଲଙ୍ଘନରେ ଏହି ପାସୱାର୍ଡଟି ମିଳିଛି। Chrome ଆପଣଙ୍କ ପାସୱାର୍ଡକୁ ବର୍ତ୍ତମାନ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ସୁପାରିଶ କରେ।</translation>
 <translation id="6600954340915313787">କପି କରାଯାଇ Chromeକୁ ନିଆଗଲା</translation>
 <translation id="6634107063912726160">ଆପଣ ସାଇନ୍ ଆଉଟ୍ କଲେ, Chrome ଯେ କୌଣସି ନୂଆ ଡାଟାକୁ ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ସହିତ ସିଙ୍କ କରିବ ନାହିଁ। ପୂର୍ବରୁ ସିଙ୍କ କରାଯାଇଥିବା ଡାଟା ଆକାଉଣ୍ଟରେ ରହିଥାଏ।</translation>
 <translation id="6648150602980899529"><ph name="DOMAIN" />ଙ୍କ ଦ୍ୱାରା ପରିଚାଳିତ ଏକ ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ଆପଣ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି ଏବଂ ଏହାର ଆଡ୍‍ମିନିଷ୍ଟ୍ରେଟର୍‍ଙ୍କୁ ଆପଣଙ୍କ Chrome ଡାଟାର ନିୟନ୍ତ୍ରଣ ଦେଇଛନ୍ତି। ଆପଣଙ୍କ ଡାଟା ଏହି ଆକାଉଣ୍ଟ ସହ ସ୍ଥାୟୀରୂପେ ଯୋଡ଼ି ହୋଇଯିବ। Chromeରୁ ସାଇନ୍ ଆଉଟ୍ କରିବା ଦ୍ୱାରା ଏହି ଡିଭାଇସ୍‍ରୁ ଆପଣଙ୍କର ଡାଟା ଡିଲିଟ୍ ହୋଇଯିବ, କିନ୍ତୁ ଏହା ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟରେ ଷ୍ଟୋର୍ ହୋଇ ରହିବ।</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome ସହ ସୁରକ୍ଷିତ ରୁହନ୍ତୁ</translation>
 <translation id="8772179140489533211">Chromeରେ ସାଇନ୍ ଇନ୍ କରିବାକୁ ପ୍ରମ୍ପ୍ଟ ଦେଖାଏ।</translation>
 <translation id="8788269841521769222">ଆପଣଙ୍କୁ ଏହି ପାସୱାର୍ଡ ମନେ ରଖିବା ଆବଶ୍ୟକ ହେବ ନାହିଁ। <ph name="EMAIL" />ର Google ପାସୱାର୍ଡ ମ୍ୟାନେଜରରେ ଏହା ସେଭ ହୋଇଯିବ</translation>
+<translation id="8897749957032330183">ଏହି ଡିଭାଇସର Google Password Managerରେ ପାସୱାର୍ଡଗୁଡ଼ିକୁ ସେଭ କରାଯାଇଛି।</translation>
 <translation id="8969290730818637510">ଚାଲୁ ଥିବା ସମୟରେ:
 <ph name="BEGIN_INDENT" />  • ଆପଣ Chromeକୁ ଯେପରି ବ୍ୟବହାର କରନ୍ତି ସେହିପରି ବ୍ୟବହାର କରୁଥିବା ଲୋକମାନଙ୍କ ପାଇଁ ଏହାକୁ ଆହୁରି ଉନ୍ନତ କରିବାରେ ସାହାଯ୍ୟ କରନ୍ତୁ।<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
index 2a0e091..d1f33138 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pa.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome ਦੀ ਤੁਹਾਡੀਆਂ ਫ਼ੋਟੋਆਂ ਜਾਂ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਹੈ। iOS ਸੈਟਿੰਗਾਂ &gt; ਪਰਦੇਦਾਰੀ &gt; ਫ਼ੋਟੋਆਂ ਵਿੱਚ ਪਹੁੰਚ ਨੂੰ ਚਾਲੂ ਕਰੋ।</translation>
 <translation id="4099578267706723511">Google ਨੂੰ ਵਰਤੋਂ ਅੰਕੜੇ ਅਤੇ ਕ੍ਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਭੇਜ ਕੇ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ।</translation>
 <translation id="417201473131094001">Chrome Canary 'ਤੇ ਸਮਰਥਿਤ ਨਹੀਂ</translation>
+<translation id="4192781968753717021">ਇਹ ਪਾਸਵਰਡ ਕਿਸੇ ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਮਿਲਿਆ ਸੀ। Google Password Manager ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਹੁਣੇ ਬਦਲਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> ਵੱਲੋਂ Chrome ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਸੀ ਅਤੇ ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਬੁੱਕਮਾਰਕ, ਪਾਸਵਰਡ ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਨੂੰ ਆਯਾਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।</translation>
 <translation id="424864128008805179">ਕੀ Chrome ਤੋਂ ਸਾਈਨ-ਆਊਟ ਹੋਣਾ ਹੈ?</translation>
 <translation id="4249068189593983585">Chrome ਨੁਕਤਾ। ਹੋਰ ਟੈਬ ਵਿਕਲਪਾਂ ਲਈ, ਟੂਲਬਾਰ ਵਿੱਚ 'ਟੈਬਾਂ ਦਿਖਾਓ' ਬਟਨ ਨੂੰ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ, ਜੋ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਜਾਂ ਉੱਪਰ ਹੈ।</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Chrome ਨੂੰ ਤੁਹਾਡੀਆਂ ਇਨਕੋਗਨਿਟੋ ਟੈਬਾਂ ਲਾਕ ਕਰਨ ਦਿਓ।</translation>
 <translation id="6412673304250309937">Chrome ਵਿੱਚ ਸਟੋਰ ਕੀਤੀਆਂ ਅਸੁਰੱਖਿਅਤ ਸਾਈਟਾਂ ਦੀ ਸੂਚੀ ਦੇ ਨਾਲ URL ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਜੇ ਕੋਈ ਸਾਈਟ ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਚੋਰੀ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਜਾਂ ਜਦੋਂ ਤੁਸੀਂ ਕੋਈ ਨੁਕਸਾਨਦੇਹ ਫ਼ਾਈਲ ਡਾਊਨਲੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ Chrome ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਪੰਨੇ ਦੀ ਥੋੜ੍ਹੀ ਸਮੱਗਰੀ ਸਮੇਤ URL ਵੀ ਭੇਜ ਸਕਦਾ ਹੈ।</translation>
 <translation id="6427126399757991875">ਤੁਹਾਡੀ ਸੰਸਥਾ Chrome ਦਾ ਸੈੱਟਅੱਪ ਕਰ ਰਹੀ ਹੈ...</translation>
+<translation id="651403856614361404">ਇਹ ਪਾਸਵਰਡ ਕਿਸੇ ਡਾਟਾ ਉਲੰਘਣਾ ਵਿੱਚ ਮਿਲਿਆ ਸੀ। Chrome ਤੁਹਾਡੇ ਪਾਸਵਰਡ ਨੂੰ ਹੁਣੇ ਬਦਲਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ।</translation>
 <translation id="6600954340915313787">Chrome 'ਤੇ ਕਾਪੀ ਕੀਤਾ</translation>
 <translation id="6634107063912726160">ਜਦੋਂ ਤੁਸੀਂ ਸਾਈਨ-ਆਊਟ ਕਰਦੇ ਹੋ, ਤਾਂ Chrome ਕਿਸੇ ਵੀ ਤਰ੍ਹਾਂ ਦੇ ਨਵੇਂ ਡਾਟੇ ਦਾ ਸਿੰਕ ਤੁਹਾਡੇ Google ਖਾਤੇ ਨਾਲ ਨਹੀਂ ਕਰੇਗਾ। ਪਹਿਲਾਂ ਸਿੰਕ ਕੀਤਾ ਗਿਆ ਡਾਟਾ ਖਾਤੇ ਵਿੱਚ ਹੀ ਰਹਿੰਦਾ ਹੈ।</translation>
 <translation id="6648150602980899529">ਤੁਸੀਂ <ph name="DOMAIN" /> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤੇ ਖਾਤੇ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰ ਰਹੇ ਹੋ ਅਤੇ ਉਸਦੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਆਪਣੇ Chrome ਡਾਟੇ ਦਾ ਕੰਟਰੋਲ ਦੇ ਰਹੇ ਹੋ। ਤੁਹਾਡਾ ਡਾਟਾ ਸਥਾਈ ਤੌਰ 'ਤੇ ਇਸ ਖਾਤੇ ਨਾਲ ਜੋੜ ਦਿੱਤਾ ਜਾਵੇਗਾ। Chrome ਤੋਂ ਸਾਈਨ-ਆਊਟ ਹੋਣ ਨਾਲ ਤੁਹਾਡਾ ਡਾਟਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਪਰ ਇਹ ਤੁਹਾਡੇ Google ਖਾਤੇ ਵਿੱਚ ਸਟੋਰ ਰਹੇਗਾ।</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome ਨਾਲ ਸੁਰੱਖਿਅਤ ਰਹੋ</translation>
 <translation id="8772179140489533211">Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਉਤਪ੍ਰੇਰਕਾਂ ਨੂੰ ਦਿਖਾਉਂਦਾ ਹੈ।</translation>
 <translation id="8788269841521769222">ਤੁਹਾਨੂੰ ਇਸ ਪਾਸਵਰਡ ਨੂੰ ਯਾਦ ਰੱਖਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੋਵੇਗੀ। ਇਸਨੂੰ <ph name="EMAIL" /> ਦੇ Google ਪਾਸਵਰਡ ਪ੍ਰਬੰਧਕ ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ</translation>
+<translation id="8897749957032330183">ਪਾਸਵਰਡ ਇਸ ਡੀਵਾਈਸ ਦੇ Google Password Manager ਵਿੱਚ ਰੱਖਿਅਤ ਕੀਤੇ ਗਏ ਹਨ।</translation>
 <translation id="8969290730818637510">ਚਾਲੂ ਹੋਣ 'ਤੇ:
 <ph name="BEGIN_INDENT" />  • ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਲਈ Chrome ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰੋ ਜੋ ਇਸਨੂੰ ਤੁਹਾਡੇ ਤਰੀਕੇ ਮੁਤਾਬਕ ਵਰਤਦੇ ਹਨ।<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
index 1c8dcc3e..3f25fa12 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pl.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome nie ma dostępu do Twoich zdjęć ani filmów. Aby włączyć dostęp w iOS, wybierz Ustawienia &gt; Prywatność &gt; Zdjęcia.</translation>
 <translation id="4099578267706723511">Pomóż ulepszyć Chrome, wysyłając do Google statystyki użytkowania i raporty o awariach.</translation>
 <translation id="417201473131094001">Nieobsługiwane w Chrome Canary</translation>
+<translation id="4192781968753717021">Znaleźliśmy to hasło wśród ujawnionych w wyniku naruszenia bezpieczeństwa danych. Menedżer haseł Google zaleca natychmiastową zmianę hasła.</translation>
 <translation id="4233521129555661685">Użytkownik <ph name="USER_EMAIL1" /> korzystał z Chrome i zapisał na tym urządzeniu swoje zakładki, hasła i inne ustawienia.</translation>
 <translation id="424864128008805179">Wylogować z Chrome?</translation>
 <translation id="4249068189593983585">Wskazówka dla użytkowników Chrome. Aby zobaczyć więcej opcji kart, naciśnij i przytrzymaj przycisk Pokaż karty na pasku narzędzi, który znajduje się na dole lub na górze ekranu.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Pozwól Chrome blokować karty incognito.</translation>
 <translation id="6412673304250309937">Sprawdza, czy URL jest na liście potencjalnie niebezpiecznych stron zapisanej w Chrome. Jeśli strona próbuje wykraść Twoje hasło lub pobierasz szkodliwy plik, Chrome może też wysłać URL wraz z fragmentami zawartości strony do usługi Bezpieczne przeglądanie.</translation>
 <translation id="6427126399757991875">Twoja organizacja konfiguruje Chrome…</translation>
+<translation id="651403856614361404">Znaleźliśmy to hasło wśród ujawnionych w wyniku naruszenia bezpieczeństwa danych. Chrome zaleca natychmiastową zmianę hasła.</translation>
 <translation id="6600954340915313787">Skopiowana do Chrome</translation>
 <translation id="6634107063912726160">Gdy się wylogujesz, Chrome nie zsynchronizuje żadnych nowych danych z Twoim kontem Google. Dane, które zostały zsynchronizowane wcześniej, pozostaną na koncie.</translation>
 <translation id="6648150602980899529">Logujesz się na konto, którym zarządza <ph name="DOMAIN" />, i przekazujesz jego administratorowi kontrolę nad Twoimi danymi Chrome. Zostaną one trwale przypisane do tego konta. Gdy się wylogujesz, znikną one z tego urządzenia, ale pozostaną zapisane na Twoim koncie Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Dbaj o swoje bezpieczeństwo, używając Google Chrome</translation>
 <translation id="8772179140489533211">Pokazuj prośby o zalogowanie się w Chrome.</translation>
 <translation id="8788269841521769222">Nie musisz go zapamiętywać. Menedżer haseł Google zapisze je na koncie <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Hasła są zapisywane w Menedżerze haseł Google na tym urządzeniu.</translation>
 <translation id="8969290730818637510">Po włączeniu:
 <ph name="BEGIN_INDENT" />  • Pomagaj w udoskonalaniu Chrome pod kątem potrzeb użytkowników, którzy korzystają z przeglądarki w taki sam sposób jak Ty.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
index 9704187..b499fae 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_pt-BR.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">O Google Chrome não têm acesso às suas fotos ou vídeos. Permita o acesso em "Configurações do iOS" &gt; "Privacidade" &gt; "Fotos".</translation>
 <translation id="4099578267706723511">Ajude a melhorar o Chrome. Envie estatísticas de uso e relatórios de falhas ao Google.</translation>
 <translation id="417201473131094001">Indisponível no Chrome Canary</translation>
+<translation id="4192781968753717021">Essa senha foi encontrada em uma violação de dados. O Gerenciador de senhas do Google recomenda que você a mude imediatamente.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> estava usando o Chrome e deixou favoritos, senhas e outras configurações neste dispositivo.</translation>
 <translation id="424864128008805179">Sair do Google Chrome?</translation>
 <translation id="4249068189593983585">Dica do Chrome. Para ver mais opções de guia, toque no botão "Mostrar guias" na barra de ferramentas localizada na parte superior ou inferior da tela e mantenha-o pressionado.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Permita que o Chrome bloqueie suas guias anônimas.</translation>
 <translation id="6412673304250309937">Verifica se os URLs estão em uma lista de sites não seguros armazenada no Chrome. Se um site tentar roubar sua senha ou se você fizer o download de um arquivo nocivo, o Chrome também poderá enviar URLs, incluindo partes do conteúdo da página, para o "Navegação segura".</translation>
 <translation id="6427126399757991875">Sua organização está configurando o Chrome…</translation>
+<translation id="651403856614361404">Essa senha foi encontrada em uma violação de dados. O Chrome recomenda que você a mude imediatamente.</translation>
 <translation id="6600954340915313787">Copiado no Chrome</translation>
 <translation id="6634107063912726160">Quando você se desconecta, o Chrome não sincroniza nenhum dado novo com sua Conta do Google. Os dados sincronizados anteriormente permanecem na conta.</translation>
 <translation id="6648150602980899529">Você está fazendo login com uma conta gerenciada por <ph name="DOMAIN" /> e dando ao administrador dela o controle sobre seus dados do Chrome, os quais ficarão permanentemente vinculados a essa conta. Se você sair do Chrome, seus dados serão excluídos desse dispositivo, mas permanecerão armazenados na sua Conta do Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Proteja-se com o Google Chrome</translation>
 <translation id="8772179140489533211">Mostra solicitações para fazer login no Chrome.</translation>
 <translation id="8788269841521769222">Você não terá que se lembrar dessa senha. Ela vai ficar salva na conta <ph name="EMAIL" /> do Gerenciador de senhas do Google</translation>
+<translation id="8897749957032330183">As senhas são salvas no Gerenciador de senhas do Google neste dispositivo.</translation>
 <translation id="8969290730818637510">Quando ativada, essa configuração:
 <ph name="BEGIN_INDENT" />  • ajuda a melhorar o Chrome para as pessoas que o usam da mesma forma que você.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
index 9f0bcdc4..6220991 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ro.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome nu are acces la fotografii și videoclipuri. Activează accesul din Setări iOS &gt; Confidențialitate &gt; Fotografii.</translation>
 <translation id="4099578267706723511">Contribuie la îmbunătățirea Chrome trimițând statistici de utilizare și rapoarte de blocare la Google.</translation>
 <translation id="417201473131094001">Nu se acceptă pe Chrome Canary</translation>
+<translation id="4192781968753717021">Parola a fost găsită într-o încălcare a securității datelor. Managerul de parole Google recomandă să schimbi parola acum.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> folosea Chrome și marcajele, parolele și alte setări ale sale au rămas pe acest dispozitiv.</translation>
 <translation id="424864128008805179">Te deconectezi de la Chrome?</translation>
 <translation id="4249068189593983585">Sfat pentru Chrome: pentru mai multe opțiuni de file, atinge lung butonul Afișează filele din bara de instrumente, care se află în partea de sus sau de jos a ecranului.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Permite ca Chrome să blocheze filele incognito.</translation>
 <translation id="6412673304250309937">Verifică adresele URL folosind o listă de site-uri nesigure, stocată în Chrome. Dacă un site încearcă să îți fure parola sau descarci un fișier dăunător, Chrome poate să trimită adresele URL, inclusiv fragmente din conținutul paginilor, către funcția Navigare sigură.</translation>
 <translation id="6427126399757991875">Organizația ta configurează Chrome...</translation>
+<translation id="651403856614361404">Parola a fost găsită într-o încălcare a securității datelor. Chrome recomandă să schimbi parola acum.</translation>
 <translation id="6600954340915313787">Copiat în Chrome</translation>
 <translation id="6634107063912726160">Când te deconectezi, Chrome nu va sincroniza datele noi cu Contul tău Google. Datele sincronizate anterior rămân în cont.</translation>
 <translation id="6648150602980899529">Te conectezi cu un cont gestionat de <ph name="DOMAIN" /> și acorzi administratorului acestuia controlul asupra datelor Chrome. Datele vor fi asociate definitiv acestui cont. Dacă te deconectezi de la Chrome, datele vor fi șterse de pe acest dispozitiv, dar vor rămâne stocate în Contul Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Protejează-te cu Google Chrome</translation>
 <translation id="8772179140489533211">Afișează solicitări pentru conectarea la Chrome.</translation>
 <translation id="8788269841521769222">Nu va trebui să reții această parolă. Ea se va salva în Managerul de parole Google pentru <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Parolele sunt salvate în Managerul de parole Google pe acest dispozitiv.</translation>
 <translation id="8969290730818637510">Când opțiunea este activă
 <ph name="BEGIN_INDENT" />  • Contribui la îmbunătățirea Chrome pentru cei care-l folosesc în mod similar cu tine<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
index ec13b47..6bd60a4 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_ur.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">‏Google Chrome کو آپ کی تصاویر یا ویڈیوز تک رسائی حاصل نہیں ہے۔ iOS ترتیبات &gt; رازداری &gt; تصاویر میں رسائی کو فعال کریں۔</translation>
 <translation id="4099578267706723511">‏Google کو استعمال کے اعداد و شمار اور کریش رپورٹس بھیج کر Chrome کو بہتر بنانے میں مدد کریں۔</translation>
 <translation id="417201473131094001">‏Chrome Canary پر تعاون یافتہ نہیں ہے</translation>
+<translation id="4192781968753717021">‏یہ پاس ورڈ ڈیٹا کی خلاف ورزی میں ملا تھا۔ Google پاس ورڈ مینیجر آپ کے پاس ورڈ کو ابھی تبدیل کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="4233521129555661685">‏<ph name="USER_EMAIL1" /> Chrome استعمال کر رہا تھا اور اس آلہ پر بُک مارکس، پاس ورڈز اور دیگر ترتیبات چھوڑ دی ہیں۔</translation>
 <translation id="424864128008805179">‏Chrome سے سائن آؤٹ کریں؟</translation>
 <translation id="4249068189593983585">‏Chrome تجویز۔ ٹیب کے مزید اختیارات کیلئے، ٹول بار میں اس "ٹیبز دکھائيں" بٹن کو ٹچ کریں اور دبائے رکھیں جو آپ کی اسکرین کے نیچے یا اوپر ہوتا ہے۔</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">‏Chrome کو اپنے پوشیدگی ٹیبز مقفل کرنے دیں۔</translation>
 <translation id="6412673304250309937">‏Chrome میں اسٹور کردہ غیر محفوظ سائٹس کی فہرست کے URLs چیک کرتا ہے۔ اگر کوئی سائٹ آپ کا پاس ورڈ چرانے کی کوشش کرتی ہے یا جب آپ نقصان دہ فائل ڈاؤن لوڈ کرتے ہیں تو Chrome محفوظ براؤزنگ پر صفحہ کے مواد کے بائٹس سمیت URLs بھیجتا ہے۔</translation>
 <translation id="6427126399757991875">‏آپ کی تنظیم Chrome کو سیٹ اپ کر رہی ہے...</translation>
+<translation id="651403856614361404">‏یہ پاس ورڈ ڈیٹا کی خلاف ورزی میں ملا تھا۔ Chrome آپ کو ابھی اپنا پاس ورڈ تبدیل کرنے کی تجویز دیتا ہے۔</translation>
 <translation id="6600954340915313787">‏Chrome پر کاپی کر دیا گیا</translation>
 <translation id="6634107063912726160">‏آپ کے سائن آؤٹ کرنے پر، Chrome کوئی بھی ڈیٹا آپ کے Google اکاؤنٹ کے ساتھ سِنک نہیں کرے گا۔ پہلے کا سِنک کردہ ڈیٹا اکاؤنٹ میں باقی رہے گا۔</translation>
 <translation id="6648150602980899529">‏آپ <ph name="DOMAIN" /> کے زیر انتظام ایک اکاؤنٹ کے ساتھ سائن ان کر رہے ہیں اور اس کے منتظم کو اپنے Chrome ڈیٹا پر کنٹرول دے رہے ہیں۔ آپ کا ڈیٹا اس اکاؤنٹ سے مستقل طور پر مربوط ہو جائے گا۔ Chrome سے سائن آؤٹ کرنے سے آپ کا ڈیٹا اس آلہ سے حذف ہو جائے گا، لیکن یہ آپ کے Google اکاؤنٹ میں اسٹور رہے گا۔</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">‏Google Chrome کے ساتھ محفوظ رہیں</translation>
 <translation id="8772179140489533211">‏Chrome میں سائن ان کرنے کے لیے پرامپٹس دکھاتا ہے۔</translation>
 <translation id="8788269841521769222">‏آپ کو یہ پاس ورڈ یاد رکھنے کی ضرورت نہیں ہوگی۔ اسے Google پاس ورڈ مینیجر میں <ph name="EMAIL" /> کے لیے محفوظ کیا جائے گا</translation>
+<translation id="8897749957032330183">‏پاس ورڈز اس آلہ پر Google پاس ورڈ مینیجر میں محفوظ کیے جاتے ہیں۔</translation>
 <translation id="8969290730818637510">‏آن ہونے پر:
 <ph name="BEGIN_INDENT" />  • Chrome کو ان لوگوں کے لیے بہتر بنانے میں مدد کریں جو اسے آپ کی طرح استعمال کرتے ہیں۔<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
index cd14e08..d8eeb1d 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_vi.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome không có quyền truy cập ảnh hoặc video của bạn. Hãy cho phép truy cập trong Cài đặt iOS &gt; Bảo mật &gt; Ảnh.</translation>
 <translation id="4099578267706723511">Giúp cải thiện Chrome bằng cách gửi số liệu thống kê sử dụng và báo cáo sự cố cho Google.</translation>
 <translation id="417201473131094001">Chưa hỗ trợ trên Chrome Canary</translation>
+<translation id="4192781968753717021">Mật khẩu này đã bị lộ trong một sự cố rò rỉ dữ liệu. Trình quản lý mật khẩu của Google khuyên bạn nên đổi mật khẩu ngay.</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> đã dùng Chrome và lưu lại dấu trang, mật khẩu cũng như các chế độ cài đặt khác trên thiết bị này.</translation>
 <translation id="424864128008805179">Đăng xuất khỏi Chrome?</translation>
 <translation id="4249068189593983585">Mẹo sử dụng Chrome. Để xem thêm các tùy chọn về thẻ, hãy chạm và giữ nút Hiển thị thẻ trên thanh công cụ ở đầu hoặc cuối màn hình.</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">Để Chrome khóa các thẻ Ẩn danh của bạn.</translation>
 <translation id="6412673304250309937">Kiểm tra đối chiếu các URL với danh sách trang web không an toàn được lưu trữ trong Chrome. Nếu một trang web cố ăn cắp mật khẩu của bạn hoặc nếu bạn tải một tệp gây hại xuống, Chrome cũng có thể gửi các URL, bao gồm cả các đoạn nội dung trên trang, đến tính năng Duyệt web an toàn.</translation>
 <translation id="6427126399757991875">Tổ chức của bạn đang thiết lập Chrome...</translation>
+<translation id="651403856614361404">Mật khẩu này đã bị lộ trong một sự cố rò rỉ dữ liệu. Chrome khuyên bạn nên đổi mật khẩu ngay.</translation>
 <translation id="6600954340915313787">Đã sao chép vào Chrome</translation>
 <translation id="6634107063912726160">Khi bạn đăng xuất, Chrome sẽ không đồng bộ hóa bất cứ dữ liệu mới nào với Tài khoản Google của bạn. Dữ liệu đã đồng bộ hóa trước đó sẽ vẫn có trong tài khoản này.</translation>
 <translation id="6648150602980899529">Bạn đang đăng nhập bằng tài khoản do <ph name="DOMAIN" /> quản lý và cấp cho quản trị viên quyền kiểm soát dữ liệu Chrome của bạn. Dữ liệu của bạn sẽ được liên kết vĩnh viễn với tài khoản này. Việc đăng xuất khỏi Chrome sẽ xóa dữ liệu của bạn khỏi thiết bị này nhưng dữ liệu đó sẽ vẫn được lưu trữ trong Tài khoản Google.</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Luôn an toàn khi dùng Google Chrome</translation>
 <translation id="8772179140489533211">Hiển thị lời nhắc đăng nhập vào Chrome.</translation>
 <translation id="8788269841521769222">Bạn không cần nhớ mật khẩu này. Mật khẩu này sẽ được lưu vào Trình quản lý mật khẩu của Google cho <ph name="EMAIL" /></translation>
+<translation id="8897749957032330183">Mật khẩu được lưu vào Trình quản lý mật khẩu của Google trên thiết bị này.</translation>
 <translation id="8969290730818637510">Khi bật:
 <ph name="BEGIN_INDENT" />  • Cải thiện Chrome cho những ai đang dùng Chrome giống bạn.<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
index 62ef5ea..876c6dd 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-CN.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome 无权访问您的照片或视频。请依次点按 iOS 中的“设置”&gt;“隐私”&gt;“照片”,授予其访问权限。</translation>
 <translation id="4099578267706723511">将使用情况统计信息和崩溃报告发送给 Google,帮助我们完善 Chrome。</translation>
 <translation id="417201473131094001">在 Chrome Canary 版中不受支持</translation>
+<translation id="4192781968753717021">此密码遭遇了数据泄露。Google 密码管理工具建议您立即更改密码。</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> 原本使用 Chrome,并在此设备上保存了书签、密码及其他设置。</translation>
 <translation id="424864128008805179">退出 Chrome?</translation>
 <translation id="4249068189593983585">Chrome 提示。要查看更多的标签页选项,请轻触并按住工具栏(位于屏幕底部或顶部)中的“显示标签页”按钮。</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">让 Chrome 锁定您的无痕式标签页。</translation>
 <translation id="6412673304250309937">将网址与存储在 Chrome 中的不安全网站列表进行比对。如果某个网站企图窃取您的密码,或者您下载了有害的文件,Chrome 可能还会将相应网址连同少量网页内容发送给“安全浏览”功能。</translation>
 <translation id="6427126399757991875">贵组织正在设置 Chrome…</translation>
+<translation id="651403856614361404">此密码遭遇了数据泄露。Chrome 建议您立即更改密码。</translation>
 <translation id="6600954340915313787">已复制到 Chrome</translation>
 <translation id="6634107063912726160">当您退出登录后,Chrome 不会将任何新数据同步到您的 Google 帐号。先前已同步的数据将会保留在帐号中。</translation>
 <translation id="6648150602980899529">您正要登录由 <ph name="DOMAIN" /> 管理的帐号,并要授权其管理员控制您的 Chrome 数据。您的数据将与此帐号永久关联。退出 Chrome 后,您的数据将从这台设备上删除,但仍会保留在您的 Google 帐号中。</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">Google Chrome 可确保您始终处于保护之下</translation>
 <translation id="8772179140489533211">显示意在引导用户登录 Chrome 的提示。</translation>
 <translation id="8788269841521769222">您不需要记住此密码。系统会将它保存到 <ph name="EMAIL" /> 的 Google 密码管理器中</translation>
+<translation id="8897749957032330183">系统会将密码保存到此设备上的 Google 密码管理工具中。</translation>
 <translation id="8969290730818637510">处于开启状态时:
 <ph name="BEGIN_INDENT" />  • 可协助改进 Chrome,让所有像您这样使用 Chrome 的用户都能获享更好的体验。<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-HK.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-HK.xtb
index 5ebec36..f7ec643 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-HK.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome 沒有存取相片或影片的權限。請前往「iOS 設定」&gt;「私隱」&gt;「相片」開放權限。</translation>
 <translation id="4099578267706723511">將使用統計資料及當機報告傳送給 Google,助我們一臂之力,讓 Chrome 更臻完美。</translation>
 <translation id="417201473131094001">Chrome Canary 上不支援此功能</translation>
+<translation id="4192781968753717021">此密碼因資料外洩而被洩露。「Google 密碼管理工具」建議您立即變更密碼。</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> 之前曾在此裝置上使用 Chrome,並儲存書籤、密碼和其他設定。</translation>
 <translation id="424864128008805179">要登出 Chrome 嗎?</translation>
 <translation id="4249068189593983585">Chrome 提示。如果要多啲標籤選項,請㩒住螢幕底部或者頂部工具列入面中嘅 [顯示分頁] 掣。</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">讓 Chrome 鎖定您的無痕式分頁。</translation>
 <translation id="6412673304250309937">使用儲存在 Chrome 中的不安全網站清單來檢查網址。如果有網站試圖盜取您的密碼,或當您下載有害檔案時,Chrome 亦可能將網址 (包括部分網頁內容) 傳送至「安全瀏覽」功能。</translation>
 <translation id="6427126399757991875">您的機構正在設定 Chrome…</translation>
+<translation id="651403856614361404">此密碼因資料外洩而被洩露。Chrome 建議您立即變更密碼。</translation>
 <translation id="6600954340915313787">已複製至 Chrome</translation>
 <translation id="6634107063912726160">登出時,Chrome 將不會同步任何新資料至您的 Google 帳戶。不過,先前已同步處理的資料仍會保存在帳戶中。</translation>
 <translation id="6648150602980899529">您即將登入由 <ph name="DOMAIN" /> 管理的帳戶,並讓帳戶管理員控制您的 Chrome 資料。您的資料將與這個帳戶建立永久連結。如果您登出 Chrome,系統將刪除此裝置上的資料,但這些資料仍會儲存在您的 Google 帳戶中。</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">讓 Google Chrome 確保您的安全</translation>
 <translation id="8772179140489533211">顯示登入 Chrome 的指示。</translation>
 <translation id="8788269841521769222">您不需記住此密碼。密碼將會儲存至 <ph name="EMAIL" /> 的「Google 密碼管理工具」</translation>
+<translation id="8897749957032330183">密碼會儲存至此裝置上的「Google 密碼管理工具」。</translation>
 <translation id="8969290730818637510">開啟時:
 <ph name="BEGIN_INDENT" />  • 可協助 Chrome 為使用者提供更優質的使用體驗。<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
index 30fb17a..b184408 100644
--- a/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_google_chrome_strings_zh-TW.xtb
@@ -52,6 +52,7 @@
 <translation id="3988789688219830639">Google Chrome 無法存取您的相片或影片,請前往「iOS 設定」中的 [隱私權] &gt; [相片] 啟用存取權。</translation>
 <translation id="4099578267706723511">將使用統計資料及當機報告傳送給 Google,助我們一臂之力,讓 Chrome 更臻完美。</translation>
 <translation id="417201473131094001">Chrome Canary 不支援這項功能</translation>
+<translation id="4192781968753717021">這個密碼已在資料侵害事件中外洩,Google 密碼管理工具建議你立即變更密碼。</translation>
 <translation id="4233521129555661685"><ph name="USER_EMAIL1" /> 原本使用 Chrome,並將書籤、密碼和其他設定儲存在裝置上。</translation>
 <translation id="424864128008805179">要登出 Chrome 嗎?</translation>
 <translation id="4249068189593983585">Chrome 提示。如需更多分頁選項,請輕觸並按住工具列 (位於畫面底部或頂端) 中的 [顯示分頁] 按鈕。</translation>
@@ -83,6 +84,7 @@
 <translation id="6238746320622508509">讓 Chrome 鎖定你的無痕分頁。</translation>
 <translation id="6412673304250309937">可使用儲存在 Chrome 中的不安全網站清單檢查網址。如果有網站試圖竊取你的密碼,或當你下載有害檔案時,Chrome 可能也會將網址 (包括部分網頁內容) 傳送至安全瀏覽功能。</translation>
 <translation id="6427126399757991875">貴機構正在設定 Chrome...</translation>
+<translation id="651403856614361404">這個密碼已在資料侵害事件中外洩,Chrome 建議你立即變更密碼。</translation>
 <translation id="6600954340915313787">已複製到 Chrome</translation>
 <translation id="6634107063912726160">登出帳戶後,Chrome 就不會將任何新資料同步到你的 Google 帳戶。不過,先前已同步處理的資料仍會保存在帳戶中。</translation>
 <translation id="6648150602980899529">您即將使用由 <ph name="DOMAIN" /> 所管理的帳戶登入,並授權該網域的管理員控管您的 Chrome 資料。您的資料會與這個帳戶建立永久連結。登出 Chrome 後,系統會將您的資料從這個裝置上刪除,但繼續保留在您的 Google 帳戶中。</translation>
@@ -126,6 +128,7 @@
 <translation id="8736550665979974340">讓 Google Chrome 保障你的安全</translation>
 <translation id="8772179140489533211">顯示登入 Chrome 的提示。</translation>
 <translation id="8788269841521769222">你不需要記住這組密碼,系統會將密碼儲存至 <ph name="EMAIL" /> 的 Google 密碼管理員中</translation>
+<translation id="8897749957032330183">密碼會儲存至這部裝置的 Google 密碼管理工具。</translation>
 <translation id="8969290730818637510">開啟時:
 <ph name="BEGIN_INDENT" />  • 可協助 Chrome 為使用者提供更優質的服務體驗。<ph name="END_INDENT" />
 
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index 70810bc..8d52f94 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -752,6 +752,7 @@
 <translation id="6988572888918530647">Bestuur jou Google-rekening</translation>
 <translation id="6989674195860388998">Skakel oor na Instellings …</translation>
 <translation id="6998989275928107238">Aan</translation>
+<translation id="699954956411469731">Mobiele kennisgewings</translation>
 <translation id="7004032350256606903">Jou organisasie vereis dat jy privaat blaai.
 <ph name="BEGIN_LINK" />Kom meer te wete<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Onlangse oortjies</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_as.xtb b/ios/chrome/app/strings/resources/ios_strings_as.xtb
index e6a0e0b9..2510c5a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_as.xtb
@@ -752,6 +752,7 @@
 <translation id="6988572888918530647">আপোনাৰ Google একাউণ্ট পৰিচালনা কৰক</translation>
 <translation id="6989674195860388998">ছেটিঙলৈ গৈ সলনি কৰক…</translation>
 <translation id="6998989275928107238">প্ৰতি</translation>
+<translation id="699954956411469731">ম’বাইলৰ জাননী</translation>
 <translation id="7004032350256606903">আপোনাৰ প্ৰতিষ্ঠানৰ বাবে আপুনি ব্যক্তিগতভাৱে ব্ৰাউজ কৰাৰ আৱশ্যক।
 <ph name="BEGIN_LINK" />অধিক জানক<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">শেহতীয়া টেব</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index d50ab7b..11cdf3b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Qəbul edin və Davam edin</translation>
 <translation id="110724200315609752">Açıq Pəncərəyə keçirin</translation>
 <translation id="1112015203684611006">Çap alınmadı.</translation>
+<translation id="1118569444314402022">Təkrar xoş gəldiniz, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Yeni panel yaradın.</translation>
 <translation id="1126809382673880764">Sizi təhlükəli veb sayt, endirmə və artırmalardan qorumur. Hələ də Gmail və Axtarış kimi digər Google xidmətlərində mümkün olduğu qədər Təhlükəsiz Baxış qoruması əldə edəcəksiniz.</translation>
 <translation id="1135212215217513471">iOS üçün Chrome əldə edin</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Sinxronizasiya işləmir.</translation>
 <translation id="1377321085342047638">Kart Nömrəsi</translation>
 <translation id="1383876407941801731">Axtar</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> kimi davam edin</translation>
 <translation id="1400642268715879018">Son 4 Həftə</translation>
 <translation id="1404330357948037222">Hesabdan Çıxdınız</translation>
 <translation id="1407135791313364759">Hamısını açın</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Redaktəyə Davam Edin</translation>
 <translation id="2434405374328098816">Artıq <ph name="WEBSITE" /> saytında "<ph name="USERNAME" />" üçün parolu yadda saxlamısınız</translation>
 <translation id="2435457462613246316">Parol görünsün</translation>
+<translation id="2461070143328828326">Parol Ayarları</translation>
 <translation id="2469960372084740698">Təhlükəsiz Baxış Deaktiv edilsin?</translation>
 <translation id="2473876017985765807">Artıq <ph name="WEBSITE" /> üçün parolu yadda saxlamısınız</translation>
 <translation id="2476359652512522418">Seçilməyib</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Oxunmamış kimi qeyd edin</translation>
 <translation id="371230970611282515">Təhlükəli hadisələr baş vermədən əvvəl onları proqnozlaşdırır və sizə xəbərdarlıq edir.</translation>
 <translation id="37207012422556617">Aktual Axtarışlar</translation>
+<translation id="3726360487031500941"><ph name="USER_NAME" /> hesabınıza yenidən daxil olun</translation>
 <translation id="3740397331642243698">Daxil edilən keçidləri Google Chrome'da Anonim rejimdə açır.</translation>
 <translation id="3762232513783804601">iPad'iniz üçün hazırlanıb</translation>
 <translation id="3771033907050503522">Gizli Panellər</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
index d8f9f47..8dafbcc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -752,6 +752,7 @@
 <translation id="6988572888918530647">Upravljanje Google računom</translation>
 <translation id="6989674195860388998">Prebacite u Postavkama…</translation>
 <translation id="6998989275928107238">Do</translation>
+<translation id="699954956411469731">Obavijesti na mobilnom uređaju</translation>
 <translation id="7004032350256606903">Vaša organizacija zahtijeva da pregledate privatno.
 <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index a76d5c8..aa43165 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Accepta i continua</translation>
 <translation id="110724200315609752">Canvia a la finestra oberta</translation>
 <translation id="1112015203684611006">Error en imprimir</translation>
+<translation id="1118569444314402022">Et donem la benvinguda de nou, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Crea una pestanya nova.</translation>
 <translation id="1126809382673880764">No et protegeix contra baixades, extensions ni llocs web perillosos. Continuaràs obtenint protecció mitjançant Navegació segura, sempre que estigui disponible, en altres serveis de Google, com ara Gmail i la Cerca.</translation>
 <translation id="1135212215217513471">Baixa Chrome per a iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">La sincronització ha deixat de funcionar.</translation>
 <translation id="1377321085342047638">Número de targeta</translation>
 <translation id="1383876407941801731">Cerca</translation>
+<translation id="138618066238211776">Continua com a <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Quatre darreres setmanes</translation>
 <translation id="1404330357948037222">No has iniciat la sessió</translation>
 <translation id="1407135791313364759">Obre-les totes</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Continua editant</translation>
 <translation id="2434405374328098816">Ja has desat una contrasenya per a <ph name="USERNAME" /> a <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Mostra la contrasenya</translation>
+<translation id="2461070143328828326">Configuració de contrasenyes</translation>
 <translation id="2469960372084740698">Vols desactivar Navegació segura?</translation>
 <translation id="2473876017985765807">Ja has desat una contrasenya per a <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">No està seleccionada</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Marca com a no llegit</translation>
 <translation id="371230970611282515">Prediu esdeveniments perillosos abans que es produeixin i t'hi avisa.</translation>
 <translation id="37207012422556617">Tendències</translation>
+<translation id="3726360487031500941">Torna a iniciar la sessió al teu compte <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Obre els URL introduïts en mode d'incògnit a Google Chrome.</translation>
 <translation id="3762232513783804601">Creat per a l'iPad</translation>
 <translation id="3771033907050503522">Pestanyes d'incògnit</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index ccc10ba..791d7c68 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -56,6 +56,7 @@
 <translation id="1322735045095424339">Vaše organizace vyžaduje anonymní režim</translation>
 <translation id="1323735185997015385">Smazat</translation>
 <translation id="132683371494960526">Dvojitým klepnutím změníte nadřazenou složku.</translation>
+<translation id="1335348992705722518">Spravovat nastavení…</translation>
 <translation id="1340643665687018190">Zavřít nabídku</translation>
 <translation id="1358214951266274152">Navštívit zkopírovaný odkaz</translation>
 <translation id="1360432990279830238">Odhlásit se a vypnout synchronizaci?</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 26ef28d..5e37649 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Akzeptieren &amp; weiter</translation>
 <translation id="110724200315609752">Zu offenem Fenster wechseln</translation>
 <translation id="1112015203684611006">Fehler beim Drucken.</translation>
+<translation id="1118569444314402022">Willkommen zurück, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Neuen Tab erstellen.</translation>
 <translation id="1126809382673880764">Du wirst nicht vor schädlichen Websites, Downloads und Erweiterungen geschützt. Sofern verfügbar, bist du in anderen Google-Diensten, wie Gmail und der Google Suche, durch Safe Browsing geschützt.</translation>
 <translation id="1135212215217513471">Chrome für iOS herunterladen</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Die Synchronisierung funktioniert nicht mehr.</translation>
 <translation id="1377321085342047638">Kartennummer</translation>
 <translation id="1383876407941801731">Durchsuchen</translation>
+<translation id="138618066238211776">Als „<ph name="USER_NAME" />“ fortfahren</translation>
 <translation id="1400642268715879018">Letzte 4 Wochen</translation>
 <translation id="1404330357948037222">Du bist abgemeldet</translation>
 <translation id="1407135791313364759">Alle öffnen</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Weiter bearbeiten</translation>
 <translation id="2434405374328098816">Du hast für „<ph name="USERNAME" />“ schon ein Passwort bei <ph name="WEBSITE" /> gespeichert</translation>
 <translation id="2435457462613246316">Passwort anzeigen</translation>
+<translation id="2461070143328828326">Passworteinstellungen</translation>
 <translation id="2469960372084740698">Safe Browsing deaktivieren?</translation>
 <translation id="2473876017985765807">Du hast bereits ein Passwort für <ph name="WEBSITE" /> gespeichert</translation>
 <translation id="2476359652512522418">Nicht ausgewählt</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Als ungelesen markieren</translation>
 <translation id="371230970611282515">Erkennt schädliche Ereignisse im Voraus und warnt dich, bevor diese eintreten.</translation>
 <translation id="37207012422556617">Trends bei Suchanfragen</translation>
+<translation id="3726360487031500941">Melde dich wieder in deinem Konto <ph name="USER_NAME" /> an</translation>
 <translation id="3740397331642243698">Öffnet die eingegebenen URLs in Google Chrome im Inkognitomodus.</translation>
 <translation id="3762232513783804601">Für dein iPad entwickelt</translation>
 <translation id="3771033907050503522">Inkognito-Tabs</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index d4366d1..674a929 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -757,6 +757,7 @@
 <translation id="6988572888918530647">Διαχείριση Λογαριασμού Google</translation>
 <translation id="6989674195860388998">Κάντε την αλλαγή στις Ρυθμίσεις…</translation>
 <translation id="6998989275928107238">Προς</translation>
+<translation id="699954956411469731">Ειδοποιήσεις σε κινητά</translation>
 <translation id="7004032350256606903">Ο οργανισμός σας απαιτεί οι περιηγήσεις σας να είναι ιδιωτικές.
 <ph name="BEGIN_LINK" />Μάθετε περισσότερα<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Πρόσφατες καρτέλες</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index 4f011225..5093344 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Aceptar y continuar</translation>
 <translation id="110724200315609752">Cambiar a ventana abierta</translation>
 <translation id="1112015203684611006">Error al imprimir.</translation>
+<translation id="1118569444314402022">Te damos la bienvenida de nuevo, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Crear nueva pestaña.</translation>
 <translation id="1126809382673880764">No te protege frente a descargas, extensiones ni sitios web peligrosos. Seguirás disfrutando de protección con la función Navegación segura, si está disponible, en otros servicios de Google, como Gmail y la Búsqueda.</translation>
 <translation id="1135212215217513471">Descarga Chrome para iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">La sincronización ha dejado de funcionar.</translation>
 <translation id="1377321085342047638">Número de tarjeta</translation>
 <translation id="1383876407941801731">Buscar</translation>
+<translation id="138618066238211776">Continuar como <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Últimas 4 semanas</translation>
 <translation id="1404330357948037222">Se ha cerrado tu sesión</translation>
 <translation id="1407135791313364759">Abrir todas</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Seguir editando</translation>
 <translation id="2434405374328098816">Ya has guardado una contraseña para <ph name="USERNAME" /> en <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Mostrar contraseña</translation>
+<translation id="2461070143328828326">Ajustes de contraseña</translation>
 <translation id="2469960372084740698">¿Desactivar Navegación segura?</translation>
 <translation id="2473876017985765807">Ya has guardado una contraseña para <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">No seleccionada</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Marcar como no leído</translation>
 <translation id="371230970611282515">Predice y te advierte de eventos peligrosos antes de que se produzcan.</translation>
 <translation id="37207012422556617">Tendencias de búsqueda</translation>
+<translation id="3726360487031500941">Vuelve a iniciar sesión en tu cuenta <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Abre las URL introducidas en Google Chrome en incógnito.</translation>
 <translation id="3762232513783804601">Diseñado para tu iPad</translation>
 <translation id="3771033907050503522">Pestañas incógnito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index aba98a8..542492c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Nõustu ja jätka</translation>
 <translation id="110724200315609752">Lülitu avatud aknale</translation>
 <translation id="1112015203684611006">Print. ebaõnn.</translation>
+<translation id="1118569444314402022">Tere tulemast tagasi, <ph name="USER_NAME" />!</translation>
 <translation id="1125564390852150847">Loo uus vaheleht.</translation>
 <translation id="1126809382673880764">Ei kaitse teid ohtlike veebisaitide, allalaadimiste ega laienduste eest. Google'i ohutu sirvimine kaitseb teid siiski muudes Google'i teenustes, kus see saadaval on (nt Gmail ja Otsing).</translation>
 <translation id="1135212215217513471">Hankige Chrome iOS-ile</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Sünkroonimine lakkas töötamast.</translation>
 <translation id="1377321085342047638">Kaardinr</translation>
 <translation id="1383876407941801731">Otsi</translation>
+<translation id="138618066238211776">Jätkake kasutajana <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Viimased neli nädalat</translation>
 <translation id="1404330357948037222">Olete välja logitud</translation>
 <translation id="1407135791313364759">Ava kõik</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Jätka töötlemist</translation>
 <translation id="2434405374328098816">Olete kasutaja „<ph name="USERNAME" />“ jaoks parooli saidil <ph name="WEBSITE" /> juba salvestanud.</translation>
 <translation id="2435457462613246316">Kuva parool</translation>
+<translation id="2461070143328828326">Parooli seaded</translation>
 <translation id="2469960372084740698">Kas lülitada Google'i ohutu sirvimine välja?</translation>
 <translation id="2473876017985765807">Salvestasite saidi <ph name="WEBSITE" /> jaoks juba parooli</translation>
 <translation id="2476359652512522418">Ei ole valitud</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Märgi mitteloetuks</translation>
 <translation id="371230970611282515">Ennustab ohtlikke sündmusi ette ja hoiatab teid.</translation>
 <translation id="37207012422556617">Populaarsust koguvad otsingud</translation>
+<translation id="3726360487031500941">Logige oma kontole <ph name="USER_NAME" /> uuesti sisse</translation>
 <translation id="3740397331642243698">Avab sisestatud URL-id Google Chrome'is inkognito režiimis.</translation>
 <translation id="3762232513783804601">Loodud teie iPadile</translation>
 <translation id="3771033907050503522">Inkogn. vahelehed</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index b9e54b8..54b5d0c2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">پذیرش و ادامه</translation>
 <translation id="110724200315609752">رفتن به پنجره باز</translation>
 <translation id="1112015203684611006">چاپ انجام نشد.</translation>
+<translation id="1118569444314402022"><ph name="USER_NAME" />، دوباره خوش آمدید</translation>
 <translation id="1125564390852150847">ایجاد برگه جدید</translation>
 <translation id="1126809382673880764">‏دربرابر وب‌سایت‌ها، بارگیری‌ها، و افزونه‌های خطرناک از شما محافظت نمی‌کند. درصورت موجود بودن، همچنان ویژگی حفاظتی «مرور ایمن» را در سرویس‌های دیگر Google مثل Gmail و «جستجو» دریافت می‌کنید.</translation>
 <translation id="1135212215217513471">‏دریافت Chrome ویژه iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">همگام‌سازی متوقف شد.</translation>
 <translation id="1377321085342047638">شماره کارت</translation>
 <translation id="1383876407941801731">جستجو</translation>
+<translation id="138618066238211776">ادامه دادن به‌عنوان <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">۴ هفته گذشته</translation>
 <translation id="1404330357948037222">از سیستم خارج شده‌اید</translation>
 <translation id="1407135791313364759">باز کردن همه</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">ادامه ویرایش</translation>
 <translation id="2434405374328098816">قبلاً گذرواژه‌ای برای «<ph name="USERNAME" />» در <ph name="WEBSITE" /> ذخیره کرده‌اید</translation>
 <translation id="2435457462613246316">نمایش گذرواژه</translation>
+<translation id="2461070143328828326">تنظیمات رمز عبور</translation>
 <translation id="2469960372084740698">«مرور ایمن» خاموش شود؟</translation>
 <translation id="2473876017985765807">قبلاً گذرواژه‌ای برای <ph name="WEBSITE" /> ذخیره کرده‌اید</translation>
 <translation id="2476359652512522418">انتخاب نشده</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">علامت‌گذاری به‌عنوان خوانده‌نشده</translation>
 <translation id="371230970611282515">رویدادهای خطرناک را پیش از اینکه اتفاق بیفتند پیش‌بینی می‌کند و درباره آن‌ها به شما هشدار می‌دهد.</translation>
 <translation id="37207012422556617">جستجوهای پرطرفدار</translation>
+<translation id="3726360487031500941">دوباره به سیستم حساب خود وارد شوید <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">‏نشانی‌های واردشده را در Google Chrome در حالت «ناشناس» باز می‌کند.</translation>
 <translation id="3762232513783804601">‏ساخته‌شده برای iPad شما</translation>
 <translation id="3771033907050503522">برگه‌های ناشناس</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 332cfda..ef8153b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Hyväksy ja jatka</translation>
 <translation id="110724200315609752">Vaihda avoimeen ikkunaan</translation>
 <translation id="1112015203684611006">Tulostus epäonnistui</translation>
+<translation id="1118569444314402022">Tervetuloa takaisin, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Luo uusi välilehti.</translation>
 <translation id="1126809382673880764">Ei suojaa sinua vaarallisilta sivustoilta, latauksilta ja laajennuksilta. Voit silti käyttää Selaussuojaa muissa Googlen palveluissa, joissa se on saatavilla, kuten Gmailissa ja Haussa.</translation>
 <translation id="1135212215217513471">Lataa Chrome iOS:lle</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Synkronointi on lakannut toimimasta.</translation>
 <translation id="1377321085342047638">Kortin numero</translation>
 <translation id="1383876407941801731">Haku</translation>
+<translation id="138618066238211776">Jatka käyttäjänä <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Viimeisten 4 viikon ajalta</translation>
 <translation id="1404330357948037222">Olet kirjautunut ulos</translation>
 <translation id="1407135791313364759">Avaa kaikki</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Jatka muokkausta</translation>
 <translation id="2434405374328098816">Olet jo tallentanut salasanan (käyttäjätunnus: <ph name="USERNAME" />) täällä: <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Näytä salasana</translation>
+<translation id="2461070143328828326">Salasana-asetukset</translation>
 <translation id="2469960372084740698">Laitetaanko Selaussuoja pois päältä?</translation>
 <translation id="2473876017985765807">Olet jo tallentanut salasanan täällä: <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Ei valittu</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Merkitse lukemattomaksi</translation>
 <translation id="371230970611282515">Ennustaa vaarallisia tapahtumia ja varoittaa niistä etukäteen.</translation>
 <translation id="37207012422556617">Trendaavat haut</translation>
+<translation id="3726360487031500941">Kirjaudu uudelleen tilillesi <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Avaa syötetyt URL-osoitteet Google Chromen incognito-tilassa.</translation>
 <translation id="3762232513783804601">Suunniteltu iPadille</translation>
 <translation id="3771033907050503522">Incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index 221295c..cb6b653 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Tanggapin at Magpatuloy</translation>
 <translation id="110724200315609752">Lumipat sa Nakabukas na Window</translation>
 <translation id="1112015203684611006">Hindi na-print.</translation>
+<translation id="1118569444314402022">Maligayang pagbabalik, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Gumawa ng bagong tab.</translation>
 <translation id="1126809382673880764">Hindi ka pinoprotektahan laban sa mga mapanganib na website, download, at extension. Magkakaroon ka pa rin ng proteksyon ng Ligtas na Pag-browse, kung available, sa iba pang serbisyo ng Google, tulad ng Gmail at Search.</translation>
 <translation id="1135212215217513471">Kunin ang Chrome para sa iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Huminto ang pag-sync.</translation>
 <translation id="1377321085342047638">Numero ng Card</translation>
 <translation id="1383876407941801731">Hanapin</translation>
+<translation id="138618066238211776">Magpatuloy bilang <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Nakalipas na 4 Linggo</translation>
 <translation id="1404330357948037222">Naka-sign Out Ka</translation>
 <translation id="1407135791313364759">Buksan lahat</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Magpatuloy sa Pag-edit</translation>
 <translation id="2434405374328098816">May na-save ka nang password para sa "<ph name="USERNAME" />" sa <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Ipakita ang password</translation>
+<translation id="2461070143328828326">Mga Setting ng Password</translation>
 <translation id="2469960372084740698">I-off ang Ligtas na Pag-browse?</translation>
 <translation id="2473876017985765807">May na-save ka nang password para sa <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Hindi Napili</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Markahan Bilang Hindi pa Nababasa</translation>
 <translation id="371230970611282515">Hinuhulaan ang mga mapanganib na event at binibigyan ka ng babala tungkol sa mga ito bago mangyari ang mga ito.</translation>
 <translation id="37207012422556617">Mga Trending na Paghahanap</translation>
+<translation id="3726360487031500941">Mag-sign in ulit sa iyong account <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Bubuksan sa Incognito ang mga inilagay na URL sa Google Chrome.</translation>
 <translation id="3762232513783804601">Ginawa Para sa Iyong iPad</translation>
 <translation id="3771033907050503522">Mga Tab na Incognito</translation>
@@ -752,6 +756,7 @@
 <translation id="6988572888918530647">Pamahalaan ang Iyong Google Account</translation>
 <translation id="6989674195860388998">Lumipat sa Mga Setting…</translation>
 <translation id="6998989275928107238">Para sa</translation>
+<translation id="699954956411469731">Mga Notification sa Mobile</translation>
 <translation id="7004032350256606903">Ipinag-aatas sa iyo ng organisasyon mo na mag-browse nang pribado.
 <ph name="BEGIN_LINK" />Matuto pa<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Mga Kamakailang Tab</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index c4d5e38..fb11891 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -752,6 +752,7 @@
 <translation id="6988572888918530647">Upravljajte svojim Google računom</translation>
 <translation id="6989674195860388998">Promijenite u postavkama…</translation>
 <translation id="6998989275928107238">Do</translation>
+<translation id="699954956411469731">Obavijesti na mobilnom uređaju</translation>
 <translation id="7004032350256606903">Vaša organizacija zahtijeva da pregledavate privatno.
 <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index e27b0e8..2e25a6a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -752,6 +752,7 @@
 <translation id="6988572888918530647">Google-fiók kezelése</translation>
 <translation id="6989674195860388998">Váltás a Beállítások menüben…</translation>
 <translation id="6998989275928107238">Címzett</translation>
+<translation id="699954956411469731">Mobilértesítések</translation>
 <translation id="7004032350256606903">Szervezete privát böngészés használatát követeli meg.
 <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation>
 <translation id="7004499039102548441">Nemrég megnyitott lapok</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 916a5b6..5d40efb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Terima &amp; Lanjutkan</translation>
 <translation id="110724200315609752">Alihkan ke Jendela yang Terbuka</translation>
 <translation id="1112015203684611006">Gagal mencetak.</translation>
+<translation id="1118569444314402022">Selamat datang kembali, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Buat tab baru.</translation>
 <translation id="1126809382673880764">Tidak melindungi Anda terhadap situs, download, dan ekstensi berbahaya. Anda akan tetap mendapatkan perlindungan Safe Browsing, jika tersedia, di layanan Google lainnya, seperti Gmail dan Penelusuran.</translation>
 <translation id="1135212215217513471">Dapatkan Chrome untuk iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Sinkronisasi berhenti berfungsi.</translation>
 <translation id="1377321085342047638">Nomor Kartu</translation>
 <translation id="1383876407941801731">Telusuri</translation>
+<translation id="138618066238211776">Lanjutkan sebagai <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">4 Minggu Terakhir</translation>
 <translation id="1404330357948037222">Anda Telah Logout</translation>
 <translation id="1407135791313364759">Buka semua</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Terus Edit</translation>
 <translation id="2434405374328098816">Anda sudah menyimpan sandi untuk "<ph name="USERNAME" />" di <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Tampilkan sandi</translation>
+<translation id="2461070143328828326">Setelan Sandi</translation>
 <translation id="2469960372084740698">Nonaktifkan Safe Browsing?</translation>
 <translation id="2473876017985765807">Anda sudah menyimpan sandi untuk <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Tidak Dipilih</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Tandai sebagai Belum Dibaca</translation>
 <translation id="371230970611282515">Memperkirakan dan memberikan peringatan terkait peristiwa berbahaya sebelum terjadi.</translation>
 <translation id="37207012422556617">Penelusuran Trending</translation>
+<translation id="3726360487031500941">Login lagi ke akun <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Membuka URL yang diinput di Google Chrome dalam mode Samaran.</translation>
 <translation id="3762232513783804601">Dibuat untuk iPad Anda</translation>
 <translation id="3771033907050503522">Tab Samaran</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_is.xtb b/ios/chrome/app/strings/resources/ios_strings_is.xtb
index cb65539..ef81e31c 100644
--- a/ios/chrome/app/strings/resources/ios_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_is.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Samþykkja og halda áfram</translation>
 <translation id="110724200315609752">Skipta yfir í opinn glugga</translation>
 <translation id="1112015203684611006">Prentun tókst ekki.</translation>
+<translation id="1118569444314402022">Velkomin(n) aftur, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Búa til nýjan flipa.</translation>
 <translation id="1126809382673880764">Ver þig ekki gegn hættulegum vefsvæðum, niðurhali eða viðbótum. Þú munt áfram geta notað örugga vefskoðun, þar sem hún er í boði, í annarri þjónustu Google á borð við Gmail og leit.</translation>
 <translation id="1135212215217513471">Sækja Chrome fyrir iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Samstilling er hætt að virka.</translation>
 <translation id="1377321085342047638">Kortanúmer</translation>
 <translation id="1383876407941801731">Leita</translation>
+<translation id="138618066238211776">Halda áfram sem <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Síðustu fjórar vikur</translation>
 <translation id="1404330357948037222">Þú ert útskráð(ur)</translation>
 <translation id="1407135791313364759">Opna alla</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Halda áfram að breyta</translation>
 <translation id="2434405374328098816">Þú hefur þegar vistað aðgangsorð fyrir „<ph name="USERNAME" />“ á <ph name="WEBSITE" />.</translation>
 <translation id="2435457462613246316">Sýna aðgangsorð</translation>
+<translation id="2461070143328828326">Stillingar fyrir aðgangsorð</translation>
 <translation id="2469960372084740698">Viltu slökkva á öruggri vefnotkun?</translation>
 <translation id="2473876017985765807">Þú hefur þegar vistað aðgangsorð fyrir <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Ekki valið</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Merkja sem ólesið</translation>
 <translation id="371230970611282515">Spáir fyrir um og varar þig við hættulegum viðburðum áður en þeir gerast.</translation>
 <translation id="37207012422556617">Vinsælar leitir</translation>
+<translation id="3726360487031500941">Skráðu þig aftur inn á reikninginn þinn <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Opnar innslegnar vefslóðir í Google Chrome í huliðsstillingu.</translation>
 <translation id="3762232513783804601">Sérhannað fyrir iPad</translation>
 <translation id="3771033907050503522">Huliðsflipar</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index c2d3edd..b514145 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Accetta e continua</translation>
 <translation id="110724200315609752">Passa alla finestra aperta</translation>
 <translation id="1112015203684611006">Stampa non riuscita.</translation>
+<translation id="1118569444314402022">Ti diamo il bentornato <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Crea una nuova scheda.</translation>
 <translation id="1126809382673880764">Non ti protegge da estensioni, download e siti web pericolosi. La protezione di Navigazione sicura, se disponibile, sarà ancora attiva in altri servizi Google, come Gmail e Ricerca.</translation>
 <translation id="1135212215217513471">Scarica Chrome per iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">La sincronizzazione si è interrotta.</translation>
 <translation id="1377321085342047638">Numero carta</translation>
 <translation id="1383876407941801731">Cerca</translation>
+<translation id="138618066238211776">Continua come <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Ultime quattro settimane</translation>
 <translation id="1404330357948037222">Accesso non eseguito</translation>
 <translation id="1407135791313364759">Apri tutte</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Continua a modificare</translation>
 <translation id="2434405374328098816">Hai già salvato una password per "<ph name="USERNAME" />" su <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Mostra password</translation>
+<translation id="2461070143328828326">Impostazioni password</translation>
 <translation id="2469960372084740698">Vuoi disattivare Navigazione sicura?</translation>
 <translation id="2473876017985765807">Hai già salvato una password per <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Non selezionata</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Contrassegna come da leggere</translation>
 <translation id="371230970611282515">Prevede e ti avvisa quando stanno per verificarsi eventi pericolosi.</translation>
 <translation id="37207012422556617">Ricerche di tendenza</translation>
+<translation id="3726360487031500941">Accedi di nuovo al tuo account <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Consente di aprire gli URL inseriti in Google Chrome nella modalità in incognito.</translation>
 <translation id="3762232513783804601">Realizzato per il tuo iPad</translation>
 <translation id="3771033907050503522">Schede di navigazione in incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ka.xtb b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
index 384206a..8193f58 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ka.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">მიღება და გაგრძელება</translation>
 <translation id="110724200315609752">გახსნილ ფანჯარაზე გადართვა</translation>
 <translation id="1112015203684611006">ბეჭდვა ვერ განხორციელდა.</translation>
+<translation id="1118569444314402022">კვლავ მოგესალმებით, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">ახალი ჩანართის შექმნა.</translation>
 <translation id="1126809382673880764">არ დაგიცავთ სახიფათო ვებსაიტებისგან, ჩამოტვირთვებისა თუ გაფართოებებისგან. Safe Browsing-ის დაცვით (ხელმისაწვდომობის მიხედვით) მაინც ისარგებლებთ სხვა Google სერვისებში, როგორიცაა Gmail თუ Search.</translation>
 <translation id="1135212215217513471">ჩამოტვირთეთ Chrome iOS-ისთვის</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">სინქრონიზაციის პროცესი შეწყდა.</translation>
 <translation id="1377321085342047638">ბარათის ნომერი</translation>
 <translation id="1383876407941801731">ძიება</translation>
+<translation id="138618066238211776">გაგრძელება, როგორც <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">ბოლო 4 კვირა</translation>
 <translation id="1404330357948037222">თქვენ გამოსული ხართ</translation>
 <translation id="1407135791313364759">ყველას გახსნა</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">რედაქტირების გაგრძელება</translation>
 <translation id="2434405374328098816"><ph name="WEBSITE" />-დან „<ph name="USERNAME" />“-ის პაროლი უკვე შეინახეთ</translation>
 <translation id="2435457462613246316">პაროლის ჩვენება</translation>
+<translation id="2461070143328828326">პაროლების პარამეტრები</translation>
 <translation id="2469960372084740698">გსურთ, გამორთოთ Safe Browsing?</translation>
 <translation id="2473876017985765807">თქვენ უკვე შეინახეთ პაროლი ვებსაიტისთვის: <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">არ არის არჩეული</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">წაუკითხავად მონიშვნა</translation>
 <translation id="371230970611282515">პროგნოზირებს სახიფათო მოვლენებს და გაგაფრთხილებთ მათ შესახებ.</translation>
 <translation id="37207012422556617">პოპულარული ძიებები</translation>
+<translation id="3726360487031500941">ხელახლა შედით თქვენს ანგარიშში <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">მითითებულ URL-ებს Google Chrome-ის ინკოგნიტო რეჟიმში გახსნის.</translation>
 <translation id="3762232513783804601">შექმნილია თქვენი iPad-ისთვის</translation>
 <translation id="3771033907050503522">ინკოგნიტო ჩანართები</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_km.xtb b/ios/chrome/app/strings/resources/ios_strings_km.xtb
index 6952e38..a9debff 100644
--- a/ios/chrome/app/strings/resources/ios_strings_km.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_km.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">ព្រមទទួល និងបន្ត</translation>
 <translation id="110724200315609752">ប្ដូរទៅ "វិនដូផ្សេង​ដែល​កំពុងបើក"</translation>
 <translation id="1112015203684611006">បានបរាជ័យក្នុងការបោះពុម្ព</translation>
+<translation id="1118569444314402022">សូមស្វាគមន៍​សម្រាប់ការវិលត្រឡប់មកវិញ <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">បង្កើតផ្ទាំងថ្មី</translation>
 <translation id="1126809382673880764">មិនការពារអ្នក​ពីគេហទំព័រ ការទាញយក ឬកម្មវិធី​បន្ថែម​ដែលមានគ្រោះថ្នាក់ទេ។ អ្នក​នឹង​នៅតែ​ទទួលបាន​ការការពារ​ការរុករក​ដោយសុវត្ថិភាព (ប្រសិនបើមាន) នៅក្នុង​សេវាកម្ម Google ផ្សេងទៀត​ដូចជា Gmail និង​កម្មវិធីស្វែងរកជាដើម។</translation>
 <translation id="1135212215217513471">ទាញយក Chrome សម្រាប់ iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">សមកាលកម្មបានឈប់ដំណើរការ</translation>
 <translation id="1377321085342047638">លេខកាត</translation>
 <translation id="1383876407941801731">ស្វែងរក</translation>
+<translation id="138618066238211776">បន្តជា <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">4 សប្តាហ៍ចុងក្រោយ</translation>
 <translation id="1404330357948037222">អ្នកបានចេញពីគណនី</translation>
 <translation id="1407135791313364759">បើកទាំងអស់</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">បន្ត​កែ</translation>
 <translation id="2434405374328098816">អ្នកបាន​រក្សាទុក​ពាក្យសម្ងាត់​សម្រាប់ "<ph name="USERNAME" />" នៅ <ph name="WEBSITE" /> រួចហើយ</translation>
 <translation id="2435457462613246316">បង្ហាញពាក្យសម្ងាត់</translation>
+<translation id="2461070143328828326">ការ​កំណត់​ពាក្យ​សម្ងាត់</translation>
 <translation id="2469960372084740698">បិទ​ការរុករក​ដោយសុវត្ថិភាពឬ?</translation>
 <translation id="2473876017985765807">អ្នកបាន​រក្សាទុក​ពាក្យសម្ងាត់​សម្រាប់ <ph name="WEBSITE" /> រួចហើយ</translation>
 <translation id="2476359652512522418">មិនបាន​ជ្រើសរើសទេ</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">សម្គាល់​ថា​មិន​ទាន់​​​អាន</translation>
 <translation id="371230970611282515">ព្យាករ និងព្រមានអ្នកអំពី​ព្រឹត្តិការណ៍គ្រោះថ្នាក់ មុនពេលព្រឹត្តិការណ៍ទាំងនោះកើតឡើង។</translation>
 <translation id="37207012422556617">ការស្វែងរកដែលកំពុងពេញនិយម</translation>
+<translation id="3726360487031500941">ចូល​គណនី <ph name="USER_NAME" /> របស់អ្នកម្ដងទៀត</translation>
 <translation id="3740397331642243698">បើក URL ដែលបានបញ្ចូល​នៅក្នុង Google Chrome ក្នុងមុខងារឯកជន។</translation>
 <translation id="3762232513783804601">បង្កើតឡើង​សម្រាប់ iPad របស់អ្នក</translation>
 <translation id="3771033907050503522">ផ្ទាំងអនាមិក</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index 02a6672..df454e2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">동의 및 계속</translation>
 <translation id="110724200315609752">열려 있는 다른 창으로 전환</translation>
 <translation id="1112015203684611006">인쇄 실패</translation>
+<translation id="1118569444314402022"><ph name="USER_NAME" />님, 다시 방문해 주셔서 감사합니다</translation>
 <translation id="1125564390852150847">새 탭 만들기</translation>
 <translation id="1126809382673880764">위험한 웹사이트, 다운로드 항목, 확장 프로그램으로부터 사용자를 보호하지 않습니다. Gmail, Google 검색과 같은 다른 Google 서비스에서는 가능한 경우 세이프 브라우징 보호가 계속 제공됩니다.</translation>
 <translation id="1135212215217513471">iOS용 Chrome 다운로드</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">동기화가 중지되었습니다.</translation>
 <translation id="1377321085342047638">카드 번호</translation>
 <translation id="1383876407941801731">검색</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" />(으)로 계속</translation>
 <translation id="1400642268715879018">지난 4주</translation>
 <translation id="1404330357948037222">로그아웃한 상태입니다.</translation>
 <translation id="1407135791313364759">모두 열기</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">수정 계속</translation>
 <translation id="2434405374328098816"><ph name="USERNAME" />님의 <ph name="WEBSITE" /> 비밀번호는 이미 저장되어 있습니다.</translation>
 <translation id="2435457462613246316">비밀번호 표시</translation>
+<translation id="2461070143328828326">비밀번호 설정</translation>
 <translation id="2469960372084740698">세이프 브라우징을 사용 중지하시겠습니까?</translation>
 <translation id="2473876017985765807"><ph name="WEBSITE" /> 비밀번호는 이미 저장되어 있습니다.</translation>
 <translation id="2476359652512522418">선택되지 않음</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">읽지않음으로 표시</translation>
 <translation id="371230970611282515">위험한 이벤트가 발생하기 전에 이를 예측하여 알립니다.</translation>
 <translation id="37207012422556617">인기 검색어</translation>
+<translation id="3726360487031500941"><ph name="USER_NAME" /> 계정에 다시 로그인합니다.</translation>
 <translation id="3740397331642243698">Chrome에서 시크릿 모드로 입력된 URL 열기</translation>
 <translation id="3762232513783804601">iPad를 위한 웹브라우저</translation>
 <translation id="3771033907050503522">시크릿 탭</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index 5261574..41af1a9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Sutikti ir tęsti</translation>
 <translation id="110724200315609752">Perjungti į atidarytą langą</translation>
 <translation id="1112015203684611006">Nepav. atsp.</translation>
+<translation id="1118569444314402022">Sveiki sugrįžę, <ph name="USER_NAME" />!</translation>
 <translation id="1125564390852150847">Kurti naują skirtuką.</translation>
 <translation id="1126809382673880764">Neapsaugo jūsų nuo pavojingų svetainių, atsisiuntimų ir plėtinių. Kai yra galimybė, vis tiek gausite saugaus naršymo pranešimus kitose „Google“ paslaugose, pvz., „Gmail“ ir paieškoje.</translation>
 <translation id="1135212215217513471">Atsisiųskite „Chrome“, skirtą „iOS“</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Sinchronizavimas nebeveikia.</translation>
 <translation id="1377321085342047638">Kort. Nr.</translation>
 <translation id="1383876407941801731">Ieškoti</translation>
+<translation id="138618066238211776">Tęsti kaip <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Pastarosios 4 savaitės</translation>
 <translation id="1404330357948037222">Esate atsijungę</translation>
 <translation id="1407135791313364759">Atidaryti viską</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Toliau redaguoti</translation>
 <translation id="2434405374328098816">Jau išsaugojote <ph name="USERNAME" /> slaptažodį svetainėje <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Rodyti slaptažodį</translation>
+<translation id="2461070143328828326">Slaptažodžio nustatymai</translation>
 <translation id="2469960372084740698">Išjungti Saugaus naršymo funkciją?</translation>
 <translation id="2473876017985765807">Jau išsaugojote svetainės <ph name="WEBSITE" /> slaptažodį</translation>
 <translation id="2476359652512522418">Nepasirinkta</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Pažymėti kaip neskaitytą</translation>
 <translation id="371230970611282515">Numato ir įspėja jus apie pavojingus įvykius, prieš jiems nutinkant.</translation>
 <translation id="37207012422556617">Populiarios paieškos</translation>
+<translation id="3726360487031500941">Dar kartą prisijunkite prie paskyros <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Atidaromi įvesti URL naršyklėje „Google Chrome“ inkognito režimu.</translation>
 <translation id="3762232513783804601">Sukurta specialiai „iPad“</translation>
 <translation id="3771033907050503522">Inkognito skirt.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mk.xtb b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
index 73aa82f..a490f88 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">Управувајте со сметката на Google</translation>
 <translation id="6989674195860388998">Сменете во „Поставки“…</translation>
 <translation id="6998989275928107238">До</translation>
+<translation id="699954956411469731">Известувања на мобилен</translation>
 <translation id="7004032350256606903">Вашата организација бара да прелистувате „Инкогнито“.
 <ph name="BEGIN_LINK" />Дознајте повеќе<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Неодамнешни картички</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index 05199c44..ed9d76b2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">അംഗീകരിച്ച് തുടരുക</translation>
 <translation id="110724200315609752">തുറന്ന വിൻഡോയിലേക്ക് മാറുക</translation>
 <translation id="1112015203684611006">പ്രിന്റിംഗ് പരാജയപ്പെട്ടു.</translation>
+<translation id="1118569444314402022">വീണ്ടും സ്വാഗതം, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">പുതിയ ടാബ് സൃഷ്‌ടിക്കുക.</translation>
 <translation id="1126809382673880764">അപകടകരമായ വെബ്‌സൈറ്റുകൾ ഡൗൺലോഡുകൾ, വിപുലീകരണങ്ങൾ എന്നിവയിൽ നിന്ന് നിങ്ങളെ പരിരക്ഷിക്കില്ല. Gmail, Search പോലുള്ള മറ്റ് Google സേവനങ്ങളിൽ ഉള്ള സുരക്ഷിത ബ്രൗസിംഗ് പരിരക്ഷ നിങ്ങൾക്ക് തുടർന്നും ലഭിക്കും.</translation>
 <translation id="1135212215217513471">iOS-നുള്ള Chrome നേടുക</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">സമന്വയിപ്പിക്കുന്നത് നിർത്തി.</translation>
 <translation id="1377321085342047638">കാർഡ് നമ്പർ</translation>
 <translation id="1383876407941801731">Search</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> ആയി തുടരുക</translation>
 <translation id="1400642268715879018">കഴിഞ്ഞ 4 ആഴ്‌ചയിലെ</translation>
 <translation id="1404330357948037222">നിങ്ങൾ സൈൻ ഔട്ട് ചെയ്‌തു</translation>
 <translation id="1407135791313364759">എല്ലാം തുറക്കുക</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">എഡിറ്റ് ചെയ്യുന്നത് തുടരുക</translation>
 <translation id="2434405374328098816">നിങ്ങൾ "<ph name="USERNAME" />" എന്നതിനുള്ള പാസ്‍വേഡ് <ph name="WEBSITE" /> എന്ന വെബ്സൈറ്റിൽ മുമ്പേ സംരക്ഷിച്ചു</translation>
 <translation id="2435457462613246316">പാസ്‌വേഡ് കാണിക്കുക</translation>
+<translation id="2461070143328828326">പാസ്‌വേഡ് ക്രമീകരണം</translation>
 <translation id="2469960372084740698">സുരക്ഷിത ബ്രൗസിംഗ് ഓഫാക്കണോ?</translation>
 <translation id="2473876017985765807"><ph name="WEBSITE" /> എന്നതിനുള്ള പാസ്‌വേഡ് നിങ്ങൾ മുമ്പേ സംരക്ഷിച്ചു</translation>
 <translation id="2476359652512522418">തിരഞ്ഞെടുത്തിട്ടില്ല</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">വായിച്ചില്ലെന്ന് അടയാളപ്പെടുത്തുക</translation>
 <translation id="371230970611282515">അപകടകരമായ ഇവന്റുകൾ നടക്കുന്നതിന് മുമ്പ് അവ പ്രവചിക്കുകയും നിങ്ങൾക്ക് മുന്നറിയിപ്പ് നൽകുകയും ചെയ്യുന്നു.</translation>
 <translation id="37207012422556617">ട്രെൻഡിംഗ് തിരയലുകൾ</translation>
+<translation id="3726360487031500941">നിങ്ങളുടെ <ph name="USER_NAME" /> അക്കൗണ്ടിലേക്ക് വീണ്ടും സൈൻ ഇൻ ചെയ്യുക</translation>
 <translation id="3740397331642243698">Google Chrome-ൽ നൽകിയിട്ടുള്ള URL-കൾ അദൃശ്യ മോഡിൽ തുറക്കുന്നു.</translation>
 <translation id="3762232513783804601">നിങ്ങളുടെ iPad-നായി നിർമ്മിച്ചത്</translation>
 <translation id="3771033907050503522">ആൾമാറാട്ട ടാബുകൾ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mn.xtb b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
index 96bc2a73..9a0fa94 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
@@ -755,6 +755,7 @@
 <translation id="6988572888918530647">Google бүртгэлээ удирдах</translation>
 <translation id="6989674195860388998">Тохиргоо хэсэгт сэлгэх…</translation>
 <translation id="6998989275928107238">руу</translation>
+<translation id="699954956411469731">Мобайл мэдэгдэл</translation>
 <translation id="7004032350256606903">Танай байгууллага танаас нууцлалтайгаар үзэхийг шаардаж байна.
 <ph name="BEGIN_LINK" />Нэмэлт мэдээлэл авах<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Саяхан нээсэн табууд</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 61b33ca4..e7d6ceb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">स्वीकारा आणि सुरू ठेवा</translation>
 <translation id="110724200315609752">उघड्या विंडोवर स्विच करा</translation>
 <translation id="1112015203684611006">प्रिंट अयशस्वी झाले.</translation>
+<translation id="1118569444314402022"><ph name="USER_NAME" />, तुमचे पुन्हा स्वागत आहे</translation>
 <translation id="1125564390852150847">नवीन टॅब तयार करा.</translation>
 <translation id="1126809382673880764">धोकादायक वेबसाइट, डाउनलोड आणि एक्स्टेंशनपासून तुमचे संरक्षण करत नाही. तुम्हाला तरीही Gmail आणि Search यांसारख्या इतर Google सेवांमध्ये, उपलब्ध असेल तेथे, सुरक्षित ब्राउझिंग संरक्षण मिळेल.</translation>
 <translation id="1135212215217513471">Chrome for iOS मिळवा</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">संकालनाने कार्य करणे थांबविले आहे.</translation>
 <translation id="1377321085342047638">कार्ड नंबर</translation>
 <translation id="1383876407941801731">शोधा</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> म्हणून पुढे सुरू ठेवा</translation>
 <translation id="1400642268715879018">मागील 4 आठवडे</translation>
 <translation id="1404330357948037222">तुम्ही साइन आउट केले आहे</translation>
 <translation id="1407135791313364759">सर्व उघडा</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">संपादन करणे सुरू ठेवा</translation>
 <translation id="2434405374328098816">तुम्ही <ph name="WEBSITE" /> वर "<ph name="USERNAME" />" चा पासवर्ड आधीच सेव्ह केला आहे</translation>
 <translation id="2435457462613246316">पासवर्ड दर्शवा</translation>
+<translation id="2461070143328828326">पासवर्ड सेटिंग्ज</translation>
 <translation id="2469960372084740698">सुरक्षित ब्राउझिंग बंद करायचे का?</translation>
 <translation id="2473876017985765807">तुम्ही <ph name="WEBSITE" /> साठी आधीच पासवर्ड सेव्ह केला आहे</translation>
 <translation id="2476359652512522418">न निवडलेले</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">न वाचलेले म्हणून मार्क करा</translation>
 <translation id="371230970611282515">धोकादायक घटना घडण्याआधी त्यांचे पूर्वानुमान करतो आणि त्यांबद्दल तुम्हाला चेतावणी देतो.</translation>
 <translation id="37207012422556617">ट्रेंडिंग शोध</translation>
+<translation id="3726360487031500941">तुमच्या खात्यात <ph name="USER_NAME" /> पुन्हा साइन इन करा</translation>
 <translation id="3740397331642243698">इनपुट केलेल्या URL ना Google Chrome मध्ये गुप्त मोड मध्ये उघडते.</translation>
 <translation id="3762232513783804601">तुमच्या iPad साठी तयार केलेले</translation>
 <translation id="3771033907050503522">गुप्त टॅब</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index e2f1731..f8b1a95 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Terima &amp; Teruskan</translation>
 <translation id="110724200315609752">Tukar kepada Tetingkap Terbuka</translation>
 <translation id="1112015203684611006">Pencetakan gagal.</translation>
+<translation id="1118569444314402022">Selamat kembali, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Buat tab baharu.</translation>
 <translation id="1126809382673880764">Tidak melindungi anda daripada laman web, muat turun dan sambungan yang berbahaya. Anda akan mendapat perlindungan Penyemakan Imbas Selamat, jika tersedia, dalam perkhidmatan Google yang lain, seperti Gmail dan Carian.</translation>
 <translation id="1135212215217513471">Dapatkan Chrome untuk iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Penyegerakan telah berhenti berfungsi.</translation>
 <translation id="1377321085342047638">Nombor Kad</translation>
 <translation id="1383876407941801731">Carian</translation>
+<translation id="138618066238211776">Teruskan sebagai <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">4 Minggu Yang Lalu</translation>
 <translation id="1404330357948037222">Anda Dilog Keluar</translation>
 <translation id="1407135791313364759">Buka semua</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Teruskan Mengedit</translation>
 <translation id="2434405374328098816">Anda telah pun menyimpan kata laluan untuk "<ph name="USERNAME" />" pada <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Paparkan kata laluan</translation>
+<translation id="2461070143328828326">Tetapan Kata Laluan</translation>
 <translation id="2469960372084740698">Matikan Penyemakan Imbas Selamat?</translation>
 <translation id="2473876017985765807">Anda telah pun menyimpan kata laluan untuk <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Tidak Dipilih</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Tandakan Sebagai Belum Dibaca</translation>
 <translation id="371230970611282515">Meramalkan dan memberi anda amaran tentang acara berbahaya sebelum acara itu berlaku.</translation>
 <translation id="37207012422556617">Carian Sohor Kini</translation>
+<translation id="3726360487031500941">Log masuk semula ke akaun <ph name="USER_NAME" /> anda</translation>
 <translation id="3740397331642243698">Buka URL yang dimasukkan di Google Chrome dalam Inkognito.</translation>
 <translation id="3762232513783804601">Dibina untuk iPad Anda</translation>
 <translation id="3771033907050503522">Tab Inkognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index 9adb0de..fb6b076 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">လက်ခံရန် &amp; ဆက်လုပ်ရန်</translation>
 <translation id="110724200315609752">'ဖွင့်ထားသော ဝင်းဒိုး' သို့ပြောင်းရန်</translation>
 <translation id="1112015203684611006">ပုံနှိပ်ခြင်း မအောင်မြင်ပါ။</translation>
+<translation id="1118569444314402022">ပြန်လည်ကြိုဆိုပါသည် <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">တဘ်အသစ်ဖန်တီးပါ</translation>
 <translation id="1126809382673880764">အန္တရာယ်ရှိသော ဝဘ်ဆိုက်၊ ဒေါင်းလုဒ်နှင့် နောက်ဆက်တွဲများ၏ ရန်မှ ကာကွယ်မပေးပါ။ ရနိုင်သည့်အခါ Gmail နှင့် Search ကဲ့သို့ အခြား Google ဝန်ဆောင်မှုများတွင် 'ဘေးကင်းစွာ အင်တာနက်အသုံးပြုခြင်းစနစ်' ကာကွယ်မှုဆက်လက်ရရှိနေပါမည်။</translation>
 <translation id="1135212215217513471">iOS အတွက် Chrome ရယူနိုင်သည်</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">စင့်ခ်ပြုလုပ်ခြင်း ရပ်တန့်သွားပါပြီ။</translation>
 <translation id="1377321085342047638">ကဒ်နံပါတ်</translation>
 <translation id="1383876407941801731">ရှာဖွေမှု</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> အဖြစ် ရှေ့ဆက်ရန်</translation>
 <translation id="1400642268715879018">နောက်ဆုံး ၄ ပတ်</translation>
 <translation id="1404330357948037222">ထွက်ထားပါသည်</translation>
 <translation id="1407135791313364759">အားလုံး ဖွင့်ရန်</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">ဆက်လက်တည်းဖြတ်ရန်</translation>
 <translation id="2434405374328098816"><ph name="WEBSITE" /> တွင် “<ph name="USERNAME" />” အတွက် စကားဝှက်ကို သိမ်းပြီးဖြစ်သည်</translation>
 <translation id="2435457462613246316">စကားဝှက်ကို ပြပါ</translation>
+<translation id="2461070143328828326">စကားဝှက် ဆက်တင်များ</translation>
 <translation id="2469960372084740698">ဘေးကင်းစွာ ကြည့်ရှုခြင်းကို ပိတ်မလား။</translation>
 <translation id="2473876017985765807"><ph name="WEBSITE" /> အတွက် စကားဝှက်ကို သိမ်းပြီးဖြစ်သည်</translation>
 <translation id="2476359652512522418">ရွေးမထားပါ</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">မဖတ်ရသေးအဖြစ် မှတ်သားရန်</translation>
 <translation id="371230970611282515">အန္တရာယ်ရှိသည့် ဖြစ်ရပ်များ မဖြစ်ပွားမီ ခန့်မှန်းပြီး သင့်အား သတိပေးသည်။</translation>
 <translation id="37207012422556617">ခေတ်စားနေသည့် ရှာဖွေမှုများ</translation>
+<translation id="3726360487031500941">သင့်အကောင့် <ph name="USER_NAME" /> သို့ ပြန်လည်လက်မှတ်ထိုးဝင်ပါ</translation>
 <translation id="3740397331642243698">ထည့်သွင်းထားသော URL များကို Google Chrome ရုပ်ဖျက်မုဒ်တွင် ဖွင့်သည်။</translation>
 <translation id="3762232513783804601">သင့် iPad အတွက် ပြုလုပ်ထားသည်</translation>
 <translation id="3771033907050503522">ကိုယ်ပျောက် တဲဘ်များ</translation>
@@ -751,6 +755,7 @@
 <translation id="6988572888918530647">သင့် Google Account ကို စီမံခြင်း</translation>
 <translation id="6989674195860388998">‘ဆက်တင်များ’ တွင် ပြောင်းရန်…</translation>
 <translation id="6998989275928107238">သို့</translation>
+<translation id="699954956411469731">မိုဘိုင်းအကြောင်းကြားချက်များ</translation>
 <translation id="7004032350256606903">ကိုယ်ဖျောက်မုဒ်ဖြင့် ဝင်ရောက်ကြည့်ရှုရန် သင့်အဖွဲ့အစည်းက သတ်မှတ်ထားပါသည်။
 <ph name="BEGIN_LINK" />ပိုမိုလေ့လာရန်<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">မကြာမီက တဲဘ်များ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index 092cb39..469d9b1a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Godta og fortsett</translation>
 <translation id="110724200315609752">Bytt til åpent vindu</translation>
 <translation id="1112015203684611006">Utskriften mislyktes.</translation>
+<translation id="1118569444314402022">Velkommen tilbake, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Åpne en ny fane.</translation>
 <translation id="1126809382673880764">Beskytter deg ikke mot farlige nettsteder, nedlastinger eller utvidelser. Du får fremdeles beskyttelse fra Safe Browsing der dette er tilgjengelig, på andre Google-tjenester, som Gmail og Søk.</translation>
 <translation id="1135212215217513471">Skaff deg Chrome for iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Synkroniseringen har sluttet å fungere.</translation>
 <translation id="1377321085342047638">Kortnummer</translation>
 <translation id="1383876407941801731">Søk</translation>
+<translation id="138618066238211776">Fortsett som <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">De siste 4 ukene</translation>
 <translation id="1404330357948037222">Du er logget av</translation>
 <translation id="1407135791313364759">Åpne alle</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Fortsett redigeringen</translation>
 <translation id="2434405374328098816">Du har allerede lagret et passord for «<ph name="USERNAME" />» på <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Vis passord</translation>
+<translation id="2461070143328828326">Passordinnstillinger</translation>
 <translation id="2469960372084740698">Vil du slå av Safe Browsing?</translation>
 <translation id="2473876017985765807">Du har allerede lagret et passord for <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Ikke valgt</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Merk som ulest</translation>
 <translation id="371230970611282515">Forutser og advarer deg om farlige hendelser før de inntreffer.</translation>
 <translation id="37207012422556617">Søk på vei opp</translation>
+<translation id="3726360487031500941">Logg på kontoen din (<ph name="USER_NAME" />) igjen</translation>
 <translation id="3740397331642243698">Åpner de oppgitte nettadressene i Google Chrome i inkognitomodus.</translation>
 <translation id="3762232513783804601">Laget for iPaden din</translation>
 <translation id="3771033907050503522">Inkognitofaner</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_or.xtb b/ios/chrome/app/strings/resources/ios_strings_or.xtb
index 10f0a16d..08434e2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_or.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">ସ୍ୱୀକାର କରନ୍ତୁ ଏବଂ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="110724200315609752">ଖୋଲା ଥିବା ୱିଣ୍ଡୋକୁ ସ୍ୱିଚ୍ କରନ୍ତୁ</translation>
 <translation id="1112015203684611006">ପ୍ରିଣ୍ଟ ହେଲାନାହିଁ।</translation>
+<translation id="1118569444314402022">ଆପଣଙ୍କୁ ପୁଣି ସ୍ୱାଗତ, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">ନୂତନ ଟାବ୍ ତିଆରି କରନ୍ତୁ।</translation>
 <translation id="1126809382673880764">ବିପଦଜନକ ୱେବସାଇଟ୍, ଡାଉନଲୋଡ୍ ଏବଂ ଏକ୍ସଟେନ୍ସନଗୁଡ଼ିକ ଠାରୁ ଆପଣଙ୍କୁ ରକ୍ଷା କରେ ନାହିଁ। Gmail ଏବଂ Search ପରି ଅନ୍ୟ Google ସେବାଗୁଡ଼ିକରେ ସେଫ୍ ବ୍ରାଉଜିଂ ସୁବିଧା ଉପଲବ୍ଧ ଥିଲେ, ଆପଣ ଏବେ ବି ଏହି ସୁରକ୍ଷା ପାଇବେ।</translation>
 <translation id="1135212215217513471">iOS ପାଇଁ Chrome ପାଆନ୍ତୁ</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">ସିଙ୍କ୍ କାର୍ଯ୍ୟ କରିବା ବନ୍ଦ କରିଦେଇଛି।</translation>
 <translation id="1377321085342047638">କାର୍ଡ ନମ୍ଵର୍‌</translation>
 <translation id="1383876407941801731">Search</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> ଭାବରେ ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="1400642268715879018">ବିଗତ 4 ସପ୍ତାହ</translation>
 <translation id="1404330357948037222">ଆପଣ ସାଇନ ଆଉଟ କରିଛନ୍ତି</translation>
 <translation id="1407135791313364759">ସବୁ ଖୋଲନ୍ତୁ</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">ସମ୍ପାଦନା ଜାରି ରଖନ୍ତୁ</translation>
 <translation id="2434405374328098816">ଆପଣ <ph name="WEBSITE" />ରେ "<ph name="USERNAME" />" ପାଇଁ ପୂର୍ବରୁ ଏକ ପାସୱାର୍ଡ ସେଭ କରିଛନ୍ତି</translation>
 <translation id="2435457462613246316">ପାସୱାର୍ଡ ଦେଖାନ୍ତୁ</translation>
+<translation id="2461070143328828326">ପାସୱାର୍ଡ ସେଟିଂସ</translation>
 <translation id="2469960372084740698">ସେଫ ବ୍ରାଉଜିଂକୁ ବନ୍ଦ କରିବେ?</translation>
 <translation id="2473876017985765807">ଆପଣ <ph name="WEBSITE" /> ପାଇଁ ପୂର୍ବରୁ ଏକ ପାସୱାର୍ଡ ସେଭ କରିଛନ୍ତି</translation>
 <translation id="2476359652512522418">ଚୟନ କରାଯାଇନାହିଁ</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">ଅପଠିତ ଭାବେ ଚିହ୍ନଟ କରନ୍ତୁ</translation>
 <translation id="371230970611282515">ବିପଦଜନକ ଘଟଣାଗୁଡ଼ିକ ଘଟିବା ପୂର୍ବରୁ ସେଗୁଡ଼ିକର ପୂର୍ବାନୁମାନ କରି ଆପଣଙ୍କୁ ଚେତାବନୀ ଦିଏ।</translation>
 <translation id="37207012422556617">ଟ୍ରେଣ୍ଡିଂ ସନ୍ଧାନଗୁଡ଼ିକ</translation>
+<translation id="3726360487031500941">ଆପଣଙ୍କ <ph name="USER_NAME" /> ଆକାଉଣ୍ଟରେ ପୁଣି ସାଇନ ଇନ କରନ୍ତୁ</translation>
 <translation id="3740397331642243698">ଇନପୁଟ୍ କରାଯାଇଥିବା URLଗୁଡ଼ିକୁ Google Chromeରେ ଇନକଗ୍ନିଟୋ ମୋଡରେ ଖୋଲା ଯାଇଥାଏ।</translation>
 <translation id="3762232513783804601">ଆପଣଙ୍କ iPad ପାଇଁ ତିଆରି କରାଯାଇଛି</translation>
 <translation id="3771033907050503522">ଇନ୍‍କଗ୍ନିଟୋ ଟାବ୍‍</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
index 179d1b8..9379cfd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">ਸਵੀਕਾਰ ਕਰੋ &amp; ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="110724200315609752">ਖੁੱਲ੍ਹੀ ਵਿੰਡੋ 'ਤੇ ਜਾਓ</translation>
 <translation id="1112015203684611006">ਪ੍ਰਿੰਟ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।</translation>
+<translation id="1118569444314402022">ਮੁੜ ਜੀ ਆਇਆਂ ਨੂੰ, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">ਨਵੀਂ ਟੈਬ ਬਣਾਓ।</translation>
 <translation id="1126809382673880764">ਤੁਹਾਨੂੰ ਖਤਰਨਾਕ ਵੈੱਬਸਾਈਟਾਂ, ਡਾਊਨਲੋਡਾਂ ਅਤੇ ਐਕਸਟੈਂਸ਼ਨਾਂ ਤੋਂ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਰੱਖਿਆ ਜਾਂਦਾ। ਹੋਰ Google ਸੇਵਾਵਾਂ ਜਿਵੇਂ ਕਿ Gmail ਅਤੇ Search ਵਿੱਚ ਜਿੱਥੇ ਵੀ ਉਪਲਬਧ ਹੋਵੇ ਤੁਹਾਨੂੰ ਫਿਰ ਵੀ ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਸੁਰੱਖਿਆ ਪ੍ਰਾਪਤ ਹੋਵੇਗੀ।</translation>
 <translation id="1135212215217513471">iOS ਲਈ Chrome ਪ੍ਰਾਪਤ ਕਰੋ</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">ਸਿੰਕ ਨੇ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੱਤਾ ਹੈ।</translation>
 <translation id="1377321085342047638">ਕਾਰਡ ਨੰਬਰ</translation>
 <translation id="1383876407941801731">ਖੋਜੋ</translation>
+<translation id="138618066238211776"><ph name="USER_NAME" /> ਵਜੋਂ ਜਾਰੀ ਰੱਖੋ</translation>
 <translation id="1400642268715879018">ਪਿਛਲੇ 4 ਹਫ਼ਤੇ</translation>
 <translation id="1404330357948037222">ਤੁਸੀਂ ਸਾਈਨ-ਆਊਟ ਹੋ</translation>
 <translation id="1407135791313364759">ਸਾਰੇ ਖੋਲ੍ਹੋ</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">ਸੰਪਾਦਨ ਕਰਦੇ ਰਹੋ</translation>
 <translation id="2434405374328098816">ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ "<ph name="USERNAME" />" ਲਈ <ph name="WEBSITE" /> 'ਤੇ ਪਾਸਵਰਡ ਰੱਖਿਅਤ ਕਰ ਲਿਆ ਹੈ</translation>
 <translation id="2435457462613246316">ਪਾਸਵਰਡ ਵੇਖੋ</translation>
+<translation id="2461070143328828326">ਪਾਸਵਰਡ ਸੈਟਿੰਗਾਂ</translation>
 <translation id="2469960372084740698">ਕੀ ਸੁਰੱਖਿਅਤ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?</translation>
 <translation id="2473876017985765807">ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ <ph name="WEBSITE" /> ਲਈ ਪਾਸਵਰਡ ਰੱਖਿਅਤ ਕਰ ਲਿਆ ਹੈ</translation>
 <translation id="2476359652512522418">ਚੁਣੀ ਨਹੀਂ ਗਈ</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">ਨਹੀਂ ਪੜ੍ਹੀ ਵਜੋਂ ਨਿਸ਼ਾਨਦੇਹੀ ਕਰੋ</translation>
 <translation id="371230970611282515">ਖਤਰਨਾਕ ਘਟਨਾਵਾਂ ਦਾ ਪਤਾ ਕਰਕੇ ਉਹਨਾਂ ਦੇ ਵਾਪਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਨੂੰ ਚਿਤਾਵਨੀ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।</translation>
 <translation id="37207012422556617">ਪ੍ਰਚਲਿਤ ਖੋਜਾਂ</translation>
+<translation id="3726360487031500941">ਆਪਣੇ <ph name="USER_NAME" /> ਖਾਤੇ ਵਿੱਚ ਦੁਬਾਰਾ ਸਾਈਨ-ਇਨ ਕਰੋ</translation>
 <translation id="3740397331642243698">Google Chrome ਵਿੱਚ ਦਾਖਲ ਕੀਤੇ URL ਨੂੰ ਇਨਕੋਗਨਿਟੋ ਵਿੱਚ ਖੋਲ੍ਹਦਾ ਹੈ।</translation>
 <translation id="3762232513783804601">ਤੁਹਾਡੇ iPad ਲਈ ਬਣਾਇਆ ਗਿਆ</translation>
 <translation id="3771033907050503522">ਗੁਮਨਾਮ ਟੈਬਸ</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index 274d039..3b70d0f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Zaakceptuj i kontynuuj</translation>
 <translation id="110724200315609752">Przełącz na otwarte okno</translation>
 <translation id="1112015203684611006">Drukowanie nie udało się.</translation>
+<translation id="1118569444314402022">Witamy z powrotem, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Utwórz nową kartę.</translation>
 <translation id="1126809382673880764">Nie chroni przed niebezpiecznymi stronami, pobieranymi plikami ani rozszerzeniami. Funkcja Bezpieczne przeglądanie nadal będzie chronić Cię w innych usługach Google, w których jest dostępna (takich jak Gmail i wyszukiwarka).</translation>
 <translation id="1135212215217513471">Pobierz Chrome na iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Synchronizacja przestała działać.</translation>
 <translation id="1377321085342047638">Numer karty</translation>
 <translation id="1383876407941801731">Szukaj</translation>
+<translation id="138618066238211776">Nadal używaj konta użytkownika <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Ostatnie cztery tygodnie</translation>
 <translation id="1404330357948037222">Nie korzystasz teraz z konta</translation>
 <translation id="1407135791313364759">Otwórz wszystkie</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Edytuj dalej</translation>
 <translation id="2434405374328098816">Masz już zapisane hasło do strony <ph name="WEBSITE" /> powiązane z nazwą użytkownika „<ph name="USERNAME" />”</translation>
 <translation id="2435457462613246316">Pokaż hasło</translation>
+<translation id="2461070143328828326">Ustawienia hasła</translation>
 <translation id="2469960372084740698">Wyłączyć Bezpieczne przeglądanie?</translation>
 <translation id="2473876017985765807">Masz już zapisane hasło do strony <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Niewybrany</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Oznacz jako nieprzeczytane</translation>
 <translation id="371230970611282515">Przewiduje niebezpieczne zdarzenia i ostrzega Cię przed nimi, zanim nastąpią.</translation>
 <translation id="37207012422556617">Wyszukiwania zyskujące popularność</translation>
+<translation id="3726360487031500941">Zaloguj się ponownie na konto <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Otwiera wpisane adresy URL w Google Chrome w trybie incognito.</translation>
 <translation id="3762232513783804601">Dla Twojego iPada</translation>
 <translation id="3771033907050503522">Karty incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
index 9783ea00..59f89556 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Aceitar e continuar</translation>
 <translation id="110724200315609752">Mudar para janela aberta</translation>
 <translation id="1112015203684611006">Falha na impressão.</translation>
+<translation id="1118569444314402022">Que bom que você voltou, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Criar nova guia</translation>
 <translation id="1126809382673880764">Não protege você contra sites, downloads e extensões perigosos. Você ainda terá a proteção do "Navegação segura", sempre que possível, em outros Serviços do Google, como o Gmail e a Pesquisa.</translation>
 <translation id="1135212215217513471">Instale o Chrome para iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">A sincronização parou de funcionar.</translation>
 <translation id="1377321085342047638">Número do cartão</translation>
 <translation id="1383876407941801731">Pesquisar</translation>
+<translation id="138618066238211776">Continuar como <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Últimas quatro semanas</translation>
 <translation id="1404330357948037222">Sua conta está desconectada</translation>
 <translation id="1407135791313364759">Abrir todas</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Continuar editando</translation>
 <translation id="2434405374328098816">Você já salvou uma senha para "<ph name="USERNAME" />" em <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Mostrar senha</translation>
+<translation id="2461070143328828326">Configurações de senha</translation>
 <translation id="2469960372084740698">Desativar o recurso Navegação segura?</translation>
 <translation id="2473876017985765807">Você já salvou uma senha em <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Não selecionada</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Marcar como não lido</translation>
 <translation id="371230970611282515">Prevê e avisa sobre eventos perigosos antes que eles aconteçam.</translation>
 <translation id="37207012422556617">Pesquisas em alta</translation>
+<translation id="3726360487031500941">Faça login novamente na sua conta <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Abre os URLs inseridos na navegação anônima do Google Chrome.</translation>
 <translation id="3762232513783804601">Criado para o iPad</translation>
 <translation id="3771033907050503522">Guias anônimas</translation>
@@ -752,6 +756,7 @@
 <translation id="6988572888918530647">Gerenciar sua Conta do Google</translation>
 <translation id="6989674195860388998">Mudar nas configurações…</translation>
 <translation id="6998989275928107238">Para</translation>
+<translation id="699954956411469731">Notificações no dispositivo móvel</translation>
 <translation id="7004032350256606903">Sua organização requer o uso do modo de navegação privada.
 <ph name="BEGIN_LINK" />Saiba mais<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Guias recentes</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index d417a50..37011add 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Acceptă și continuă</translation>
 <translation id="110724200315609752">Comută la fereastra deschisă</translation>
 <translation id="1112015203684611006">Printarea nu a reușit.</translation>
+<translation id="1118569444314402022">Bine ai revenit, <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">Creează o filă nouă.</translation>
 <translation id="1126809382673880764">Nu te protejează împotriva site-urilor, descărcărilor și extensiilor periculoase. Te vei bucura în continuare de protecția oferită de Navigarea sigură, dacă este disponibilă, în alte servicii Google, cum ar fi Gmail și Căutarea.</translation>
 <translation id="1135212215217513471">Descarcă Chrome pentru iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Sincronizarea a încetat să funcționeze.</translation>
 <translation id="1377321085342047638">Număr card</translation>
 <translation id="1383876407941801731">Caută</translation>
+<translation id="138618066238211776">Continuă ca <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">Din ultimele 4 săptămâni</translation>
 <translation id="1404330357948037222">Te-ai deconectat</translation>
 <translation id="1407135791313364759">Deschideți-le pe toate</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Continuă editarea</translation>
 <translation id="2434405374328098816">Ai salvat deja o parolă pentru <ph name="USERNAME" /> la <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Afișați parola</translation>
+<translation id="2461070143328828326">Setări parolă</translation>
 <translation id="2469960372084740698">Dezactivezi Navigarea sigură?</translation>
 <translation id="2473876017985765807">Ai salvat deja o parolă pentru <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Neselectat</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Marchează ca necitit</translation>
 <translation id="371230970611282515">Anticipează și te avertizează cu privire la evenimente periculoase înainte să aibă loc.</translation>
 <translation id="37207012422556617">Căutări populare</translation>
+<translation id="3726360487031500941">Conectează-te din nou la contul <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Deschide adresele URL introduse în Google Chrome în modul incognito.</translation>
 <translation id="3762232513783804601">Creat pentru iPad</translation>
 <translation id="3771033907050503522">File incognito</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index 06629b4..ae080b0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">Spravovať účet Google</translation>
 <translation id="6989674195860388998">Prepnúť v Nastaveniach…</translation>
 <translation id="6998989275928107238">Komu</translation>
+<translation id="699954956411469731">Mobilné upozornenia</translation>
 <translation id="7004032350256606903">Vaša organizácia vyžaduje, aby ste prehliadali v režime inkognito.
 <ph name="BEGIN_LINK" />Ďalšie informácie<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Nedávne karty</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
index 88a8f37..35a1958 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">Upravljajte Google nalogom</translation>
 <translation id="6989674195860388998">Promenite u Podešavanjima…</translation>
 <translation id="6998989275928107238">Do</translation>
+<translation id="699954956411469731">Mobilna obaveštenja</translation>
 <translation id="7004032350256606903">Organizacija zahteva da pregledate privatno.
 <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Nedavne kartice</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index 05edb66..6418aa2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">Управљајте Google налогом</translation>
 <translation id="6989674195860388998">Промените у Подешавањима…</translation>
 <translation id="6998989275928107238">До</translation>
+<translation id="699954956411469731">Мобилна обавештења</translation>
 <translation id="7004032350256606903">Организација захтева да прегледате приватно.
 <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Недавне картице</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index b84d787..8ab5dc9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">จัดการบัญชี Google</translation>
 <translation id="6989674195860388998">เปลี่ยนในการตั้งค่า…</translation>
 <translation id="6998989275928107238">ถึง</translation>
+<translation id="699954956411469731">การแจ้งเตือนในอุปกรณ์เคลื่อนที่</translation>
 <translation id="7004032350256606903">องค์กรกำหนดให้คุณเรียกดูแบบส่วนตัว
 <ph name="BEGIN_LINK" />ดูข้อมูลเพิ่มเติม<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">แท็บล่าสุด</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index 2bfd987..396c8bd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">قبول کریں اور جاری رکھیں</translation>
 <translation id="110724200315609752">کھلی ہوئی ونڈو پر سوئچ کریں</translation>
 <translation id="1112015203684611006">پرنٹنگ ناکام۔</translation>
+<translation id="1118569444314402022">واپسی پر خوش آمدید، <ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">نیا ٹیب بنائیں۔</translation>
 <translation id="1126809382673880764">‏خطرناک ویب سائٹس، ڈاؤن لوڈز اور ایکسٹینشنز سے آپ کی حفاظت نہیں کرتی ہے۔ آپ کو اب بھی Gmail اور تلاش جیسی Google کی دیگر سروسز میں جہاں بھی دستیاب ہوگا محفوظ براؤزنگ کا تحفظ ملے گا۔</translation>
 <translation id="1135212215217513471">‏Chrome برائے iOS حاصل کریں</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">مطابقت پذیری نے کام کرنا بند کر دیا ہے۔</translation>
 <translation id="1377321085342047638">کارڈ نمبر</translation>
 <translation id="1383876407941801731">تلاش کریں</translation>
+<translation id="138618066238211776">بطور <ph name="USER_NAME" /> جاری رکھیں</translation>
 <translation id="1400642268715879018">گزشتہ 4 ہفتے</translation>
 <translation id="1404330357948037222">آپ سائن آؤٹ ہیں</translation>
 <translation id="1407135791313364759">سبھی کو کھولیں</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">ترمیم جاری رکھیں</translation>
 <translation id="2434405374328098816">آپ نے <ph name="WEBSITE" /> پر "<ph name="USERNAME" />" کے لیے پہلے ہی پاس ورڈ محفوظ کر لیا ہے</translation>
 <translation id="2435457462613246316">پاس ورڈ دکھائیں</translation>
+<translation id="2461070143328828326">پاس ورڈ کی ترتیبات</translation>
 <translation id="2469960372084740698">محفوظ براؤزنگ آف کریں؟</translation>
 <translation id="2473876017985765807">آپ نے پہلے ہی <ph name="WEBSITE" /> کے لیے ایک پاس ورڈ محفوظ کیا ہے</translation>
 <translation id="2476359652512522418">انتخاب نہیں کیا گیا</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">بغیر پڑھا ہوا کے بطور نشان زد کریں</translation>
 <translation id="371230970611282515">خطرناک ایونٹس ہونے سے پہلے ان کی پیشین گوئی کرتا ہے اور آپ کو ان کے بارے میں متنبہ کرتا ہے۔</translation>
 <translation id="37207012422556617">رجحان ساز تلاشیں</translation>
+<translation id="3726360487031500941">اپنے <ph name="USER_NAME" /> اکاؤنٹ میں دوبارہ سائن ان کریں</translation>
 <translation id="3740397331642243698">‏درج کردہ URLs کو Google Chrome میں پوشیدگی میں کھولتا ہے۔</translation>
 <translation id="3762232513783804601">‏آپ کے iPad کے لیے بنایا گیا</translation>
 <translation id="3771033907050503522">پوشیدگی ٹیبز</translation>
@@ -752,6 +756,7 @@
 <translation id="6988572888918530647">‏اپنے Google اکاؤنٹ کا نظم کریں</translation>
 <translation id="6989674195860388998">ترتیبات میں سوئچ کریں…</translation>
 <translation id="6998989275928107238">بنام</translation>
+<translation id="699954956411469731">موبائل اطلاعات</translation>
 <translation id="7004032350256606903">آپ کی تنظیم چاہتی ہے کہ آپ نجی طور پر براؤز کریں۔
 <ph name="BEGIN_LINK" />مزید جانیں<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">حالیہ ٹیبز</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
index 0917a50..1e3dded3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
@@ -756,6 +756,7 @@
 <translation id="6988572888918530647">Google hisobingizni boshqaring</translation>
 <translation id="6989674195860388998">Sozlamalar orqali almashtirish…</translation>
 <translation id="6998989275928107238">Host</translation>
+<translation id="699954956411469731">Mobil bildirishnomalar</translation>
 <translation id="7004032350256606903">Tashkilotingiz internetni pinhona kezishni talab qiladi.
 <ph name="BEGIN_LINK" />Batafsil<ph name="END_LINK" /></translation>
 <translation id="7004499039102548441">Oxirgi varaqlar</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 7ba59ca..a0ad6d4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">Chấp nhận và tiếp tục</translation>
 <translation id="110724200315609752">Chuyển sang Cửa sổ đang mở</translation>
 <translation id="1112015203684611006">In không thành công.</translation>
+<translation id="1118569444314402022"><ph name="USER_NAME" /> thân mến, chào mừng bạn quay lại!</translation>
 <translation id="1125564390852150847">Tạo thẻ mới.</translation>
 <translation id="1126809382673880764">Không bảo vệ bạn trước các trang web, tệp đã tải xuống và tiện ích nguy hiểm. Bạn sẽ vẫn được bảo vệ bằng tính năng Duyệt web an toàn (nếu có) ở các dịch vụ khác của Google, chẳng hạn như Gmail và Tìm kiếm.</translation>
 <translation id="1135212215217513471">Tải Chrome dành cho iOS</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">Đồng bộ hóa đã ngừng hoạt động.</translation>
 <translation id="1377321085342047638">Số thẻ</translation>
 <translation id="1383876407941801731">Tìm kiếm</translation>
+<translation id="138618066238211776">Tiếp tục đăng nhập bằng tên <ph name="USER_NAME" /></translation>
 <translation id="1400642268715879018">4 tuần qua</translation>
 <translation id="1404330357948037222">Bạn đã đăng xuất</translation>
 <translation id="1407135791313364759">Mở tất cả</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">Tiếp tục chỉnh sửa</translation>
 <translation id="2434405374328098816">Bạn đã lưu mật khẩu cho "<ph name="USERNAME" />" tại <ph name="WEBSITE" /></translation>
 <translation id="2435457462613246316">Hiện mật khẩu</translation>
+<translation id="2461070143328828326">Cài đặt mật khẩu</translation>
 <translation id="2469960372084740698">Tắt tính năng Duyệt web an toàn?</translation>
 <translation id="2473876017985765807">Bạn đã lưu mật khẩu cho <ph name="WEBSITE" /></translation>
 <translation id="2476359652512522418">Chưa chọn</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">Đánh dấu là chưa đọc</translation>
 <translation id="371230970611282515">Dự đoán và cảnh báo cho bạn các sự kiện nguy hiểm trước khi các sự kiện đó xảy ra.</translation>
 <translation id="37207012422556617">Nội dung tìm kiếm thịnh hành</translation>
+<translation id="3726360487031500941">Đăng nhập lại vào tài khoản <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">Mở các URL đã nhập trong Google Chrome ở chế độ Ẩn danh.</translation>
 <translation id="3762232513783804601">Dành riêng cho iPad</translation>
 <translation id="3771033907050503522">Thẻ ẩn danh</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
index 308719a..fbf3dd8 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">接受并继续</translation>
 <translation id="110724200315609752">切换到另一个已打开的窗口</translation>
 <translation id="1112015203684611006">打印操作失败。</translation>
+<translation id="1118569444314402022">欢迎回来,<ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">创建新的标签页。</translation>
 <translation id="1126809382673880764">不会保护您免受危险网站、下载内容和扩展程序的侵害。在 Gmail 和 Google 搜索等其他 Google 服务中,若安全浏览保护可用,您仍将获得该保护。</translation>
 <translation id="1135212215217513471">获取 Chrome(iOS 版)</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">同步功能已停止工作。</translation>
 <translation id="1377321085342047638">卡号</translation>
 <translation id="1383876407941801731">搜索</translation>
+<translation id="138618066238211776">继续以<ph name="USER_NAME" />的身份登录</translation>
 <translation id="1400642268715879018">过去 4 周</translation>
 <translation id="1404330357948037222">您已退出登录</translation>
 <translation id="1407135791313364759">全部打开</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">继续修改</translation>
 <translation id="2434405374328098816">您已经在 <ph name="WEBSITE" /> 上保存了“<ph name="USERNAME" />”的密码</translation>
 <translation id="2435457462613246316">显示密码</translation>
+<translation id="2461070143328828326">密码设置</translation>
 <translation id="2469960372084740698">关闭“安全浏览”功能?</translation>
 <translation id="2473876017985765807">您已经保存了在 <ph name="WEBSITE" /> 上使用的密码</translation>
 <translation id="2476359652512522418">未选中</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">标记为未读</translation>
 <translation id="371230970611282515">预测危险事件并在此类事件发生前向您发出警告。</translation>
 <translation id="37207012422556617">热搜字词</translation>
+<translation id="3726360487031500941">重新登录您的帐号 <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">在 Google Chrome 中以无痕模式打开输入的网址。</translation>
 <translation id="3762232513783804601">专为 iPad 打造</translation>
 <translation id="3771033907050503522">无痕模式标签页</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 fa9014e..708e315 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">接受並繼續</translation>
 <translation id="110724200315609752">切換至已開啟的視窗</translation>
 <translation id="1112015203684611006">無法列印。</translation>
+<translation id="1118569444314402022"><ph name="USER_NAME" />,歡迎回來</translation>
 <translation id="1125564390852150847">新增分頁。</translation>
 <translation id="1126809382673880764">無法防範危險網站、下載檔案和擴充程式。您仍可在其他 Google 服務 (例如 Gmail 和搜尋) 中使用「安全瀏覽」功能 (如有)。</translation>
 <translation id="1135212215217513471">下載 Chrome iOS 版</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">同步處理功能已停止運作。</translation>
 <translation id="1377321085342047638">卡號</translation>
 <translation id="1383876407941801731">搜尋</translation>
+<translation id="138618066238211776">以<ph name="USER_NAME" />的身分繼續</translation>
 <translation id="1400642268715879018">過去 4 週</translation>
 <translation id="1404330357948037222">您已登出</translation>
 <translation id="1407135791313364759">全部開啟</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">繼續編輯</translation>
 <translation id="2434405374328098816">您已儲存「<ph name="USERNAME" />」在 <ph name="WEBSITE" /> 使用的密碼</translation>
 <translation id="2435457462613246316">顯示密碼</translation>
+<translation id="2461070143328828326">密碼設定</translation>
 <translation id="2469960372084740698">要關閉安全瀏覽功能嗎?</translation>
 <translation id="2473876017985765807">您已儲存 <ph name="WEBSITE" /> 的密碼</translation>
 <translation id="2476359652512522418">無揀</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">標示為未讀取</translation>
 <translation id="371230970611282515">在危險事件發生前進行預測並發出警告。</translation>
 <translation id="37207012422556617">熱門搜尋</translation>
+<translation id="3726360487031500941">請重新登入您的帳戶 <ph name="USER_NAME" /></translation>
 <translation id="3740397331642243698">在 Google Chrome 中以無痕模式開啟已輸入的網址。</translation>
 <translation id="3762232513783804601">專為 iPad 而設</translation>
 <translation id="3771033907050503522">無痕式分頁</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
index 8586b2f..d0d52789 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -23,6 +23,7 @@
 <translation id="1104948393051856124">接受並繼續</translation>
 <translation id="110724200315609752">切換至已開啟的視窗</translation>
 <translation id="1112015203684611006">列印失敗。</translation>
+<translation id="1118569444314402022">歡迎回來,<ph name="USER_NAME" /></translation>
 <translation id="1125564390852150847">新增分頁。</translation>
 <translation id="1126809382673880764">無法封鎖不安全的網站、下載內容和擴充功能。在 Gmail 和 Google 搜尋等其他 Google 服務中,安全瀏覽功能的防護機制仍然會發揮作用 (在適用情況下)。</translation>
 <translation id="1135212215217513471">取得 Chrome iOS 版</translation>
@@ -64,6 +65,7 @@
 <translation id="1377255359165588604">同步處理功能已停止運作。</translation>
 <translation id="1377321085342047638">卡號</translation>
 <translation id="1383876407941801731">搜尋</translation>
+<translation id="138618066238211776">以<ph name="USER_NAME" />的身分繼續</translation>
 <translation id="1400642268715879018">過去 4 週</translation>
 <translation id="1404330357948037222">你已登出帳戶</translation>
 <translation id="1407135791313364759">全部開啟</translation>
@@ -177,6 +179,7 @@
 <translation id="2421044535038393232">繼續編輯</translation>
 <translation id="2434405374328098816">你已儲存過「<ph name="USERNAME" />」在 <ph name="WEBSITE" /> 使用的密碼</translation>
 <translation id="2435457462613246316">顯示密碼</translation>
+<translation id="2461070143328828326">密碼設定</translation>
 <translation id="2469960372084740698">要停用安全瀏覽功能嗎?</translation>
 <translation id="2473876017985765807">你已儲存過 <ph name="WEBSITE" /> 的密碼</translation>
 <translation id="2476359652512522418">未選取</translation>
@@ -331,6 +334,7 @@
 <translation id="3709582977625132201">標示為未讀取</translation>
 <translation id="371230970611282515">可預測不安全事件,並在這類事件發生前顯示警告訊息。</translation>
 <translation id="37207012422556617">熱門搜尋</translation>
+<translation id="3726360487031500941">請再次登入你的帳戶 (<ph name="USER_NAME" />)</translation>
 <translation id="3740397331642243698">在 Google Chrome 無痕模式中開啟輸入的網址。</translation>
 <translation id="3762232513783804601">專為 iPad 量身打造</translation>
 <translation id="3771033907050503522">無痕式分頁</translation>
diff --git a/ios/chrome/browser/crash_report/crash_helper_unittest.mm b/ios/chrome/browser/crash_report/crash_helper_unittest.mm
index 3ce6dbc6..d25ad57 100644
--- a/ios/chrome/browser/crash_report/crash_helper_unittest.mm
+++ b/ios/chrome/browser/crash_report/crash_helper_unittest.mm
@@ -34,6 +34,10 @@
   void SetUp() override {
     PlatformTest::SetUp();
 
+    // Ensure the CrashReporterBreadcrumbObserver singleton is created
+    // and registered.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance();
+
     mock_breakpad_controller_ =
         [OCMockObject mockForClass:[BreakpadController class]];
 
@@ -52,6 +56,11 @@
     [[mock_breakpad_controller_ stub] stop];
     crash_helper::SetEnabled(false);
 
+    // Clear the CrashReporterBreadcrumbObserver singleton state to
+    // avoid polluting other tests.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
+
     PlatformTest::TearDown();
   }
 
diff --git a/ios/chrome/browser/crash_report/crash_reporter_breadcrumb_observer_unittest.mm b/ios/chrome/browser/crash_report/crash_reporter_breadcrumb_observer_unittest.mm
index 3d52efd..21d5c8c1 100644
--- a/ios/chrome/browser/crash_report/crash_reporter_breadcrumb_observer_unittest.mm
+++ b/ios/chrome/browser/crash_report/crash_reporter_breadcrumb_observer_unittest.mm
@@ -58,6 +58,10 @@
   void SetUp() override {
     PlatformTest::SetUp();
 
+    // Ensure the CrashReporterBreadcrumbObserver singleton is created
+    // and registered.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance();
+
     TestChromeBrowserState::Builder test_cbs_builder;
     chrome_browser_state_ = test_cbs_builder.Build();
     TestChromeBrowserState::Builder test_cbs_builder_2;
@@ -78,6 +82,12 @@
 
   void TearDown() override {
     [[mock_breakpad_controller_ stub] stop];
+
+    // Clear the CrashReporterBreadcrumbObserver singleton state to
+    // avoid polluting other tests.
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
+
     crash_helper::SetEnabled(false);
     PlatformTest::TearDown();
   }
@@ -90,11 +100,6 @@
   base::test::TaskEnvironment task_environment_;
   std::unique_ptr<TestChromeBrowserState> chrome_browser_state_;
   std::unique_ptr<TestChromeBrowserState> chrome_browser_state_2_;
-
-  // Must be destroyed before browser states to ensure that it stops observing
-  // the browser states' BreadcrumbManagers before they are destroyed.
-  breadcrumbs::CrashReporterBreadcrumbObserver
-      crash_reporter_breadcrumb_observer_;
 };
 
 // Tests that breadcrumb events logged to a single BreadcrumbManagerKeyedService
diff --git a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
index 7b10e4a..bda7f2a 100644
--- a/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
+++ b/ios/chrome/browser/metrics/ios_chrome_metrics_service_client.mm
@@ -16,6 +16,7 @@
 #import "base/callback.h"
 #import "base/check.h"
 #import "base/command_line.h"
+#import "base/debug/dump_without_crashing.h"
 #import "base/files/file_path.h"
 #import "base/files/file_util.h"
 #import "base/metrics/histogram_functions.h"
@@ -24,8 +25,10 @@
 #import "base/path_service.h"
 #import "base/process/process_metrics.h"
 #import "base/rand_util.h"
+#import "base/strings/safe_sprintf.h"
 #import "base/task/thread_pool.h"
 #import "base/threading/platform_thread.h"
+#import "components/crash/core/common/crash_key.h"
 #import "components/crash/core/common/crash_keys.h"
 #import "components/history/core/browser/history_service.h"
 #import "components/keyed_service/core/service_access_type.h"
@@ -411,6 +414,17 @@
             "Memory.Browser.MemoryFootprint.Background", footprint_mb);
         break;
     }
+  } else {
+    // Max kern_return_t is 0x100 = 256, plus trailing null.
+    // (https://opensource.apple.com/source/xnu/xnu-792.25.20/osfmk/mach/kern_return.h)
+    // TODO(crbug.com/1365392): Remove this when done debugging the uncaught
+    // memory regression.
+    static crash_reporter::CrashKeyString<4> task_info_kern_return(
+        "task-info-kern-return");
+    char kr_buf[4];
+    base::strings::SafeSPrintf(kr_buf, "%d", kr);
+    task_info_kern_return.Set(kr_buf);
+    base::debug::DumpWithoutCrashing();
   }
 
   std::vector<ChromeBrowserState*> loaded_browser_states =
diff --git a/ios/chrome/browser/passwords/ios_chrome_password_check_manager_unittest.mm b/ios/chrome/browser/passwords/ios_chrome_password_check_manager_unittest.mm
index ccb19555..e8b6253 100644
--- a/ios/chrome/browser/passwords/ios_chrome_password_check_manager_unittest.mm
+++ b/ios/chrome/browser/passwords/ios_chrome_password_check_manager_unittest.mm
@@ -225,13 +225,15 @@
 // Checks that a transition into the idle state after starting a check results
 // in resetting the kLastTimePasswordCheckCompleted pref to the current time.
 TEST_F(IOSChromePasswordCheckManagerTest, LastTimePasswordCheckCompletedReset) {
+  FastForwardBy(base::Days(1));
+
   manager().StartPasswordCheck();
   RunUntilIdle();
 
   static_cast<BulkLeakCheckServiceInterface::Observer*>(&manager())
       ->OnStateChanged(BulkLeakCheckServiceInterface::State::kIdle);
 
-  EXPECT_THAT(base::Time::Now(), manager().GetLastPasswordCheckTime());
+  EXPECT_NE(base::Time(), manager().GetLastPasswordCheckTime());
 }
 
 // Tests whether adding and removing an observer works as expected.
diff --git a/ios/chrome/browser/tabs/tab_helper_util.mm b/ios/chrome/browser/tabs/tab_helper_util.mm
index 7ceb064..0da7492 100644
--- a/ios/chrome/browser/tabs/tab_helper_util.mm
+++ b/ios/chrome/browser/tabs/tab_helper_util.mm
@@ -222,7 +222,8 @@
   // has been refactored to only create the necessary tab helpers, this
   // condition can be removed.
   if (!for_prerender) {
-    SadTabTabHelper::CreateForWebState(web_state);
+    SadTabTabHelper::CreateForWebState(
+        web_state, SadTabTabHelper::kDefaultRepeatFailureInterval);
     SnapshotTabHelper::CreateForWebState(web_state);
     PagePlaceholderTabHelper::CreateForWebState(web_state);
     PrintTabHelper::CreateForWebState(web_state);
diff --git a/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.h b/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.h
index c3e36021..a5e090a 100644
--- a/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.h
+++ b/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.h
@@ -17,6 +17,11 @@
 // 4) have Chrome set as their default browser.
 @interface AppStoreRatingDisplayHandler : NSObject <StandardPromoDisplayHandler>
 
+#pragma mark - PromoProtocol
+
+// PromosManagerCommands handler.
+@property(nonatomic, weak) id<PromosManagerCommands> handler;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_APP_STORE_RATING_APP_STORE_RATING_DISPLAY_HANDLER_H_
diff --git a/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.mm b/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.mm
index 36c91aa..a351d25 100644
--- a/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.mm
+++ b/ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.mm
@@ -4,6 +4,7 @@
 
 #import "ios/chrome/browser/ui/app_store_rating/app_store_rating_display_handler.h"
 
+#import "base/check.h"
 #import "ios/chrome/browser/promos_manager/constants.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
@@ -15,8 +16,8 @@
 #pragma mark - StandardPromoDisplayHandler
 
 - (void)handleDisplay {
-  // TODO(crbug.com/1364669): Call to Apple's SKStoreReviewController to request
-  // the display of the App Store Rating promo.
+  DCHECK(self.handler);
+  [self.handler requestAppStoreReview];
 }
 
 #pragma mark - PromoProtocol
diff --git a/ios/chrome/browser/ui/authentication/signin/advanced_settings_signin/advanced_settings_signin_egtest.mm b/ios/chrome/browser/ui/authentication/signin/advanced_settings_signin/advanced_settings_signin_egtest.mm
index d4d7af3..046a1765 100644
--- a/ios/chrome/browser/ui/authentication/signin/advanced_settings_signin/advanced_settings_signin_egtest.mm
+++ b/ios/chrome/browser/ui/authentication/signin/advanced_settings_signin/advanced_settings_signin_egtest.mm
@@ -236,8 +236,12 @@
   ConditionBlock condition = ^{
     NSError* error = nil;
     [[EarlGrey
-        selectElementWithMatcher:grey_accessibilityLabel(l10n_util::GetNSString(
-                                     IDS_IOS_SYNC_ERROR_TITLE))]
+        selectElementWithMatcher:grey_allOf(
+                                     grey_accessibilityLabel(
+                                         l10n_util::GetNSString(
+                                             IDS_IOS_SYNC_ERROR_TITLE)),
+                                     grey_not(grey_userInteractionEnabled()),
+                                     nil)]
         assertWithMatcher:grey_sufficientlyVisible()
                     error:&error];
     return error == nil;
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h
index 443cff5..221b0b2 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.h
@@ -47,9 +47,6 @@
 // to display a slighly different wording for the default folders.
 NSString* TitleForBookmarkNode(const bookmarks::BookmarkNode* node);
 
-// Returns the subtitle relevant to the bookmark navigation ui.
-NSString* subtitleForBookmarkNode(const bookmarks::BookmarkNode* node);
-
 #pragma mark - Updating Bookmarks
 
 // Creates the bookmark if `node` is NULL. Otherwise updates `node`.
@@ -123,32 +120,6 @@
     const std::set<const bookmarks::BookmarkNode*>& bookmarks,
     bookmarks::BookmarkModel* model);
 
-#pragma mark - Segregation of nodes by time.
-
-// A container for nodes which have been aggregated by some time property.
-// e.g. (creation date) or (last access date).
-class NodesSection {
- public:
-  NodesSection();
-  virtual ~NodesSection();
-
-  // `vector` is sorted by the relevant time property.
-  NodeVector vector;
-  // A representative time of all nodes in vector.
-  base::Time time;
-  // A string representation of `time`.
-  // e.g. (March 2014) or (4 March 2014).
-  std::string timeRepresentation;
-};
-
-// Given the nodes in `vector`, segregates them by some time property into
-// NodesSections.
-// Automatically clears, populates and sorts `nodesSectionVector`.
-// This method is not thread safe - it should only be called from the ui thread.
-void segregateNodes(
-    const NodeVector& vector,
-    std::vector<std::unique_ptr<NodesSection>>& nodesSectionVector);
-
 #pragma mark - Useful bookmark manipulation.
 
 // Sorts a vector full of folders by title.
@@ -175,7 +146,7 @@
 // Creates bookmark path for `folderId` passed in. For eg: for folderId = 76,
 // Root node(0) --> MobileBookmarks (3) --> Test1(76) will be returned as [0, 3,
 // 76].
-NSArray* CreateBookmarkPath(bookmarks::BookmarkModel* model, int64_t folderId);
+NSArray* CreateBookmarkPath(bookmarks::BookmarkModel* model, int64_t folder_id);
 
 }  // namespace bookmark_utils_ios
 
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
index 32b1ae2..9024dbc 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios.mm
@@ -15,6 +15,7 @@
 #import "base/hash/hash.h"
 #import "base/i18n/string_compare.h"
 #import "base/metrics/user_metrics_action.h"
+#import "base/strings/string_number_conversions.h"
 #import "base/strings/sys_string_conversions.h"
 #import "base/strings/utf_string_conversions.h"
 #import "components/bookmarks/browser/bookmark_model.h"
@@ -101,25 +102,6 @@
   return title;
 }
 
-NSString* subtitleForBookmarkNode(const BookmarkNode* node) {
-  if (node->is_url())
-    return base::SysUTF8ToNSString(node->url().host());
-
-  int childCount = node->GetTotalNodeCount() - 1;
-  NSString* subtitle;
-  if (childCount == 0) {
-    subtitle = l10n_util::GetNSString(IDS_IOS_BOOKMARK_NO_ITEM_COUNT);
-  } else if (childCount == 1) {
-    subtitle = l10n_util::GetNSString(IDS_IOS_BOOKMARK_ONE_ITEM_COUNT);
-  } else {
-    NSString* childCountString = [NSString stringWithFormat:@"%d", childCount];
-    subtitle =
-        l10n_util::GetNSStringF(IDS_IOS_BOOKMARK_ITEM_COUNT,
-                                base::SysNSStringToUTF16(childCountString));
-  }
-  return subtitle;
-}
-
 #pragma mark - Updating Bookmarks
 
 // Deletes all subnodes of `node`, including `node`, that are in `bookmarks`.
@@ -282,8 +264,8 @@
     const std::set<const BookmarkNode*>& nodes,
     bookmarks::BookmarkModel* model,
     ChromeBrowserState* browser_state) {
-  size_t nodeCount = nodes.size();
-  DCHECK_GT(nodeCount, 0u);
+  size_t node_count = nodes.size();
+  DCHECK_GT(node_count, 0u);
 
   UndoManagerWrapper* wrapper =
       [[UndoManagerWrapper alloc] initWithBrowserState:browser_state];
@@ -296,13 +278,12 @@
 
   NSString* text = nil;
 
-  if (nodeCount == 1) {
+  if (node_count == 1) {
     text = l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_SINGLE_BOOKMARK_DELETE);
   } else {
-    NSString* countString = [NSString stringWithFormat:@"%zu", nodeCount];
     text =
         l10n_util::GetNSStringF(IDS_IOS_BOOKMARK_NEW_MULTIPLE_BOOKMARK_DELETE,
-                                base::SysNSStringToUTF16(countString));
+                                base::NumberToString16(node_count));
   }
 
   return CreateUndoToastWithWrapper(wrapper, text);
@@ -311,7 +292,7 @@
 bool MoveBookmarks(const std::set<const BookmarkNode*>& bookmarks,
                    bookmarks::BookmarkModel* model,
                    const BookmarkNode* folder) {
-  bool didPerformMove = false;
+  bool did_perform_move = false;
 
   // Calling Move() on the model will triger observer methods to fire, one of
   // them may modify the passed in `bookmarks`. To protect against this scenario
@@ -324,10 +305,10 @@
       continue;
     if (node->parent() != folder) {
       model->Move(node, folder, folder->children().size());
-      didPerformMove = true;
+      did_perform_move = true;
     }
   }
-  return didPerformMove;
+  return did_perform_move;
 }
 
 MDCSnackbarMessage* MoveBookmarksWithUndoToast(
@@ -335,28 +316,28 @@
     bookmarks::BookmarkModel* model,
     const BookmarkNode* folder,
     ChromeBrowserState* browser_state) {
-  size_t nodeCount = nodes.size();
-  DCHECK_GT(nodeCount, 0u);
+  size_t node_count = nodes.size();
+  DCHECK_GT(node_count, 0u);
 
   UndoManagerWrapper* wrapper =
       [[UndoManagerWrapper alloc] initWithBrowserState:browser_state];
 
   // Move the selected bookmarks.
   [wrapper startGroupingActions];
-  bool didPerformMove = bookmark_utils_ios::MoveBookmarks(nodes, model, folder);
+  bool did_perform_move =
+      bookmark_utils_ios::MoveBookmarks(nodes, model, folder);
   [wrapper stopGroupingActions];
   [wrapper resetUndoManagerChanged];
 
-  if (!didPerformMove)
+  if (!did_perform_move)
     return nil;  // Don't return a snackbar when no real move as happened.
 
   NSString* text = nil;
-  if (nodeCount == 1) {
+  if (node_count == 1) {
     text = l10n_util::GetNSString(IDS_IOS_BOOKMARK_NEW_SINGLE_BOOKMARK_MOVE);
   } else {
-    NSString* countString = [NSString stringWithFormat:@"%zu", nodeCount];
     text = l10n_util::GetNSStringF(IDS_IOS_BOOKMARK_NEW_MULTIPLE_BOOKMARK_MOVE,
-                                   base::SysNSStringToUTF16(countString));
+                                   base::NumberToString16(node_count));
   }
 
   return CreateUndoToastWithWrapper(wrapper, text);
@@ -376,86 +357,26 @@
   return firstParent;
 }
 
-#pragma mark - Segregation of nodes by time.
-
-NodesSection::NodesSection() {}
-
-NodesSection::~NodesSection() {}
-
-void segregateNodes(
-    const NodeVector& vector,
-    std::vector<std::unique_ptr<NodesSection>>& nodesSectionVector) {
-  nodesSectionVector.clear();
-
-  // Make a localized date formatter.
-  NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
-  [formatter setDateFormat:@"MMMM yyyy"];
-  // Segregate nodes by creation date.
-  // Nodes that were created in the same month are grouped together.
-  for (auto* node : vector) {
-    @autoreleasepool {
-      base::Time dateAdded = node->date_added();
-      base::TimeDelta delta = dateAdded - base::Time::UnixEpoch();
-      NSDate* date =
-          [[NSDate alloc] initWithTimeIntervalSince1970:delta.InSeconds()];
-      NSString* dateString = [formatter stringFromDate:date];
-      const std::string timeRepresentation =
-          base::SysNSStringToUTF8(dateString);
-
-      BOOL found = NO;
-      for (const auto& nodesSection : nodesSectionVector) {
-        if (nodesSection->timeRepresentation == timeRepresentation) {
-          nodesSection->vector.push_back(node);
-          found = YES;
-          break;
-        }
-      }
-
-      if (found)
-        continue;
-
-      // No NodesSection found.
-      auto nodesSection = std::make_unique<NodesSection>();
-      nodesSection->time = dateAdded;
-      nodesSection->timeRepresentation = timeRepresentation;
-      nodesSection->vector.push_back(node);
-      nodesSectionVector.push_back(std::move(nodesSection));
-    }
-  }
-
-  // Sort the NodesSections.
-  std::sort(nodesSectionVector.begin(), nodesSectionVector.end(),
-            [](const std::unique_ptr<NodesSection>& n1,
-               const std::unique_ptr<NodesSection>& n2) {
-              return n1->time > n2->time;
-            });
-
-  // For each NodesSection, sort the nodes inside.
-  for (const auto& nodesSection : nodesSectionVector) {
-    std::sort(nodesSection->vector.begin(), nodesSection->vector.end(),
-              [](const BookmarkNode* n1, const BookmarkNode* n2) {
-                return n1->date_added() > n2->date_added();
-              });
-  }
-}
-
 #pragma mark - Useful bookmark manipulation.
 
+namespace {
+
 // Adds all children of `folder` that are not obstructed to `results`. They are
 // placed immediately after `folder`, using a depth-first, then alphabetically
 // ordering. `results` must contain `folder`.
 void UpdateFoldersFromNode(const BookmarkNode* folder,
                            NodeVector* results,
                            const NodeSet& obstructions);
+
 // Returns whether `folder` has an ancestor in any of the nodes in
 // `bookmarkNodes`.
 bool FolderHasAncestorInBookmarkNodes(const BookmarkNode* folder,
                                       const NodeSet& bookmarkNodes);
+
 // Returns true if the node is not a folder, is not visible, or is an ancestor
 // of any of the nodes in `obstructions`.
 bool IsObstructed(const BookmarkNode* node, const NodeSet& obstructions);
 
-namespace {
 // Comparator used to sort bookmarks. No folders are allowed.
 class FolderNodeComparator {
  public:
@@ -473,7 +394,6 @@
  private:
   icu::Collator* collator_;
 };
-}  // namespace
 
 bool FolderHasAncestorInBookmarkNodes(const BookmarkNode* folder,
                                       const NodeSet& bookmarkNodes) {
@@ -516,6 +436,8 @@
     UpdateFoldersFromNode(node, results, obstructions);
 }
 
+}  // namespace
+
 void SortFolders(NodeVector* vector) {
   UErrorCode error = U_ZERO_ERROR;
   std::unique_ptr<icu::Collator> collator(icu::Collator::createInstance(error));
@@ -527,22 +449,20 @@
 
 NodeVector VisibleNonDescendantNodes(const NodeSet& obstructions,
                                      bookmarks::BookmarkModel* model) {
-  NodeVector results;
-
-  NodeVector primaryNodes = PrimaryPermanentNodes(model);
-  NodeVector filteredPrimaryNodes;
-  for (auto* node : primaryNodes) {
+  NodeVector primary_nodes = PrimaryPermanentNodes(model);
+  NodeVector filtered_primary_nodes;
+  for (auto* node : primary_nodes) {
     if (IsObstructed(node, obstructions))
       continue;
 
-    filteredPrimaryNodes.push_back(node);
+    filtered_primary_nodes.push_back(node);
   }
 
   // Copy the results over.
-  results = filteredPrimaryNodes;
+  NodeVector results = filtered_primary_nodes;
 
   // Iterate over a static copy of the filtered, root folders.
-  for (auto* node : filteredPrimaryNodes)
+  for (auto* node : filtered_primary_nodes)
     UpdateFoldersFromNode(node, &results, obstructions);
 
   return results;
@@ -576,7 +496,7 @@
       << "Can't compute missing nodes between nodes among which the first is "
          "not a subvector of the second.";
 
-  std::vector<NodeVector::size_type> missingNodesIndices;
+  std::vector<NodeVector::size_type> missing_nodes_indices;
   // Keep an iterator on vector1.
   NodeVector::const_iterator it1 = vector1.begin();
   // Scan vector2, looking for vector1 elements.
@@ -587,30 +507,31 @@
     // iterator on vector1 is pointing to, add vector2 elements to the missing
     // nodes.
     if (it1 == vector1.end() || vector2[i2] != *it1) {
-      missingNodesIndices.push_back(i2);
+      missing_nodes_indices.push_back(i2);
     } else {
       // When there is a match between vector2 and vector1, advance the iterator
       // of vector1.
       it1++;
     }
   }
-  return missingNodesIndices;
+  return missing_nodes_indices;
 }
 
 #pragma mark - Cache position in table view.
 
-NSArray* CreateBookmarkPath(bookmarks::BookmarkModel* model, int64_t folderId) {
-  // Create an array with root node id, if folderId == root node.
-  if (model->root_node()->id() == folderId) {
+NSArray* CreateBookmarkPath(bookmarks::BookmarkModel* model,
+                            int64_t folder_id) {
+  // Create an array with root node id, if folder_id == root node.
+  if (model->root_node()->id() == folder_id) {
     return @[ [NSNumber numberWithLongLong:model->root_node()->id()] ];
   }
 
-  const BookmarkNode* bookmark = FindFolderById(model, folderId);
+  const BookmarkNode* bookmark = FindFolderById(model, folder_id);
   if (!bookmark)
     return nil;
 
   NSMutableArray* bookmarkPath = [NSMutableArray array];
-  [bookmarkPath addObject:[NSNumber numberWithLongLong:folderId]];
+  [bookmarkPath addObject:[NSNumber numberWithLongLong:folder_id]];
   while (model->root_node()->id() != bookmark->id()) {
     bookmark = bookmark->parent();
     DCHECK(bookmark);
diff --git a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios_unittest.mm b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios_unittest.mm
index 69dee75..0b4f82f 100644
--- a/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios_unittest.mm
+++ b/ios/chrome/browser/ui/bookmarks/bookmark_utils_ios_unittest.mm
@@ -23,8 +23,6 @@
 
 namespace {
 
-using bookmark_utils_ios::NodesSection;
-
 class BookmarkIOSUtilsUnitTest : public BookmarkIOSUnitTest {
  protected:
   base::Time timeFromEpoch(int days, int hours) {
@@ -32,57 +30,6 @@
   }
 };
 
-TEST_F(BookmarkIOSUtilsUnitTest, segregateNodesByCreationDate) {
-  const BookmarkNode* mobileNode = bookmark_model_->mobile_node();
-  const BookmarkNode* f1 = AddFolder(mobileNode, @"f1");
-  const BookmarkNode* a = AddBookmark(mobileNode, @"a");
-  bookmark_model_->SetDateAdded(a, timeFromEpoch(169, 5));
-  const BookmarkNode* b = AddBookmark(mobileNode, @"b");
-  bookmark_model_->SetDateAdded(b, timeFromEpoch(170, 6));
-  const BookmarkNode* f2 = AddFolder(mobileNode, @"f2");
-
-  const BookmarkNode* f1a = AddBookmark(f1, @"f1a");
-  bookmark_model_->SetDateAdded(f1a, timeFromEpoch(129, 5));
-  const BookmarkNode* f1b = AddBookmark(f1, @"f1b");
-  bookmark_model_->SetDateAdded(f1b, timeFromEpoch(130, 6));
-  const BookmarkNode* f2a = AddBookmark(f2, @"f2a");
-  bookmark_model_->SetDateAdded(f2a, timeFromEpoch(201, 5));
-  const BookmarkNode* f2b = AddBookmark(f2, @"f2b");
-  bookmark_model_->SetDateAdded(f2b, timeFromEpoch(10, 5));
-
-  std::vector<const BookmarkNode*> toSort;
-  toSort.push_back(a);
-  toSort.push_back(b);
-  toSort.push_back(f1a);
-  toSort.push_back(f1b);
-  toSort.push_back(f2a);
-  toSort.push_back(f2b);
-
-  std::vector<std::unique_ptr<NodesSection>> nodesSectionVector;
-  bookmark_utils_ios::segregateNodes(toSort, nodesSectionVector);
-
-  // Expect the nodes to be sorted in reverse chronological order, grouped by
-  // month.
-  ASSERT_EQ(nodesSectionVector.size(), 4u);
-  NodesSection* section = nodesSectionVector[0].get();
-  ASSERT_EQ(section->vector.size(), 1u);
-  EXPECT_EQ(section->vector[0], f2a);
-
-  section = nodesSectionVector[1].get();
-  ASSERT_EQ(section->vector.size(), 2u);
-  EXPECT_EQ(section->vector[0], b);
-  EXPECT_EQ(section->vector[1], a);
-
-  section = nodesSectionVector[2].get();
-  ASSERT_EQ(section->vector.size(), 2u);
-  EXPECT_EQ(section->vector[0], f1b);
-  EXPECT_EQ(section->vector[1], f1a);
-
-  section = nodesSectionVector[3].get();
-  ASSERT_EQ(section->vector.size(), 1u);
-  EXPECT_EQ(section->vector[0], f2b);
-}
-
 TEST_F(BookmarkIOSUtilsUnitTest, DeleteNodes) {
   const BookmarkNode* mobileNode = bookmark_model_->mobile_node();
   const BookmarkNode* f1 = AddFolder(mobileNode, @"f1");
diff --git a/ios/chrome/browser/ui/browser_view/BUILD.gn b/ios/chrome/browser/ui/browser_view/BUILD.gn
index 02f6c5b..f1a236a 100644
--- a/ios/chrome/browser/ui/browser_view/BUILD.gn
+++ b/ios/chrome/browser/ui/browser_view/BUILD.gn
@@ -89,6 +89,7 @@
     "//ios/chrome/browser/ui/activity_services",
     "//ios/chrome/browser/ui/activity_services/requirements",
     "//ios/chrome/browser/ui/alert_coordinator",
+    "//ios/chrome/browser/ui/app_store_rating:features",
     "//ios/chrome/browser/ui/authentication",
     "//ios/chrome/browser/ui/authentication:signin_presenter",
     "//ios/chrome/browser/ui/authentication/enterprise/enterprise_prompt",
@@ -231,6 +232,7 @@
   frameworks = [
     "MessageUI.framework",
     "Photos.framework",
+    "StoreKit.framework",
     "UIKit.framework",
   ]
 }
diff --git a/ios/chrome/browser/ui/browser_view/browser_coordinator.mm b/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
index 30ce70d1..56760e1 100644
--- a/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_coordinator.mm
@@ -4,6 +4,7 @@
 
 #import "ios/chrome/browser/ui/browser_view/browser_coordinator.h"
 
+#import <StoreKit/StoreKit.h>
 #import <memory>
 
 #import "base/metrics/histogram_functions.h"
@@ -47,6 +48,7 @@
 #import "ios/chrome/browser/ui/activity_services/activity_params.h"
 #import "ios/chrome/browser/ui/activity_services/requirements/activity_service_positioner.h"
 #import "ios/chrome/browser/ui/alert_coordinator/repost_form_coordinator.h"
+#import "ios/chrome/browser/ui/app_store_rating/features.h"
 #import "ios/chrome/browser/ui/authentication/enterprise/enterprise_prompt/enterprise_prompt_coordinator.h"
 #import "ios/chrome/browser/ui/authentication/enterprise/enterprise_prompt/enterprise_prompt_type.h"
 #import "ios/chrome/browser/ui/autofill/form_input_accessory/form_input_accessory_coordinator.h"
@@ -1537,6 +1539,15 @@
   }
 }
 
+- (void)requestAppStoreReview {
+  if (IsAppStoreRatingEnabled()) {
+    UIWindowScene* scene =
+        [SceneStateBrowserAgent::FromBrowser(self.browser)->GetSceneState()
+            scene];
+    [SKStoreReviewController requestReviewInScene:scene];
+  }
+}
+
 #pragma mark - PageInfoCommands
 
 - (void)showPageInfo {
diff --git a/ios/chrome/browser/ui/commands/promos_manager_commands.h b/ios/chrome/browser/ui/commands/promos_manager_commands.h
index 0c825f5..f6524cc 100644
--- a/ios/chrome/browser/ui/commands/promos_manager_commands.h
+++ b/ios/chrome/browser/ui/commands/promos_manager_commands.h
@@ -13,6 +13,9 @@
 // Displays an eligible promo (selected by the Promos Manager) if one exists.
 - (void)maybeDisplayPromo;
 
+// Makes a request to Apple to present the user the App Store Rating Promo.
+- (void)requestAppStoreReview;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_COMMANDS_PROMOS_MANAGER_COMMANDS_H_
diff --git a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_scene_agent.mm b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_scene_agent.mm
index 1bbf3ee..6df1701 100644
--- a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_scene_agent.mm
+++ b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_scene_agent.mm
@@ -97,7 +97,7 @@
 
   NSString* authReason = l10n_util::GetNSStringF(
       IDS_IOS_INCOGNITO_REAUTH_SYSTEM_DIALOG_REASON,
-      base::SysNSStringToUTF16(biometricAuthenticationTypeString()));
+      base::SysNSStringToUTF16(BiometricAuthenticationTypeString()));
 
   __weak IncognitoReauthSceneAgent* weakSelf = self;
   void (^completionHandler)(ReauthenticationResult) =
diff --git a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.h b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.h
index 2dfefcc..512d2bf3 100644
--- a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.h
+++ b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.h
@@ -8,6 +8,6 @@
 #import <Foundation/Foundation.h>
 
 // A string defining the authentication type, e.g. "Face ID" or "Touch ID".
-NSString* biometricAuthenticationTypeString();
+NSString* BiometricAuthenticationTypeString();
 
 #endif  // IOS_CHROME_BROWSER_UI_INCOGNITO_REAUTH_INCOGNITO_REAUTH_UTIL_H_
diff --git a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.mm b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.mm
index 8a72a3bd..198a072 100644
--- a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.mm
+++ b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_util.mm
@@ -12,7 +12,7 @@
 #error "This file requires ARC support."
 #endif
 
-NSString* biometricAuthenticationTypeString() {
+NSString* BiometricAuthenticationTypeString() {
   LAContext* ctx = [[LAContext alloc] init];
   // Call canEvaluatePolicy:error: once to populate biometrics type
   NSError* error;
diff --git a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_view.mm b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_view.mm
index 06eb9a8..9cadafce 100644
--- a/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_view.mm
+++ b/ios/chrome/browser/ui/incognito_reauth/incognito_reauth_view.mm
@@ -136,7 +136,7 @@
   titleLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleTitle2];
   titleLabel.text = l10n_util::GetNSStringF(
       IDS_IOS_INCOGNITO_REAUTH_UNLOCK_BUTTON,
-      base::SysNSStringToUTF16(biometricAuthenticationTypeString()));
+      base::SysNSStringToUTF16(BiometricAuthenticationTypeString()));
   [titleLabel
       setContentCompressionResistancePriority:UILayoutPriorityRequired
                                       forAxis:UILayoutConstraintAxisHorizontal];
@@ -152,7 +152,7 @@
 
   button.accessibilityLabel = l10n_util::GetNSStringF(
       IDS_IOS_INCOGNITO_REAUTH_UNLOCK_BUTTON_VOICEOVER_LABEL,
-      base::SysNSStringToUTF16(biometricAuthenticationTypeString()));
+      base::SysNSStringToUTF16(BiometricAuthenticationTypeString()));
   button.translatesAutoresizingMaskIntoConstraints = NO;
 
   button.pointerInteractionEnabled = YES;
diff --git a/ios/chrome/browser/ui/infobars/modals/test/fake_infobar_translate_modal_consumer.h b/ios/chrome/browser/ui/infobars/modals/test/fake_infobar_translate_modal_consumer.h
index 5c0215a..8a517d7 100644
--- a/ios/chrome/browser/ui/infobars/modals/test/fake_infobar_translate_modal_consumer.h
+++ b/ios/chrome/browser/ui/infobars/modals/test/fake_infobar_translate_modal_consumer.h
@@ -26,7 +26,7 @@
 @property(nonatomic, assign) BOOL shouldDisplayNeverTranslateSiteButton;
 
 // YES if the pref is set to configure the Translate button to trigger
-// translateWithNewLanguages().
+// -translateWithNewLanguages.
 @property(nonatomic, assign) BOOL updateLanguageBeforeTranslate;
 
 // YES if the pref is set to always translate for the source language.
diff --git a/ios/chrome/browser/ui/main/scene_controller.mm b/ios/chrome/browser/ui/main/scene_controller.mm
index f9e8bfc..4506e42 100644
--- a/ios/chrome/browser/ui/main/scene_controller.mm
+++ b/ios/chrome/browser/ui/main/scene_controller.mm
@@ -465,14 +465,18 @@
   if (self.startupParameters) {
     if ([self isIncognitoForced]) {
       [self.startupParameters
-          setUnexpectedMode:!self.startupParameters.launchInIncognito];
+          setUnexpectedMode:self.startupParameters.applicationMode ==
+                            ApplicationModeForTabOpening::NORMAL];
       // When only incognito mode is available.
-      [self.startupParameters setLaunchInIncognito:YES];
+      [self.startupParameters
+          setApplicationMode:ApplicationModeForTabOpening::INCOGNITO];
     } else if ([self isIncognitoDisabled]) {
       [self.startupParameters
-          setUnexpectedMode:self.startupParameters.launchInIncognito];
+          setUnexpectedMode:self.startupParameters.applicationMode ==
+                            ApplicationModeForTabOpening::INCOGNITO];
       // When incognito mode is disabled.
-      [self.startupParameters setLaunchInIncognito:NO];
+      [self.startupParameters
+          setApplicationMode:ApplicationModeForTabOpening::NORMAL];
     }
 
     [UserActivityHandler
@@ -564,7 +568,10 @@
   self.sceneState.startupHadExternalIntent = YES;
 
   // Perform the action in incognito when only incognito mode is available.
-  [self.startupParameters setLaunchInIncognito:[self isIncognitoForced]];
+  if ([self isIncognitoForced]) {
+    [self.startupParameters
+        setApplicationMode:ApplicationModeForTabOpening::INCOGNITO];
+  }
 
   [UserActivityHandler
       performActionForShortcutItem:shortcutItem
diff --git a/ios/chrome/browser/ui/ntp/feed_top_section/feed_top_section_mediator.mm b/ios/chrome/browser/ui/ntp/feed_top_section/feed_top_section_mediator.mm
index 2b2c591..64e1a06 100644
--- a/ios/chrome/browser/ui/ntp/feed_top_section/feed_top_section_mediator.mm
+++ b/ios/chrome/browser/ui/ntp/feed_top_section/feed_top_section_mediator.mm
@@ -124,6 +124,7 @@
 
 - (void)signinPromoViewMediatorCloseButtonWasTapped:
     (SigninPromoViewMediator*)mediator {
+  [self.ntpDelegate handleFeedTopSectionClosed];
   self.shouldShowSigninPromo = NO;
 }
 
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
index 2acbec80..9a72e45a 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
@@ -885,6 +885,10 @@
       ->ShouldShowStartSurface();
 }
 
+- (void)handleFeedTopSectionClosed {
+  [self.ntpViewController updateScrollPositionForFeedTopSectionClosed];
+}
+
 #pragma mark - AppStateObserver
 
 - (void)appState:(AppState*)appState
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_delegate.h b/ios/chrome/browser/ui/ntp/new_tab_page_delegate.h
index 3ec879c7..e657b9ca3 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_delegate.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_delegate.h
@@ -23,6 +23,9 @@
 // Returns whether the current NTP is a start surface.
 - (BOOL)isStartSurface;
 
+// Called when the feed top section is manually dismissed.
+- (void)handleFeedTopSectionClosed;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_NTP_NEW_TAB_PAGE_DELEGATE_H_
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
index f4e3943..06264c3 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
@@ -132,6 +132,9 @@
 // ensure the feed is still scrollable to the minimum height.
 - (void)updateFeedInsetsForMinimumHeight;
 
+// Updates the scroll position to account for the feed promo being removed.
+- (void)updateScrollPositionForFeedTopSectionClosed;
+
 @end
 
 #endif  // IOS_CHROME_BROWSER_UI_NTP_NEW_TAB_PAGE_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
index 8375e8a..88e18f1 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
@@ -487,6 +487,12 @@
   }
 }
 
+- (void)updateScrollPositionForFeedTopSectionClosed {
+  if (self.fakeOmniboxPinnedToTop) {
+    [self setContentOffset:[self scrollPosition] + [self feedTopSectionHeight]];
+  }
+}
+
 #pragma mark - UIScrollViewDelegate
 
 - (void)scrollViewDidScroll:(UIScrollView*)scrollView {
diff --git a/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
index 8fd1ad7d..9abc4999 100644
--- a/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator.mm
@@ -19,8 +19,8 @@
 #import "ios/chrome/browser/sync/sync_setup_service.h"
 #import "ios/chrome/browser/ui/icons/chrome_symbol.h"
 #import "ios/chrome/browser/ui/icons/item_icon.h"
+#import "ios/chrome/browser/ui/icons/settings_icon.h"
 #import "ios/chrome/browser/ui/list_model/list_model.h"
-#import "ios/chrome/browser/ui/settings/cells/settings_image_detail_text_item.h"
 #import "ios/chrome/browser/ui/settings/cells/sync_switch_item.h"
 #import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_command_handler.h"
 #import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_constants.h"
@@ -28,6 +28,7 @@
 #import "ios/chrome/browser/ui/settings/google_services/sync_error_settings_command_handler.h"
 #import "ios/chrome/browser/ui/settings/sync/utils/sync_util.h"
 #import "ios/chrome/browser/ui/settings/utils/pref_backed_boolean.h"
+#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_image_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_info_button_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_item.h"
@@ -49,6 +50,14 @@
 
 namespace {
 
+// Returns the configuration to be used for the accessory.
+UIImageConfiguration* AccessoryConfiguration() {
+  return [UIImageSymbolConfiguration
+      configurationWithPointSize:kSymbolAccessoryPointSize
+                          weight:UIImageSymbolWeightRegular
+                           scale:UIImageSymbolScaleMedium];
+}
+
 // Enterprise icon.
 NSString* const kGoogleServicesEnterpriseImage = @"google_services_enterprise";
 // Sync error icon.
@@ -293,8 +302,8 @@
       SyncSetupService::kSyncServiceNeedsTrustedVaultKey;
   if (hasDisclosureIndicator) {
     self.encryptionItem.accessoryView = [[UIImageView alloc]
-        initWithImage:DefaultSymbolTemplateWithPointSize(
-                          kChevronForwardSymbol, kSymbolAccessoryPointSize)];
+        initWithImage:DefaultSymbolWithConfiguration(kChevronForwardSymbol,
+                                                     AccessoryConfiguration())];
     self.encryptionItem.accessoryView.tintColor =
         [UIColor colorNamed:kTextQuaternaryColor];
   } else {
@@ -309,8 +318,8 @@
   TableViewImageItem* googleActivityControlsItem =
       [[TableViewImageItem alloc] initWithType:GoogleActivityControlsItemType];
   googleActivityControlsItem.accessoryView = [[UIImageView alloc]
-      initWithImage:DefaultSymbolTemplateWithPointSize(
-                        kExternalLinkSmbol, kSymbolAccessoryPointSize)];
+      initWithImage:DefaultSymbolWithConfiguration(kExternalLinkSmbol,
+                                                   AccessoryConfiguration())];
   googleActivityControlsItem.accessoryView.tintColor =
       [UIColor colorNamed:kTextQuaternaryColor];
   googleActivityControlsItem.title =
@@ -325,8 +334,8 @@
   TableViewImageItem* dataFromChromeSyncItem =
       [[TableViewImageItem alloc] initWithType:DataFromChromeSync];
   dataFromChromeSyncItem.accessoryView = [[UIImageView alloc]
-      initWithImage:DefaultSymbolTemplateWithPointSize(
-                        kExternalLinkSmbol, kSymbolAccessoryPointSize)];
+      initWithImage:DefaultSymbolWithConfiguration(kExternalLinkSmbol,
+                                                   AccessoryConfiguration())];
   dataFromChromeSyncItem.accessoryView.tintColor =
       [UIColor colorNamed:kTextQuaternaryColor];
   dataFromChromeSyncItem.title =
@@ -702,8 +711,9 @@
          (itemType == SyncNeedsTrustedVaultKeyErrorItemType) ||
          (itemType == SyncTrustedVaultRecoverabilityDegradedErrorItemType))
       << "itemType: " << itemType;
-  SettingsImageDetailTextItem* syncErrorItem =
-      [[SettingsImageDetailTextItem alloc] initWithType:itemType];
+  TableViewDetailIconItem* syncErrorItem =
+      [[TableViewDetailIconItem alloc] initWithType:itemType];
+  syncErrorItem.textLayoutConstraintAxis = UILayoutConstraintAxisVertical;
   syncErrorItem.text = GetNSString(IDS_IOS_SYNC_ERROR_TITLE);
   syncErrorItem.detailText =
       GetSyncErrorDescriptionForSyncSetupService(self.syncSetupService);
@@ -736,7 +746,15 @@
       syncErrorItem.text = GetNSString(IDS_SYNC_NEEDS_VERIFICATION_TITLE);
       break;
   }
-  syncErrorItem.image = [UIImage imageNamed:kGoogleServicesSyncErrorImage];
+  if (UseSymbols()) {
+    syncErrorItem.iconImage = DefaultSettingsRootSymbol(kSyncErrorSymbol);
+    syncErrorItem.iconBackgroundColor = [UIColor colorNamed:kRed500Color];
+    syncErrorItem.iconTintColor = UIColor.whiteColor;
+    syncErrorItem.iconCornerRadius = kColorfulBackgroundSymbolCornerRadius;
+  } else {
+    syncErrorItem.iconImage =
+        [UIImage imageNamed:kGoogleServicesSyncErrorImage];
+  }
   return syncErrorItem;
 }
 
diff --git a/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator_unittest.mm b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator_unittest.mm
index c1cb7b7..2071dbcac 100644
--- a/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/settings/google_services/manage_sync_settings_mediator_unittest.mm
@@ -24,6 +24,7 @@
 #import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_constants.h"
 #import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_consumer.h"
 #import "ios/chrome/browser/ui/settings/google_services/manage_sync_settings_table_view_controller.h"
+#import "ios/chrome/browser/ui/table_view/cells/table_view_detail_icon_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_image_item.h"
 #import "ios/chrome/browser/ui/table_view/cells/table_view_info_button_item.h"
 #import "ios/chrome/browser/ui/table_view/table_view_model.h"
@@ -330,8 +331,8 @@
       itemsInSectionWithIdentifier:SyncSettingsSectionIdentifier::
                                        SyncErrorsSectionIdentifier];
   ASSERT_EQ(1UL, error_items.count);
-  SettingsImageDetailTextItem* error_item =
-      base::mac::ObjCCastStrict<SettingsImageDetailTextItem>(error_items[0]);
+  TableViewDetailIconItem* error_item =
+      base::mac::ObjCCastStrict<TableViewDetailIconItem>(error_items[0]);
   EXPECT_NSEQ(
       error_item.detailText,
       l10n_util::GetNSString(
diff --git a/ios/chrome/browser/ui/settings/price_notifications/tracking_price/BUILD.gn b/ios/chrome/browser/ui/settings/price_notifications/tracking_price/BUILD.gn
index d5608e85..3bb7e60 100644
--- a/ios/chrome/browser/ui/settings/price_notifications/tracking_price/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/price_notifications/tracking_price/BUILD.gn
@@ -48,3 +48,25 @@
     "tracking_price_constants.mm",
   ]
 }
+
+source_set("eg2_tests") {
+  configs += [
+    "//build/config/compiler:enable_arc",
+    "//build/config/ios:xctest_config",
+  ]
+  testonly = true
+  sources = [ "tracking_price_egtest.mm" ]
+  deps = [
+    ":constants",
+    "//base",
+    "//base/test:test_support",
+    "//components/commerce/core:feature_list",
+    "//components/strings",
+    "//ios/chrome/app/strings",
+    "//ios/chrome/test/earl_grey:eg_test_support+eg2",
+    "//ios/testing/earl_grey:eg_test_support+eg2",
+    "//ios/third_party/earl_grey2:test_lib",
+    "//ui/base",
+  ]
+  frameworks = [ "UIKit.framework" ]
+}
diff --git a/ios/chrome/browser/ui/settings/price_notifications/tracking_price/tracking_price_egtest.mm b/ios/chrome/browser/ui/settings/price_notifications/tracking_price/tracking_price_egtest.mm
new file mode 100644
index 0000000..80e0cca
--- /dev/null
+++ b/ios/chrome/browser/ui/settings/price_notifications/tracking_price/tracking_price_egtest.mm
@@ -0,0 +1,71 @@
+// Copyright 2022 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "components/commerce/core/commerce_feature_list.h"
+#import "ios/chrome/grit/ios_strings.h"
+#import "ios/chrome/test/earl_grey/chrome_earl_grey.h"
+#import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h"
+#import "ios/chrome/test/earl_grey/chrome_matchers.h"
+#import "ios/chrome/test/earl_grey/chrome_test_case.h"
+#import "ios/testing/earl_grey/earl_grey_test.h"
+#import "ui/base/l10n/l10n_util.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+using chrome_test_util::ButtonWithAccessibilityLabelId;
+using chrome_test_util::SettingsDoneButton;
+using chrome_test_util::SettingsMenuPriceNotificationsButton;
+using chrome_test_util::SettingsTrackingPriceTableView;
+
+// Integration tests using the Tracking Price settings screen.
+@interface TrackingPriceTestCase : ChromeTestCase
+@end
+
+@implementation TrackingPriceTestCase
+
+- (AppLaunchConfiguration)appConfigurationForTestCase {
+  AppLaunchConfiguration config;
+  // Feature parameters follow a key/value format to enable or disable
+  // parameters.
+  std::string params =
+      ":enable_price_tracking/true/enable_price_notification/true";
+  config.additional_args.push_back(
+      "--enable-features=" +
+      std::string(commerce::kCommercePriceTracking.name) + params);
+
+  return config;
+}
+
+// Tests that the settings page is dismissed by swiping down from the top.
+- (void)testTrackingPriceSwipeDown {
+  [self openTrackingPriceSettings];
+
+  // Check that Tracking Price TableView is presented.
+  [[EarlGrey selectElementWithMatcher:SettingsTrackingPriceTableView()]
+      assertWithMatcher:grey_notNil()];
+
+  // Swipe TableView down.
+  [[EarlGrey selectElementWithMatcher:SettingsTrackingPriceTableView()]
+      performAction:grey_swipeFastInDirection(kGREYDirectionDown)];
+
+  // Check that Settings has been dismissed.
+  [[EarlGrey selectElementWithMatcher:SettingsTrackingPriceTableView()]
+      assertWithMatcher:grey_nil()];
+}
+
+#pragma mark - Helpers
+
+// Opens tracking price settings from price notifications setting page.
+- (void)openTrackingPriceSettings {
+  [ChromeEarlGreyUI openSettingsMenu];
+  [ChromeEarlGreyUI
+      tapSettingsMenuButton:SettingsMenuPriceNotificationsButton()];
+  [ChromeEarlGreyUI tapPriceNotificationsMenuButton:
+                        ButtonWithAccessibilityLabelId(
+                            IDS_IOS_PRICE_NOTIFICATIONS_PRICE_TRACKING_TITLE)];
+}
+
+@end
diff --git a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
index e710a62..1946fa2 100644
--- a/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
+++ b/ios/chrome/browser/ui/settings/settings_table_view_controller.mm
@@ -1948,7 +1948,6 @@
         googleSyncItem.iconBackgroundColor = [UIColor colorNamed:kRed500Color];
         googleSyncItem.iconTintColor = UIColor.whiteColor;
         googleSyncItem.iconCornerRadius = kColorfulBackgroundSymbolCornerRadius;
-
       } else {
         googleSyncItem.iconImage = [UIImage imageNamed:kSyncErrorImageName];
       }
diff --git a/ios/chrome/browser/url/url_util.mm b/ios/chrome/browser/url/url_util.mm
index b637ca2e..40c366c 100644
--- a/ios/chrome/browser/url/url_util.mm
+++ b/ios/chrome/browser/url/url_util.mm
@@ -89,8 +89,7 @@
     for (NSDictionary* urlType in urlTypes) {
       DCHECK([urlType isKindOfClass:[NSDictionary class]]);
       _schemes =
-          [base::mac::ObjCCastStrict<NSArray>(urlType[@"CFBundleURLSchemes"])
-              copy];
+          base::mac::ObjCCastStrict<NSArray>(urlType[@"CFBundleURLSchemes"]);
     }
   }
   return _schemes;
diff --git a/ios/chrome/browser/web/sad_tab_tab_helper.h b/ios/chrome/browser/web/sad_tab_tab_helper.h
index b36b74e..91e8f7c 100644
--- a/ios/chrome/browser/web/sad_tab_tab_helper.h
+++ b/ios/chrome/browser/web/sad_tab_tab_helper.h
@@ -7,6 +7,7 @@
 
 #import <Foundation/Foundation.h>
 
+#include "base/time/time.h"
 #include "base/timer/elapsed_timer.h"
 #include "ios/web/public/web_state_observer.h"
 #import "ios/web/public/web_state_user_data.h"
@@ -18,16 +19,6 @@
 class SadTabTabHelper : public web::WebStateUserData<SadTabTabHelper>,
                         public web::WebStateObserver {
  public:
-  // Creates a SadTabTabHelper and attaches it to a specific web_state object.
-  // Uses a default repeat_failure_interval.
-  static void CreateForWebState(web::WebState* web_state);
-
-  // Creates a SadTabTabHelper and attaches it to a specific web_state object,
-  // `repeat_failure_interval` sets the corresponding instance variable used for
-  // determining repeat failures.
-  static void CreateForWebState(web::WebState* web_state,
-                                double repeat_failure_interval);
-
   SadTabTabHelper(const SadTabTabHelper&) = delete;
   SadTabTabHelper& operator=(const SadTabTabHelper&) = delete;
 
@@ -40,18 +31,19 @@
   // true if Sad Tab has currently being shown.
   bool is_showing_sad_tab() const { return showing_sad_tab_; }
 
+  // The default window of time a failure of the same URL needs to occur
+  // to be considered a repeat failure.
+  static constexpr base::TimeDelta kDefaultRepeatFailureInterval =
+      base::Seconds(60);
+
  private:
   friend class web::WebStateUserData<SadTabTabHelper>;
 
-  // Constructs a SadTabTabHelper, assigning the helper to a web_state. A
-  // default repeat_failure_interval will be used.
-  explicit SadTabTabHelper(web::WebState* web_state);
-
-  // Constructs a SadTabTabHelper allowing an optional `repeat_failure_interval`
-  // value to be passed in, representing a timeout period in seconds during
-  // which a second failure will be considered a 'repeated' crash rather than an
-  // initial event.
-  SadTabTabHelper(web::WebState* web_state, double repeat_failure_interval);
+  // Constructs a SadTabTabHelper. `repeat_failure_interval` represents
+  // a timeout period during which a second failure will be considered a
+  // 'repeated' crash rather than an initial event.
+  SadTabTabHelper(web::WebState* web_state,
+                  base::TimeDelta repeat_failure_interval);
 
   // Registers that a visible crash occurred for `url_causing_failure`. Updates
   // `repeated_failure_`.
@@ -88,10 +80,6 @@
                            web::NavigationContext* navigation_context) override;
   void WebStateDestroyed(web::WebState* web_state) override;
 
-  // The default window of time a failure of the same URL needs to occur
-  // to be considered a repeat failure.
-  static const double kDefaultRepeatFailureInterval;
-
   // The WebState this instance is observing. Will be null after
   // WebStateDestroyed has been called.
   web::WebState* web_state_ = nullptr;
@@ -112,7 +100,7 @@
 
   // Stores the interval window in seconds during which a second
   // RenderProcessGone failure will be considered a repeat failure.
-  double repeat_failure_interval_ = kDefaultRepeatFailureInterval;
+  base::TimeDelta repeat_failure_interval_;
 
   // true if the WebState needs to be reloaded after web state becomes visible.
   bool requires_reload_on_becoming_visible_ = false;
diff --git a/ios/chrome/browser/web/sad_tab_tab_helper.mm b/ios/chrome/browser/web/sad_tab_tab_helper.mm
index 7f4009f..34b62a6 100644
--- a/ios/chrome/browser/web/sad_tab_tab_helper.mm
+++ b/ios/chrome/browser/web/sad_tab_tab_helper.mm
@@ -30,8 +30,6 @@
 #error "This file requires ARC support."
 #endif
 
-const double SadTabTabHelper::kDefaultRepeatFailureInterval = 60.0f;
-
 namespace {
 // Returns true if the application is in UIApplicationStateActive state.
 bool IsApplicationStateActive() {
@@ -40,11 +38,8 @@
 }
 }  // namespace
 
-SadTabTabHelper::SadTabTabHelper(web::WebState* web_state)
-    : SadTabTabHelper(web_state, kDefaultRepeatFailureInterval) {}
-
 SadTabTabHelper::SadTabTabHelper(web::WebState* web_state,
-                                 double repeat_failure_interval)
+                                 base::TimeDelta repeat_failure_interval)
     : web_state_(web_state), repeat_failure_interval_(repeat_failure_interval) {
   web_state_->AddObserver(this);
   AddApplicationDidBecomeActiveObserver();
@@ -55,24 +50,6 @@
   DCHECK(!web_state_);
 }
 
-void SadTabTabHelper::CreateForWebState(web::WebState* web_state) {
-  DCHECK(web_state);
-  if (!FromWebState(web_state)) {
-    web_state->SetUserData(UserDataKey(),
-                           base::WrapUnique(new SadTabTabHelper(web_state)));
-  }
-}
-
-void SadTabTabHelper::CreateForWebState(web::WebState* web_state,
-                                        double repeat_failure_interval) {
-  DCHECK(web_state);
-  if (!FromWebState(web_state)) {
-    web_state->SetUserData(UserDataKey(),
-                           base::WrapUnique(new SadTabTabHelper(
-                               web_state, repeat_failure_interval)));
-  }
-}
-
 void SadTabTabHelper::SetDelegate(id<SadTabTabHelperDelegate> delegate) {
   delegate_ = delegate;
   if (delegate_ && showing_sad_tab_ && web_state_->IsVisible()) {
@@ -164,8 +141,9 @@
 void SadTabTabHelper::OnVisibleCrash(const GURL& url_causing_failure) {
   // Is this failure a repeat-failure requiring the presentation of the Feedback
   // UI rather than the Reload UI?
-  double seconds_since_last_failure =
-      last_failed_timer_ ? last_failed_timer_->Elapsed().InSecondsF() : DBL_MAX;
+  base::TimeDelta seconds_since_last_failure =
+      last_failed_timer_ ? last_failed_timer_->Elapsed()
+                         : base::TimeDelta::Max();
 
   repeated_failure_ =
       (url_causing_failure.EqualsIgnoringRef(last_failed_url_) &&
diff --git a/ios/chrome/browser/web/sad_tab_tab_helper_unittest.mm b/ios/chrome/browser/web/sad_tab_tab_helper_unittest.mm
index f95b223..8d8a324 100644
--- a/ios/chrome/browser/web/sad_tab_tab_helper_unittest.mm
+++ b/ios/chrome/browser/web/sad_tab_tab_helper_unittest.mm
@@ -79,7 +79,8 @@
     NamedGuide* guide = [[NamedGuide alloc] initWithName:kContentAreaGuide];
     [web_state_view_ addLayoutGuide:guide];
 
-    SadTabTabHelper::CreateForWebState(&web_state_);
+    SadTabTabHelper::CreateForWebState(
+        &web_state_, SadTabTabHelper::kDefaultRepeatFailureInterval);
     tab_helper()->SetDelegate(sad_tab_delegate_);
     PagePlaceholderTabHelper::CreateForWebState(&web_state_);
     OCMStub([application_ sharedApplication]).andReturn(application_);
@@ -355,7 +356,7 @@
   web::FakeWebState web_state;
   web_state.SetBrowserState(browser_state.get());
   web_state.SetNavigationManager(std::move(navigation_manager));
-  SadTabTabHelper::CreateForWebState(&web_state, 0.0f);
+  SadTabTabHelper::CreateForWebState(&web_state, base::TimeDelta());
   SadTabTabHelper::FromWebState(&web_state)->SetDelegate(sad_tab_delegate_);
   PagePlaceholderTabHelper::CreateForWebState(&web_state);
   web_state.WasShown();
diff --git a/ios/chrome/test/BUILD.gn b/ios/chrome/test/BUILD.gn
index bcbeab8..be06c4f 100644
--- a/ios/chrome/test/BUILD.gn
+++ b/ios/chrome/test/BUILD.gn
@@ -124,6 +124,7 @@
   deps = [
     "//base",
     "//base/test:test_support",
+    "//components/breadcrumbs/core",
     "//components/content_settings/core/common",
     "//ios/chrome/browser/browser_state:browser_state_impl",
     "//ios/chrome/browser/paths",
diff --git a/ios/chrome/test/DEPS b/ios/chrome/test/DEPS
index db3c49e6..8b9006e 100644
--- a/ios/chrome/test/DEPS
+++ b/ios/chrome/test/DEPS
@@ -1,6 +1,7 @@
 include_rules = [
   "+components/autofill/core/browser",
   "+components/bookmarks",
+  "+components/breadcrumbs/core",
   "+components/browser_sync",
   "+components/browsing_data/core",
   "+components/content_settings/core",
diff --git a/ios/chrome/test/earl_grey/BUILD.gn b/ios/chrome/test/earl_grey/BUILD.gn
index 3835520..b803490 100644
--- a/ios/chrome/test/earl_grey/BUILD.gn
+++ b/ios/chrome/test/earl_grey/BUILD.gn
@@ -158,6 +158,7 @@
     "//ios/chrome/browser/ui/settings/password:password_constants",
     "//ios/chrome/browser/ui/settings/password/passwords_in_other_apps:eg_app_support+eg2",
     "//ios/chrome/browser/ui/settings/price_notifications:constants",
+    "//ios/chrome/browser/ui/settings/price_notifications/tracking_price:constants",
     "//ios/chrome/browser/ui/settings/privacy:privacy_constants",
     "//ios/chrome/browser/ui/settings/privacy:privacy_ui",
     "//ios/chrome/browser/ui/settings/sync",
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.h b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.h
index 3f8d5af6..e1b5e97 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.h
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.h
@@ -95,6 +95,12 @@
 // there will be a GREYAssert.
 - (void)tapPriceNotificationsMenuButton:(id<GREYMatcher>)buttonMatcher;
 
+// Scrolls to find the button in the Tracking Price menu with the
+// corresponding `buttonMatcher`, and then taps it. If `buttonMatcher` is not
+// found, or the Tracking Price menu is not open when this is called
+// there will be a GREYAssert.
+- (void)tapTrackingPriceMenuButton:(id<GREYMatcher>)buttonMatcher;
+
 // Scrolls to find the button in the Clear Browsing Data menu with the
 // corresponding `buttonMatcher`, and then taps it. If `buttonMatcher` is
 // not found, or the Clear Browsing Data menu is not open when this is called
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
index fc00a03..8d74db0c 100644
--- a/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
+++ b/ios/chrome/test/earl_grey/chrome_earl_grey_ui.mm
@@ -339,6 +339,16 @@
       performAction:grey_tap()];
 }
 
+- (void)tapTrackingPriceMenuButton:(id<GREYMatcher>)buttonMatcher {
+  ScopedDisableTimerTracking disabler;
+  id<GREYMatcher> interactableButtonMatcher =
+      grey_allOf(buttonMatcher, grey_interactable(), nil);
+  [[[EarlGrey selectElementWithMatcher:interactableButtonMatcher]
+         usingSearchAction:ScrollDown()
+      onElementWithMatcher:chrome_test_util::SettingsTrackingPriceTableView()]
+      performAction:grey_tap()];
+}
+
 - (void)tapAccountsMenuButton:(id<GREYMatcher>)buttonMatcher {
   ScopedDisableTimerTracking disabler;
   [[[EarlGrey selectElementWithMatcher:buttonMatcher]
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.h b/ios/chrome/test/earl_grey/chrome_matchers.h
index 7a93c75..e94126e 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.h
+++ b/ios/chrome/test/earl_grey/chrome_matchers.h
@@ -289,6 +289,9 @@
 // Returns a matcher for the notifications settings table view.
 id<GREYMatcher> SettingsPriceNotificationsTableView();
 
+// Returns a matcher for the tracking price settings table view.
+id<GREYMatcher> SettingsTrackingPriceTableView();
+
 // Returns a matcher for the Content Settings button on the main Settings
 // screen.
 id<GREYMatcher> ContentSettingsButton();
diff --git a/ios/chrome/test/earl_grey/chrome_matchers.mm b/ios/chrome/test/earl_grey/chrome_matchers.mm
index 20ead97..4d8eb1c 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers.mm
@@ -364,6 +364,10 @@
   return [ChromeMatchersAppInterface settingsPriceNotificationsTableView];
 }
 
+id<GREYMatcher> SettingsTrackingPriceTableView() {
+  return [ChromeMatchersAppInterface settingsTrackingPriceTableView];
+}
+
 id<GREYMatcher> ContentSettingsButton() {
   return [ChromeMatchersAppInterface contentSettingsButton];
 }
diff --git a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.h b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.h
index c16de2d..a44edbb 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.h
+++ b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.h
@@ -278,6 +278,9 @@
 // Returns matcher for the price notifications table view.
 + (id<GREYMatcher>)settingsPriceNotificationsTableView;
 
+// Returns matcher for the tracking price table view.
++ (id<GREYMatcher>)settingsTrackingPriceTableView;
+
 // Returns matcher for the Content Settings button on the main Settings screen.
 + (id<GREYMatcher>)contentSettingsButton;
 
diff --git a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
index 108895e7..549ab692 100644
--- a/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
+++ b/ios/chrome/test/earl_grey/chrome_matchers_app_interface.mm
@@ -45,6 +45,7 @@
 #import "ios/chrome/browser/ui/settings/import_data_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/password/passwords_table_view_constants.h"
 #import "ios/chrome/browser/ui/settings/price_notifications/price_notifications_constants.h"
+#import "ios/chrome/browser/ui/settings/price_notifications/tracking_price/tracking_price_constants.h"
 #import "ios/chrome/browser/ui/settings/privacy/privacy_constants.h"
 #import "ios/chrome/browser/ui/settings/privacy/privacy_table_view_controller.h"
 #import "ios/chrome/browser/ui/settings/safety_check/safety_check_ui_swift.h"
@@ -626,6 +627,10 @@
   return grey_accessibilityID(kPriceNotificationsTableViewId);
 }
 
++ (id<GREYMatcher>)settingsTrackingPriceTableView {
+  return grey_accessibilityID(kTrackingPriceTableViewId);
+}
+
 + (id<GREYMatcher>)contentSettingsButton {
   return [ChromeMatchersAppInterface
       buttonWithAccessibilityLabelID:(IDS_IOS_CONTENT_SETTINGS_TITLE)];
diff --git a/ios/chrome/test/earl_grey2/BUILD.gn b/ios/chrome/test/earl_grey2/BUILD.gn
index 6ba3ef6..533fe53a 100644
--- a/ios/chrome/test/earl_grey2/BUILD.gn
+++ b/ios/chrome/test/earl_grey2/BUILD.gn
@@ -132,6 +132,7 @@
     "//ios/chrome/browser/ui/settings/password:eg2_tests",
     "//ios/chrome/browser/ui/settings/password/passwords_in_other_apps:eg2_tests",
     "//ios/chrome/browser/ui/settings/price_notifications:eg2_tests",
+    "//ios/chrome/browser/ui/settings/price_notifications/tracking_price:eg2_tests",
     "//ios/chrome/browser/ui/settings/privacy:eg2_tests",
     "//ios/chrome/browser/ui/settings/sync:eg2_tests",
   ]
diff --git a/ios/chrome/test/ios_chrome_unit_test_suite.mm b/ios/chrome/test/ios_chrome_unit_test_suite.mm
index aa0d4d5..536eca7 100644
--- a/ios/chrome/test/ios_chrome_unit_test_suite.mm
+++ b/ios/chrome/test/ios_chrome_unit_test_suite.mm
@@ -7,6 +7,8 @@
 #import "base/metrics/user_metrics.h"
 #import "base/path_service.h"
 #import "base/test/test_simple_task_runner.h"
+#import "components/breadcrumbs/core/breadcrumb_manager.h"
+#import "components/breadcrumbs/core/crash_reporter_breadcrumb_observer.h"
 #import "components/content_settings/core/common/content_settings_pattern.h"
 #import "ios/chrome/browser/browser_state/browser_state_keyed_service_factories.h"
 #import "ios/chrome/browser/paths/paths.h"
@@ -59,6 +61,10 @@
         ios::SetChromeBrowserProvider(nullptr);
     DCHECK_EQ(previous_provider, chrome_browser_provider_.get());
     chrome_browser_provider_.reset();
+
+    breadcrumbs::BreadcrumbManager::GetInstance().ResetForTesting();
+    breadcrumbs::CrashReporterBreadcrumbObserver::GetInstance()
+        .ResetForTesting();
   }
 
  private:
diff --git a/ios/showcase/README.md b/ios/showcase/README.md
index 2f985f3..1dc2c75 100644
--- a/ios/showcase/README.md
+++ b/ios/showcase/README.md
@@ -184,7 +184,7 @@
         "//ios/showcase/common",
         # Insert target for ClassForDisplay here.
       ]
-      libs = [ "UIKit.framework" ]
+      frameworks = [ "UIKit.framework" ]
       configs += [ "//build/config/compiler:enable_arc" ]
     }
     ```
@@ -215,7 +215,7 @@
       deps = [
         # Insert target for ClassForDisplay here.
       ]
-      libs = [ "UIKit.framework" ]
+      frameworks = [ "UIKit.framework" ]
       configs += [ "//build/config/compiler:enable_arc" ]
     }
     ```
diff --git a/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java b/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java
index aaf35b6..8c8b04f 100644
--- a/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java
+++ b/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java
@@ -51,7 +51,6 @@
         public static final String VIDEO_MP4 = "video/mp4";
         public static final String VIDEO_WEBM = "video/webm";
         public static final String VIDEO_H264 = "video/avc";
-        public static final String VIDEO_DOLBY_VISION = "video/dolby-vision";
         public static final String VIDEO_HEVC = "video/hevc";
         public static final String VIDEO_VP8 = "video/x-vnd.on2.vp8";
         public static final String VIDEO_VP9 = "video/x-vnd.on2.vp9";
@@ -438,10 +437,6 @@
             }
         } else if (mime.equals(MimeTypes.VIDEO_AV1)) {
             if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) return false;
-        } else if (mime.equals(MimeTypes.VIDEO_DOLBY_VISION)) {
-            if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
-                return false;
-            }
         }
         // *************************************************************
         // *** DO NOT ADD ANY NEW CODECS WITHOUT UPDATING MIME_UTIL. ***
diff --git a/media/base/android/media_codec_util.cc b/media/base/android/media_codec_util.cc
index 223b27e..49c00090 100644
--- a/media/base/android/media_codec_util.cc
+++ b/media/base/android/media_codec_util.cc
@@ -192,13 +192,6 @@
   return color_formats;
 }
 
-#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
-// static
-bool MediaCodecUtil::IsDolbyVisionDecoderAvailable() {
-  return IsDecoderSupportedByDevice(kDolbyVisionMimeType);
-}
-#endif
-
 // static
 bool MediaCodecUtil::IsVp8DecoderAvailable() {
   return IsDecoderSupportedByDevice(kVp8MimeType);
diff --git a/media/base/android/media_codec_util.h b/media/base/android/media_codec_util.h
index 27f0f9e..15e4956 100644
--- a/media/base/android/media_codec_util.h
+++ b/media/base/android/media_codec_util.h
@@ -34,11 +34,6 @@
   // Returns true if MediaCodec supports CBCS Encryption.
   static bool PlatformSupportsCbcsEncryption(int sdk);
 
-#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
-  // Indicates if Dolby Vision decoder is available on this device.
-  static bool IsDolbyVisionDecoderAvailable();
-#endif
-
   // Indicates if the vp8 decoder or encoder is available on this device.
   static bool IsVp8DecoderAvailable();
   static bool IsVp8EncoderAvailable();
diff --git a/media/base/mime_util_internal.cc b/media/base/mime_util_internal.cc
index 87b018f..5779a470 100644
--- a/media/base/mime_util_internal.cc
+++ b/media/base/mime_util_internal.cc
@@ -147,10 +147,6 @@
 
 MimeUtil::MimeUtil() {
 #if BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
-  platform_info_.has_platform_dv_decoder =
-      MediaCodecUtil::IsDolbyVisionDecoderAvailable();
-#endif
   platform_info_.has_platform_vp8_decoder =
       MediaCodecUtil::IsVp8DecoderAvailable();
   platform_info_.has_platform_vp9_decoder =
@@ -652,7 +648,7 @@
 
     case DOLBY_VISION:
 #if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
-      return platform_info.has_platform_dv_decoder;
+      return true;
 #else
       return false;
 #endif
diff --git a/media/base/mime_util_unittest.cc b/media/base/mime_util_unittest.cc
index 37b9e75c..85d72c9c 100644
--- a/media/base/mime_util_unittest.cc
+++ b/media/base/mime_util_unittest.cc
@@ -122,7 +122,11 @@
 // This is to validate MimeUtil::IsCodecSupportedOnPlatform(), which is used
 // only on Android platform.
 static bool HasDolbyVisionSupport() {
+#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
+  return true;
+#else
   return false;
+#endif
 }
 
 static bool HasEac3Support() {
@@ -148,8 +152,8 @@
 
   EXPECT_EQ(kHlsSupported, IsSupportedMediaMimeType("application/x-mpegurl"));
   EXPECT_EQ(kHlsSupported, IsSupportedMediaMimeType("Application/X-MPEGURL"));
-  EXPECT_EQ(kHlsSupported, IsSupportedMediaMimeType(
-      "application/vnd.apple.mpegurl"));
+  EXPECT_EQ(kHlsSupported,
+            IsSupportedMediaMimeType("application/vnd.apple.mpegurl"));
   EXPECT_EQ(kHlsSupported, IsSupportedMediaMimeType("audio/mpegurl"));
   EXPECT_EQ(kHlsSupported, IsSupportedMediaMimeType("audio/x-mpegurl"));
   EXPECT_TRUE(IsSupportedMediaMimeType("audio/mp4"));
diff --git a/net/base/features.cc b/net/base/features.cc
index 7dd3495..e48b6dd 100644
--- a/net/base/features.cc
+++ b/net/base/features.cc
@@ -11,17 +11,19 @@
 
 namespace net::features {
 
-const base::Feature kAlpsForHttp2{"AlpsForHttp2",
-                                  base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAlpsForHttp2, "AlpsForHttp2", base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kAvoidH2Reprioritization{"AvoidH2Reprioritization",
-                                             base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAvoidH2Reprioritization,
+             "AvoidH2Reprioritization",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kCapReferrerToOriginOnCrossOrigin{
-    "CapReferrerToOriginOnCrossOrigin", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin,
+             "CapReferrerToOriginOnCrossOrigin",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kDnsTransactionDynamicTimeouts{
-    "DnsTransactionDynamicTimeouts", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDnsTransactionDynamicTimeouts,
+             "DnsTransactionDynamicTimeouts",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 const base::FeatureParam<double> kDnsTransactionTimeoutMultiplier{
     &kDnsTransactionDynamicTimeouts, "DnsTransactionTimeoutMultiplier", 7.5};
@@ -30,8 +32,7 @@
     &kDnsTransactionDynamicTimeouts, "DnsMinTransactionTimeout",
     base::Seconds(12)};
 
-const base::Feature kDnsHttpssvc{"DnsHttpssvc",
-                                 base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDnsHttpssvc, "DnsHttpssvc", base::FEATURE_DISABLED_BY_DEFAULT);
 
 const base::FeatureParam<bool> kDnsHttpssvcUseHttpssvc{
     &kDnsHttpssvc, "DnsHttpssvcUseHttpssvc", false};
@@ -64,8 +65,9 @@
 }
 }  // namespace dns_httpssvc_experiment
 
-const base::Feature kUseDnsHttpsSvcb{"UseDnsHttpsSvcb",
-                                     base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kUseDnsHttpsSvcb,
+             "UseDnsHttpsSvcb",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 const base::FeatureParam<bool> kUseDnsHttpsSvcbHttpUpgrade{
     &kUseDnsHttpsSvcb, "UseDnsHttpsSvcbHttpUpgrade", true};
@@ -104,61 +106,69 @@
 const base::FeatureParam<int> kUseDnsHttpsSvcbExtraTimePercent{
     &kUseDnsHttpsSvcb, "UseDnsHttpsSvcbExtraTimePercent", 0};
 
-const base::Feature kUseDnsHttpsSvcbAlpn{"UseDnsHttpsSvcbAlpn",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseDnsHttpsSvcbAlpn,
+             "UseDnsHttpsSvcbAlpn",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableTLS13EarlyData{"EnableTLS13EarlyData",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableTLS13EarlyData,
+             "EnableTLS13EarlyData",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEncryptedClientHello{"EncryptedClientHello",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEncryptedClientHello,
+             "EncryptedClientHello",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kNetworkQualityEstimator{"NetworkQualityEstimator",
-                                             base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kNetworkQualityEstimator,
+             "NetworkQualityEstimator",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSplitCacheByIncludeCredentials{
-    "SplitCacheByIncludeCredentials", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSplitCacheByIncludeCredentials,
+             "SplitCacheByIncludeCredentials",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSplitCacheByNetworkIsolationKey{
-    "SplitCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSplitCacheByNetworkIsolationKey,
+             "SplitCacheByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSplitHostCacheByNetworkIsolationKey{
-    "SplitHostCacheByNetworkIsolationKey", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSplitHostCacheByNetworkIsolationKey,
+             "SplitHostCacheByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionConnectionsByNetworkIsolationKey{
-    "PartitionConnectionsByNetworkIsolationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionConnectionsByNetworkIsolationKey,
+             "PartitionConnectionsByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kForceIsolationInfoFrameOriginToTopLevelFrame{
-    "ForceIsolationInfoFrameOriginToTopLevelFrame",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kForceIsolationInfoFrameOriginToTopLevelFrame,
+             "ForceIsolationInfoFrameOriginToTopLevelFrame",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionHttpServerPropertiesByNetworkIsolationKey{
-    "PartitionHttpServerPropertiesByNetworkIsolationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionHttpServerPropertiesByNetworkIsolationKey,
+             "PartitionHttpServerPropertiesByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionSSLSessionsByNetworkIsolationKey{
-    "PartitionSSLSessionsByNetworkIsolationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionSSLSessionsByNetworkIsolationKey,
+             "PartitionSSLSessionsByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionExpectCTStateByNetworkIsolationKey{
-    "PartitionExpectCTStateByNetworkIsolationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionExpectCTStateByNetworkIsolationKey,
+             "PartitionExpectCTStateByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionNelAndReportingByNetworkIsolationKey{
-    "PartitionNelAndReportingByNetworkIsolationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey,
+             "PartitionNelAndReportingByNetworkIsolationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableDoubleKeyNetworkAnonymizationKey{
-    "EnableDoubleKeyNetworkAnonymizationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey,
+             "EnableDoubleKeyNetworkAnonymizationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableCrossSiteFlagNetworkAnonymizationKey{
-    "EnableCrossSiteFlagNetworkAnonymizationKey",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableCrossSiteFlagNetworkAnonymizationKey,
+             "EnableCrossSiteFlagNetworkAnonymizationKey",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kExpectCTPruning{"ExpectCTPruning",
-                                     base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kExpectCTPruning,
+             "ExpectCTPruning",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 NET_EXPORT extern const base::FeatureParam<int>
     kExpectCTPruneMax(&kExpectCTPruning, "ExpectCTPruneMax", 2000);
@@ -175,31 +185,39 @@
 NET_EXPORT extern const base::FeatureParam<int>
     kExpectCTPruneDelaySecs(&kExpectCTPruning, "ExpectCTPruneDelaySecs", 60);
 
-const base::Feature kTLS13KeyUpdate{"TLS13KeyUpdate",
-                                    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTLS13KeyUpdate,
+             "TLS13KeyUpdate",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPermuteTLSExtensions{"PermuteTLSExtensions",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPermuteTLSExtensions,
+             "PermuteTLSExtensions",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPostQuantumCECPQ2{"PostQuantumCECPQ2",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kPostQuantumCECPQ2SomeDomains{
-    "PostQuantumCECPQ2SomeDomains", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPostQuantumCECPQ2,
+             "PostQuantumCECPQ2",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kPostQuantumCECPQ2SomeDomains,
+             "PostQuantumCECPQ2SomeDomains",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 const base::FeatureParam<std::string>
     kPostQuantumCECPQ2Prefix(&kPostQuantumCECPQ2SomeDomains, "prefix", "a");
 
-const base::Feature kNetUnusedIdleSocketTimeout{
-    "NetUnusedIdleSocketTimeout", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kNetUnusedIdleSocketTimeout,
+             "NetUnusedIdleSocketTimeout",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kShortLaxAllowUnsafeThreshold{
-    "ShortLaxAllowUnsafeThreshold", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kShortLaxAllowUnsafeThreshold,
+             "ShortLaxAllowUnsafeThreshold",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSameSiteDefaultChecksMethodRigorously{
-    "SameSiteDefaultChecksMethodRigorously", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSameSiteDefaultChecksMethodRigorously,
+             "SameSiteDefaultChecksMethodRigorously",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
-const base::Feature kCertVerifierBuiltinFeature{
-    "CertVerifierBuiltin", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCertVerifierBuiltinFeature,
+             "CertVerifierBuiltin",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #if BUILDFLAG(IS_MAC)
 const base::FeatureParam<int> kCertVerifierBuiltinImpl{
     &kCertVerifierBuiltinFeature, "impl", 0};
@@ -211,8 +229,9 @@
 #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED)
 // Enables the dual certificate verification trial feature.
 // https://crbug.com/649026
-const base::Feature kCertDualVerificationTrialFeature{
-    "CertDualVerificationTrial", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCertDualVerificationTrialFeature,
+             "CertDualVerificationTrial",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #if BUILDFLAG(IS_MAC)
 const base::FeatureParam<int> kCertDualVerificationTrialImpl{
     &kCertDualVerificationTrialFeature, "impl", 0};
@@ -227,29 +246,35 @@
 #endif
 
 #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
-const base::Feature kChromeRootStoreUsed{"ChromeRootStoreUsed",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kChromeRootStoreUsed,
+             "ChromeRootStoreUsed",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #endif /* BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) */
 
-const base::Feature kTurnOffStreamingMediaCachingOnBattery{
-    "TurnOffStreamingMediaCachingOnBattery", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTurnOffStreamingMediaCachingOnBattery,
+             "TurnOffStreamingMediaCachingOnBattery",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kTurnOffStreamingMediaCachingAlways{
-    "TurnOffStreamingMediaCachingAlways", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTurnOffStreamingMediaCachingAlways,
+             "TurnOffStreamingMediaCachingAlways",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSchemefulSameSite{"SchemefulSameSite",
-                                       base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kSchemefulSameSite,
+             "SchemefulSameSite",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kLimitOpenUDPSockets{"LimitOpenUDPSockets",
-                                         base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kLimitOpenUDPSockets,
+             "LimitOpenUDPSockets",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 extern const base::FeatureParam<int> kLimitOpenUDPSocketsMax(
     &kLimitOpenUDPSockets,
     "LimitOpenUDPSocketsMax",
     6000);
 
-const base::Feature kTimeoutTcpConnectAttempt{
-    "TimeoutTcpConnectAttempt", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTimeoutTcpConnectAttempt,
+             "TimeoutTcpConnectAttempt",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 extern const base::FeatureParam<double> kTimeoutTcpConnectAttemptRTTMultiplier(
     &kTimeoutTcpConnectAttempt,
@@ -267,53 +292,64 @@
     base::Seconds(30));
 
 #if BUILDFLAG(ENABLE_REPORTING)
-const base::Feature kDocumentReporting{"DocumentReporting",
-                                       base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kDocumentReporting,
+             "DocumentReporting",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(ENABLE_REPORTING)
 
 #if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
-const base::Feature kUdpSocketPosixAlwaysUpdateBytesReceived{
-    "UdpSocketPosixAlwaysUpdateBytesReceived",
-    base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kUdpSocketPosixAlwaysUpdateBytesReceived,
+             "UdpSocketPosixAlwaysUpdateBytesReceived",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 #endif  // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
 
-const base::Feature kCookieSameSiteConsidersRedirectChain{
-    "CookieSameSiteConsidersRedirectChain", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCookieSameSiteConsidersRedirectChain,
+             "CookieSameSiteConsidersRedirectChain",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kSamePartyCookiesConsideredFirstParty{
-    "SamePartyCookiesConsideredFirstParty", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kSamePartyCookiesConsideredFirstParty,
+             "SamePartyCookiesConsideredFirstParty",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kPartitionedCookies{"PartitionedCookies",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
-const base::Feature kPartitionedCookiesBypassOriginTrial{
-    "PartitionedCookiesBypassOriginTrial", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPartitionedCookies,
+             "PartitionedCookies",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kPartitionedCookiesBypassOriginTrial,
+             "PartitionedCookiesBypassOriginTrial",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kNoncedPartitionedCookies{"NoncedPartitionedCookies",
-                                              base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kNoncedPartitionedCookies,
+             "NoncedPartitionedCookies",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kExtraCookieValidityChecks{
-    "ExtraCookieValidityChecks", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kExtraCookieValidityChecks,
+             "ExtraCookieValidityChecks",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kRecordRadioWakeupTrigger{
-    "RecordRadioWakeupTrigger", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRecordRadioWakeupTrigger,
+             "RecordRadioWakeupTrigger",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kClampCookieExpiryTo400Days(
-    "ClampCookieExpiryTo400Days",
-    base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kClampCookieExpiryTo400Days,
+             "ClampCookieExpiryTo400Days",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kStaticKeyPinningEnforcement(
-    "StaticKeyPinningEnforcement",
-    base::FEATURE_ENABLED_BY_DEFAULT);
+BASE_FEATURE(kStaticKeyPinningEnforcement,
+             "StaticKeyPinningEnforcement",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kCookieDomainRejectNonASCII{
-    "CookieDomainRejectNonASCII", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kCookieDomainRejectNonASCII,
+             "CookieDomainRejectNonASCII",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kBlockSetCookieHeader{"BlockSetCookieHeader",
-                                          base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kBlockSetCookieHeader,
+             "BlockSetCookieHeader",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Read as much of the net::URLRequest as there is space in the Mojo data pipe.
-const base::Feature kOptimizeNetworkBuffers{"OptimizeNetworkBuffers2",
-                                            base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizeNetworkBuffers,
+             "OptimizeNetworkBuffers2",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 const base::FeatureParam<int> kOptimizeNetworkBuffersBytesReadLimit{
     &kOptimizeNetworkBuffers, "bytes_read_limit", 64 * 1024};
@@ -331,8 +367,9 @@
 const base::FeatureParam<bool> kOptimizeNetworkBuffersInputStreamCheckAvailable{
     &kOptimizeNetworkBuffers, "input_stream_check_available", true};
 
-const base::Feature kStorageAccessAPI{"StorageAccessAPI",
-                                      base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kStorageAccessAPI,
+             "StorageAccessAPI",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 constexpr int kStorageAccessAPIDefaultImplicitGrantLimit = 5;
 const base::FeatureParam<int> kStorageAccessAPIImplicitGrantLimit{
     &kStorageAccessAPI, "storage-access-api-implicit-grant-limit",
@@ -348,19 +385,22 @@
 
 // Enables partitioning of third party storage (IndexedDB, CacheStorage, etc.)
 // by the top level site to reduce fingerprinting.
-const base::Feature kThirdPartyStoragePartitioning{
-    "ThirdPartyStoragePartitioning", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kThirdPartyStoragePartitioning,
+             "ThirdPartyStoragePartitioning",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kAlpsParsing{"AlpsParsing",
-                                 base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAlpsParsing, "AlpsParsing", base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kAlpsClientHintParsing{"AlpsClientHintParsing",
-                                           base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAlpsClientHintParsing,
+             "AlpsClientHintParsing",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kShouldKillSessionOnAcceptChMalformed{
-    "ShouldKillSessionOnAcceptChMalformed", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kShouldKillSessionOnAcceptChMalformed,
+             "ShouldKillSessionOnAcceptChMalformed",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kCaseInsensitiveCookiePrefix{
-    "CaseInsensitiveCookiePrefix", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kCaseInsensitiveCookiePrefix,
+             "CaseInsensitiveCookiePrefix",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 }  // namespace net::features
diff --git a/net/base/features.h b/net/base/features.h
index fa79a6a..b994371 100644
--- a/net/base/features.h
+++ b/net/base/features.h
@@ -20,18 +20,18 @@
 // Enables ALPS extension of TLS 1.3 for HTTP/2, see
 // https://vasilvv.github.io/tls-alps/draft-vvv-tls-alps.html and
 // https://vasilvv.github.io/httpbis-alps/draft-vvv-httpbis-alps.html.
-NET_EXPORT extern const base::Feature kAlpsForHttp2;
+NET_EXPORT BASE_DECLARE_FEATURE(kAlpsForHttp2);
 
 // Disable H2 reprioritization, in order to measure its impact.
-NET_EXPORT extern const base::Feature kAvoidH2Reprioritization;
+NET_EXPORT BASE_DECLARE_FEATURE(kAvoidH2Reprioritization);
 
 // When kCapReferrerToOriginOnCrossOrigin is enabled, HTTP referrers on cross-
 // origin requests are restricted to contain at most the source origin.
-NET_EXPORT extern const base::Feature kCapReferrerToOriginOnCrossOrigin;
+NET_EXPORT BASE_DECLARE_FEATURE(kCapReferrerToOriginOnCrossOrigin);
 
 // Support for altering the parameters used for DNS transaction timeout. See
 // ResolveContext::SecureTransactionTimeout().
-NET_EXPORT extern const base::Feature kDnsTransactionDynamicTimeouts;
+NET_EXPORT BASE_DECLARE_FEATURE(kDnsTransactionDynamicTimeouts);
 // Multiplier applied to current fallback periods in determining a transaction
 // timeout.
 NET_EXPORT extern const base::FeatureParam<double>
@@ -45,7 +45,7 @@
 //
 // Not to be confused with `kUseDnsHttpsSvcb` which is querying HTTPS in order
 // to affect Chrome connection behavior.
-NET_EXPORT extern const base::Feature kDnsHttpssvc;
+NET_EXPORT BASE_DECLARE_FEATURE(kDnsHttpssvc);
 
 // Determine which kind of record should be queried: HTTPSSVC or INTEGRITY. No
 // more than one of these feature parameters should be enabled at once. In the
@@ -103,7 +103,7 @@
 // Not to be confused with `kDnsHttpssvc` which is for experiment-only queries
 // where received HTTPS results do not affect Chrome behavior and are only used
 // for metrics.
-NET_EXPORT extern const base::Feature kUseDnsHttpsSvcb;
+NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcb);
 
 // Param to control whether or not presence of an HTTPS record for an HTTP
 // request will force an HTTP->HTTPS upgrade redirect.
@@ -163,54 +163,51 @@
     kUseDnsHttpsSvcbExtraTimePercent;
 
 // Update protocol using ALPN information in HTTPS DNS records.
-NET_EXPORT extern const base::Feature kUseDnsHttpsSvcbAlpn;
+NET_EXPORT BASE_DECLARE_FEATURE(kUseDnsHttpsSvcbAlpn);
 
 // Enables TLS 1.3 early data.
-NET_EXPORT extern const base::Feature kEnableTLS13EarlyData;
+NET_EXPORT BASE_DECLARE_FEATURE(kEnableTLS13EarlyData);
 
 // Enables the TLS Encrypted ClientHello feature.
 // https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13
-NET_EXPORT extern const base::Feature kEncryptedClientHello;
+NET_EXPORT BASE_DECLARE_FEATURE(kEncryptedClientHello);
 
 // Enables optimizing the network quality estimation algorithms in network
 // quality estimator (NQE).
-NET_EXPORT extern const base::Feature kNetworkQualityEstimator;
+NET_EXPORT BASE_DECLARE_FEATURE(kNetworkQualityEstimator);
 
 // Splits cache entries by the request's includeCredentials.
-NET_EXPORT extern const base::Feature kSplitCacheByIncludeCredentials;
+NET_EXPORT BASE_DECLARE_FEATURE(kSplitCacheByIncludeCredentials);
 
 // Splits cache entries by the request's NetworkIsolationKey if one is
 // available.
-NET_EXPORT extern const base::Feature kSplitCacheByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kSplitCacheByNetworkIsolationKey);
 
 // Splits host cache entries by the DNS request's NetworkIsolationKey if one is
 // available. Also prevents merging live DNS lookups when there is a NIK
 // mismatch.
-NET_EXPORT extern const base::Feature kSplitHostCacheByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kSplitHostCacheByNetworkIsolationKey);
 
 // Partitions connections based on the NetworkIsolationKey associated with a
 // request.
-NET_EXPORT extern const base::Feature
-    kPartitionConnectionsByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionConnectionsByNetworkIsolationKey);
 
 // Forces the `frame_origin` value in IsolationInfo to the `top_level_origin`
 // value when an IsolationInfo instance is created. This is to enable
 // expirimenting with double keyed network partitions.
-NET_EXPORT extern const base::Feature
-    kForceIsolationInfoFrameOriginToTopLevelFrame;
+NET_EXPORT BASE_DECLARE_FEATURE(kForceIsolationInfoFrameOriginToTopLevelFrame);
 
 // Partitions HttpServerProperties based on the NetworkIsolationKey associated
 // with a request.
-NET_EXPORT extern const base::Feature
-    kPartitionHttpServerPropertiesByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(
+    kPartitionHttpServerPropertiesByNetworkIsolationKey);
 
 // Partitions TLS sessions and QUIC server configs based on the
 // NetworkIsolationKey associated with a request.
 //
 // This feature requires kPartitionConnectionsByNetworkIsolationKey to be
 // enabled to work.
-NET_EXPORT extern const base::Feature
-    kPartitionSSLSessionsByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionSSLSessionsByNetworkIsolationKey);
 
 // Partitions Expect-CT data by NetworkIsolationKey. This only affects the
 // Expect-CT data itself. Regardless of this value, reports will be uploaded
@@ -219,8 +216,7 @@
 // This feature requires kPartitionConnectionsByNetworkIsolationKey,
 // kPartitionHttpServerPropertiesByNetworkIsolationKey, and
 // kPartitionConnectionsByNetworkIsolationKey to all be enabled to work.
-NET_EXPORT extern const base::Feature
-    kPartitionExpectCTStateByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionExpectCTStateByNetworkIsolationKey);
 
 // Partitions Network Error Logging and Reporting API data by
 // NetworkIsolationKey. Also partitions all reports generated by other consumers
@@ -231,8 +227,7 @@
 // NetworkIsolationKey parameters, and they're cleared while loading from the
 // cache, but internal objects can be created with them (e.g., endpoints), for
 // testing.
-NET_EXPORT extern const base::Feature
-    kPartitionNelAndReportingByNetworkIsolationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionNelAndReportingByNetworkIsolationKey);
 
 // Creates a <double key + is_cross_site> NetworkAnonymizationKey which is used
 // to partition the network state. This double key will have the following
@@ -242,18 +237,17 @@
 // to the frame site. The frame site will not be stored in this key so the value
 // of is_cross_site will be computed at key construction. This feature overrides
 // `kEnableDoubleKeyNetworkAnonymizationKey` if both are enabled.
-NET_EXPORT extern const base::Feature
-    kEnableCrossSiteFlagNetworkAnonymizationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kEnableCrossSiteFlagNetworkAnonymizationKey);
 
 // Creates a double keyed NetworkAnonymizationKey which is used to partition the
 // network state. This double key will have the following properties:
 // `top_frame_site` -> the schemeful site of the top level page.
 // `frame_site ` -> nullopt
 // `is_cross_site` -> nullopt
-NET_EXPORT extern const base::Feature kEnableDoubleKeyNetworkAnonymizationKey;
+NET_EXPORT BASE_DECLARE_FEATURE(kEnableDoubleKeyNetworkAnonymizationKey);
 
 // Enables limiting the size of Expect-CT table.
-NET_EXPORT extern const base::Feature kExpectCTPruning;
+NET_EXPORT BASE_DECLARE_FEATURE(kExpectCTPruning);
 
 // FeatureParams associated with kExpectCTPruning.
 
@@ -276,25 +270,25 @@
 // to ensure that this corner of the spec is exercised. This is currently
 // disabled by default because we discovered incompatibilities with some
 // servers.
-NET_EXPORT extern const base::Feature kTLS13KeyUpdate;
+NET_EXPORT BASE_DECLARE_FEATURE(kTLS13KeyUpdate);
 
 // Enables permuting TLS extensions in the ClientHello, to reduce the risk of
 // non-compliant servers ossifying parts of the ClientHello and interfering with
 // deployment of future security improvements.
-NET_EXPORT extern const base::Feature kPermuteTLSExtensions;
+NET_EXPORT BASE_DECLARE_FEATURE(kPermuteTLSExtensions);
 
 // Enables CECPQ2, a post-quantum key-agreement, in TLS 1.3 connections.
-NET_EXPORT extern const base::Feature kPostQuantumCECPQ2;
+NET_EXPORT BASE_DECLARE_FEATURE(kPostQuantumCECPQ2);
 
 // Enables CECPQ2, a post-quantum key-agreement, in TLS 1.3 connections for a
 // subset of domains. (This is intended as Finch kill-switch. For testing
 // compatibility with large ClientHello messages, use |kPostQuantumCECPQ2|.)
-NET_EXPORT extern const base::Feature kPostQuantumCECPQ2SomeDomains;
+NET_EXPORT BASE_DECLARE_FEATURE(kPostQuantumCECPQ2SomeDomains);
 NET_EXPORT extern const base::FeatureParam<std::string>
     kPostQuantumCECPQ2Prefix;
 
 // Changes the timeout after which unused sockets idle sockets are cleaned up.
-NET_EXPORT extern const base::Feature kNetUnusedIdleSocketTimeout;
+NET_EXPORT BASE_DECLARE_FEATURE(kNetUnusedIdleSocketTimeout);
 
 // When enabled, the time threshold for Lax-allow-unsafe cookies will be lowered
 // from 2 minutes to 10 seconds. This time threshold refers to the age cutoff
@@ -303,18 +297,18 @@
 // of HTTP method (i.e. allowing unsafe methods). This is a convenience for
 // integration tests which may want to test behavior of cookies older than the
 // threshold, but which would not be practical to run for 2 minutes.
-NET_EXPORT extern const base::Feature kShortLaxAllowUnsafeThreshold;
+NET_EXPORT BASE_DECLARE_FEATURE(kShortLaxAllowUnsafeThreshold);
 
 // When enabled, the SameSite by default feature does not add the
 // "Lax-allow-unsafe" behavior. Any cookies that do not specify a SameSite
 // attribute will be treated as Lax only, i.e. POST and other unsafe HTTP
 // methods will not be allowed at all for top-level cross-site navigations.
 // This only has an effect if the cookie defaults to SameSite=Lax.
-NET_EXPORT extern const base::Feature kSameSiteDefaultChecksMethodRigorously;
+NET_EXPORT BASE_DECLARE_FEATURE(kSameSiteDefaultChecksMethodRigorously);
 
 #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED)
 // When enabled, use the builtin cert verifier instead of the platform verifier.
-NET_EXPORT extern const base::Feature kCertVerifierBuiltinFeature;
+NET_EXPORT BASE_DECLARE_FEATURE(kCertVerifierBuiltinFeature);
 #if BUILDFLAG(IS_MAC)
 NET_EXPORT extern const base::FeatureParam<int> kCertVerifierBuiltinImpl;
 NET_EXPORT extern const base::FeatureParam<int> kCertVerifierBuiltinCacheSize;
@@ -322,7 +316,7 @@
 #endif /* BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) */
 
 #if BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED)
-NET_EXPORT extern const base::Feature kCertDualVerificationTrialFeature;
+NET_EXPORT BASE_DECLARE_FEATURE(kCertDualVerificationTrialFeature);
 #if BUILDFLAG(IS_MAC)
 NET_EXPORT extern const base::FeatureParam<int> kCertDualVerificationTrialImpl;
 NET_EXPORT extern const base::FeatureParam<int>
@@ -340,22 +334,22 @@
 
 #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
 // When enabled, use the Chrome Root Store instead of the system root store
-NET_EXPORT extern const base::Feature kChromeRootStoreUsed;
+NET_EXPORT BASE_DECLARE_FEATURE(kChromeRootStoreUsed);
 #endif /* BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) */
 
 // Turns off streaming media caching to disk when on battery power.
-NET_EXPORT extern const base::Feature kTurnOffStreamingMediaCachingOnBattery;
+NET_EXPORT BASE_DECLARE_FEATURE(kTurnOffStreamingMediaCachingOnBattery);
 
 // Turns off streaming media caching to disk always.
-NET_EXPORT extern const base::Feature kTurnOffStreamingMediaCachingAlways;
+NET_EXPORT BASE_DECLARE_FEATURE(kTurnOffStreamingMediaCachingAlways);
 
 // When enabled this feature will cause same-site calculations to take into
 // account the scheme of the site-for-cookies and the request/response url.
-NET_EXPORT extern const base::Feature kSchemefulSameSite;
+NET_EXPORT BASE_DECLARE_FEATURE(kSchemefulSameSite);
 
 // Enables a process-wide limit on "open" UDP sockets. See
 // udp_socket_global_limits.h for details on what constitutes an "open" socket.
-NET_EXPORT extern const base::Feature kLimitOpenUDPSockets;
+NET_EXPORT BASE_DECLARE_FEATURE(kLimitOpenUDPSockets);
 
 // FeatureParams associated with kLimitOpenUDPSockets.
 
@@ -365,7 +359,7 @@
 
 // Enables a timeout on individual TCP connect attempts, based on
 // the parameter values.
-NET_EXPORT extern const base::Feature kTimeoutTcpConnectAttempt;
+NET_EXPORT BASE_DECLARE_FEATURE(kTimeoutTcpConnectAttempt);
 
 // FeatureParams associated with kTimeoutTcpConnectAttempt.
 
@@ -389,7 +383,7 @@
 // When enabled this feature will allow a new Reporting-Endpoints header to
 // configure reporting endpoints for report delivery. This is used to support
 // the new Document Reporting spec.
-NET_EXPORT extern const base::Feature kDocumentReporting;
+NET_EXPORT BASE_DECLARE_FEATURE(kDocumentReporting);
 #endif  // BUILDFLAG(ENABLE_REPORTING)
 
 #if BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
@@ -398,7 +392,7 @@
 // This should reduce the number of wake ups and improve battery consumption.
 // TODO(https://crbug.com/1189805): Cleanup the feature after verifying that it
 // doesn't negatively affect performance.
-NET_EXPORT extern const base::Feature kUdpSocketPosixAlwaysUpdateBytesReceived;
+NET_EXPORT BASE_DECLARE_FEATURE(kUdpSocketPosixAlwaysUpdateBytesReceived);
 #endif  // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA)
 
 // When this feature is enabled, redirected requests will be considered
@@ -407,56 +401,56 @@
 // redirected request was same-site with the target URL (and the
 // site-for-cookies).
 // See spec changes in https://github.com/httpwg/http-extensions/pull/1348
-NET_EXPORT extern const base::Feature kCookieSameSiteConsidersRedirectChain;
+NET_EXPORT BASE_DECLARE_FEATURE(kCookieSameSiteConsidersRedirectChain);
 
 // When enabled, cookies with the SameParty attribute are treated as
 // "first-party" when in same-party contexts, for the purposes of third-party
 // cookie blocking. (Note that as a consequence, some cookies may be blocked
 // while others are allowed on a cross-site, same-party request. Additionally,
 // privacy mode is disabled in same-party contexts.)
-NET_EXPORT extern const base::Feature kSamePartyCookiesConsideredFirstParty;
+NET_EXPORT BASE_DECLARE_FEATURE(kSamePartyCookiesConsideredFirstParty);
 
 // When enabled, sites can opt-in to having their cookies partitioned by
 // top-level site with the Partitioned attribute. Partitioned cookies will only
 // be sent when the browser is on the same top-level site that it was on when
 // the cookie was set.
-NET_EXPORT extern const base::Feature kPartitionedCookies;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionedCookies);
 // Flag to bypass the origin trial opt-in to use Partitioned cookies. This
 // allows developers to test Partitioned cookies manually in development
 // environments.
 // TODO(crbug.com/1296161): Remove this feature when the CHIPS OT ends.
-NET_EXPORT extern const base::Feature kPartitionedCookiesBypassOriginTrial;
+NET_EXPORT BASE_DECLARE_FEATURE(kPartitionedCookiesBypassOriginTrial);
 
 // When enabled, then we allow partitioned cookies even if kPartitionedCookies
 // is disabled only if the cookie partition key contains a nonce. So far, this
 // is used to create temporary cookie jar partitions for fenced and anonymous
 // frames.
-NET_EXPORT extern const base::Feature kNoncedPartitionedCookies;
+NET_EXPORT BASE_DECLARE_FEATURE(kNoncedPartitionedCookies);
 
 // When enabled, additional cookie-related APIs will perform cookie field size
 // and character set validation to enforce stricter conformance with RFC6265bis.
 // TODO(crbug.com/1243852) Eventually enable this permanently and remove the
 // feature flag, assuming no breakage occurs with it enabled.
-NET_EXPORT extern const base::Feature kExtraCookieValidityChecks;
+NET_EXPORT BASE_DECLARE_FEATURE(kExtraCookieValidityChecks);
 
 // Enable recording UMAs for network activities which can wake-up radio on
 // Android.
-NET_EXPORT extern const base::Feature kRecordRadioWakeupTrigger;
+NET_EXPORT BASE_DECLARE_FEATURE(kRecordRadioWakeupTrigger);
 
 // When enabled, cookies cannot have an expiry date further than 400 days in the
 // future.
-NET_EXPORT extern const base::Feature kClampCookieExpiryTo400Days;
+NET_EXPORT BASE_DECLARE_FEATURE(kClampCookieExpiryTo400Days);
 
 // Controls whether static key pinning is enforced.
-NET_EXPORT extern const base::Feature kStaticKeyPinningEnforcement;
+NET_EXPORT BASE_DECLARE_FEATURE(kStaticKeyPinningEnforcement);
 
 // When enabled, cookies with a non-ASCII domain attribute will be rejected.
-NET_EXPORT extern const base::Feature kCookieDomainRejectNonASCII;
+NET_EXPORT BASE_DECLARE_FEATURE(kCookieDomainRejectNonASCII);
 
 // Blocks the 'Set-Cookie' request header on outbound fetch requests.
-NET_EXPORT extern const base::Feature kBlockSetCookieHeader;
+NET_EXPORT BASE_DECLARE_FEATURE(kBlockSetCookieHeader);
 
-NET_EXPORT extern const base::Feature kOptimizeNetworkBuffers;
+NET_EXPORT BASE_DECLARE_FEATURE(kOptimizeNetworkBuffers);
 
 NET_EXPORT
 extern const base::FeatureParam<int> kOptimizeNetworkBuffersBytesReadLimit;
@@ -471,7 +465,7 @@
     kOptimizeNetworkBuffersInputStreamCheckAvailable;
 
 // Enable the Storage Access API. https://crbug.com/989663.
-NET_EXPORT extern const base::Feature kStorageAccessAPI;
+NET_EXPORT BASE_DECLARE_FEATURE(kStorageAccessAPI);
 
 // Set the default number of "automatic" implicit storage access grants per
 // third party origin that can be granted. This can be overridden via
@@ -493,18 +487,18 @@
 NET_EXPORT extern const base::FeatureParam<bool>
     kStorageAccessAPIAutoDenyOutsideFPS;
 
-NET_EXPORT extern const base::Feature kThirdPartyStoragePartitioning;
+NET_EXPORT BASE_DECLARE_FEATURE(kThirdPartyStoragePartitioning);
 
 // Whether ALPS parsing is on for any type of frame.
-NET_EXPORT extern const base::Feature kAlpsParsing;
+NET_EXPORT BASE_DECLARE_FEATURE(kAlpsParsing);
 
 // Whether ALPS parsing is on for client hint parsing specifically.
-NET_EXPORT extern const base::Feature kAlpsClientHintParsing;
+NET_EXPORT BASE_DECLARE_FEATURE(kAlpsClientHintParsing);
 
 // Whether to kill the session on Error::kAcceptChMalformed.
-NET_EXPORT extern const base::Feature kShouldKillSessionOnAcceptChMalformed;
+NET_EXPORT BASE_DECLARE_FEATURE(kShouldKillSessionOnAcceptChMalformed);
 
-NET_EXPORT extern const base::Feature kCaseInsensitiveCookiePrefix;
+NET_EXPORT BASE_DECLARE_FEATURE(kCaseInsensitiveCookiePrefix);
 
 }  // namespace net::features
 
diff --git a/net/data/ssl/chrome_root_store/root_store.md b/net/data/ssl/chrome_root_store/root_store.md
index 3e83833..9efd698 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: 7
+Version: 8
 
 SHA 256 Hash | Subject | NotBefore | NotAfter
 ---|---|---|---
diff --git a/net/data/ssl/chrome_root_store/root_store.textproto b/net/data/ssl/chrome_root_store/root_store.textproto
index 48bd8c5..b013cf9 100644
--- a/net/data/ssl/chrome_root_store/root_store.textproto
+++ b/net/data/ssl/chrome_root_store/root_store.textproto
@@ -2,44 +2,63 @@
 #
 # proto-file: googleclient/chrome/security/pki_metadata/chrome_root_store/root_store.proto
 # proto-message: chrome_browser_chrome_root_store.RootStore
+#
+# Comments before each entry list the certificate Subject, and for entries
+# containing EV policy OIDs, the URL for the EV test sites.
 
 # Version # should always be incremented up whenever this (or any pem file that
 # it references) is changed.
-version_major: 7
+version_major: 8
 
 # CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT
+# https://ssltest-a.actalis.it:8443
 trust_anchors {
   sha256_hex: "55926084ec963a64b96e2abe01ce0ba86a64fbfebcc7aab5afc155b37fd76066"
+  ev_policy_oids: "1.3.159.1.17.1"
 }
 
 # CN=Amazon Root CA 3, O=Amazon, C=US
+# https://good.sca3a.amazontrust.com/
 trust_anchors {
   sha256_hex: "18ce6cfe7bf14e60b2e347b8dfe868cb31d02ebb3ada271569f50343b46db3a4"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Amazon Root CA 2, O=Amazon, C=US
+# https://good.sca2a.amazontrust.com/
 trust_anchors {
   sha256_hex: "1ba5b2aa8c65401a82960118f80bec4f62304d83cec4713a19c39c011ea46db4"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Starfield Services Root Certificate Authority - G2, O=Starfield Technologies, Inc., L=Scottsdale, ST=Arizona, C=US
+# 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"
 }
 
 # CN=Amazon Root CA 1, O=Amazon, C=US
+# https://good.sca1a.amazontrust.com/
 trust_anchors {
   sha256_hex: "8ecde6884f3d87b1125ba31ac3fcb13d7016de7f57cc904fe1cb97c6ae98196e"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Amazon Root CA 4, O=Amazon, C=US
+# https://good.sca4a.amazontrust.com/
 trust_anchors {
   sha256_hex: "e35d28419ed02025cfa69038cd623962458da5c695fbdea3c22b0bfb25897092"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Certum Trusted Network CA, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL
+# https://juice.certum.pl/
 trust_anchors {
   sha256_hex: "5c58468d55f58e497e743982d2b50010b6d165374acf83a7d4a32db768c4408e"
+  ev_policy_oids: "1.2.616.1.113527.2.5.1.1"
 }
 
 # CN=Certum Trusted Network CA 2, OU=Certum Certification Authority, O=Unizeto Technologies S.A., C=PL
@@ -53,8 +72,10 @@
 }
 
 # CN=Autoridad de Certificacion Firmaprofesional CIF A62634068, C=ES
+# https://publifirma.firmaprofesional.com/
 trust_anchors {
   sha256_hex: "57de0583efd2b26e0361da99da9df4648def7ee8441c3b728afa9bcde0f9b26a"
+  ev_policy_oids: "1.3.6.1.4.1.13177.10.1.3.10"
 }
 
 # CN=Buypass Class 2 Root CA, O=Buypass AS-983163327, C=NO
@@ -63,13 +84,17 @@
 }
 
 # CN=Buypass Class 3 Root CA, O=Buypass AS-983163327, C=NO
+# https://valid.evident.ca23.ssl.buypass.no/
 trust_anchors {
   sha256_hex: "edf7ebbca27a2a384d387b7d4010c666e2edb4843e4c29b4ae1d5b9332e6b24d"
+  ev_policy_oids: "2.16.578.1.26.1.3.3"
 }
 
 # OU=certSIGN ROOT CA G2, O=CERTSIGN SA, C=RO
+# https://testssl-valid-evcp.certsign.ro/
 trust_anchors {
   sha256_hex: "657cfe2fa73faa38462571f332a2363a46fce7020951710702cdfbb6eeda3305"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # OU=certSIGN ROOT CA, O=certSIGN, C=RO
@@ -78,8 +103,10 @@
 }
 
 # CN=CFCA EV ROOT, O=China Financial Certification Authority, C=CN
+# https://www.erenepu.com/
 trust_anchors {
   sha256_hex: "5cc3d78e4e1d5e45547a04e6873e64f90cf9536d1ccc2ef800f355c4c5fd70fd"
+  ev_policy_oids: "2.16.156.112554.3"
 }
 
 # OU=ePKI Root Certification Authority, O=Chunghwa Telecom Co., Ltd., C=TW
@@ -98,8 +125,11 @@
 }
 
 # CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE
+# 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"
 }
 
 # CN=T-TeleSec GlobalRoot Class 2, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE
@@ -108,8 +138,11 @@
 }
 
 # CN=T-TeleSec GlobalRoot Class 3, OU=T-Systems Trust Center, O=T-Systems Enterprise Services GmbH, C=DE
+# 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"
 }
 
 # CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR
@@ -128,8 +161,11 @@
 }
 
 # CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://global-root-g3.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "31ad6648f8104138c738f39ea4320133393e3a18cc02296ef97c2ac9ef6731d0"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=DigiCert Assured ID Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
@@ -143,28 +179,43 @@
 }
 
 # CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://trusted-root-g4.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "552f7bdcf1a7af9e6ce672017f4f12abf77240c78e761ac203d1d9d20ac89988"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://www.digicert.com
 trust_anchors {
   sha256_hex: "7431e5f4c3c1ce4690774f0b61e05440883ba9a01ed00ba6abd7806ed3b118cf"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://assured-id-root-g2.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "7d05ebb682339f8c9451ee094eebfefa7953a114edb2f44949452fab7d2fc185"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://assured-id-root-g3.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "7e37cb8b4c47090cab36551ba6f45db840680fba166a952db100717f43053fc2"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
+# https://global-root-g2.chain-demos.digicert.com/
 trust_anchors {
   sha256_hex: "cb3ccbb76031e5e0138f8dd39a23f9de47ffc35e43c1144cea27d46a5ab1cb5f"
+
+  ev_policy_oids: "2.16.840.1.114412.2.1"
 }
 
 # CN=CA Disig Root R2, O=Disig a.s., L=Bratislava, C=SK
@@ -173,8 +224,11 @@
 }
 
 # CN=E-Tugra Certification Authority, OU=E-Tugra Sertifikasyon Merkezi, O=E-Tuğra EBG Bilişim Teknolojileri ve Hizmetleri A.Ş., L=Ankara, C=TR
+# https://sslev.e-tugra.com.tr
 trust_anchors {
   sha256_hex: "b0bfd52bb0d7d9bd92bf5d4dc13da255c02c542f378365ea893911f55e55f23c"
+
+  ev_policy_oids: "2.16.792.3.0.4.1.1.4"
 }
 
 # CN=emSign Root CA - C1, O=eMudhra Inc, OU=emSign PKI, C=US
@@ -183,8 +237,11 @@
 }
 
 # CN=emSign Root CA - G1, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
+# https://testevg1.emsign.com/
 trust_anchors {
   sha256_hex: "40f6af0346a99aa1cd1d555a4e9cce62c7f9634603ee406615833dc8c8d00367"
+
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=emSign ECC Root CA - G3, O=eMudhra Technologies Limited, OU=emSign PKI, C=IN
@@ -198,23 +255,33 @@
 }
 
 # CN=Entrust Root Certification Authority - EC1, OU=(c) 2012 Entrust, Inc. - for authorized use only, OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
+# https://validec.entrust.net
 trust_anchors {
   sha256_hex: "02ed0eb28c14da45165c566791700d6451d7fb56f0b2ab1d3b8eb070e56edff5"
+
+  ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
 # CN=AffirmTrust Commercial, O=AffirmTrust, C=US
+# https://commercial.affirmtrust.com/
 trust_anchors {
   sha256_hex: "0376ab1d54c5f9803ce4b2e201a0ee7eef7b57b636e8a93c9b8d4860c96f5fa7"
+  ev_policy_oids: "1.3.6.1.4.1.34697.2.1"
 }
 
 # CN=AffirmTrust Networking, O=AffirmTrust, C=US
+# https://networking.affirmtrust.com:4431
 trust_anchors {
   sha256_hex: "0a81ec5a929777f145904af38d5d509f66b5e2c58fcdb531058b0e17f3f0b41b"
+  ev_policy_oids: "1.3.6.1.4.1.34697.2.2"
 }
 
 # CN=Entrust Root Certification Authority - G2, OU=(c) 2009 Entrust, Inc. - for authorized use only, OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
+# https://validg2.entrust.net
 trust_anchors {
   sha256_hex: "43df5774b03e7fef5fe40d931a7bedf1bb2e6b42738c4e6d3841103d3aa7f339"
+
+  ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
 # CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net
@@ -223,23 +290,32 @@
 }
 
 # CN=AffirmTrust Premium, O=AffirmTrust, C=US
+# https://premium.affirmtrust.com:4432/
 trust_anchors {
   sha256_hex: "70a73f7f376b60074248904534b11482d5bf0e698ecc498df52577ebf2e93b9a"
+  ev_policy_oids: "1.3.6.1.4.1.34697.2.3"
 }
 
 # CN=Entrust Root Certification Authority, OU=(c) 2006 Entrust, Inc., OU=www.entrust.net/CPS is incorporated by reference, O=Entrust, Inc., C=US
+# https://www.entrust.net/
 trust_anchors {
   sha256_hex: "73c176434f1bc6d5adf45b0e76e727287c8de57616c1e6e6141a2b2cbc7d8e4c"
+
+  ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
 # CN=AffirmTrust Premium ECC, O=AffirmTrust, C=US
+# https://premiumecc.affirmtrust.com:4433/
 trust_anchors {
   sha256_hex: "bd71fdf6da97e4cf62d1647add2581b07d79adf8397eb4ecba9c5e8488821423"
+  ev_policy_oids: "1.3.6.1.4.1.34697.2.4"
 }
 
 # CN=Entrust Root Certification Authority - G4, OU=(c) 2015 Entrust, Inc. - for authorized use only, OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
+# https://validg4.entrust.net
 trust_anchors {
   sha256_hex: "db3517d1f6732a2d5ab97c533ec70779ee3270a62fb4ac4238372460e6f01e88"
+  ev_policy_oids: "2.16.840.1.114028.10.1.2"
 }
 
 # CN=GDCA TrustAUTH R5 ROOT, O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD., C=CN
@@ -248,8 +324,11 @@
 }
 
 # CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R5
+# https://2038r5.globalsign.com/
 trust_anchors {
   sha256_hex: "179fbc148a3dd00fd24ea13458cc43bfa7f59c8182d783a513f6ebec100c8924"
+
+  ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
 # CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R6
@@ -258,33 +337,51 @@
 }
 
 # CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R3
+# https://2029.globalsign.com/
 trust_anchors {
   sha256_hex: "cbb522d7b7f127ad6a0113865bdf1cd4102e7d0759af635a7cf4720dc963c53b"
+
+  ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
 # CN=GlobalSign Root CA, OU=Root CA, O=GlobalSign nv-sa, C=BE
+# GlobalSign Root CA
 trust_anchors {
   sha256_hex: "ebd41040e4bb3ec742c9e381d31ef2a41a48b6685c96e7cef3c1df6cd4331c99"
+
+  ev_policy_oids: "1.3.6.1.4.1.4146.1.1"
 }
 
 # OU=Starfield Class 2 Certification Authority, O=Starfield Technologies, Inc., C=US
+# https://www.starfieldtech.com/
 trust_anchors {
   sha256_hex: "1465fa205397b876faa6f0a9958e5590e40fcc7faa4fb7c2c8677521fb5fb658"
+
+  ev_policy_oids: "2.16.840.1.114414.1.7.23.3"
 }
 
 # CN=Starfield Root Certificate Authority - G2, O=Starfield Technologies, Inc., L=Scottsdale, ST=Arizona, C=US
+# https://valid.sfig2.catest.starfieldtech.com/
 trust_anchors {
   sha256_hex: "2ce1cb0bf9d2f9e102993fbe215152c3b2dd0cabde1c68e5319b839154dbb7f5"
+
+  ev_policy_oids: "2.16.840.1.114414.1.7.23.3"
 }
 
 # CN=Go Daddy Root Certificate Authority - G2, O=GoDaddy.com, Inc., L=Scottsdale, ST=Arizona, C=US
+# https://valid.gdig2.catest.godaddy.com/
 trust_anchors {
   sha256_hex: "45140b3247eb9cc8c5b4f0d7b53091f73292089e6e5a63e2749dd3aca9198eda"
+
+  ev_policy_oids: "2.16.840.1.114413.1.7.23.3"
 }
 
 # OU=Go Daddy Class 2 Certification Authority, O=The Go Daddy Group, Inc., C=US
+# https://www.godaddy.com/
 trust_anchors {
   sha256_hex: "c3846bf24b9e93ca64274c0ec67c1ecc5e024ffcacd2d74019350e81fe546ae4"
+
+  ev_policy_oids: "2.16.840.1.114413.1.7.23.3"
 }
 
 # CN=GTS Root R3, O=Google Trust Services LLC, C=US
@@ -313,8 +410,11 @@
 }
 
 # CN=Hongkong Post Root CA 3, O=Hongkong Post, L=Hong Kong, ST=Hong Kong, C=HK
+# https://valid-ev.ecert.gov.hk/
 trust_anchors {
   sha256_hex: "5a2fc03f0c83b090bbfa40604b0988446c7636183df9846e17101a447fb8efd6"
+
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Hongkong Post Root CA 1, O=Hongkong Post, C=HK
@@ -333,8 +433,11 @@
 }
 
 # 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
@@ -343,13 +446,17 @@
 }
 
 # CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
+# https://haricaeccrootca2015-valid-ev.harica.gr
 trust_anchors {
   sha256_hex: "44b545aa8a25e65a73ca15dc27fc36d24c1cb9953a066539b11582dc487b4833"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
+# https://haricarootca2015-valid-ev.harica.gr
 trust_anchors {
   sha256_hex: "a040929a02ce53b4acf4f2ffc6981ce4496f755e6d45fe0b2a692bcd52523f36"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US
@@ -358,8 +465,11 @@
 }
 
 # CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US
+# https://identrust-commercial-ev-valid.identrustssl.com/
 trust_anchors {
   sha256_hex: "5d56499be4d2e08bcfcad08a3e38723d50503bde706948e42f55603019e528ae"
+  ev_policy_oids: "2.23.140.1.1"
+  ev_policy_oids: "2.16.840.1.113839.0.6.9"
 }
 
 # CN=ISRG Root X1, O=Internet Security Research Group, C=US
@@ -368,8 +478,15 @@
 }
 
 # CN=Izenpe.com, O=IZENPE S.A., C=ES
+# The first OID is for businesses and the second for government entities.
+# These are the test sites, respectively:
+# https://servicios.izenpe.com
+# 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"
 }
 
 # CN=SZAFIR ROOT CA2, O=Krajowa Izba Rozliczeniowa S.A., C=PL
@@ -398,13 +515,18 @@
 }
 
 # CN=NetLock Arany (Class Gold) Főtanúsítvány, OU=Tanúsítványkiadók (Certification Services), O=NetLock Kft., L=Budapest, C=HU
+# https://valid.ev.tanusitvany.hu
 trust_anchors {
   sha256_hex: "6c61dac3a2def031506be036d2a6fe401994fbd13df9c8d466599274c446ec98"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=OISTE WISeKey Global Root GB CA, OU=OISTE Foundation Endorsed, O=WISeKey, C=CH
+# https://goodevssl.wisekey.com
 trust_anchors {
   sha256_hex: "6b9c08e86eb0f767cfad65cd98b62149e5494a67f5845e7bd1ed019f27b86bd6"
+
+  ev_policy_oids: "2.16.756.5.14.7.4.8"
 }
 
 # CN=OISTE WISeKey Global Root GC CA, OU=OISTE Foundation Endorsed, O=WISeKey, C=CH
@@ -418,8 +540,11 @@
 }
 
 # CN=QuoVadis Root CA 2, O=QuoVadis Limited, C=BM
+# https://www.quovadis.bm/
 trust_anchors {
   sha256_hex: "85a0dd7dd720adb7ff05f83d542b209dc7ff4528f7d677b18389fea5e5c49e86"
+
+  ev_policy_oids: "1.3.6.1.4.1.8024.0.2.100.1.2"
 }
 
 # CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM
@@ -433,13 +558,19 @@
 }
 
 # CN=QuoVadis Root CA 2 G3, O=QuoVadis Limited, C=BM
+# 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"
 }
 
 # OU=Security Communication RootCA2, O=SECOM Trust Systems CO.,LTD., C=JP
+# https://www.secomtrust.net/contact/form.html
 trust_anchors {
   sha256_hex: "513b2cecb810d4cde5dd85391adfc6c2dd60d87bb736d2b521484aa47a0ebef6"
+
+  ev_policy_oids: "1.2.392.200091.100.721.1"
 }
 
 # OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP
@@ -448,23 +579,35 @@
 }
 
 # CN=COMODO Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
+# https://secure.comodo.com/
 trust_anchors {
   sha256_hex: "1a0d20445de5ba1862d19ef880858cbce50102b36e8f0a040c3c69e74522fe6e"
+
+  ev_policy_oids: "1.3.6.1.4.1.6449.1.2.1.5.1"
 }
 
 # CN=COMODO ECC Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
+# 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"
 }
 
 # CN=USERTrust ECC Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
+# 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"
 }
 
 # CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
+# 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"
 }
 
 # CN=AAA Certificate Services, O=Comodo CA Limited, L=Salford, ST=Greater Manchester, C=GB
@@ -473,13 +616,18 @@
 }
 
 # CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
+# 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
@@ -500,11 +648,17 @@
 # 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"
 }
 
 # CN=SecureTrust CA, O=SecureTrust Corporation, C=US
+# https://www.securetrust.com
+# https://www.trustwave.com/
 trust_anchors {
   sha256_hex: "f1c1b50ae5a20dd8030ec9f6bc24823dd367b5255759b4e71b61fce9f7375d73"
+
+  ev_policy_oids: "2.16.840.1.114404.1.1.2.4.1"
 }
 
 # CN=UCA Global G2 Root, O=UniTrust, C=CN
@@ -513,18 +667,27 @@
 }
 
 # CN=UCA Extended Validation Root, O=UniTrust, C=CN
+# https://rsaevg1.good.sheca.com/
 trust_anchors {
   sha256_hex: "d43af9b35473755c9684fc06d7d8cb70ee5c28e773fb294eb41ee71722924d24"
+
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=SSL.com EV Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
+# https://test-ev-ecc.ssl.com/
 trust_anchors {
   sha256_hex: "22a2c1f7bded704cc1e701b5f408c310880fe956b5de2a4a44f99c873a25a7c8"
+
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=SSL.com EV Root Certification Authority RSA R2, O=SSL Corporation, L=Houston, ST=Texas, C=US
+# https://test-ev-rsa.ssl.com/
 trust_anchors {
   sha256_hex: "2e7bf16cc22485a7bbe2aa8696750761b0ae39be3b2fe9d0cc6d4ef73491425c"
+
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=SSL.com Root Certification Authority ECC, O=SSL Corporation, L=Houston, ST=Texas, C=US
@@ -538,8 +701,11 @@
 }
 
 # CN=SwissSign Gold CA - G2, O=SwissSign AG, C=CH
+# https://testevg2.swisssign.net/
 trust_anchors {
   sha256_hex: "62dd0be9b9f50a163ea0f8e75c053b1eca57ea55c8688f647c6881f2c8357b95"
+
+  ev_policy_oids: "2.16.756.1.89.1.2.1.1"
 }
 
 # CN=SwissSign Silver CA - G2, O=SwissSign AG, C=CH
@@ -548,13 +714,19 @@
 }
 
 # CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW
+# 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"
 }
 
 # CN=TWCA Root Certification Authority, OU=Root CA, O=TAIWAN-CA, C=TW
+# 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"
 }
 
 # CN=TeliaSonera Root CA v1, O=TeliaSonera
@@ -578,8 +750,11 @@
 }
 
 # 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
@@ -613,18 +788,24 @@
 }
 
 # CN=GLOBALTRUST 2020, O=e-commerce monitoring GmbH, C=AT
+# https://testok-2020-server-qualified-ev-1.e-monitoring.at/
 trust_anchors {
   sha256_hex: "9a296a5182d1d451a2e37f439b74daafa267523329f90f9a0d2007c334e23c9a"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=HARICA TLS ECC Root CA 2021, O=Hellenic Academic and Research Institutions CA, C=GR
+# https://tls-ecc-valid-ev.root2021.harica.gr
 trust_anchors {
   sha256_hex: "3f99cc474acfce4dfed58794665e478d1547739f2e780f1bb4ca9b133097d401"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=HARICA TLS RSA Root CA 2021, O=Hellenic Academic and Research Institutions CA, C=GR
+# https://tls-rsa-valid-ev.root2021.harica.gr
 trust_anchors {
   sha256_hex: "d95d0e8eda79525bf9beb11b14d2100d3294985f0c62d9fabd9cd999eccb7b1d"
+  ev_policy_oids: "2.23.140.1.1"
 }
 
 # CN=HiPKI Root CA - G1, O=Chunghwa Telecom Co., Ltd., C=TW
diff --git a/net/http/transport_security_state_static.pins b/net/http/transport_security_state_static.pins
index 35173a70..8712099 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: 2022-09-20 12:55 UTC
+# Last updated: 2022-09-21 12:55 UTC
 PinsListTimestamp
-1663678537
+1663764942
 
 TestSPKI
 sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
diff --git a/services/network/first_party_sets/first_party_sets_manager_unittest.cc b/services/network/first_party_sets/first_party_sets_manager_unittest.cc
index b618022..b10f049 100644
--- a/services/network/first_party_sets/first_party_sets_manager_unittest.cc
+++ b/services/network/first_party_sets/first_party_sets_manager_unittest.cc
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/containers/flat_set.h"
+#include "base/functional/callback_helpers.h"
 #include "base/test/task_environment.h"
 #include "base/test/test_future.h"
 #include "net/base/schemeful_site.h"
@@ -23,6 +24,7 @@
 #include "url/gurl.h"
 
 using ::testing::IsEmpty;
+using ::testing::Optional;
 using ::testing::Pair;
 using ::testing::UnorderedElementsAre;
 using ::testing::Value;
@@ -33,11 +35,6 @@
 
 namespace network {
 
-MATCHER_P(SerializesTo, want, "") {
-  const std::string got = arg.Serialize();
-  return testing::ExplainMatchResult(testing::Eq(want), got, result_listener);
-}
-
 class FirstPartySetsManagerTest : public ::testing::Test {
  public:
   explicit FirstPartySetsManagerTest(bool enabled) : manager_(enabled) {}
@@ -105,49 +102,21 @@
                         example_test, net::SiteType::kPrimary, absl::nullopt)}},
                   {{example_cctld, example_test}});
 
-  EXPECT_THAT(FindEntriesAndWait({
-                  aaaa,
-                  example_test,
-                  example_cctld,
-              }),
-              IsEmpty());
+  EXPECT_THAT(manager().FindEntries(
+                  {
+                      aaaa,
+                      example_test,
+                      example_cctld,
+                  },
+                  fps_context_config(), base::NullCallback()),
+              Optional(IsEmpty()));
 }
 
 TEST_F(FirstPartySetsManagerDisabledTest, FindEntries) {
-  net::SchemefulSite kExample =
-      net::SchemefulSite(GURL("https://example.test"));
-
-  EXPECT_THAT(FindEntriesAndWait({kExample}), IsEmpty());
-}
-
-TEST_F(FirstPartySetsManagerDisabledTest, ComputeMetadata_InfersSingletons) {
-  net::SchemefulSite member(GURL("https://member1.test"));
-  net::SchemefulSite example(GURL("https://example.test"));
-  net::SchemefulSite wss_member(GURL("wss://member1.test"));
-
-  SetFirstPartySetsContextConfig(
-      {{net::SchemefulSite(GURL("https://member1.test")),
-        {net::FirstPartySetEntry(
-            net::SchemefulSite(GURL("https://example.test")),
-            net::SiteType::kAssociated, 0)}},
-       {net::SchemefulSite(GURL("https://example.test")),
-        {net::FirstPartySetEntry(
-            net::SchemefulSite(GURL("https://example.test")),
-            net::SiteType::kPrimary, absl::nullopt)}}});
-
-  // Works if the site is provided with WSS scheme instead of HTTPS.
   EXPECT_THAT(
-      ComputeMetadataAndWait(wss_member, &member, {member, example}).context(),
-      net::SamePartyContext(Type::kCrossParty));
-
-  EXPECT_THAT(ComputeMetadataAndWait(example, &member, {member}).context(),
-              net::SamePartyContext(Type::kCrossParty));
-  EXPECT_THAT(ComputeMetadataAndWait(member, &example, {member}).context(),
-              net::SamePartyContext(Type::kCrossParty));
-
-  EXPECT_THAT(
-      ComputeMetadataAndWait(member, &member, {member, example}).context(),
-      net::SamePartyContext(Type::kCrossParty));
+      manager().FindEntries({net::SchemefulSite(GURL("https://example.test"))},
+                            fps_context_config(), base::NullCallback()),
+      Optional(IsEmpty()));
 }
 
 class FirstPartySetsEnabledTest : public FirstPartySetsManagerTest {
@@ -277,31 +246,29 @@
 }
 
 TEST_F(AsyncPopulatedFirstPartySetsManagerTest, QueryBeforeReady_FindEntries) {
+  net::SchemefulSite member1(GURL("https://member1.test"));
+  net::SchemefulSite member2(GURL("https://member2.test"));
+  net::SchemefulSite example(GURL("https://example.test"));
+  net::SchemefulSite example_cctld(GURL("https://example.cctld"));
+
   base::test::TestFuture<FirstPartySetsManager::EntriesResult> future;
-  EXPECT_FALSE(manager().FindEntries(
-      {
-          net::SchemefulSite(GURL("https://member1.test")),
-          net::SchemefulSite(GURL("https://member2.test")),
-          net::SchemefulSite(GURL("https://example.cctld")),
-      },
-      fps_context_config(), future.GetCallback()));
+  EXPECT_FALSE(manager().FindEntries({member1, member2, example_cctld},
+                                     fps_context_config(),
+                                     future.GetCallback()));
 
   Populate();
 
-  EXPECT_THAT(future.Get(),
-              UnorderedElementsAre(
-                  Pair(SerializesTo("https://member1.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kAssociated, 0)),
-                  Pair(SerializesTo("https://example.cctld"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kPrimary, absl::nullopt)),
-                  Pair(SerializesTo("https://member2.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://foo.test")),
-                           net::SiteType::kAssociated, 0))));
+  EXPECT_THAT(
+      future.Get(),
+      UnorderedElementsAre(
+          Pair(member1,
+               net::FirstPartySetEntry(example, net::SiteType::kAssociated, 0)),
+          Pair(example_cctld,
+               net::FirstPartySetEntry(example, net::SiteType::kPrimary,
+                                       absl::nullopt)),
+          Pair(member2, net::FirstPartySetEntry(
+                            net::SchemefulSite(GURL("https://foo.test")),
+                            net::SiteType::kAssociated, 0))));
 }
 
 class PopulatedFirstPartySetsManagerTest
@@ -794,79 +761,59 @@
 }
 
 TEST_F(PopulatedFirstPartySetsManagerTest, FindEntries) {
-  net::SchemefulSite kExample(GURL("https://example.test"));
-  net::SchemefulSite kFoo(GURL("https://foo.test"));
-  net::SchemefulSite kMember1(GURL("https://member1.test"));
-  net::SchemefulSite kMember2(GURL("https://member2.test"));
-  net::SchemefulSite kNonmember(GURL("https://nonmember.test"));
+  net::SchemefulSite example(GURL("https://example.test"));
+  net::SchemefulSite foo(GURL("https://foo.test"));
+  net::SchemefulSite member1(GURL("https://member1.test"));
+  net::SchemefulSite member2(GURL("https://member2.test"));
+  net::SchemefulSite nonmember(GURL("https://nonmember.test"));
 
-  EXPECT_THAT(FindEntriesAndWait({kExample}),
+  EXPECT_THAT(
+      FindEntriesAndWait({example}),
+      UnorderedElementsAre(
+          Pair(example, net::FirstPartySetEntry(
+                            example, net::SiteType::kPrimary, absl::nullopt))));
+  EXPECT_THAT(FindEntriesAndWait({member1}),
               UnorderedElementsAre(
-                  Pair(SerializesTo("https://example.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kPrimary, absl::nullopt))));
-  EXPECT_THAT(FindEntriesAndWait({kMember1}),
-              UnorderedElementsAre(
-                  Pair(SerializesTo("https://member1.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kAssociated, 0))));
-  EXPECT_THAT(FindEntriesAndWait({kNonmember}), IsEmpty());
+                  Pair(member1, net::FirstPartySetEntry(
+                                    example, net::SiteType::kAssociated, 0))));
+  EXPECT_THAT(FindEntriesAndWait({nonmember}), IsEmpty());
 
-  EXPECT_THAT(FindEntriesAndWait({kExample, kNonmember}),
+  EXPECT_THAT(
+      FindEntriesAndWait({example, nonmember}),
+      UnorderedElementsAre(
+          Pair(example, net::FirstPartySetEntry(
+                            example, net::SiteType::kPrimary, absl::nullopt))));
+  EXPECT_THAT(FindEntriesAndWait({member1, nonmember}),
               UnorderedElementsAre(
-                  Pair(SerializesTo("https://example.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kPrimary, absl::nullopt))));
-  EXPECT_THAT(FindEntriesAndWait({kMember1, kNonmember}),
-              UnorderedElementsAre(
-                  Pair(SerializesTo("https://member1.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kAssociated, 0))));
+                  Pair(member1, net::FirstPartySetEntry(
+                                    example, net::SiteType::kAssociated, 0))));
 
-  EXPECT_THAT(FindEntriesAndWait({kExample, kFoo}),
+  EXPECT_THAT(
+      FindEntriesAndWait({example, foo}),
+      UnorderedElementsAre(
+          Pair(example, net::FirstPartySetEntry(
+                            example, net::SiteType::kPrimary, absl::nullopt)),
+          Pair(foo, net::FirstPartySetEntry(foo, net::SiteType::kPrimary,
+                                            absl::nullopt))));
+  EXPECT_THAT(FindEntriesAndWait({member1, foo}),
               UnorderedElementsAre(
-                  Pair(SerializesTo("https://example.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kPrimary, absl::nullopt)),
-                  Pair(SerializesTo("https://foo.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://foo.test")),
-                           net::SiteType::kPrimary, absl::nullopt))));
-  EXPECT_THAT(FindEntriesAndWait({kMember1, kFoo}),
+                  Pair(member1, net::FirstPartySetEntry(
+                                    example, net::SiteType::kAssociated, 0)),
+                  Pair(foo, net::FirstPartySetEntry(
+                                foo, net::SiteType::kPrimary, absl::nullopt))));
+  EXPECT_THAT(
+      FindEntriesAndWait({example, member2}),
+      UnorderedElementsAre(
+          Pair(example, net::FirstPartySetEntry(
+                            example, net::SiteType::kPrimary, absl::nullopt)),
+          Pair(member2,
+               net::FirstPartySetEntry(foo, net::SiteType::kAssociated, 0))));
+  EXPECT_THAT(FindEntriesAndWait({member1, member2}),
               UnorderedElementsAre(
-                  Pair(SerializesTo("https://member1.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kAssociated, 0)),
-                  Pair(SerializesTo("https://foo.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://foo.test")),
-                           net::SiteType::kPrimary, absl::nullopt))));
-  EXPECT_THAT(FindEntriesAndWait({kExample, kMember2}),
-              UnorderedElementsAre(
-                  Pair(SerializesTo("https://example.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kPrimary, absl::nullopt)),
-                  Pair(SerializesTo("https://member2.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://foo.test")),
-                           net::SiteType::kAssociated, 0))));
-  EXPECT_THAT(FindEntriesAndWait({kMember1, kMember2}),
-              UnorderedElementsAre(
-                  Pair(SerializesTo("https://member1.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://example.test")),
-                           net::SiteType::kAssociated, 0)),
-                  Pair(SerializesTo("https://member2.test"),
-                       net::FirstPartySetEntry(
-                           net::SchemefulSite(GURL("https://foo.test")),
-                           net::SiteType::kAssociated, 0))));
+                  Pair(member1, net::FirstPartySetEntry(
+                                    example, net::SiteType::kAssociated, 0)),
+                  Pair(member2, net::FirstPartySetEntry(
+                                    foo, net::SiteType::kAssociated, 0))));
 }
 
 class OverrideSetsFirstPartySetsManagerTest : public FirstPartySetsEnabledTest {
diff --git a/services/tracing/perfetto/perfetto_service.cc b/services/tracing/perfetto/perfetto_service.cc
index 143ffad..3659066 100644
--- a/services/tracing/perfetto/perfetto_service.cc
+++ b/services/tracing/perfetto/perfetto_service.cc
@@ -17,6 +17,7 @@
 #include "mojo/public/cpp/bindings/message.h"
 #include "services/tracing/perfetto/consumer_host.h"
 #include "services/tracing/perfetto/producer_host.h"
+#include "services/tracing/public/cpp/perfetto/custom_event_recorder.h"
 #include "services/tracing/public/cpp/perfetto/shared_memory.h"
 #include "third_party/perfetto/include/perfetto/ext/tracing/core/tracing_service.h"
 
@@ -79,6 +80,10 @@
       &PerfettoService::OnServiceDisconnect, base::Unretained(this)));
   producer_receivers_.set_disconnect_handler(base::BindRepeating(
       &PerfettoService::OnProducerHostDisconnect, base::Unretained(this)));
+
+  CustomEventRecorder::GetInstance()->SetActiveProcessesCallback(
+      base::BindRepeating(&PerfettoService::active_service_pids,
+                          base::Unretained(this)));
 }
 
 PerfettoService::~PerfettoService() = default;
@@ -137,14 +142,20 @@
 }
 
 void PerfettoService::AddActiveServicePid(base::ProcessId pid) {
-  active_service_pids_.insert(pid);
+  {
+    base::AutoLock lock(active_service_pids_lock_);
+    active_service_pids_.insert(pid);
+  }
   for (auto* tracing_session : tracing_sessions_) {
     tracing_session->OnActiveServicePidAdded(pid);
   }
 }
 
 void PerfettoService::RemoveActiveServicePid(base::ProcessId pid) {
-  active_service_pids_.erase(pid);
+  {
+    base::AutoLock lock(active_service_pids_lock_);
+    active_service_pids_.erase(pid);
+  }
   num_active_connections_.erase(pid);
   for (auto* tracing_session : tracing_sessions_) {
     tracing_session->OnActiveServicePidRemoved(pid);
diff --git a/services/tracing/perfetto/perfetto_service.h b/services/tracing/perfetto/perfetto_service.h
index d10889e..411f865 100644
--- a/services/tracing/perfetto/perfetto_service.h
+++ b/services/tracing/perfetto/perfetto_service.h
@@ -71,6 +71,7 @@
   void SetActiveServicePidsInitialized();
 
   std::set<base::ProcessId> active_service_pids() const {
+    base::AutoLock lock(active_service_pids_lock_);
     return active_service_pids_;
   }
 
@@ -94,7 +95,12 @@
   mojo::ReceiverSet<mojom::PerfettoService, uint32_t> receivers_;
   mojo::UniqueReceiverSet<mojom::ProducerHost, uint32_t> producer_receivers_;
   std::set<ConsumerHost::TracingSession*> tracing_sessions_;  // Not owned.
-  std::set<base::ProcessId> active_service_pids_;
+  // Protects access to |active_service_pids_|. We need this lock because
+  // CustomEventRecorder calls active_service_pids() from a possibly different
+  // thread on incremental state reset.
+  mutable base::Lock active_service_pids_lock_;
+  std::set<base::ProcessId> active_service_pids_
+      GUARDED_BY(active_service_pids_lock_);
   std::map<base::ProcessId, int> num_active_connections_;
   bool active_service_pids_initialized_ = false;
 };
diff --git a/services/tracing/public/cpp/perfetto/custom_event_recorder.cc b/services/tracing/public/cpp/perfetto/custom_event_recorder.cc
index 99a6b925..82618eb 100644
--- a/services/tracing/public/cpp/perfetto/custom_event_recorder.cc
+++ b/services/tracing/public/cpp/perfetto/custom_event_recorder.cc
@@ -16,6 +16,7 @@
 #include "base/time/time.h"
 #include "base/trace_event/trace_config.h"
 #include "base/trace_event/typed_macros.h"
+#include "base/tracing/protos/chrome_track_event.pbzero.h"
 #include "build/build_config.h"
 #include "services/tracing/public/cpp/perfetto/perfetto_traced_process.h"
 #include "services/tracing/public/cpp/perfetto/trace_string_lookup.h"
@@ -83,6 +84,20 @@
 
 // static
 void CustomEventRecorder::EmitRecurringUpdates() {
+  auto* instance = CustomEventRecorder::GetInstance();
+  if (instance && instance->active_processes_callback_) {
+    const auto pids = instance->active_processes_callback_.Run();
+    TRACE_EVENT_INSTANT(
+        "__metadata", "ActiveProcesses", perfetto::Track::Global(0),
+        [&pids](perfetto::EventContext ctx) {
+          auto* active_processes =
+              ctx.event<perfetto::protos::pbzero::ChromeTrackEvent>()
+                  ->set_active_processes();
+          for (const auto& pid : pids) {
+            active_processes->add_pid(pid);
+          }
+        });
+  }
 #if BUILDFLAG(IS_ANDROID)
   static const ChromeProcessDescriptor::ProcessType process_type =
       GetProcessType(
diff --git a/services/tracing/public/cpp/perfetto/custom_event_recorder.h b/services/tracing/public/cpp/perfetto/custom_event_recorder.h
index 664ed14..3d072b4 100644
--- a/services/tracing/public/cpp/perfetto/custom_event_recorder.h
+++ b/services/tracing/public/cpp/perfetto/custom_event_recorder.h
@@ -21,6 +21,9 @@
 class COMPONENT_EXPORT(TRACING_CPP) CustomEventRecorder
     : public perfetto::TrackEventSessionObserver {
  public:
+  using ActiveProcessesCallback =
+      base::RepeatingCallback<std::set<base::ProcessId>()>;
+
   static CustomEventRecorder* GetInstance();
   static void EmitRecurringUpdates();
 
@@ -39,6 +42,10 @@
   void OnTracingStarted(const perfetto::DataSourceConfig& data_source_config);
   void OnTracingStopped(base::OnceClosure stop_complete_callback);
 
+  void SetActiveProcessesCallback(ActiveProcessesCallback callback) {
+    active_processes_callback_ = callback;
+  }
+
   // Registered as a callback to receive every action recorded using
   // base::RecordAction(), when tracing is enabled with a histogram category.
   static void OnUserActionSampleCallback(const std::string& action,
@@ -80,6 +87,7 @@
       monitored_histograms_;
   base::ActionCallback user_action_callback_ =
       base::BindRepeating(&CustomEventRecorder::OnUserActionSampleCallback);
+  ActiveProcessesCallback active_processes_callback_;
 
   base::Lock lock_;
   bool privacy_filtering_enabled_ GUARDED_BY(lock_) = false;
diff --git a/services/tracing/public/cpp/perfetto/trace_event_data_source.cc b/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
index 4eec584..840044d 100644
--- a/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
+++ b/services/tracing/public/cpp/perfetto/trace_event_data_source.cc
@@ -773,7 +773,7 @@
     DCHECK(!trace_writer_);
     trace_writer_ = CreateTraceWriterLocked();
   }
-  EmitTrackDescriptor();
+  EmitRecurringUpdates();
 
   base::trace_event::TraceConfig config_for_trace_log(trace_config);
   // Perfetto backend configures buffer sizes when tracing is started in the
@@ -969,7 +969,7 @@
 
   // We emit the track/process descriptor another time even if we were
   // previously startup tracing, because the process name may have changed.
-  EmitTrackDescriptor();
+  EmitRecurringUpdates();
 
   TraceLog::GetInstance()->SetEnabled(trace_config, TraceLog::RECORDING_MODE);
 
@@ -1078,7 +1078,7 @@
 #endif  // BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
 
   TrackEventThreadLocalEventSink::ClearIncrementalState();
-  EmitTrackDescriptor();
+  EmitRecurringUpdates();
   base::trace_event::TraceLog::GetInstance()->OnIncrementalStateCleared();
 }
 
@@ -1238,6 +1238,11 @@
       [trace_writer_raw]() { delete trace_writer_raw; });
 }
 
+void TraceEventDataSource::EmitRecurringUpdates() {
+  CustomEventRecorder::EmitRecurringUpdates();
+  EmitTrackDescriptor();
+}
+
 void TraceEventDataSource::EmitTrackDescriptor() {
   // Prevent reentrancy into tracing code (flushing the trace writer sends a
   // mojo message which can result in additional trace events).
@@ -1353,8 +1358,6 @@
   trace_packet = TracePacketHandle();
   writer->NewTracePacket();
 
-  CustomEventRecorder::EmitRecurringUpdates();
-
   // Flush the current chunk right after writing the packet when in discard
   // buffering mode. Otherwise there's a risk that the chunk will miss the
   // buffer and process metadata is lost. We don't do this in ring buffer mode
diff --git a/services/tracing/public/cpp/perfetto/trace_event_data_source.h b/services/tracing/public/cpp/perfetto/trace_event_data_source.h
index 1883dbc..f47f129 100644
--- a/services/tracing/public/cpp/perfetto/trace_event_data_source.h
+++ b/services/tracing/public/cpp/perfetto/trace_event_data_source.h
@@ -232,6 +232,7 @@
   static base::trace_event::TracePacketHandle OnAddTracePacket();
   static void OnAddEmptyPacket();
 
+  void EmitRecurringUpdates();
   void EmitTrackDescriptor();
 
   uint32_t IncrementSessionIdOrClearStartupFlagWhileLocked();
diff --git a/services/tracing/public/cpp/perfetto/trace_event_data_source_unittest.cc b/services/tracing/public/cpp/perfetto/trace_event_data_source_unittest.cc
index 863fac74..85f39c9 100644
--- a/services/tracing/public/cpp/perfetto/trace_event_data_source_unittest.cc
+++ b/services/tracing/public/cpp/perfetto/trace_event_data_source_unittest.cc
@@ -122,6 +122,9 @@
   }
 
   void TearDown() override {
+    // Reset the callback - it's stored in CustomEventRecorder, and otherwise
+    // may stay for the next test(s).
+    CustomEventRecorder::GetInstance()->SetActiveProcessesCallback({});
 #if !BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
     if (base::trace_event::TraceLog::GetInstance()->IsEnabled()) {
       base::RunLoop wait_for_tracelog_flush;
@@ -846,6 +849,10 @@
     EXPECT_THAT(entries, testing::ElementsAreArray(expected_entries));
   }
 
+  std::set<base::ProcessId> ActiveProcessesCallback() const {
+    return {1, 2, 10};
+  }
+
  protected:
 #if BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
   base::test::TaskEnvironment task_environment_;
@@ -1064,6 +1071,23 @@
 #endif  // !BUILDFLAG(USE_PERFETTO_CLIENT_LIBRARY)
 }
 
+TEST_F(TraceEventDataSourceTest, ActiveProcessesMetadata) {
+  CustomEventRecorder::GetInstance()->SetActiveProcessesCallback(
+      base::BindRepeating(&TraceEventDataSourceTest::ActiveProcessesCallback,
+                          base::Unretained(this)));
+  StartTraceEventDataSource();
+
+  TRACE_EVENT_BEGIN0(kCategoryGroup, "bar");
+
+  size_t packet_index = ExpectStandardPreamble();
+
+  auto* active_processes_packet = GetFinalizedPacket(packet_index++);
+  ExpectTraceEvent(active_processes_packet, /*category_iid=*/1u,
+                   /*name=*/1u, TRACE_EVENT_PHASE_INSTANT);
+  ExpectEventCategories(active_processes_packet, {{1u, "__metadata"}});
+  ExpectInternedEventNames(active_processes_packet, {{1u, "ActiveProcesses"}});
+}
+
 // For some reason this is failing in `cast_chrome`.
 // Disabling it now to unblock perfetto-chrome autoroll and enabling it
 // again in next CL after RCAing.
diff --git a/services/tracing/public/mojom/BUILD.gn b/services/tracing/public/mojom/BUILD.gn
index e388d7f..55bcdf4 100644
--- a/services/tracing/public/mojom/BUILD.gn
+++ b/services/tracing/public/mojom/BUILD.gn
@@ -7,6 +7,11 @@
 mojom_component("mojom") {
   output_prefix = "tracing_mojom"
   macro_prefix = "TRACING_MOJOM"
+  enabled_features = []
+
+  if (is_linux || is_chromeos) {
+    enabled_features += [ "is_linux_or_chromeos" ]
+  }
 
   sources = [
     "background_tracing_agent.mojom",
@@ -21,7 +26,7 @@
   ]
 
   if (!is_nacl && !is_ios) {
-    enabled_features = [ "is_perfetto_supported_os" ]
+    enabled_features += [ "is_perfetto_supported_os" ]
     sources += [
       "constants.mojom",
       "perfetto_service.mojom",
diff --git a/services/tracing/public/mojom/tracing_service.mojom b/services/tracing/public/mojom/tracing_service.mojom
index 1470c8583..5a6c832d 100644
--- a/services/tracing/public/mojom/tracing_service.mojom
+++ b/services/tracing/public/mojom/tracing_service.mojom
@@ -7,6 +7,7 @@
 [EnableIf=is_perfetto_supported_os]
 import "services/tracing/public/mojom/perfetto_service.mojom";
 
+import "sandbox/policy/mojom/context.mojom";
 import "sandbox/policy/mojom/sandbox.mojom";
 import "services/tracing/public/mojom/traced_process.mojom";
 
@@ -19,9 +20,14 @@
   pending_remote<TracedProcess> process;
 };
 
+[EnableIf=is_linux_or_chromeos]
+const sandbox.mojom.Sandbox kTracingSandbox = sandbox.mojom.Sandbox.kUtility;
+[EnableIfNot=is_linux_or_chromeos]
+const sandbox.mojom.Sandbox kTracingSandbox = sandbox.mojom.Sandbox.kService;
+
 // The main interface to the Tracing service. This is only consumed by
 // privileged clients (e.g. browser process).
-[ServiceSandbox=sandbox.mojom.Sandbox.kUtility]
+[ServiceSandbox=kTracingSandbox,RequireContext=sandbox.mojom.Context.kBrowser]
 interface TracingService {
   // Initializes the service with the current known set of running processes.
   Initialize(array<ClientInfo> clients);
diff --git a/testing/scripts/OWNERS b/testing/scripts/OWNERS
index 19149c8..272ba49 100644
--- a/testing/scripts/OWNERS
+++ b/testing/scripts/OWNERS
@@ -20,3 +20,4 @@
 per-file run_variations_smoke_tests.py=wuwang@chromium.org
 per-file variations_seed_access_helper.py=wuwang@chromium.org
 per-file run_finch_smoke_tests_android.py=rmhasan@google.com
+per-file finch.gni=rmhasan@google.com
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 8baf2a9d..f125e8d 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -3847,6 +3847,25 @@
             ]
         }
     ],
+    "DisableFontManagerEarlyInitDesktop": [
+        {
+            "platforms": [
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Disabled",
+                    "disable_features": [
+                        "FontManagerEarlyInit"
+                    ]
+                }
+            ]
+        }
+    ],
     "DisableGles2ForOopR": [
         {
             "platforms": [
@@ -10131,6 +10150,25 @@
             ]
         }
     ],
+    "TopChromeWebUIUsesSpareRenderer": [
+        {
+            "platforms": [
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "TopChromeWebUIUsesSpareRenderer"
+                    ]
+                }
+            ]
+        }
+    ],
     "TouchToFillPasswordSubmissionStudy": [
         {
             "platforms": [
diff --git a/third_party/blink/public/mojom/frame/frame.mojom b/third_party/blink/public/mojom/frame/frame.mojom
index 58891610..7be018a 100644
--- a/third_party/blink/public/mojom/frame/frame.mojom
+++ b/third_party/blink/public/mojom/frame/frame.mojom
@@ -910,6 +910,9 @@
   // onunload event handler.
   ClosePage() => ();
 
+  // Get width and height of the whole page content from the main frame.
+  GetFullPageSize() => (gfx.mojom.Size full_page_size);
+
   // Tells the renderer to focus the first (last if reverse is true) focusable
   // node.
   SetInitialFocus(bool reverse);
diff --git a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
index 4ae03f5..a38f5be 100644
--- a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
+++ b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
@@ -3674,6 +3674,7 @@
   kSelectiveInOrderScript = 4353,
   kV8AsyncStackTaggingCreateTaskCall = 4354,
   kWebkitBoxWithoutWebkitLineClamp = 4355,
+  kDataUrlInSvgUse = 4356,
 
   // Add new features immediately above this line. Don't change assigned
   // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/renderer/core/css/rule_feature_set.h b/third_party/blink/renderer/core/css/rule_feature_set.h
index 713a2cf4..9b0ccfe6 100644
--- a/third_party/blink/renderer/core/css/rule_feature_set.h
+++ b/third_party/blink/renderer/core/css/rule_feature_set.h
@@ -668,7 +668,7 @@
       CSSSelector::RelationType previous_combinator,
       AddFeaturesMethodForLogicalCombinationInHas);
 
-  // Make sure that the pointer in “invalidation_set” has a single,
+  // Make sure that the pointer in “invalidation_set” has a single
   // reference that can be modified safely. (This is done through
   // copy-on-write, if needed, so that it can be modified without
   // disturbing unrelated invalidation sets that shared the pointer.)
@@ -680,7 +680,7 @@
   // The return value is the invalidation set to be modified. This is
   // identical to the new value of invalidation_set in all cases _except_
   // if the existing invalidation was a sibling invalidation set and
-  // you requested a descendant invalidation set -- if so, it it a reference
+  // you requested a descendant invalidation set -- if so, it is a reference
   // to the DescendantInvalidationSet embedded within that set.
   // In other words, you must ignore the value of invalidation_set
   // after this function, since it is not what you requested.
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
index 2f6e5c8..f93cb5e 100644
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -1271,6 +1271,26 @@
   std::move(completion_callback).Run();
 }
 
+void LocalFrameMojoHandler::GetFullPageSize(
+    mojom::blink::LocalMainFrame::GetFullPageSizeCallback callback) {
+  // PageZoomFactor takes CSS pixels to device/physical pixels. It includes
+  // both browser ctrl+/- zoom as well as the device scale factor for screen
+  // density. Note: we don't account for pinch-zoom, even though it scales a
+  // CSS pixel, since "device pixels" coming from Blink are also unscaled by
+  // pinch-zoom.
+  float css_to_physical = frame_->PageZoomFactor();
+  float physical_to_css = 1.f / css_to_physical;
+  gfx::Size full_page_size =
+      frame_->View()->GetScrollableArea()->ContentsSize();
+
+  // `content_size` is in physical pixels. Normlisation is needed to convert it
+  // to CSS pixels. Details: https://crbug.com/1181313
+  gfx::Size css_full_page_size =
+      gfx::ScaleToFlooredSize(full_page_size, physical_to_css);
+  std::move(callback).Run(
+      gfx::Size(css_full_page_size.width(), css_full_page_size.height()));
+}
+
 void LocalFrameMojoHandler::PluginActionAt(
     const gfx::Point& location,
     mojom::blink::PluginActionType action) {
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h
index cd156fd..a04c95b 100644
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.h
@@ -202,6 +202,8 @@
   void SetScaleFactor(float scale) override;
   void ClosePage(
       mojom::blink::LocalMainFrame::ClosePageCallback callback) override;
+  void GetFullPageSize(
+      mojom::blink::LocalMainFrame::GetFullPageSizeCallback callback) override;
   void PluginActionAt(const gfx::Point& location,
                       mojom::blink::PluginActionType action) override;
   void SetInitialFocus(bool reverse) override;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
index b5e67028..a55551c 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.cc
@@ -225,9 +225,9 @@
   // The size of the new fragment shouldn't differ from the old one.
   wtf_size_t num_fragment_items = other.Items() ? other.Items()->Size() : 0;
   size_t byte_size = AdditionalByteSize(
-      num_fragment_items, other.const_num_children_, other.has_layout_overflow_,
-      other.has_borders_, other.has_padding_, other.has_inflow_bounds_,
-      other.const_has_rare_data_);
+      num_fragment_items, other.const_num_children_, other.HasLayoutOverflow(),
+      other.HasBorders(), other.HasPadding(), other.HasInflowBounds(),
+      other.ConstHasRareData());
 
   return MakeGarbageCollected<NGPhysicalBoxFragment>(
       AdditionalBytes(byte_size), PassKey(), other, other.HasLayoutOverflow(),
@@ -240,7 +240,7 @@
     const NGPhysicalBoxFragment& other,
     const absl::optional<PhysicalRect> updated_layout_overflow) {
   PhysicalRect layout_overflow = other.LayoutOverflow();
-  bool has_layout_overflow = other.has_layout_overflow_;
+  bool has_layout_overflow = other.HasLayoutOverflow();
 
   if (updated_layout_overflow) {
     layout_overflow = *updated_layout_overflow;
@@ -251,8 +251,8 @@
   wtf_size_t num_fragment_items = other.Items() ? other.Items()->Size() : 0;
   size_t byte_size = AdditionalByteSize(
       num_fragment_items, other.const_num_children_, has_layout_overflow,
-      other.has_borders_, other.has_padding_, other.has_inflow_bounds_,
-      other.const_has_rare_data_);
+      other.HasBorders(), other.HasPadding(), other.HasInflowBounds(),
+      other.ConstHasRareData());
 
   const auto* cloned_fragment = MakeGarbageCollected<NGPhysicalBoxFragment>(
       AdditionalBytes(byte_size), PassKey(), other, has_layout_overflow,
@@ -354,10 +354,11 @@
                          block_or_line_writing_mode,
                          kFragmentBox,
                          builder->BoxType()),
-      const_has_fragment_items_(has_fragment_items),
-      const_has_rare_data_(has_rare_data),
-      has_descendants_for_table_part_(false),
-      is_fragmentation_context_root_(builder->is_fragmentation_context_root_),
+      bit_field_(ConstHasFragmentItemsFlag::encode(has_fragment_items) |
+                 ConstHasRareDataFlag::encode(has_rare_data) |
+                 HasDescendantsForTablePartFlag::encode(false) |
+                 IsFragmentationContextRootFlag::encode(
+                     builder->is_fragmentation_context_root_)),
       const_num_children_(builder->children_.size()) {
   DCHECK(layout_object_);
   DCHECK(layout_object_->IsBoxModelObject());
@@ -375,7 +376,7 @@
     ++i;
   }
 
-  if (const_has_fragment_items_) {
+  if (HasItems()) {
     NGFragmentItemsBuilder* items_builder = builder->ItemsBuilder();
     NGFragmentItems* items =
         const_cast<NGFragmentItems*>(ComputeItemsAddress());
@@ -384,37 +385,38 @@
     items_builder->ToFragmentItems(Size(), items);
   }
 
-  has_layout_overflow_ = has_layout_overflow;
-  if (has_layout_overflow_) {
+  bit_field_.set<HasLayoutOverflowFlag>(has_layout_overflow);
+  if (has_layout_overflow) {
     *const_cast<PhysicalRect*>(ComputeLayoutOverflowAddress()) =
         layout_overflow;
   }
   SetInkOverflowType(NGInkOverflow::Type::kNotSet);
-  has_borders_ = has_borders;
-  if (has_borders_)
+  bit_field_.set<HasBordersFlag>(has_borders);
+  if (has_borders)
     *const_cast<NGPhysicalBoxStrut*>(ComputeBordersAddress()) = borders;
-  has_padding_ = has_padding;
-  if (has_padding_)
+  bit_field_.set<HasPaddingFlag>(has_padding);
+  if (has_padding)
     *const_cast<NGPhysicalBoxStrut*>(ComputePaddingAddress()) = padding;
-  has_inflow_bounds_ = inflow_bounds.has_value();
-  if (has_inflow_bounds_)
+  bit_field_.set<HasInflowBoundsFlag>(inflow_bounds.has_value());
+  if (HasInflowBounds())
     *const_cast<PhysicalRect*>(ComputeInflowBoundsAddress()) = *inflow_bounds;
-  if (const_has_rare_data_) {
+  if (ConstHasRareData()) {
     new (const_cast<RareData*>(ComputeRareDataAddress())) RareData(builder);
   }
 
-  is_first_for_node_ = builder->is_first_for_node_;
+  bit_field_.set<IsFirstForNodeFlag>(builder->is_first_for_node_);
   is_fieldset_container_ = builder->is_fieldset_container_;
   is_table_ng_part_ = builder->is_table_ng_part_;
   is_legacy_layout_root_ = builder->is_legacy_layout_root_;
   is_painted_atomically_ = builder->space_.IsPaintedAtomically();
   PhysicalBoxSides sides_to_include(builder->sides_to_include_,
                                     builder->GetWritingMode());
-  include_border_top_ = sides_to_include.top;
-  include_border_right_ = sides_to_include.right;
-  include_border_bottom_ = sides_to_include.bottom;
-  include_border_left_ = sides_to_include.left;
-  is_inline_formatting_context_ = builder->is_inline_formatting_context_;
+  bit_field_.set<IncludeBorderTopFlag>(sides_to_include.top);
+  bit_field_.set<IncludeBorderRightFlag>(sides_to_include.right);
+  bit_field_.set<IncludeBorderBottomFlag>(sides_to_include.bottom);
+  bit_field_.set<IncludeBorderLeftFlag>(sides_to_include.left);
+  bit_field_.set<IsInlineFormattingContextFlag>(
+      builder->is_inline_formatting_context_);
   is_math_fraction_ = builder->is_math_fraction_;
   is_math_operator_ = builder->is_math_operator_;
 
@@ -437,8 +439,8 @@
   use_last_baseline_for_inline_baseline_ =
       builder->use_last_baseline_for_inline_baseline_;
 
-  has_descendants_for_table_part_ =
-      const_num_children_ || NeedsOOFPositionedInfoPropagation();
+  bit_field_.set<HasDescendantsForTablePartFlag>(
+      const_num_children_ || NeedsOOFPositionedInfoPropagation());
 
 #if DCHECK_IS_ON()
   CheckIntegrity();
@@ -451,21 +453,7 @@
     bool has_layout_overflow,
     const PhysicalRect& layout_overflow)
     : NGPhysicalFragment(other),
-      is_inline_formatting_context_(other.is_inline_formatting_context_),
-      const_has_fragment_items_(other.const_has_fragment_items_),
-      include_border_top_(other.include_border_top_),
-      include_border_right_(other.include_border_right_),
-      include_border_bottom_(other.include_border_bottom_),
-      include_border_left_(other.include_border_left_),
-      has_layout_overflow_(other.has_layout_overflow_),
-      ink_overflow_type_(other.ink_overflow_type_),
-      has_borders_(other.has_borders_),
-      has_padding_(other.has_padding_),
-      has_inflow_bounds_(other.has_inflow_bounds_),
-      const_has_rare_data_(other.const_has_rare_data_),
-      is_first_for_node_(other.is_first_for_node_),
-      has_descendants_for_table_part_(other.has_descendants_for_table_part_),
-      is_fragmentation_context_root_(other.is_fragmentation_context_root_),
+      bit_field_(other.bit_field_),
       const_num_children_(other.const_num_children_),
       first_baseline_(other.first_baseline_),
       last_baseline_(other.last_baseline_),
@@ -474,30 +462,30 @@
   for (wtf_size_t i = 0; i < const_num_children_; ++i)
     children_[i] = other.children_[i];
 
-  ink_overflow_type_ = other.ink_overflow_type_;
-  if (const_has_fragment_items_) {
+  SetInkOverflowType(other.InkOverflowType());
+  if (HasItems()) {
     NGFragmentItems* items =
         const_cast<NGFragmentItems*>(ComputeItemsAddress());
     new (items) NGFragmentItems(*other.ComputeItemsAddress());
   }
-  has_layout_overflow_ = has_layout_overflow;
-  if (has_layout_overflow_) {
+  bit_field_.set<HasLayoutOverflowFlag>(has_layout_overflow);
+  if (has_layout_overflow) {
     *const_cast<PhysicalRect*>(ComputeLayoutOverflowAddress()) =
         layout_overflow;
   }
-  if (has_borders_) {
+  if (HasBorders()) {
     *const_cast<NGPhysicalBoxStrut*>(ComputeBordersAddress()) =
         *other.ComputeBordersAddress();
   }
-  if (has_padding_) {
+  if (HasPadding()) {
     *const_cast<NGPhysicalBoxStrut*>(ComputePaddingAddress()) =
         *other.ComputePaddingAddress();
   }
-  if (has_inflow_bounds_) {
+  if (HasInflowBounds()) {
     *const_cast<PhysicalRect*>(ComputeInflowBoundsAddress()) =
         *other.ComputeInflowBoundsAddress();
   }
-  if (const_has_rare_data_) {
+  if (ConstHasRareData()) {
     new (const_cast<RareData*>(ComputeRareDataAddress()))
         RareData(*other.ComputeRareDataAddress());
   }
@@ -512,9 +500,9 @@
 void NGPhysicalBoxFragment::Dispose() {
   if (HasInkOverflow())
     SetInkOverflowType(ink_overflow_.Reset(InkOverflowType()));
-  if (const_has_fragment_items_)
+  if (HasItems())
     ComputeItemsAddress()->~NGFragmentItems();
-  if (const_has_rare_data_)
+  if (ConstHasRareData())
     ComputeRareDataAddress()->~RareData();
 }
 
@@ -1736,10 +1724,9 @@
             other.may_have_descendant_above_block_start_);
   DCHECK_EQ(depends_on_percentage_block_size_,
             other.depends_on_percentage_block_size_);
-  DCHECK_EQ(has_descendants_for_table_part_,
-            other.has_descendants_for_table_part_);
-  DCHECK_EQ(is_fragmentation_context_root_,
-            other.is_fragmentation_context_root_);
+  DCHECK_EQ(bit_field_.get<HasDescendantsForTablePartFlag>(),
+            other.bit_field_.get<HasDescendantsForTablePartFlag>());
+  DCHECK_EQ(IsFragmentationContextRoot(), other.IsFragmentationContextRoot());
 
   DCHECK_EQ(is_fieldset_container_, other.is_fieldset_container_);
   DCHECK_EQ(is_table_ng_part_, other.is_table_ng_part_);
@@ -1747,12 +1734,12 @@
   DCHECK_EQ(is_painted_atomically_, other.is_painted_atomically_);
   DCHECK_EQ(has_collapsed_borders_, other.has_collapsed_borders_);
 
-  DCHECK_EQ(is_inline_formatting_context_, other.is_inline_formatting_context_);
-  DCHECK_EQ(const_has_fragment_items_, other.const_has_fragment_items_);
-  DCHECK_EQ(include_border_top_, other.include_border_top_);
-  DCHECK_EQ(include_border_right_, other.include_border_right_);
-  DCHECK_EQ(include_border_bottom_, other.include_border_bottom_);
-  DCHECK_EQ(include_border_left_, other.include_border_left_);
+  DCHECK_EQ(HasItems(), other.HasItems());
+  DCHECK_EQ(IsInlineFormattingContext(), other.IsInlineFormattingContext());
+  DCHECK_EQ(IncludeBorderTop(), other.IncludeBorderTop());
+  DCHECK_EQ(IncludeBorderRight(), other.IncludeBorderRight());
+  DCHECK_EQ(IncludeBorderBottom(), other.IncludeBorderBottom());
+  DCHECK_EQ(IncludeBorderLeft(), other.IncludeBorderLeft());
 
   // The oof_positioned_descendants_ vector can change during "simplified"
   // layout. This occurs when an OOF-descendant changes from "fixed" to
@@ -1890,11 +1877,11 @@
   // Tracing the child links themselves is safe from a background thread.
   for (const auto& child : base::make_span(children_, const_num_children_))
     visitor->Trace(child);
-  // These if branches are safe since |const_has_fragment_items_| and
-  // |const_has_rare_data_| are const and set in ctor.
-  if (const_has_fragment_items_)
+  // |HasItems()| and |ConstHasRareData()| are const and set
+  // in ctor so they do not cause TOCTOU.
+  if (HasItems())
     visitor->Trace(*ComputeItemsAddress());
-  if (const_has_rare_data_)
+  if (ConstHasRareData())
     visitor->Trace(*ComputeRareDataAddress());
   NGPhysicalFragment::TraceAfterDispatch(visitor);
 }
diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h
index 0682e75..86905c9 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_box_fragment.h
@@ -19,6 +19,7 @@
 #include "third_party/blink/renderer/core/layout/ng/table/ng_table_fragment_data.h"
 #include "third_party/blink/renderer/core/style/style_overflow_clip_margin.h"
 #include "third_party/blink/renderer/platform/graphics/overlay_scrollbar_clip_behavior.h"
+#include "third_party/blink/renderer/platform/wtf/bit_field.h"
 #include "third_party/blink/renderer/platform/wtf/casting.h"
 #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
 
@@ -129,9 +130,13 @@
   }
 
   // Returns |NGFragmentItems| if this fragment has one.
-  bool HasItems() const { return const_has_fragment_items_; }
+  bool HasItems() const {
+    // Use get_concurrently because it can be called from a background thread in
+    // TraceAfterDispatch().
+    return bit_field_.get_concurrently<ConstHasFragmentItemsFlag>();
+  }
   const NGFragmentItems* Items() const {
-    return const_has_fragment_items_ ? ComputeItemsAddress() : nullptr;
+    return HasItems() ? ComputeItemsAddress() : nullptr;
   }
 
   absl::optional<LayoutUnit> FirstBaseline() const {
@@ -159,7 +164,7 @@
   }
 
   const NGTableBorders* TableCollapsedBorders() const {
-    return const_has_rare_data_
+    return ConstHasRareData()
                ? ComputeRareDataAddress()->table_collapsed_borders.get()
                : nullptr;
   }
@@ -175,7 +180,7 @@
 
   absl::optional<wtf_size_t> TableSectionStartRowIndex() const {
     DCHECK(IsTableNGSection());
-    if (!const_has_rare_data_)
+    if (!ConstHasRareData())
       return absl::nullopt;
     const auto* rare_data = ComputeRareDataAddress();
     if (rare_data->table_section_row_offsets.empty())
@@ -185,7 +190,7 @@
 
   const Vector<LayoutUnit>* TableSectionRowOffsets() const {
     DCHECK(IsTableNGSection());
-    return const_has_rare_data_
+    return ConstHasRareData()
                ? &ComputeRareDataAddress()->table_section_row_offsets
                : nullptr;
   }
@@ -194,7 +199,7 @@
   // is propagated all the way up to the page fragment, which is needed in order
   // to support e.g. page orientation. See https://drafts.csswg.org/css-page-3
   AtomicString PageName() const {
-    if (!const_has_rare_data_)
+    if (!ConstHasRareData())
       return AtomicString();
     return ComputeRareDataAddress()->page_name;
   }
@@ -203,32 +208,34 @@
   const PhysicalRect LayoutOverflow() const {
     if (is_legacy_layout_root_)
       return To<LayoutBox>(GetLayoutObject())->PhysicalLayoutOverflowRect();
-    if (!has_layout_overflow_)
+    if (!HasLayoutOverflow())
       return {{}, Size()};
     return *ComputeLayoutOverflowAddress();
   }
 
-  bool HasLayoutOverflow() const { return has_layout_overflow_; }
+  bool HasLayoutOverflow() const {
+    return bit_field_.get<HasLayoutOverflowFlag>();
+  }
 
   const NGPhysicalBoxStrut Borders() const {
-    if (!has_borders_)
+    if (!HasBorders())
       return NGPhysicalBoxStrut();
     return *ComputeBordersAddress();
   }
 
   const NGPhysicalBoxStrut Padding() const {
-    if (!has_padding_)
+    if (!HasPadding())
       return NGPhysicalBoxStrut();
     return *ComputePaddingAddress();
   }
 
   const PhysicalOffset ContentOffset() const {
-    if (!has_borders_ && !has_padding_)
+    if (!HasBorders() && !HasPadding())
       return PhysicalOffset();
     PhysicalOffset offset;
-    if (has_borders_)
+    if (HasBorders())
       offset += Borders().Offset();
-    if (has_padding_)
+    if (HasPadding())
       offset += Padding().Offset();
     return offset;
   }
@@ -242,7 +249,7 @@
   // size and position of the grid instead.
   // This is used for scrollable overflow calculations.
   const absl::optional<PhysicalRect> InflowBounds() const {
-    if (!has_inflow_bounds_)
+    if (!HasInflowBounds())
       return absl::nullopt;
     return *ComputeInflowBoundsAddress();
   }
@@ -275,7 +282,7 @@
   //       </span>
   //       <span style="display:inline-flex;">   <!-- N/A -->
   bool IsInlineFormattingContext() const {
-    return is_inline_formatting_context_;
+    return bit_field_.get<IsInlineFormattingContextFlag>();
   }
 
   // The |LayoutBox| whose |PhysicalFragments()| contains |this|. This is
@@ -310,7 +317,8 @@
   PhysicalSize ScrollSize() const;
 
   NGInkOverflow::Type InkOverflowType() const {
-    return static_cast<NGInkOverflow::Type>(ink_overflow_type_);
+    return static_cast<NGInkOverflow::Type>(
+        bit_field_.get<InkOverflowTypeValue>());
   }
   bool IsInkOverflowComputed() const {
     return InkOverflowType() != NGInkOverflow::Type::kNotSet &&
@@ -366,8 +374,8 @@
   NGPhysicalBoxStrut OverflowClipMarginOutsets() const;
 
   PhysicalBoxSides SidesToInclude() const {
-    return PhysicalBoxSides(include_border_top_, include_border_right_,
-                            include_border_bottom_, include_border_left_);
+    return PhysicalBoxSides(IncludeBorderTop(), IncludeBorderRight(),
+                            IncludeBorderBottom(), IncludeBorderLeft());
   }
 
   const NGBlockBreakToken* BreakToken() const {
@@ -375,18 +383,18 @@
   }
 
   // Return true if this is the first fragment generated from a node.
-  bool IsFirstForNode() const { return is_first_for_node_; }
+  bool IsFirstForNode() const { return bit_field_.get<IsFirstForNodeFlag>(); }
 
   // Return true if this is the only fragment generated from a node.
   bool IsOnlyForNode() const { return IsFirstForNode() && !BreakToken(); }
 
   bool HasDescendantsForTablePart() const {
     DCHECK(IsTableNGPart() || IsTableNGCell());
-    return has_descendants_for_table_part_;
+    return bit_field_.get<HasDescendantsForTablePartFlag>();
   }
 
   bool IsFragmentationContextRoot() const {
-    return is_fragmentation_context_root_;
+    return bit_field_.get<IsFragmentationContextRootFlag>();
   }
 
 #if DCHECK_IS_ON()
@@ -402,7 +410,7 @@
     if (IsMathMLFraction())
       return true;
 
-    if (const_has_rare_data_ && ComputeRareDataAddress()->mathml_paint_info)
+    if (ConstHasRareData() && ComputeRareDataAddress()->mathml_paint_info)
       return true;
 
     return false;
@@ -442,7 +450,9 @@
     friend class NGPhysicalBoxFragment;
 
    public:
-    void ClearIsFirstForNode() { fragment_.is_first_for_node_ = false; }
+    void ClearIsFirstForNode() {
+      fragment_.bit_field_.set<IsFirstForNodeFlag>(false);
+    }
     void ClearPropagatedOOFs() { fragment_.ClearOutOfFlowData(); }
     void SetBreakToken(const NGBlockBreakToken* token) {
       fragment_.break_token_ = token;
@@ -482,6 +492,53 @@
   void Dispose();
 
  private:
+  using BitField = WTF::ConcurrentlyReadBitField<uint32_t>;
+  using ConstHasFragmentItemsFlag =
+      BitField::DefineFirstValue<bool, 1, WTF::BitFieldValueConstness::kConst>;
+  using IsInlineFormattingContextFlag =
+      ConstHasFragmentItemsFlag::DefineNextValue<bool, 1>;
+  using IncludeBorderTopFlag =
+      IsInlineFormattingContextFlag::DefineNextValue<bool, 1>;
+  using IncludeBorderRightFlag = IncludeBorderTopFlag::DefineNextValue<bool, 1>;
+  using IncludeBorderBottomFlag =
+      IncludeBorderRightFlag::DefineNextValue<bool, 1>;
+  using IncludeBorderLeftFlag =
+      IncludeBorderBottomFlag::DefineNextValue<bool, 1>;
+  using HasLayoutOverflowFlag = IncludeBorderLeftFlag::DefineNextValue<bool, 1>;
+  using InkOverflowTypeValue =
+      HasLayoutOverflowFlag::DefineNextValue<uint8_t, NGInkOverflow::kTypeBits>;
+  using HasBordersFlag = InkOverflowTypeValue::DefineNextValue<bool, 1>;
+  using HasPaddingFlag = HasBordersFlag::DefineNextValue<bool, 1>;
+  using HasInflowBoundsFlag = HasPaddingFlag::DefineNextValue<bool, 1>;
+  using ConstHasRareDataFlag = HasInflowBoundsFlag::
+      DefineNextValue<bool, 1, WTF::BitFieldValueConstness::kConst>;
+  using IsFirstForNodeFlag = ConstHasRareDataFlag::DefineNextValue<bool, 1>;
+  using HasDescendantsForTablePartFlag =
+      IsFirstForNodeFlag::DefineNextValue<bool, 1>;
+  using IsFragmentationContextRootFlag =
+      HasDescendantsForTablePartFlag::DefineNextValue<bool, 1>;
+
+  bool ConstHasRareData() const {
+    // Use get_concurrently because it can be called from a background thread in
+    // TraceAfterDispatch().
+    return bit_field_.get_concurrently<ConstHasRareDataFlag>();
+  }
+  bool IncludeBorderTop() const {
+    return bit_field_.get<IncludeBorderTopFlag>();
+  }
+  bool IncludeBorderRight() const {
+    return bit_field_.get<IncludeBorderRightFlag>();
+  }
+  bool IncludeBorderBottom() const {
+    return bit_field_.get<IncludeBorderBottomFlag>();
+  }
+  bool IncludeBorderLeft() const {
+    return bit_field_.get<IncludeBorderLeftFlag>();
+  }
+  bool HasBorders() const { return bit_field_.get<HasBordersFlag>(); }
+  bool HasPadding() const { return bit_field_.get<HasPaddingFlag>(); }
+  bool HasInflowBounds() const { return bit_field_.get<HasInflowBoundsFlag>(); }
+
   static size_t AdditionalByteSize(wtf_size_t num_fragment_items,
                                    wtf_size_t num_children,
                                    bool has_layout_overflow,
@@ -520,8 +577,8 @@
   };
 
   const NGFragmentItems* ComputeItemsAddress() const {
-    DCHECK(const_has_fragment_items_ || has_layout_overflow_ || has_borders_ ||
-           has_padding_ || has_inflow_bounds_ || const_has_rare_data_);
+    DCHECK(HasItems() || HasLayoutOverflow() || HasBorders() || HasPadding() ||
+           HasInflowBounds() || ConstHasRareData());
     const NGLink* children_end = children_ + const_num_children_;
     return reinterpret_cast<const NGFragmentItems*>(
         base::bits::AlignUp(reinterpret_cast<const uint8_t*>(children_end),
@@ -529,11 +586,11 @@
   }
 
   const PhysicalRect* ComputeLayoutOverflowAddress() const {
-    DCHECK(has_layout_overflow_ || has_borders_ || has_padding_ ||
-           has_inflow_bounds_ || const_has_rare_data_);
+    DCHECK(HasLayoutOverflow() || HasBorders() || HasPadding() ||
+           HasInflowBounds() || ConstHasRareData());
     const NGFragmentItems* items = ComputeItemsAddress();
     const uint8_t* uint8_t_items = reinterpret_cast<const uint8_t*>(items);
-    if (const_has_fragment_items_)
+    if (HasItems())
       uint8_t_items += items->ByteSize();
 
     return reinterpret_cast<const PhysicalRect*>(
@@ -541,51 +598,51 @@
   }
 
   const NGPhysicalBoxStrut* ComputeBordersAddress() const {
-    DCHECK(has_borders_ || has_padding_ || has_inflow_bounds_ ||
-           const_has_rare_data_);
+    DCHECK(HasBorders() || HasPadding() || HasInflowBounds() ||
+           ConstHasRareData());
     const PhysicalRect* address = ComputeLayoutOverflowAddress();
     const uint8_t* unaligned_border_address =
-        has_layout_overflow_ ? reinterpret_cast<const uint8_t*>(address + 1)
-                             : reinterpret_cast<const uint8_t*>(address);
+        HasLayoutOverflow() ? reinterpret_cast<const uint8_t*>(address + 1)
+                            : reinterpret_cast<const uint8_t*>(address);
     return reinterpret_cast<const NGPhysicalBoxStrut*>(base::bits::AlignUp(
         unaligned_border_address, alignof(NGPhysicalBoxStrut)));
   }
 
   const NGPhysicalBoxStrut* ComputePaddingAddress() const {
-    DCHECK(has_padding_ || has_inflow_bounds_ || const_has_rare_data_);
+    DCHECK(HasPadding() || HasInflowBounds() || ConstHasRareData());
     const NGPhysicalBoxStrut* address = ComputeBordersAddress();
     const uint8_t* unaligned_address =
-        has_borders_ ? reinterpret_cast<const uint8_t*>(address + 1)
+        HasBorders() ? reinterpret_cast<const uint8_t*>(address + 1)
                      : reinterpret_cast<const uint8_t*>(address);
     return reinterpret_cast<const NGPhysicalBoxStrut*>(
         base::bits::AlignUp(unaligned_address, alignof(NGPhysicalBoxStrut)));
   }
 
   const PhysicalRect* ComputeInflowBoundsAddress() const {
-    DCHECK(has_inflow_bounds_ || const_has_rare_data_);
+    DCHECK(HasInflowBounds() || ConstHasRareData());
     NGPhysicalBoxStrut* address =
         const_cast<NGPhysicalBoxStrut*>(ComputePaddingAddress());
     const uint8_t* unaligned_address =
-        has_padding_ ? reinterpret_cast<const uint8_t*>(address + 1)
+        HasPadding() ? reinterpret_cast<const uint8_t*>(address + 1)
                      : reinterpret_cast<const uint8_t*>(address);
     return reinterpret_cast<const PhysicalRect*>(
         base::bits::AlignUp(unaligned_address, alignof(PhysicalRect)));
   }
 
   const RareData* ComputeRareDataAddress() const {
-    DCHECK(const_has_rare_data_);
+    DCHECK(ConstHasRareData());
     PhysicalRect* address =
         const_cast<PhysicalRect*>(ComputeInflowBoundsAddress());
     const uint8_t* unaligned_address =
-        has_inflow_bounds_ ? reinterpret_cast<const uint8_t*>(address + 1)
-                           : reinterpret_cast<const uint8_t*>(address);
+        HasInflowBounds() ? reinterpret_cast<const uint8_t*>(address + 1)
+                          : reinterpret_cast<const uint8_t*>(address);
     return reinterpret_cast<const RareData*>(
         base::bits::AlignUp(unaligned_address, alignof(RareData)));
   }
 
   void SetInkOverflow(const PhysicalRect& self, const PhysicalRect& contents);
   void SetInkOverflowType(NGInkOverflow::Type type) {
-    ink_overflow_type_ = static_cast<unsigned>(type);
+    bit_field_.set<InkOverflowTypeValue>(static_cast<uint8_t>(type));
   }
   PhysicalRect RecalcContentsInkOverflow();
   PhysicalRect ComputeSelfInkOverflow() const;
@@ -616,21 +673,7 @@
   void CheckIntegrity() const;
 #endif
 
-  unsigned is_inline_formatting_context_ : 1;
-  const unsigned const_has_fragment_items_ : 1;
-  unsigned include_border_top_ : 1;
-  unsigned include_border_right_ : 1;
-  unsigned include_border_bottom_ : 1;
-  unsigned include_border_left_ : 1;
-  unsigned has_layout_overflow_ : 1;
-  unsigned ink_overflow_type_ : NGInkOverflow::kTypeBits;
-  unsigned has_borders_ : 1;
-  unsigned has_padding_ : 1;
-  unsigned has_inflow_bounds_ : 1;
-  const unsigned const_has_rare_data_ : 1;
-  unsigned is_first_for_node_ : 1;
-  unsigned has_descendants_for_table_part_ : 1;
-  unsigned is_fragmentation_context_root_ : 1;
+  BitField bit_field_;
 
   const wtf_size_t const_num_children_;
 
diff --git a/third_party/blink/renderer/core/svg/svg_use_element.cc b/third_party/blink/renderer/core/svg/svg_use_element.cc
index f7171ca..b941bd0 100644
--- a/third_party/blink/renderer/core/svg/svg_use_element.cc
+++ b/third_party/blink/renderer/core/svg/svg_use_element.cc
@@ -46,6 +46,7 @@
 #include "third_party/blink/renderer/core/xlink_names.h"
 #include "third_party/blink/renderer/core/xml/parser/xml_document_parser.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
+#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
 #include "third_party/blink/renderer/platform/loader/fetch/fetch_parameters.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
 #include "third_party/blink/renderer/platform/loader/fetch/resource_loader_options.h"
@@ -206,6 +207,9 @@
     return;
   }
 
+  if (element_url_.ProtocolIsData())
+    UseCounter::Count(GetDocument(), WebFeature::kDataUrlInSvgUse);
+
   auto* context_document = &GetDocument();
   ExecutionContext* execution_context = context_document->GetExecutionContext();
   ResourceLoaderOptions options(execution_context->GetCurrentWorld());
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
index 8d7024a4..603153a 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
@@ -569,7 +569,9 @@
     def process_wpt_report(self, report_path):
         """Process and upload a wpt report to result sink."""
         with self.fs.open_text_file_for_reading(report_path) as report_file:
-            report = json.load(report_file)
+            report = json.loads(next(report_file))
+            for retry_report in map(json.loads, report_file):
+                report['results'].extend(retry_report['results'])
         report_filename = self.fs.basename(report_path)
         artifact_path = self.fs.join(self.artifacts_dir, report_filename)
         if not report['run_info'].get('used_upstream'):
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
index 7882aff..304cf24 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
@@ -917,7 +917,8 @@
 
     def test_process_wpt_report(self):
         report_src = self.fs.join('out', 'Default', 'wpt_report.json')
-        self.fs.write_text_file(report_src, json.dumps(self.wpt_report))
+        self.fs.write_text_file(report_src,
+                                (json.dumps(self.wpt_report) + '\n') * 2)
         self.processor.process_wpt_report(report_src)
         artifacts = self.processor.sink.invocation_level_artifacts
         report_dest = self.fs.join('out', 'Default', 'layout-test-results',
@@ -926,7 +927,8 @@
             'filePath': report_dest,
         })
         report = json.loads(self.fs.read_text_file(report_dest))
-        self.assertEqual(report, self.wpt_report)
+        self.assertEqual(report['run_info'], self.wpt_report['run_info'])
+        self.assertEqual(report['results'], self.wpt_report['results'] * 2)
 
     def test_process_wpt_report_compact(self):
         report_src = self.fs.join('out', 'Default', 'wpt_report.json')
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_uploader.py b/third_party/blink/tools/blinkpy/w3c/wpt_uploader.py
index ccceb40..db425119 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_uploader.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_uploader.py
@@ -55,13 +55,14 @@
                     build["id"])
                 for url in urls:
                     _log.info("Fetching wpt report from %s" % url)
-                    res = self._host.web.request("GET", url)
-                    if res.getcode() == 200:
-                        body = res.read()
-                        reports.append(json.loads(body))
-                    else:
+                    body = self._host.web.get_binary(url,
+                                                     return_none_on_404=True)
+                    if not body:
                         _log.error("Failed to fetch wpt report.")
-
+                        continue
+                    # Ignore retry results on subsequent lines.
+                    initial_report, _, _ = body.partition(b'\n')
+                    reports.append(json.loads(initial_report))
             merged_report = self.merge_reports(reports)
 
             with tempfile.TemporaryDirectory() as tmpdir:
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_uploader_unittest.py b/third_party/blink/tools/blinkpy/w3c/wpt_uploader_unittest.py
index 1d0da91..63ba399a 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_uploader_unittest.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_uploader_unittest.py
@@ -31,22 +31,12 @@
                            "builder": {"builder": "test_builder"},
                            "status": "SUCCESS",
                            "number": "98"}]}
-        self.host.results_fetcher.web.responses.append({
-            'status_code':
-            200,
-            'body':
-            json.dumps(res).encode(),
-        })
+        self.host.results_fetcher.web.append_prpc_response(res)
         build = uploader.fetch_latest_complete_build(*builder)
         self.assertEqual(build, expected)
 
         res = {"builds": []}
-        self.host.results_fetcher.web.responses.append({
-            'status_code':
-            200,
-            'body':
-            json.dumps(res).encode(),
-        })
+        self.host.results_fetcher.web.append_prpc_response(res)
         build = uploader.fetch_latest_complete_build(*builder)
         self.assertIsNone(build)
 
diff --git a/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder.py b/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder.py
index 59e7832..9afb1c4 100644
--- a/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder.py
+++ b/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder.py
@@ -233,7 +233,6 @@
         all_tests = set(all_tests_list)
         tests_to_skip = set()
         idlharness_skips = set()
-        print_reftest_skips = set()
         tests_always_skipped = set()
         for test in all_tests:
             # Manual tests and virtual tests skipped by platform config are
@@ -253,11 +252,6 @@
                 idlharness_skips.update({test})
                 continue
 
-            # TODO(crbug.com/1090628): print reftests are not yet supported.
-            if self._port.is_wpt_print_reftest(test):
-                tests_to_skip.update({test})
-                print_reftest_skips.update({test})
-
             if self._options.no_expectations:
                 # do not skip anything from TestExpectations
                 continue
@@ -270,20 +264,15 @@
             if self._options.skip_failing_tests and ResultType.Failure in expected_results:
                 tests_to_skip.update({test})
 
-        # Idlharness tests and print reftests are skipped programmatically, so we have
+        # Idlharness tests are skipped programmatically on MSAN/ASAN, so we have
         # to add them to the expectations to avoid reporting unexpected skips.
-        if expectations and (idlharness_skips or print_reftest_skips):
+        if expectations and idlharness_skips:
             raw_expectations = '# results: [ Skip ]\n'
             for test in idlharness_skips:
                 raw_expectations += typ_types.Expectation(
                     reason="crbug.com/856601",
                     test=test,
                     results=[ResultType.Skip]).to_string() + '\n'
-            for test in print_reftest_skips:
-                raw_expectations += typ_types.Expectation(
-                    reason="crbug.com/1090628",
-                    test=test,
-                    results=[ResultType.Skip]).to_string() + '\n'
             expectations.merge_raw_expectations(raw_expectations)
 
         if self._options.skipped == 'only':
diff --git a/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder_unittest.py b/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder_unittest.py
index 44894972..c013a86 100644
--- a/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder_unittest.py
+++ b/third_party/blink/tools/blinkpy/web_tests/controllers/web_test_finder_unittest.py
@@ -11,7 +11,6 @@
 from blinkpy.common.host_mock import MockHost
 from blinkpy.web_tests.controllers import web_test_finder
 from blinkpy.web_tests.models import test_expectations
-from blinkpy.web_tests.port.test import add_manifest_to_mock_filesystem
 
 import mock
 
@@ -100,47 +99,6 @@
         tests = finder.skip_tests([], all_tests, None)
         self.assertEqual(tests, set())
 
-    def test_skip_print_reftests(self):
-        """Tests that print reftests are skipped, see https://crbug.com/1090628."""
-        host = MockHost()
-        port = host.port_factory.get('test-win-win7', None)
-        add_manifest_to_mock_filesystem(port)
-
-        non_print_reftest = 'external/wpt/dir1/dir2/foo.html'
-        print_reftest_1 = 'external/wpt/foo/bar/test-print.html'
-        print_reftest_2 = 'external/wpt/foo/print/test.html'
-        all_tests = [non_print_reftest, print_reftest_1, print_reftest_2]
-
-        port.tests = lambda paths: paths or all_tests
-        options = optparse.Values({
-            'no_expectations': False,
-            'enable_sanitizer': False,
-            'skipped': 'default',
-            'skip_timeouts': False,
-            'skip_failing_tests': False,
-        })
-        finder = web_test_finder.WebTestFinder(port, options)
-
-        # Default case; print reftests should be skipped
-        expectations = test_expectations.TestExpectations(port)
-        tests = finder.skip_tests([], all_tests, expectations)
-        self.assertEqual(tests, set([print_reftest_1, print_reftest_2]))
-        self.assertTrue(
-            expectations.get_expectations(non_print_reftest).is_default_pass)
-        for test in [print_reftest_1, print_reftest_2]:
-            self.assertEquals(
-                expectations.get_expectations(test).results, {'SKIP'})
-
-        # If a print reftest is added explicitly, it should not be skipped
-        expectations = test_expectations.TestExpectations(port)
-        tests = finder.skip_tests([print_reftest_1], all_tests, expectations)
-        self.assertEqual(tests, set([print_reftest_2]))
-        self.assertTrue(
-            expectations.get_expectations(non_print_reftest).is_default_pass)
-        for test in [print_reftest_1, print_reftest_2]:
-            self.assertEquals(
-                expectations.get_expectations(test).results, {'SKIP'})
-
     def test_skip_tests_idlharness(self):
         """Tests that idlharness tests are skipped on MSAN/ASAN runs.
 
diff --git a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
index 9fb7c84..cf3185e 100644
--- a/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
+++ b/third_party/blink/web_tests/FlagExpectations/disable-site-isolation-trials
@@ -115,3 +115,8 @@
 
 crbug.com/1311518 virtual/document-transition-wide-gamut/wpt_internal/document-transition/iframe-transition.sub.html [ Crash Failure Timeout ]
 crbug.com/1311518 virtual/document-transition/wpt_internal/document-transition/iframe-transition.sub.html [ Crash Failure Timeout ]
+
+# reenable print ref tests
+crbug.com/1090628 external/wpt/html/browsers/windows/iframe-cross-origin-print.sub.html [ Pass ]
+crbug.com/1090628 external/wpt/html/browsers/windows/iframe-cross-origin-scaled-print.sub.html [ Pass ]
+
diff --git a/third_party/blink/web_tests/FlagExpectations/highdpi b/third_party/blink/web_tests/FlagExpectations/highdpi
index 1811590..3b5717d8 100644
--- a/third_party/blink/web_tests/FlagExpectations/highdpi
+++ b/third_party/blink/web_tests/FlagExpectations/highdpi
@@ -715,7 +715,7 @@
 external/wpt/html/rendering/non-replaced-elements/lists/ol-start-reversed-display-contents.html [ Pass ]
 external/wpt/html/rendering/non-replaced-elements/margin-collapsing-quirks/multicol-quirks-mode.html [ Pass ]
 external/wpt/html/rendering/non-replaced-elements/phrasing-content-0/font-element-text-decoration-color/font-face.html [ Pass ]
-external/wpt/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html [ Pass ]
+external/wpt/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html [ Failure ]
 external/wpt/html/rendering/non-replaced-elements/the-fieldset-and-legend-elements/legend-margin-inline.html [ Pass ]
 external/wpt/html/rendering/non-replaced-elements/the-frameset-and-frame-elements/large-rows-abssize.html [ Pass ]
 external/wpt/html/rendering/non-replaced-elements/the-hr-element-0/setting-overflow-visible.html [ Pass ]
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 97ee069..e0c3a524 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -5156,6 +5156,12 @@
 crbug.com/1097005 http/tests/devtools/console/console-preserve-scroll.js [ Crash Failure Pass Timeout ]
 crbug.com/1097005 http/tests/devtools/console/console-search.js [ Crash Failure Pass Timeout ]
 
+# These tests print the internal [[Scopes]] property. We disable the the tests for a release to run an
+# experiment whether we can remove the property. We'll re-enable and re-baseline once a final decision is made.
+crbug.com/1365858 http/tests/devtools/console/console-format-es6.js [ Failure Pass ]
+crbug.com/1365858 http/tests/devtools/console/console-functions.js [ Failure Pass ]
+crbug.com/1365858 http/tests/devtools/sources/debugger/properties-special.js [ Failure Pass ]
+
 crbug.com/1093445 http/tests/loading/pdf-commit-load-callbacks.html [ Failure Pass ]
 crbug.com/1093497 http/tests/history/client-redirect-after-push-state.html [ Failure Pass ]
 
@@ -7097,6 +7103,22 @@
 crbug.com/1267596 [ Linux ] virtual/plz-dedicated-worker/external/wpt/resource-timing/object-not-found-after-cross-origin-redirect.html [ Pass Timeout ]
 crbug.com/1318592 [ Linux ] external/wpt/resource-timing/object-not-found-after-cross-origin-redirect.html [ Pass Timeout ]
 
+# unskip print ref tests
+crbug.com/1090628 external/wpt/svg/painting/reftests/mask-print.svg [ Crash ]
+crbug.com/1090628 external/wpt/css/css-break/block-002-wm-vlr-print.html [ Failure ]
+crbug.com/1090628 external/wpt/css/css-break/block-002-wm-vrl-print.html [ Failure ]
+crbug.com/1090628 external/wpt/css/css-break/float-with-large-margin-bottom-cross-page-001-print.html [ Failure ]
+crbug.com/1090628 external/wpt/css/css-break/ink-overflow-001-print.html [ Failure ]
+crbug.com/1090628 external/wpt/html/browsers/windows/iframe-cross-origin-print.sub.html [ Failure ]
+crbug.com/1090628 external/wpt/html/browsers/windows/iframe-cross-origin-scaled-print.sub.html [ Failure ]
+crbug.com/1090628 external/wpt/html/rendering/non-replaced-elements/tables/table-row-pagination-001-print.html [ Failure ]
+crbug.com/1090628 external/wpt/html/rendering/the-details-element/details-page-break-after-2-print.html [ Failure ]
+crbug.com/1090628 external/wpt/html/rendering/the-details-element/details-page-break-before-2-print.html [ Failure ]
+crbug.com/1090628 external/wpt/infrastructure/reftest/reftest_match_fail-print.html [ Failure ]
+crbug.com/1090628 external/wpt/infrastructure/reftest/reftest_mismatch_fail-print.html [ Failure ]
+crbug.com/1090628 external/wpt/infrastructure/reftest/reftest_mismatch_page_margins-print.html [ Failure ]
+crbug.com/1090628 external/wpt/css/printing/fragmented-inline-block-002-print.html [ Failure ]
+
 # Sheriff 2022-09-07
 crbug.com/1360691 [ Debug Linux ] fast/canvas/disconnected-canvas-lost-gpu-context.html [ Failure ]
 
diff --git a/third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html b/third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html
index d8c6be3..75c1831 100644
--- a/third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html
+++ b/third_party/blink/web_tests/editing/input/edit-context-dom-mutation.html
@@ -1,5 +1,6 @@
 <head>
   <title>This tests the new EditContext APIs regarding DOM mutation</title>
+  <meta charset="utf8">
   <script src="../../resources/testharness.js"></script>
   <script src="../../resources/testharnessreport.js"></script>
 </head>
diff --git a/third_party/blink/web_tests/editing/pasteboard/paste-svg-use.html b/third_party/blink/web_tests/editing/pasteboard/paste-svg-use.html
index 1af77f8f..7f9d4e7 100644
--- a/third_party/blink/web_tests/editing/pasteboard/paste-svg-use.html
+++ b/third_party/blink/web_tests/editing/pasteboard/paste-svg-use.html
@@ -1,4 +1,5 @@
 <!DOCTYPE html>
+<meta charset="utf8">
 <script src="../../resources/testharness.js"></script>
 <script src="../../resources/testharnessreport.js"></script>
 <script src="../assert_selection.js"></script>
diff --git a/third_party/blink/web_tests/fast/css/content/content-quotes-06.html b/third_party/blink/web_tests/fast/css/content/content-quotes-06.html
index e4ed96bb..3399624 100644
--- a/third_party/blink/web_tests/fast/css/content/content-quotes-06.html
+++ b/third_party/blink/web_tests/fast/css/content/content-quotes-06.html
@@ -1,5 +1,6 @@
 <html>
     <head>
+        <meta charset="utf8">
         <style type="text/css">
             .initialQuotes { quotes: initial; }
             .noQuotes { quotes: none; }
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details-expected.txt
index 4279f39..07ff75c 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details-expected.txt
@@ -8,7 +8,6 @@
 columnNumber: 34
 scriptId is valid: true
 functionName: firstLineFunction
-scopeChain #0: Global; <global object properties omitted>
 
 Running: testGetNonFirstLineFunctionDetails
 notFirstLineFunction type = function
@@ -17,7 +16,6 @@
 columnNumber: 37
 scriptId is valid: true
 functionName: notFirstLineFunction
-scopeChain #0: Global; <global object properties omitted>
 
 Running: testGetDetailsOfFunctionWithInferredName
 obj.m type = function
@@ -26,7 +24,6 @@
 columnNumber: 23
 scriptId is valid: true
 functionName: m
-scopeChain #0: Global; <global object properties omitted>
 
 Running: testGetDetailsOfFunctionWithDisplayName
 functionWithDisplayName type = function
@@ -35,7 +32,6 @@
 columnNumber: 40
 scriptId is valid: true
 functionName: user-friendly name
-scopeChain #0: Global; <global object properties omitted>
 
 Running: testGetDetailsOfFunctionWithDisplayNameGetter
 functionWithDisplayNameGetter type = function
@@ -44,7 +40,6 @@
 columnNumber: 46
 scriptId is valid: true
 functionName: functionWithDisplayNameGetter
-scopeChain #0: Global; <global object properties omitted>
 
 Running: testSmallClosure
 smallClosure type = function
@@ -53,8 +48,6 @@
 columnNumber: 57
 scriptId is valid: true
 functionName: 
-scopeChain #0: Closure; p: "Capybara"
-scopeChain #1: Global; <global object properties omitted>
 
 Running: testBigClosure
 bigClosure type = function
@@ -63,10 +56,6 @@
 columnNumber: 35
 scriptId is valid: true
 functionName: 
-scopeChain #0: Catch; ex: <no string representation>
-scopeChain #1: With Block; e: 7,f: 5,u: <no value>,v: <no value>
-scopeChain #2: Closure; p: <no string representation>
-scopeChain #3: Global; <global object properties omitted>
 
 Running: testGenFunction
 gen type = function
@@ -76,5 +65,4 @@
 scriptId is valid: true
 functionName: gen
 isGenerator: true
-scopeChain #0: Global; <global object properties omitted>
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details.js
index 54548bc..bb464cd 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-details.js
@@ -61,57 +61,6 @@
       TestRunner.addResult('isGenerator: ' + properties.get('[[IsGenerator]]').value.value);
   }
 
-  function dumpFunctionNoScopes() {
-    TestRunner.addResult('scopeChain: n/a');
-  }
-
-  function dumpFunctionScope(pos, type, propertyDescriptors) {
-    var variables;
-    if (type == 'Global') {
-      variables = '<global object properties omitted>';
-    } else {
-      var varArray = [];
-      for (var i = 0; i < propertyDescriptors.length; i++) {
-        var d = propertyDescriptors[i];
-        var valueStr;
-        if (d.value) {
-          if (d.value.value)
-            valueStr = JSON.stringify(d.value.value);
-          else
-            valueStr = '<no string representation>';
-        } else {
-          valueStr = '<no value>';
-        }
-        varArray.push(d.name + ': ' + valueStr);
-      }
-      varArray.sort();
-      variables = varArray.join();
-    }
-    TestRunner.addResult('scopeChain #' + pos + ': ' + type + '; ' + variables);
-  }
-
-  async function loadAndDumpScopeObjects(scopeChain, end) {
-    if (!scopeChain) {
-      dumpFunctionNoScopes();
-      end();
-      return;
-    }
-
-    var properties = await TestRunner.RuntimeAgent.getProperties(scopeChain.value.objectId, true);
-    var scopes = [];
-    for (var prop of properties) {
-      if (String(prop.name >>> 0) === prop.name)
-        scopes.push(prop.value);
-    }
-
-    for (var pos = 0; pos < scopes.length; ++pos) {
-      var propertyDescriptors = await TestRunner.RuntimeAgent.getProperties(scopes[pos].objectId, true);
-      dumpFunctionScope(pos, scopes[pos].description, propertyDescriptors);
-    }
-
-    end();
-  }
-
   async function performStandardTestCase(pageExpression, next) {
     var remote = await TestRunner.evaluateInPageRemoteObject(pageExpression);
 
@@ -131,7 +80,7 @@
       }
     }
     dumpFunctionDetails(propertiesMap);
-    loadAndDumpScopeObjects(propertiesMap.get('[[Scopes]]'), next);
+    next();
   }
 
   SourcesTestRunner.runDebuggerTestSuite([
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details-expected.txt
index 52889b95..9ae5279 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details-expected.txt
@@ -14,7 +14,6 @@
           yield 3;
       }
 [[GeneratorReceiver]] = Window
-[[Scopes]] = Scopes[2]
 
 Running: testiterSuspended
 iterSuspended: type = object, subtype = generator
@@ -29,7 +28,6 @@
           yield 3;
       }
 [[GeneratorReceiver]] = Window
-[[Scopes]] = Scopes[2]
 
 Running: testiterClosed
 iterClosed: type = object, subtype = generator
@@ -58,7 +56,6 @@
               yield 13;
           }
 [[GeneratorReceiver]] = Object
-[[Scopes]] = Scopes[2]
 
 Running: testanonymousGenIter
 anonymousGenIter: type = object, subtype = generator
@@ -72,5 +69,4 @@
           yield 23;
       }
 [[GeneratorReceiver]] = Window
-[[Scopes]] = Scopes[2]
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details.js
index fd1477b..490d3d0 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/function-generator-details.js
@@ -61,7 +61,7 @@
       TestRunner.assertTrue(
           properties && properties.internalProperties, 'FAIL: no properties');
       for (var prop of properties.internalProperties) {
-        if (prop.name === '[[Prototype]]')
+        if (prop.name === '[[Prototype]]' || prop.name === '[[Scopes]]')
           continue;
         if (prop.name !== '[[GeneratorLocation]]')
           TestRunner.addResult(prop.name + ' = ' + prop.value.description);
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion-expected.txt b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion-expected.txt
index 65264bd..6c5de86 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion-expected.txt
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion-expected.txt
@@ -3,9 +3,7 @@
 Watch expressions added.
 expanded foo [object Object]
 expanded bar [object Object]
-expanded [[Scopes]] [object Object]
-expanded 0 [object Object]
-expanded a [object Object]
+expanded [[FunctionLocation]] [object Object]
 expanded [200 .. 299] 
 expanded 299 [object Object]
 Watch expressions expanded.
@@ -129,12 +127,6 @@
     prototype: Object
     [[FunctionLocation]]: Object
     [[Prototype]]: function () { [native code] }
-    [[Scopes]]: Scopes[2]
-      0: Closure
-        a: 10
-        b: 100
-        [[Prototype]]: Object
-      1: Global
 Page reloaded.
 Watch expressions after page reload:
 globalObject: Object
@@ -257,10 +249,4 @@
     prototype: Object
     [[FunctionLocation]]: Object
     [[Prototype]]: function () { [native code] }
-    [[Scopes]]: Scopes[2]
-      0: Closure
-        a: 10
-        b: 100
-        [[Prototype]]: Object
-      1: Global
 
diff --git a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion.js b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion.js
index b3a66a62..aebc18cbe 100644
--- a/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion.js
+++ b/third_party/blink/web_tests/http/tests/devtools/sources/debugger-ui/watch-expressions-preserve-expansion.js
@@ -47,7 +47,7 @@
     var expandArray = expandWatchExpression.bind(
         null, ['array', '[200 \u2026 299]', '299'], step3);
     var expandFunc = expandWatchExpression.bind(
-        null, ['func', '[[Scopes]]', '0', 'a'], expandArray);
+        null, ['func', '[[FunctionLocation]]'], expandArray);
     expandWatchExpression(['globalObject', 'foo', 'bar'], expandFunc);
   }
 
@@ -77,6 +77,7 @@
   }
 
   function dumpObjectPropertiesTreeElement(treeElement, indent) {
+    if (treeElement.property && treeElement.property.name === '[[Scopes]]') return;
     if (treeElement.property)
       addResult(
           indent + treeElement.property.name + ': ' +
diff --git a/third_party/blink/web_tests/virtual/text-antialias/colrv1-samples-visual.html b/third_party/blink/web_tests/virtual/text-antialias/colrv1-samples-visual.html
index 229c74f..557439e 100644
--- a/third_party/blink/web_tests/virtual/text-antialias/colrv1-samples-visual.html
+++ b/third_party/blink/web_tests/virtual/text-antialias/colrv1-samples-visual.html
@@ -3,6 +3,7 @@
 <link rel="help" href="https://www.w3.org/TR/css-fonts-4/#font-face-src-parsing" />
 <link rel="author" href="drott@chromium.org" />
 <meta name="assert" content="Checks that COLRv1 glyphs are displayed in color." />
+<meta charset="utf8">
 <style>
 @font-face {
   font-family: colrv1_samples;
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
index 28d18fc..522e164d 100644
--- a/third_party/harfbuzz-ng/BUILD.gn
+++ b/third_party/harfbuzz-ng/BUILD.gn
@@ -63,6 +63,14 @@
     ]
 
     sources = [
+      "src/src/graph/classdef-graph.hh",
+      "src/src/graph/coverage-graph.hh",
+      "src/src/graph/gsubgpos-context.cc",
+      "src/src/graph/gsubgpos-context.hh",
+      "src/src/graph/gsubgpos-graph.hh",
+      "src/src/graph/markbasepos-graph.hh",
+      "src/src/graph/pairpos-graph.hh",
+      "src/src/graph/split-helpers.hh",
       "src/src/hb-aat-layout-ankr-table.hh",
       "src/src/hb-aat-layout-bsln-table.hh",
       "src/src/hb-aat-layout-common.hh",
@@ -321,9 +329,6 @@
       # TODO(https://crbug.com/949962): Remove once this is fixed upstream.
       "U_DISABLE_VERSION_SUFFIX=0",
 
-      # No experimental font format extensions yet.
-      "HB_NO_BORING_EXPANSION",
-
       # Buffer verification not used in production build.
       "HB_NO_BUFFER_VERIFY",
 
diff --git a/third_party/harfbuzz-ng/README.chromium b/third_party/harfbuzz-ng/README.chromium
index 247294b..deba65e 100644
--- a/third_party/harfbuzz-ng/README.chromium
+++ b/third_party/harfbuzz-ng/README.chromium
@@ -1,10 +1,10 @@
 Name: harfbuzz-ng
 Short Name: harfbuzz-ng
 URL: http://harfbuzz.org
-Version: 4.4.1-226
-CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:4.4.1
-Date: 20220721
-Revision: fa471043fccb94444510e3300ac2573297c82137
+Version: 5.2.0-6
+CPEPrefix: cpe:/a:harfbuzz_project:harfbuzz:5.2.0
+Date: 20220921
+Revision: 56c467093598ec559a7148b61e112e9de52b7076
 Security Critical: yes
 License: MIT
 License File: src/COPYING
diff --git a/third_party/tflite/features.gni b/third_party/tflite/features.gni
index f11cb57c..28af55c 100644
--- a/third_party/tflite/features.gni
+++ b/third_party/tflite/features.gni
@@ -6,8 +6,8 @@
 
 declare_args() {
   # This enables building TFLite with XNNPACK. Currently only available for
-  # Linux x64.
-  build_tflite_with_xnnpack = is_linux && current_cpu == "x64"
+  # Linux or Windows on x64.
+  build_tflite_with_xnnpack = (is_win || is_linux) && current_cpu == "x64"
 
   # Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp.
   build_tflite_with_ruy = true
diff --git a/tools/mac/power/driver.py b/tools/mac/power/driver.py
index aebd711..e9618906 100644
--- a/tools/mac/power/driver.py
+++ b/tools/mac/power/driver.py
@@ -85,7 +85,7 @@
     # battery is no longer reporting being fully charged before benchmarking.
 
     power_sampler_args = [
-        self._power_sample_path, "--sample-on-notification",
+        self._power_sample_path, "sample-every-nth-notification=1",
         "--samplers=battery", "--sample-count=1"
     ]
 
@@ -196,8 +196,8 @@
                                               stdin=subprocess.PIPE)
 
       power_sampler_args = [
-          self._power_sample_path, "--sample-on-notification",
-          f"--sample-every-notification={int(cycle_length_in_secs/60)}",
+          self._power_sample_path,
+          f"--sample-every-nth-notification={int(cycle_length_in_secs/60)}",
           "--samplers=battery,smc,user_idle_level,main_display",
           f"--timeout={int(scenario_driver.duration.total_seconds())}",
           f"--json-output-file={power_sampler_output}"
diff --git a/tools/mac/power/scenarios.py b/tools/mac/power/scenarios.py
index e04bd34..842bb72 100644
--- a/tools/mac/power/scenarios.py
+++ b/tools/mac/power/scenarios.py
@@ -276,7 +276,15 @@
           "https://polygon.com"
       ]
     else:
-      raise ValueError("Invalid navigation scenario.")
+      # For navigation scenarios that are not predefined a site list is needed.
+      if os.path.exists("sites.txt"):
+        NAVIGATED_SITES = []
+        with open("sites.txt") as sites_file:
+          for site in sites_file:
+            NAVIGATED_SITES.append(site.replace("\n", ""))
+      else:
+        raise ValueError(
+            "Use predefined navigation scenarios or create sites.txt")
 
     # Aim for a benchmark that lasts up to 1 hour.
     navigation_duration_in_seconds = 15
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index e1f4cf3..925c730 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -1329,7 +1329,7 @@
       'ios-clang-tidy-rel': 'ios_device_release_compile_only',
       'linux-chromeos-clang-tidy-rel': 'chromeos_with_codecs_release_trybot',
       'linux-clang-tidy-dbg': 'debug_bot',
-      'linux-clang-tidy-rel': 'release_trybot',
+      'linux-clang-tidy-rel': 'release_trybot_reclient',
       'linux-lacros-clang-tidy-rel': 'lacros_on_linux_release_trybot',
       'mac-clang-tidy-rel': 'release_trybot',
       'win10-clang-tidy-rel': 'release_trybot',
diff --git a/tools/mb/mb_config_expectations/tryserver.chromium.tricium.json b/tools/mb/mb_config_expectations/tryserver.chromium.tricium.json
index 72b8649..fe4abfc 100644
--- a/tools/mb/mb_config_expectations/tryserver.chromium.tricium.json
+++ b/tools/mb/mb_config_expectations/tryserver.chromium.tricium.json
@@ -63,7 +63,7 @@
       "is_component_build": false,
       "is_debug": false,
       "symbol_level": 0,
-      "use_goma": true
+      "use_remoteexec": true
     }
   },
   "linux-lacros-clang-tidy-rel": {
diff --git a/tools/metrics/PRESUBMIT.py b/tools/metrics/PRESUBMIT.py
new file mode 100644
index 0000000..f499189d
--- /dev/null
+++ b/tools/metrics/PRESUBMIT.py
@@ -0,0 +1,51 @@
+# Copyright 2022 The Chromium Authors
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Presubmit script for ukm/ukm.xml on changes made to histograms/enums.xml
+
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
+for more details on the presubmit API built into gcl.
+"""
+
+USE_PYTHON3 = True
+
+UKM_XML = 'ukm.xml'
+ENUMS_XML = 'enums.xml'
+
+
+def CheckChange(input_api, output_api):
+  """Checks that ukm/ukm.xml is validated on changes to histograms/enums.xml"""
+  for f in input_api.AffectedTextFiles():
+    p = f.AbsoluteLocalPath()
+    # Early return if the ukm file is changed, then the presubmit script in the
+    # ukm directory would run and report the errors.
+    if (UKM_XML in p):
+      return []
+  for f in input_api.AffectedTextFiles():
+    p = f.AbsoluteLocalPath()
+    filepath = input_api.os_path.relpath(p, input_api.PresubmitLocalPath())
+    if (ENUMS_XML in filepath):
+      cwd = input_api.os_path.dirname(input_api.PresubmitLocalPath())
+
+      exit_code = input_api.subprocess.call([
+          input_api.python3_executable, 'metrics/ukm/validate_format.py',
+          '--presubmit'
+      ],
+                                            cwd=cwd)
+      if exit_code != 0:
+        return [
+            output_api.PresubmitError(
+                '%s does not pass format validation; run '
+                '%s/ukm/validate_format.py and fix the reported error(s) or '
+                'warning(s).' % (UKM_XML, input_api.PresubmitLocalPath())),
+        ]
+
+  return []
+
+
+def CheckChangeOnUpload(input_api, output_api):
+  return CheckChange(input_api, output_api)
+
+
+def CheckChangeOnCommit(input_api, output_api):
+  return CheckChange(input_api, output_api)
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index c09cae9e..c817432 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -23478,6 +23478,22 @@
   <int value="1" label="Partial Custom Tab is minimized"/>
 </enum>
 
+<enum name="CustomTabsSessionDisconnectStatus">
+  <int value="0" label="Unknown"/>
+  <int value="1" label="Custom Tab in Foreground"/>
+  <int value="2" label="Custom Tab in Foreground, KEEP_ALIVE set"/>
+  <int value="3" label="Custom Tab in Background"/>
+  <int value="4" label="Custom Tab in Background, KEEP_ALIVE set"/>
+  <int value="5" label="Custom Tab in Foreground, the system is low on memory"/>
+  <int value="6"
+      label="Custom Tab in Foreground, KEEP_ALIVE set, the system is low on
+             memory"/>
+  <int value="7" label="Custom Tab in Background, the system is low on memory"/>
+  <int value="8"
+      label="Custom Tab in Background, KEEP_ALIVE set, the system is low on
+             memory"/>
+</enum>
+
 <enum name="CustomTabsSpeculationStatusOnStart">
   <int value="0"
       label="Speculation allowed. If started, the kind will also be recorded"/>
@@ -41378,6 +41394,7 @@
   <int value="4353" label="SelectiveInOrderScript"/>
   <int value="4354" label="V8AsyncStackTaggingCreateTaskCall"/>
   <int value="4355" label="WebkitBoxWithoutWebkitLineClamp"/>
+  <int value="4356" label="DataUrlInSvgUse"/>
 </enum>
 
 <enum name="FeaturePolicyAllowlistType">
@@ -79247,6 +79264,22 @@
   <int value="6" label="HTTPS traffic not blocked, HTTP 204 received"/>
 </enum>
 
+<enum name="PortalDetectorResult">
+  <int value="0" label="Unknown"/>
+  <int value="1" label="Connection Failure"/>
+  <int value="2" label="DNS Failure"/>
+  <int value="3" label="DNS Timeout"/>
+  <int value="4" label="HTTP Failure"/>
+  <int value="5" label="HTTP Timeout"/>
+  <int value="6" label="Content Failure"/>
+  <int value="7" label="Content Timeout"/>
+  <int value="8" label="Redirect Found"/>
+  <int value="9" label="Redirect No Url"/>
+  <int value="10" label="HTTPS Failure"/>
+  <int value="11" label="No Connectivity"/>
+  <int value="12" label="Online"/>
+</enum>
+
 <enum name="Ports">
   <int value="80" label="Port 80"/>
   <int value="443" label="Port 443"/>
diff --git a/tools/metrics/histograms/metadata/custom_tabs/histograms.xml b/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
index d04dcd3..3402fa5 100644
--- a/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
+++ b/tools/metrics/histograms/metadata/custom_tabs/histograms.xml
@@ -411,6 +411,40 @@
   </token>
 </histogram>
 
+<histogram name="CustomTabs.SessionDisconnectStatus"
+    enum="CustomTabsSessionDisconnectStatus" expires_after="2022-12-15">
+  <owner>kgrosu@google.com</owner>
+  <owner>chrome-connective-tissue@google.com</owner>
+  <summary>
+    Recorded only for Android. Record information about the state of the client
+    app, custom tab and system in the moment the connection between the client
+    and the custom tab is terminated. With this, we are trying to understand how
+    often a connection is terminated (the client app dies/is killed/is closed)
+    while a custom tab is in foreground. Also, if the EXTRA_KEEP_ALIVE is set,
+    we want to understand if it reduces the number of connections being
+    terminated. The aim is that CT_FOREGROUND and CT_FOREGROUND_KEEPALIVE are
+    logged as little as possible, while the rest of the states are expected ways
+    in which a connection may be terminated.
+
+    *CT_FOREGROUND*/*CT_BACKGROUND* - an enum value that contains this text
+    reflects if the custom tab was in the foreground/background when the
+    connection was terminated.
+
+    *KEEP_ALIVE* - an enum value that contains this text reflects that the
+    EXTRA_KEEP_ALIVE intent extra was specified and that the custom tab binds to
+    the service provided by it in order to increase the priority of the client
+    app to foreground.
+
+    *LOW_MEMORY* - an enum value that contains this text reflects that the
+    system was low on memory when the connection was terminated. This does not
+    mean that this was indeed the reason for the connection being terminated,
+    but it might be a good indicator of it.
+
+    UNKNOWN - if this is logged then there is probably a bug in the code as we
+    have a state we can be in that we don't currently account for.
+  </summary>
+</histogram>
+
 <histogram name="CustomTabs.ShareOptionLocation" enum="ShareOptionLocation"
     expires_after="M109">
   <owner>sophey@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/network/histograms.xml b/tools/metrics/histograms/metadata/network/histograms.xml
index 07d21a0..f8cc816 100644
--- a/tools/metrics/histograms/metadata/network/histograms.xml
+++ b/tools/metrics/histograms/metadata/network/histograms.xml
@@ -1815,6 +1815,160 @@
   </summary>
 </histogram>
 
+<histogram name="Network.Shill.PortalDetector.AttemptsToDisconnect.Cellular"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before a Cellular network transitions to
+    a non connected state, recorded when Service.State transitions to a non
+    connected state.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToDisconnect.Ethernet"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before an Ethernet network transitions
+    to a non connected state, recorded when Service.State transitions to a non
+    connected state.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToDisconnect.Wifi"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before a WiFi network transitions to a
+    non connected state, recorded when Service.State transitions to a non
+    connected state.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToOnline.Cellular"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts until a Cellular network transitions to
+    online, recorded when detection completes with an online result.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToOnline.Ethernet"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts until an Ethernet network transitions to
+    online, recorded when detection completes with an online result.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToOnline.Wifi"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts until a WiFi network transitions to
+    online, recorded when detection complets with an online result.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToRedirectFound.Cellular"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before a Cellular network transitions to
+    redirect-found, recorded when Service.State transitions to redirect-found.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToRedirectFound.Ethernet"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before an Ethernet network transitions
+    to redirect-found, recorded when Service.State transitions to
+    redirect-found.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.AttemptsToRedirectFound.Wifi"
+    units="attempts" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Number of portal detection attempts before a WiFi network transitions to
+    redirect-found, recorded when Service.State transitions to redirect-found.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.InitialResult.Cellular"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection initial result for a Cellular network,
+    recorded after the initial portal detection attempt.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.InitialResult.Ethernet"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection initial result for an Ethernet network,
+    recorded after the initial portal detection attempt.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.InitialResult.Wifi"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection initial result for a WiFii network, recorded
+    after the initial portal detection attempt.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.RepeatResult.Cellular"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection retry result for a Cellular network, recorded
+    after a repeated detection attempt.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.RepeatResult.Ethernet"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection retry result for an Ethernet network,
+    recorded after a repeated detection attempt.
+  </summary>
+</histogram>
+
+<histogram name="Network.Shill.PortalDetector.RepeatResult.Wifi"
+    enum="PortalDetectorResult" expires_after="2023-09-18">
+  <owner>stevenjb@chromium.org</owner>
+  <owner>cros-network-metrics@google.com</owner>
+  <summary>
+    Shill captive portal detection retry result for a WiFi network, recorded
+    after a repeated detection attempt.
+  </summary>
+</histogram>
+
 <histogram name="Network.Shill.PPPMTUValue" units="bytes"
     expires_after="2022-12-31">
   <owner>jiejiang@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/web_rtc/histograms.xml b/tools/metrics/histograms/metadata/web_rtc/histograms.xml
index e49a3f3..acb4e21 100644
--- a/tools/metrics/histograms/metadata/web_rtc/histograms.xml
+++ b/tools/metrics/histograms/metadata/web_rtc/histograms.xml
@@ -680,7 +680,7 @@
 </histogram>
 
 <histogram name="WebRTC.Audio.EchoCanceller.MaxSkewShiftCount"
-    units="events/minute" expires_after="2022-09-13">
+    units="events/minute" expires_after="2023-09-13">
   <owner>peah@chromium.org</owner>
   <owner>saza@chromium.org</owner>
   <summary>
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml
index a6b295d..2e12a28 100644
--- a/tools/metrics/ukm/ukm.xml
+++ b/tools/metrics/ukm/ukm.xml
@@ -2907,7 +2907,7 @@
     RenderFrameHost::IsInactiveAndDisallowActivation. The source IDs match with
     the source IDs of HistoryNavigation events.
   </summary>
-  <metric name="Reason" enum="BackForwardCacheDisallowActivationReason">
+  <metric name="Reason" enum="InactiveFrameDisallowActivationReason">
     <summary>
       For history navigations, records the reason passed to
       RenderFrameHost::IsInactiveAndDisallowActivation.
diff --git a/tools/traffic_annotation/summary/annotations.xml b/tools/traffic_annotation/summary/annotations.xml
index 52753cb..2bb7838 100644
--- a/tools/traffic_annotation/summary/annotations.xml
+++ b/tools/traffic_annotation/summary/annotations.xml
@@ -388,4 +388,5 @@
  <item id="chrome_commerce_waa_fetcher" added_in_milestone="107" content_hash_code="016d45fc" os_list="linux,windows,android,chromeos" file_path="components/commerce/core/account_checker.cc" />
  <item id="favicon_fetcher_get_favicon" added_in_milestone="106" content_hash_code="0640ce11" os_list="android" file_path="chrome/browser/supervised_user/android/favicon_fetcher.cc" />
  <item id="k_anonymity_service_get_token" added_in_milestone="106" content_hash_code="07a5bb1e" os_list="linux,windows,android,chromeos" file_path="chrome/browser/k_anonymity_service/k_anonymity_trust_token_getter.cc" />
+ <item id="shopping_list_ui_image_fetcher" added_in_milestone="107" content_hash_code="0680ae03" os_list="linux,windows,chromeos" file_path="chrome/browser/commerce/price_tracking/shopping_list_ui_tab_helper.cc" />
 </annotations>
diff --git a/tools/traffic_annotation/summary/grouping.xml b/tools/traffic_annotation/summary/grouping.xml
index 8b9eb0a8..00f6f8d 100644
--- a/tools/traffic_annotation/summary/grouping.xml
+++ b/tools/traffic_annotation/summary/grouping.xml
@@ -254,6 +254,7 @@
       <annotation id="chrome_commerce_subscriptions_get"/>
       <annotation id="cryptauth_get_my_devices"/>
       <annotation id="chrome_commerce_waa_fetcher"/>
+      <annotation id="shopping_list_ui_image_fetcher"/>
     </sender>
   </group>
   <group name="Admin Features" hidden="true">
diff --git a/tools/vscode/settings.json b/tools/vscode/settings.json
index eac6e6e..a6ac8fc 100644
--- a/tools/vscode/settings.json
+++ b/tools/vscode/settings.json
@@ -57,6 +57,9 @@
   "editor.formatOnSave": true,
   "editor.formatOnSaveMode": "modifications",
 
+  // Used by tasks.json for integration with Chrome tests and builds.
+  "chrome.outputDir": "${workspaceFolder}/out/current_link",
+
   // Optional: Highlight current line at the left of the editor.
   // "editor.renderLineHighlight": "gutter",
   // Optional: Don't automatically add closing brackets. It gets in the way.
diff --git a/tools/vscode/tasks.json b/tools/vscode/tasks.json
index ecbf35f..73751387b 100644
--- a/tools/vscode/tasks.json
+++ b/tools/vscode/tasks.json
@@ -1,10 +1,8 @@
 {
   // Note!
-  // Set the value used for ${config:chrome.outputDir} in your settings.json
-  // file with a line like:
-  //   "chrome.outputDir": "/path/to/chromium/src/out/current_link",
-  // Then run "0-set_chrome_output_directory" to set the `current_link`
-  // symbolic link (see below).
+  // Set the "chromeOutputDir" input string below, then run
+  // "0-set_chrome_output_directory" to set the `current_link` symbolic link
+  // (see below).
   "version": "2.0.0",
   "runner": "terminal",
   // The default problem matcher matches build output, which is useful for most tasks.
@@ -86,7 +84,8 @@
       "type": "pickString",
       "id": "chromeOutputDir",
       "description": "Chrome output directory:",
-      // Configure this to point to all the output directories you use.
+      // Configure this to point to all the output directories you use (as a
+      // relative path from ${workspaceFolder}).
       "options": [
         "out/Debug",
         "out/Release"
diff --git a/ui/accessibility/accessibility_features.cc b/ui/accessibility/accessibility_features.cc
index 49ce614ed..6e7186a 100644
--- a/ui/accessibility/accessibility_features.cc
+++ b/ui/accessibility/accessibility_features.cc
@@ -15,8 +15,9 @@
 namespace features {
 
 // Enable recognizing "aria-virtualcontent" as a valid aria property.
-const base::Feature kEnableAccessibilityAriaVirtualContent{
-    "AccessibilityAriaVirtualContent", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAccessibilityAriaVirtualContent,
+             "AccessibilityAriaVirtualContent",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilityAriaVirtualContentEnabled() {
   return base::FeatureList::IsEnabled(
@@ -25,8 +26,9 @@
 
 // Enable exposing the <html> element to the browser process AXTree
 // (as an ignored node).
-const base::Feature kEnableAccessibilityExposeHTMLElement{
-    "AccessibilityExposeHTMLElement", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAccessibilityExposeHTMLElement,
+             "AccessibilityExposeHTMLElement",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsAccessibilityExposeHTMLElementEnabled() {
   return base::FeatureList::IsEnabled(
@@ -37,8 +39,9 @@
 // This will allow us to simplify logic by eliminating the distiction between
 // "ignored and included in the tree" from "ignored and not included in the
 // tree".
-const base::Feature kEnableAccessibilityExposeIgnoredNodes{
-    "AccessibilityExposeIgnoredNodes", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAccessibilityExposeIgnoredNodes,
+             "AccessibilityExposeIgnoredNodes",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilityExposeIgnoredNodesEnabled() {
   return base::FeatureList::IsEnabled(
@@ -47,8 +50,9 @@
 
 // Enable language detection to determine language used in page text, exposed
 // on the browser process AXTree.
-const base::Feature kEnableAccessibilityLanguageDetection{
-    "AccessibilityLanguageDetection", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAccessibilityLanguageDetection,
+             "AccessibilityLanguageDetection",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilityLanguageDetectionEnabled() {
   return base::FeatureList::IsEnabled(
@@ -57,45 +61,51 @@
 
 // Serializes accessibility information from the Views tree and deserializes it
 // into an AXTree in the browser process.
-const base::Feature kEnableAccessibilityTreeForViews{
-    "AccessibilityTreeForViews", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAccessibilityTreeForViews,
+             "AccessibilityTreeForViews",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilityTreeForViewsEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kEnableAccessibilityTreeForViews);
 }
 
-const base::Feature kAccessibilityFocusHighlight{
-    "AccessibilityFocusHighlight", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAccessibilityFocusHighlight,
+             "AccessibilityFocusHighlight",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsAccessibilityFocusHighlightEnabled() {
   return base::FeatureList::IsEnabled(::features::kAccessibilityFocusHighlight);
 }
 
-const base::Feature kAutoDisableAccessibility{
-    "AutoDisableAccessibility", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAutoDisableAccessibility,
+             "AutoDisableAccessibility",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAutoDisableAccessibilityEnabled() {
   return base::FeatureList::IsEnabled(::features::kAutoDisableAccessibility);
 }
 
-const base::Feature kTextBasedAudioDescription{
-    "TextBasedAudioDescription", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTextBasedAudioDescription,
+             "TextBasedAudioDescription",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsTextBasedAudioDescriptionEnabled() {
   return base::FeatureList::IsEnabled(::features::kTextBasedAudioDescription);
 }
 
 #if BUILDFLAG(IS_WIN)
-const base::Feature kIChromeAccessible{"IChromeAccessible",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kIChromeAccessible,
+             "IChromeAccessible",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsIChromeAccessibleEnabled() {
   return base::FeatureList::IsEnabled(::features::kIChromeAccessible);
 }
 
-const base::Feature kSelectiveUIAEnablement{"SelectiveUIAEnablement",
-                                            base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kSelectiveUIAEnablement,
+             "SelectiveUIAEnablement",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Returns true if accessibility will be selectively enabled depending on the
 // UIA APIs that are called, allowing non-screenreader usage to enable less of
@@ -106,8 +116,9 @@
 #endif  // BUILDFLAG(IS_WIN)
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-const base::Feature kDockedMagnifierResizing{"DockedMagnifierResizing",
-                                             base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kDockedMagnifierResizing,
+             "DockedMagnifierResizing",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsDockedMagnifierResizingEnabled() {
   return base::FeatureList::IsEnabled(::features::kDockedMagnifierResizing);
@@ -118,77 +129,79 @@
       ash::features::kOnDeviceSpeechRecognition);
 }
 
-const base::Feature kExperimentalAccessibilityDictationWithPumpkin{
-    "ExperimentalAccessibilityDictationWithPumpkin",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kExperimentalAccessibilityDictationWithPumpkin,
+             "ExperimentalAccessibilityDictationWithPumpkin",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsExperimentalAccessibilityDictationWithPumpkinEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kExperimentalAccessibilityDictationWithPumpkin);
 }
 
-const base::Feature kExperimentalAccessibilityDictationMoreCommands{
-    "ExperimentalAccessibilityDictationMoreCommands",
-    base::FEATURE_DISABLED_BY_DEFAULT};
-
+BASE_FEATURE(kExperimentalAccessibilityDictationMoreCommands,
+             "ExperimentalAccessibilityDictationMoreCommands",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsExperimentalAccessibilityDictationMoreCommandsEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kExperimentalAccessibilityDictationMoreCommands);
 }
 
-const base::Feature kExperimentalAccessibilityGoogleTtsLanguagePacks{
-    "ExperimentalAccessibilityGoogleTtsLanguagePacks",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kExperimentalAccessibilityGoogleTtsLanguagePacks,
+             "ExperimentalAccessibilityGoogleTtsLanguagePacks",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsExperimentalAccessibilityGoogleTtsLanguagePacksEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kExperimentalAccessibilityGoogleTtsLanguagePacks);
 }
 
-const base::Feature kEnhancedNetworkVoices{"EnhancedNetworkVoices",
-                                           base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnhancedNetworkVoices,
+             "EnhancedNetworkVoices",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsEnhancedNetworkVoicesEnabled() {
   return base::FeatureList::IsEnabled(::features::kEnhancedNetworkVoices);
 }
 
-const base::Feature kAccessibilityOSSettingsVisibility{
-    "AccessibilityOSSettingsVisibility", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kAccessibilityOSSettingsVisibility,
+             "AccessibilityOSSettingsVisibility",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsAccessibilityOSSettingsVisibilityEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kAccessibilityOSSettingsVisibility);
 }
 
-const base::Feature kAccessibilityService{"AccessibilityService",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAccessibilityService,
+             "AccessibilityService",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilityServiceEnabled() {
   return base::FeatureList::IsEnabled(::features::kAccessibilityService);
 }
 
-const base::Feature kExperimentalAccessibilityColorEnhancementSettings{
-    "ExperimentalAccessibilityColorEnhancementSettings",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kExperimentalAccessibilityColorEnhancementSettings,
+             "ExperimentalAccessibilityColorEnhancementSettings",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool AreExperimentalAccessibilityColorEnhancementSettingsEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kExperimentalAccessibilityColorEnhancementSettings);
 }
 
-const base::Feature kAccessibilitySelectToSpeakPageMigration{
-    "AccessibilitySelectToSpeakPageMigration",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAccessibilitySelectToSpeakPageMigration,
+             "AccessibilitySelectToSpeakPageMigration",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilitySelectToSpeakPageMigrationEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kAccessibilitySelectToSpeakPageMigration);
 }
 
-const base::Feature kAccessibilitySelectToSpeakPrefsMigration{
-    "AccessibilitySelectToSpeakPrefsMigration",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAccessibilitySelectToSpeakPrefsMigration,
+             "AccessibilitySelectToSpeakPrefsMigration",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAccessibilitySelectToSpeakPrefsMigrationEnabled() {
   return base::FeatureList::IsEnabled(
@@ -196,30 +209,34 @@
 }
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
-const base::Feature kAugmentExistingImageLabels{
-    "AugmentExistingImageLabels", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAugmentExistingImageLabels,
+             "AugmentExistingImageLabels",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAugmentExistingImageLabelsEnabled() {
   return base::FeatureList::IsEnabled(::features::kAugmentExistingImageLabels);
 }
 
-const base::Feature kUseAXPositionForDocumentMarkers{
-    "UseAXPositionForDocumentMarkers", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kUseAXPositionForDocumentMarkers,
+             "UseAXPositionForDocumentMarkers",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsUseAXPositionForDocumentMarkersEnabled() {
   return base::FeatureList::IsEnabled(
       ::features::kUseAXPositionForDocumentMarkers);
 }
 
-const base::Feature kEnableAriaElementReflection{
-    "EnableAriaElementReflection", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableAriaElementReflection,
+             "EnableAriaElementReflection",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAriaElementReflectionEnabled() {
   return base::FeatureList::IsEnabled(::features::kEnableAriaElementReflection);
 }
 
-const base::Feature kAblateSendPendingAccessibilityEvents{
-    "AblateSendPendingAccessibilityEvents", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAblateSendPendingAccessibilityEvents,
+             "AblateSendPendingAccessibilityEvents",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsAblateSendPendingAccessibilityEventsEnabled() {
   return base::FeatureList::IsEnabled(
@@ -227,15 +244,17 @@
 }
 
 #if BUILDFLAG(IS_ANDROID)
-const base::Feature kComputeAXMode{"ComputeAXMode",
-                                   base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kComputeAXMode,
+             "ComputeAXMode",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsComputeAXModeEnabled() {
   return base::FeatureList::IsEnabled(::features::kComputeAXMode);
 }
 
-const base::Feature kOptimizeAccessibilityUiThreadWork{
-    "OptimizeAccessibilityUiThreadWork", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kOptimizeAccessibilityUiThreadWork,
+             "OptimizeAccessibilityUiThreadWork",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsOptimizeAccessibilityUiThreadWorkEnabled() {
   return base::FeatureList::IsEnabled(
@@ -244,21 +263,21 @@
 #endif  // BUILDFLAG(IS_ANDROID)
 
 #if !BUILDFLAG(IS_ANDROID)
-const base::Feature kReadAnything{"ReadAnything",
-                                  base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kReadAnything, "ReadAnything", base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsReadAnythingEnabled() {
   return base::FeatureList::IsEnabled(::features::kReadAnything);
 }
 
-const base::Feature kReadAnythingWithScreen2x{
-    "ReadAnythingWithScreen2x", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kReadAnythingWithScreen2x,
+             "ReadAnythingWithScreen2x",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsReadAnythingWithScreen2xEnabled() {
   return base::FeatureList::IsEnabled(::features::kReadAnythingWithScreen2x);
 }
 
-const base::Feature kScreenAI{"ScreenAI", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kScreenAI, "ScreenAI", base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsScreenAIVisualAnnotationsEnabled() {
   return base::FeatureList::IsEnabled(::features::kScreenAI);
@@ -271,21 +290,23 @@
 
 // This feature is only for debug purposes and for security/privacy reasons,
 // should be never enabled by default .
-const base::Feature kScreenAIDebugMode{"ScreenAIDebugMode",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kScreenAIDebugMode,
+             "ScreenAIDebugMode",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsScreenAIDebugModeEnabled() {
   return base::FeatureList::IsEnabled(::features::kScreenAIDebugMode);
 }
 
-const base::Feature kScreenAIUseLayoutExtraction{
-    "ScreenAIUseLayoutExtraction", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kScreenAIUseLayoutExtraction,
+             "ScreenAIUseLayoutExtraction",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsScreenAIUseLayoutExtractionEnabled() {
   return base::FeatureList::IsEnabled(::features::kScreenAIUseLayoutExtraction);
 }
 
-const base::Feature kPdfOcr{"PdfOcr", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPdfOcr, "PdfOcr", base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsPdfOcrEnabled() {
   return base::FeatureList::IsEnabled(::features::kPdfOcr);
diff --git a/ui/accessibility/accessibility_features.h b/ui/accessibility/accessibility_features.h
index e4b305b..0ed7024 100644
--- a/ui/accessibility/accessibility_features.h
+++ b/ui/accessibility/accessibility_features.h
@@ -13,27 +13,25 @@
 
 namespace features {
 
-AX_BASE_EXPORT extern const base::Feature
-    kEnableAccessibilityAriaVirtualContent;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAccessibilityAriaVirtualContent);
 
 // Returns true if "aria-virtualcontent" should be recognized as a valid aria
 // property.
 AX_BASE_EXPORT bool IsAccessibilityAriaVirtualContentEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kEnableAccessibilityExposeHTMLElement;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAccessibilityExposeHTMLElement);
 
 // Returns true if the <html> element should be exposed to the
 // browser process AXTree (as an ignored node).
 AX_BASE_EXPORT bool IsAccessibilityExposeHTMLElementEnabled();
 
-AX_BASE_EXPORT extern const base::Feature
-    kEnableAccessibilityExposeIgnoredNodes;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAccessibilityExposeIgnoredNodes);
 
 // Returns true if all ignored nodes are exposed by Blink in the
 // accessibility tree.
 AX_BASE_EXPORT bool IsAccessibilityExposeIgnoredNodesEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kEnableAccessibilityLanguageDetection;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAccessibilityLanguageDetection);
 
 // Return true if language detection should be used to determine the language
 // of text content in page and exposed to the browser process AXTree.
@@ -41,21 +39,21 @@
 
 // Serializes accessibility information from the Views tree and deserializes it
 // into an AXTree in the browser process.
-AX_BASE_EXPORT extern const base::Feature kEnableAccessibilityTreeForViews;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAccessibilityTreeForViews);
 
 // Returns true if the Views tree is exposed using an AXTree in the browser
 // process. Returns false if the Views tree is exposed to accessibility
 // directly.
 AX_BASE_EXPORT bool IsAccessibilityTreeForViewsEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kAccessibilityFocusHighlight;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAccessibilityFocusHighlight);
 
 // Returns true if the accessibility focus highlight feature is enabled,
 // which draws a visual highlight around the focused element on the page
 // briefly whenever focus changes.
 AX_BASE_EXPORT bool IsAccessibilityFocusHighlightEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kAutoDisableAccessibility;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAutoDisableAccessibility);
 
 // Returns true if accessibility will be auto-disabled after a certain
 // number of user input events spanning a minimum amount of time with no
@@ -64,7 +62,7 @@
 
 // Enables a setting that can turn on/off browser vocalization of 'descriptions'
 // tracks.
-AX_BASE_EXPORT extern const base::Feature kTextBasedAudioDescription;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kTextBasedAudioDescription);
 
 // Returns true if the setting to turn on text based audio descriptions is
 // enabled.
@@ -72,12 +70,12 @@
 
 #if BUILDFLAG(IS_WIN)
 // Enables an experimental Chrome-specific accessibility COM API
-AX_BASE_EXPORT extern const base::Feature kIChromeAccessible;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kIChromeAccessible);
 
 // Returns true if the IChromeAccessible COM API is enabled.
 AX_BASE_EXPORT bool IsIChromeAccessibleEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kSelectiveUIAEnablement;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kSelectiveUIAEnablement);
 
 // Returns true if accessibility will be selectively enabled depending on the
 // UIA APIs that are called, allowing non-screenreader usage to enable less of
@@ -88,7 +86,7 @@
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 // Enables ability to resize Docked Magnifier.
-AX_BASE_EXPORT extern const base::Feature kDockedMagnifierResizing;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kDockedMagnifierResizing);
 
 // Returns true if the feature which adds ability for user to grab and resize
 // bottom of Docked Magnifier is enabled.
@@ -97,48 +95,48 @@
 AX_BASE_EXPORT bool IsDictationOfflineAvailable();
 
 // Enables accessibility Dictation with the pumpkin semantic parser.
-AX_BASE_EXPORT extern const base::Feature
-    kExperimentalAccessibilityDictationWithPumpkin;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(
+    kExperimentalAccessibilityDictationWithPumpkin);
 
 // Returns true if dictation with pumpkin is enabled.
 AX_BASE_EXPORT bool IsExperimentalAccessibilityDictationWithPumpkinEnabled();
 
 // Enables more commands with the accessibility Dictation feature.
-AX_BASE_EXPORT extern const base::Feature
-    kExperimentalAccessibilityDictationMoreCommands;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(
+    kExperimentalAccessibilityDictationMoreCommands);
 
 // Returns true if Dictation with more commands is enabled.
 AX_BASE_EXPORT bool IsExperimentalAccessibilityDictationMoreCommandsEnabled();
 
 // Enables downloading Google TTS voices using Language Packs.
-AX_BASE_EXPORT extern const base::Feature
-    kExperimentalAccessibilityGoogleTtsLanguagePacks;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(
+    kExperimentalAccessibilityGoogleTtsLanguagePacks);
 
 // Returns true if using Language Packs to download Google TTS voices is
 // enabled.
 AX_BASE_EXPORT bool IsExperimentalAccessibilityGoogleTtsLanguagePacksEnabled();
 
 // Enables high-quality, network-based voices in Select-to-speak.
-AX_BASE_EXPORT extern const base::Feature kEnhancedNetworkVoices;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnhancedNetworkVoices);
 
 // Returns true if network-based voices are enabled in Select-to-speak.
 AX_BASE_EXPORT bool IsEnhancedNetworkVoicesEnabled();
 
 // Enables improved Accessibility OS Settings visibility.
-AX_BASE_EXPORT extern const base::Feature kAccessibilityOSSettingsVisibility;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAccessibilityOSSettingsVisibility);
 
 // Returns true if improved Accessibility OS Settings visibility is enabled.
 AX_BASE_EXPORT bool IsAccessibilityOSSettingsVisibilityEnabled();
 
 // Enables the experimental Accessibility Service.
-AX_BASE_EXPORT extern const base::Feature kAccessibilityService;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAccessibilityService);
 
 // Returns true if the Accessibility Service enabled.
 AX_BASE_EXPORT bool IsAccessibilityServiceEnabled();
 
 // Enables the experimental color enhancements settings.
-AX_BASE_EXPORT extern const base::Feature
-    kExperimentalAccessibilityColorEnhancementSettings;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(
+    kExperimentalAccessibilityColorEnhancementSettings);
 
 // Returns true if the experimental color enhancements settings are enabled.
 AX_BASE_EXPORT bool
@@ -146,15 +144,13 @@
 
 // Enables Select-to-Speak settings page migration from extension options page
 // to Chrome OS settings page.
-AX_BASE_EXPORT extern const base::Feature
-    kAccessibilitySelectToSpeakPageMigration;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAccessibilitySelectToSpeakPageMigration);
 
 // Returns true if Select-to-Speak settings page migration enabled.
 AX_BASE_EXPORT bool IsAccessibilitySelectToSpeakPageMigrationEnabled();
 
 // Enables AccessibilitySelectToSpeakPrefsMigration.
-AX_BASE_EXPORT extern const base::Feature
-    kAccessibilitySelectToSpeakPrefsMigration;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAccessibilitySelectToSpeakPrefsMigration);
 
 // Returns true if AccessibilitySelectToSpeakPrefsMigration enabled.
 AX_BASE_EXPORT bool IsAccessibilitySelectToSpeakPrefsMigrationEnabled();
@@ -163,7 +159,7 @@
 
 // Enables Get Image Descriptions to augment existing images labels,
 // rather than only provide descriptions for completely unlabeled images.
-AX_BASE_EXPORT extern const base::Feature kAugmentExistingImageLabels;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAugmentExistingImageLabels);
 
 // Returns true if augmenting existing image labels is enabled.
 AX_BASE_EXPORT bool IsAugmentExistingImageLabelsEnabled();
@@ -171,7 +167,7 @@
 // Once this flag is enabled, a single codebase in AXPosition will be used for
 // handling document markers on all platforms, including the announcement of
 // spelling mistakes.
-AX_BASE_EXPORT extern const base::Feature kUseAXPositionForDocumentMarkers;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kUseAXPositionForDocumentMarkers);
 
 // Returns true if document markers are exposed on inline text boxes in the
 // accessibility tree in addition to on static text nodes. This in turn enables
@@ -182,13 +178,13 @@
 
 // Enable support for ARIA element reflection, for example
 // element.ariaActiveDescendantElement = child;
-AX_BASE_EXPORT extern const base::Feature kEnableAriaElementReflection;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kEnableAriaElementReflection);
 
 // Returns true if ARIA element reflection is enabled.
 AX_BASE_EXPORT bool IsAriaElementReflectionEnabled();
 
 // Experiment to increase the cost of SendPendingAccessibilityEvents.
-AX_BASE_EXPORT extern const base::Feature kAblateSendPendingAccessibilityEvents;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kAblateSendPendingAccessibilityEvents);
 
 // Returns true if |kAblateSendPendingAccessibilityEvents| is enabled.
 AX_BASE_EXPORT bool IsAblateSendPendingAccessibilityEventsEnabled();
@@ -196,32 +192,32 @@
 #if BUILDFLAG(IS_ANDROID)
 // Compute the AXMode based on AccessibilityServiceInfo. If disabled,
 // the AXMode is either entirely on or entirely off.
-AX_BASE_EXPORT extern const base::Feature kComputeAXMode;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kComputeAXMode);
 
 // Returns true if the IChromeAccessible COM API is enabled.
 AX_BASE_EXPORT bool IsComputeAXModeEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kOptimizeAccessibilityUiThreadWork;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kOptimizeAccessibilityUiThreadWork);
 
 bool IsOptimizeAccessibilityUiThreadWorkEnabled();
 
 #endif  // BUILDFLAG(IS_ANDROID)
 
 #if !BUILDFLAG(IS_ANDROID)
-AX_BASE_EXPORT extern const base::Feature kReadAnything;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kReadAnything);
 
 // Returns true if read anything is enabled. This feature shows users websites,
 // such as articles, in a comfortable reading experience in a side panel.
 AX_BASE_EXPORT bool IsReadAnythingEnabled();
 
-AX_BASE_EXPORT extern const base::Feature kReadAnythingWithScreen2x;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kReadAnythingWithScreen2x);
 
 // Returns true if read anything is enabled with screen2x integration, which
 // distills web pages using an ML model.
 AX_BASE_EXPORT bool IsReadAnythingWithScreen2xEnabled();
 
 // Enables using Screen AI library to add metadata for accessibility tools.
-AX_BASE_EXPORT extern const base::Feature kScreenAI;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kScreenAI);
 
 // Returns true if Screen AI Visual Annotations feature is enabled. This feature
 // uses a local machine intelligence library to process browser screenshots and
@@ -239,14 +235,14 @@
 // uses OCR output.
 // TODO(https://crbug.com/1278249): Remove this flag after the two outputs are
 // merged in the library.
-AX_BASE_EXPORT extern const base::Feature kScreenAIUseLayoutExtraction;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kScreenAIUseLayoutExtraction);
 
 AX_BASE_EXPORT bool IsScreenAIUseLayoutExtractionEnabled();
 
 // Enables a feature whereby inaccessible (i.e. untagged) PDFs are made
 // accessible using an optical character recognition service. Due to the size of
 // the OCR component, this feature targets desktop versions of Chrome for now.
-AX_BASE_EXPORT extern const base::Feature kPdfOcr;
+AX_BASE_EXPORT BASE_DECLARE_FEATURE(kPdfOcr);
 
 // Returns true if OCR will be performed on inaccessible (i.e. untagged) PDFs
 // and the resulting text, together with its layout information, will be added
diff --git a/ui/base/ime/surrounding_text_tracker.cc b/ui/base/ime/surrounding_text_tracker.cc
index 4b64a1f..35127351 100644
--- a/ui/base/ime/surrounding_text_tracker.cc
+++ b/ui/base/ime/surrounding_text_tracker.cc
@@ -1,4 +1,4 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
+// Copyright 2022 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/ui/base/ime/surrounding_text_tracker.h b/ui/base/ime/surrounding_text_tracker.h
index d7bb5b4..3dab060 100644
--- a/ui/base/ime/surrounding_text_tracker.h
+++ b/ui/base/ime/surrounding_text_tracker.h
@@ -1,4 +1,4 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
+// Copyright 2022 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/ui/base/ime/surrounding_text_tracker_unittest.cc b/ui/base/ime/surrounding_text_tracker_unittest.cc
index df631c4..9fc0a9c 100644
--- a/ui/base/ime/surrounding_text_tracker_unittest.cc
+++ b/ui/base/ime/surrounding_text_tracker_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright 2022 The Chromium Authors. All rights reserved.
+// Copyright 2022 The Chromium Authors
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
diff --git a/ui/chromeos/translations/ui_chromeos_strings_af.xtb b/ui/chromeos/translations/ui_chromeos_strings_af.xtb
index 3dbe8305..e3169ea 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_af.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_af.xtb
@@ -478,7 +478,6 @@
    As jy jou toestel verwyder terwyl dit gebruik word, kan dit dataverlies veroorsaak. Wag asseblief tot die aktiwiteit verby is en verwyder die toestel deur die Lêers-program te gebruik.</translation>
 <translation id="5163869187418756376">Deling het misluk. Gaan jou verbinding na en probeer later weer.</translation>
 <translation id="516592729076796170">VSA-programmeerder-Dvorak</translation>
-<translation id="5172749059808361023">Beperkingbesonderhede</translation>
 <translation id="5177526793333269655">Miniprent-aansig</translation>
 <translation id="5181896909298187506">Geen onlangse lêers nie</translation>
 <translation id="5194713942430106590">Kies om die kolom in stygende volgorde te rangskik.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Het lêers van Google Drive herwin</translation>
 <translation id="5286194356314741248">Skandeer tans</translation>
 <translation id="5288441970121584418">Burger</translation>
-<translation id="5299998344490869684">Is jy seker jy wil asblik leegmaak?</translation>
 <translation id="5305688511332277257">Niks geïnstalleer nie</translation>
 <translation id="5317780077021120954">Berg</translation>
 <translation id="5318819489018851358">Deel met Linux</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">Program</translation>
 <translation id="7256405249507348194">Herken nie fout nie: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Beskikbare dienste</translation>
+<translation id="7292816689782057017">Adminbeleid beperk stoor in sommige liggings.</translation>
 <translation id="7294063083760278948">Teloegoe-transliterasie</translation>
 <translation id="7295662345261934369">Deel met ander mense</translation>
 <translation id="7297443947353982503">Gebruikernaam/wagwoord verkeerd of EAP-stawing het misluk</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">Gedeelde Drives</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Wanneer 'n verdeling geformateer word, sal alle data uitgevee word wat daarop geberg is. Hierdie handeling kan nie ontdoen word nie.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-kontrolering het misluk</translation>
 <translation id="7925686952655276919">Moenie mobiele data vir sinkronisering gebruik nie</translation>
 <translation id="7928710562641958568">Prop toestel uit</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">Kompaktering het misluk; item bestaan: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">Spaans (Spanje)</translation>
 <translation id="8834164572807951958">Lede van "<ph name="DESTINATION_NAME" />" sal toegang tot die kopie van hierdie items kry.</translation>
+<translation id="8849389110234859568">Adminbeleid beperk toegang tot sommige lêers.</translation>
 <translation id="8857149712089373752">Nepalees met fonetiese sleutelbord</translation>
 <translation id="8860454412039442620">Excel-sigblad</translation>
 <translation id="8866284467018526531">Arabiese transliterasie</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_am.xtb b/ui/chromeos/translations/ui_chromeos_strings_am.xtb
index 426249ba..557a9c14 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_am.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_am.xtb
@@ -478,7 +478,6 @@
        መሣሪያዎ ስራ ላይ እያለ ማስወገድ የውሂብ መጥፋት ሊያስከትል ይችላል።  እባክዎ ክወናው እስኪጠናቀቅ ድረስ ይጠብቁ፣ ከዚያ የፋይሎች መተግበሪያውን በመጠቀም መሣሪያውን ያስወጡት።</translation>
 <translation id="5163869187418756376">ማጋራት አልተሳካም። ግንኙነትዎን ይፈትሹ እና ቆይተው እንደገና ይሞክሩ።</translation>
 <translation id="516592729076796170">የአሜሪካ Dvorak ፕሮግራመር</translation>
-<translation id="5172749059808361023">የገደብ ዝርዝሮች</translation>
 <translation id="5177526793333269655">ድንክዬ ትይታ</translation>
 <translation id="5181896909298187506">ምንም የቅርብ ጊዜ ፋይሎች የሉም</translation>
 <translation id="5194713942430106590">በሽቅብታ ቅደም ተከተል ዓምዱን ለመደርደር ጠቅ ያድርጉ።</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">በመቃኘት ላይ</translation>
 <translation id="5288441970121584418">በርገር</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">መጣያውን ባዶ ማድረግ እንደሚፈልጉ እርግጠኛ ነዎት?</translation>
 <translation id="5305688511332277257">ምንም አልተጫነም</translation>
 <translation id="5317780077021120954">አስቀምጥ</translation>
 <translation id="5318819489018851358">ለLinux አጋራ</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">የተጋሩ Drives</translation>
 <translation id="7903984238293908205">ካታካና</translation>
 <translation id="7908793776359722643">በክፍልፍል ላይ ቅርጸት መስራት በእሱ ላይ የተከማቸውን ሁሉም ውሂብ ያጠፋል። ይህ እርምጃ ሊቀለበስ አይችልም።</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">የAAA ማረጋገጥ አልተሳካም</translation>
 <translation id="7925686952655276919">ለማመሳሰል የተንቀሳቃሽ ስልክ ውሂብን አትጠቀም</translation>
 <translation id="7928710562641958568">መሣሪያን አውጣ</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
index 36967690..c7223bd 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ar.xtb
@@ -478,7 +478,6 @@
    قد تؤدي إزالة جهازك أثناء وجوده قيد الاستخدام إلى فقدان البيانات.  يُرجى الانتظار حتى انتهاء العملية، ثم إخراج الجهاز باستخدام تطبيق الملفات.</translation>
 <translation id="5163869187418756376">تعذّرت المشاركة. تحقق من اتصالك وأعد المحاولة لاحقًا.</translation>
 <translation id="516592729076796170">‏لوحة مفاتيح المطور الأمريكية Dvorak</translation>
-<translation id="5172749059808361023">تفاصيل القيود</translation>
 <translation id="5177526793333269655">عرض الصور المصغرة</translation>
 <translation id="5181896909298187506">ما مِن ملفات حديثة.</translation>
 <translation id="5194713942430106590">انقر لترتيب محتوى العمود ترتيبًا تصاعديًا.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">جارٍ البحث</translation>
 <translation id="5288441970121584418">برغر</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">هل تريد فعلاً إفراغ المهملات؟</translation>
 <translation id="5305688511332277257">لم يتم تثبيت أي شهادات</translation>
 <translation id="5317780077021120954">حفظ</translation>
 <translation id="5318819489018851358">‏المشاركة مع نظام التشغيل Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">‏مساحات Drive المشتركة</translation>
 <translation id="7903984238293908205">كاتاكانا</translation>
 <translation id="7908793776359722643">ستؤدي تهيئة قسم إلى محو جميع البيانات المخزَّنة فيه. ولا يمكن التراجع عن هذا الإجراء.</translation>
+<translation id="7911118814695487383">‏نظام التشغيل Linux</translation>
 <translation id="7925247922861151263">‏تعذّر فحص AAA</translation>
 <translation id="7925686952655276919">عدم استخدام بيانات الجوال للمزامنة</translation>
 <translation id="7928710562641958568">إخراج الجهاز</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_as.xtb b/ui/chromeos/translations/ui_chromeos_strings_as.xtb
index d5e53f09..1abe48c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_as.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_as.xtb
@@ -478,7 +478,6 @@
    ব্যৱহাৰ হৈ থকা সময়ত এই ডিভাইচটো এৰুৱালে ডেটা ক্ষয় হ’ব পাৰে।  কাৰ্যটো সম্পূৰ্ণ হোৱালৈকে অপেক্ষা কৰক আৰু তাৰপিছত Files এপ্ ব্যৱহাৰ কৰি ডিভাইচটো বাহিৰ কৰক।</translation>
 <translation id="5163869187418756376">শ্বেয়াৰ কৰিব পৰা নগ'ল। ইণ্টাৰনেট সংযোগ পৰীক্ষা কৰি আকৌ চেষ্টা কৰক।</translation>
 <translation id="516592729076796170">ইউ.এছ. প্ৰ‘গ্ৰামাৰ ডভ‘ৰাক</translation>
-<translation id="5172749059808361023">সীমাবদ্ধতাৰ সবিশেষ</translation>
 <translation id="5177526793333269655">থাম্বনেইল ভিউ</translation>
 <translation id="5181896909298187506">কোনো শেহতীয়া ফাইল নাই</translation>
 <translation id="5194713942430106590">স্তম্ভটো ঊৰ্ধ্বক্ৰমিক ভাৱে সজাবলৈ ক্লিক কৰক।</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Driveৰ পৰা পুনৰুদ্ধাৰ কৰা ফাইল</translation>
 <translation id="5286194356314741248">স্কেন কৰি থকা হৈছে</translation>
 <translation id="5288441970121584418">বার্গাৰ</translation>
-<translation id="5299998344490869684">আপুনি ট্ৰেশ্ব খালি কৰিব বিচাৰে বুলি নিশ্চিতনে?</translation>
 <translation id="5305688511332277257">এটাও ইনষ্টল কৰা হোৱা নাই</translation>
 <translation id="5317780077021120954">ছেভ কৰক</translation>
 <translation id="5318819489018851358">Linuxৰ জৰিয়তে শ্বেয়াৰ কৰক</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">এপ্লিকেশ্বন</translation>
 <translation id="7256405249507348194">চিনাক্ত কৰিব নোৱাৰা আসোঁৱাহ: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">উপলব্ধ সেৱাসমূহ</translation>
+<translation id="7292816689782057017">প্ৰশাসকৰ নীতিয়ে কিছুমান অৱস্থানত ছেভ কৰাটো সীমিত কৰে।</translation>
 <translation id="7294063083760278948">তেলুগু লিপ্যন্তৰণ</translation>
 <translation id="7295662345261934369">আনৰ সৈতে শ্বেয়াৰ কৰক</translation>
 <translation id="7297443947353982503">ব্যৱহাৰকাৰীৰ নাম/পাছৱৰ্ড অশুদ্ধ বা EAP প্ৰমাণীকৰণ কৰিব পৰা নগ’ল</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">শ্বেয়াৰ কৰা ড্ৰাইভসমূহ</translation>
 <translation id="7903984238293908205">কাটাকনা</translation>
 <translation id="7908793776359722643">এটা বিভাজন ফৰ্মেট কৰা কাৰ্যই তাত ষ্ট'ৰ কৰি ৰখা সকলো ডেটা মচিব। এই কাৰ্যটো আনডু কৰিব নোৱাৰি।</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA পৰীক্ষা কৰিব পৰা নগ’ল</translation>
 <translation id="7925686952655276919">ছিংক কৰিবলৈ ম'বাইল ডেটা ব্যৱহাৰ নকৰিব</translation>
 <translation id="7928710562641958568">ডিভাইচ এৰুৱাওক</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">জিপ কৰিব পৰা নগ’ল, বাকী থকা বস্তু: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">স্পেনিশ্ব (স্পেইন)</translation>
 <translation id="8834164572807951958">’<ph name="DESTINATION_NAME" />’-ৰ সদস্যসকলে এই বস্তুবোৰৰ প্ৰতিলিপিলৈ এক্সেছ পাব।</translation>
+<translation id="8849389110234859568">প্ৰশাসকৰ নীতিয়ে কিছুমান ফাইলৰ এক্সেছ সীমিত কৰে।</translation>
 <translation id="8857149712089373752">ফ’নেটিক কীব’ৰ্ডৰ সৈতে নেপালী</translation>
 <translation id="8860454412039442620">Excel স্প্ৰেডশ্বীট</translation>
 <translation id="8866284467018526531">আৰবী লিপ্যন্তৰণ</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_az.xtb b/ui/chromeos/translations/ui_chromeos_strings_az.xtb
index ff1ed8e..6d7be028 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_az.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_az.xtb
@@ -478,7 +478,6 @@
    İstifadə olunan zaman cihazın kənarlaşdırılması data itkisinə səbəb ola bilər. Əməliyyatın tamamlanmasını gözləyin, sonra Fayllar tətbiqi işlədərək cihazı kənarlaşdırın.</translation>
 <translation id="5163869187418756376">Paylaşma alınmadı. Bağlantını yoxlayın və yenidən cəhd edin.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Məhdudiyyət detalları</translation>
 <translation id="5177526793333269655">Eskiz görünüşü</translation>
 <translation id="5181896909298187506">Son fayllar yoxdur</translation>
 <translation id="5194713942430106590">Sütunu azalan sıra ilə çeşidləmək üçün klikləyin.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Diskdən bərpa edilmiş fayllar</translation>
 <translation id="5286194356314741248">Skan edilir</translation>
 <translation id="5288441970121584418">Burger</translation>
-<translation id="5299998344490869684">Zibil qutusunu boşaltmaq istədiyinizə əminsiniz?</translation>
 <translation id="5305688511332277257">Heç biri quraşdırılmayıb</translation>
 <translation id="5317780077021120954">Yadda saxlayın</translation>
 <translation id="5318819489018851358">Linux ilə paylaşın</translation>
@@ -794,6 +792,7 @@
 <translation id="78946041517601018">Paylaşılmış disklər</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Hissənin format edilməsi ilə orada saxlanılan bütün data silinəcək. Bu əməliyyat geri qaytarıla bilməz.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA yoxlanışı uğursuz oldu</translation>
 <translation id="7925686952655276919">Sinxronizasiya üçün mobil data istifadə etməyin</translation>
 <translation id="7928710562641958568">Cihazı çıxarın</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_be.xtb b/ui/chromeos/translations/ui_chromeos_strings_be.xtb
index 4fce9aa..e4e9021a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_be.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_be.xtb
@@ -478,7 +478,6 @@
    Выдаленне прылады падчас яе выкарыстання можа прывесці да страты даных.  Дачакайцеся заканчэння аперацыі, затым выміце прыладу, выкарыстаўшы праграму "Файлы".</translation>
 <translation id="5163869187418756376">Збой абагульвання. Праверце падключэнне і паўтарыце спробу пазней.</translation>
 <translation id="516592729076796170">Праграмісцкая Дворака для ЗША</translation>
-<translation id="5172749059808361023">Звесткі пра абмежаванні</translation>
 <translation id="5177526793333269655">Рэжым мініяцюр</translation>
 <translation id="5181896909298187506">Няма нядаўніх файлаў</translation>
 <translation id="5194713942430106590">Каб адсартаваць слупок па ўзрастанні, націсніце тут.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Адноўленыя файлы з Google Дыска</translation>
 <translation id="5286194356314741248">Праверка</translation>
 <translation id="5288441970121584418">Бургер</translation>
-<translation id="5299998344490869684">Сапраўды ачысціць сметніцу?</translation>
 <translation id="5305688511332277257">Нічога не ўсталявана</translation>
 <translation id="5317780077021120954">Захаваць</translation>
 <translation id="5318819489018851358">Абагуліць з Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Абагуленыя дыскі</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">Фармаціраванне раздзела прывядзе да сцірання ўсіх захаваных у ім даных. Гэта дзеянне немагчыма адрабіць.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Не ўдалося выканаць праверку AAA</translation>
 <translation id="7925686952655276919">Не выкарыстоўваць мабільную перадачу даных для сінхранізацыі</translation>
 <translation id="7928710562641958568">Адключыць прыладу</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bg.xtb b/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
index 4b72f17..4bab1aa 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bg.xtb
@@ -478,7 +478,6 @@
    Премахването на устройството, докато се използва, може да доведе до загуба на данни. Моля, изчакайте завършването на операцията, след което го извадете посредством приложението Файлове.</translation>
 <translation id="5163869187418756376">Споделянето не бе успешно. Проверете връзката си и опитайте отново по-късно.</translation>
 <translation id="516592729076796170">Американска (Дворак) клавиатура за програмисти</translation>
-<translation id="5172749059808361023">Подробности за ограничението</translation>
 <translation id="5177526793333269655">Изглед с миниизображения</translation>
 <translation id="5181896909298187506">Няма скорошни файлове</translation>
 <translation id="5194713942430106590">Кликнете, за да сортирате колоната във възходящ ред.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Сканира се</translation>
 <translation id="5288441970121584418">Хамбургер</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Наистина ли искате да изпразните кошчето?</translation>
 <translation id="5305688511332277257">Няма инсталирани</translation>
 <translation id="5317780077021120954">Запазване</translation>
 <translation id="5318819489018851358">Споделяне с Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Споделени дискове</translation>
 <translation id="7903984238293908205">катакана</translation>
 <translation id="7908793776359722643">При форматирането на даден дял ще бъдат изтрити всички съхранявани в него данни. Това действие не може да бъде отменено.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Проверката за AAA не бе успешна</translation>
 <translation id="7925686952655276919">Без използване на мобилни данни за синхронизиране</translation>
 <translation id="7928710562641958568">Изваждане на устройството</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bn.xtb b/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
index 04bce267..1aa418b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bn.xtb
@@ -478,7 +478,6 @@
        ব্যবহার চলাকালীন অবস্থায় আপনার ডিভাইস সরিয়ে ফেলা হলে ডেটা হারিয়ে যেতে পারে৷ অনুগ্রহ করে কাজ শেষ হওয়া পর্যন্ত অপেক্ষা করুন, তারপর ফাইলগুলির অ্যাপ ব্যবহার করে ডিভাইসটি বের করে নিন৷</translation>
 <translation id="5163869187418756376">শেয়ার করে ব্যর্থ হয়েছে৷ আপনার সংযোগটি পরীক্ষা করে পরে আবার চেষ্টা করুন৷</translation>
 <translation id="516592729076796170">মার্কিন যুক্তরাষ্ট্র প্রোগ্রামার ডিভোরাক</translation>
-<translation id="5172749059808361023">সীমাবদ্ধতার বিবরণ</translation>
 <translation id="5177526793333269655">থাম্বনেল ভিউ</translation>
 <translation id="5181896909298187506">কোনও সাম্প্রতিক ফাইল নেই</translation>
 <translation id="5194713942430106590">কলামের মানগুলি ছোট থেকে বড় ক্রমানুযায়ী সাজাতে ক্লিক করুন।</translation>
@@ -496,7 +495,6 @@
 <translation id="5286194356314741248">স্ক্যান হচ্ছে</translation>
 <translation id="5288441970121584418">বার্গার</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">আপনি কি ট্র্যাশ খালি করার ব্যাপারে নিশ্চিত?</translation>
 <translation id="5305688511332277257">কিছুই ইনস্টল নেই</translation>
 <translation id="5317780077021120954">সেভ করুন</translation>
 <translation id="5318819489018851358">Linux-এর সাথে শেয়ার করুন</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">শেয়ার করা ডিভাইস</translation>
 <translation id="7903984238293908205">কাটাকানা</translation>
 <translation id="7908793776359722643">পার্টিশন ফর্ম্যাট করলে তাতে সেভ থাকা সব ডেটা মুছে যাবে। সেটি আর আগের অবস্থায় ফেরানো যাবে না।</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA চেক করা যায়নি</translation>
 <translation id="7925686952655276919">সিঙ্ক-এর জন্য মোবাইল ডেটা ব্যবহার করবেন না</translation>
 <translation id="7928710562641958568">বের করে দেওযার ডিভাইস</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
index 63f135e..d780a743 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_bs.xtb
@@ -478,7 +478,6 @@
    Ako uklonite uređaj tokom njegovog korištenja, moguće je da će doći do gubljenja podataka.  Sačekajte da se radnja završi, a zatim isključite uređaj pomoću aplikacije Files.</translation>
 <translation id="5163869187418756376">Dijeljenje nije uspjelo. Provjerite vezu i pokušajte ponovo kasnije.</translation>
 <translation id="516592729076796170">SAD programer Dvorak</translation>
-<translation id="5172749059808361023">Detalji o ograničenju</translation>
 <translation id="5177526793333269655">Prikaz minijatura</translation>
 <translation id="5181896909298187506">Nema nedavnih fajlova</translation>
 <translation id="5194713942430106590">Kliknite da poredate kolonu uzlaznim poretkom.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skeniranje</translation>
 <translation id="5288441970121584418">Pljeskavica</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Jeste li sigurni da želite isprazniti Otpad?</translation>
 <translation id="5305688511332277257">Nijedan nije instaliran</translation>
 <translation id="5317780077021120954">Sačuvaj</translation>
 <translation id="5318819489018851358">Dijeli s Linuxom</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Prijava</translation>
 <translation id="7256405249507348194">Neprepoznata greška: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Dostupne usluge</translation>
+<translation id="7292816689782057017">Administratorska pravila ograničavaju spremanje na neke lokacije.</translation>
 <translation id="7294063083760278948">telugu (transliteracija)</translation>
 <translation id="7295662345261934369">Dijeli s drugima</translation>
 <translation id="7297443947353982503">Neispravno korisničko ime/lozinka ili neuspjela EAP autentifikacija</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Dijeljeni diskovi</translation>
 <translation id="7903984238293908205">katakana</translation>
 <translation id="7908793776359722643">Formatiranjem particije ćete izbrisati sve podatke koji su pohranjeni na nju. Ovu radnju nije moguće opozvati.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA provjera nije uspjela</translation>
 <translation id="7925686952655276919">Nemoj koristiti prijenos podataka na mobilnoj mreži za sinhronizaciju</translation>
 <translation id="7928710562641958568">Izbaci uređaj</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Komprimiranje nije uspjelo, stavka postoji: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">španski (Španija)</translation>
 <translation id="8834164572807951958">Članovi grupe "<ph name="DESTINATION_NAME" />" dobit će pristup kopiji ovih stavki.</translation>
+<translation id="8849389110234859568">Administratorska pravila ograničavaju pristup nekim datotekama.</translation>
 <translation id="8857149712089373752">nepalski s fonetskom tastaturom</translation>
 <translation id="8860454412039442620">Tabela u Excelu</translation>
 <translation id="8866284467018526531">arapski (transliteracija)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
index 489217c..74a4912 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ca.xtb
@@ -478,7 +478,6 @@
        Si retireu el dispositiu mentre encara s'està utilitzant, es poden perdre dades. Espereu fins que hagi acabat l'operació i, a continuació, expulseu el dispositiu amb l'aplicació Fitxers.</translation>
 <translation id="5163869187418756376">S'ha produït un error en compartir. Comproveu la connexió i torneu-ho a provar més tard.</translation>
 <translation id="516592729076796170">Dvorak nord-americà per a programadors</translation>
-<translation id="5172749059808361023">Detalls de la restricció</translation>
 <translation id="5177526793333269655">Visualització de miniatures</translation>
 <translation id="5181896909298187506">No hi ha cap fitxer recent</translation>
 <translation id="5194713942430106590">Fes clic per veure les dades de la columna en ordre ascendent.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">S'està cercant</translation>
 <translation id="5288441970121584418">Hamburguesa</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Confirmes que vols buidar la paperera?</translation>
 <translation id="5305688511332277257">Cap d'instal·lat</translation>
 <translation id="5317780077021120954">Desa</translation>
 <translation id="5318819489018851358">Comparteix amb Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Unitats compartides</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">En formatar una partició, se n'esborren totes les dades que s'hi hagin emmagatzemat. Aquesta acció no es pot desfer.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Error en la comprovació d'AAA</translation>
 <translation id="7925686952655276919">No utilitzis les dades mòbils per a la sincronització</translation>
 <translation id="7928710562641958568">Expulsa el dispositiu</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_cs.xtb b/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
index edf63f4..0e90cf7 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_cs.xtb
@@ -478,7 +478,6 @@
    Pokud zařízení odeberete během používání, může dojít ke ztrátě dat. Počkejte prosím na dokončení operace a poté zařízení odpojte pomocí aplikace Soubory.</translation>
 <translation id="5163869187418756376">Sdílení se nezdařilo. Zkontrolujte připojení k síti a zkuste to znovu.</translation>
 <translation id="516592729076796170">Americká klávesnice Dvorak</translation>
-<translation id="5172749059808361023">Podrobnosti o omezení</translation>
 <translation id="5177526793333269655">Zobrazení miniatur</translation>
 <translation id="5181896909298187506">Žádné nedávné soubory</translation>
 <translation id="5194713942430106590">Kliknutím sloupec seřadíte vzestupně.</translation>
@@ -496,7 +495,6 @@
 <translation id="5286194356314741248">Skenování</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Opravdu chcete vysypat koš?</translation>
 <translation id="5305688511332277257">Není nainstalován žádný certifikát</translation>
 <translation id="5317780077021120954">Uložit</translation>
 <translation id="5318819489018851358">Sdílet s Linuxem</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Sdílené disky</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Naformátováním oddílu smažete všechna na něm uložená data. Tuto akci nelze vrátit zpět.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Selhala bezpečnostní kontrola AAA</translation>
 <translation id="7925686952655276919">Nepoužívat k synchronizaci mobilní datové přenosy</translation>
 <translation id="7928710562641958568">Vysunout zařízení</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_cy.xtb b/ui/chromeos/translations/ui_chromeos_strings_cy.xtb
index 8bd82ca..e944d20 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_cy.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_cy.xtb
@@ -478,7 +478,6 @@
    Mae'n bosib y bydd tynnu'ch dyfais tra'i bod yn cael ei defnyddio achosi colli data.  Arhoswch nes bod y weithred wedi gorffen, yna tynnwch y ddyfais gan ddefnyddio'r ap Files.</translation>
 <translation id="5163869187418756376">Wedi methu â rhannu. Gwiriwch eich cysylltiad a rhowch gynnig arall arni'n nes ymlaen.</translation>
 <translation id="516592729076796170">Dvorak Rhaglennwr UDA</translation>
-<translation id="5172749059808361023">Manylion cyfyngiad</translation>
 <translation id="5177526793333269655">Gwedd fân-lun</translation>
 <translation id="5181896909298187506">Nid oes unrhyw ffeiliau diweddar</translation>
 <translation id="5194713942430106590">Cliciwch i drefnu'r golofn mewn trefn esgynnol.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Ffeiliau sydd wedi'u hadfer o Google Drive</translation>
 <translation id="5286194356314741248">Wrthi'n sganio</translation>
 <translation id="5288441970121584418">Byrgyr</translation>
-<translation id="5299998344490869684">Ydych chi'n siŵr eich bod am wagio'r Bin Sbwriel?</translation>
 <translation id="5305688511332277257">Dim wedi'i osod</translation>
 <translation id="5317780077021120954">Cadw</translation>
 <translation id="5318819489018851358">Rhannu â Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Gyriannau cyffredin</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Bydd fformatio rhaniad yn dileu'r holl ddata sy'n cael eu storio arno. Ni ellir dadwneud y weithred hon.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Mae'r gwiriad AAA wedi methu</translation>
 <translation id="7925686952655276919">Peidio â defnyddio data symudol ar gyfer cysoni</translation>
 <translation id="7928710562641958568">Bwrw'r ddyfais allan</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_da.xtb b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
index c881a61..1b6cd25 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_da.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_da.xtb
@@ -478,7 +478,6 @@
    Hvis du fjerner din enhed, mens den er i brug, kan det medføre datatab. Vent, indtil handlingen er fuldført, og fjern derefter enheden ved hjælp af appen Filer.</translation>
 <translation id="5163869187418756376">Deling mislykkedes. Kontrollér din forbindelse, og prøv igen senere.</translation>
 <translation id="516592729076796170">Amerikansk (Programmer Dvorak) tastatur</translation>
-<translation id="5172749059808361023">Oplysninger om begrænsning</translation>
 <translation id="5177526793333269655">Miniaturevisning</translation>
 <translation id="5181896909298187506">Du har ikke åbnet nogen filer for nylig</translation>
 <translation id="5194713942430106590">Klik for at sortere kolonnen i stigende rækkefølge.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Søger</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Er du sikker på, at du vil tømme papirkurven?</translation>
 <translation id="5305688511332277257">Ingen installeret</translation>
 <translation id="5317780077021120954">Gem</translation>
 <translation id="5318819489018851358">Del med Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Fællesdrev</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatering af en partition sletter alle de data, der er gemt på den. Denne handling kan ikke fortrydes.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-kontrol mislykkedes</translation>
 <translation id="7925686952655276919">Brug ikke mobildata til synkronisering</translation>
 <translation id="7928710562641958568">Skub enheden ud</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_de.xtb b/ui/chromeos/translations/ui_chromeos_strings_de.xtb
index e3f4e938..e10be14 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_de.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_de.xtb
@@ -478,7 +478,6 @@
    Wenn du dein Gerät entfernst, während es verwendet wird, können Daten verloren gehen. Warte, bis der Vorgang abgeschlossen ist, und wirf das Gerät dann über die App „Dateien“ aus.</translation>
 <translation id="5163869187418756376">Fehler bei der Freigabe. Bitte überprüfe deine Verbindung und versuche es später erneut.</translation>
 <translation id="516592729076796170">USA – Programmer Dvorak</translation>
-<translation id="5172749059808361023">Einschränkungsdetails</translation>
 <translation id="5177526793333269655">Miniaturbildansicht</translation>
 <translation id="5181896909298187506">Keine kürzlich verwendeten Dateien</translation>
 <translation id="5194713942430106590">Klicken, um die Spalte in aufsteigender Reihenfolge zu sortieren.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Durchsuchen</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Möchtest du den Papierkorb wirklich leeren?</translation>
 <translation id="5305688511332277257">Keine installiert</translation>
 <translation id="5317780077021120954">Speichern</translation>
 <translation id="5318819489018851358">Mit Linux teilen</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Geteilte Ablagen</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Durch die Formatierung einer Partition werden alle darauf gespeicherten Daten gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-Prüfung fehlgeschlagen</translation>
 <translation id="7925686952655276919">Keine mobilen Daten für die Synchronisierung verwenden</translation>
 <translation id="7928710562641958568">Gerät auswerfen</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_el.xtb b/ui/chromeos/translations/ui_chromeos_strings_el.xtb
index 2a8751d..4d6b7a2 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_el.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_el.xtb
@@ -490,7 +490,6 @@
    Η αφαίρεση της συσκευής σας ενώ εξακολουθεί να χρησιμοποιείται μπορεί να οδηγήσει σε απώλεια δεδομένων. Περιμένετε έως ότου ολοκληρωθεί η λειτουργία και έπειτα αφαιρέστε τη συσκευή χρησιμοποιώντας την εφαρμογή Αρχεία.</translation>
 <translation id="5163869187418756376">Αποτυχία κοινής χρήσης. Ελέγξτε τη σύνδεσή σας και δοκιμάστε ξανά αργότερα.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Λεπτομέρειες περιορισμού</translation>
 <translation id="5177526793333269655">Προβολή μικρογραφιών</translation>
 <translation id="5181896909298187506">Δεν υπάρχουν πρόσφατα αρχεία</translation>
 <translation id="5194713942430106590">Κάντε κλικ για ταξινόμηση της στήλης σε αύξουσα σειρά.</translation>
@@ -509,7 +508,6 @@
 <translation id="5286194356314741248">Σάρωση</translation>
 <translation id="5288441970121584418">Μπέργκερ</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Είστε βέβαιοι ότι θέλετε να αδειάσετε τον Κάδο απορριμμάτων;</translation>
 <translation id="5305688511332277257">Δεν υπάρχει εγκατεστημένο</translation>
 <translation id="5317780077021120954">Αποθήκευση</translation>
 <translation id="5318819489018851358">Κοινοποίηση σε Linux</translation>
@@ -735,6 +733,7 @@
 <translation id="7248671827512403053">Εφαρμογή</translation>
 <translation id="7256405249507348194">Μη αναγνωρίσιμο σφάλμα: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Διαθέσιμες υπηρεσίες</translation>
+<translation id="7292816689782057017">Η πολιτική διαχειριστή περιορίζει την αποθήκευση σε ορισμένες τοποθεσίες.</translation>
 <translation id="7294063083760278948">Μεταγραφή σε Τελούγκου</translation>
 <translation id="7295662345261934369">Κοινοποίηση σε άλλα άτομα</translation>
 <translation id="7297443947353982503">Εσφαλμένο όνομα χρήστη/κωδικός πρόσβασης ή αποτυχία EAP-auth</translation>
@@ -814,6 +813,7 @@
 <translation id="78946041517601018">Κοινά Drive</translation>
 <translation id="7903984238293908205">Κατακάνα</translation>
 <translation id="7908793776359722643">Η μορφοποίηση ενός διαμερίσματος θα διαγράψει όλα τα δεδομένα που είναι αποθηκευμένα σε αυτό. Δεν είναι δυνατή η αναίρεση αυτής της ενέργειας.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Ο έλεγχος ΑΑΑ απέτυχε</translation>
 <translation id="7925686952655276919">Μη χρησιμοποιείτε δεδομένα για κινητά για συγχρονισμό</translation>
 <translation id="7928710562641958568">Εξαγωγή συσκευής</translation>
@@ -927,6 +927,7 @@
 <translation id="8810671769985673465">Αποτυχία συμπίεσης, υπάρχει το αρχείο: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">Ισπανικά (Ισπανία)</translation>
 <translation id="8834164572807951958">Τα μέλη του "<ph name="DESTINATION_NAME" />" θα αποκτήσουν πρόσβαση στο αντίγραφο αυτών των στοιχείων.</translation>
+<translation id="8849389110234859568">Η πολιτική διαχειριστή περιορίζει την πρόσβαση σε ορισμένα αρχεία.</translation>
 <translation id="8857149712089373752">Νεπαλικά με φωνητικό πληκτρολόγιο</translation>
 <translation id="8860454412039442620">Υπολογιστικό φύλλο Excel</translation>
 <translation id="8866284467018526531">Μεταγραφή σε Αραβικά</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
index 94200a3d..dbb6f70 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_en-GB.xtb
@@ -478,7 +478,6 @@
    Removing your device while it is in use may cause data loss. Please wait until the operation is over, then eject the device using the Files app.</translation>
 <translation id="5163869187418756376">Sharing failed. Please check your connection and try again later.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Restriction details</translation>
 <translation id="5177526793333269655">Thumbnail view</translation>
 <translation id="5181896909298187506">No recent files</translation>
 <translation id="5194713942430106590">Click to sort the column in ascending order.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Scanning</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Are you sure that you want to empty bin?</translation>
 <translation id="5305688511332277257">None installed</translation>
 <translation id="5317780077021120954">Save</translation>
 <translation id="5318819489018851358">Share with Linux</translation>
@@ -798,6 +796,7 @@
 <translation id="78946041517601018">Shared drives</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatting a partition will erase all data stored on it. This action cannot be undone.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA check failed</translation>
 <translation id="7925686952655276919">Do not use mobile data for sync</translation>
 <translation id="7928710562641958568">Eject device</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb b/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
index 2fae8aa..f1a664dc 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_es-419.xtb
@@ -478,7 +478,6 @@
        Si retiras el dispositivo mientras está en uso, puedes perder datos. Espera hasta que la operación finalice y, luego, expulsa el dispositivo con la aplicación Archivos.</translation>
 <translation id="5163869187418756376">Se produjo un error al compartir el contenido. Comprueba tu conexión y vuelve a intentarlo.</translation>
 <translation id="516592729076796170">Programmer Dvorak, EE. UU.</translation>
-<translation id="5172749059808361023">Detalles de la restricción</translation>
 <translation id="5177526793333269655">Vista de miniatura</translation>
 <translation id="5181896909298187506">No hay archivos recientes.</translation>
 <translation id="5194713942430106590">Haz clic para ordenar la columna de forma ascendente.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Examinando</translation>
 <translation id="5288441970121584418">Hamburguesa</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">¿Confirmas que quieres vaciar la papelera?</translation>
 <translation id="5305688511332277257">No hay certificados instalados</translation>
 <translation id="5317780077021120954">Guardar</translation>
 <translation id="5318819489018851358">Compartir con Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Unidades compartidas</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Si formateas una partición, se borrarán todos los datos almacenados en ella. No se puede deshacer esta acción.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Falló la verificación de AAA</translation>
 <translation id="7925686952655276919">No utilizar datos móviles para la sincronización</translation>
 <translation id="7928710562641958568">Expulsar dispositivo</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_es.xtb b/ui/chromeos/translations/ui_chromeos_strings_es.xtb
index 0e0bcae..d1cf81c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_es.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_es.xtb
@@ -478,7 +478,6 @@
    Si desconectas el dispositivo mientras se utiliza, puedes perder tus datos. Espera hasta que finalice la operación y, a continuación, desconecta el dispositivo con la aplicación Archivos.</translation>
 <translation id="5163869187418756376">Se ha producido un error al compartir contenido. Comprueba la conexión e inténtalo de nuevo más tarde.</translation>
 <translation id="516592729076796170">Programmer Dvorak de EE. UU.</translation>
-<translation id="5172749059808361023">Detalles de las restricciones</translation>
 <translation id="5177526793333269655">Vista de miniaturas</translation>
 <translation id="5181896909298187506">No hay archivos recientes</translation>
 <translation id="5194713942430106590">Haz clic para mostrar la columna en orden ascendente.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Buscando</translation>
 <translation id="5288441970121584418">Hamburguesa</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">¿Seguro que quieres vaciar la papelera?</translation>
 <translation id="5305688511332277257">No hay certificados instalados</translation>
 <translation id="5317780077021120954">Guardar</translation>
 <translation id="5318819489018851358">Compartir con Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Unidades compartidas</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Al formatear una partición, se borrarán todos los datos almacenados en ella. Esta acción no se puede deshacer.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Error de comprobación de AAA</translation>
 <translation id="7925686952655276919">No utilizar datos móviles para la sincronización</translation>
 <translation id="7928710562641958568">Expulsar dispositivo</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_et.xtb b/ui/chromeos/translations/ui_chromeos_strings_et.xtb
index dc71c52..d36b47b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_et.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_et.xtb
@@ -478,7 +478,6 @@
        Kasutuses oleva seadme eemaldamisel võivad andmed kaduma minna. Oodake, kuni toiming on lõpetatud, seejärel väljutage seade rakendusega Failid.</translation>
 <translation id="5163869187418756376">Jagamine ebaõnnestus. Kontrollige ühendust ja proovige uuesti.</translation>
 <translation id="516592729076796170">USA programmeerija Dvorak</translation>
-<translation id="5172749059808361023">Piirangu üksikasjad</translation>
 <translation id="5177526793333269655">Pisipildi kuva</translation>
 <translation id="5181896909298187506">Hiljutisi faile pole</translation>
 <translation id="5194713942430106590">Klõpsake, et veerg kasvavas järjestuses sortida.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skaneering</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Kas olete kindel, et soovite prügikasti tühjendada?</translation>
 <translation id="5305688511332277257">Pole ühtegi installitud</translation>
 <translation id="5317780077021120954">Salvesta</translation>
 <translation id="5318819489018851358">Jaga Linuxiga</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Jagatud kettad</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Partitsiooni vormindamisel kustutatakse kõik sellesse salvestatud andmed. Seda toimingut ei saa tagasi võtta.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA kontrollimine nurjus</translation>
 <translation id="7925686952655276919">Ära kasuta sünkroonimiseks mobiilset andmesidet</translation>
 <translation id="7928710562641958568">Seadme väljutamine</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_eu.xtb b/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
index 5f2fe66..3486645 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_eu.xtb
@@ -478,7 +478,6 @@
    Gailua erabili bitartean kentzen baduzu, datuak gal ditzakezu. Itxaron eragiketa amaitu arte eta kanporatu gailua Fitxategiak aplikazioa erabilita.</translation>
 <translation id="5163869187418756376">Ezin izan da partekatu. Egiaztatu konektatuta zaudela eta saiatu berriro geroago.</translation>
 <translation id="516592729076796170">AEBko programatzaileen Dvorak teklatua</translation>
-<translation id="5172749059808361023">Murrizketen xehetasunak</translation>
 <translation id="5177526793333269655">Irudi txikien ikuspegia</translation>
 <translation id="5181896909298187506">Ez dago azkenaldiko fitxategirik</translation>
 <translation id="5194713942430106590">Egin klik zutabea goranzko ordenan ezartzeko.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Drive-tik berreskuratutako fitxategiak</translation>
 <translation id="5286194356314741248">Bilatzen</translation>
 <translation id="5288441970121584418">Hanburgesa</translation>
-<translation id="5299998344490869684">Ziur zaborrontzia hustu nahi duzula?</translation>
 <translation id="5305688511332277257">Ez dago ziurtagiririk instalatuta</translation>
 <translation id="5317780077021120954">Gorde</translation>
 <translation id="5318819489018851358">Partekatu Linux erabilita</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Unitate partekatuak</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Partizio bat formateatuz gero, bertan gordetako datu guztiak ezabatuko dira. Ezin da desegin ekintza.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Ezin izan da AAA egiaztapena egin</translation>
 <translation id="7925686952655276919">Ez erabili datu-konexioa sinkronizatzeko</translation>
 <translation id="7928710562641958568">Kanporatu gailua</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fa.xtb b/ui/chromeos/translations/ui_chromeos_strings_fa.xtb
index 02b35f1..81e756f 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fa.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fa.xtb
@@ -478,7 +478,6 @@
  جداکردن دستگاه هنگامی که در حال استفاده است ممکن است باعث از دست رفتن داده‌ها شود.  لطفاً تا به پایان رسیدن عملیات صبر کنید، سپس دستگاه را با استفاده از برنامه Files خارج نمایید.</translation>
 <translation id="5163869187418756376">اشتراک‌گذاری انجام نشد. اتصال خود را بررسی کرده، بعداً دوباره امتحان کنید.</translation>
 <translation id="516592729076796170">دووراک آمریکایی برنامه‌نویس‌ها</translation>
-<translation id="5172749059808361023">جزئیات محدودیت</translation>
 <translation id="5177526793333269655">نمای تصویر کوچک</translation>
 <translation id="5181896909298187506">هیچ فایلی در موارد اخیر وجود ندارد</translation>
 <translation id="5194713942430106590">کلیک کنید تا ستون به‌صورت صعودی مرتب شود.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">اسکن کردن</translation>
 <translation id="5288441970121584418">همبرگر</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">مطمئنید می‌خواهید «حذف‌شده‌ها» را خالی کنید؟</translation>
 <translation id="5305688511332277257">چیزی نصب نشده است</translation>
 <translation id="5317780077021120954">ذخیره</translation>
 <translation id="5318819489018851358">‏هم‌رسانی با Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">درایوهای هم‌رسانی‌شده</translation>
 <translation id="7903984238293908205">کاتاکانا</translation>
 <translation id="7908793776359722643">با قالب‌بندی پارتیشن، همه داده‌های ذخیره‌شده در آن حذف خواهد شد. این کنش واگردشدنی نیست.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">‏بررسی AAA انجام نشد</translation>
 <translation id="7925686952655276919">از داده‌های تلفن همراه برای همگام‌سازی استفاده نشود</translation>
 <translation id="7928710562641958568">خارج کردن دستگاه</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fi.xtb b/ui/chromeos/translations/ui_chromeos_strings_fi.xtb
index 9a6b250..20eeac4 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fi.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fi.xtb
@@ -478,7 +478,6 @@
        Jos irrotat laitteen sen ollessa käytössä, voit menettää tietoja. Odota, kunnes toiminto on suoritettu, ja poista laite sitten käytöstä Tiedostot-sovelluksen kautta.</translation>
 <translation id="5163869187418756376">Jakaminen epäonnistui. Tarkista internetyhteytesi ja yritä myöhemmin uudelleen.</translation>
 <translation id="516592729076796170">US, Dvorak ohjelmoijille</translation>
-<translation id="5172749059808361023">Rajoitustiedot</translation>
 <translation id="5177526793333269655">Pikkukuvanäkymä</translation>
 <translation id="5181896909298187506">Ei viimeaikaisia tiedostoja</translation>
 <translation id="5194713942430106590">Klikkaa, jos haluat lajitella nousevaan järjestykseen.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Etsitään</translation>
 <translation id="5288441970121584418">Hampurilainen</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Haluatko varmasti tyhjentää roskakorin?</translation>
 <translation id="5305688511332277257">Yhtään ei ole asennettu</translation>
 <translation id="5317780077021120954">Tallenna</translation>
 <translation id="5318819489018851358">Jaa Linuxilla</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Jaetut Drivet</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Osion alustaminen poistaa kaiken sille tallennetun datan. Tätä toimintoa ei voi kumota.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-testi epäonnistui</translation>
 <translation id="7925686952655276919">Älä käytä mobiiliyhteyttä synkronointiin</translation>
 <translation id="7928710562641958568">Poista laite</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fil.xtb b/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
index d751afde..441fd6b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fil.xtb
@@ -478,7 +478,6 @@
    Maaaring magsanhi ng pagkawala ng data ang pag-aalis sa iyong device habang ginagamit ito.  Mangyaring maghintay hanggang matapos ang operasyon, pagkatapos ay i-eject ang device gamit ang Files app.</translation>
 <translation id="5163869187418756376">Nabigo ang pagbabahagi. Suriin ang iyong koneksyon at subukang muli sa ibang pagkakataon.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Mga detalye ng paghihigpit</translation>
 <translation id="5177526793333269655">View na thumbnail</translation>
 <translation id="5181896909298187506">Walang kamakailang file</translation>
 <translation id="5194713942430106590">I-click para pagbukud-bukurin ang column sa pataas na pagkakasunud-sunod.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Nagsa-scan</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Sigurado ka bang gusto mong alisin ang laman ng Trash?</translation>
 <translation id="5305688511332277257">Walang naka-install</translation>
 <translation id="5317780077021120954">I-save</translation>
 <translation id="5318819489018851358">Ibahagi sa Linux</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Application</translation>
 <translation id="7256405249507348194">Hindi nakikilalang error: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Mga available na serbisyo</translation>
+<translation id="7292816689782057017">Pinaghihigpitan ng patakaran ng administrator ang pag-save sa ilang lokasyon.</translation>
 <translation id="7294063083760278948">Telugu Transliteration</translation>
 <translation id="7295662345261934369">Ibahagi sa iba</translation>
 <translation id="7297443947353982503">Mali ang username/password o nabigo ang EAP-auth</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Mga shared drive</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Kapag nag-format ng partition, mabubura ang lahat ng data na naka-store dito. Hindi maa-undo ang pagkilos na ito.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Nabigo ang pagsusuri sa AAA</translation>
 <translation id="7925686952655276919">Huwag gumamit ng data sa mobile para sa pag-sync</translation>
 <translation id="7928710562641958568">I-eject ang device</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Hindi na-zip, may item: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">Spanish (Spain)</translation>
 <translation id="8834164572807951958">Magkakaroon ng access ang mga miyembro ng '<ph name="DESTINATION_NAME" />' sa mga kopya ng mga item na ito.</translation>
+<translation id="8849389110234859568">Pinaghihigpitan ng patakaran ng administrator ang access sa ilang file.</translation>
 <translation id="8857149712089373752">Nepali na may Phonetic keyboard</translation>
 <translation id="8860454412039442620">Spreadsheet ng Excel</translation>
 <translation id="8866284467018526531">Arabic Transliteration</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb b/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb
index 0789d5a..9215b79 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fr-CA.xtb
@@ -480,7 +480,6 @@
    en utilisant l'application Fichiers.</translation>
 <translation id="5163869187418756376">Échec du partage. Veuillez vérifier votre connexion et réessayer plus tard.</translation>
 <translation id="516592729076796170">Dvorak programmeur américain</translation>
-<translation id="5172749059808361023">Détails des restrictions</translation>
 <translation id="5177526793333269655">Affichage de miniatures</translation>
 <translation id="5181896909298187506">Aucun fichier récent</translation>
 <translation id="5194713942430106590">Cliquez ici pour trier la colonne par ordre croissant.</translation>
@@ -498,7 +497,6 @@
 <translation id="5275973617553375938">Fichiers récupérés de Google Disque</translation>
 <translation id="5286194356314741248">Recherche en cours…</translation>
 <translation id="5288441970121584418">Hamburger</translation>
-<translation id="5299998344490869684">Voulez-vous vraiment vider la corbeille?</translation>
 <translation id="5305688511332277257">Aucun certificat installé</translation>
 <translation id="5317780077021120954">Enregistrer</translation>
 <translation id="5318819489018851358">Partager avec Linux</translation>
@@ -798,6 +796,7 @@
 <translation id="78946041517601018">Disques partagés</translation>
 <translation id="7903984238293908205">katakana</translation>
 <translation id="7908793776359722643">Le formatage d'une partition entraîne la suppression de toutes les données qui y sont stockées. Cette action est irréversible.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Échec de la vérification AAA</translation>
 <translation id="7925686952655276919">Ne pas utiliser les données mobiles pour la synchronisation</translation>
 <translation id="7928710562641958568">Éjecter l'appareil</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_fr.xtb b/ui/chromeos/translations/ui_chromeos_strings_fr.xtb
index 4637881..7a0b1e06 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_fr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_fr.xtb
@@ -478,7 +478,6 @@
        Si vous retirez votre périphérique pendant qu'il est utilisé, vous risquez de perdre des données. Veuillez attendre la fin de l'opération, puis éjecter le périphérique à l'aide de l'application Fichiers.</translation>
 <translation id="5163869187418756376">Échec du partage. Veuillez vérifier la connexion, puis réessayer.</translation>
 <translation id="516592729076796170">Dvorak américain pour programmeurs</translation>
-<translation id="5172749059808361023">Détails des restrictions</translation>
 <translation id="5177526793333269655">Afficher les vignettes</translation>
 <translation id="5181896909298187506">Aucun fichier récent</translation>
 <translation id="5194713942430106590">Cliquez pour trier la colonne par ordre croissant.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Recherche…</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Voulez-vous vraiment vider la corbeille ?</translation>
 <translation id="5305688511332277257">Aucun certificat installé</translation>
 <translation id="5317780077021120954">Enregistrer</translation>
 <translation id="5318819489018851358">Partager avec Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Drive d'équipe partagés</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Le formatage d'une partition entraîne la suppression de toutes les données qui y sont stockées. Cette action est irréversible.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Échec de la vérification AAA</translation>
 <translation id="7925686952655276919">Ne pas utiliser les données mobiles pour la synchronisation</translation>
 <translation id="7928710562641958568">Éjecter le périphérique</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
index 2c140f09..0af644b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_gl.xtb
@@ -478,7 +478,6 @@
    Retirar o dispositivo mentres se está usando pode provocar a perda de datos. Agarda a que finalice a operación e, a continuación, expulsa o dispositivo mediante a aplicación Ficheiros.</translation>
 <translation id="5163869187418756376">Non se puido compartir. Comproba a túa conexión e téntao de novo máis tarde.</translation>
 <translation id="516592729076796170">Dvorak de programador para EUA</translation>
-<translation id="5172749059808361023">Detalles das restricións</translation>
 <translation id="5177526793333269655">Vista de miniaturas</translation>
 <translation id="5181896909298187506">Non hai ficheiros recentes</translation>
 <translation id="5194713942430106590">Fai clic para organizar a columna en orde ascendente.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Ficheiros recuperados de Google Drive</translation>
 <translation id="5286194356314741248">Buscando</translation>
 <translation id="5288441970121584418">Hamburguesa</translation>
-<translation id="5299998344490869684">Seguro que queres baleirar a papeleira?</translation>
 <translation id="5305688511332277257">Ningún instalado</translation>
 <translation id="5317780077021120954">Gardar</translation>
 <translation id="5318819489018851358">Compartir con Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Unidades compartidas</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Cando se formata unha partición, bórranse todos os datos que contén. Esta acción non se pode desfacer.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Erro de comprobación de AAA</translation>
 <translation id="7925686952655276919">Non utilizar datos móbiles para a sincronización</translation>
 <translation id="7928710562641958568">Expulsar dispositivo</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_gu.xtb b/ui/chromeos/translations/ui_chromeos_strings_gu.xtb
index b40d2657..370f963 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_gu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_gu.xtb
@@ -478,7 +478,6 @@
        ઉપયોગમાં રહેલા તમારા ડિવાઇસને દૂર કરવાથી ડેટાનું નુકસાન થઈ શકે છે. ક્રિયા પૂર્ણ થાય ત્યાં સુધી કૃપા કરીને રાહ જુઓ, તે પછી Files ઍપનો ઉપયોગ કરીને ડિવાઇસને કાઢી નાખો.</translation>
 <translation id="5163869187418756376">શેરિંગ નિષ્ફળ થયું. તમારું કનેક્શન તપાસો અને થોડીવાર પછી ફરી પ્રયાસ કરો.</translation>
 <translation id="516592729076796170">યુએસ પ્રોગ્રામર ડ્વોરેક</translation>
-<translation id="5172749059808361023">પ્રતિબંધ સંબંધિત વિગતો</translation>
 <translation id="5177526793333269655">થંબનેલ દૃશ્ય</translation>
 <translation id="5181896909298187506">તાજેતરની કોઈ ફાઇલ નથી</translation>
 <translation id="5194713942430106590">કૉલમને ચઢતા ક્રમમાં સૉર્ટ કરવા માટે ક્લિક કરો.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">સ્કેનિંગ</translation>
 <translation id="5288441970121584418">બર્ગર</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">શું તમે ખરેખર ટ્રેશ ખાલી કરવા માગો છો?</translation>
 <translation id="5305688511332277257">કશું ઇન્સ્ટોલ કરેલું નથી</translation>
 <translation id="5317780077021120954">સાચવો</translation>
 <translation id="5318819489018851358">Linux સાથે શેર કરો</translation>
@@ -795,6 +793,7 @@
 <translation id="78946041517601018">શેર કરેલી ડ્રાઇવ</translation>
 <translation id="7903984238293908205">કટકાન</translation>
 <translation id="7908793776359722643">વિભાગને ફૉર્મેટ કરવાથી તેમાં સ્ટોર કરેલો બધો ડેટા કાઢી નાખવામાં આવશે. આ ક્રિયા રદ કરી શકાતી નથી.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA તપાસ નિષ્ફળ</translation>
 <translation id="7925686952655276919">સમન્વયન માટે ડેટા માહિતીની ઉપયોગ કરશો નહીં</translation>
 <translation id="7928710562641958568">ઉપકરણ હટાવો</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hi.xtb b/ui/chromeos/translations/ui_chromeos_strings_hi.xtb
index f2ef2ab..314058cb 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_hi.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_hi.xtb
@@ -478,7 +478,6 @@
    उपयोग के दौरान अपना डिवाइस निकाल लेने से डेटा की हानि हो सकती है. कृपया कार्रवाई पूरी हो जाने तक इंतज़ार करें, फिर Files ऐप्लिकेशन का उपयोग करके डिवाइस को निकाल लें.</translation>
 <translation id="5163869187418756376">शेयर नहीं किया जा सका. अपना कनेक्शन जाँचें और बाद में फिर से कोशिश करें.</translation>
 <translation id="516592729076796170">यूएस प्रोग्रामर ड्वोरक</translation>
-<translation id="5172749059808361023">पाबंदी की जानकारी</translation>
 <translation id="5177526793333269655">थंबनेल व्यू</translation>
 <translation id="5181896909298187506">हाल ही की कोई फ़ाइल नहीं मिली</translation>
 <translation id="5194713942430106590">स्तंभ को बढ़ते क्रम में लगाने के लिए क्लिक करें.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">स्‍कैन हो रहा है</translation>
 <translation id="5288441970121584418">बर्गर</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">क्या आप वाकई में ट्रैश को खाली करना चाहते हैं?</translation>
 <translation id="5305688511332277257">कुछ भी इंस्टॉल नहीं है</translation>
 <translation id="5317780077021120954">सेव करें</translation>
 <translation id="5318819489018851358">Linux के साथ शेयर करें</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">शेयर की गईं डिस्क</translation>
 <translation id="7903984238293908205">काताकाना</translation>
 <translation id="7908793776359722643">किसी पार्टीशन को फ़ॉर्मैट करने से उस पर सेव किया गया पूरा डेटा मिट जाएगा. मिटने के बाद यह सब वापस नहीं पाया जा सकता.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA जाँच पूरा नहीं हो सका</translation>
 <translation id="7925686952655276919">समन्‍वयन के लिए मोबाइल डेटा का उपयोग न करें</translation>
 <translation id="7928710562641958568">डिवाइस निकालें</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
index 0cfa8b6..9fedd32b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_hr.xtb
@@ -478,7 +478,6 @@
        Uklanjanje uređaja dok je još u upotrebi može uzrokovati gubitak podataka. Pričekajte da uređaj dovrši radnju, a potom ga izbacite pomoću aplikacije Datoteke.</translation>
 <translation id="5163869187418756376">Dijeljenje nije uspjelo. Provjerite vezu i pokušajte ponovo kasnije.</translation>
 <translation id="516592729076796170">Američka programerska Dvorak</translation>
-<translation id="5172749059808361023">Pojedinosti ograničenja</translation>
 <translation id="5177526793333269655">Prikaz minijatura</translation>
 <translation id="5181896909298187506">Nema nedavnih datoteka</translation>
 <translation id="5194713942430106590">Kliknite da biste stavke u stupcu poredali uzlaznim redoslijedom.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skeniranje</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Jeste li sigurni da želite isprazniti otpad?</translation>
 <translation id="5305688511332277257">Nijedan nije instaliran</translation>
 <translation id="5317780077021120954">Spremi</translation>
 <translation id="5318819489018851358">Dijeli s Linuxom</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Aplikacija</translation>
 <translation id="7256405249507348194">Neprepoznata pogreška: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Dostupne usluge</translation>
+<translation id="7292816689782057017">Administratorska pravila ograničavaju spremanje na neke lokacije.</translation>
 <translation id="7294063083760278948">transliteracija za teluški</translation>
 <translation id="7295662345261934369">Dijeli s drugima</translation>
 <translation id="7297443947353982503">Netočno korisničko ime/zaporka ili neuspjela EAP autentifikacija</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Dijeljeni diskovi</translation>
 <translation id="7903984238293908205">katakana</translation>
 <translation id="7908793776359722643">Formatiranjem particije izbrisat će se svi podaci koji su na njoj pohranjeni. Tu radnju nije moguće poništiti.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Provjera AAA nije uspjela</translation>
 <translation id="7925686952655276919">Ne upotrebljavaj mobilne podatke za sinkronizaciju</translation>
 <translation id="7928710562641958568">Izbaci uređaj</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Komprimiranje nije uspjelo, stavka postoji: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">španjolski (Španjolska)</translation>
 <translation id="8834164572807951958">Članovi grupe "<ph name="DESTINATION_NAME" />" dobit će pristup kopiji tih stavki.</translation>
+<translation id="8849389110234859568">Administratorska pravila ograničavaju pristup nekim datotekama.</translation>
 <translation id="8857149712089373752">nepalski s fonetskom tipkovnicom</translation>
 <translation id="8860454412039442620">Excelova proračunska tablica</translation>
 <translation id="8866284467018526531">transliteracija za arapski</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hu.xtb b/ui/chromeos/translations/ui_chromeos_strings_hu.xtb
index dee20fb..25c4118 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_hu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_hu.xtb
@@ -478,7 +478,6 @@
        Ha használat közben távolítja el eszközét, az adatvesztést eredményezhet. Kérjük, várjon, amíg a művelet befejeződik, majd válassza le az eszközt a Fájlok alkalmazás használatával.</translation>
 <translation id="5163869187418756376">Nem sikerült a megosztás. Ellenőrizze a kapcsolatot, és később próbálkozzon újra.</translation>
 <translation id="516592729076796170">US Dvorak programozó</translation>
-<translation id="5172749059808361023">A korlátozás részletei</translation>
 <translation id="5177526793333269655">Indexképnézet</translation>
 <translation id="5181896909298187506">Nincsenek új fájlok</translation>
 <translation id="5194713942430106590">Kattintson az oszlop növekvő sorrendben való rendezéséhez.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Keresés</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Biztosan kiüríti a kukát?</translation>
 <translation id="5305688511332277257">Nincs telepítve</translation>
 <translation id="5317780077021120954">Mentés</translation>
 <translation id="5318819489018851358">Megosztás a Linuxszal</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Alkalmazás</translation>
 <translation id="7256405249507348194">Ismeretlen hiba: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Igénybe vehető szolgáltatások</translation>
+<translation id="7292816689782057017">A rendszergazdai házirend bizonyos helyekre korlátozza a mentést.</translation>
 <translation id="7294063083760278948">telugu, betű szerinti átírás</translation>
 <translation id="7295662345261934369">Megosztás másokkal</translation>
 <translation id="7297443947353982503">Helytelen a felhasználónév vagy a jelszó, vagy nem sikerült az EAP-hitelesítés</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Megosztott meghajtók</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">A partíció formázásával törli a rajta lévő összes adatot. A művelet nem vonható vissza.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-ellenőrzés sikertelen</translation>
 <translation id="7925686952655276919">Ne használjon mobiladatokat a szinkronizáláshoz</translation>
 <translation id="7928710562641958568">Eszköz kiadása</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">A tömörítés nem sikerült, ilyen elem már van: „<ph name="FILE_NAME" />”</translation>
 <translation id="8813284582615685103">spanyol (Spanyolország)</translation>
 <translation id="8834164572807951958">A(z) „<ph name="DESTINATION_NAME" />” tagjai hozzá fognak férni ezen elemek másolatához.</translation>
+<translation id="8849389110234859568">Bizonyos fájlok esetén rendszergazdai házirend korlátozza a hozzáférést.</translation>
 <translation id="8857149712089373752">nepáli, fonetikus billentyűzettel</translation>
 <translation id="8860454412039442620">Excel-táblázat</translation>
 <translation id="8866284467018526531">arab, betű szerinti átírás</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_hy.xtb b/ui/chromeos/translations/ui_chromeos_strings_hy.xtb
index 48361be..32e0395 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_hy.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_hy.xtb
@@ -478,7 +478,6 @@
    Եթե սարքը հեռացնեք օգտագործման ընթացքում, կարող եք որոշ տվյալներ կորցնել: Սպասեք մինչև գործողությունն ավարտվի, ապա Ֆայլեր հավելվածի միջոցով անջատեք սարքը:</translation>
 <translation id="5163869187418756376">Համօգտագործումը չհաջողվեց: Ստուգեք ձեր կապակցումը և փորձեք ավելի ուշ:</translation>
 <translation id="516592729076796170">ԱՄՆ ծրագրավորող Դվորակ</translation>
-<translation id="5172749059808361023">Սահմանափակումների մասին մանրամասներ</translation>
 <translation id="5177526793333269655">Մանրապատկերի տեսք</translation>
 <translation id="5181896909298187506">Վերջերս բացված ֆայլեր չկան</translation>
 <translation id="5194713942430106590">Սեղմեք՝ սյունակներն ըստ աճման կարգի տեսակավորելու համար։</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Վերականգնված ֆայլեր Google Drive-ից</translation>
 <translation id="5286194356314741248">Որոնում</translation>
 <translation id="5288441970121584418">Բուրգեր</translation>
-<translation id="5299998344490869684">Իսկապե՞ս ուզում եք դատարկել աղբարկղը։</translation>
 <translation id="5305688511332277257">Տեղադրված չկա</translation>
 <translation id="5317780077021120954">Պահել</translation>
 <translation id="5318819489018851358">Հասանելի դարձնել Լինուքսին</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Ընդհանուր պանակներ</translation>
 <translation id="7903984238293908205">Կատականա</translation>
 <translation id="7908793776359722643">Եթե բաժինը ֆորմատավորեք, դրա մեջ պահված բոլոր տվյալները կջնջվեն։ Գործողությունը հնարավոր չէ հետարկել։</translation>
+<translation id="7911118814695487383">Լինուքս</translation>
 <translation id="7925247922861151263">AAA ստուգումը չհաջողվեց</translation>
 <translation id="7925686952655276919">Չօգտագործել բջջային սարքերի տվյալները համաժամացման համար</translation>
 <translation id="7928710562641958568">Անջատել սարքը</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_id.xtb b/ui/chromeos/translations/ui_chromeos_strings_id.xtb
index 207fdcd..a123cb5 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_id.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_id.xtb
@@ -478,7 +478,6 @@
        Menghapus perangkat Anda saat digunakan dapat menyebabkan hilangnya data.  Tunggu hingga operasi berakhir, lalu keluarkan perangkat menggunakan aplikasi File.</translation>
 <translation id="5163869187418756376">Gagal berbagi. Periksa sambungan Anda dan coba lagi nanti.</translation>
 <translation id="516592729076796170">Programmer Dvorak AS</translation>
-<translation id="5172749059808361023">Detail pembatasan</translation>
 <translation id="5177526793333269655">Tampilan thumbnail</translation>
 <translation id="5181896909298187506">Tidak ada file terbaru</translation>
 <translation id="5194713942430106590">Klik untuk mengurutkan kolom dari atas ke bawah.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Memindai</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Yakin ingin mengosongkan Sampah?</translation>
 <translation id="5305688511332277257">Tidak ada yang dipasang</translation>
 <translation id="5317780077021120954">Simpan</translation>
 <translation id="5318819489018851358">Bagikan dengan Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Drive bersama</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Memformat partisi akan menghapus semua data yang tersimpan di dalamnya. Tindakan ini tidak dapat diurungkan.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Pemeriksaan AAA gagal</translation>
 <translation id="7925686952655276919">Jangan gunakan data seluler untuk sinkronisasi</translation>
 <translation id="7928710562641958568">Keluarkan perangkat</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_is.xtb b/ui/chromeos/translations/ui_chromeos_strings_is.xtb
index e44e7c2d..6100242 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_is.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_is.xtb
@@ -478,7 +478,6 @@
    Ef tækið er fjarlægt á meðan það er í notkun kunna gögn að tapast. Bíddu þangað til aðgerðinni er lokið og aftengdu síðan tækið úr skráaforritinu.</translation>
 <translation id="5163869187418756376">Mistókst að deila. Athugaðu nettenginguna og reyndu aftur síðar.</translation>
 <translation id="516592729076796170">Bandarískt Dvorak-lyklaborð fyrir forritara</translation>
-<translation id="5172749059808361023">Upplýsingar um takmörkun</translation>
 <translation id="5177526793333269655">Smámyndayfirlit</translation>
 <translation id="5181896909298187506">Engar nýlegar skrár</translation>
 <translation id="5194713942430106590">Smelltu til að raða dálkinum í hækkandi röð.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Endurheimtar skrár af Google Drive</translation>
 <translation id="5286194356314741248">Leit</translation>
 <translation id="5288441970121584418">Hamborgari</translation>
-<translation id="5299998344490869684">Viltu örugglega tæma ruslið?</translation>
 <translation id="5305688511332277257">Engin uppsett</translation>
 <translation id="5317780077021120954">Vista</translation>
 <translation id="5318819489018851358">Deila með Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Samnýtt drif</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Þegar sneið er forsniðin eyðast öll gögn af henni. Ekki er hægt að afturkalla þessa aðgerð.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-prófun mistókst</translation>
 <translation id="7925686952655276919">Ekki nota farsímagögn fyrir samstillingu</translation>
 <translation id="7928710562641958568">Losa tæki</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_it.xtb b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
index e845c4f..e3b64fe 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_it.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_it.xtb
@@ -478,7 +478,6 @@
    La rimozione del dispositivo mentre è in uso potrebbe causare la perdita di dati. Attendi fino al termine dell'operazione, quindi espelli il dispositivo utilizzando l'app File.</translation>
 <translation id="5163869187418756376">Condivisione non riuscita. Controlla la connessione e riprova più tardi.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Dettagli limitazioni</translation>
 <translation id="5177526793333269655">Visualizzazione Miniature</translation>
 <translation id="5181896909298187506">Nessun file recente</translation>
 <translation id="5194713942430106590">Fai clic per ordinare la colonna in ordine decrescente.</translation>
@@ -496,7 +495,6 @@
 <translation id="5286194356314741248">Ricerca</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Vuoi svuotare il cestino?</translation>
 <translation id="5305688511332277257">Nessuno installato</translation>
 <translation id="5317780077021120954">Salva</translation>
 <translation id="5318819489018851358">Condividi con Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Drive condivisi</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">La formattazione di una partizione eliminerà tutti i dati archiviati al suo interno. L'operazione non potrà essere annullata.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Controllo AAA non riuscito</translation>
 <translation id="7925686952655276919">Non utilizzare dati mobili per la sincronizzazione</translation>
 <translation id="7928710562641958568">Espelli dispositivo</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_iw.xtb b/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
index f22e4e7..289d4a2 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
@@ -269,6 +269,7 @@
 <translation id="3414856743105198592">פרמוט המדיה הנשלפת יגרום למחיקת כל הנתונים. האם ברצונך להמשיך?</translation>
 <translation id="3437801641691368414">שעת יצירה</translation>
 <translation id="343907260260897561">מצלמת פיתוח מיידי</translation>
+<translation id="3452106565701029351">ביטול ההצמדה מ'קבצים מהירים'</translation>
 <translation id="3455931012307786678">אסטונית</translation>
 <translation id="3475447146579922140">‏גיליון אלקטרוני של Google</translation>
 <translation id="3479552764303398839">לא עכשיו</translation>
@@ -474,7 +475,6 @@
        הסרת המכשיר בעודו בשימוש תגרום לאובדן נתונים. יש להמתין עד לסיום הפעולה, ולאחר מכן לנתק את המכשיר דרך היישום Files.</translation>
 <translation id="5163869187418756376">השיתוף נכשל. כדאי לבדוק את החיבור ולנסות שוב מאוחר יותר.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">פרטי ההגבלה</translation>
 <translation id="5177526793333269655">תצוגת תמונה ממוזערת</translation>
 <translation id="5181896909298187506">לא פתחת קבצים לאחרונה</translation>
 <translation id="5194713942430106590">יש ללחוץ כדי למיין את העמודה בסדר עולה.</translation>
@@ -494,7 +494,6 @@
 <translation id="5286194356314741248">הסריקה מתבצעת</translation>
 <translation id="5288441970121584418">המבורגר</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">בחרת לרוקן את האשפה. להמשיך?</translation>
 <translation id="5305688511332277257">לא מותקנים אישורים</translation>
 <translation id="5317780077021120954">שמירה</translation>
 <translation id="5318819489018851358">‏שיתוף עם Linux</translation>
@@ -671,6 +670,7 @@
 <translation id="6915678159055240887">Chromebox</translation>
 <translation id="6918340160281024199">US Workman</translation>
 <translation id="6930242544192836755">משך החיבור</translation>
+<translation id="6931302001003657424">הצמדה ל'קבצים מהירים'</translation>
 <translation id="6935521024859866267">פרפר הפוך</translation>
 <translation id="6943836128787782965">‏פעולת get של HTTP נכשלה</translation>
 <translation id="6949408524333579394">תעתיק סרבית</translation>
@@ -792,6 +792,7 @@
 <translation id="78946041517601018">‏כונני Drive משותפים</translation>
 <translation id="7903984238293908205">קאטקאנה</translation>
 <translation id="7908793776359722643">פרמוט מחיצה ימחק את כל הנתונים המאוחסנים בה. לא ניתן לבטל פעולה זו.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">‏בדיקת AAA נכשלה</translation>
 <translation id="7925686952655276919">אין להשתמש בנתונים ניידים עבור סנכרון</translation>
 <translation id="7928710562641958568">הוצאת המכשיר</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ja.xtb b/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
index 238a5c3..97f2a08 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ja.xtb
@@ -476,7 +476,6 @@
    使用中のデバイスを取り外すと、データが失われる恐れがあります。操作が完了してから、ファイル アプリを使ってデバイスを取り外してください。</translation>
 <translation id="5163869187418756376">共有できませんでした。接続を確認し、しばらくしてからもう一度お試しください。</translation>
 <translation id="516592729076796170">US Programmer Dvorak 配列</translation>
-<translation id="5172749059808361023">制限の詳細</translation>
 <translation id="5177526793333269655">サムネイル ビュー</translation>
 <translation id="5181896909298187506">最近使用したファイルはありません</translation>
 <translation id="5194713942430106590">クリックすると、列が昇順で並べ替えられます。</translation>
@@ -495,7 +494,6 @@
 <translation id="5286194356314741248">スキャン中</translation>
 <translation id="5288441970121584418">ハンバーガー</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">ゴミ箱を空にしてもよろしいですか?</translation>
 <translation id="5305688511332277257">インストールされていません</translation>
 <translation id="5317780077021120954">保存</translation>
 <translation id="5318819489018851358">Linux と共有</translation>
@@ -666,6 +664,7 @@
 <translation id="6874758081814639712">太極拳をしている人</translation>
 <translation id="6876155724392614295">自転車</translation>
 <translation id="6878261347041253038">デバナーガリ語キーボード(表音)</translation>
+<translation id="6881853403185175088">オフィス</translation>
 <translation id="6885780034956018177">カタツムリ</translation>
 <translation id="6896758677409633944">コピー</translation>
 <translation id="6898028766943174120">その他のサブフォルダ...</translation>
@@ -793,6 +792,7 @@
 <translation id="78946041517601018">共有ドライブ</translation>
 <translation id="7903984238293908205">カタカナ</translation>
 <translation id="7908793776359722643">パーティションをフォーマットすると、そのパーティションに保存されているすべてのデータが消去されます。この操作は元に戻せません。</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA を確認できませんでした</translation>
 <translation id="7925686952655276919">モバイル データを使用して同期しない</translation>
 <translation id="7928710562641958568">デバイスの取り出し</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ka.xtb b/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
index dbf1c1ab..1f1586b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ka.xtb
@@ -478,7 +478,6 @@
    თუ ამოიღებთ მოწყობილობას, სანამ გამოიყენება, შეიძლება დაკარგოთ მონაცემები. დაელოდეთ ოპერაციის დასრულებას და შემდეგ ამოიღეთ მოწყობილობა პროგრამის „ფაილები“ მეშვეობით.</translation>
 <translation id="5163869187418756376">გაზიარება ვერ მოხერხდა. შეამოწმეთ კავშირი და ხელახლა სცადეთ.</translation>
 <translation id="516592729076796170">შეერთებული შტატების დვორაკი პროგრამისტებისთვის</translation>
-<translation id="5172749059808361023">შეზღუდვის დეტალები</translation>
 <translation id="5177526793333269655">ესკიზების ხედი</translation>
 <translation id="5181896909298187506">ბოლოდროინდელი ფაილები არ არის</translation>
 <translation id="5194713942430106590">დააწკაპუნეთ სვეტის ზრდადი მიმდევრობით დასალაგებლად.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">აღდგენილი ფაილი Google Drive-დან</translation>
 <translation id="5286194356314741248">მიმდინარეობს სკანირება</translation>
 <translation id="5288441970121584418">ბურგერი</translation>
-<translation id="5299998344490869684">ნამდვილად გსურთ წაშლილების გასუფთავება?</translation>
 <translation id="5305688511332277257">არცერთი არ არის დაინსტალირებული</translation>
 <translation id="5317780077021120954">შენახვა</translation>
 <translation id="5318819489018851358">Linux-თან გაზიარება</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">საზიარო Drive-ები</translation>
 <translation id="7903984238293908205">კატაკანა</translation>
 <translation id="7908793776359722643">დანაყოფის დაფორმატება წაშლის მასში შენახულ ყველა მონაცემს. ამ მოქმედებას ვერ გააუქმებთ.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA შემოწმება ვერ მოხერხდა</translation>
 <translation id="7925686952655276919">არ გამოიყენოთ მობილური მონაცემები სინქრონიზაციისთვის</translation>
 <translation id="7928710562641958568">ამოიღეთ მოწყობილობა</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_kk.xtb b/ui/chromeos/translations/ui_chromeos_strings_kk.xtb
index 262d118f..d9929fe 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_kk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_kk.xtb
@@ -478,7 +478,6 @@
    Құрылғыңызды пайдалану кезінде жою деректердің жоғалуына себеп болуы мүмкін. Операцияның аяқталуын күтіп, Files қолданбасының көмегімен құрылғыны өшіріңіз.</translation>
 <translation id="5163869187418756376">Бөлісу сәтсіз аяқталды. Байланысты тексеріңіз және кейінірек қайталап көріңіз.</translation>
 <translation id="516592729076796170">АҚШ Бағдарламашы Дворак</translation>
-<translation id="5172749059808361023">Шектеу мәліметтері</translation>
 <translation id="5177526793333269655">Нобай көрінісі</translation>
 <translation id="5181896909298187506">Жаңа файлдар жоқ</translation>
 <translation id="5194713942430106590">Бағанды өсу ретімен сұрыптау үшін басыңыз.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Drive жүйесінен қалпына келтірілген файлдар</translation>
 <translation id="5286194356314741248">Ізделуде</translation>
 <translation id="5288441970121584418">Бургер</translation>
-<translation id="5299998344490869684">Себетті шынымен босатқыңыз келе ме?</translation>
 <translation id="5305688511332277257">Ешбірі орнатылмаған</translation>
 <translation id="5317780077021120954">Сақтау</translation>
 <translation id="5318819489018851358">Linux арқылы бөлісу</translation>
@@ -667,6 +665,7 @@
 <translation id="6874758081814639712">Тай-чимен айналысып жатқан адам</translation>
 <translation id="6876155724392614295">Велосипед</translation>
 <translation id="6878261347041253038">Деванагари пернетақтасы (фонетикалық)</translation>
+<translation id="6881853403185175088">Office</translation>
 <translation id="6885780034956018177">Ұлу</translation>
 <translation id="6896758677409633944">Көшіру</translation>
 <translation id="6898028766943174120">Тағы басқа ішкі қалталар...</translation>
@@ -795,6 +794,7 @@
 <translation id="78946041517601018">Ортақ дискілер</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">Бөлімді форматтасаңыз, онда сақталған деректердің барлығы өшіп қалады. Бұл әрекетті кері қайтару мүмкін емес.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA тексеру сәтсіз аяқталды</translation>
 <translation id="7925686952655276919">Синхрондау үшін ұялы деректерді пайдаланбау</translation>
 <translation id="7928710562641958568">Құрылғыны шығару</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_km.xtb b/ui/chromeos/translations/ui_chromeos_strings_km.xtb
index b0b2642..2027734 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_km.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_km.xtb
@@ -478,7 +478,6 @@
    ការដកឧបករណ៍របស់អ្នកចេញ ខណៈពេលកំពុងប្រើប្រាស់អាចបណ្តាលឲ្យបាត់បង់ទិន្នន័យ។ សូមរង់ចាំរហូតដល់ប្រតិបត្តិការត្រូវបានបញ្ចប់ បន្ទាប់មកបញ្ចេញឧបករណ៍ដោយប្រើកម្មវិធីឯកសារ។</translation>
 <translation id="5163869187418756376">ការចែករំលែកបានបរាជ័យ។ ពិនិត្យការភ្ជាប់របស់អ្នក ហើយព្យាយាមម្តងទៀត។</translation>
 <translation id="516592729076796170">អ្នកសរសេរកម្មវិធីអាមេរិក Dvorak</translation>
-<translation id="5172749059808361023">ព័ត៌មានលម្អិតអំពីការដាក់កំហិត</translation>
 <translation id="5177526793333269655">មើលរូបតំណាងតូច</translation>
 <translation id="5181896909298187506">គ្មាន​ឯកសារ​ថ្មីៗ​ទេ</translation>
 <translation id="5194713942430106590">ចុចដើម្បី​តម្រៀបជួរឈរ​តាមលំដាប់កើន។</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">ឯកសារដែលបានសង្គ្រោះពី Google Drive</translation>
 <translation id="5286194356314741248">កំពុង​ស្កេន</translation>
 <translation id="5288441970121584418">ប៊ឺហ្គឺ</translation>
-<translation id="5299998344490869684">តើអ្នកពិតជាចង់សម្អាត​ធុង​សំរាមមែនឬ?</translation>
 <translation id="5305688511332277257">គ្មានអ្វីត្រូវបានតំឡើងទេ</translation>
 <translation id="5317780077021120954">រក្សាទុក</translation>
 <translation id="5318819489018851358">ចែករំលែកជាមួយ Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">ថាស​ដែលបាន​ចែករំលែក</translation>
 <translation id="7903984238293908205">កាតាកាណា</translation>
 <translation id="7908793776359722643">ការសម្អាតផ្នែកណាមួយនឹងលុបទិន្នន័យទាំងអស់ ដែលបានរក្សាទុកនៅក្នុងនោះ។ សកម្មភាព​នេះ​មិន​អាច​​ត្រឡប់វិញ​បានទេ។</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">ការពិនិត្យ AAA បានបរាជ័យ</translation>
 <translation id="7925686952655276919">កុំប្រើទិន្នន័យទូរស័ព្ទសម្រាប់ធ្វើសមកម្ម</translation>
 <translation id="7928710562641958568">បញ្ចេញឧបករណ៍</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_kn.xtb b/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
index 92dd3f2..a5c792cf 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_kn.xtb
@@ -478,7 +478,6 @@
        ಬಳಕೆಯಲ್ಲಿರುವ ಸಂದರ್ಭದಲ್ಲಿಯೇ ನಿಮ್ಮ ಸಾಧನವನ್ನು ತೆಗೆಯುವುದರಿಂದ ಡೇಟಾ ನಾಶವಾಗಲು ಕಾರಣವಾಗಬಹುದು.  ದಯವಿಟ್ಟು ಕಾರ್ಯಾಚರಣೆ ಮುಗಿಯುವವರೆಗೂ ನಿರೀಕ್ಷಿಸಿ, ನಂತರ ಫೈಲ್‌ಗಳ ಅಪ್ಲಿಕೇಶನ್ ಬಳಸಿಕೊಂಡು ಸಾಧನವನ್ನು ಹೊರಹಾಕಿ.</translation>
 <translation id="5163869187418756376">ಹಂಚಿಕೆ ವಿಫಲಗೊಂಡಿದೆ. ನಿಮ್ಮ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ ಹಾಗೂ ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ.</translation>
 <translation id="516592729076796170">US ಪ್ರೊಗ್ರಾಮರ್ ಡಿವೊರಾಕ್</translation>
-<translation id="5172749059808361023">ನಿರ್ಬಂಧ ವಿವರಗಳು</translation>
 <translation id="5177526793333269655">ಚಿಕ್ಕಚಿತ್ರ ವೀಕ್ಷಣೆ</translation>
 <translation id="5181896909298187506">ಯಾವುದೇ ಇತ್ತೀಚಿನ ಫೈಲ್‌ಗಳಿಲ್ಲ</translation>
 <translation id="5194713942430106590">ಕಾಲಮ್ ಅನ್ನು ಮೇಲಿನಿಂದ ಕೆಳಗೆ ಕ್ರಮದಲ್ಲಿ ವಿಂಗಡಿಸಲು ಕ್ಲಿಕ್ ಮಾಡಿ.</translation>
@@ -499,7 +498,6 @@
 <translation id="5286194356314741248">ಸ್ಕ್ಯಾನಿಂಗ್</translation>
 <translation id="5288441970121584418">ಬರ್ಗರ್</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">ನೀವು ಖಂಡಿತವಾಗಿಯೂ ಅನುಪಯುಕ್ತವನ್ನು ಖಾಲಿ ಮಾಡಲು ಬಯಸುವಿರಾ?</translation>
 <translation id="5305688511332277257">ಯಾವುದನ್ನೂ ಸ್ಥಾಪನೆ ಮಾಡಲಾಗಿಲ್ಲ</translation>
 <translation id="5317780077021120954">ಉಳಿಸು</translation>
 <translation id="5318819489018851358">Linux ನೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">ಹಂಚಿಕೊಂಡಿರುವ ಡ್ರೈವ್‌ಗಳು</translation>
 <translation id="7903984238293908205">ಕಟಾಕನಾ</translation>
 <translation id="7908793776359722643">ವಿಭಾಗವನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದರೆ, ಅದರಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಿಹೋಗುತ್ತದೆ. ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA ಪರಿಶೀಲನೆ ವಿಫಲವಾಗಿದೆ</translation>
 <translation id="7925686952655276919">ಸಿಂಕ್ ಮಾಡುವುದಕ್ಕಾಗಿ ಮೊಬೈಲ್ ಡೇಟಾವನ್ನು ಬಳಸಬೇಡಿ</translation>
 <translation id="7928710562641958568">ಸಾಧನ ತೆಗೆದುಹಾಕು</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ko.xtb b/ui/chromeos/translations/ui_chromeos_strings_ko.xtb
index afca5144..b7132ae 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ko.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ko.xtb
@@ -478,7 +478,6 @@
    사용 중인 기기를 분리하면 데이터가 삭제될 수 있습니다. 작업이 끝날 때까지 기다린 다음 파일 앱을 사용하여 기기를 꺼내세요.</translation>
 <translation id="5163869187418756376">공유하지 못했습니다. 인터넷 연결을 확인하고 나중에 다시 시도해 주세요.</translation>
 <translation id="516592729076796170">미국 프로그래머 드보락</translation>
-<translation id="5172749059808361023">제한사항 세부정보</translation>
 <translation id="5177526793333269655">미리보기 이미지 보기</translation>
 <translation id="5181896909298187506">최근 파일 없음</translation>
 <translation id="5194713942430106590">열을 오름차순으로 정렬하려면 클릭하세요.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">검색 중</translation>
 <translation id="5288441970121584418">햄버거</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">휴지통을 비우시겠습니까?</translation>
 <translation id="5305688511332277257">설치된 인증서 없음</translation>
 <translation id="5317780077021120954">저장</translation>
 <translation id="5318819489018851358">Linux로 공유</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">공유 드라이브</translation>
 <translation id="7903984238293908205">가타카나</translation>
 <translation id="7908793776359722643">파티션을 포맷하면 파티션에 저장된 모든 데이터가 삭제됩니다. 이 작업은 되돌릴 수 없습니다.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA 확인 실패</translation>
 <translation id="7925686952655276919">모바일 데이터를 동기화에 사용하지 않습니다.</translation>
 <translation id="7928710562641958568">기기 꺼내기</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ky.xtb b/ui/chromeos/translations/ui_chromeos_strings_ky.xtb
index b13ca18..0556b0bc 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ky.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ky.xtb
@@ -478,7 +478,6 @@
    Түзмөгүңүз колдонулуп жатканда суурулса, дайындар жоголуп кетиши мүмкүн. Иш-аракет аяктагыча күтүп, андан соң түзмөктү Файлдар колдонмосу аркылуу чыгарып салыңыз.</translation>
 <translation id="5163869187418756376">Бөлүшүлбөй калды. Туташууңузду текшерип туруп, бир аздан кийин кайталап көрүңүз.</translation>
 <translation id="516592729076796170">АКШ Программачы Dvorak</translation>
-<translation id="5172749059808361023">Чектөө жөнүндө маалымат</translation>
 <translation id="5177526793333269655">Бармакбасым көрүнүшү</translation>
 <translation id="5181896909298187506">Жаңы файлдар жок</translation>
 <translation id="5194713942430106590">Тилкени чоңойгон ыраатта иреттөө үчүн чыкылдатыңыз.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Калыбына келтирилген Google Drive файлдары</translation>
 <translation id="5286194356314741248">Текшерилүүдө</translation>
 <translation id="5288441970121584418">Бургер</translation>
-<translation id="5299998344490869684">Таштандыны чын эле тазалайсызбы?</translation>
 <translation id="5305688511332277257">Эч бири орнотулган жок</translation>
 <translation id="5317780077021120954">Сактоо</translation>
 <translation id="5318819489018851358">Linux аркылуу бөлүшүү</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Жалпы дисктер</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">Бөлүмдөрдү форматтасаңыз, анда сакталган бардык нерселер өчүрүлөт. Бул аракетти артка кайтаруу мүмкүн эмес.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA текшерүүсү кыйрады</translation>
 <translation id="7925686952655276919">Мобилдик түзмөктөрдөгү дайындар шайкештирилбесин</translation>
 <translation id="7928710562641958568">Түзмөктү сууруу</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_lo.xtb b/ui/chromeos/translations/ui_chromeos_strings_lo.xtb
index e8d3a12..86911a08 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_lo.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_lo.xtb
@@ -478,7 +478,6 @@
    ການເອົາອຸປະກອນຂອງທ່ານອອກໃນຂະນະທີ່ມັນໃຊ້ງານຢູ່ ອາດຈະເຮັດໃຫ້ຂໍ້ມູນເສຍໄດ້.  ກະລຸນາລໍຖ້າຈົນກ່ວາຈົບການດໍາເນີນງານ, ຈາກນັ້ນດີດອຸປະກອນອອກດ້ວຍການໃຊ້ແອັບໄຟລ໌.</translation>
 <translation id="5163869187418756376">ການແຊຣ໌ລົ້ມເຫຼວ.ກວດເບິ່ງການເຊື່ອມຕໍ່ຂອງທ່ານ ແລະລອງໃໝ່ອີກພາຍຫຼັງ.</translation>
 <translation id="516592729076796170">Dvorak ຜູ້​ຂຽນ​ໂປ​ຣ​ແກ​ຣມ​ສະ​ຫະ​ລັດ</translation>
-<translation id="5172749059808361023">ລາຍລະອຽດການຈຳກັດ</translation>
 <translation id="5177526793333269655">ມຸມມອງຮູບນ້ອຍ</translation>
 <translation id="5181896909298187506">ບໍ່ມີໄຟລ໌ຫຼ້າສຸດ</translation>
 <translation id="5194713942430106590">ຄລິກເພື່ອຮຽງລຳດັບຖັນແຕ່ນ້ອຍຫາໃຫຍ່.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">ໄຟລ໌ທີ່ກູ້ຄືນຈາກ Google Drive</translation>
 <translation id="5286194356314741248">ກຳລັງສະແກນ</translation>
 <translation id="5288441970121584418">ເບີເກີ</translation>
-<translation id="5299998344490869684">ທ່ານແນ່ໃຈບໍ່ວ່າຕ້ອງການລຶບຂໍ້ມູນທັງໝົດໃນຖັງຂີ້ເຫຍື້ອອອກ?</translation>
 <translation id="5305688511332277257">ບໍ່ອັນໃດຖືກ​ຕິດ​ຕັ້ງ</translation>
 <translation id="5317780077021120954">ບັນທຶກ</translation>
 <translation id="5318819489018851358">ແບ່ງປັນກັບ Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">drive ທີ່ແບ່ງປັນ</translation>
 <translation id="7903984238293908205">ຄາຕາຄານະ</translation>
 <translation id="7908793776359722643">ການຟໍແມັດຫ້ອງຂໍ້ມູນຈະລຶບຂໍ້ມູນທັງໝົດທີ່ເກັບໄວ້ໃນມັນ. ຄຳສັ່ງນີ້ບໍ່ສາມາດຍົກເລີກໄດ້.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">ກວດເບິ່ງ AAA ບໍ່ສໍາເລັດ</translation>
 <translation id="7925686952655276919">ຢ່າໃຊ້ຂໍ້ມູນມືຖືສໍາລັບການຊິງຄ໌</translation>
 <translation id="7928710562641958568">ບີບອຸ​ປະ​ກອນອອກ</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
index 39c9a3c..bfb5647 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_lt.xtb
@@ -478,7 +478,6 @@
    Pašalinę dar naudojamą įrenginį galite prarasti duomenų. Palaukite, kol pasibaigs operacija, ir pašalinkite įrenginį naudodami programą „Failai“.</translation>
 <translation id="5163869187418756376">Nepavyko bendrinti. Patikrinkite ryšį ir vėliau bandykite dar kartą.</translation>
 <translation id="516592729076796170">Programuotojų JAV Dvorako</translation>
-<translation id="5172749059808361023">Išsami apribojimų informacija</translation>
 <translation id="5177526793333269655">Miniatiūros rodinys</translation>
 <translation id="5181896909298187506">Nėra naujausių failų</translation>
 <translation id="5194713942430106590">Spustelėkite, kad galėtumėte rūšiuoti stulpelį didėjimo tvarka.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Nuskaitoma</translation>
 <translation id="5288441970121584418">Mėsainis</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Ar tikrai norite išvalyti šiukšliadėžę?</translation>
 <translation id="5305688511332277257">Nėra įdiegtų</translation>
 <translation id="5317780077021120954">Išsaugoti</translation>
 <translation id="5318819489018851358">Bendrinimas su „Linux“</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Bendri diskai</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatuojant skaidinį bus ištrinti visi jame saugomi duomenys. Šio veiksmo anuliuoti negalima.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA patikra nepavyko</translation>
 <translation id="7925686952655276919">Sinchronizuojant nenaudoti duomenų mobiliesiems</translation>
 <translation id="7928710562641958568">Išstumti įrenginį</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_lv.xtb b/ui/chromeos/translations/ui_chromeos_strings_lv.xtb
index f61ad8b5..c6b79d5 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_lv.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_lv.xtb
@@ -478,7 +478,6 @@
    Atvienojot ierīci lietošanas laikā, var tikt zaudēti dati. Lūdzu, uzgaidiet, līdz tiks pabeigta darbība, un pēc tam atvienojiet ierīci, izmantojot lietotni Faili.</translation>
 <translation id="5163869187418756376">Kopīgošana neizdevās. Pārbaudiet savienojumu un vēlāk mēģiniet vēlreiz.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Informācija par ierobežojumiem</translation>
 <translation id="5177526793333269655">Sīktēlu skatījums</translation>
 <translation id="5181896909298187506">Nav nesenu failu</translation>
 <translation id="5194713942430106590">Noklikšķiniet, lai kārtotu kolonnas augošā secībā.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Notiek skenēšana</translation>
 <translation id="5288441970121584418">Burgers</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Vai tiešām vēlaties iztukšot atkritni?</translation>
 <translation id="5305688511332277257">Nav instalēts</translation>
 <translation id="5317780077021120954">Saglabāt</translation>
 <translation id="5318819489018851358">Kopīgot pakalpojumā Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Kopīgie diski</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatējot nodalījumu, tiks izdzēsti visi tajā glabātie dati. Šo darbību nevar atsaukt.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA pārbaude neizdevās</translation>
 <translation id="7925686952655276919">Nelietot mobilos datus sinhronizācijai</translation>
 <translation id="7928710562641958568">Ierīces atvienošana</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mk.xtb b/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
index f4c10d809..22a5848 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_mk.xtb
@@ -478,7 +478,6 @@
    Со отстранување на уредот додека се користи може да се предизвика загуба на податоци. Почекајте додека да заврши операцијата, па исфрлете го уредот со помош на апликацијата Датотеки.</translation>
 <translation id="5163869187418756376">Споделувањето не успеа. Проверете ја врската и обидете се повторно подоцна.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Детали за ограничувањата</translation>
 <translation id="5177526793333269655">Приказ на сликичка</translation>
 <translation id="5181896909298187506">Нема неодамнешни датотеки</translation>
 <translation id="5194713942430106590">Кликнете за подредување на колоната по растечки редослед.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Повратени датотеки од Google Диск</translation>
 <translation id="5286194356314741248">Скенирање</translation>
 <translation id="5288441970121584418">Хамбургер</translation>
-<translation id="5299998344490869684">Дали сигурно сакате да ја испразните корпата?</translation>
 <translation id="5305688511332277257">Нема инсталирано</translation>
 <translation id="5317780077021120954">Зачувај</translation>
 <translation id="5318819489018851358">Споделете со Linux</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">Апликација</translation>
 <translation id="7256405249507348194">Непрепознаена грешка: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Достапни услуги</translation>
+<translation id="7292816689782057017">Правило на администраторот го ограничува зачувувањето на одредени локации.</translation>
 <translation id="7294063083760278948">транслитерација на телугу</translation>
 <translation id="7295662345261934369">Сподели со другите</translation>
 <translation id="7297443947353982503">Корисничкото име/лозинката не се точни или автентикацијата со EAP не успеа</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">Споделени простори</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">Форматирањето на партицијата ќе ги избрише сите податоци што се зачувани на неа. Дејството не може да се врати.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-проверката не успеа</translation>
 <translation id="7925686952655276919">Не користи мобилен интернет за синхронизација</translation>
 <translation id="7928710562641958568">Извади уред</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">Пакувањето не успеа, ставката постои: „<ph name="FILE_NAME" />“</translation>
 <translation id="8813284582615685103">шпански (Шпанија)</translation>
 <translation id="8834164572807951958">Членовите на „<ph name="DESTINATION_NAME" />“ ќе добијат пристап до копијата на ставкиве.</translation>
+<translation id="8849389110234859568">Правилото за администратор го ограничува пристапот до одредени датотеки.</translation>
 <translation id="8857149712089373752">непалски со фонетска тастатура</translation>
 <translation id="8860454412039442620">Табела во Excel</translation>
 <translation id="8866284467018526531">транслитерација на арапски</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ml.xtb b/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
index e88c308..072fc7a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ml.xtb
@@ -478,7 +478,6 @@
    ഉപയോഗത്തിലിരിക്കുന്ന നിങ്ങളുടെ ഉപകരണം നീക്കംചെയ്യുന്നത് ഡാറ്റ നഷ്‌ടത്തിന് കാരണമാകാം. പ്രവർത്തനം പൂർത്തിയാകുന്നതുവരെ കാത്തിരിക്കുക, തുടർന്ന് Files ആപ്പ് ഉപയോഗിച്ച് ഉപകരണം ഒഴിവാക്കുക.</translation>
 <translation id="5163869187418756376">പങ്കിടൽ പരാജയപ്പെട്ടു. നിങ്ങളുടെ കണക്ഷൻ പരിശോധിച്ച് പിന്നീട് വീണ്ടും ശ്രമിക്കുക.</translation>
 <translation id="516592729076796170">യുഎസ് പ്രോഗ്രാമർ ഡൊറാക്ക്</translation>
-<translation id="5172749059808361023">നിയന്ത്രണ വിശദാംശങ്ങള്‍</translation>
 <translation id="5177526793333269655">ലഘുചിത്ര കാഴ്‌ച</translation>
 <translation id="5181896909298187506">അടുത്തിടെയുള്ള ഫയലുകളൊന്നുമില്ല</translation>
 <translation id="5194713942430106590">കോളം ആരോഹണക്രമത്തിൽ അടുക്കാൻ ക്ലിക്ക് ചെയ്യുക</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">സ്‌കാൻ ചെയ്യുന്നു</translation>
 <translation id="5288441970121584418">ബർഗർ</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">ട്രാഷിലെ ഇനങ്ങൾ ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ?</translation>
 <translation id="5305688511332277257">ഒന്നും ഇന്‍സ്റ്റാള്‍ ചെയ്തിട്ടില്ല</translation>
 <translation id="5317780077021120954">സംരക്ഷിക്കുക</translation>
 <translation id="5318819489018851358">Linux-മായി പങ്കിടുക</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">പങ്കിട്ട ഡ്രൈവുകൾ</translation>
 <translation id="7903984238293908205">കറ്റക്കാന</translation>
 <translation id="7908793776359722643">ഒരു ഭാഗം ഫോർമാറ്റ് ചെയ്യുന്നത് അതിൽ സംഭരിച്ചിരിക്കുന്ന എല്ലാ ഡാറ്റയും മായ്‌ക്കും. ഈ പ്രവർത്തനം പഴയപടിയാക്കാനാകില്ല.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA പരിശോധന പരാജയപ്പെട്ടു</translation>
 <translation id="7925686952655276919">സമന്വയത്തിനായി മൊബൈൽ ഡാറ്റ ഉപയോഗിക്കരുത്</translation>
 <translation id="7928710562641958568">ഉപകരണം നീക്കംചെയ്യുക</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mn.xtb b/ui/chromeos/translations/ui_chromeos_strings_mn.xtb
index 469ac448..554ddfd 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_mn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_mn.xtb
@@ -476,7 +476,6 @@
 <translation id="5159383109919732130"><ph name="BEGIN_BOLD" /> Та өөрийн төхөөрөмжийг бүү салгана уу! <ph name="END_BOLD" /> <ph name="LINE_BREAKS" /> Хэрэв та өөрийн төхөөрөмжийг ашиглаж байхдаа гэнэт салгасан тохиолдолд төхөөрөмж дээр хадгалагдаж буй мэдээллийнхээ тодорхой хэсгийг алдах магадлалтай. Тиймээс холбогдох үйлдлийг хийж дуусах хүртэл түр хүлээнэ үү. Файлтай холбоотой апп ашигласны дараагаар төхөөрөмжийг салгана уу.</translation>
 <translation id="5163869187418756376">Хуваалцах ажиллагаа амжилтгүй боллоо. Холболтоо шалгаад, дараа дахин оролдож үзнэ үү.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Хязгаарлалтын дэлгэрэнгүй</translation>
 <translation id="5177526793333269655">Хажуугийн талбарт жижгээр харах</translation>
 <translation id="5181896909298187506">Саяхны файл байхгүй байна</translation>
 <translation id="5194713942430106590">Баганыг өсөх дарааллаар эрэмбэлэхийн тулд товшино уу.</translation>
@@ -494,7 +493,6 @@
 <translation id="5275973617553375938">Google Drive-аас файлуудыг сэргээлээ</translation>
 <translation id="5286194356314741248">Скан хийж байна</translation>
 <translation id="5288441970121584418">Бургер</translation>
-<translation id="5299998344490869684">Та Хогийн савыг хоослохдоо итгэлтэй байна уу?</translation>
 <translation id="5305688511332277257">Юу ч суугдаагүй байна.</translation>
 <translation id="5317780077021120954">Хадгалах</translation>
 <translation id="5318819489018851358">Linux-р хуваалцах</translation>
@@ -718,6 +716,7 @@
 <translation id="7248671827512403053">Аппликейшн</translation>
 <translation id="7256405249507348194">Танигдаагүй алдаа: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Бэлэн үйлчилгээ</translation>
+<translation id="7292816689782057017">Администраторын бодлого нь зарим байршилд хадгалахыг хязгаарладаг.</translation>
 <translation id="7294063083760278948">Тэлүгү галиг</translation>
 <translation id="7295662345261934369">Бусадтай хуваалцах</translation>
 <translation id="7297443947353982503">Хэрэглэгчийн нэр/нууц үг буруу эсвэл EAP-Auth амжилтгүй болсон байна</translation>
@@ -794,6 +793,7 @@
 <translation id="78946041517601018">Дундын драйв</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Хуваарилалтыг форматалснаар үүнд хадгалсан бүх өгөгдлийг устгана. Энэ үйлдлийг буцаах боломжгүй.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA шалгалт амжилтгүй боллоо</translation>
 <translation id="7925686952655276919">Синхрончилоход үүрэн холбооны датаг бүү ашигла</translation>
 <translation id="7928710562641958568">Төхөөрөмжийг гаргах</translation>
@@ -903,6 +903,7 @@
 <translation id="8810671769985673465">Zip болгож чадсангүй. Байгаа зүйлс: "$1" "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">Испани (Испани)</translation>
 <translation id="8834164572807951958">'<ph name="DESTINATION_NAME" />'-н гишүүд эдгээр зүйлийн хуулбарт хандах эрх авна.</translation>
+<translation id="8849389110234859568">Администраторын бодлого нь зарим файлд хандахыг хязгаарладаг.</translation>
 <translation id="8857149712089373752">Авиа зүйн гартай балба</translation>
 <translation id="8860454412039442620">Эксел хүснэгт</translation>
 <translation id="8866284467018526531">Араб галиг</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
index a38a003..51baed1e 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_mr.xtb
@@ -478,7 +478,6 @@
  तुमचे डिव्हाइस वापरात असताना तो काढण्यामुळे डेटा गमावू शकतो. कृपया ऑपरेशन पूर्ण होईपर्यंत प्रतीक्षा करा, नंतर फाइल अ‍ॅप वापरून डिव्हाइस बाहेर काढून टाका.</translation>
 <translation id="5163869187418756376">सामायिकरण अयशस्वी. तुमचे कनेक्शन तपासा आणि नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="516592729076796170">यूएस प्रोग्रामर द्वोराक</translation>
-<translation id="5172749059808361023">निर्बंध तपशील</translation>
 <translation id="5177526793333269655">थंबनेल व्ह्यू</translation>
 <translation id="5181896909298187506">अलीकडील कोणत्याही फाइल नाहीत</translation>
 <translation id="5194713942430106590">स्तंभाची चढत्या क्रमाने क्रमवारी लावण्यासाठी क्लिक करा.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">स्‍कॅन करीत आहे</translation>
 <translation id="5288441970121584418">बर्गर</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">तुम्हाला ट्रॅश नक्की रिकामा करायचा आहे का?</translation>
 <translation id="5305688511332277257">काहीही इंस्टॉल केले नाही</translation>
 <translation id="5317780077021120954">सेव्ह करा</translation>
 <translation id="5318819489018851358">Linux वापरून शेअर करा</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">शेअर केलेली ड्राइव्ह</translation>
 <translation id="7903984238293908205">कॅटाकाना</translation>
 <translation id="7908793776359722643">पार्टिशन फॉरमॅट केल्याने त्यावर स्टोअर केलेला सर्व डेटा मिटवला जाईल. ही कृती पहिल्यासारखी केली जाऊ शकत नाही.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA तपास अयशस्वी</translation>
 <translation id="7925686952655276919">समक्रमणासाठी मोबाइल डेटा वापरु नका</translation>
 <translation id="7928710562641958568">डिव्हाइस काढून टाका</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ms.xtb b/ui/chromeos/translations/ui_chromeos_strings_ms.xtb
index 24c1757..8abf71b7 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ms.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ms.xtb
@@ -478,7 +478,6 @@
    Mengalih keluar peranti anda semasa sedang digunakan boleh menyebabkan kehilangan data. Sila tunggu sehingga operasi telah selesai, kemudian lentingkan peranti menggunakan apl Fail.</translation>
 <translation id="5163869187418756376">Perkongsian gagal. Periksa sambungan anda dan cuba lagi nanti.</translation>
 <translation id="516592729076796170">Dvorak Pengatur Cara AS</translation>
-<translation id="5172749059808361023">Butiran sekatan</translation>
 <translation id="5177526793333269655">Paparan lakaran kenit</translation>
 <translation id="5181896909298187506">Tiada fail baru-baru ini</translation>
 <translation id="5194713942430106590">Klik untuk mengisih lajur dalam tertib menaik.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Mengimbas</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Adakah anda pasti mahu mengosongkan Sampah?</translation>
 <translation id="5305688511332277257">Tiada yang dipasang</translation>
 <translation id="5317780077021120954">Simpan</translation>
 <translation id="5318819489018851358">Kongsi dengan Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Drive dikongsi</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Tindakan memformatkan petakan akan memadamkan semua data yang disimpan dalam petakan itu. Tindakan ini tidak boleh dibuat asal.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Gagal periksa AAA</translation>
 <translation id="7925686952655276919">Jangan gunakan data mudah alih untuk penyegerakan</translation>
 <translation id="7928710562641958568">Keluarkan peranti</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_my.xtb b/ui/chromeos/translations/ui_chromeos_strings_my.xtb
index 534796d01..35ec67b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_my.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_my.xtb
@@ -478,7 +478,6 @@
    အသုံးပြုနေစဉ် ဖြုတ်ပစ်လျှင် ဒေတာများပေျာက်သွားမည်။ ဆောင်ရွက်မှုပြီးသည်ထိ စောင့်ပြီးနောက်၊ Files အက်ပ် ကို သုံးကာဖြုတ်ပါ။</translation>
 <translation id="5163869187418756376">မျှဝေခြင်း မအောင်မြင်ပါ။ သင့်ချိတ်ဆက်မှုအား စစ်ဆေးကာ နောက်မှ ထပ်မံကြိုးစားပါ။</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">ကန့်သတ်ချက် အသေးစိတ်</translation>
 <translation id="5177526793333269655">လက်သည်းပုံ ကြည့်ရန်</translation>
 <translation id="5181896909298187506">လတ်တလောဖိုင်များ မရှိပါ</translation>
 <translation id="5194713942430106590">ကော်လံကို ငယ်စဉ်ကြီးလိုက်စီရန် နှိပ်ပါ။</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Drive မှရှာဖွေထားသည့် ဖိုင်များ</translation>
 <translation id="5286194356314741248">ရှာဖွေနေသည်</translation>
 <translation id="5288441970121584418">အသားညှပ်ပေါင်မုန့်လုံး</translation>
-<translation id="5299998344490869684">‘အမှိုက်ပုံး’ ကို ရှင်းလိုသည်မှာ သေချာသလား။</translation>
 <translation id="5305688511332277257">ဘာမှ မသွင်းထား</translation>
 <translation id="5317780077021120954">သိမ်းရန်</translation>
 <translation id="5318819489018851358">Linux ဖြင့် မျှဝေရန်</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">အပလီကေးရှင်း</translation>
 <translation id="7256405249507348194">သိမှတ်မရသည့် အမှား: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">ရရှိနိုင်သော ဝန်ဆောင်မှုများ</translation>
+<translation id="7292816689782057017">စီမံခန့်ခွဲသူမူဝါဒသည် အချို့နေရာများတွင် သိမ်းခြင်းကို ကန့်သတ်ထားသည်။</translation>
 <translation id="7294063083760278948">တယ်လူဂူ အက္ခရာဖလှယ်ခြင်း</translation>
 <translation id="7295662345261934369">အခြားသူများနှင့် မျှဝေရန်</translation>
 <translation id="7297443947353982503">အသုံးပြုသူအမည်/ လျှို့ဝှက်စာလုံး မမှန်ကန်ပါ သို့မဟုတ် EAP-auth မအောင်မြင်ပါ</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">မျှဝေထားသော ဒရိုက်ဗ်များ</translation>
 <translation id="7903984238293908205">ကသကန</translation>
 <translation id="7908793776359722643">အကန့်ခွဲတစ်ခုကို ဖော်မက်ချခြင်းက ၎င်းပေါ်တွင်သိမ်းထားသော ဒေတာအားလုံးကို ဖျက်လိုက်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍ မရပါ။</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA စစ်ဆေးခြင်း မအောင်မြင်ပါ</translation>
 <translation id="7925686952655276919">စင့်ခ်လုပ်ရန် အတွက် မိုဘိုင်းဒေတာကို မသုံးပါနှင့်</translation>
 <translation id="7928710562641958568">ကိရိယာကို ထုတ်ပစ်ရန်</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">ဇစ်လုပ်၍ မရပါ၊ ဖိုင်ရှိနေပါသည်- "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">စပိန် (စပိန်)</translation>
 <translation id="8834164572807951958">ဤအရာများ၏ မိတ္တူများကို '<ph name="DESTINATION_NAME" />' ၏ အဖွဲ့ဝင်များသည် အသုံးပြုခွင့်ရရှိမည်ဖြစ်သည်။</translation>
+<translation id="8849389110234859568">စီမံခန့်ခွဲသူမူဝါဒသည် အချို့ဖိုင်များသုံးခွင့်ကို ကန့်သတ်ထားသည်။</translation>
 <translation id="8857149712089373752">အသံထွက်ကီးဘုတ်ဖြင့် နီပေါ</translation>
 <translation id="8860454412039442620">အိတ်ဇ်ဇဲလ် ဇယားစာမျက်နှာပြင်</translation>
 <translation id="8866284467018526531">အာရဗီ အက္ခရာဖလှယ်ခြင်း</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ne.xtb b/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
index a7a1880..ff070d2 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ne.xtb
@@ -478,7 +478,6 @@
    तपाइँको यन्त्र प्रयोगमा हुँदा प्रयोग गर्नाले लगत हराउन सक्छ।  कृपया सञ्चालन नसक्किएसम्म प्रतिक्षा गर्नुहोस् र, त्यसपछि फाइल एप प्रयोग गर्दै यन्त्र हटाउनुहोस्।</translation>
 <translation id="5163869187418756376">साझा गर्न असफल। आफ्नो जडान जाँच गर्नुहोस् र पछि फेरि प्रयास गर्नुहोस्।</translation>
 <translation id="516592729076796170">अमेरिकी प्रोग्रामर भोराक किबोर्ड</translation>
-<translation id="5172749059808361023">प्रतिबन्धसम्बन्धी विवरणहरू</translation>
 <translation id="5177526793333269655">थम्बनेल दृश्य</translation>
 <translation id="5181896909298187506">हालसालै कुनै पनि फाइल हेरिएको छैन</translation>
 <translation id="5194713942430106590">स्तम्भलाई बढ्दो क्रममा क्रमबद्ध गर्न क्लिक गर्नुहोस्।</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google ड्राइभ फाइलहरू पुन: प्राप्त गरियो</translation>
 <translation id="5286194356314741248">स्क्यान गर्दै</translation>
 <translation id="5288441970121584418">बर्गर</translation>
-<translation id="5299998344490869684">तपाईंले ट्र्यास खाली गर्न खोज्नुभएकै हो?</translation>
 <translation id="5305688511332277257">कुनै स्थापित छैन</translation>
 <translation id="5317780077021120954">बचत गर्नुहोस्</translation>
 <translation id="5318819489018851358">Linux मार्फत सेयर गर्नुहोस्</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">साझा ड्राइभहरू</translation>
 <translation id="7903984238293908205">काटाकाना</translation>
 <translation id="7908793776359722643">तपाईंले कुनै पार्टिसन फर्म्याट गर्नुभयो भने उक्त पार्टिसनमा भण्डारण गरिएको सम्पूर्ण डेटा मेटिने छ। यो कार्य अन्डू गर्न सकिँदैन।</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA जाँच असफल भयो</translation>
 <translation id="7925686952655276919">समक्रमणको लागि मोबाइल डाटा प्रयोग नगर्नुहोस्</translation>
 <translation id="7928710562641958568">यन्त्र निकाल्नुहोस्</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_nl.xtb b/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
index 263106f..ca279c8 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_nl.xtb
@@ -479,7 +479,6 @@
        Als je je apparaat verwijdert terwijl het wordt gebruikt, raak je mogelijk gegevens kwijt. Wacht totdat de bewerking is voltooid en werp het apparaat vervolgens uit via de app Bestanden.</translation>
 <translation id="5163869187418756376">Delen mislukt. Controleer de verbinding en probeer het later opnieuw.</translation>
 <translation id="516592729076796170">Amerikaans Programmer Dvorak</translation>
-<translation id="5172749059808361023">Beperkingsdetails</translation>
 <translation id="5177526793333269655">Miniatuurweergave</translation>
 <translation id="5181896909298187506">Geen recente bestanden</translation>
 <translation id="5194713942430106590">Klik om de kolom in oplopende volgorde te sorteren.</translation>
@@ -498,7 +497,6 @@
 <translation id="5286194356314741248">Scannen</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Weet je zeker dat je de prullenbak wilt leegmaken?</translation>
 <translation id="5305688511332277257">Geen certificaten geïnstalleerd</translation>
 <translation id="5317780077021120954">Opslaan</translation>
 <translation id="5318819489018851358">Delen met Linux</translation>
@@ -798,6 +796,7 @@
 <translation id="78946041517601018">Gedeelde Drives</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Tijdens het formatteren van een partitie worden alle opgeslagen gegevens verwijderd. Deze actie kan niet ongedaan worden gemaakt.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-controle mislukt</translation>
 <translation id="7925686952655276919">Geen mobiele data gebruiken voor synchronisatie</translation>
 <translation id="7928710562641958568">Apparaat uitwerpen</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_no.xtb b/ui/chromeos/translations/ui_chromeos_strings_no.xtb
index 9d296e6..de97ec1 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_no.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_no.xtb
@@ -478,7 +478,6 @@
        Fjerning av enheten mens den er i bruk kan resultere i tap av data. Vent til handlingen er utført før du mater ut enheten ved bruk av Filer-appen.</translation>
 <translation id="5163869187418756376">Delingen mislyktes. Sjekk tilkoblingen din og prøv på nytt senere.</translation>
 <translation id="516592729076796170">Amerikansk programmeringstastatur (Dvorak)</translation>
-<translation id="5172749059808361023">Begrensningsdetaljer</translation>
 <translation id="5177526793333269655">Miniatyrbildevisning</translation>
 <translation id="5181896909298187506">Ingen nylige filer</translation>
 <translation id="5194713942430106590">Klikk for å sortere kolonnen i stigende rekkefølge.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skanning</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Er du sikker på at du vil tømme papirkurven?</translation>
 <translation id="5305688511332277257">Ingen installert</translation>
 <translation id="5317780077021120954">Lagre</translation>
 <translation id="5318819489018851358">Del med Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Delte disker</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatering av partisjonen sletter alle data som er lagret på den. Denne handlingen kan ikke angres.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA-kontroll mislyktes</translation>
 <translation id="7925686952655276919">Ikke bruk mobildata ved synkronisering</translation>
 <translation id="7928710562641958568">Løs ut enhet</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_or.xtb b/ui/chromeos/translations/ui_chromeos_strings_or.xtb
index f0b78682..3f43601 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_or.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_or.xtb
@@ -478,7 +478,6 @@
    ବ୍ୟବହାର କରିବା ସମୟରେ ଆପଣଙ୍କର ଡିଭାଇସ୍‍କୁ କାଢ଼ିଦେବା ଦ୍ୱାରା ଡାଟା କ୍ଷତି ହୋଇପାରେ।  ଦୟାକରି ଅପରେସନ୍ ସମ୍ପୂର୍ଣ୍ଣ ହେବା ପର୍ଯ୍ୟନ୍ତ ଅପେକ୍ଷା କରନ୍ତୁ, ତା'ପରେ Files ଆପ୍ ବ୍ୟବହାର କରି ଡିଭାଇସ୍‍କୁ ବାହାର କରିଦିଅନ୍ତୁ।</translation>
 <translation id="5163869187418756376">ସେୟାର୍ ହେଇପାରିଲା ନାହିଁ ନିଜ ସଂଯୋଗ ଯାଞ୍ଚ କରି ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="516592729076796170">US ପ୍ରୋଗ୍ରାମର୍ ଡିଭୋରାକ୍</translation>
-<translation id="5172749059808361023">ପ୍ରତିବନ୍ଧକ ବିବରଣୀ</translation>
 <translation id="5177526793333269655">ଥମ୍ଵନେଲ୍ ଦର୍ଶନ</translation>
 <translation id="5181896909298187506">ବର୍ତ୍ତମାନର କୌଣସି ଫାଇଲ ନାହିଁ</translation>
 <translation id="5194713942430106590">କଲମ୍‍କୁ ସାନରୁ ବଡ଼ କ୍ରମରେ ସଜାଇବା ପାଇଁ କ୍ଲିକ୍ କରନ୍ତୁ।</translation>
@@ -491,7 +490,6 @@
 <translation id="5275973617553375938">Google Driveରୁ ଫାଇଲ୍ ପୁନରୁଦ୍ଧାର ହୋଇଛି</translation>
 <translation id="5286194356314741248">ସ୍କାନ୍ ହେଉଛି</translation>
 <translation id="5288441970121584418">ବର୍ଗର୍</translation>
-<translation id="5299998344490869684">ଆପଣ ଟ୍ରାସକୁ ଖାଲି କରିବାକୁ ଚାହୁଁଥିବା ନିଶ୍ଚିତ କି?</translation>
 <translation id="5305688511332277257">କିଛି ଇନ୍‍ଷ୍ଟଲ୍ କରାଯାଇନାହିଁ</translation>
 <translation id="5317780077021120954">ସଞ୍ଚୟ</translation>
 <translation id="5318819489018851358">Linux ସହିତ ସେୟାର୍ କରନ୍ତୁ</translation>
@@ -791,6 +789,7 @@
 <translation id="78946041517601018">ସେୟାର୍ ହୋଇଥିବା ଡ୍ରାଇଭ୍‌ଗୁଡ଼ିକ</translation>
 <translation id="7903984238293908205">କାଟାକାନା</translation>
 <translation id="7908793776359722643">ଏକ ପାର୍ଟିସନକୁ ଫର୍ମାଟ୍ କରିବା ଦ୍ୱାରା ଏଥିରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ସମସ୍ତ ଡାଟା ଲିଭିଯିବ। ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରାଯାଇପାରିବ ନାହିଁ।</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAAର ଯାଞ୍ଚ ଫେଲ୍‌ ହୋ‍ଇଗଲା</translation>
 <translation id="7925686952655276919">ସିଙ୍କ୍‍ କରିବା ପାଇଁ ମୋବାଇଲ୍‌ ଡାଟା ବ୍ୟବହାର କରନ୍ତୁ ନାହିଁ</translation>
 <translation id="7928710562641958568">ଡିଭାଇସ୍‌କୁ ବାହାର କରନ୍ତୁ</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pa.xtb b/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
index f27da0c..6d1403b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pa.xtb
@@ -478,7 +478,6 @@
    ਡੀਵਾਈਸ ਦੇ ਵਰਤੋਂ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਇਸਨੂੰ ਹਟਾਉਣ ਨਾਲ ਡਾਟਾ ਨਸ਼ਟ ਹੋ ਸਕਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਓਪਰੇਸ਼ਨ ਦੇ ਖ਼ਤਮ ਹੋਣ ਤੱਕ ਉਡੀਕ ਕਰੋ, ਫਿਰ Files ਐਪ ਵਰਤਦੇ ਹੋਏ ਡੀਵਾਈਸ ਨੂੰ ਹਟਾਓ।</translation>
 <translation id="5163869187418756376">ਸਾਂਝਾਕਰਨ ਅਸਫਲ। ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">ਪਾਬੰਦੀ ਦੇ ਵੇਰਵੇ</translation>
 <translation id="5177526793333269655">ਲਘੂ-ਚਿੱਤਰ ਦ੍ਰਿਸ਼</translation>
 <translation id="5181896909298187506">ਕੋਈ ਹਾਲੀਆ ਫ਼ਾਈਲ ਨਹੀਂ</translation>
 <translation id="5194713942430106590">ਕਾਲਮ ਨੂੰ ਵਧਦੇ ਕ੍ਰਮ ਵਿੱਚ ਕ੍ਰਮ-ਬੱਧ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ।</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Drive ਤੋਂ ਰਿਕਵਰ ਕੀਤੀਆਂ ਫਾਈਲਾਂ</translation>
 <translation id="5286194356314741248">ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</translation>
 <translation id="5288441970121584418">ਬਰਗਰ</translation>
-<translation id="5299998344490869684">ਕੀ ਤੁਸੀਂ ਰੱਦੀ ਨੂੰ ਖਾਲੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?</translation>
 <translation id="5305688511332277257">ਕੋਈ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ</translation>
 <translation id="5317780077021120954">ਰੱਖਿਅਤ ਕਰੋ</translation>
 <translation id="5318819489018851358">Linux ਨਾਲ ਸਾਂਝਾ ਕਰੋ</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">ਸਾਂਝੇ ਡਰਾਈਵ</translation>
 <translation id="7903984238293908205">ਕਾਟਾਕਾਨਾ</translation>
 <translation id="7908793776359722643">ਕਿਸੇ ਭਾਗ ਨੂੰ ਫਾਰਮੈਟ ਕਰਨ ਨਾਲ ਇਸ 'ਤੇ ਸਟੋਰ ਕੀਤਾ ਸਾਰਾ ਡਾਟਾ ਮਿਟ ਜਾਵੇਗਾ। ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA ਜਾਂਚ ਅਸਫਲ ਹੋ ਗਈ</translation>
 <translation id="7925686952655276919">ਸਿੰਕ ਕਰਨ ਲਈ ਮੋਬਾਈਲ ਡਾਟਾ ਨਾ ਵਰਤੋ</translation>
 <translation id="7928710562641958568">ਡੀਵਾਈਸ ਹਟਾਓ</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
index cfa5833..a7a0932a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pl.xtb
@@ -478,7 +478,6 @@
        Jeśli to zrobisz w trakcie pracy, możesz spowodować utratę danych. Poczekaj na zakończenie operacji, a następnie odłącz urządzenie, używając aplikacji Pliki.</translation>
 <translation id="5163869187418756376">Niepowodzenie udostępniania. Sprawdź połączenie i spróbuj ponownie później.</translation>
 <translation id="516592729076796170">Amerykańska dewelopera (Dvorak)</translation>
-<translation id="5172749059808361023">Informacje o ograniczeniu</translation>
 <translation id="5177526793333269655">Widok miniatur</translation>
 <translation id="5181896909298187506">Brak nowych plików</translation>
 <translation id="5194713942430106590">Kliknij, by posortować kolumnę w kolejności rosnącej.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skanowanie</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Czy na pewno chcesz opróżnić kosz?</translation>
 <translation id="5305688511332277257">Brak zainstalowanych</translation>
 <translation id="5317780077021120954">Zapisz</translation>
 <translation id="5318819489018851358">Udostępnij Linuksowi</translation>
@@ -798,6 +796,7 @@
 <translation id="78946041517601018">Dyski współdzielone</translation>
 <translation id="7903984238293908205">katakana</translation>
 <translation id="7908793776359722643">Sformatowanie partycji usunie wszystkie zapisane na niej dane. Tej czynności nie będzie można cofnąć.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Sprawdzenie AAA nie powiodło się</translation>
 <translation id="7925686952655276919">Nie synchronizuj przez połączenie komórkowe</translation>
 <translation id="7928710562641958568">Odłącz urządzenie</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pt-BR.xtb b/ui/chromeos/translations/ui_chromeos_strings_pt-BR.xtb
index ca3dc80..fd9d301 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pt-BR.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pt-BR.xtb
@@ -478,7 +478,6 @@
        A remoção do dispositivo enquanto ele está em uso pode causar perda de dados. Espere até que a operação esteja terminada e remova o dispositivo usando o aplicativo Arquivos.</translation>
 <translation id="5163869187418756376">Falha no compartilhamento. Verifique sua conexão e tente novamente mais tarde.</translation>
 <translation id="516592729076796170">Programmer Dvorak americano</translation>
-<translation id="5172749059808361023">Detalhes de restrição</translation>
 <translation id="5177526793333269655">Visualização em miniatura</translation>
 <translation id="5181896909298187506">Nenhum arquivo recente</translation>
 <translation id="5194713942430106590">Clique para classificar a coluna em ordem crescente.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Verificando</translation>
 <translation id="5288441970121584418">Hambúrguer</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Tem certeza de que quer esvaziar a lixeira?</translation>
 <translation id="5305688511332277257">Nenhum instalado</translation>
 <translation id="5317780077021120954">Salvar</translation>
 <translation id="5318819489018851358">Compartilhar com o Linux</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Aplicativo</translation>
 <translation id="7256405249507348194">Erro não reconhecido: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Serviços disponíveis</translation>
+<translation id="7292816689782057017">A política do administrador restringe a capacidade de salvar em alguns locais.</translation>
 <translation id="7294063083760278948">Telugo (transliteração)</translation>
 <translation id="7295662345261934369">Compartilhar com outras pessoas</translation>
 <translation id="7297443947353982503">Nome de usuário/senha incorretos ou falha de autenticação EAP</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Drives compartilhados</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatar uma partição excluirá todos os dados armazenados nela. Essa ação não pode ser desfeita.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Falha ao verificar AAA</translation>
 <translation id="7925686952655276919">Não usar dados móveis na sincronização</translation>
 <translation id="7928710562641958568">Ejetar dispositivo</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Falha na compactação, o item existe: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">Espanhol (Espanha)</translation>
 <translation id="8834164572807951958">Membros de '<ph name="DESTINATION_NAME" />' terão acesso à cópia desses itens.</translation>
+<translation id="8849389110234859568">A política do administrador restringe o acesso a alguns arquivos.</translation>
 <translation id="8857149712089373752">Nepalês com teclado fonético</translation>
 <translation id="8860454412039442620">Planilha do Excel</translation>
 <translation id="8866284467018526531">Árabe (transliteração)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
index b414d40..cf50de8 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_pt-PT.xtb
@@ -478,7 +478,6 @@
    Remover o dispositivo enquanto está a ser utilizado pode provocar perda de dados. Aguarde pela conclusão da operação e, em seguida, ejete o dispositivo através da aplicação Ficheiros.</translation>
 <translation id="5163869187418756376">Falha ao partilhar. Verifique a ligação e tente novamente mais tarde.</translation>
 <translation id="516592729076796170">Dvorak de programador americano</translation>
-<translation id="5172749059808361023">Detalhes da restrição</translation>
 <translation id="5177526793333269655">Vista de miniatura</translation>
 <translation id="5181896909298187506">Sem ficheiros recentes</translation>
 <translation id="5194713942430106590">Clique para ordenar a coluna por ordem ascendente.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">A procurar</translation>
 <translation id="5288441970121584418">Hambúrguer</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Tem a certeza de que pretende esvaziar o lixo?</translation>
 <translation id="5305688511332277257">Nenhum instalado</translation>
 <translation id="5317780077021120954">Guardar</translation>
 <translation id="5318819489018851358">Partilhar com Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Unidades partilhadas</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">A formatação de uma partição elimina todos os dados armazenados na mesma. Não é possível anular esta ação.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">A verificação AAA falhou</translation>
 <translation id="7925686952655276919">Não utilizar dados móveis para sincronização</translation>
 <translation id="7928710562641958568">Ejetar aparelho</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ro.xtb b/ui/chromeos/translations/ui_chromeos_strings_ro.xtb
index 03918e8..e7baf62 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ro.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ro.xtb
@@ -478,7 +478,6 @@
    Dacă scoateți dispozitivul în timp ce este folosit, puteți pierde date. Așteptați finalizarea operației, apoi scoateți dispozitivul folosind aplicația Fișiere.</translation>
 <translation id="5163869187418756376">Trimiterea nu a reușit. Verificați conexiunea la internet și încercați din nou mai târziu.</translation>
 <translation id="516592729076796170">Programator S.U.A. Dvorak</translation>
-<translation id="5172749059808361023">Detalii despre restricții</translation>
 <translation id="5177526793333269655">Vizualizare cu miniaturi</translation>
 <translation id="5181896909298187506">Niciun fișier recent</translation>
 <translation id="5194713942430106590">Dă clic pentru a sorta coloana în ordine crescătoare.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Scanare</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Sigur vrei să golești coșul de gunoi?</translation>
 <translation id="5305688511332277257">Niciunul instalat</translation>
 <translation id="5317780077021120954">Salvează</translation>
 <translation id="5318819489018851358">Trimite cu Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Drive-uri în comun</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatarea partiției va șterge toate datele stocate pe partiție. Această acțiune nu poate fi anulată.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Verificarea AAA nu a reușit</translation>
 <translation id="7925686952655276919">Nu utilizați date mobile pentru sincronizare</translation>
 <translation id="7928710562641958568">Scoateți dispozitivul</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ru.xtb b/ui/chromeos/translations/ui_chromeos_strings_ru.xtb
index c2a5ca54..fa5589b 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ru.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ru.xtb
@@ -478,7 +478,6 @@
    Дождитесь окончания операции и извлеките устройство с помощью приложения "Файлы". В противном случае некоторые данные могут быть утеряны.</translation>
 <translation id="5163869187418756376">Не удалось предоставить доступ. Проверьте подключение к сети и повторите попытку.</translation>
 <translation id="516592729076796170">Клавиатура Дворака для программистов (США)</translation>
-<translation id="5172749059808361023">Сведения об ограничениях</translation>
 <translation id="5177526793333269655">Уменьшенные изображения</translation>
 <translation id="5181896909298187506">Нет недавних файлов.</translation>
 <translation id="5194713942430106590">Нажмите, чтобы отсортировать значения в столбце по возрастанию.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Сканирование...</translation>
 <translation id="5288441970121584418">Бургер</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Очистить корзину?</translation>
 <translation id="5305688511332277257">Не установлено</translation>
 <translation id="5317780077021120954">Сохранить</translation>
 <translation id="5318819489018851358">Предоставить доступ Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Общие диски</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">При форматировании раздела все хранящиеся в нем данные будут удалены. Это действие нельзя отменить.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Сбой при проверке AAA</translation>
 <translation id="7925686952655276919">Не используйте синхронизацию данных с мобильных устройств</translation>
 <translation id="7928710562641958568">Извлечь устройство</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_si.xtb b/ui/chromeos/translations/ui_chromeos_strings_si.xtb
index b549d2f..9fdedb0 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_si.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_si.xtb
@@ -478,7 +478,6 @@
    එය භාවිතයේ ඇති අතරතුර ඔබගේ උපාංගය ඉවත් කිරීම දත්ත හානියට හේතු විය හැකිය.  කරුණාකර මෙහෙයුම අවසන් වනතුරු රැඳී සිට, අනතුරුව ගොනු යෙදුම භාවිතයෙන් උපාංගය විසර්ජනය කරන්න.</translation>
 <translation id="5163869187418756376">බෙදාගැනීම අසාර්ථකයි. ඔබේ සබඳතාව පිරික්සා නැවත උත්සහ කරන්න.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">සීමා කිරීම් විස්තර</translation>
 <translation id="5177526793333269655">කුඩාරූ දසුන</translation>
 <translation id="5181896909298187506">මෑත ගොනු නැත</translation>
 <translation id="5194713942430106590">තීරුව නැඟෙන පිළිවෙළට සැකසීමට ක්ලික් කරන්න.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Drive වෙතින් නැවත ලබාගත්</translation>
 <translation id="5286194356314741248">ස්කෑන් කිරීම</translation>
 <translation id="5288441970121584418">බර්ගර්</translation>
-<translation id="5299998344490869684">ඔබට කුණු කූඩය හිස් කිරීමට අවශ්‍ය බව විශ්වාසද?</translation>
 <translation id="5305688511332277257">කිසිවක් ස්ථාපනය නොවිණ</translation>
 <translation id="5317780077021120954">සුරකින්න</translation>
 <translation id="5318819489018851358">Linux සමග බෙදාගන්න</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">බෙදාගත් ධාවක</translation>
 <translation id="7903984238293908205">කටගනා</translation>
 <translation id="7908793776359722643">කොටසක් හැඩ ගැන්වීම එහි ගබඩා කර ඇති සියලු දත්ත මකනු ඇත. මෙම ක්‍රියාව පසුගමනය කළ නොහැකිය.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA පරීක්ෂණ අසමත්</translation>
 <translation id="7925686952655276919">සමමු සඳහා ජංගම දත්ත භාවිතා කරන්න</translation>
 <translation id="7928710562641958568">උපාංගය බැහැර කරන්න</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
index c779287..fa63c68c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sk.xtb
@@ -478,7 +478,6 @@
        Odpojením zariadenia počas používania môžete spôsobiť stratu údajov. Počkajte na dokončenie operácie a následne zariadenie vysuňte pomocou aplikácie Súbory.</translation>
 <translation id="5163869187418756376">Zdieľanie zlyhalo. Skontrolujte pripojenie a skúste to neskôr.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Podrobnosti o obmedzeniach</translation>
 <translation id="5177526793333269655">Zobrazenie miniatúr</translation>
 <translation id="5181896909298187506">Žiadne nedávne súbory</translation>
 <translation id="5194713942430106590">Kliknutím zoradíte stĺpec vo vzostupnom poradí.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Prebieha vyhľadávanie</translation>
 <translation id="5288441970121584418">Hamburger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Naozaj chcete vyprázdniť kôš?</translation>
 <translation id="5305688511332277257">Žiadne nainštalované</translation>
 <translation id="5317780077021120954">Uložiť</translation>
 <translation id="5318819489018851358">Zdieľanie so systémom Linux</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Aplikácia</translation>
 <translation id="7256405249507348194">Nerozpoznaná chyba: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Dostupné služby</translation>
+<translation id="7292816689782057017">Pravidlá správcu obmedzujú ukladanie obsahu do niektorých umiestnení.</translation>
 <translation id="7294063083760278948">Telugská klávesnica (prepis)</translation>
 <translation id="7295662345261934369">Zdieľať s ostatnými</translation>
 <translation id="7297443947353982503">Používateľské meno alebo heslo je nesprávne alebo zlyhalo overenie EAP-auth</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Spoločné disky</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formátovaním oddielu vymažete všetky dáta, ktoré sú v ňom uložené. Táto akcia sa nedá vrátiť späť.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Kontrola AAA zlyhala</translation>
 <translation id="7925686952655276919">Nepoužívať mobilné dátové prenosy na synchronizáciu</translation>
 <translation id="7928710562641958568">Vysunúť zariadenie</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Komprimovanie zlyhalo, položka existuje: „<ph name="FILE_NAME" />“</translation>
 <translation id="8813284582615685103">Španielska (Španielsko) klávesnica</translation>
 <translation id="8834164572807951958">Členovia cieľa <ph name="DESTINATION_NAME" /> získajú prístup ku kópii týchto položiek.</translation>
+<translation id="8849389110234859568">Pravidlá správcu obmedzujú prístup k niektorým súborom.</translation>
 <translation id="8857149712089373752">Nepálska fonetická klávesnica</translation>
 <translation id="8860454412039442620">Tabuľka aplikácie Excel</translation>
 <translation id="8866284467018526531">Arabská klávesnica (prepis)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
index 87f3c64..c2dd1cf 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sl.xtb
@@ -478,7 +478,6 @@
        Če odstranite napravo, ko je še v uporabi, lahko izgubite podatke. Počakajte do konca postopka in nato napravo izvrzite z aplikacijo Datoteke.</translation>
 <translation id="5163869187418756376">Souporaba ni uspela. Preverite povezavo in poskusite znova.</translation>
 <translation id="516592729076796170">Angleška tipkovnica Dvorak za programerje (ZDA)</translation>
-<translation id="5172749059808361023">Podrobnosti o omejitvi</translation>
 <translation id="5177526793333269655">Pogled sličic</translation>
 <translation id="5181896909298187506">Ni nedavnih datotek</translation>
 <translation id="5194713942430106590">Kliknite, če želite razvrstiti elemente stolpca v naraščajočem vrstnem redu.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Pregledovanje</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Ali res želite izprazniti smetnjak?</translation>
 <translation id="5305688511332277257">Ni nameščenih</translation>
 <translation id="5317780077021120954">Shrani</translation>
 <translation id="5318819489018851358">Deljenje z Linuxom</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Diski v skupni rabi</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Če formatirate particijo, se izbrišejo vsi podatki, shranjeni na njej. Tega dejanja ni mogoče razveljaviti.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Preverjanje AAA ni uspelo</translation>
 <translation id="7925686952655276919">Ne uporabi mobilnih podatkov za sinhronizacijo</translation>
 <translation id="7928710562641958568">Izpni napravo</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sq.xtb b/ui/chromeos/translations/ui_chromeos_strings_sq.xtb
index 35e72a3..cf5ec97 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sq.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sq.xtb
@@ -478,7 +478,6 @@
    Heqja e pajisjes kur është në përdorim mund të shkaktojë humbje të të dhënave. Prit deri sa të përfundojë operacioni dhe më pas nxirre pajisjen duke përdorur aplikacionin "Skedarët".</translation>
 <translation id="5163869187418756376">Ndarja dështoi. Kontrollo lidhjen dhe provo përsëri më vonë.</translation>
 <translation id="516592729076796170">Amerikane Dvorak për programues</translation>
-<translation id="5172749059808361023">Detajet për kufizimet</translation>
 <translation id="5177526793333269655">Pamje miniaturë</translation>
 <translation id="5181896909298187506">Nuk ka skedarë të fundit</translation>
 <translation id="5194713942430106590">Kliko për të renditur kolonën në rend ngjitës.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Skedarët e rikuperuar nga "Disku i Google"</translation>
 <translation id="5286194356314741248">Po skanon</translation>
 <translation id="5288441970121584418">Hamburger</translation>
-<translation id="5299998344490869684">Je i/e sigurt që dëshiron të zbrazësh "Koshin"?</translation>
 <translation id="5305688511332277257">Nuk është instaluar asnjë</translation>
 <translation id="5317780077021120954">Ruaj</translation>
 <translation id="5318819489018851358">Ndaj me Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Disqet e ndara</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Formatimi i një ndarjeje do të spastrojë të gjitha të dhënat e ruajtura në të. Ky veprim nuk mund të zhbëhet.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Kontrolli AAA dështoi</translation>
 <translation id="7925686952655276919">Mos përdor të dhëna celulare për sinkronizim</translation>
 <translation id="7928710562641958568">Nxirr pajisjen</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb b/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
index 374cd57f..f51ec51 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sr-Latn.xtb
@@ -478,7 +478,6 @@
        Ako uklonite uređaj dok se još koristi, može da dođe do gubitka podataka. Sačekajte da se operacija završi, pa izbacite uređaj pomoću aplikacije Datoteke.</translation>
 <translation id="5163869187418756376">Deljenje nije uspelo. Proverite vezu i pokušajte ponovo kasnije.</translation>
 <translation id="516592729076796170">Američka Dvorak tastatura za programere</translation>
-<translation id="5172749059808361023">Detalji ograničenja</translation>
 <translation id="5177526793333269655">Prikaz sličica</translation>
 <translation id="5181896909298187506">Nema nedavnih fajlova</translation>
 <translation id="5194713942430106590">Kliknite da biste sortirali stavke u koloni po rastućem redosledu.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skeniranje</translation>
 <translation id="5288441970121584418">Pljeskavica</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Želite li stvarno da ispraznite Otpad?</translation>
 <translation id="5305688511332277257">Ništa nije instalirano</translation>
 <translation id="5317780077021120954">Sačuvaj</translation>
 <translation id="5318819489018851358">Deli sa Linux-om</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Aplikacija</translation>
 <translation id="7256405249507348194">Nepoznata greška: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Dostupne usluge</translation>
+<translation id="7292816689782057017">Smernice administratora ograničavaju čuvanje na nekim lokacijama.</translation>
 <translation id="7294063083760278948">transliteracija telugua</translation>
 <translation id="7295662345261934369">Delite sa drugima</translation>
 <translation id="7297443947353982503">Korisničko ime/lozinka je netačna ili EAP potvrda autentičnosti nije uspela</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Deljeni diskovi</translation>
 <translation id="7903984238293908205">katakana</translation>
 <translation id="7908793776359722643">Ako formatirate particiju, brišete sve podatke na njoj. Ova radnja ne može da se opozove.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Provera potvrde identiteta, ovlašćenja i pristupa nije uspela</translation>
 <translation id="7925686952655276919">Ne koristi podatke za mobilne uređaje za sinhronizaciju</translation>
 <translation id="7928710562641958568">Izbaci uređaj</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Dodavanje u zip datoteku nije uspelo, stavka postoji: „<ph name="FILE_NAME" />“</translation>
 <translation id="8813284582615685103">španski (Španija)</translation>
 <translation id="8834164572807951958">Članovi iz „<ph name="DESTINATION_NAME" />“ će dobiti pristup kopiji ovih stavki.</translation>
+<translation id="8849389110234859568">Smernice administratora ograničavaju pristup nekim fajlovima.</translation>
 <translation id="8857149712089373752">nepalski sa fonetskom tastaturom</translation>
 <translation id="8860454412039442620">Excel tabela</translation>
 <translation id="8866284467018526531">transliteracija arapskog</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sr.xtb b/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
index cb272d1..3bae935 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sr.xtb
@@ -478,7 +478,6 @@
        Ако уклоните уређај док се још користи, може да дође до губитка података. Сачекајте да се операција заврши, па избаците уређај помоћу апликације Датотеке.</translation>
 <translation id="5163869187418756376">Дељење није успело. Проверите везу и покушајте поново касније.</translation>
 <translation id="516592729076796170">Америчка Дворак тастатура за програмере</translation>
-<translation id="5172749059808361023">Детаљи ограничења</translation>
 <translation id="5177526793333269655">Приказ сличица</translation>
 <translation id="5181896909298187506">Нема недавних фајлова</translation>
 <translation id="5194713942430106590">Кликните да бисте сортирали ставке у колони по растућем редоследу.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Скенирање</translation>
 <translation id="5288441970121584418">Пљескавица</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Желите ли стварно да испразните Отпад?</translation>
 <translation id="5305688511332277257">Ништа није инсталирано</translation>
 <translation id="5317780077021120954">Сачувај</translation>
 <translation id="5318819489018851358">Дели са Linux-ом</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">Апликација</translation>
 <translation id="7256405249507348194">Непозната грешка: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Доступне услуге</translation>
+<translation id="7292816689782057017">Смернице администратора ограничавају чување на неким локацијама.</translation>
 <translation id="7294063083760278948">транслитерација телугуа</translation>
 <translation id="7295662345261934369">Делите са другима</translation>
 <translation id="7297443947353982503">Корисничко име/лозинка је нетачна или EAP потврда аутентичности није успела</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">Дељени дискови</translation>
 <translation id="7903984238293908205">катакана</translation>
 <translation id="7908793776359722643">Ако форматирате партицију, бришете све податке на њој. Ова радња не може да се опозове.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Провера потврде идентитета, овлашћења и приступа није успела</translation>
 <translation id="7925686952655276919">Не користи податке за мобилне уређаје за синхронизацију</translation>
 <translation id="7928710562641958568">Избаци уређај</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">Додавање у zip датотеку није успело, ставка постоји: „<ph name="FILE_NAME" />“</translation>
 <translation id="8813284582615685103">шпански (Шпанија)</translation>
 <translation id="8834164572807951958">Чланови из „<ph name="DESTINATION_NAME" />“ ће добити приступ копији ових ставки.</translation>
+<translation id="8849389110234859568">Смернице администратора ограничавају приступ неким фајловима.</translation>
 <translation id="8857149712089373752">непалски са фонетском тастатуром</translation>
 <translation id="8860454412039442620">Excel табела</translation>
 <translation id="8866284467018526531">транслитерација арапског</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sv.xtb b/ui/chromeos/translations/ui_chromeos_strings_sv.xtb
index b6c801bc2..4ed505f 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sv.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sv.xtb
@@ -478,7 +478,6 @@
    Om du tar bort enheten medan den används kan du förlora data. Vänta tills åtgärden är slutförd och koppla sedan från enheten med appen Files.</translation>
 <translation id="5163869187418756376">Delningen misslyckades. Kontrollera anslutningen och försök igen senare.</translation>
 <translation id="516592729076796170">Dvorak för programmerare i USA</translation>
-<translation id="5172749059808361023">Begränsningsdetaljer</translation>
 <translation id="5177526793333269655">Miniatyrvy</translation>
 <translation id="5181896909298187506">Inga nya filer</translation>
 <translation id="5194713942430106590">Klicka här om kolumnen ska sorteras i stigande ordning.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Skannar</translation>
 <translation id="5288441970121584418">Hamburgare</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Vill du tömma papperskorgen?</translation>
 <translation id="5305688511332277257">Ingen installerad</translation>
 <translation id="5317780077021120954">Spara</translation>
 <translation id="5318819489018851358">Dela med Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Delade enheter</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Om du formaterar en partition raderas all data på den. Det går inte att ångra åtgärden.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Kontroll med AAA misslyckades</translation>
 <translation id="7925686952655276919">Använd inte mobildata för synkronisering</translation>
 <translation id="7928710562641958568">Mata ut enhet</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_sw.xtb b/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
index bd6955e..c8b00a6 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_sw.xtb
@@ -478,7 +478,6 @@
       Kuondoa kifaa chako kikiwa kinatumika kunaweza kusababisha kupoteza data. Tafadhali subiri hadi uendeshaji ukamilike, kisha uondoe kifaa kwa kutumia programu ya Faili.</translation>
 <translation id="5163869187418756376">Kushiriki kumeshindwa. Angalia muunganisho wako na ujaribu tena baadaye.</translation>
 <translation id="516592729076796170">Kibodi ya Programmer Dvorak, Marekani</translation>
-<translation id="5172749059808361023">Maelezo ya faili iliyozuiwa</translation>
 <translation id="5177526793333269655">Mwonekano wa vijipicha</translation>
 <translation id="5181896909298187506">Hakuna faili za hivi karibuni</translation>
 <translation id="5194713942430106590">Bofya ili upange safu wima katika mpangilio wa kupanda.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Inachanganua</translation>
 <translation id="5288441970121584418">Baga</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Je, una uhakika unataka kufuta kila kitu kwenye Tupio?</translation>
 <translation id="5305688511332277257">Hakuna iliyosakinishwa</translation>
 <translation id="5317780077021120954">Hifadhi</translation>
 <translation id="5318819489018851358">Shiriki kwenye Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Hifadhi za pamoja</translation>
 <translation id="7903984238293908205">Kikatakana</translation>
 <translation id="7908793776359722643">Hatua ya kuweka upya muundo wa sehemu itafuta data yote iliyohifadhiwa kwenye sehemu hiyo. Kitendo hiki hakiwezi kutenduliwa.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Ukaguzi wa AAA umeshindikana</translation>
 <translation id="7925686952655276919">Usitumie data ya simu kwa ulinganishaji</translation>
 <translation id="7928710562641958568">Ondoa kifaa</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
index 976f81e9..9da2da11 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ta.xtb
@@ -478,7 +478,6 @@
    பயன்பாட்டில் இருக்கும்போது உங்கள் சாதனத்தை அகற்றுவது தரவு இழப்பை ஏற்படுத்தலாம்.  செயல்முறை முடியும்வரை காத்திருந்து, பின்பு ஃபைல்கள்  பயன்பாட்டைப் பயன்படுத்தி சாதனத்தை வெளியேற்றலாம்.</translation>
 <translation id="5163869187418756376">பகிர்வு தோல்வியடைந்தது. உங்கள் இணைப்பைச் சரிபார்த்து, பிறகு மீண்டும் முயற்சிக்கவும்.</translation>
 <translation id="516592729076796170">US புரோகிராமர் டிவோரக்</translation>
-<translation id="5172749059808361023">கட்டுப்பாடு விவரங்கள்</translation>
 <translation id="5177526793333269655">சிறுபட காட்சி</translation>
 <translation id="5181896909298187506">சமீபத்திய ஃபைல்கள் எதுவுமில்லை</translation>
 <translation id="5194713942430106590">நெடுவரிசையை ஏறுவரிசைப்படுத்த கிளிக் செய்யவும்.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">ஸ்கேன் செய்கிறது</translation>
 <translation id="5288441970121584418">பர்கர்</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">'நீக்கியவையில்' உள்ளவற்றை நீக்க வேண்டுமா?</translation>
 <translation id="5305688511332277257">எதுவும் நிறுவப்படவில்லை</translation>
 <translation id="5317780077021120954">சேமி</translation>
 <translation id="5318819489018851358">Linuxஸுடன் பகிர்</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">பகிர்ந்த இயக்ககங்கள்</translation>
 <translation id="7903984238293908205">கட்டாகனா</translation>
 <translation id="7908793776359722643">பார்ட்டிஷனை ஃபார்மேட் செய்தால் அதிலுள்ள தரவுகள் அனைத்தும் அழிக்கப்படும். இதைச் செயல்தவிர்க்க முடியாது.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA சோதனை தோல்வியுற்றது</translation>
 <translation id="7925686952655276919">ஒத்திசைப்பதற்கு, மொபைல் டேட்டா பயன்படுத்தாதே</translation>
 <translation id="7928710562641958568">சாதனத்தை வெளித்தள்ளு</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_te.xtb b/ui/chromeos/translations/ui_chromeos_strings_te.xtb
index ea0f6dde..8c6f4f6d 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_te.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_te.xtb
@@ -478,7 +478,6 @@
        మీ పరికరం వినియోగంలో ఉన్నప్పుడు తీసివేస్తే డేటా నష్టం కలగవచ్చు. దయచేసి చర్య పూర్తయ్యే వరకు వేచి ఉండి ఆపై 'ఫైళ్లు' యాప్‌ను ఉపయోగించి పరికరాన్ని తీసివేయండి.</translation>
 <translation id="5163869187418756376">షేర్ చేయడం విఫలమైంది. మీ కనెక్షన్‌ను చెక్ చేసి, తర్వాత మళ్లీ ప్రయత్నించండి.</translation>
 <translation id="516592729076796170">US ప్రోగ్రామర్ డ్వోరక్</translation>
-<translation id="5172749059808361023">నియంత్రణ వివరాలు</translation>
 <translation id="5177526793333269655">సూక్ష్మచిత్ర వీక్షణ</translation>
 <translation id="5181896909298187506">ఇటీవలి ఫైల్స్ ఏవీ లేవు</translation>
 <translation id="5194713942430106590">నిలువు వరుసను ఆరోహణ క్రమంలో వర్గీకరించడానికి క్లిక్ చేయండి.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">స్కాన్ చేస్తోంది</translation>
 <translation id="5288441970121584418">బర్గర్</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">మీరు ఖచ్చితంగా ట్రాష్ USB‌ను ఖాళీ చేయాలనుకుంటున్నారా?</translation>
 <translation id="5305688511332277257">ఏవి వ్యవస్థాపించబడలేదు</translation>
 <translation id="5317780077021120954">సేవ్ చేయండి</translation>
 <translation id="5318819489018851358">Linuxతో షేర్ చేయి</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">షేర్ చేసిన డ్రైవ్‌లు</translation>
 <translation id="7903984238293908205">కటకానా</translation>
 <translation id="7908793776359722643">విభజనను ఫార్మాట్ చేయడం వలన దానిలో స్టోర్ చేయబడిన మొత్తం డేటా తొలగించబడుతుంది. ఈ చర్యను రద్దు చేయలేరు.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA తనిఖీ విఫలమైంది</translation>
 <translation id="7925686952655276919">సింక్ కోసం మొబైల్ డేటాను ఉపయోగించవద్దు</translation>
 <translation id="7928710562641958568">పరికరాన్ని తీసివేయండి</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_th.xtb b/ui/chromeos/translations/ui_chromeos_strings_th.xtb
index b892e1d..1f23de3 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_th.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_th.xtb
@@ -478,7 +478,6 @@
    การนำอุปกรณ์ออกขณะใช้งานอยู่อาจทำให้ข้อมูลสูญหาย โปรดรอจนกว่าการทำงานจะเสร็จสิ้น จากนั้นนำอุปกรณ์ออกโดยใช้แอป "Files"</translation>
 <translation id="5163869187418756376">การแชร์ล้มเหลว ตรวจสอบการเชื่อมต่อของคุณและพยายามอีกครั้งในภายหลัง</translation>
 <translation id="516592729076796170">ดีโวรักโปรแกรมเมอร์สหรัฐอเมริกา</translation>
-<translation id="5172749059808361023">รายละเอียดข้อจำกัด</translation>
 <translation id="5177526793333269655">มุมมองรูปภาพขนาดย่อ</translation>
 <translation id="5181896909298187506">ไม่มีไฟล์ล่าสุด</translation>
 <translation id="5194713942430106590">คลิกเพื่อจัดเรียงคอลัมน์จากน้อยไปหามาก</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">กำลังสแกน</translation>
 <translation id="5288441970121584418">เบอร์เกอร์</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">คุณแน่ใจไหมว่าต้องการล้างถังขยะ</translation>
 <translation id="5305688511332277257">ไม่มีการติดตั้ง</translation>
 <translation id="5317780077021120954">บันทึก</translation>
 <translation id="5318819489018851358">แชร์กับ Linux</translation>
@@ -721,6 +719,7 @@
 <translation id="7248671827512403053">แอปพลิเคชัน</translation>
 <translation id="7256405249507348194">ข้อผิดพลาดที่ไม่รู้จัก: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">บริการที่มี</translation>
+<translation id="7292816689782057017">นโยบายของผู้ดูแลระบบจำกัดการบันทึกไปยังบางตำแหน่ง</translation>
 <translation id="7294063083760278948">เตลูกู (การทับศัพท์)</translation>
 <translation id="7295662345261934369">แชร์กับคนอื่นๆ</translation>
 <translation id="7297443947353982503">ชื่อผู้ใช้/รหัสผ่านไม่ถูกต้องหรือการตรวจสอบสิทธิ์ EAP ล้มเหลว</translation>
@@ -797,6 +796,7 @@
 <translation id="78946041517601018">ไดรฟ์ที่แชร์</translation>
 <translation id="7903984238293908205">คะตะคะนะ</translation>
 <translation id="7908793776359722643">การฟอร์แมตพาร์ติชันจะลบข้อมูลทั้งหมดที่จัดเก็บในพาร์ติชันนั้น การดำเนินการนี้เลิกทำไม่ได้</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">การตรวจสอบ AAA ล้มเหลว</translation>
 <translation id="7925686952655276919">อย่าใช้ข้อมูลมือถือสำหรับการซิงค์</translation>
 <translation id="7928710562641958568">ยกเลิกการต่อเชื่อมอุปกรณ์</translation>
@@ -906,6 +906,7 @@
 <translation id="8810671769985673465">การซิปล้มเหลว มีรายการต่อไปนี้อยู่แล้ว "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">สเปน (สเปน)</translation>
 <translation id="8834164572807951958">สมาชิกของ "<ph name="DESTINATION_NAME" />" จะได้รับสิทธิ์เข้าถึงสำเนารายการเหล่านี้</translation>
+<translation id="8849389110234859568">นโยบายของผู้ดูแลระบบจำกัดการเข้าถึงบางไฟล์</translation>
 <translation id="8857149712089373752">เนปาลด้วยแป้นพิมพ์ตามการออกเสียง</translation>
 <translation id="8860454412039442620">สเปรดชีต Excel</translation>
 <translation id="8866284467018526531">อาหรับ (การทับศัพท์)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
index 07c7c1d3..a69bfbc 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
@@ -478,7 +478,6 @@
    Cihazınızı kullanımdayken kaldırırsanız veri kaybına uğrayabilirsiniz. Lütfen işlem bitinceye kadar bekleyin, daha sonra Dosyalar uygulamasını kullanarak cihazı çıkarın.</translation>
 <translation id="5163869187418756376">Paylaşılamadı. Bağlantınızı kontrol edin ve daha sonra tekrar deneyin.</translation>
 <translation id="516592729076796170">ABD Programcı Dvorak</translation>
-<translation id="5172749059808361023">Kısıtlama ayrıntıları</translation>
 <translation id="5177526793333269655">Küçük resim görünümü</translation>
 <translation id="5181896909298187506">Yakın tarihli dosya yok</translation>
 <translation id="5194713942430106590">Sütunu artan düzende sıralamak için tıklayın.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Taranıyor</translation>
 <translation id="5288441970121584418">Burger</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Çöp Kutusu'nu boşaltmak istediğinizden emin misiniz?</translation>
 <translation id="5305688511332277257">Hiç sertifika yüklenmedi</translation>
 <translation id="5317780077021120954">Kaydet</translation>
 <translation id="5318819489018851358">Linux ile paylaş</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Ortak drive'lar</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Bir bölümün biçimlendirilmesi o bölümde depolanan tüm verileri siler. Bu işlem geri alınamaz.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA kontrolü başarısız oldu</translation>
 <translation id="7925686952655276919">Senkronizasyon için mobil veri kullanma</translation>
 <translation id="7928710562641958568">Cihazı çıkar</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
index 9c123af..0b9fe11 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_uk.xtb
@@ -478,7 +478,6 @@
    Видалення пристрою під час його використання може спричинити втрату даних. Зачекайте, доки операція завершиться, а потім відключіть пристрій за допомогою програми "Файли".</translation>
 <translation id="5163869187418756376">Помилка надання доступу. Перевірте з’єднання та повторіть спробу пізніше.</translation>
 <translation id="516592729076796170">Розкладка Дворака для програмістів (США)</translation>
-<translation id="5172749059808361023">Відомості щодо обмеження</translation>
 <translation id="5177526793333269655">Перегляд ескізів</translation>
 <translation id="5181896909298187506">Немає нещодавніх файлів</translation>
 <translation id="5194713942430106590">Натисніть, щоб відсортувати стовпці в порядку зростання.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Сканування</translation>
 <translation id="5288441970121584418">Бургер</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Очистити кошик?</translation>
 <translation id="5305688511332277257">Не встановлено жодного</translation>
 <translation id="5317780077021120954">Зберегти</translation>
 <translation id="5318819489018851358">Надати доступ додаткам Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Спільні диски</translation>
 <translation id="7903984238293908205">Катакана</translation>
 <translation id="7908793776359722643">Якщо відформатувати розділ, усі збережені в ньому дані буде видалено. Цю дію не можна відмінити.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Помилка перевірки AAA</translation>
 <translation id="7925686952655276919">Не використовувати мобільне передавання даних для синхронізації</translation>
 <translation id="7928710562641958568">Витягнути пристрій</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_ur.xtb b/ui/chromeos/translations/ui_chromeos_strings_ur.xtb
index 3c38048..c5f32b19 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_ur.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_ur.xtb
@@ -478,7 +478,6 @@
    زیر استعمال ہونے پر آپ کا آلہ ہٹانے سے ڈیٹا کو نقصان پہنچ سکتا ہے۔  براہ کرم کارروائی مکمل ہونے تک انتظار کریں، پھر فائلز ایپ استعمال کر کے آلہ کو خارج کریں۔</translation>
 <translation id="5163869187418756376">اشتراک ناکام ہو گیا۔ اپنا کنکشن چیک کریں او بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="516592729076796170">‏US پروگرامر ڈووراک</translation>
-<translation id="5172749059808361023">پابندی کی تفصیلات</translation>
 <translation id="5177526793333269655">تھمب نیل کا منظر</translation>
 <translation id="5181896909298187506">حالیہ کوئی فائل نہیں ہے</translation>
 <translation id="5194713942430106590">صعودی ترتیب میں کالم کو ترتیب دینے کے لیے کلک کریں۔</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">‏Google Drive سے بازیافت کردہ فائلیں</translation>
 <translation id="5286194356314741248">اسکین کی جا رہی ہیں</translation>
 <translation id="5288441970121584418">برگر</translation>
-<translation id="5299998344490869684">کیا آپ واقعی کوڑے دان کو خالی کرنا چاہتے ہیں؟</translation>
 <translation id="5305688511332277257">کوئی بھی انسٹال نہیں ہے</translation>
 <translation id="5317780077021120954">محفوظ کریں</translation>
 <translation id="5318819489018851358">‏Linux کے ساتھ اشتراک کریں</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">اطلاق</translation>
 <translation id="7256405249507348194">غیر شناخت شدہ خرابی: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">دستیاب سروسز</translation>
+<translation id="7292816689782057017">منتظم کی پالیسی کچھ مقامات پر بچت کو محدود کرتی ہے۔</translation>
 <translation id="7294063083760278948">تیلگو نقل حرفی</translation>
 <translation id="7295662345261934369">دوسروں کے ساتھ اشتراک کریں</translation>
 <translation id="7297443947353982503">‏صارف نام/پاس ورڈ غلط ہے یا EAP توثیق ناکام ہو گئی</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">مشترکہ ڈرائیوز</translation>
 <translation id="7903984238293908205">کٹاکانا</translation>
 <translation id="7908793776359722643">پارٹیشن کو فارمیٹ کرنے سے اس پر اسٹور کردہ تمام ڈیٹا مٹا دیا جائے گا۔ اس عمل کو کالعدم نہیں کیا جا سکتا۔</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">‏AAA چیک ناکام ہوگیا</translation>
 <translation id="7925686952655276919">مطابقت پذیری کیلئے موبائل ڈیٹا کا استعمال نہ کریں</translation>
 <translation id="7928710562641958568">آلے کو خارج کریں</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">زپ بنانے کا عمل ناکام ہو گیا، آئٹم موجود ہے: "<ph name="FILE_NAME" />"</translation>
 <translation id="8813284582615685103">ہسپانوی (اسپین)</translation>
 <translation id="8834164572807951958">'<ph name="DESTINATION_NAME" />' کے اراکین کو ان آئٹمز کی کاپی تک رسائي حاصل ہوگي۔</translation>
+<translation id="8849389110234859568">منتظم کی پالیسی کچھ فائلز تک رسائی کو محدود کرتی ہے۔</translation>
 <translation id="8857149712089373752">فونیٹک کی بورڈ کے ساتھ نیپالی</translation>
 <translation id="8860454412039442620">‏Excel اسپریڈشیٹ</translation>
 <translation id="8866284467018526531">عربی نقل حرفی</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_uz.xtb b/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
index 0290459..1bd2039 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_uz.xtb
@@ -478,7 +478,6 @@
 Amal bajarilishini kuting va qurilmani “Fayllar” ilovasida chiqarib oling. Aks holda ba’zi ma’lumotlar o‘chib ketishi mumkin.</translation>
 <translation id="5163869187418756376">Ulashish amalga oshmadi. Ulanishni tekshirib ko‘rib, qayta urining.</translation>
 <translation id="516592729076796170">Dasturchilar uchun Dvorak klaviaturasi</translation>
-<translation id="5172749059808361023">Cheklov tafsilotlari</translation>
 <translation id="5177526793333269655">Kichiklashtirilgan rasmlar</translation>
 <translation id="5181896909298187506">Oxirgi fayllar yoʻq</translation>
 <translation id="5194713942430106590">Ustundagi fayllar roʻyxatini oʻsish boʻyicha tartiblash.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Google Disk‘dan tiklangan fayllar</translation>
 <translation id="5286194356314741248">Qidiruv</translation>
 <translation id="5288441970121584418">Burger</translation>
-<translation id="5299998344490869684">Chiqitdonni boʻshatishni istaysizmi?</translation>
 <translation id="5305688511332277257">O‘rnatilmagan</translation>
 <translation id="5317780077021120954">Saqlash</translation>
 <translation id="5318819489018851358">Linux bilan ulashish</translation>
@@ -720,6 +718,7 @@
 <translation id="7248671827512403053">Ilova</translation>
 <translation id="7256405249507348194">Noma’lum xatolik: <ph name="DESC" /></translation>
 <translation id="7268659760406822741">Mavjud xizmatlar</translation>
+<translation id="7292816689782057017">Administrator siyosati tomonidan ayrim joylashuvlarga ruxsat taqiqlangan.</translation>
 <translation id="7294063083760278948">Telugu (transliteratsiya)</translation>
 <translation id="7295662345261934369">Boshqalar bilan ulashish</translation>
 <translation id="7297443947353982503">Foydalanuvchi nomi/parol noto‘g‘ri yoki EAP protokoli bo‘yicha haqiqiylikni tekshirish amalga oshmadi</translation>
@@ -796,6 +795,7 @@
 <translation id="78946041517601018">Umumiy disklar</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Disk boʻlimi formatlansa, undagi barcha axborotlar tozlanaladi. Bu amal bekor qilinmaydi.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA tekshirilmadi</translation>
 <translation id="7925686952655276919">Sinxronlash uchun mobil internetdan foydalanmang</translation>
 <translation id="7928710562641958568">Qurilmani chiqarib olish</translation>
@@ -905,6 +905,7 @@
 <translation id="8810671769985673465">Arxivlanmadi, bunday element allaqachon arxivlangan: “<ph name="FILE_NAME" />”</translation>
 <translation id="8813284582615685103">Ispan (Ispaniya)</translation>
 <translation id="8834164572807951958">“<ph name="DESTINATION_NAME" />” foydalanuvchilari bu obyektlar nusxalaridan foydalanish huquqini oladilar</translation>
+<translation id="8849389110234859568">Administrator siyosati tomonidan ayrim fayllarga ruxsat taqiqlangan.</translation>
 <translation id="8857149712089373752">Nepal va fonetik klaviatura</translation>
 <translation id="8860454412039442620">Excel elektron jadvali</translation>
 <translation id="8866284467018526531">Arab (transliteratsiya)</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
index 9d28741..8600020 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_vi.xtb
@@ -478,7 +478,6 @@
    Tháo thiết bị của bạn khi đang được sử dụng có thể gây mất dữ liệu. Vui lòng đợi cho đến khi thao tác kết thúc, sau đó đẩy thiết bị ra bằng ứng dụng Tệp.</translation>
 <translation id="5163869187418756376">Chia sẻ không thành công. Hãy kiểm tra kết nối và thử lại sau.</translation>
 <translation id="516592729076796170">US Programmer Dvorak</translation>
-<translation id="5172749059808361023">Thông tin chi tiết về chế độ hạn chế</translation>
 <translation id="5177526793333269655">Chế độ xem hình thu nhỏ</translation>
 <translation id="5181896909298187506">Không có tệp nào gần đây</translation>
 <translation id="5194713942430106590">Nhấp để sắp xếp cột theo thứ tự tăng dần.</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">Đang quét</translation>
 <translation id="5288441970121584418">Bánh mì kẹp</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">Bạn có chắc chắn muốn dọn sạch thùng rác không?</translation>
 <translation id="5305688511332277257">Chưa cài đặt chứng chỉ nào</translation>
 <translation id="5317780077021120954">Lưu</translation>
 <translation id="5318819489018851358">Chia sẻ với Linux</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">Bộ nhớ dùng chung</translation>
 <translation id="7903984238293908205">Katakana</translation>
 <translation id="7908793776359722643">Thao tác định dạng một phân vùng sẽ xóa toàn bộ dữ liệu lưu trữ trên phân vùng đó. Bạn không thể hủy thao tác này sau khi thực hiện.</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">Không thể kiểm tra AAA</translation>
 <translation id="7925686952655276919">Không sử dụng dữ liệu di động để đồng bộ hóa</translation>
 <translation id="7928710562641958568">Tháo thiết bị</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb b/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
index 9e48b74..c4b2970 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zh-CN.xtb
@@ -478,7 +478,6 @@
    取出使用中的设备可能会导致数据丢失。请等待操作完成,然后使用“文件”菜单弹出设备。</translation>
 <translation id="5163869187418756376">共享失败。请检查连接是否正常,然后重试。</translation>
 <translation id="516592729076796170">美式 Programmer Dvorak 键盘</translation>
-<translation id="5172749059808361023">限制详情</translation>
 <translation id="5177526793333269655">缩略图视图</translation>
 <translation id="5181896909298187506">没有任何近期文件</translation>
 <translation id="5194713942430106590">点击即可按升序对此列排序。</translation>
@@ -492,7 +491,6 @@
 <translation id="5286194356314741248">正在扫描</translation>
 <translation id="5288441970121584418">汉堡包</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">确定要清空回收站吗?</translation>
 <translation id="5305688511332277257">未安装任何证书</translation>
 <translation id="5317780077021120954">保存</translation>
 <translation id="5318819489018851358">与 Linux 共享</translation>
@@ -792,6 +790,7 @@
 <translation id="78946041517601018">共享云端硬盘</translation>
 <translation id="7903984238293908205">片假名</translation>
 <translation id="7908793776359722643">将分区格式化会清空其中存储的所有数据。此操作无法撤消。</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA 检查失败</translation>
 <translation id="7925686952655276919">不使用移动数据进行同步</translation>
 <translation id="7928710562641958568">卸载设备</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zh-HK.xtb b/ui/chromeos/translations/ui_chromeos_strings_zh-HK.xtb
index 47e2b88..ddce6f1c 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zh-HK.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zh-HK.xtb
@@ -478,7 +478,6 @@
    您的裝置仍在運作中,現在移除裝置可能會導致數據遺失。請耐心等候操作結束,再使用「檔案」應用程式退出裝置。</translation>
 <translation id="5163869187418756376">共用失敗。請檢查連線狀態,然後再試一次。</translation>
 <translation id="516592729076796170">Programmer Dvorak 美式</translation>
-<translation id="5172749059808361023">限制條件詳情</translation>
 <translation id="5177526793333269655">縮圖檢視</translation>
 <translation id="5181896909298187506">最近沒有任何檔案</translation>
 <translation id="5194713942430106590">按一下即可遞增排序欄位。</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">掃描中</translation>
 <translation id="5288441970121584418">漢堡包</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">確定要清空垃圾桶嗎?</translation>
 <translation id="5305688511332277257">未安裝任何憑證</translation>
 <translation id="5317780077021120954">儲存</translation>
 <translation id="5318819489018851358">與 Linux 分享</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">共用的雲端硬碟</translation>
 <translation id="7903984238293908205">片假名</translation>
 <translation id="7908793776359722643">格式化分割將清除其中儲存的所有資料。此操作無法復原。</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA 檢查失敗</translation>
 <translation id="7925686952655276919">請勿使用流動數據進行同步處理</translation>
 <translation id="7928710562641958568">退出裝置</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zh-TW.xtb b/ui/chromeos/translations/ui_chromeos_strings_zh-TW.xtb
index 341ec1e..fc19878 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zh-TW.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zh-TW.xtb
@@ -478,7 +478,6 @@
    你的裝置仍在運作中,如果立即移除裝置,你的資料很可能會遺失。請耐心等候作業結束,再使用「檔案」應用程式退出裝置。</translation>
 <translation id="5163869187418756376">共用失敗。請檢查連線狀態,然後再試一次。</translation>
 <translation id="516592729076796170">Programmer Dvorak 美式配置</translation>
-<translation id="5172749059808361023">限制條件詳細資料</translation>
 <translation id="5177526793333269655">縮圖檢視</translation>
 <translation id="5181896909298187506">最近沒有任何檔案</translation>
 <translation id="5194713942430106590">按一下即可依遞增順序排列資料欄。</translation>
@@ -497,7 +496,6 @@
 <translation id="5286194356314741248">掃描中</translation>
 <translation id="5288441970121584418">漢堡</translation>
 <translation id="5288481194217812690"><ph name="FILENAME" /></translation>
-<translation id="5299998344490869684">確定要清空垃圾桶嗎?</translation>
 <translation id="5305688511332277257">未安裝任何憑證</translation>
 <translation id="5317780077021120954">儲存</translation>
 <translation id="5318819489018851358">與 Linux 共用</translation>
@@ -797,6 +795,7 @@
 <translation id="78946041517601018">共用的雲端硬碟</translation>
 <translation id="7903984238293908205">片假名</translation>
 <translation id="7908793776359722643">若將分割區格式化,其中儲存的所有資料都將遭到清除。這項操作無法復原。</translation>
+<translation id="7911118814695487383">Linux</translation>
 <translation id="7925247922861151263">AAA 檢查失敗</translation>
 <translation id="7925686952655276919">請勿使用行動數據進行同步處理</translation>
 <translation id="7928710562641958568">退出裝置</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_zu.xtb b/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
index c573698..7575c06a 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_zu.xtb
@@ -478,7 +478,6 @@
    Ukususa idivayisi yakho ngenkathi isebenza kungabangela ukulahleka kwedatha. Sicela ulinde kuze kuphele ukusebenza, bese ukhipha idivayisi usebenzisa uhlelo lokusebenza lwamafayela.</translation>
 <translation id="5163869187418756376">Ukwabelana kuhlulekile. Hlola ukuxhumeka kwakho uphinde uzame futhi emuva kwesikhathi.</translation>
 <translation id="516592729076796170">Umhleli wase-US we-Dvorak</translation>
-<translation id="5172749059808361023">Imininingwane yomkhawulo</translation>
 <translation id="5177526793333269655">Ukubuka kwesithombe esincane</translation>
 <translation id="5181896909298187506">Awekho amafayela akamuva</translation>
 <translation id="5194713942430106590">Chofoza ukuze uhlunge ikholomu nge-oda elikhuphukayo.</translation>
@@ -496,7 +495,6 @@
 <translation id="5275973617553375938">Amafayela atholiwe kusuka ku-Google Drayivu</translation>
 <translation id="5286194356314741248">Iyaskena</translation>
 <translation id="5288441970121584418">Ibhega</translation>
-<translation id="5299998344490869684">Uyaqiniseka yini ukuthi ufuna ukukhipha Udodi?</translation>
 <translation id="5305688511332277257">Lutho okufakiwe</translation>
 <translation id="5317780077021120954">Londoloza</translation>
 <translation id="5318819489018851358">Yabelana ne-Linux</translation>
@@ -796,6 +794,7 @@
 <translation id="78946041517601018">Amadrayivu abiwayo</translation>
 <translation id="7903984238293908205">I-Katakana</translation>
 <translation id="7908793776359722643">Ukufometha ingxenye kuzosula yonke idatha egcinwe kuyo. Lesi senzo asikwazi ukuhlehliswa.</translation>
+<translation id="7911118814695487383">I-Linux</translation>
 <translation id="7925247922861151263">Ukuhlolwa kwe-AAA kuhlulekile</translation>
 <translation id="7925686952655276919">Ungasebenzisi idatha yeselula ngokuvumelanisa</translation>
 <translation id="7928710562641958568">Khipha idivayisi</translation>
diff --git a/ui/compositor/compositor_switches.cc b/ui/compositor/compositor_switches.cc
index 97ba691..85e8699 100644
--- a/ui/compositor/compositor_switches.cc
+++ b/ui/compositor/compositor_switches.cc
@@ -31,14 +31,14 @@
 // If enabled, all draw commands recorded on canvas are done in pixel aligned
 // measurements. This also enables scaling of all elements in views and layers
 // to be done via corner points. See https://crbug.com/720596 for details.
-const base::Feature kEnablePixelCanvasRecording {
-  "enable-pixel-canvas-recording",
+BASE_FEATURE(kEnablePixelCanvasRecording,
+             "enable-pixel-canvas-recording",
 #if BUILDFLAG(IS_CHROMEOS)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 }  // namespace features
 
diff --git a/ui/compositor/compositor_switches.h b/ui/compositor/compositor_switches.h
index 81f3420..bc6cf660 100644
--- a/ui/compositor/compositor_switches.h
+++ b/ui/compositor/compositor_switches.h
@@ -22,7 +22,7 @@
 
 namespace features {
 
-COMPOSITOR_EXPORT extern const base::Feature kEnablePixelCanvasRecording;
+COMPOSITOR_EXPORT BASE_DECLARE_FEATURE(kEnablePixelCanvasRecording);
 
 }  // namespace features
 
diff --git a/ui/display/display_features.cc b/ui/display/display_features.cc
index f5ee31f..1366421 100644
--- a/ui/display/display_features.cc
+++ b/ui/display/display_features.cc
@@ -14,31 +14,33 @@
 #if BUILDFLAG(IS_CHROMEOS_ASH)
 
 // Enables the rounded corners for the internal display.
-const base::Feature kRoundedDisplay{"RoundedDisplay",
-                                    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRoundedDisplay,
+             "RoundedDisplay",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsRoundedDisplayEnabled() {
   return base::FeatureList::IsEnabled(kRoundedDisplay);
 }
 
 // Enables using HDR transfer function if the monitor says it supports it.
-const base::Feature kUseHDRTransferFunction {
-  "UseHDRTransferFunction",
-  // TODO(b/168843009): Temporarily disable on ARM while investigating.
+BASE_FEATURE(kUseHDRTransferFunction,
+             "UseHDRTransferFunction",
+// TODO(b/168843009): Temporarily disable on ARM while investigating.
 #if defined(ARCH_CPU_ARM_FAMILY)
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #else
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #endif
-};
+);
 
 #endif
 
 // This features allows listing all display modes of external displays in the
 // display settings and setting any one of them exactly as requested, which can
 // be very useful for debugging and development purposes.
-const base::Feature kListAllDisplayModes = {"ListAllDisplayModes",
-                                            base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kListAllDisplayModes,
+             "ListAllDisplayModes",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 bool IsListAllDisplayModesEnabled() {
   return base::FeatureList::IsEnabled(kListAllDisplayModes);
@@ -47,8 +49,9 @@
 // A temporary flag to control hardware mirroring until it is decided whether to
 // permanently remove hardware mirroring support. See crbug.com/1161556 for
 // details.
-const base::Feature kEnableHardwareMirrorMode{
-    "EnableHardwareMirrorMode", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableHardwareMirrorMode,
+             "EnableHardwareMirrorMode",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsHardwareMirrorModeEnabled() {
   return base::FeatureList::IsEnabled(kEnableHardwareMirrorMode);
@@ -56,8 +59,9 @@
 
 // A temporary flag to require Content Protection to use provisioned key as the
 // kernel doesn't expose that it requires this yet.(b/112172923)
-const base::Feature kRequireHdcpKeyProvisioning{
-    "RequireHdcpKeyProvisioning", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kRequireHdcpKeyProvisioning,
+             "RequireHdcpKeyProvisioning",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 bool IsHdcpKeyProvisioningRequired() {
   return base::FeatureList::IsEnabled(kRequireHdcpKeyProvisioning);
 }
diff --git a/ui/display/display_features.h b/ui/display/display_features.h
index edc0f31..ab641d0 100644
--- a/ui/display/display_features.h
+++ b/ui/display/display_features.h
@@ -13,22 +13,22 @@
 namespace features {
 
 #if BUILDFLAG(IS_CHROMEOS_ASH)
-DISPLAY_EXPORT extern const base::Feature kRoundedDisplay;
+DISPLAY_EXPORT BASE_DECLARE_FEATURE(kRoundedDisplay);
 
 DISPLAY_EXPORT bool IsRoundedDisplayEnabled();
 
-DISPLAY_EXPORT extern const base::Feature kUseHDRTransferFunction;
+DISPLAY_EXPORT BASE_DECLARE_FEATURE(kUseHDRTransferFunction);
 #endif
 
-DISPLAY_EXPORT extern const base::Feature kListAllDisplayModes;
+DISPLAY_EXPORT BASE_DECLARE_FEATURE(kListAllDisplayModes);
 
 DISPLAY_EXPORT bool IsListAllDisplayModesEnabled();
 
-DISPLAY_EXPORT extern const base::Feature kEnableHardwareMirrorMode;
+DISPLAY_EXPORT BASE_DECLARE_FEATURE(kEnableHardwareMirrorMode);
 
 DISPLAY_EXPORT bool IsHardwareMirrorModeEnabled();
 
-DISPLAY_EXPORT extern const base::Feature kRequireHdcpKeyProvisioning;
+DISPLAY_EXPORT BASE_DECLARE_FEATURE(kRequireHdcpKeyProvisioning);
 DISPLAY_EXPORT bool IsHdcpKeyProvisioningRequired();
 
 }  // namespace features
diff --git a/ui/events/blink/blink_features.cc b/ui/events/blink/blink_features.cc
index cfa61813..17a8814b 100644
--- a/ui/events/blink/blink_features.cc
+++ b/ui/events/blink/blink_features.cc
@@ -6,13 +6,16 @@
 
 namespace features {
 
-const base::Feature kSendMouseLeaveEvents{"SendMouseLeaveEvents",
-                                          base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kSendMouseLeaveEvents,
+             "SendMouseLeaveEvents",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kDontSendKeyEventsToJavascript{
-    "DontSendKeyEventsToJavascript", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDontSendKeyEventsToJavascript,
+             "DontSendKeyEventsToJavascript",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kReduceHorizontalFlingVelocity{
-    "ReduceHorizontalFlingVelocity", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kReduceHorizontalFlingVelocity,
+             "ReduceHorizontalFlingVelocity",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace features
diff --git a/ui/events/blink/blink_features.h b/ui/events/blink/blink_features.h
index 3358904c..c0c5b0c 100644
--- a/ui/events/blink/blink_features.h
+++ b/ui/events/blink/blink_features.h
@@ -14,19 +14,18 @@
 // through to blink as mouse leave events. Traditionally these events were
 // converted to mouse move events due to a number of inconsistencies on
 // the native platforms. crbug.com/450631
-COMPONENT_EXPORT(BLINK_FEATURES)
-extern const base::Feature kSendMouseLeaveEvents;
+COMPONENT_EXPORT(BLINK_FEATURES) BASE_DECLARE_FEATURE(kSendMouseLeaveEvents);
 
 // When enabled, this feature prevent blink sending key event to web unless it
 // is on installed PWA.
 COMPONENT_EXPORT(BLINK_FEATURES)
-extern const base::Feature kDontSendKeyEventsToJavascript;
+BASE_DECLARE_FEATURE(kDontSendKeyEventsToJavascript);
 
 // Reduces the velocity of horizontal flings. This is an experiment to test
 // a simple means of making flings in mandatory scroll snap areas feel more
 // natural. See https://crbug.com/1189696 for details.
 COMPONENT_EXPORT(BLINK_FEATURES)
-extern const base::Feature kReduceHorizontalFlingVelocity;
+BASE_DECLARE_FEATURE(kReduceHorizontalFlingVelocity);
 }
 
 #endif  // UI_EVENTS_BLINK_BLINK_FEATURES_H_
diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev.cc b/ui/events/ozone/evdev/touch_event_converter_evdev.cc
index e986cab..346f67b 100644
--- a/ui/events/ozone/evdev/touch_event_converter_evdev.cc
+++ b/ui/events/ozone/evdev/touch_event_converter_evdev.cc
@@ -97,8 +97,9 @@
 
 namespace ui {
 
-const base::Feature kEnableSingleCancelTouch{"EnableSingleTouchCancel",
-                                             base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableSingleCancelTouch,
+             "EnableSingleTouchCancel",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 TouchEventConverterEvdev::TouchEventConverterEvdev(
     base::ScopedFD fd,
diff --git a/ui/events/ozone/evdev/touch_event_converter_evdev.h b/ui/events/ozone/evdev/touch_event_converter_evdev.h
index 29b3f25..41d7c31 100644
--- a/ui/events/ozone/evdev/touch_event_converter_evdev.h
+++ b/ui/events/ozone/evdev/touch_event_converter_evdev.h
@@ -38,7 +38,7 @@
 class FalseTouchFinder;
 struct InProgressTouchEvdev;
 
-COMPONENT_EXPORT(EVDEV) extern const base::Feature kEnableSingleCancelTouch;
+COMPONENT_EXPORT(EVDEV) BASE_DECLARE_FEATURE(kEnableSingleCancelTouch);
 
 class COMPONENT_EXPORT(EVDEV) TouchEventConverterEvdev
     : public EventConverterEvdev {
diff --git a/ui/events/ozone/features.cc b/ui/events/ozone/features.cc
index 0f9be63..fe50c9f 100644
--- a/ui/events/ozone/features.cc
+++ b/ui/events/ozone/features.cc
@@ -6,37 +6,47 @@
 
 namespace ui {
 
-const base::Feature kEnableHeuristicPalmDetectionFilter{
-    "EnableHeuristicPalmDetectionFilter", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableHeuristicPalmDetectionFilter,
+             "EnableHeuristicPalmDetectionFilter",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableNeuralPalmDetectionFilter{
-    "EnableNeuralPalmDetectionFilter", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableNeuralPalmDetectionFilter,
+             "EnableNeuralPalmDetectionFilter",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableNeuralPalmAdaptiveHold{
-    "EnableNeuralPalmAdaptiveHold", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableNeuralPalmAdaptiveHold,
+             "EnableNeuralPalmAdaptiveHold",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kEnableNeuralStylusReportFilter{
-    "EnableNeuralStylusReportFilter", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableNeuralStylusReportFilter,
+             "EnableNeuralStylusReportFilter",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // TODO(b/171249701): Remove this flag when we can support this in all cases.
-const base::Feature kEnableOrdinalMotion{"EnableOrdinalMotion",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableOrdinalMotion,
+             "EnableOrdinalMotion",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnablePalmOnMaxTouchMajor{
-    "EnablePalmOnMaxTouchMajor", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnablePalmOnMaxTouchMajor,
+             "EnablePalmOnMaxTouchMajor",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kEnablePalmOnToolTypePalm{"EnablePalmOnToolTypePalm",
-                                              base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnablePalmOnToolTypePalm,
+             "EnablePalmOnToolTypePalm",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
-const base::Feature kEnablePalmSuppression{"EnablePalmSuppression",
-                                           base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kEnablePalmSuppression,
+             "EnablePalmSuppression",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Controls whether libinput is used to handle touchpad.
-const base::Feature kLibinputHandleTouchpad{"LibinputHandleTouchpad",
-                                            base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kLibinputHandleTouchpad,
+             "LibinputHandleTouchpad",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
-const base::Feature kEnableFakeKeyboardHeuristic{
-    "EnableFakeKeyboardHeuristic", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableFakeKeyboardHeuristic,
+             "EnableFakeKeyboardHeuristic",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 extern const base::FeatureParam<std::string> kNeuralPalmRadiusPolynomial{
     &kEnableNeuralPalmDetectionFilter, "neural_palm_radius_polynomial", ""};
@@ -55,8 +65,9 @@
 const base::FeatureParam<int> kHeuristicStrokeCount{
     &kEnableHeuristicPalmDetectionFilter, "heuristic_palm_stroke_count", 0};
 
-const base::Feature kEnableInputEventLogging{"EnableInputEventLogging",
-                                             base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableInputEventLogging,
+             "EnableInputEventLogging",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 constexpr char kOzoneNNPalmSwitchName[] = "ozone-nnpalm-properties";
 
diff --git a/ui/events/ozone/features.h b/ui/events/ozone/features.h
index a9f4d08..54249fc 100644
--- a/ui/events/ozone/features.h
+++ b/ui/events/ozone/features.h
@@ -11,25 +11,22 @@
 
 namespace ui {
 COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableHeuristicPalmDetectionFilter;
+BASE_DECLARE_FEATURE(kEnableHeuristicPalmDetectionFilter);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableNeuralPalmDetectionFilter;
+BASE_DECLARE_FEATURE(kEnableNeuralPalmDetectionFilter);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableNeuralPalmAdaptiveHold;
+BASE_DECLARE_FEATURE(kEnableNeuralPalmAdaptiveHold);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableNeuralStylusReportFilter;
+BASE_DECLARE_FEATURE(kEnableNeuralStylusReportFilter);
 
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableOrdinalMotion;
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kEnableOrdinalMotion);
 
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnablePalmOnMaxTouchMajor;
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kEnablePalmOnMaxTouchMajor);
 
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnablePalmOnToolTypePalm;
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kEnablePalmOnToolTypePalm);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
 extern const base::FeatureParam<std::string> kNeuralPalmModelVersion;
@@ -37,8 +34,7 @@
 COMPONENT_EXPORT(EVENTS_OZONE)
 extern const base::FeatureParam<std::string> kNeuralPalmRadiusPolynomial;
 
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnablePalmSuppression;
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kEnablePalmSuppression);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
 extern const base::FeatureParam<double> kHeuristicCancelThresholdSeconds;
@@ -49,14 +45,12 @@
 COMPONENT_EXPORT(EVENTS_OZONE)
 extern const base::FeatureParam<int> kHeuristicStrokeCount;
 
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableInputEventLogging;
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kEnableInputEventLogging);
+
+COMPONENT_EXPORT(EVENTS_OZONE) BASE_DECLARE_FEATURE(kLibinputHandleTouchpad);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kLibinputHandleTouchpad;
-
-COMPONENT_EXPORT(EVENTS_OZONE)
-extern const base::Feature kEnableFakeKeyboardHeuristic;
+BASE_DECLARE_FEATURE(kEnableFakeKeyboardHeuristic);
 
 COMPONENT_EXPORT(EVENTS_OZONE)
 extern const char kOzoneNNPalmSwitchName[];
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
index 691bc65..d346af4 100644
--- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc
@@ -25,8 +25,9 @@
 
 namespace {
 
-const base::Feature kIOSurfaceUseNamedSRGBForREC709{
-    "IOSurfaceUseNamedSRGBForREC709", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kIOSurfaceUseNamedSRGBForREC709,
+             "IOSurfaceUseNamedSRGBForREC709",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 void AddIntegerValue(CFMutableDictionaryRef dictionary,
                      const CFStringRef key,
diff --git a/ui/gfx/switches.cc b/ui/gfx/switches.cc
index ebc1c94..3efe109 100644
--- a/ui/gfx/switches.cc
+++ b/ui/gfx/switches.cc
@@ -37,22 +37,22 @@
 }  // namespace switches
 
 namespace features {
-const base::Feature kOddHeightMultiPlanarBuffers {
-  "OddHeightMultiPlanarBuffers",
+BASE_FEATURE(kOddHeightMultiPlanarBuffers,
+             "OddHeightMultiPlanarBuffers",
 #if BUILDFLAG(IS_MAC)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
-const base::Feature kOddWidthMultiPlanarBuffers{
-  "OddWidthMultiPlanarBuffers",
+BASE_FEATURE(kOddWidthMultiPlanarBuffers,
+             "OddWidthMultiPlanarBuffers",
 #if BUILDFLAG(IS_MAC)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 }  // namespace features
diff --git a/ui/gfx/switches.h b/ui/gfx/switches.h
index 45c47c6..96563c1 100644
--- a/ui/gfx/switches.h
+++ b/ui/gfx/switches.h
@@ -25,8 +25,8 @@
 }  // namespace switches
 
 namespace features {
-GFX_SWITCHES_EXPORT extern const base::Feature kOddHeightMultiPlanarBuffers;
-GFX_SWITCHES_EXPORT extern const base::Feature kOddWidthMultiPlanarBuffers;
+GFX_SWITCHES_EXPORT BASE_DECLARE_FEATURE(kOddHeightMultiPlanarBuffers);
+GFX_SWITCHES_EXPORT BASE_DECLARE_FEATURE(kOddWidthMultiPlanarBuffers);
 }  // namespace features
 
 #endif  // UI_GFX_SWITCHES_H_
diff --git a/ui/gl/gl_features.cc b/ui/gl/gl_features.cc
index f0f458a..a0bb921 100644
--- a/ui/gl/gl_features.cc
+++ b/ui/gl/gl_features.cc
@@ -27,7 +27,7 @@
 namespace features {
 namespace {
 
-const base::Feature kGpuVsync{"GpuVsync", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kGpuVsync, "GpuVsync", base::FEATURE_ENABLED_BY_DEFAULT);
 
 #if BUILDFLAG(IS_ANDROID)
 const base::FeatureParam<std::string>
@@ -72,8 +72,9 @@
 }  // namespace
 
 #if BUILDFLAG(IS_ANDROID)
-const base::Feature kAndroidFrameDeadline{"AndroidFrameDeadline",
-                                          base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAndroidFrameDeadline,
+             "AndroidFrameDeadline",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 #endif
 
 // Use the passthrough command decoder by default.  This can be overridden with
@@ -81,16 +82,16 @@
 // Feature lives in ui/gl because it affects the GL binding initialization on
 // platforms that would otherwise not default to using EGL bindings.
 // Launched on Windows, still experimental on other platforms.
-const base::Feature kDefaultPassthroughCommandDecoder {
-  "DefaultPassthroughCommandDecoder",
+BASE_FEATURE(kDefaultPassthroughCommandDecoder,
+             "DefaultPassthroughCommandDecoder",
 #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ||     \
     (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \
     BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_MAC)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 bool UseGpuVsync() {
   return !base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git a/ui/gl/gl_features.h b/ui/gl/gl_features.h
index 931f311..0d28d744 100644
--- a/ui/gl/gl_features.h
+++ b/ui/gl/gl_features.h
@@ -16,12 +16,12 @@
 
 #if BUILDFLAG(IS_ANDROID)
 // Use new Android 13 API to obtain and target a frame deadline.
-GL_EXPORT extern const base::Feature kAndroidFrameDeadline;
+GL_EXPORT BASE_DECLARE_FEATURE(kAndroidFrameDeadline);
 #endif
 
 // All features in alphabetical order. The features should be documented
 // alongside the definition of their values in the .cc file.
-GL_EXPORT extern const base::Feature kDefaultPassthroughCommandDecoder;
+GL_EXPORT BASE_DECLARE_FEATURE(kDefaultPassthroughCommandDecoder);
 
 GL_EXPORT bool IsAndroidFrameDeadlineEnabled();
 
diff --git a/ui/gl/gl_switches.cc b/ui/gl/gl_switches.cc
index 4fea814..eb59396 100644
--- a/ui/gl/gl_switches.cc
+++ b/ui/gl/gl_switches.cc
@@ -198,33 +198,38 @@
 namespace features {
 
 // Use BufferCount of 3 for the direct composition root swap chain.
-const base::Feature kDCompTripleBufferRootSwapChain{
-    "DCompTripleBufferRootSwapChain", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDCompTripleBufferRootSwapChain,
+             "DCompTripleBufferRootSwapChain",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Use BufferCount of 3 for direct composition video swap chains.
-const base::Feature kDCompTripleBufferVideoSwapChain{
-    "DCompTripleBufferVideoSwapChain", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDCompTripleBufferVideoSwapChain,
+             "DCompTripleBufferVideoSwapChain",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Forces Chrome's main backbuffer to full damage if the actual damage
 // is large enough and allows DWM to consider the main backbuffer as an
 // an overlay candidate.
-const base::Feature kDirectCompositionForceFullDamage{
-    "DirectCompositionForceFullDamage", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDirectCompositionForceFullDamage,
+             "DirectCompositionForceFullDamage",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Use presentation feedback event queries (must be enabled) to limit latency.
-const base::Feature kDirectCompositionLowLatencyPresentation{
-    "DirectCompositionLowLatencyPresentation",
-    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDirectCompositionLowLatencyPresentation,
+             "DirectCompositionLowLatencyPresentation",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Allow overlay swapchain to present on all GPUs even if they only support
 // software overlays. GPU deny lists limit it to NVIDIA only at the moment.
-const base::Feature kDirectCompositionSoftwareOverlays{
-    "DirectCompositionSoftwareOverlays", base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kDirectCompositionSoftwareOverlays,
+             "DirectCompositionSoftwareOverlays",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // TODO(crbug.com/1269749): This is used temporarily for verifying
 // the draw offset bug. The code should be removed once the bug is fixed.
-const base::Feature kDirectCompositionVerifyDrawOffset{
-    "DirectCompositionVerifyDrawOffset", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDirectCompositionVerifyDrawOffset,
+             "DirectCompositionVerifyDrawOffset",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 const base::FeatureParam<int> kVerifyDrawOffsetX{
     &kDirectCompositionVerifyDrawOffset, "verify_draw_offset_x", 0};
@@ -235,34 +240,41 @@
 // Allow dual GPU rendering through EGL where supported, i.e., allow a WebGL
 // or WebGPU context to be on the high performance GPU if preferred and Chrome
 // internal rendering to be on the low power GPU.
-const base::Feature kEGLDualGpuRendering{"EGLDualGpuRendering",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEGLDualGpuRendering,
+             "EGLDualGpuRendering",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Allow overlay swapchain to use Intel video processor for super resolution.
-const base::Feature kIntelVpSuperResolution{"IntelVpSuperResolution",
-                                            base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kIntelVpSuperResolution,
+             "IntelVpSuperResolution",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Default to using ANGLE's OpenGL backend
-const base::Feature kDefaultANGLEOpenGL{"DefaultANGLEOpenGL",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDefaultANGLEOpenGL,
+             "DefaultANGLEOpenGL",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Default to using ANGLE's Metal backend.
-const base::Feature kDefaultANGLEMetal{"DefaultANGLEMetal",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDefaultANGLEMetal,
+             "DefaultANGLEMetal",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Default to using ANGLE's Vulkan backend.
-const base::Feature kDefaultANGLEVulkan{"DefaultANGLEVulkan",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDefaultANGLEVulkan,
+             "DefaultANGLEVulkan",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Track current program's shaders at glUseProgram() call for crash report
 // purpose. Only effective on Windows because the attached shaders may only
 // be reliably retrieved with ANGLE backend.
-const base::Feature kTrackCurrentShaders{"TrackCurrentShaders",
-                                         base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kTrackCurrentShaders,
+             "TrackCurrentShaders",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Enable sharing Vulkan device queue with ANGLE's Vulkan backend.
-const base::Feature kVulkanFromANGLE{"VulkanFromANGLE",
-                                     base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kVulkanFromANGLE,
+             "VulkanFromANGLE",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsDefaultANGLEVulkan() {
 #if BUILDFLAG(IS_ANDROID)
@@ -276,8 +288,9 @@
 }
 
 // Use waitable swap chain on Windows to reduce display latency.
-const base::Feature kDXGIWaitableSwapChain{"DXGIWaitableSwapChain",
-                                           base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kDXGIWaitableSwapChain,
+             "DXGIWaitableSwapChain",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // If using waitable swap chain, specify the maximum number of queued frames.
 const base::FeatureParam<int> kDXGIWaitableSwapChainMaxQueuedFrames{
diff --git a/ui/gl/gl_switches.h b/ui/gl/gl_switches.h
index b72173f..284db4ef 100644
--- a/ui/gl/gl_switches.h
+++ b/ui/gl/gl_switches.h
@@ -92,23 +92,23 @@
 
 namespace features {
 
-GL_EXPORT extern const base::Feature kDCompTripleBufferRootSwapChain;
-GL_EXPORT extern const base::Feature kDCompTripleBufferVideoSwapChain;
-GL_EXPORT extern const base::Feature kDirectCompositionForceFullDamage;
-GL_EXPORT extern const base::Feature kDirectCompositionGpuVSync;
-GL_EXPORT extern const base::Feature kDirectCompositionLowLatencyPresentation;
-GL_EXPORT extern const base::Feature kDirectCompositionVerifyDrawOffset;
+GL_EXPORT BASE_DECLARE_FEATURE(kDCompTripleBufferRootSwapChain);
+GL_EXPORT BASE_DECLARE_FEATURE(kDCompTripleBufferVideoSwapChain);
+GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionForceFullDamage);
+GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionGpuVSync);
+GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionLowLatencyPresentation);
+GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionVerifyDrawOffset);
 GL_EXPORT extern const base::FeatureParam<int> kVerifyDrawOffsetX;
 GL_EXPORT extern const base::FeatureParam<int> kVerifyDrawOffsetY;
-GL_EXPORT extern const base::Feature kDirectCompositionSoftwareOverlays;
-GL_EXPORT extern const base::Feature kEGLDualGpuRendering;
-GL_EXPORT extern const base::Feature kIntelVpSuperResolution;
-GL_EXPORT extern const base::Feature kDefaultANGLEOpenGL;
-GL_EXPORT extern const base::Feature kDefaultANGLEMetal;
-GL_EXPORT extern const base::Feature kDefaultANGLEVulkan;
-GL_EXPORT extern const base::Feature kTrackCurrentShaders;
-GL_EXPORT extern const base::Feature kVulkanFromANGLE;
-GL_EXPORT extern const base::Feature kDXGIWaitableSwapChain;
+GL_EXPORT BASE_DECLARE_FEATURE(kDirectCompositionSoftwareOverlays);
+GL_EXPORT BASE_DECLARE_FEATURE(kEGLDualGpuRendering);
+GL_EXPORT BASE_DECLARE_FEATURE(kIntelVpSuperResolution);
+GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEOpenGL);
+GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEMetal);
+GL_EXPORT BASE_DECLARE_FEATURE(kDefaultANGLEVulkan);
+GL_EXPORT BASE_DECLARE_FEATURE(kTrackCurrentShaders);
+GL_EXPORT BASE_DECLARE_FEATURE(kVulkanFromANGLE);
+GL_EXPORT BASE_DECLARE_FEATURE(kDXGIWaitableSwapChain);
 GL_EXPORT extern const base::FeatureParam<int>
     kDXGIWaitableSwapChainMaxQueuedFrames;
 
diff --git a/ui/gl/swap_chain_presenter.cc b/ui/gl/swap_chain_presenter.cc
index 2b117ea..65288fb 100644
--- a/ui/gl/swap_chain_presenter.cc
+++ b/ui/gl/swap_chain_presenter.cc
@@ -38,8 +38,9 @@
 
 // Some drivers fail to correctly handle BT.709 video in overlays. This flag
 // converts them to BT.601 in the video processor.
-const base::Feature kFallbackBT709VideoToBT601{
-    "FallbackBT709VideoToBT601", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kFallbackBT709VideoToBT601,
+             "FallbackBT709VideoToBT601",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsProtectedVideo(gfx::ProtectedVideoType protected_video_type) {
   return protected_video_type != gfx::ProtectedVideoType::kClear;
diff --git a/ui/linux/linux_ui_factory.cc b/ui/linux/linux_ui_factory.cc
index a531816f..c202237 100644
--- a/ui/linux/linux_ui_factory.cc
+++ b/ui/linux/linux_ui_factory.cc
@@ -93,7 +93,7 @@
 
 }  // namespace
 
-const base::Feature kAllowQt{"AllowQt", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kAllowQt, "AllowQt", base::FEATURE_DISABLED_BY_DEFAULT);
 
 LinuxUi* GetDefaultLinuxUi() {
   return GetDefaultLinuxUiAndTheme();
diff --git a/ui/linux/linux_ui_factory.h b/ui/linux/linux_ui_factory.h
index fe2bce4..5d4f4f4 100644
--- a/ui/linux/linux_ui_factory.h
+++ b/ui/linux/linux_ui_factory.h
@@ -15,8 +15,7 @@
 enum class SystemTheme : int;
 
 // TODO(https://crbug.com/1317782): Remove in M110.
-COMPONENT_EXPORT(LINUX_UI_FACTORY)
-extern const base::Feature kAllowQt;
+COMPONENT_EXPORT(LINUX_UI_FACTORY) BASE_DECLARE_FEATURE(kAllowQt);
 
 // Returns a LinuxUi for the default toolkit.  May create a LinuxUi instance if
 // one does not exist.  May return nullptr if no toolkits are available.
diff --git a/ui/native_theme/native_theme_features.cc b/ui/native_theme/native_theme_features.cc
index 636a52a..ede1c1e 100644
--- a/ui/native_theme/native_theme_features.cc
+++ b/ui/native_theme/native_theme_features.cc
@@ -21,16 +21,18 @@
 // Enables or disables overlay scrollbars in Blink (i.e. web content) on Aura
 // or Linux.  The status of native UI overlay scrollbars is determined in
 // PlatformStyle::CreateScrollBar. Does nothing on Mac.
-const base::Feature kOverlayScrollbar{"OverlayScrollbar",
-                                      kOverlayScrollbarFeatureState};
+BASE_FEATURE(kOverlayScrollbar,
+             "OverlayScrollbar",
+             kOverlayScrollbarFeatureState);
 
 // Fluent scrollbars aim to modernize the Chromium scrollbars (both overlay
 // and non-overlay) to fit the Windows 11 Fluent design language. For now,
 // the feature will only support Windows platform and can be later available
 // on Linux as well. The feature is currently in development and disabled
 // by default.
-const base::Feature kFluentScrollbar{"FluentScrollbar",
-                                     base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kFluentScrollbar,
+             "FluentScrollbar",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace features
 
diff --git a/ui/native_theme/native_theme_features.h b/ui/native_theme/native_theme_features.h
index c3d3280..6bdc9c5 100644
--- a/ui/native_theme/native_theme_features.h
+++ b/ui/native_theme/native_theme_features.h
@@ -12,8 +12,8 @@
 
 namespace features {
 
-NATIVE_THEME_EXPORT extern const base::Feature kOverlayScrollbar;
-NATIVE_THEME_EXPORT extern const base::Feature kFluentScrollbar;
+NATIVE_THEME_EXPORT BASE_DECLARE_FEATURE(kOverlayScrollbar);
+NATIVE_THEME_EXPORT BASE_DECLARE_FEATURE(kFluentScrollbar);
 
 }  // namespace features
 
diff --git a/ui/ozone/common/features.cc b/ui/ozone/common/features.cc
index 7ccc298..24370bf 100644
--- a/ui/ozone/common/features.cc
+++ b/ui/ozone/common/features.cc
@@ -8,26 +8,28 @@
 
 namespace ui {
 
-const base::Feature kWaylandOverlayDelegation{"WaylandOverlayDelegation",
-                                              base::FEATURE_ENABLED_BY_DEFAULT};
+BASE_FEATURE(kWaylandOverlayDelegation,
+             "WaylandOverlayDelegation",
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // This feature flag enables a mode where the wayland client would submit
 // buffers at a scale of 1 and the server applies the respective scale transform
 // to properly composite the buffers. This mode is used to support fractional
 // scale factor.
-const base::Feature kWaylandSurfaceSubmissionInPixelCoordinates{
-  "WaylandSurfaceSubmissionInPixelCoordinates",
+BASE_FEATURE(kWaylandSurfaceSubmissionInPixelCoordinates,
+             "WaylandSurfaceSubmissionInPixelCoordinates",
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
-      base::FEATURE_ENABLED_BY_DEFAULT
+             base::FEATURE_ENABLED_BY_DEFAULT
 #else
-      base::FEATURE_DISABLED_BY_DEFAULT
+             base::FEATURE_DISABLED_BY_DEFAULT
 #endif
-};
+);
 
 // This debug/dev flag pretty-prints DRM modeset configuration logs for ease
 // of reading. For more information, see: http://b/233006802
-const base::Feature kPrettyPrintDrmModesetConfigLogs{
-    "PrettyPrintDrmModesetConfigLogs", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kPrettyPrintDrmModesetConfigLogs,
+             "PrettyPrintDrmModesetConfigLogs",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 bool IsWaylandSurfaceSubmissionInPixelCoordinatesEnabled() {
   return base::FeatureList::IsEnabled(
diff --git a/ui/ozone/common/features.h b/ui/ozone/common/features.h
index 15f90bd..e4ba5cf 100644
--- a/ui/ozone/common/features.h
+++ b/ui/ozone/common/features.h
@@ -9,9 +9,9 @@
 
 namespace ui {
 
-extern const base::Feature kWaylandSurfaceSubmissionInPixelCoordinates;
-extern const base::Feature kWaylandOverlayDelegation;
-extern const base::Feature kPrettyPrintDrmModesetConfigLogs;
+BASE_DECLARE_FEATURE(kWaylandSurfaceSubmissionInPixelCoordinates);
+BASE_DECLARE_FEATURE(kWaylandOverlayDelegation);
+BASE_DECLARE_FEATURE(kPrettyPrintDrmModesetConfigLogs);
 
 bool IsWaylandSurfaceSubmissionInPixelCoordinatesEnabled();
 bool IsWaylandOverlayDelegationEnabled();
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc b/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
index 6d0f49f..c5582af 100644
--- a/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
+++ b/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.cc
@@ -186,8 +186,11 @@
   if (!is_testing)
     UpdateCrtcAndPlaneStatesAfterModeset(commit_request);
 
-  for (HardwareDisplayPlaneList* list : enable_planes_lists)
+  for (HardwareDisplayPlaneList* list : enable_planes_lists) {
+    if (!is_testing)
+      list->plane_list.swap(list->old_plane_list);
     list->plane_list.clear();
+  }
 
   return true;
 }
@@ -253,8 +256,6 @@
     for (auto* plane : plane_list->old_plane_list) {
       plane->set_in_use(true);
     }
-  } else {
-    plane_list->plane_list.swap(plane_list->old_plane_list);
   }
 }
 
@@ -307,6 +308,9 @@
   if (release_fence)
     *release_fence = CreateMergedGpuFenceFromFDs(std::move(out_fence_fds));
 
+  if (!test_only)
+    plane_list->plane_list.swap(plane_list->old_plane_list);
+
   plane_list->plane_list.clear();
   plane_list->atomic_property_set.reset(drmModeAtomicAlloc());
   return true;
diff --git a/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc b/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
index d3a703d..325c86b4 100644
--- a/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
+++ b/ui/ozone/platform/drm/gpu/hardware_display_plane_manager_unittest.cc
@@ -11,8 +11,10 @@
 #include "base/bind.h"
 #include "base/files/file_util.h"
 #include "base/files/platform_file.h"
+#include "base/memory/scoped_refptr.h"
 #include "base/posix/eintr_wrapper.h"
 #include "base/test/task_environment.h"
+#include "base/time/time.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/display/types/gamma_ramp_rgb_entry.h"
 #include "ui/gfx/gpu_fence.h"
@@ -29,6 +31,7 @@
 #include "ui/ozone/platform/drm/gpu/hardware_display_plane_manager_atomic.h"
 #include "ui/ozone/platform/drm/gpu/hardware_display_plane_manager_legacy.h"
 #include "ui/ozone/platform/drm/gpu/mock_drm_device.h"
+#include "ui/ozone/platform/drm/gpu/page_flip_request.h"
 
 namespace {
 
@@ -792,6 +795,51 @@
   EXPECT_TRUE(fake_drm_->plane_manager()->planes().front()->in_use());
 }
 
+TEST_P(HardwareDisplayPlaneManagerAtomicTest,
+       PageFlipOnlySwapsPlaneListsOnSuccess) {
+  InitializeDrmState(/*crtc_count=*/1, /*planes_per_crtc=*/2);
+  fake_drm_->InitializeState(crtc_properties_, connector_properties_,
+                             plane_properties_, property_names_, use_atomic_);
+
+  ui::DrmOverlayPlaneList single_assign;
+  single_assign.emplace_back(CreateBuffer(kDefaultBufferSize), nullptr);
+
+  ui::DrmOverlayPlaneList overlay_assigns;
+  overlay_assigns.emplace_back(CreateBuffer(kDefaultBufferSize), nullptr);
+  overlay_assigns.emplace_back(CreateBuffer(kDefaultBufferSize), nullptr);
+
+  ui::HardwareDisplayPlaneList hdpl;
+
+  auto flip_with_assigns = [&](bool commit_status,
+                               const auto& assigns) -> bool {
+    auto page_flip_request =
+        base::MakeRefCounted<ui::PageFlipRequest>(base::TimeDelta());
+    fake_drm_->plane_manager()->BeginFrame(&hdpl);
+    EXPECT_TRUE(fake_drm_->plane_manager()->AssignOverlayPlanes(
+        &hdpl, assigns, crtc_properties_[0].id));
+    fake_drm_->set_commit_expectation(commit_status);
+    return fake_drm_->plane_manager()->Commit(&hdpl, page_flip_request,
+                                              nullptr);
+  };
+
+  // Flipping with an overlay should mark both as old planes:
+  EXPECT_TRUE(flip_with_assigns(/*commit_status=*/true, overlay_assigns));
+  EXPECT_EQ(2u, hdpl.old_plane_list.size());
+  EXPECT_EQ(0u, hdpl.plane_list.size());
+
+  // We shouldn't see a change to the old plane list on a force-failed commit,
+  // even though we only are trying to flip a single plane.
+  EXPECT_FALSE(flip_with_assigns(/*commit_status=*/false, single_assign));
+  EXPECT_EQ(2u, hdpl.old_plane_list.size());
+  EXPECT_EQ(0u, hdpl.plane_list.size());
+
+  // Once we do successfully flip a single plane, the old plane list should
+  // reflect it.
+  EXPECT_TRUE(flip_with_assigns(/*commit_status=*/true, single_assign));
+  EXPECT_EQ(1u, hdpl.old_plane_list.size());
+  EXPECT_EQ(0u, hdpl.plane_list.size());
+}
+
 TEST_P(HardwareDisplayPlaneManagerAtomicTest, MultipleFrames) {
   ui::DrmOverlayPlaneList assigns;
   assigns.push_back(ui::DrmOverlayPlane(fake_buffer_, nullptr));
diff --git a/ui/views/bubble/info_bubble.cc b/ui/views/bubble/info_bubble.cc
index 97e4387..4e1a7af 100644
--- a/ui/views/bubble/info_bubble.cc
+++ b/ui/views/bubble/info_bubble.cc
@@ -124,12 +124,6 @@
     SizeToContents();
     widget->SetVisibilityChangedAnimationsEnabled(true);
     widget->ShowInactive();
-#if BUILDFLAG(IS_MAC)
-    // In mac fullscreen for a info bubble on top of another bubble,
-    // explicitly request stacking above the anchored widget, otherwise
-    // the info bubble will be occluded (crbug.com/1348119).
-    widget->StackAboveWidget(anchor_widget());
-#endif
   } else {
     widget->SetVisibilityChangedAnimationsEnabled(false);
     widget->Hide();
diff --git a/ui/views/views_features.cc b/ui/views/views_features.cc
index 6eccef03..d99d35a1 100644
--- a/ui/views/views_features.cc
+++ b/ui/views/views_features.cc
@@ -14,18 +14,21 @@
 
 // Use a high-contrast style for ink drops when in platform high-contrast mode,
 // including full opacity and a high-contrast color
-const base::Feature kEnablePlatformHighContrastInkDrop{
-    "EnablePlatformHighContrastInkDrop", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnablePlatformHighContrastInkDrop,
+             "EnablePlatformHighContrastInkDrop",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Only paint views that are invalidated/dirty (i.e. a paint was directly
 // scheduled on those views) as opposed to painting all views that intersect
 // an invalid rectangle on the layer.
-const base::Feature kEnableViewPaintOptimization{
-    "EnableViewPaintOptimization", base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kEnableViewPaintOptimization,
+             "EnableViewPaintOptimization",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // When enabled, widgets will be shown based on their z-order level
-const base::Feature kWidgetLayering{"WidgetLayering",
-                                    base::FEATURE_DISABLED_BY_DEFAULT};
+BASE_FEATURE(kWidgetLayering,
+             "WidgetLayering",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 }  // namespace features
 }  // namespace views
diff --git a/ui/views/views_features.h b/ui/views/views_features.h
index 7d47b83..a0719b2 100644
--- a/ui/views/views_features.h
+++ b/ui/views/views_features.h
@@ -13,9 +13,9 @@
 namespace features {
 
 // Please keep alphabetized.
-VIEWS_EXPORT extern const base::Feature kEnablePlatformHighContrastInkDrop;
-VIEWS_EXPORT extern const base::Feature kEnableViewPaintOptimization;
-VIEWS_EXPORT extern const base::Feature kWidgetLayering;
+VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnablePlatformHighContrastInkDrop);
+VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableViewPaintOptimization);
+VIEWS_EXPORT BASE_DECLARE_FEATURE(kWidgetLayering);
 
 }  // namespace features
 }  // namespace views
diff --git a/ui/webui/resources/js/BUILD.gn b/ui/webui/resources/js/BUILD.gn
index 8cee60e..106f280 100644
--- a/ui/webui/resources/js/BUILD.gn
+++ b/ui/webui/resources/js/BUILD.gn
@@ -87,7 +87,6 @@
   # TODO(crbug.com/1184053): Fully remove once no longer used by CrOS.
   if (is_chromeos_ash) {
     in_files += [
-      "cr.js",
       "list_property_update_behavior.js",
       "promise_resolver.js",
     ]
@@ -124,7 +123,6 @@
   uses_legacy_modules = true
   deps = [
     ":assert",
-    ":cr",
     ":load_time_data",
     ":promise_resolver",
     ":util_deprecated",
@@ -148,14 +146,6 @@
 js_library("assert") {
 }
 
-js_library("cr") {
-  deps = [
-    ":assert",
-    ":promise_resolver",
-  ]
-  externs_list = [ "$externs_path/chrome_send.js" ]
-}
-
 js_library("load_time_data") {
   sources = [ "$root_gen_dir/ui/webui/resources/js/load_time_data.js" ]
   extra_deps = [ ":unmodulize" ]
diff --git a/weblayer/browser/autofill_assistant/weblayer_dependencies.cc b/weblayer/browser/autofill_assistant/weblayer_dependencies.cc
index ce8807df..58b5aa2 100644
--- a/weblayer/browser/autofill_assistant/weblayer_dependencies.cc
+++ b/weblayer/browser/autofill_assistant/weblayer_dependencies.cc
@@ -113,8 +113,13 @@
   return base::android::GetDefaultLocaleString();
 }
 
-std::string WebLayerDependencies::GetCountryCode() const {
-  return autofill_assistant::dependencies_util::GetCountryCode(
+std::string WebLayerDependencies::GetLatestCountryCode() const {
+  return autofill_assistant::dependencies_util::GetLatestCountryCode(
+      FeatureListCreator::GetInstance()->variations_service());
+}
+
+std::string WebLayerDependencies::GetStoredPermanentCountryCode() const {
+  return autofill_assistant::dependencies_util::GetStoredPermanentCountryCode(
       FeatureListCreator::GetInstance()->variations_service());
 }
 
diff --git a/weblayer/browser/autofill_assistant/weblayer_dependencies.h b/weblayer/browser/autofill_assistant/weblayer_dependencies.h
index cc8c068..7ce2826 100644
--- a/weblayer/browser/autofill_assistant/weblayer_dependencies.h
+++ b/weblayer/browser/autofill_assistant/weblayer_dependencies.h
@@ -49,7 +49,8 @@
   password_manager::PasswordManagerClient* GetPasswordManagerClient(
       content::WebContents* web_contents) const override;
   std::string GetLocale() const override;
-  std::string GetCountryCode() const override;
+  std::string GetLatestCountryCode() const override;
+  std::string GetStoredPermanentCountryCode() const override;
   std::string GetSignedInEmail() const override;
   PrefService* GetPrefs() const override;
   bool IsSupervisedUser() const override;